From 0b2c9ae25b1342d6f4c76a572e25e7dc6d7c1e68 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Sun, 23 Apr 2023 21:50:26 +0800 Subject: [PATCH 01/34] feat(protocol): major protocol upgrade (#13389) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jeffery Walsh Co-authored-by: David Co-authored-by: jeff <113397187+cyberhorsey@users.noreply.github.com> Co-authored-by: dave | d1onys1us <13951458+d1onys1us@users.noreply.github.com> Co-authored-by: Brecht Devos Co-authored-by: D <51912515+adaki2004@users.noreply.github.com> Co-authored-by: Keszey Dániel Co-authored-by: adaki2004 Co-authored-by: Daniel Wang --- .github/workflows/protocol.yml | 51 +- .gitmodules | 20 + README.md | 5 +- packages/bridge-ui/CHANGELOG.md | 16 +- .../bridge-ui/src/proof/ProofService.spec.ts | 6 +- packages/bridge-ui/src/proof/ProofService.ts | 5 +- packages/protocol/.eslintignore | 3 +- packages/protocol/.gas-snapshot | 31 + packages/protocol/.gitignore | 10 + packages/protocol/.prettierignore | 2 +- packages/protocol/.solcover.js | 4 - packages/protocol/.solhint.json | 3 +- packages/protocol/.solhintignore | 11 +- packages/protocol/CHANGELOG.md | 29 +- packages/protocol/README.md | 19 +- .../protocol/contracts/L1/ProofVerifier.sol | 60 - .../protocol/contracts/L1/TaikoConfig.sol | 46 + .../contracts/L1/TaikoCustomErrors.sol | 48 - packages/protocol/contracts/L1/TaikoData.sol | 185 +- .../protocol/contracts/L1/TaikoErrors.sol | 37 + .../protocol/contracts/L1/TaikoEvents.sol | 14 +- packages/protocol/contracts/L1/TaikoL1.sol | 305 +- packages/protocol/contracts/L1/TaikoToken.sol | 35 +- .../contracts/L1/libs/LibEthDepositing.sol | 130 + .../contracts/L1/libs/LibProposing.sol | 350 +- .../protocol/contracts/L1/libs/LibProving.sol | 470 +- .../contracts/L1/libs/LibTokenomics.sol | 154 + .../protocol/contracts/L1/libs/LibUtils.sol | 209 +- .../contracts/L1/libs/LibVerifying.sol | 322 +- .../protocol/contracts/L2/LibL2Consts.sol | 11 + packages/protocol/contracts/L2/TaikoL2.sol | 333 +- .../TaikoL2Signer.sol} | 50 +- packages/protocol/contracts/bridge/Bridge.sol | 1 - .../protocol/contracts/bridge/TokenVault.sol | 70 +- .../contracts/bridge/libs/LibBridgeData.sol | 9 +- .../contracts/bridge/libs/LibBridgeInvoke.sol | 4 +- .../bridge/libs/LibBridgeProcess.sol | 22 +- .../bridge/libs/LibBridgeRelease.sol | 10 +- .../contracts/bridge/libs/LibBridgeRetry.sol | 10 +- .../contracts/bridge/libs/LibBridgeSend.sol | 10 +- .../contracts/bridge/libs/LibBridgeStatus.sol | 17 +- .../contracts/common/AddressManager.sol | 89 + .../contracts/common/AddressResolver.sol | 12 +- .../contracts/common/IAddressManager.sol | 29 - .../protocol/contracts/common/IHeaderSync.sol | 19 - .../protocol/contracts/common/IXchainSync.sol | 37 + .../protocol/contracts/libs/Lib1559Math.sol | 104 +- .../protocol/contracts/libs/LibAddress.sol | 7 +- .../contracts/libs/LibBlockHeader.sol | 15 +- .../contracts/libs/LibInvalidTxList.sol | 106 - packages/protocol/contracts/libs/LibMath.sol | 35 - .../contracts/libs/LibReceiptDecoder.sol | 83 - .../contracts/libs/LibSharedConfig.sol | 44 - .../protocol/contracts/libs/LibTrieProof.sol | 11 +- .../protocol/contracts/libs/LibTxDecoder.sol | 237 - .../protocol/contracts/libs/LibTxUtils.sol | 104 - packages/protocol/contracts/libs/LibZKP.sol | 31 - .../contracts/signal/SignalService.sol | 59 +- .../contracts/test/L1/TestTaikoL1.sol | 54 +- .../test/L1/TestTaikoL1EnableTokenomics.sol | 55 +- .../contracts/test/L1/TestTaikoL2.sol | 53 - .../L1/TestTaikoL2EnablePublicInputsCheck.sol | 53 - .../protocol/contracts/test/TestContracts.sol | 40 + .../contracts/test/bridge/TestHeaderSync.sol | 24 +- .../test/bridge/libs/TestBadReceiver.sol | 22 - .../contracts/test/erc20/FreeMintERC20.sol | 4 +- .../TestERC20.sol => erc20/RegularERC20.sol} | 4 +- .../contracts/test/libs/TestLib1559Math.sol | 39 - .../test/libs/TestLibAnchorSignature.sol | 34 - .../contracts/test/libs/TestLibProving.sol | 386 -- .../test/libs/TestLibReceiptDecoder.sol | 23 - .../contracts/test/libs/TestLibTrieProof.sol | 10 - .../contracts/test/libs/TestLibTxUtils.sol | 26 - .../contracts/test/libs/TestLibZKP.sol | 19 - .../thirdparty/TestLibBlockHeaderDecoder.sol | 35 - .../test/thirdparty/TestTaikoToken.sol | 10 - .../contracts/thirdparty/AddressManager.sol | 94 - .../contracts/thirdparty/ERC20Upgradeable.sol | 2 +- .../thirdparty/LibBlockHeaderDecoder.sol | 234 - .../thirdparty/LibFixedPointMath.sol | 75 + .../contracts/thirdparty/LibMerkleTrie.sol | 16 +- .../thirdparty/LibSecureMerkleTrie.sol | 2 +- packages/protocol/docs/L2EIP1559.md | 35 + packages/protocol/foundry.toml | 27 + packages/protocol/hardhat.config.ts | 4 +- packages/protocol/lib/forge-std | 1 + packages/protocol/lib/foundry-random | 1 + packages/protocol/lib/openzeppelin-contracts | 1 + .../lib/openzeppelin-contracts-upgradeable | 1 + packages/protocol/package.json | 76 +- packages/protocol/remappings.txt | 6 + packages/protocol/script/DeployOnL1.s.sol | 278 + .../{scripts => script}/download_solc.sh | 0 packages/protocol/script/test_deploy_on_l1.sh | 22 + packages/protocol/tasks/compile_yul.ts | 30 - packages/protocol/tasks/config.ts | 3 - packages/protocol/tasks/deploy_L1.ts | 387 -- packages/protocol/tasks/log.ts | 37 - packages/protocol/tasks/utils.ts | 155 - packages/protocol/test/Bridge.t.sol | 436 ++ packages/protocol/test/EtherVault.t.sol | 117 + packages/protocol/test/GasComparison.t.sol | 304 ++ .../test/L1/TaikoL1.integration.test.ts | 566 -- packages/protocol/test/L1/TaikoL1.test.ts | 54 - packages/protocol/test/L1/TaikoToken.test.ts | 122 - packages/protocol/test/L2/TaikoL2.test.ts | 38 - packages/protocol/test/Lib1559Math.sol | 96 + .../protocol/test/LibFixedPointMath.t.sol | 57 + packages/protocol/test/LibLn.sol | 227 + packages/protocol/test/SignalService.t.sol | 189 + packages/protocol/test/SignalServiceCalc.sol | 38 + packages/protocol/test/Taiko1559Params.t.sol | 62 + packages/protocol/test/TaikoL1.sim.sol | 168 + packages/protocol/test/TaikoL1.t.sol | 237 + .../test/TaikoL1LibTokenomicsMainnet.t.sol | 299 ++ .../test/TaikoL1LibTokenomicsTestnet.t.sol | 990 ++++ packages/protocol/test/TaikoL1TestBase.t.sol | 226 + packages/protocol/test/TaikoL1_Oracle.sol | 294 + packages/protocol/test/TaikoL2.t.sol | 203 + packages/protocol/test/TokenVault.t.sol | 354 ++ .../test/bridge/Bridge.integration.test.ts | 651 --- packages/protocol/test/bridge/Bridge.test.ts | 303 -- .../protocol/test/bridge/BridgedERC20.test.ts | 290 - .../test/bridge/libs/LibBridgeInvoke.test.ts | 121 - .../test/bridge/libs/LibBridgeProcess.test.ts | 153 - .../test/bridge/libs/LibBridgeRetry.test.ts | 368 -- .../test/bridge/libs/LibBridgeSend.test.ts | 186 - packages/protocol/test/constants/errors.ts | 3 - packages/protocol/test/constants/messages.ts | 3 - packages/protocol/test/data/test_proof.json | 37 - .../test/etherVault/EtherVault.test.ts | 176 - .../test/genesis/GenerateGenesis.g.sol | 202 + .../test/genesis/generate_genesis.test.sh | 42 +- .../test/genesis/generate_genesis.test.ts | 468 -- .../protocol/test/genesis/test_config.json | 70 +- .../protocol/test/libs/Lib1559Math.test.ts | 119 - .../test/libs/LibAnchorSignature.test.ts | 46 - .../protocol/test/libs/LibBlockHeader.test.ts | 190 - .../test/libs/LibReceiptDecoder.test.ts | 83 - .../protocol/test/libs/LibTrieProof.test.ts | 159 - .../protocol/test/libs/LibTxDecoder.test.ts | 220 - .../protocol/test/libs/LibTxUtils.test.ts | 200 - packages/protocol/test/libs/LibZKP.test.ts | 62 - .../signal/SignalService.integration.test.ts | 252 - .../test/signal/SignalService.test.ts | 72 - packages/protocol/test/test_integration.sh | 92 - .../test/thirdparty/AddressManager.test.ts | 48 - .../thirdparty/LibBlockHeaderDecoder.test.ts | 169 - .../test/thirdparty/LibMerkleTrie.test.ts | 74 - .../thirdparty/LibSecureMerkleTrie.test.ts | 74 - .../test/tokenVault/TokenVault.test.ts | 367 -- .../protocol/test/tokenomics/blockFee.test.ts | 120 - .../test/tokenomics/proofReward.test.ts | 121 - .../protocol/test/utils/addressManager.ts | 15 - packages/protocol/test/utils/array.ts | 5 - packages/protocol/test/utils/blockListener.ts | 34 - .../protocol/test/utils/block_metadata.ts | 34 - packages/protocol/test/utils/bridge.ts | 156 - packages/protocol/test/utils/bytes.ts | 7 - packages/protocol/test/utils/commit.ts | 85 - packages/protocol/test/utils/encoding.ts | 23 - packages/protocol/test/utils/errors.ts | 58 - packages/protocol/test/utils/evidence.ts | 12 - packages/protocol/test/utils/fixture.ts | 155 - packages/protocol/test/utils/message.ts | 31 - packages/protocol/test/utils/onNewL2Block.ts | 55 - packages/protocol/test/utils/propose.ts | 48 - packages/protocol/test/utils/proposer.ts | 76 - packages/protocol/test/utils/prove.ts | 66 - packages/protocol/test/utils/prover.ts | 59 - packages/protocol/test/utils/provider.ts | 16 - packages/protocol/test/utils/rpc.ts | 108 - packages/protocol/test/utils/seed.ts | 49 - packages/protocol/test/utils/signal.ts | 72 - packages/protocol/test/utils/sleep.ts | 7 - packages/protocol/test/utils/taikoL1.ts | 62 - packages/protocol/test/utils/taikoL2.ts | 36 - packages/protocol/test/utils/taikoToken.ts | 27 - packages/protocol/test/utils/tokenomics.ts | 0 packages/protocol/test/utils/trie.ts | 75 - packages/protocol/test/utils/verify.ts | 135 - .../protocol/utils/generate_config/README.md | 12 - .../protocol/utils/generate_config/main.py | 42 - .../protocol/utils/generate_genesis/erc20.ts | 12 +- .../utils/generate_genesis/interface.ts | 1 + .../utils/generate_genesis/taikoL2.ts | 128 +- packages/relayer/TaikoL1.json | 32 +- packages/relayer/contracts/taikol1/TaikoL1.go | 48 +- packages/relayer/contracts/taikol2/TaikoL2.go | 7 +- packages/relayer/encoding/storage_proof.go | 24 - .../relayer/encoding/storage_proof_test.go | 20 - packages/relayer/encoding/types.go | 2 - .../relayer/proof/encoded_signal_proof.go | 12 +- .../proof/encoded_signal_proof_test.go | 2 +- .../status-page/src/constants/abi/TaikoL1.ts | 16 +- .../src/utils/getLastVerifiedBlockId.ts | 4 +- .../status-page/src/utils/getPendingBlocks.ts | 4 +- packages/tokenomics/.gitignore | 2 - packages/tokenomics/CHANGELOG.md | 9 - packages/tokenomics/README.md | 15 - packages/tokenomics/main.py | 6 +- packages/tokenomics/package.json | 5 - packages/tokenomics/plots.py | 22 - packages/tokenomics/present.py | 25 - packages/tokenomics/presents/cbvp1.py | 66 - packages/tokenomics/presents/cbvp2.py | 66 - packages/tokenomics/presents/p0.py | 34 - packages/tokenomics/presents/vbcp1.py | 66 - packages/tokenomics/presents/vbcp2.py | 66 - packages/tokenomics/presents/vbvps1.py | 57 - packages/tokenomics/presents/vbvps2.py | 56 - .../L1/ProofVerifier.md | 37 - .../contract-documentation/L1/TaikoConfig.md | 7 + .../L1/TaikoCustomErrors.md | 227 - .../contract-documentation/L1/TaikoData.md | 177 +- .../contract-documentation/L1/TaikoErrors.md | 145 + .../contract-documentation/L1/TaikoEvents.md | 16 +- .../contract-documentation/L1/TaikoL1.md | 111 +- .../contract-documentation/L1/TaikoToken.md | 20 +- .../contract-documentation/L2/LibL2Consts.md | 7 + .../contract-documentation/L2/TaikoL2.md | 176 +- .../L2/TaikoL2Signer.md | 25 + .../contract-documentation/_meta.json | 17 - .../bridge/BridgeCustomErrors.md | 137 - .../bridge/TokenVault.md | 26 - .../common/AddressManager.md | 93 + .../common/IAddressManager.md | 45 - .../common/IHeaderSync.md | 26 - .../common/IXchainSync.md | 51 + .../signal/SignalService.md | 2 +- packages/whitepaper/main.tex | 17 +- pnpm-lock.yaml | 4745 ++++++++--------- 232 files changed, 9938 insertions(+), 15681 deletions(-) create mode 100644 .gitmodules create mode 100644 packages/protocol/.gas-snapshot delete mode 100644 packages/protocol/contracts/L1/ProofVerifier.sol create mode 100644 packages/protocol/contracts/L1/TaikoConfig.sol delete mode 100644 packages/protocol/contracts/L1/TaikoCustomErrors.sol create mode 100644 packages/protocol/contracts/L1/TaikoErrors.sol create mode 100644 packages/protocol/contracts/L1/libs/LibEthDepositing.sol create mode 100644 packages/protocol/contracts/L1/libs/LibTokenomics.sol create mode 100644 packages/protocol/contracts/L2/LibL2Consts.sol rename packages/protocol/contracts/{libs/LibAnchorSignature.sol => L2/TaikoL2Signer.sol} (71%) create mode 100644 packages/protocol/contracts/common/AddressManager.sol delete mode 100644 packages/protocol/contracts/common/IAddressManager.sol delete mode 100644 packages/protocol/contracts/common/IHeaderSync.sol create mode 100644 packages/protocol/contracts/common/IXchainSync.sol delete mode 100644 packages/protocol/contracts/libs/LibInvalidTxList.sol delete mode 100644 packages/protocol/contracts/libs/LibReceiptDecoder.sol delete mode 100644 packages/protocol/contracts/libs/LibSharedConfig.sol delete mode 100644 packages/protocol/contracts/libs/LibTxDecoder.sol delete mode 100644 packages/protocol/contracts/libs/LibTxUtils.sol delete mode 100644 packages/protocol/contracts/libs/LibZKP.sol delete mode 100644 packages/protocol/contracts/test/L1/TestTaikoL2.sol delete mode 100644 packages/protocol/contracts/test/L1/TestTaikoL2EnablePublicInputsCheck.sol create mode 100644 packages/protocol/contracts/test/TestContracts.sol delete mode 100644 packages/protocol/contracts/test/bridge/libs/TestBadReceiver.sol rename packages/protocol/contracts/test/{thirdparty/TestERC20.sol => erc20/RegularERC20.sol} (63%) delete mode 100644 packages/protocol/contracts/test/libs/TestLib1559Math.sol delete mode 100644 packages/protocol/contracts/test/libs/TestLibAnchorSignature.sol delete mode 100644 packages/protocol/contracts/test/libs/TestLibProving.sol delete mode 100644 packages/protocol/contracts/test/libs/TestLibReceiptDecoder.sol delete mode 100644 packages/protocol/contracts/test/libs/TestLibTxUtils.sol delete mode 100644 packages/protocol/contracts/test/libs/TestLibZKP.sol delete mode 100644 packages/protocol/contracts/test/thirdparty/TestLibBlockHeaderDecoder.sol delete mode 100644 packages/protocol/contracts/test/thirdparty/TestTaikoToken.sol delete mode 100644 packages/protocol/contracts/thirdparty/AddressManager.sol delete mode 100644 packages/protocol/contracts/thirdparty/LibBlockHeaderDecoder.sol create mode 100644 packages/protocol/contracts/thirdparty/LibFixedPointMath.sol create mode 100644 packages/protocol/docs/L2EIP1559.md create mode 100644 packages/protocol/foundry.toml create mode 160000 packages/protocol/lib/forge-std create mode 160000 packages/protocol/lib/foundry-random create mode 160000 packages/protocol/lib/openzeppelin-contracts create mode 160000 packages/protocol/lib/openzeppelin-contracts-upgradeable create mode 100644 packages/protocol/remappings.txt create mode 100644 packages/protocol/script/DeployOnL1.s.sol rename packages/protocol/{scripts => script}/download_solc.sh (100%) create mode 100755 packages/protocol/script/test_deploy_on_l1.sh delete mode 100644 packages/protocol/tasks/compile_yul.ts delete mode 100644 packages/protocol/tasks/config.ts delete mode 100644 packages/protocol/tasks/deploy_L1.ts delete mode 100644 packages/protocol/tasks/log.ts delete mode 100644 packages/protocol/tasks/utils.ts create mode 100644 packages/protocol/test/Bridge.t.sol create mode 100644 packages/protocol/test/EtherVault.t.sol create mode 100644 packages/protocol/test/GasComparison.t.sol delete mode 100644 packages/protocol/test/L1/TaikoL1.integration.test.ts delete mode 100644 packages/protocol/test/L1/TaikoL1.test.ts delete mode 100644 packages/protocol/test/L1/TaikoToken.test.ts delete mode 100644 packages/protocol/test/L2/TaikoL2.test.ts create mode 100644 packages/protocol/test/Lib1559Math.sol create mode 100644 packages/protocol/test/LibFixedPointMath.t.sol create mode 100644 packages/protocol/test/LibLn.sol create mode 100644 packages/protocol/test/SignalService.t.sol create mode 100644 packages/protocol/test/SignalServiceCalc.sol create mode 100644 packages/protocol/test/Taiko1559Params.t.sol create mode 100644 packages/protocol/test/TaikoL1.sim.sol create mode 100644 packages/protocol/test/TaikoL1.t.sol create mode 100644 packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol create mode 100644 packages/protocol/test/TaikoL1LibTokenomicsTestnet.t.sol create mode 100644 packages/protocol/test/TaikoL1TestBase.t.sol create mode 100644 packages/protocol/test/TaikoL1_Oracle.sol create mode 100644 packages/protocol/test/TaikoL2.t.sol create mode 100644 packages/protocol/test/TokenVault.t.sol delete mode 100644 packages/protocol/test/bridge/Bridge.integration.test.ts delete mode 100644 packages/protocol/test/bridge/Bridge.test.ts delete mode 100644 packages/protocol/test/bridge/BridgedERC20.test.ts delete mode 100644 packages/protocol/test/bridge/libs/LibBridgeInvoke.test.ts delete mode 100644 packages/protocol/test/bridge/libs/LibBridgeProcess.test.ts delete mode 100644 packages/protocol/test/bridge/libs/LibBridgeRetry.test.ts delete mode 100644 packages/protocol/test/bridge/libs/LibBridgeSend.test.ts delete mode 100644 packages/protocol/test/constants/errors.ts delete mode 100644 packages/protocol/test/constants/messages.ts delete mode 100644 packages/protocol/test/data/test_proof.json delete mode 100644 packages/protocol/test/etherVault/EtherVault.test.ts create mode 100644 packages/protocol/test/genesis/GenerateGenesis.g.sol delete mode 100644 packages/protocol/test/genesis/generate_genesis.test.ts delete mode 100644 packages/protocol/test/libs/Lib1559Math.test.ts delete mode 100644 packages/protocol/test/libs/LibAnchorSignature.test.ts delete mode 100644 packages/protocol/test/libs/LibBlockHeader.test.ts delete mode 100644 packages/protocol/test/libs/LibReceiptDecoder.test.ts delete mode 100644 packages/protocol/test/libs/LibTrieProof.test.ts delete mode 100644 packages/protocol/test/libs/LibTxDecoder.test.ts delete mode 100644 packages/protocol/test/libs/LibTxUtils.test.ts delete mode 100644 packages/protocol/test/libs/LibZKP.test.ts delete mode 100644 packages/protocol/test/signal/SignalService.integration.test.ts delete mode 100644 packages/protocol/test/signal/SignalService.test.ts delete mode 100755 packages/protocol/test/test_integration.sh delete mode 100644 packages/protocol/test/thirdparty/AddressManager.test.ts delete mode 100644 packages/protocol/test/thirdparty/LibBlockHeaderDecoder.test.ts delete mode 100644 packages/protocol/test/thirdparty/LibMerkleTrie.test.ts delete mode 100644 packages/protocol/test/thirdparty/LibSecureMerkleTrie.test.ts delete mode 100644 packages/protocol/test/tokenVault/TokenVault.test.ts delete mode 100644 packages/protocol/test/tokenomics/blockFee.test.ts delete mode 100644 packages/protocol/test/tokenomics/proofReward.test.ts delete mode 100644 packages/protocol/test/utils/addressManager.ts delete mode 100644 packages/protocol/test/utils/array.ts delete mode 100644 packages/protocol/test/utils/blockListener.ts delete mode 100644 packages/protocol/test/utils/block_metadata.ts delete mode 100644 packages/protocol/test/utils/bridge.ts delete mode 100644 packages/protocol/test/utils/bytes.ts delete mode 100644 packages/protocol/test/utils/commit.ts delete mode 100644 packages/protocol/test/utils/encoding.ts delete mode 100644 packages/protocol/test/utils/errors.ts delete mode 100644 packages/protocol/test/utils/evidence.ts delete mode 100644 packages/protocol/test/utils/fixture.ts delete mode 100644 packages/protocol/test/utils/message.ts delete mode 100644 packages/protocol/test/utils/onNewL2Block.ts delete mode 100644 packages/protocol/test/utils/propose.ts delete mode 100644 packages/protocol/test/utils/proposer.ts delete mode 100644 packages/protocol/test/utils/prove.ts delete mode 100644 packages/protocol/test/utils/prover.ts delete mode 100644 packages/protocol/test/utils/provider.ts delete mode 100644 packages/protocol/test/utils/rpc.ts delete mode 100644 packages/protocol/test/utils/seed.ts delete mode 100644 packages/protocol/test/utils/signal.ts delete mode 100644 packages/protocol/test/utils/sleep.ts delete mode 100644 packages/protocol/test/utils/taikoL1.ts delete mode 100644 packages/protocol/test/utils/taikoL2.ts delete mode 100644 packages/protocol/test/utils/taikoToken.ts delete mode 100644 packages/protocol/test/utils/tokenomics.ts delete mode 100644 packages/protocol/test/utils/trie.ts delete mode 100644 packages/protocol/test/utils/verify.ts delete mode 100644 packages/protocol/utils/generate_config/README.md delete mode 100644 packages/protocol/utils/generate_config/main.py delete mode 100644 packages/relayer/encoding/storage_proof.go delete mode 100644 packages/relayer/encoding/storage_proof_test.go delete mode 100644 packages/tokenomics/.gitignore delete mode 100644 packages/tokenomics/CHANGELOG.md delete mode 100644 packages/tokenomics/README.md delete mode 100644 packages/tokenomics/package.json delete mode 100644 packages/tokenomics/plots.py delete mode 100644 packages/tokenomics/present.py delete mode 100644 packages/tokenomics/presents/cbvp1.py delete mode 100644 packages/tokenomics/presents/cbvp2.py delete mode 100644 packages/tokenomics/presents/p0.py delete mode 100644 packages/tokenomics/presents/vbcp1.py delete mode 100644 packages/tokenomics/presents/vbcp2.py delete mode 100644 packages/tokenomics/presents/vbvps1.py delete mode 100644 packages/tokenomics/presents/vbvps2.py delete mode 100644 packages/website/pages/docs/reference/contract-documentation/L1/ProofVerifier.md create mode 100644 packages/website/pages/docs/reference/contract-documentation/L1/TaikoConfig.md delete mode 100644 packages/website/pages/docs/reference/contract-documentation/L1/TaikoCustomErrors.md create mode 100644 packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md create mode 100644 packages/website/pages/docs/reference/contract-documentation/L2/LibL2Consts.md create mode 100644 packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2Signer.md delete mode 100644 packages/website/pages/docs/reference/contract-documentation/_meta.json delete mode 100644 packages/website/pages/docs/reference/contract-documentation/bridge/BridgeCustomErrors.md create mode 100644 packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md delete mode 100644 packages/website/pages/docs/reference/contract-documentation/common/IAddressManager.md delete mode 100644 packages/website/pages/docs/reference/contract-documentation/common/IHeaderSync.md create mode 100644 packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md diff --git a/.github/workflows/protocol.yml b/.github/workflows/protocol.yml index 4c8d74bb55e..839ec7f8942 100644 --- a/.github/workflows/protocol.yml +++ b/.github/workflows/protocol.yml @@ -20,47 +20,46 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 - name: Install pnpm dependencies uses: ./.github/actions/install-pnpm-dependencies - name: protocol - Unit Tests working-directory: ./packages/protocol - run: pnpm clean && pnpm test - - - name: protocol - Integration Tests - working-directory: ./packages/protocol - run: pnpm test:integration - - - name: protocol - Tokenomics Tests - working-directory: ./packages/protocol - run: pnpm test:tokenomics - - - name: protocol - Bridge Tests - working-directory: ./packages/protocol - run: pnpm test:bridge - - - name: protocol - Test Coverage - working-directory: ./packages/protocol - run: pnpm test:coverage + run: pnpm clean && pnpm compile:hardhat && pnpm test - name: protocol - Generate Genesis working-directory: ./packages/protocol run: pnpm test:genesis - - name: protocol - Export ABIs + # TODO: CompilerError: Stack too deep + # - name: protocol - Test Coverage + # working-directory: ./packages/protocol + # run: pnpm test:coverage + + - name: protocol - Run snapshot (foundry) working-directory: ./packages/protocol - run: pnpm export:abi + run: pnpm snapshot - name: protocol - Deploy L1 Contracts working-directory: ./packages/protocol - run: pnpm deploy:hardhat - - - name: protocol - Upload coverage to Codecov - uses: codecov/codecov-action@v3 - with: - directory: ./packages/protocol/coverage - flags: protocol + run: | + anvil & + while ! nc -z localhost 8545; do + sleep 1 + done + pnpm deploy:foundry + + # - name: protocol - Upload coverage to Codecov + # uses: codecov/codecov-action@v3 + # with: + # directory: ./packages/protocol/coverage + # flags: protocol post-merge: if: github.event.pull_request.merged == true diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000000..d4741407013 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,20 @@ +[submodule "packages/protocol/lib/solmate"] + path = packages/protocol/lib/solmate + url = https://github.com/rari-capital/solmate + branch = v1.5.0 +[submodule "packages/protocol/lib/openzeppelin-contracts-upgradeable"] + path = packages/protocol/lib/openzeppelin-contracts-upgradeable + url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable + branch = v4.8.2 +[submodule "packages/protocol/lib/openzeppelin-contracts"] + path = packages/protocol/lib/openzeppelin-contracts + url = https://github.com/OpenZeppelin/openzeppelin-contracts + branch = v4.8.2 +[submodule "packages/protocol/lib/forge-std"] + path = packages/protocol/lib/forge-std + url = https://github.com/foundry-rs/forge-std + branch = chore/v1.5.1 +[submodule "packages/protocol/lib/foundry-random"] + path = packages/protocol/lib/foundry-random + url = https://github.com/joejordan/foundry-random + branch = v1.0.2 diff --git a/README.md b/README.md index 15b6f82be37..970d1b96508 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,10 @@ [![Twitter Follow](https://img.shields.io/twitter/follow/taikoxyz?style=social)](https://twitter.com/taikoxyz) [![Discord](https://img.shields.io/discord/984015101017346058?color=%235865F2&label=Discord&logo=discord&logoColor=%23fff)](https://discord.gg/taikoxyz) [![GitPOAP Badge](https://public-api.gitpoap.io/v1/repo/taikoxyz/taiko-mono/badge)](https://www.gitpoap.io/gh/taikoxyz/taiko-mono) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/taikoxyz/taiko-mono/protocol.yml?branch=main&label=Protocol&logo=github)](https://github.com/taikoxyz/taiko-mono/actions/workflows/protocol.yml) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/taikoxyz/taiko-mono/relayer.yml?branch=main&label=Relayer&logo=github)](https://github.com/taikoxyz/taiko-mono/actions/workflows/relayer.yml) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/taikoxyz/taiko-mono/bridge-ui.yml?branch=main&label=Bridge%20UI&logo=github)](https://github.com/taikoxyz/taiko-mono/actions/workflows/bridge-ui.yml) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/taikoxyz/taiko-mono/website.yml?branch=main&label=Website&logo=github)](https://github.com/taikoxyz/taiko-mono/actions/workflows/website.yml) [![License](https://img.shields.io/github/license/taikoxyz/taiko-mono)](https://github.com/taikoxyz/taiko-mono/blob/main/LICENSE.md) @@ -41,7 +45,6 @@ taiko-mono/ │ ├── relayer: Bridge backend relayer in Go │ ├── starter-dapp: Template for Taiko dapps │ ├── status-page: Taiko protocol status page -│ ├── tokenomics: Taiko tokenomics simulations │ ├── website: Main documentation website at taiko.xyz (https://taiko.xyz/) │ └── whitepaper: Whitepaper source files with automated publishing ... diff --git a/packages/bridge-ui/CHANGELOG.md b/packages/bridge-ui/CHANGELOG.md index 12365be5982..9d5ddaf1c37 100644 --- a/packages/bridge-ui/CHANGELOG.md +++ b/packages/bridge-ui/CHANGELOG.md @@ -39,20 +39,18 @@ ## [0.3.0](https://github.com/taikoxyz/taiko-mono/compare/bridge-ui-v0.2.0...bridge-ui-v0.3.0) (2023-03-15) - ### Features -* **bridge-ui:** custom recipient address ([#13309](https://github.com/taikoxyz/taiko-mono/issues/13309)) ([56d8848](https://github.com/taikoxyz/taiko-mono/commit/56d884812b3f12a52895bc666cb25e6edbe6eba0)) -* **bridge-ui:** fetch transactions from relayer api ([#13244](https://github.com/taikoxyz/taiko-mono/issues/13244)) ([9732cc0](https://github.com/taikoxyz/taiko-mono/commit/9732cc084ed99196a4cd2ccedf9187af4d289ed6)) -* **bridge-ui:** support both bull and horse tokens on the bridge UI ([#13249](https://github.com/taikoxyz/taiko-mono/issues/13249)) ([f9f38bb](https://github.com/taikoxyz/taiko-mono/commit/f9f38bb075c02c7976e0d04c84e4b8b5ac255644)) -* **bridge-ui:** support route param to directly open transactions tab ([#13281](https://github.com/taikoxyz/taiko-mono/issues/13281)) ([b4c31cd](https://github.com/taikoxyz/taiko-mono/commit/b4c31cd8566b834cbf83a434c705fb281d375d12)) - +- **bridge-ui:** custom recipient address ([#13309](https://github.com/taikoxyz/taiko-mono/issues/13309)) ([56d8848](https://github.com/taikoxyz/taiko-mono/commit/56d884812b3f12a52895bc666cb25e6edbe6eba0)) +- **bridge-ui:** fetch transactions from relayer api ([#13244](https://github.com/taikoxyz/taiko-mono/issues/13244)) ([9732cc0](https://github.com/taikoxyz/taiko-mono/commit/9732cc084ed99196a4cd2ccedf9187af4d289ed6)) +- **bridge-ui:** support both bull and horse tokens on the bridge UI ([#13249](https://github.com/taikoxyz/taiko-mono/issues/13249)) ([f9f38bb](https://github.com/taikoxyz/taiko-mono/commit/f9f38bb075c02c7976e0d04c84e4b8b5ac255644)) +- **bridge-ui:** support route param to directly open transactions tab ([#13281](https://github.com/taikoxyz/taiko-mono/issues/13281)) ([b4c31cd](https://github.com/taikoxyz/taiko-mono/commit/b4c31cd8566b834cbf83a434c705fb281d375d12)) ### Bug Fixes -* **bridge-ui:** minor transactions list fix ([#13266](https://github.com/taikoxyz/taiko-mono/issues/13266)) ([4e78865](https://github.com/taikoxyz/taiko-mono/commit/4e788655ebd508eca3e1665ecb50f3010d2f51af)) -* **bridge-ui:** transaction and pendingTransaction refactor ([#13307](https://github.com/taikoxyz/taiko-mono/issues/13307)) ([9d215cf](https://github.com/taikoxyz/taiko-mono/commit/9d215cfe5ac6863405390444672a1e70e7501032)) -* **website,bridge-ui:** broken docs link + remove deprecated note in docs ([#13259](https://github.com/taikoxyz/taiko-mono/issues/13259)) ([912c155](https://github.com/taikoxyz/taiko-mono/commit/912c15595d7b0e3e2b4ec62fbcebeaf9dbc9db66)) +- **bridge-ui:** minor transactions list fix ([#13266](https://github.com/taikoxyz/taiko-mono/issues/13266)) ([4e78865](https://github.com/taikoxyz/taiko-mono/commit/4e788655ebd508eca3e1665ecb50f3010d2f51af)) +- **bridge-ui:** transaction and pendingTransaction refactor ([#13307](https://github.com/taikoxyz/taiko-mono/issues/13307)) ([9d215cf](https://github.com/taikoxyz/taiko-mono/commit/9d215cfe5ac6863405390444672a1e70e7501032)) +- **website,bridge-ui:** broken docs link + remove deprecated note in docs ([#13259](https://github.com/taikoxyz/taiko-mono/issues/13259)) ([912c155](https://github.com/taikoxyz/taiko-mono/commit/912c15595d7b0e3e2b4ec62fbcebeaf9dbc9db66)) ## [0.2.0](https://github.com/taikoxyz/taiko-mono/compare/bridge-ui-v0.1.2...bridge-ui-v0.2.0) (2023-03-01) diff --git a/packages/bridge-ui/src/proof/ProofService.spec.ts b/packages/bridge-ui/src/proof/ProofService.spec.ts index 343a1820f83..3d6bc517bdc 100644 --- a/packages/bridge-ui/src/proof/ProofService.spec.ts +++ b/packages/bridge-ui/src/proof/ProofService.spec.ts @@ -105,11 +105,9 @@ const invalidStorageProof2: EthGetProofResponse = { }; const expectedProof = - '0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000380a7881266ca0a344c43cb24175d9dbd243b58d45d6ae6ad71310a273a3d1d3afb1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347000000000000000000000000ea674fdde714fd979de3edf0f56aa9716b898ec8c0dcf937b3f6136dd70a1ad11cc57b040fd410f3c49a5146f20c732895a3cc217273ade6b6ed865a9975ac281da23b90b141a8b607d874d2cd95e65e81336f8e74bb61e381e9238a08b169580f3cbf9b8b79d7d5ee708d3e286103eb291dfd0800000000000400000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000020000000000000000000000000000000000000000000000000100000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000300f5ba25df1e92e89a09e0b32063b81795f631100801158f5fa733f2ba26843bd0000000000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001265746865726d696e652d75732d7765737431000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022e1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'; - + '0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000380a7881266ca0a344c43cb24175d9dbd243b58d45d6ae6ad71310a273a3d1d3afb1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347000000000000000000000000ea674fdde714fd979de3edf0f56aa9716b898ec8c0dcf937b3f6136dd70a1ad11cc57b040fd410f3c49a5146f20c732895a3cc217273ade6b6ed865a9975ac281da23b90b141a8b607d874d2cd95e65e81336f8e74bb61e381e9238a08b169580f3cbf9b8b79d7d5ee708d3e286103eb291dfd0800000000000400000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000020000000000000000000000000000000000000000000000000100000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000300f5ba25df1e92e89a09e0b32063b81795f631100801158f5fa733f2ba26843bd0000000000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001265746865726d696e652d75732d776573743100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022e1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'; const expectedProofWithBaseFee = - '0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000380a7881266ca0a344c43cb24175d9dbd243b58d45d6ae6ad71310a273a3d1d3afb1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347000000000000000000000000ea674fdde714fd979de3edf0f56aa9716b898ec8c0dcf937b3f6136dd70a1ad11cc57b040fd410f3c49a5146f20c732895a3cc217273ade6b6ed865a9975ac281da23b90b141a8b607d874d2cd95e65e81336f8e74bb61e381e9238a08b169580f3cbf9b8b79d7d5ee708d3e286103eb291dfd0800000000000400000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000020000000000000000000000000000000000000000000000000100000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000300f5ba25df1e92e89a09e0b32063b81795f631100801158f5fa733f2ba26843bd0000000000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001265746865726d696e652d75732d7765737431000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022e1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'; - + '0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000380a7881266ca0a344c43cb24175d9dbd243b58d45d6ae6ad71310a273a3d1d3afb1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347000000000000000000000000ea674fdde714fd979de3edf0f56aa9716b898ec8c0dcf937b3f6136dd70a1ad11cc57b040fd410f3c49a5146f20c732895a3cc217273ade6b6ed865a9975ac281da23b90b141a8b607d874d2cd95e65e81336f8e74bb61e381e9238a08b169580f3cbf9b8b79d7d5ee708d3e286103eb291dfd0800000000000400000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000020000000000000000000000000000000000000000000000000100000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b000000000000000000000000000000000000000000000000000000000000007b0000000000000000000000000000000000000000000000000000000000000300f5ba25df1e92e89a09e0b32063b81795f631100801158f5fa733f2ba26843bd0000000000000000000000000000000000000000000000000000000000000007b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001265746865726d696e652d75732d776573743100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022e1a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'; const srcChain = 167001; const destChain = 31336; diff --git a/packages/bridge-ui/src/proof/ProofService.ts b/packages/bridge-ui/src/proof/ProofService.ts index e1fce0dffb4..dee7ba67cd5 100644 --- a/packages/bridge-ui/src/proof/ProofService.ts +++ b/packages/bridge-ui/src/proof/ProofService.ts @@ -73,10 +73,7 @@ export class ProofService implements Prover { blockHeader: BlockHeader, ) { // RLP encode the proof together for LibTrieProof to decode - const encodedProof = ethers.utils.defaultAbiCoder.encode( - ['bytes', 'bytes'], - [RLP.encode(proof.accountProof), RLP.encode(proof.storageProof[0].proof)], - ); + const encodedProof = RLP.encode(proof.storageProof[0].proof); // encode the SignalProof struct from LibBridgeSignal const signalProof = ethers.utils.defaultAbiCoder.encode( diff --git a/packages/protocol/.eslintignore b/packages/protocol/.eslintignore index a51367fe352..fcece9835f3 100644 --- a/packages/protocol/.eslintignore +++ b/packages/protocol/.eslintignore @@ -1,4 +1,5 @@ node_modules artifacts cache -coverage \ No newline at end of file +coverage +lib \ No newline at end of file diff --git a/packages/protocol/.gas-snapshot b/packages/protocol/.gas-snapshot new file mode 100644 index 00000000000..9c77a8c5dd8 --- /dev/null +++ b/packages/protocol/.gas-snapshot @@ -0,0 +1,31 @@ +GasComparisonTest:testCompare_hashKey() (gas: 8911) +GasComparisonTest:testCompare_hashString(uint256) (runs: 256, μ: 13091, ~: 12617) +GasComparisonTest:testCompare_hashTwo() (gas: 6991) +GasComparisonTest:testCompare_increment(uint256) (runs: 256, μ: 256896, ~: 210364) +GasComparisonTest:testCompare_loadBlockMetadata() (gas: 16191) +GasComparisonTest:testCompare_return() (gas: 8617) +GasComparisonTest:testCompare_send0Ether() (gas: 6531) +LibFixedPointMathTest:testExp1() (gas: 697) +LibFixedPointMathTest:testExp3() (gas: 1533) +LibFixedPointMathTest:testExpGas() (gas: 5328) +LibFixedPointMathTest:testExpLargest() (gas: 3929) +LibFixedPointMathTest:testExpSmallest() (gas: 3909) +LibFixedPointMathTest:testExpSome() (gas: 3827) +TaikoL1Test:test_block_time_decreases_but_fee_remains() (gas: 14868515) +TaikoL1Test:test_block_time_increases_and_fee_decreases() (gas: 14862630) +TaikoL1Test:test_more_blocks_than_ring_buffer_size() (gas: 16845131) +TaikoL1Test:test_multiple_blocks_in_one_L1_block() (gas: 671686) +TaikoL1Test:test_verifying_multiple_blocks_once() (gas: 2827699) +TestLib1559Math:test1559_2X1XRatio(uint16) (runs: 256, μ: 489986, ~: 489986) +TestLib1559Math:test1559_SpecalCases(uint16) (runs: 256, μ: 19937, ~: 19937) +TestLibTokenomics:testTokenomicsFeeCalcWithNonZeroStartBips() (gas: 4930) +TestLibTokenomics:testTokenomicsFeeCalcWithZeroStartBips() (gas: 4875) +TestLibTokenomics:testTokenomicsRewardCalcWithNonZeroStartBips() (gas: 5571) +TestLibTokenomics:testTokenomicsRewardCalcWithZeroStartBips() (gas: 4799) +TestTaikoL2:testAnchorSigning(bytes32) (runs: 256, μ: 23542, ~: 23563) +TestTaikoL2:testAnchorTxsBlocktimeConstant() (gas: 7245201) +TestTaikoL2:testAnchorTxsBlocktimeDecreasing() (gas: 2184915) +TestTaikoL2:testAnchorTxsBlocktimeIncreasing() (gas: 2046549) +TestTaikoL2:testAnchorTxsFailByNonTaikoL2Signer() (gas: 62542) +TestTaikoL2:testAnchorTxsFailInTheSameBlock() (gas: 161344) +TestTaikoL2:testGetBasefee() (gas: 229572) \ No newline at end of file diff --git a/packages/protocol/.gitignore b/packages/protocol/.gitignore index b660994e1f3..968e3fd962d 100644 --- a/packages/protocol/.gitignore +++ b/packages/protocol/.gitignore @@ -2,6 +2,7 @@ node_modules .env coverage coverage.json +.gas-snapshot typechain abis abi @@ -16,7 +17,16 @@ npm-debug.log* # Hardhat files cache artifacts +cache +cache_forge +cache_hardhat out +# Foundry +broadcast + # Editors .vscode + +#coverage +lcov.info \ No newline at end of file diff --git a/packages/protocol/.prettierignore b/packages/protocol/.prettierignore index 4b910ac3a6a..3fadde88a77 100644 --- a/packages/protocol/.prettierignore +++ b/packages/protocol/.prettierignore @@ -1,6 +1,6 @@ node_modules +lib artifacts cache coverage* gasReporterOutput.json -contracts/thirdparty/LibBlockHeaderDecoder.sol diff --git a/packages/protocol/.solcover.js b/packages/protocol/.solcover.js index 8064404e0ca..0cc5bfc493b 100644 --- a/packages/protocol/.solcover.js +++ b/packages/protocol/.solcover.js @@ -1,10 +1,6 @@ module.exports = { configureYulOptimizer: true, skipFiles: [ - "thirdparty/LibBlockHeaderDecoder.sol", // assembly too long - "libs/LibReceiptDecoder.sol", //integration test, - "test/libs/TestLibReceiptDecoder.sol", //integration tests - "test/thirdparty/TestLibBlockHeaderDecoder.sol", // assembly too long ], mocha: { grep: "^[^integration]", diff --git a/packages/protocol/.solhint.json b/packages/protocol/.solhint.json index 46c6ff69ac8..1ccc385aed2 100644 --- a/packages/protocol/.solhint.json +++ b/packages/protocol/.solhint.json @@ -9,6 +9,7 @@ "no-inline-assembly": "off", "not-rely-on-time": "off", "ordering": "warn", - "payable-fallback": "off" + "payable-fallback": "off", + "no-console": "off" } } diff --git a/packages/protocol/.solhintignore b/packages/protocol/.solhintignore index 871b9009a80..ef1c8c9a147 100644 --- a/packages/protocol/.solhintignore +++ b/packages/protocol/.solhintignore @@ -1,10 +1,7 @@ node_modules/ -contracts/aux/tokens/ERC20Upgradeable.sol +lib/ contracts/test/TestLibRLPReader.sol contracts/test/TestLibRLPWriter.sol -contracts/libs/Lib1559Math.sol -contracts/libs/LibAddress.sol -contracts/libs/LibMath.sol -contracts/libs/LibUint512Math.sol -contracts/libs/LibSharedConfig.sol -**/contracts/thirdparty/**/*.sol \ No newline at end of file +**/contracts/thirdparty/**/*.sol +test/GasComparison.t.sol +test/TestLn.sol \ No newline at end of file diff --git a/packages/protocol/CHANGELOG.md b/packages/protocol/CHANGELOG.md index 8116840369b..b63a3fcd6ac 100644 --- a/packages/protocol/CHANGELOG.md +++ b/packages/protocol/CHANGELOG.md @@ -2,40 +2,35 @@ ## [0.6.1](https://github.com/taikoxyz/taiko-mono/compare/protocol-v0.6.0...protocol-v0.6.1) (2023-04-08) - ### Bug Fixes -* **repo:** fix multiple typos ([#13558](https://github.com/taikoxyz/taiko-mono/issues/13558)) ([f54242a](https://github.com/taikoxyz/taiko-mono/commit/f54242aa95e5c5563f8f0a7f9af0a1eab20ab67b)) +- **repo:** fix multiple typos ([#13558](https://github.com/taikoxyz/taiko-mono/issues/13558)) ([f54242a](https://github.com/taikoxyz/taiko-mono/commit/f54242aa95e5c5563f8f0a7f9af0a1eab20ab67b)) ## [0.6.0](https://github.com/taikoxyz/taiko-mono/compare/protocol-v0.5.0...protocol-v0.6.0) (2023-03-29) - ### Features -* **protocol:** merge alpha 2 to main ([#13369](https://github.com/taikoxyz/taiko-mono/issues/13369)) ([2b9cc64](https://github.com/taikoxyz/taiko-mono/commit/2b9cc6466509372f35109b48c00948d2234b0d59)) -* **relayer:** merge alpha-2 to main ([#13376](https://github.com/taikoxyz/taiko-mono/issues/13376)) ([3148f6b](https://github.com/taikoxyz/taiko-mono/commit/3148f6ba955e1b3918289332d2ee30f139edea8b)) - +- **protocol:** merge alpha 2 to main ([#13369](https://github.com/taikoxyz/taiko-mono/issues/13369)) ([2b9cc64](https://github.com/taikoxyz/taiko-mono/commit/2b9cc6466509372f35109b48c00948d2234b0d59)) +- **relayer:** merge alpha-2 to main ([#13376](https://github.com/taikoxyz/taiko-mono/issues/13376)) ([3148f6b](https://github.com/taikoxyz/taiko-mono/commit/3148f6ba955e1b3918289332d2ee30f139edea8b)) ### Bug Fixes -* **relayer:** new abi gen bindings ([#13342](https://github.com/taikoxyz/taiko-mono/issues/13342)) ([8655ff1](https://github.com/taikoxyz/taiko-mono/commit/8655ff16f3de7445f01b4fd502d183d93e394e1a)) +- **relayer:** new abi gen bindings ([#13342](https://github.com/taikoxyz/taiko-mono/issues/13342)) ([8655ff1](https://github.com/taikoxyz/taiko-mono/commit/8655ff16f3de7445f01b4fd502d183d93e394e1a)) ## [0.5.0](https://github.com/taikoxyz/taiko-mono/compare/protocol-v0.4.0...protocol-v0.5.0) (2023-03-15) - ### Features -* **protocol:** let `PlonkVerifier` return `keccak256("taiko")` ([#13277](https://github.com/taikoxyz/taiko-mono/issues/13277)) ([8ca632c](https://github.com/taikoxyz/taiko-mono/commit/8ca632ce9263219a37368d1f0f84a44cbb369794)) -* **protocol:** optimize gas for processMessage & retryMessage ([#13181](https://github.com/taikoxyz/taiko-mono/issues/13181)) ([178e382](https://github.com/taikoxyz/taiko-mono/commit/178e3823d9ca8a0396ef2a7198c064368feaca90)) -* **protocol:** tokens can only mint once ([#13252](https://github.com/taikoxyz/taiko-mono/issues/13252)) ([72d152b](https://github.com/taikoxyz/taiko-mono/commit/72d152b7d998b9f306a12823df964a2da18687dd)) -* **protocol:** update `LibBlockHeader` to hash post Shanghai fork blocks ([#13278](https://github.com/taikoxyz/taiko-mono/issues/13278)) ([2e34634](https://github.com/taikoxyz/taiko-mono/commit/2e34634560a28c356404f2d837d21f2e5e85bfa3)) - +- **protocol:** let `PlonkVerifier` return `keccak256("taiko")` ([#13277](https://github.com/taikoxyz/taiko-mono/issues/13277)) ([8ca632c](https://github.com/taikoxyz/taiko-mono/commit/8ca632ce9263219a37368d1f0f84a44cbb369794)) +- **protocol:** optimize gas for processMessage & retryMessage ([#13181](https://github.com/taikoxyz/taiko-mono/issues/13181)) ([178e382](https://github.com/taikoxyz/taiko-mono/commit/178e3823d9ca8a0396ef2a7198c064368feaca90)) +- **protocol:** tokens can only mint once ([#13252](https://github.com/taikoxyz/taiko-mono/issues/13252)) ([72d152b](https://github.com/taikoxyz/taiko-mono/commit/72d152b7d998b9f306a12823df964a2da18687dd)) +- **protocol:** update `LibBlockHeader` to hash post Shanghai fork blocks ([#13278](https://github.com/taikoxyz/taiko-mono/issues/13278)) ([2e34634](https://github.com/taikoxyz/taiko-mono/commit/2e34634560a28c356404f2d837d21f2e5e85bfa3)) ### Bug Fixes -* **protocol:** fix config.slotSmoothingFactor and getTimeAdjustedFee bug ([#13293](https://github.com/taikoxyz/taiko-mono/issues/13293)) ([18f3d9f](https://github.com/taikoxyz/taiko-mono/commit/18f3d9fcf99691f54b65198618c49e57590b0a84)) -* **protocol:** make download solc script can run outside the protocol dir ([#13263](https://github.com/taikoxyz/taiko-mono/issues/13263)) ([7cd7787](https://github.com/taikoxyz/taiko-mono/commit/7cd77873d0ce1e5f8b43167a8009327cca4200c3)) -* **protocol:** Wrong calculation when minting ERC20 tokens ([#13250](https://github.com/taikoxyz/taiko-mono/issues/13250)) ([5920b7e](https://github.com/taikoxyz/taiko-mono/commit/5920b7eee377e913c10b5b78384f24712808f179)) +- **protocol:** fix config.slotSmoothingFactor and getTimeAdjustedFee bug ([#13293](https://github.com/taikoxyz/taiko-mono/issues/13293)) ([18f3d9f](https://github.com/taikoxyz/taiko-mono/commit/18f3d9fcf99691f54b65198618c49e57590b0a84)) +- **protocol:** make download solc script can run outside the protocol dir ([#13263](https://github.com/taikoxyz/taiko-mono/issues/13263)) ([7cd7787](https://github.com/taikoxyz/taiko-mono/commit/7cd77873d0ce1e5f8b43167a8009327cca4200c3)) +- **protocol:** Wrong calculation when minting ERC20 tokens ([#13250](https://github.com/taikoxyz/taiko-mono/issues/13250)) ([5920b7e](https://github.com/taikoxyz/taiko-mono/commit/5920b7eee377e913c10b5b78384f24712808f179)) ## [0.4.0](https://github.com/taikoxyz/taiko-mono/compare/protocol-v0.3.0...protocol-v0.4.0) (2023-03-01) @@ -127,7 +122,7 @@ - **protocol:** fix `BlockVerified` event ([#381](https://github.com/taikoxyz/taiko-mono/issues/381)) ([fe479c8](https://github.com/taikoxyz/taiko-mono/commit/fe479c8ff22b0da59ec75cc9e0dea04e38ebbb92)) - **protocol:** fix `TokenVault.sendERC20` ([#420](https://github.com/taikoxyz/taiko-mono/issues/420)) ([d42b953](https://github.com/taikoxyz/taiko-mono/commit/d42b953c51e66948d7a6563042f7a521ee2d557a)) - **protocol:** fix an occasional error in `test:tokenomics` ([#12950](https://github.com/taikoxyz/taiko-mono/issues/12950)) ([005364c](https://github.com/taikoxyz/taiko-mono/commit/005364c11c327f6dcaad7872c5064eb81e52f35b)) -- **protocol:** Fix bug in getProposedBlock ([#11679](https://github.com/taikoxyz/taiko-mono/issues/11679)) ([a6a596c](https://github.com/taikoxyz/taiko-mono/commit/a6a596cf10ecfa517a781e8c487b2d74f05a9526)) +- **protocol:** Fix bug in getBlock ([#11679](https://github.com/taikoxyz/taiko-mono/issues/11679)) ([a6a596c](https://github.com/taikoxyz/taiko-mono/commit/a6a596cf10ecfa517a781e8c487b2d74f05a9526)) - **protocol:** let `LibZKP.verify` return `true` ([#12676](https://github.com/taikoxyz/taiko-mono/issues/12676)) ([d0f17a6](https://github.com/taikoxyz/taiko-mono/commit/d0f17a6dc8921df49a63831d91170a7c11476bd9)) - **protocol:** Remove enableDestChain functionality ([#12341](https://github.com/taikoxyz/taiko-mono/issues/12341)) ([362d083](https://github.com/taikoxyz/taiko-mono/commit/362d083497cc74b3bcd05a406beeff2101a422ef)) - **protocol:** update avg proof time and avg block time ([#391](https://github.com/taikoxyz/taiko-mono/issues/391)) ([3681483](https://github.com/taikoxyz/taiko-mono/commit/3681483efe97c38a488563594c003dabfa23b2de)) diff --git a/packages/protocol/README.md b/packages/protocol/README.md index 47ed575f7a8..8ccc9a135f9 100644 --- a/packages/protocol/README.md +++ b/packages/protocol/README.md @@ -32,16 +32,20 @@ Start by creating a `config.json`, for example: { // Owner address of the pre-deployed L2 contracts. "contractOwner": "0xDf08F82De32B8d460adbE8D72043E3a7e25A3B39", - // Chain ID of the Taiko L2 network. "chainId": 167, - // Account address and pre-mint ETH amount as key-value pairs. "seedAccounts": [ { "0xDf08F82De32B8d460adbE8D72043E3a7e25A3B39": 1024 }, { "0x79fcdef22feed20eddacbb2587640e45491b757f": 1024 } ], - + // L2 EIP-1559 baseFee calculation related fields. + "param1559": { + "yscale": "358298803609133338137582400989", + "xscale": "1488514844", + "gasIssuedPerSecond": "12500000", + "gasExcess": "45450000000" + }, // Option to pre-deploy an ERC-20 token. "predeployERC20": true } @@ -57,3 +61,12 @@ The script will output two JSON files under `./deployments`: - `l2_genesis_alloc.json`: the `alloc` field which will be used in L2 genesis JSON file - `l2_genesis_storage_layout.json`: the storage layout of those pre-deployed contracts + +## Using Foundry + +This project also integrates with Foundry for building and testing contracts. + +- To compile using foundry: `forge build` or `pnpm compile` +- To run foundry tests: `forge test --gas-report -vvv` or `pnpm test:foundry` + +Note that compiling with foundry uses dependencies inside the `lib` dir (instead of `node_modules`). diff --git a/packages/protocol/contracts/L1/ProofVerifier.sol b/packages/protocol/contracts/L1/ProofVerifier.sol deleted file mode 100644 index 4b82a284b3a..00000000000 --- a/packages/protocol/contracts/L1/ProofVerifier.sol +++ /dev/null @@ -1,60 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {EssentialContract} from "../common/EssentialContract.sol"; -import {LibZKP} from "../libs/LibZKP.sol"; -import {LibMerkleTrie} from "../thirdparty/LibMerkleTrie.sol"; - -interface IProofVerifier { - function verifyZKP( - string memory verifierId, - bytes calldata zkproof, - bytes32 instance - ) external view returns (bool verified); - - function verifyMKP( - bytes memory key, - bytes memory value, - bytes memory proof, - bytes32 root - ) external pure returns (bool verified); -} - -contract ProofVerifier is IProofVerifier, EssentialContract { - function init(address addressManager) external initializer { - EssentialContract._init(addressManager); - } - - function verifyZKP( - string memory verifierId, - bytes calldata zkproof, - bytes32 instance - ) external view returns (bool) { - return - LibZKP.verify({ - plonkVerifier: resolve(verifierId, false), - zkproof: zkproof, - instance: instance - }); - } - - function verifyMKP( - bytes memory key, - bytes memory value, - bytes memory proof, - bytes32 root - ) external pure returns (bool) { - return - LibMerkleTrie.verifyInclusionProof({ - _key: key, - _value: value, - _proof: proof, - _root: root - }); - } -} diff --git a/packages/protocol/contracts/L1/TaikoConfig.sol b/packages/protocol/contracts/L1/TaikoConfig.sol new file mode 100644 index 00000000000..f8708b832b8 --- /dev/null +++ b/packages/protocol/contracts/L1/TaikoConfig.sol @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +import {TaikoData} from "../L1/TaikoData.sol"; + +library TaikoConfig { + function getConfig() internal pure returns (TaikoData.Config memory) { + return + TaikoData.Config({ + chainId: 167, + // Two weeks if avg block time is 10 seconds + maxNumProposedBlocks: 120960, + ringBufferSize: 120960 + 10, + maxNumVerifiedBlocks: 4096, + // Each time one more block is verified, there will be ~20k + // more gas cost. + maxVerificationsPerTx: 10, + // Set it to 6M, since its the upper limit of the Alpha-2 + // testnet's circuits. + blockMaxGasLimit: 6000000, + // Set it to 79 (+1 TaikoL2.anchor transaction = 80), + // and 80 is the upper limit of the Alpha-2 testnet's circuits. + maxTransactionsPerBlock: 79, + minEthDepositsPerBlock: 8, + maxEthDepositsPerBlock: 32, + maxEthDepositAmount: 10000 ether, + minEthDepositAmount: 1 ether, + // Set it to 120KB, since 128KB is the upper size limit + // of a geth transaction, so using 120KB for the proposed + // transactions list calldata, 8K for the remaining tx fields. + maxBytesPerTxList: 120000, + minTxGasLimit: 21000, + proofCooldownPeriod: 5 minutes, + txListCacheExpiry: 0, + proofTimeTarget: 1800, // 85s based on A2 testnet status, or set to 1800 for 30mins (mainnet mock) + adjustmentQuotient: 16, + relaySignalRoot: false, + enableSoloProposer: false + }); + } +} diff --git a/packages/protocol/contracts/L1/TaikoCustomErrors.sol b/packages/protocol/contracts/L1/TaikoCustomErrors.sol deleted file mode 100644 index 059a924e2fd..00000000000 --- a/packages/protocol/contracts/L1/TaikoCustomErrors.sol +++ /dev/null @@ -1,48 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -abstract contract TaikoCustomErrors { - // The following custom errors must match the definitions in other V1 libraries. - error L1_0_FEE_BASE(); - error L1_ALREADY_PROVEN(); - error L1_ANCHOR_CALLDATA(); - error L1_ANCHOR_DEST(); - error L1_ANCHOR_GAS_LIMIT(); - error L1_ANCHOR_RECEIPT_ADDR(); - error L1_ANCHOR_RECEIPT_DATA(); - error L1_ANCHOR_RECEIPT_LOGS(); - error L1_ANCHOR_RECEIPT_PROOF(); - error L1_ANCHOR_RECEIPT_STATUS(); - error L1_ANCHOR_RECEIPT_TOPICS(); - error L1_ANCHOR_SIG_R(); - error L1_ANCHOR_SIG_S(); - error L1_ANCHOR_TX_PROOF(); - error L1_ANCHOR_TYPE(); - error L1_BLOCK_NUMBER(); - error L1_CANNOT_BE_FIRST_PROVER(); - error L1_COMMITTED(); - error L1_CONFLICT_PROOF(); - error L1_CONTRACT_NOT_ALLOWED(); - error L1_DUP_PROVERS(); - error L1_EXTRA_DATA(); - error L1_GAS_LIMIT(); - error L1_ID(); - error L1_INPUT_SIZE(); - error L1_INVALID_CONFIG(); - error L1_INVALID_PARAM(); - error L1_METADATA_FIELD(); - error L1_META_MISMATCH(); - error L1_NOT_COMMITTED(); - error L1_NOT_ORACLE_PROVER(); - error L1_PROOF_LENGTH(); - error L1_PROVER(); - error L1_SOLO_PROPOSER(); - error L1_TOO_MANY_BLOCKS(); - error L1_TX_LIST(); - error L1_ZKP(); -} diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index 25f97083af8..c490728e9e4 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -6,110 +6,147 @@ pragma solidity ^0.8.18; -import {BlockHeader} from "../libs/LibBlockHeader.sol"; - library TaikoData { struct Config { uint256 chainId; - // up to 2048 pending blocks - uint256 maxNumBlocks; - uint256 blockHashHistory; - // This number is calculated from maxNumBlocks to make + uint256 maxNumProposedBlocks; + uint256 ringBufferSize; + uint256 maxNumVerifiedBlocks; + // This number is calculated from maxNumProposedBlocks to make // the 'the maximum value of the multiplier' close to 20.0 uint256 maxVerificationsPerTx; - uint256 commitConfirmations; uint256 blockMaxGasLimit; uint256 maxTransactionsPerBlock; uint256 maxBytesPerTxList; uint256 minTxGasLimit; - uint256 anchorTxGasLimit; - uint256 slotSmoothingFactor; - uint256 rewardBurnBips; - uint256 proposerDepositPctg; - // Moving average factors - uint256 feeBaseMAF; - uint256 blockTimeMAF; - uint256 proofTimeMAF; - uint64 rewardMultiplierPctg; - uint64 feeGracePeriodPctg; - uint64 feeMaxPeriodPctg; - uint64 blockTimeCap; - uint64 proofTimeCap; - uint64 bootstrapDiscountHalvingPeriod; - bool enableTokenomics; - bool enablePublicInputsCheck; - bool enableAnchorValidation; + uint256 txListCacheExpiry; + uint256 proofCooldownPeriod; + uint64 minEthDepositsPerBlock; + uint64 maxEthDepositsPerBlock; + uint96 maxEthDepositAmount; + uint96 minEthDepositAmount; + uint64 proofTimeTarget; + uint8 adjustmentQuotient; + bool relaySignalRoot; + bool enableSoloProposer; } - struct BlockMetadata { - uint256 id; - uint256 l1Height; - bytes32 l1Hash; - address beneficiary; + struct StateVariables { + uint64 basefee; + uint64 accBlockFees; + uint64 genesisHeight; + uint64 genesisTimestamp; + uint64 numBlocks; + uint64 proofTimeIssued; + uint64 lastVerifiedBlockId; + uint64 accProposedAt; + uint64 nextEthDepositToProcess; + uint64 numEthDeposits; + } + + // 3 slots + struct BlockMetadataInput { bytes32 txListHash; - bytes32 mixHash; - bytes extraData; - uint64 gasLimit; - uint64 timestamp; - uint64 commitHeight; - uint64 commitSlot; + address beneficiary; + uint32 gasLimit; + uint24 txListByteStart; // byte-wise start index (inclusive) + uint24 txListByteEnd; // byte-wise end index (exclusive) + uint8 cacheTxListInfo; // non-zero = True } - struct Evidence { - TaikoData.BlockMetadata meta; - BlockHeader header; - address prover; - bytes[] proofs; - uint16 circuitId; + // Changing this struct requires changing LibUtils.hashMetadata accordingly. + struct BlockMetadata { + uint64 id; + uint64 timestamp; + uint64 l1Height; + bytes32 l1Hash; + bytes32 mixHash; + bytes32 depositsRoot; // match L2 header's withdrawalsRoot + bytes32 txListHash; + uint24 txListByteStart; + uint24 txListByteEnd; + uint32 gasLimit; + address beneficiary; + uint8 cacheTxListInfo; + address treasure; + TaikoData.EthDeposit[] depositsProcessed; } - // 3 slots - struct ProposedBlock { + struct BlockEvidence { bytes32 metaHash; - uint256 deposit; - address proposer; - uint64 proposedAt; + bytes32 parentHash; + bytes32 blockHash; + bytes32 signalRoot; + bytes32 graffiti; + address prover; + uint32 parentGasUsed; + uint32 gasUsed; + uint16 verifierId; + bytes proof; } - // 3 + n slots + // 4 slots struct ForkChoice { + // Key is only written/read for the 1st fork choice. + bytes32 key; bytes32 blockHash; - address prover; + bytes32 signalRoot; uint64 provenAt; + address prover; // 0x0 to mark as 'oracle proof' + uint32 gasUsed; + } + + // 4 slots + struct Block { + // ForkChoice storage are reusable + mapping(uint256 forkChoiceId => ForkChoice) forkChoices; + uint64 blockId; + uint64 proposedAt; + uint64 deposit; + uint24 nextForkChoiceId; + uint24 verifiedForkChoiceId; + bytes32 metaHash; + address proposer; } // This struct takes 9 slots. + struct TxListInfo { + uint64 validSince; + uint24 size; + } + + // 1 slot + struct EthDeposit { + address recipient; + uint96 amount; + } + struct State { - // some blocks' hashes won't be persisted, - // only the latest one if verified in a batch - mapping(uint256 blockId => bytes32 blockHash) l2Hashes; - mapping(uint256 blockId => ProposedBlock proposedBlock) proposedBlocks; - // solhint-disable-next-line max-line-length - mapping(uint256 blockId => mapping(bytes32 parentHash => ForkChoice forkChoice)) forkChoices; - // solhint-disable-next-line max-line-length - mapping(address proposerAddress => mapping(uint256 commitSlot => bytes32 commitHash)) commits; + // Ring buffer for proposed blocks and a some recent verified blocks. + mapping(uint256 blockId_mode_ringBufferSize => Block) blocks; // solhint-disable-next-line max-line-length - mapping(address prover => uint256 outstandingReward) balances; + mapping(uint256 blockId => mapping(bytes32 parentHash => mapping(uint32 parentGasUsed => uint256 forkChoiceId))) forkChoiceIds; + mapping(address account => uint256 balance) taikoTokenBalances; + mapping(bytes32 txListHash => TxListInfo) txListInfo; + EthDeposit[] ethDeposits; + bytes32 staticRefs; // Never or rarely changed + // Slot 7: never or rarely changed uint64 genesisHeight; uint64 genesisTimestamp; - uint64 __reservedA1; - uint64 __reservedA2; - // Changed when a block is proposed or proven/finalized - uint256 feeBase; - // Changed when a block is proposed - uint64 nextBlockId; - uint64 lastProposedAt; // Timestamp when the last block is proposed. - uint64 avgBlockTime; // The block time moving average - uint64 __avgGasLimit; // the block gaslimit moving average, not updated. - // Changed when a block is proven/finalized - uint64 latestVerifiedHeight; - uint64 latestVerifiedId; - // the proof time moving average, note that for each block, only the - // first proof's time is considered. - uint64 avgProofTime; - uint64 __reservedC1; + uint64 __reserved71; + uint64 __reserved72; + // Slot 8 + uint64 accProposedAt; + uint64 accBlockFees; + uint64 numBlocks; + uint64 nextEthDepositToProcess; + // Slot 9 + uint64 basefee; + uint64 proofTimeIssued; + uint64 lastVerifiedBlockId; + uint64 __reserved91; // Reserved - uint256[42] __gap; + uint256[41] __gap; } } diff --git a/packages/protocol/contracts/L1/TaikoErrors.sol b/packages/protocol/contracts/L1/TaikoErrors.sol new file mode 100644 index 00000000000..32bc0d06e86 --- /dev/null +++ b/packages/protocol/contracts/L1/TaikoErrors.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +abstract contract TaikoErrors { + // The following custom errors must match the definitions in other V1 libraries. + error L1_1559_X_SCALE_TOO_LARGE(); + error L1_1559_Y_SCALE_TOO_LARGE(); + error L1_ALREADY_PROVEN(); + error L1_BLOCK_ID(); + error L1_CONTRACT_NOT_ALLOWED(); + error L1_EVIDENCE_MISMATCH(bytes32 expected, bytes32 actual); + error L1_FORK_CHOICE_NOT_FOUND(); + error L1_INSUFFICIENT_ETHER(); + error L1_INSUFFICIENT_TOKEN(); + error L1_INVALID_CONFIG(); + error L1_INVALID_ETH_DEPOSIT(); + error L1_INVALID_EVIDENCE(); + error L1_INVALID_L21559_PARAMS(); + error L1_INVALID_METADATA(); + + error L1_INVALID_PARAM(); + error L1_INVALID_PROOF(); + + error L1_NOT_ORACLE_PROVER(); + error L1_NOT_SOLO_PROPOSER(); + error L1_ORACLE_DISABLED(); + error L1_TOO_MANY_BLOCKS(); + error L1_TX_LIST_NOT_EXIST(); + error L1_TX_LIST_HASH(); + error L1_TX_LIST_RANGE(); + error L1_TX_LIST(); +} diff --git a/packages/protocol/contracts/L1/TaikoEvents.sol b/packages/protocol/contracts/L1/TaikoEvents.sol index 78110b830d0..63a0ef1fad1 100644 --- a/packages/protocol/contracts/L1/TaikoEvents.sol +++ b/packages/protocol/contracts/L1/TaikoEvents.sol @@ -9,18 +9,18 @@ pragma solidity ^0.8.18; import {TaikoData} from "./TaikoData.sol"; abstract contract TaikoEvents { - // The following events must match the definitions in other V1 libraries. - event BlockVerified(uint256 indexed id, bytes32 blockHash); - - event BlockCommitted(uint64 commitSlot, bytes32 commitHash); - + // The following events must match the definitions in corresponding L1 libraries. event BlockProposed(uint256 indexed id, TaikoData.BlockMetadata meta); event BlockProven( uint256 indexed id, bytes32 parentHash, bytes32 blockHash, - address prover, - uint64 provenAt + bytes32 signalRoot, + address prover ); + + event BlockVerified(uint256 indexed id, bytes32 blockHash); + + event EthDeposited(TaikoData.EthDeposit deposit); } diff --git a/packages/protocol/contracts/L1/TaikoL1.sol b/packages/protocol/contracts/L1/TaikoL1.sol index b862ca1fb00..7689ae0571f 100644 --- a/packages/protocol/contracts/L1/TaikoL1.sol +++ b/packages/protocol/contracts/L1/TaikoL1.sol @@ -6,103 +6,85 @@ pragma solidity ^0.8.18; +import {AddressResolver} from "../common/AddressResolver.sol"; import {EssentialContract} from "../common/EssentialContract.sol"; -import {IHeaderSync} from "../common/IHeaderSync.sol"; -import {LibAnchorSignature} from "../libs/LibAnchorSignature.sol"; -import {LibSharedConfig} from "../libs/LibSharedConfig.sol"; -import {TaikoData} from "./TaikoData.sol"; -import {TaikoEvents} from "./TaikoEvents.sol"; -import {TaikoCustomErrors} from "./TaikoCustomErrors.sol"; +import {IXchainSync} from "../common/IXchainSync.sol"; +import {LibEthDepositing} from "./libs/LibEthDepositing.sol"; +import {LibTokenomics} from "./libs/LibTokenomics.sol"; import {LibProposing} from "./libs/LibProposing.sol"; import {LibProving} from "./libs/LibProving.sol"; import {LibUtils} from "./libs/LibUtils.sol"; import {LibVerifying} from "./libs/LibVerifying.sol"; -import {AddressResolver} from "../common/AddressResolver.sol"; +import {TaikoConfig} from "./TaikoConfig.sol"; +import {TaikoErrors} from "./TaikoErrors.sol"; +import {TaikoData} from "./TaikoData.sol"; +import {TaikoEvents} from "./TaikoEvents.sol"; -contract TaikoL1 is - EssentialContract, - IHeaderSync, - TaikoEvents, - TaikoCustomErrors -{ +contract TaikoL1 is EssentialContract, IXchainSync, TaikoEvents, TaikoErrors { using LibUtils for TaikoData.State; TaikoData.State public state; uint256[100] private __gap; - modifier onlyFromEOA() { - // solhint-disable-next-line avoid-tx-origin - if (msg.sender != tx.origin) revert L1_CONTRACT_NOT_ALLOWED(); - _; + receive() external payable { + depositEtherToL2(); } + /** + * Initialize the rollup. + * + * @param _addressManager The AddressManager address. + * @param _genesisBlockHash The block hash of the genesis block. + * @param _initBasefee Initial (reasonable) basefee value. + * @param _initProofTimeIssued Initial proof time which keeps the inflow/outflow in balance + */ function init( address _addressManager, bytes32 _genesisBlockHash, - uint256 _feeBase + uint64 _initBasefee, + uint64 _initProofTimeIssued ) external initializer { EssentialContract._init(_addressManager); LibVerifying.init({ state: state, - genesisBlockHash: _genesisBlockHash, config: getConfig(), - feeBase: _feeBase - }); - } - - /** - * Write a _commit hash_ so a few blocks later a L2 block can be proposed - * such that `calculateCommitHash(meta.beneficiary, meta.txListHash)` equals - * to this commit hash. - * - * @param commitSlot A slot to save this commit. Slot 0 will always be reset - * to zero for refund. - * @param commitHash Calculated with: - * `calculateCommitHash(beneficiary, txListHash)`. - */ - function commitBlock(uint64 commitSlot, bytes32 commitHash) external { - LibProposing.commitBlock({ - state: state, - config: getConfig(), - commitSlot: commitSlot, - commitHash: commitHash + genesisBlockHash: _genesisBlockHash, + initBasefee: _initBasefee, + initProofTimeIssued: _initProofTimeIssued }); } /** * Propose a Taiko L2 block. * - * @param inputs A list of data input: - * - inputs[0] is abi-encoded BlockMetadata that the actual L2 block - * header must satisfy. - * Note the following fields in the provided meta object must - * be zeros -- their actual values will be provisioned by Ethereum. - * - id - * - l1Height - * - l1Hash - * - mixHash - * - timestamp - * - inputs[1] is a list of transactions in this block, encoded with - * RLP. Note, in the corresponding L2 block an _anchor transaction_ - * will be the first transaction in the block -- if there are - * n transactions in `txList`, then there will be up to n+1 - * transactions in the L2 block. + * @param input An abi-encoded BlockMetadataInput that the actual L2 + * block header must satisfy. + * @param txList A list of transactions in this block, encoded with RLP. + * Note, in the corresponding L2 block an _anchor transaction_ + * will be the first transaction in the block -- if there are + * `n` transactions in `txList`, then there will be up to `n + 1` + * transactions in the L2 block. */ function proposeBlock( - bytes[] calldata inputs - ) external onlyFromEOA nonReentrant { + bytes calldata input, + bytes calldata txList + ) external nonReentrant returns (TaikoData.BlockMetadata memory meta) { TaikoData.Config memory config = getConfig(); - LibProposing.proposeBlock({ + meta = LibProposing.proposeBlock({ state: state, config: config, resolver: AddressResolver(this), - inputs: inputs - }); - LibVerifying.verifyBlocks({ - state: state, - config: config, - maxBlocks: config.maxVerificationsPerTx + input: abi.decode(input, (TaikoData.BlockMetadataInput)), + txList: txList }); + if (config.maxVerificationsPerTx > 0) { + LibVerifying.verifyBlocks({ + state: state, + config: config, + resolver: AddressResolver(this), + maxBlocks: config.maxVerificationsPerTx + }); + } } /** @@ -111,168 +93,159 @@ contract TaikoL1 is * * @param blockId The index of the block to prove. This is also used * to select the right implementation version. - * @param inputs A list of data input: - * - inputs[0] is an abi-encoded object with various information - * regarding the block to be proven and the actual proofs. - * - inputs[1] is the actual anchor transaction in this L2 block. - * Note that the anchor transaction is always the first transaction - * in the block. - * - inputs[2] is the receipt of the anchor transaction. + * @param input An abi-encoded TaikoData.ValidBlockEvidence object. */ - function proveBlock( uint256 blockId, - bytes[] calldata inputs - ) external onlyFromEOA nonReentrant { + bytes calldata input + ) external nonReentrant { TaikoData.Config memory config = getConfig(); LibProving.proveBlock({ state: state, config: config, resolver: AddressResolver(this), blockId: blockId, - inputs: inputs - }); - LibVerifying.verifyBlocks({ - state: state, - config: config, - maxBlocks: config.maxVerificationsPerTx - }); - } - - /** - * Prove a block is invalid with a zero-knowledge proof and a receipt - * merkel proof. - * - * @param blockId The index of the block to prove. This is also used to - * select the right implementation version. - * @param inputs A list of data input: - * - inputs[0] An Evidence object with various information regarding - * the block to be proven and the actual proofs. - * - inputs[1] The target block to be proven invalid. - * - inputs[2] The receipt for the `invalidBlock` transaction - * on L2. Note that the `invalidBlock` transaction is supposed to - * be the only transaction in the L2 block. - */ - function proveBlockInvalid( - uint256 blockId, - bytes[] calldata inputs - ) external onlyFromEOA nonReentrant { - TaikoData.Config memory config = getConfig(); - - LibProving.proveBlockInvalid({ - state: state, - config: config, - resolver: AddressResolver(this), - blockId: blockId, - inputs: inputs - }); - LibVerifying.verifyBlocks({ - state: state, - config: config, - maxBlocks: config.maxVerificationsPerTx + evidence: abi.decode(input, (TaikoData.BlockEvidence)) }); + if (config.maxVerificationsPerTx > 0) { + LibVerifying.verifyBlocks({ + state: state, + config: config, + resolver: AddressResolver(this), + maxBlocks: config.maxVerificationsPerTx + }); + } } /** * Verify up to N blocks. * @param maxBlocks Max number of blocks to verify. */ - function verifyBlocks(uint256 maxBlocks) external onlyFromEOA nonReentrant { + function verifyBlocks(uint256 maxBlocks) external nonReentrant { if (maxBlocks == 0) revert L1_INVALID_PARAM(); LibVerifying.verifyBlocks({ state: state, config: getConfig(), + resolver: AddressResolver(this), maxBlocks: maxBlocks }); } - function withdrawBalance() external nonReentrant { - LibVerifying.withdrawBalance(state, AddressResolver(this)); + function depositTaikoToken(uint256 amount) external nonReentrant { + LibTokenomics.depositTaikoToken(state, AddressResolver(this), amount); } - function getRewardBalance(address addr) public view returns (uint256) { - return state.balances[addr]; + function withdrawTaikoToken(uint256 amount) external nonReentrant { + LibTokenomics.withdrawTaikoToken(state, AddressResolver(this), amount); } - function getBlockFee() public view returns (uint256) { - (, uint256 fee, uint256 deposit) = LibProposing.getBlockFee( + function depositEtherToL2() public payable { + LibEthDepositing.depositEtherToL2( state, - getConfig() + getConfig(), + AddressResolver(this) ); - return fee + deposit; + } + + function getTaikoTokenBalance(address addr) public view returns (uint256) { + return state.taikoTokenBalances[addr]; + } + + function getBlockFee() public view returns (uint64) { + return state.basefee; } function getProofReward( uint64 provenAt, uint64 proposedAt - ) public view returns (uint256 reward) { - (, reward, ) = LibVerifying.getProofReward({ + ) public view returns (uint64) { + return + LibTokenomics.getProofReward({ + state: state, + proofTime: provenAt - proposedAt + }); + } + + function getBlock( + uint256 blockId + ) + public + view + returns ( + bytes32 _metaHash, + uint256 _deposit, + address _proposer, + uint64 _proposedAt + ) + { + TaikoData.Block storage blk = LibProposing.getBlock({ state: state, config: getConfig(), - provenAt: provenAt, - proposedAt: proposedAt + blockId: blockId }); + _metaHash = blk.metaHash; + _deposit = blk.deposit; + _proposer = blk.proposer; + _proposedAt = blk.proposedAt; } - function isCommitValid( - uint256 commitSlot, - uint256 commitHeight, - bytes32 commitHash - ) public view returns (bool) { + function getForkChoice( + uint256 blockId, + bytes32 parentHash, + uint32 parentGasUsed + ) public view returns (TaikoData.ForkChoice memory) { return - LibProposing.isCommitValid( - state, - getConfig().commitConfirmations, - commitSlot, - commitHeight, - commitHash - ); + LibProving.getForkChoice({ + state: state, + config: getConfig(), + blockId: blockId, + parentHash: parentHash, + parentGasUsed: parentGasUsed + }); } - function getProposedBlock( - uint256 id - ) public view returns (TaikoData.ProposedBlock memory) { + function getXchainBlockHash( + uint256 blockId + ) public view override returns (bytes32) { + (bool found, TaikoData.Block storage blk) = LibUtils.getL2ChainData({ + state: state, + config: getConfig(), + blockId: blockId + }); return - LibProposing.getProposedBlock(state, getConfig().maxNumBlocks, id); + found + ? blk.forkChoices[blk.verifiedForkChoiceId].blockHash + : bytes32(0); } - function getSyncedHeader( - uint256 number + function getXchainSignalRoot( + uint256 blockId ) public view override returns (bytes32) { - return state.getL2BlockHash(number, getConfig().blockHashHistory); - } + (bool found, TaikoData.Block storage blk) = LibUtils.getL2ChainData({ + state: state, + config: getConfig(), + blockId: blockId + }); - function getLatestSyncedHeader() public view override returns (bytes32) { return - state.getL2BlockHash( - state.latestVerifiedHeight, - getConfig().blockHashHistory - ); + found + ? blk.forkChoices[blk.verifiedForkChoiceId].signalRoot + : bytes32(0); } function getStateVariables() public view - returns (LibUtils.StateVariables memory) + returns (TaikoData.StateVariables memory) { return state.getStateVariables(); } - function signWithGoldenTouch( - bytes32 hash, - uint8 k - ) public view returns (uint8 v, uint256 r, uint256 s) { - return LibAnchorSignature.signTransaction(hash, k); - } - - function getForkChoice( - uint256 id, - bytes32 parentHash - ) public view returns (TaikoData.ForkChoice memory) { - return state.forkChoices[id][parentHash]; + function getConfig() public pure virtual returns (TaikoData.Config memory) { + return TaikoConfig.getConfig(); } - function getConfig() public pure virtual returns (TaikoData.Config memory) { - return LibSharedConfig.getConfig(); + function getVerifierName(uint16 id) public pure returns (string memory) { + return LibUtils.getVerifierName(id); } } diff --git a/packages/protocol/contracts/L1/TaikoToken.sol b/packages/protocol/contracts/L1/TaikoToken.sol index 6d45ac303f6..9b2159f73a8 100644 --- a/packages/protocol/contracts/L1/TaikoToken.sol +++ b/packages/protocol/contracts/L1/TaikoToken.sol @@ -7,16 +7,15 @@ pragma solidity ^0.8.18; import { - SafeCastUpgradeable -} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; - + ERC20Upgradeable, + IERC20Upgradeable +} from "../thirdparty/ERC20Upgradeable.sol"; import {EssentialContract} from "../common/EssentialContract.sol"; import {IMintableERC20} from "../common/IMintableERC20.sol"; import {LibMath} from "../libs/LibMath.sol"; import { - ERC20Upgradeable, - IERC20Upgradeable -} from "../thirdparty/ERC20Upgradeable.sol"; + SafeCastUpgradeable +} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; /// @dev This is Taiko's governance and fee token. contract TaikoToken is EssentialContract, ERC20Upgradeable, IMintableERC20 { @@ -36,6 +35,8 @@ contract TaikoToken is EssentialContract, ERC20Upgradeable, IMintableERC20 { event Burn(address account, uint256 amount); error TKO_INVALID_ADDR(); + error TKO_INVALID_PREMINT_PARAMS(); + error TKO_MINT_DISALLOWED(); /********************* * External Functions* @@ -45,16 +46,25 @@ contract TaikoToken is EssentialContract, ERC20Upgradeable, IMintableERC20 { /// Based on our simulation in simulate/tokenomics/index.js, both /// amountMintToDAO and amountMintToDev shall be set to ~150,000,000. function init( - string memory _name, - string memory _symbol, - address _addressManager + address _addressManager, + string calldata _name, + string calldata _symbol, + address[] calldata _premintRecipients, + uint256[] calldata _premintAmounts ) external initializer { + if (_premintRecipients.length != _premintAmounts.length) + revert TKO_INVALID_PREMINT_PARAMS(); + EssentialContract._init(_addressManager); ERC20Upgradeable.__ERC20_init({ name_: _name, symbol_: _symbol, - decimals_: 18 + decimals_: 8 }); + + for (uint256 i = 0; i < _premintRecipients.length; ++i) { + _mint(_premintRecipients[i], _premintAmounts[i]); + } } /********************* @@ -107,4 +117,9 @@ contract TaikoToken is EssentialContract, ERC20Upgradeable, IMintableERC20 { _burn(account, amount); emit Burn(account, amount); } + + function _mint(address account, uint256 amount) internal override { + ERC20Upgradeable._mint(account, amount); + if (totalSupply() > type(uint64).max) revert TKO_MINT_DISALLOWED(); + } } diff --git a/packages/protocol/contracts/L1/libs/LibEthDepositing.sol b/packages/protocol/contracts/L1/libs/LibEthDepositing.sol new file mode 100644 index 00000000000..5eed33594f2 --- /dev/null +++ b/packages/protocol/contracts/L1/libs/LibEthDepositing.sol @@ -0,0 +1,130 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +import {LibAddress} from "../../libs/LibAddress.sol"; +import {LibMath} from "../../libs/LibMath.sol"; +import {AddressResolver} from "../../common/AddressResolver.sol"; +import { + SafeCastUpgradeable +} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; +import {TaikoData} from "../TaikoData.sol"; + +library LibEthDepositing { + using LibAddress for address; + using LibMath for uint256; + using SafeCastUpgradeable for uint256; + + // When maxEthDepositsPerBlock is 32, the average gas cost per + // EthDeposit is about 2700 gas. We use 21000 so the proposer may + // earn a small profit if there are 32 deposits included + // in the block; if there are less EthDeposit to process, the + // proposer may suffer a loss so the proposer should simply wait + // for more EthDeposit be become available. + uint256 public constant GAS_PER_ETH_DEPOSIT = 21000; + uint256 public constant MAX_FEE_PER_ETH_DEPOSIT = 1 ether / 10; // 0.1 Ether. + + error L1_INVALID_ETH_DEPOSIT(); + + event EthDeposited(TaikoData.EthDeposit deposit); + + function depositEtherToL2( + TaikoData.State storage state, + TaikoData.Config memory config, + AddressResolver resolver + ) public { + if ( + msg.value < config.minEthDepositAmount || + msg.value > config.maxEthDepositAmount + ) revert L1_INVALID_ETH_DEPOSIT(); + + TaikoData.EthDeposit memory deposit = TaikoData.EthDeposit({ + recipient: msg.sender, + amount: uint96(msg.value) + }); + + address to = resolver.resolve("ether_vault", true); + if (to == address(0)) { + to = resolver.resolve("bridge", false); + } + to.sendEther(msg.value); + + state.ethDeposits.push(deposit); + emit EthDeposited(deposit); + } + + function processDeposits( + TaikoData.State storage state, + TaikoData.Config memory config, + address beneficiary + ) + internal + returns ( + bytes32 depositsRoot, + TaikoData.EthDeposit[] memory depositsProcessed + ) + { + // Allocate one extra slot for collecting fees on L2 + depositsProcessed = new TaikoData.EthDeposit[]( + config.maxEthDepositsPerBlock + 1 + ); + + uint256 j; // number of deposits to process on L2 + if ( + state.ethDeposits.length >= + state.nextEthDepositToProcess + config.minEthDepositsPerBlock + ) { + unchecked { + uint96 feePerDeposit = uint96( + MAX_FEE_PER_ETH_DEPOSIT.min( + block.basefee * GAS_PER_ETH_DEPOSIT + ) + ); + uint96 totalFee; + uint64 i = state.nextEthDepositToProcess; + while ( + i < state.ethDeposits.length && + i < + state.nextEthDepositToProcess + + config.maxEthDepositsPerBlock + ) { + TaikoData.EthDeposit storage deposit = state.ethDeposits[i]; + if (deposit.amount > feePerDeposit) { + totalFee += feePerDeposit; + depositsProcessed[j].recipient = deposit.recipient; + depositsProcessed[j].amount = + deposit.amount - + feePerDeposit; + ++j; + } else { + totalFee += deposit.amount; + } + + // delete the deposit + deposit.recipient = address(0); + deposit.amount = 0; + ++i; + } + + // Fee collecting deposit + if (totalFee > 0) { + depositsProcessed[j].recipient = beneficiary; + depositsProcessed[j].amount = totalFee; + ++j; + } + // Advance cursor + state.nextEthDepositToProcess = i; + } + } + + // resize the length of depositsProcessed to j. + assembly { + mstore(depositsProcessed, j) + depositsRoot := keccak256(depositsProcessed, mul(j, 32)) + } + } +} diff --git a/packages/protocol/contracts/L1/libs/LibProposing.sol b/packages/protocol/contracts/L1/libs/LibProposing.sol index 1fe78827784..060f70df549 100644 --- a/packages/protocol/contracts/L1/libs/LibProposing.sol +++ b/packages/protocol/contracts/L1/libs/LibProposing.sol @@ -6,265 +6,179 @@ pragma solidity ^0.8.18; +import {AddressResolver} from "../../common/AddressResolver.sol"; +import {LibAddress} from "../../libs/LibAddress.sol"; +import {LibEthDepositing} from "./LibEthDepositing.sol"; +import {LibTokenomics} from "./LibTokenomics.sol"; +import {LibUtils} from "./LibUtils.sol"; import { SafeCastUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; - -import {LibTxDecoder} from "../../libs/LibTxDecoder.sol"; -import {TaikoToken} from "../TaikoToken.sol"; -import {LibUtils} from "./LibUtils.sol"; import {TaikoData} from "../TaikoData.sol"; -import {AddressResolver} from "../../common/AddressResolver.sol"; library LibProposing { - using LibTxDecoder for bytes; using SafeCastUpgradeable for uint256; - using LibUtils for TaikoData.BlockMetadata; + using LibAddress for address; + using LibAddress for address payable; using LibUtils for TaikoData.State; - event BlockCommitted(uint64 commitSlot, bytes32 commitHash); event BlockProposed(uint256 indexed id, TaikoData.BlockMetadata meta); - error L1_COMMITTED(); - error L1_EXTRA_DATA(); - error L1_GAS_LIMIT(); - error L1_ID(); - error L1_INPUT_SIZE(); - error L1_METADATA_FIELD(); - error L1_NOT_COMMITTED(); - error L1_SOLO_PROPOSER(); + error L1_BLOCK_ID(); + error L1_INSUFFICIENT_ETHER(); + error L1_INSUFFICIENT_TOKEN(); + error L1_INVALID_METADATA(); + error L1_NOT_SOLO_PROPOSER(); error L1_TOO_MANY_BLOCKS(); + error L1_TX_LIST_NOT_EXIST(); + error L1_TX_LIST_HASH(); + error L1_TX_LIST_RANGE(); error L1_TX_LIST(); - function commitBlock( - TaikoData.State storage state, - TaikoData.Config memory config, - uint64 commitSlot, - bytes32 commitHash - ) public { - assert(config.commitConfirmations > 0); - - bytes32 hash = _aggregateCommitHash(block.number, commitHash); - - if (state.commits[msg.sender][commitSlot] == hash) - revert L1_COMMITTED(); - - state.commits[msg.sender][commitSlot] = hash; - - emit BlockCommitted({commitSlot: commitSlot, commitHash: commitHash}); - } - function proposeBlock( TaikoData.State storage state, TaikoData.Config memory config, AddressResolver resolver, - bytes[] calldata inputs - ) public { - // For alpha-2 testnet, the network only allows an special address - // to propose but anyone to prove. This is the first step of testing - // the tokenomics. - - // TODO(daniel): remove this special address. - address soloProposer = resolver.resolve("solo_proposer", true); - if (soloProposer != address(0) && soloProposer != msg.sender) - revert L1_SOLO_PROPOSER(); - - if (inputs.length != 2) revert L1_INPUT_SIZE(); - TaikoData.BlockMetadata memory meta = abi.decode( - inputs[0], - (TaikoData.BlockMetadata) - ); - _verifyBlockCommit({ + TaikoData.BlockMetadataInput memory input, + bytes calldata txList + ) internal returns (TaikoData.BlockMetadata memory meta) { + uint8 cacheTxListInfo = _validateBlock({ state: state, - commitConfirmations: config.commitConfirmations, - meta: meta + config: config, + resolver: resolver, + input: input, + txList: txList }); - _validateMetadata(config, meta); - - { - bytes calldata txList = inputs[1]; - // perform validation and populate some fields - if ( - txList.length < 0 || - txList.length > config.maxBytesPerTxList || - meta.txListHash != txList.hashTxList() - ) revert L1_TX_LIST(); - - if ( - state.nextBlockId >= - state.latestVerifiedId + config.maxNumBlocks - ) revert L1_TOO_MANY_BLOCKS(); - meta.id = state.nextBlockId; - meta.l1Height = block.number - 1; - meta.l1Hash = blockhash(block.number - 1); - meta.timestamp = uint64(block.timestamp); - - // After The Merge, L1 mixHash contains the prevrandao - // from the beacon chain. Since multiple Taiko blocks - // can be proposed in one Ethereum block, we need to - // add salt to this random number as L2 mixHash - meta.mixHash = keccak256( - abi.encodePacked(block.prevrandao, state.nextBlockId) - ); - } - - uint256 deposit; - if (config.enableTokenomics) { - uint256 newFeeBase; - { - uint256 fee; - (newFeeBase, fee, deposit) = getBlockFee(state, config); - TaikoToken(resolver.resolve("tko_token", false)).burn( - msg.sender, - fee + deposit - ); - } - // Update feeBase and avgBlockTime - state.feeBase = LibUtils.movingAverage({ - maValue: state.feeBase, - newValue: newFeeBase, - maf: config.feeBaseMAF + if (cacheTxListInfo != 0) { + state.txListInfo[input.txListHash] = TaikoData.TxListInfo({ + validSince: uint64(block.timestamp), + size: uint24(txList.length) }); } - _saveProposedBlock( - state, - config.maxNumBlocks, - state.nextBlockId, - TaikoData.ProposedBlock({ - metaHash: meta.hashMetadata(), - deposit: deposit, - proposer: msg.sender, - proposedAt: meta.timestamp - }) - ); + // After The Merge, L1 mixHash contains the prevrandao + // from the beacon chain. Since multiple Taiko blocks + // can be proposed in one Ethereum block, we need to + // add salt to this random number as L2 mixHash - state.avgBlockTime = LibUtils - .movingAverage({ - maValue: state.avgBlockTime, - newValue: meta.timestamp - state.lastProposedAt, - maf: config.blockTimeMAF - }) - .toUint64(); + meta.id = state.numBlocks; + meta.txListHash = input.txListHash; + meta.txListByteStart = input.txListByteStart; + meta.txListByteEnd = input.txListByteEnd; + meta.gasLimit = input.gasLimit; + meta.beneficiary = input.beneficiary; + meta.treasure = resolver.resolve(config.chainId, "treasure", false); + meta.cacheTxListInfo = cacheTxListInfo; - state.lastProposedAt = meta.timestamp; + (meta.depositsRoot, meta.depositsProcessed) = LibEthDepositing + .processDeposits(state, config, input.beneficiary); - emit BlockProposed(state.nextBlockId++, meta); - } - - function getBlockFee( - TaikoData.State storage state, - TaikoData.Config memory config - ) public view returns (uint256 newFeeBase, uint256 fee, uint256 deposit) { - (newFeeBase, ) = LibUtils.getTimeAdjustedFee({ - state: state, - config: config, - isProposal: true, - tNow: uint64(block.timestamp), - tLast: state.lastProposedAt, - tAvg: state.avgBlockTime, - tCap: config.blockTimeCap - }); - fee = LibUtils.getSlotsAdjustedFee({ - state: state, - config: config, - isProposal: true, - feeBase: newFeeBase - }); - fee = LibUtils.getBootstrapDiscountedFee(state, config, fee); - deposit = (fee * config.proposerDepositPctg) / 100; - } + unchecked { + meta.timestamp = uint64(block.timestamp); + meta.l1Height = uint64(block.number - 1); + meta.l1Hash = blockhash(block.number - 1); + meta.mixHash = bytes32(block.prevrandao * state.numBlocks); + } - function isCommitValid( - TaikoData.State storage state, - uint256 commitConfirmations, - uint256 commitSlot, - uint256 commitHeight, - bytes32 commitHash - ) public view returns (bool) { - assert(commitConfirmations > 0); - bytes32 hash = _aggregateCommitHash(commitHeight, commitHash); - return - state.commits[msg.sender][commitSlot] == hash && - block.number >= commitHeight + commitConfirmations; - } + TaikoData.Block storage blk = state.blocks[ + state.numBlocks % config.ringBufferSize + ]; + + blk.blockId = state.numBlocks; + blk.proposedAt = meta.timestamp; + blk.deposit = 0; + blk.nextForkChoiceId = 1; + blk.verifiedForkChoiceId = 0; + blk.metaHash = LibUtils.hashMetadata(meta); + blk.proposer = msg.sender; + + if (state.taikoTokenBalances[msg.sender] < state.basefee) + revert L1_INSUFFICIENT_TOKEN(); + + unchecked { + state.taikoTokenBalances[msg.sender] -= state.basefee; + state.accBlockFees += state.basefee; + state.accProposedAt += meta.timestamp; + } - function getProposedBlock( - TaikoData.State storage state, - uint256 maxNumBlocks, - uint256 id - ) internal view returns (TaikoData.ProposedBlock storage) { - if (id <= state.latestVerifiedId || id >= state.nextBlockId) { - revert L1_ID(); + emit BlockProposed(state.numBlocks, meta); + unchecked { + ++state.numBlocks; } - return state.getProposedBlock(maxNumBlocks, id); } - function _saveProposedBlock( + function getBlock( TaikoData.State storage state, - uint256 maxNumBlocks, - uint256 id, - TaikoData.ProposedBlock memory blk - ) private { - state.proposedBlocks[id % maxNumBlocks] = blk; + TaikoData.Config memory config, + uint256 blockId + ) internal view returns (TaikoData.Block storage blk) { + blk = state.blocks[blockId % config.ringBufferSize]; + if (blk.blockId != blockId) revert L1_BLOCK_ID(); } - function _verifyBlockCommit( + function _validateBlock( TaikoData.State storage state, - uint256 commitConfirmations, - TaikoData.BlockMetadata memory meta - ) private view { - if (commitConfirmations == 0) { - return; - } - bytes32 commitHash = _calculateCommitHash( - meta.beneficiary, - meta.txListHash - ); + TaikoData.Config memory config, + AddressResolver resolver, + TaikoData.BlockMetadataInput memory input, + bytes calldata txList + ) private view returns (uint8 cacheTxListInfo) { + // For alpha-2 testnet, the network only allows an special address + // to propose but anyone to prove. This is the first step of testing + // the tokenomics. + if ( + config.enableSoloProposer && + msg.sender != resolver.resolve("solo_proposer", false) + ) revert L1_NOT_SOLO_PROPOSER(); if ( - !isCommitValid({ - state: state, - commitConfirmations: commitConfirmations, - commitSlot: meta.commitSlot, - commitHeight: meta.commitHeight, - commitHash: commitHash - }) - ) revert L1_NOT_COMMITTED(); - } + input.beneficiary == address(0) || + input.gasLimit == 0 || + input.gasLimit > config.blockMaxGasLimit + ) revert L1_INVALID_METADATA(); - function _validateMetadata( - TaikoData.Config memory config, - TaikoData.BlockMetadata memory meta - ) private pure { if ( - meta.id != 0 || - meta.l1Height != 0 || - meta.l1Hash != 0 || - meta.mixHash != 0 || - meta.timestamp != 0 || - meta.beneficiary == address(0) || - meta.txListHash == 0 - ) revert L1_METADATA_FIELD(); + state.numBlocks >= + state.lastVerifiedBlockId + config.maxNumProposedBlocks + 1 + ) revert L1_TOO_MANY_BLOCKS(); - if (meta.gasLimit > config.blockMaxGasLimit) revert L1_GAS_LIMIT(); - if (meta.extraData.length > 32) { - revert L1_EXTRA_DATA(); + uint64 timeNow = uint64(block.timestamp); + // hanlding txList + { + uint24 size = uint24(txList.length); + if (size > config.maxBytesPerTxList) revert L1_TX_LIST(); + + if (input.txListByteStart > input.txListByteEnd) + revert L1_TX_LIST_RANGE(); + + if (config.txListCacheExpiry == 0) { + // caching is disabled + if (input.txListByteStart != 0 || input.txListByteEnd != size) + revert L1_TX_LIST_RANGE(); + } else { + // caching is enabled + if (size == 0) { + // This blob shall have been submitted earlier + TaikoData.TxListInfo memory info = state.txListInfo[ + input.txListHash + ]; + + if (input.txListByteEnd > info.size) + revert L1_TX_LIST_RANGE(); + + if ( + info.size == 0 || + info.validSince + config.txListCacheExpiry < timeNow + ) revert L1_TX_LIST_NOT_EXIST(); + } else { + if (input.txListByteEnd > size) revert L1_TX_LIST_RANGE(); + if (input.txListHash != keccak256(txList)) + revert L1_TX_LIST_HASH(); + + cacheTxListInfo = input.cacheTxListInfo; + } + } } } - - function _calculateCommitHash( - address beneficiary, - bytes32 txListHash - ) private pure returns (bytes32) { - return keccak256(abi.encodePacked(beneficiary, txListHash)); - } - - function _aggregateCommitHash( - uint256 commitHeight, - bytes32 commitHash - ) private pure returns (bytes32) { - return keccak256(abi.encodePacked(commitHash, commitHeight)); - } } diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index 99417aa308e..fc5115ddd0d 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -6,372 +6,204 @@ pragma solidity ^0.8.18; -import {IProofVerifier} from "../ProofVerifier.sol"; import {AddressResolver} from "../../common/AddressResolver.sol"; -import {LibAnchorSignature} from "../../libs/LibAnchorSignature.sol"; -import {LibBlockHeader, BlockHeader} from "../../libs/LibBlockHeader.sol"; -import {LibReceiptDecoder} from "../../libs/LibReceiptDecoder.sol"; -import {LibTxDecoder} from "../../libs/LibTxDecoder.sol"; -import {LibTxUtils} from "../../libs/LibTxUtils.sol"; -import {LibBytesUtils} from "../../thirdparty/LibBytesUtils.sol"; -import {LibRLPWriter} from "../../thirdparty/LibRLPWriter.sol"; +import {LibTokenomics} from "./LibTokenomics.sol"; import {LibUtils} from "./LibUtils.sol"; import {TaikoData} from "../../L1/TaikoData.sol"; library LibProving { - using LibBlockHeader for BlockHeader; - using LibUtils for TaikoData.BlockMetadata; using LibUtils for TaikoData.State; - bool private constant FLAG_VALIDATE_ANCHOR_TX_SIGNATURE = true; - bool private constant FLAG_CHECK_METADATA = true; - bool private constant FLAG_VALIDATE_HEADER_FOR_METADATA = true; - - bytes32 public constant INVALIDATE_BLOCK_LOG_TOPIC = - keccak256("BlockInvalidated(bytes32)"); - - bytes4 public constant ANCHOR_TX_SELECTOR = - bytes4(keccak256("anchor(uint256,bytes32)")); - event BlockProven( uint256 indexed id, bytes32 parentHash, bytes32 blockHash, - address prover, - uint64 provenAt + bytes32 signalRoot, + address prover ); error L1_ALREADY_PROVEN(); - error L1_ANCHOR_CALLDATA(); - error L1_ANCHOR_DEST(); - error L1_ANCHOR_GAS_LIMIT(); - error L1_ANCHOR_RECEIPT_ADDR(); - error L1_ANCHOR_RECEIPT_DATA(); - error L1_ANCHOR_RECEIPT_LOGS(); - error L1_ANCHOR_RECEIPT_PROOF(); - error L1_ANCHOR_RECEIPT_STATUS(); - error L1_ANCHOR_RECEIPT_TOPICS(); - error L1_ANCHOR_SIG_R(); - error L1_ANCHOR_SIG_S(); - error L1_ANCHOR_TX_PROOF(); - error L1_ANCHOR_TYPE(); - error L1_CANNOT_BE_FIRST_PROVER(); - error L1_CONFLICT_PROOF(); - error L1_ID(); - error L1_INPUT_SIZE(); - error L1_META_MISMATCH(); + error L1_BLOCK_ID(); + error L1_EVIDENCE_MISMATCH(bytes32 expected, bytes32 actual); + error L1_FORK_CHOICE_NOT_FOUND(); + error L1_INVALID_PROOF(); + error L1_INVALID_EVIDENCE(); + error L1_ORACLE_DISABLED(); error L1_NOT_ORACLE_PROVER(); - error L1_PROOF_LENGTH(); - error L1_PROVER(); - error L1_ZKP(); function proveBlock( TaikoData.State storage state, TaikoData.Config memory config, AddressResolver resolver, uint256 blockId, - bytes[] calldata inputs - ) public { - // Check and decode inputs - if (inputs.length != 3) revert L1_INPUT_SIZE(); - TaikoData.Evidence memory evidence = abi.decode( - inputs[0], - (TaikoData.Evidence) - ); - - // Check evidence - if (evidence.meta.id != blockId) revert L1_ID(); + TaikoData.BlockEvidence memory evidence + ) internal { + if ( + evidence.parentHash == 0 || + evidence.blockHash == 0 || + evidence.blockHash == evidence.parentHash || + evidence.signalRoot == 0 || + evidence.gasUsed == 0 + ) revert L1_INVALID_EVIDENCE(); + + if (blockId <= state.lastVerifiedBlockId || blockId >= state.numBlocks) + revert L1_BLOCK_ID(); + + TaikoData.Block storage blk = state.blocks[ + blockId % config.ringBufferSize + ]; - if (evidence.proofs.length != 3) revert L1_PROOF_LENGTH(); + // Check the metadata hash matches the proposed block's. This is + // necessary to handle chain reorgs. + if (blk.metaHash != evidence.metaHash) + revert L1_EVIDENCE_MISMATCH(blk.metaHash, evidence.metaHash); - IProofVerifier proofVerifier = IProofVerifier( - resolver.resolve("proof_verifier", false) - ); + bool isOracleProof = evidence.prover == address(0); - if (config.enableAnchorValidation) { - _proveAnchorForValidBlock({ - config: config, - resolver: resolver, - proofVerifier: proofVerifier, - evidence: evidence, - anchorTx: inputs[1], - anchorReceipt: inputs[2] - }); + if (isOracleProof) { + address oracleProver = resolver.resolve("oracle_prover", true); + if (oracleProver == address(0)) revert L1_ORACLE_DISABLED(); + if (msg.sender != oracleProver) { + if (evidence.proof.length == 64) { + uint8 v = uint8(evidence.verifierId); + bytes32 r; + bytes32 s; + bytes memory data = evidence.proof; + assembly { + r := mload(add(data, 32)) + s := mload(add(data, 64)) + } + + // clear the proof before hasing evidence + evidence.verifierId = 0; + evidence.proof = new bytes(0); + + if ( + oracleProver != + ecrecover(keccak256(abi.encode(evidence)), v, r, s) + ) revert L1_NOT_ORACLE_PROVER(); + } + } else { + revert L1_NOT_ORACLE_PROVER(); + } } - // ZK-prove block and mark block proven to be valid. - _proveBlock({ - state: state, - config: config, - resolver: resolver, - proofVerifier: proofVerifier, - evidence: evidence, - target: evidence.meta, - blockHashOverride: 0 - }); - } + TaikoData.ForkChoice storage fc; - function proveBlockInvalid( - TaikoData.State storage state, - TaikoData.Config memory config, - AddressResolver resolver, - uint256 blockId, - bytes[] calldata inputs - ) public { - // Check and decode inputs - if (inputs.length != 3) revert L1_INPUT_SIZE(); - TaikoData.Evidence memory evidence = abi.decode( - inputs[0], - (TaikoData.Evidence) + uint256 fcId = LibUtils.getForkChoiceId( + state, + blk, + evidence.parentHash, + evidence.parentGasUsed ); - TaikoData.BlockMetadata memory target = abi.decode( - inputs[1], - (TaikoData.BlockMetadata) - ); - - // Check evidence - if (evidence.meta.id != blockId) revert L1_ID(); - if (evidence.proofs.length != 2) revert L1_PROOF_LENGTH(); - - IProofVerifier proofVerifier = IProofVerifier( - resolver.resolve("proof_verifier", false) - ); - - if (config.enableAnchorValidation) { - _proveAnchorForInvalidBlock({ - config: config, - resolver: resolver, - target: target, - proofVerifier: proofVerifier, - evidence: evidence, - invalidateBlockReceipt: inputs[2] - }); - } - - // ZK-prove block and mark block proven as invalid. - _proveBlock({ - state: state, - config: config, - resolver: resolver, - proofVerifier: proofVerifier, - evidence: evidence, - target: target, - blockHashOverride: LibUtils.BLOCK_DEADEND_HASH - }); - } - - function _proveBlock( - TaikoData.State storage state, - TaikoData.Config memory config, - AddressResolver resolver, - IProofVerifier proofVerifier, - TaikoData.Evidence memory evidence, - TaikoData.BlockMetadata memory target, - bytes32 blockHashOverride - ) private { - if (evidence.meta.id != target.id) revert L1_ID(); - if (evidence.prover == address(0)) revert L1_PROVER(); - - if (FLAG_CHECK_METADATA) { - if ( - target.id <= state.latestVerifiedId || - target.id >= state.nextBlockId - ) revert L1_ID(); - if ( - state - .getProposedBlock(config.maxNumBlocks, target.id) - .metaHash != target.hashMetadata() - ) revert L1_META_MISMATCH(); - } - - if (FLAG_VALIDATE_HEADER_FOR_METADATA) { - if ( - evidence.header.parentHash == 0 || - evidence.header.beneficiary != evidence.meta.beneficiary || - evidence.header.difficulty != 0 || - evidence.header.gasLimit != - evidence.meta.gasLimit + config.anchorTxGasLimit || - evidence.header.gasUsed == 0 || - evidence.header.timestamp != evidence.meta.timestamp || - evidence.header.extraData.length != - evidence.meta.extraData.length || - keccak256(evidence.header.extraData) != - keccak256(evidence.meta.extraData) || - evidence.header.mixHash != evidence.meta.mixHash - ) revert L1_META_MISMATCH(); - } - // For alpha-2 testnet, the network allows any address to submit ZKP, - // but a special prover can skip ZKP verification if the ZKP is empty. + if (fcId == 0) { + fcId = blk.nextForkChoiceId; - bool oracleProving; - - TaikoData.ForkChoice storage fc = state.forkChoices[target.id][ - evidence.header.parentHash - ]; + unchecked { + ++blk.nextForkChoiceId; + } - bytes32 blockHash = evidence.header.hashBlockHeader(); - bytes32 _blockHash = blockHashOverride == 0 - ? blockHash - : blockHashOverride; + fc = blk.forkChoices[fcId]; - if (fc.blockHash == 0) { - address oracleProver = resolver.resolve("oracle_prover", true); - if (msg.sender == oracleProver) { - oracleProving = true; + if (fcId == 1) { + // We only write the key when fcId is 1. + fc.key = LibUtils.keyForForkChoice( + evidence.parentHash, + evidence.parentGasUsed + ); } else { - if (oracleProver != address(0)) revert L1_NOT_ORACLE_PROVER(); - fc.prover = evidence.prover; - fc.provenAt = uint64(block.timestamp); + state.forkChoiceIds[blk.blockId][evidence.parentHash][ + evidence.parentGasUsed + ] = fcId; } - fc.blockHash = _blockHash; + } else if (isOracleProof) { + fc = blk.forkChoices[fcId]; } else { - if (fc.blockHash != _blockHash) revert L1_CONFLICT_PROOF(); - if (fc.prover != address(0)) revert L1_ALREADY_PROVEN(); - - fc.prover = evidence.prover; - fc.provenAt = uint64(block.timestamp); + revert L1_ALREADY_PROVEN(); } - if (oracleProving) { - // do not verify zkp - } else { - bool verified = proofVerifier.verifyZKP({ - verifierId: string( - abi.encodePacked("plonk_verifier_", evidence.circuitId) - ), - zkproof: evidence.proofs[0], - instance: _getInstance(evidence) - }); - if (!verified) revert L1_ZKP(); - } + fc.blockHash = evidence.blockHash; + fc.signalRoot = evidence.signalRoot; + fc.gasUsed = evidence.gasUsed; + fc.provenAt = uint64(block.timestamp); + fc.prover = evidence.prover; + + if (!isOracleProof) { + bytes32 instance; + + // Set state.staticRefs + if (state.staticRefs == 0) { + address[3] memory addresses; + addresses[0] = resolver.resolve("signal_service", false); + addresses[1] = resolver.resolve( + config.chainId, + "signal_service", + false + ); + addresses[2] = resolver.resolve(config.chainId, "taiko", false); + bytes32 staticRefs; + assembly { + staticRefs := keccak256(addresses, mul(32, 3)) + } + state.staticRefs = staticRefs; + } - emit BlockProven({ - id: target.id, - parentHash: evidence.header.parentHash, - blockHash: _blockHash, - prover: fc.prover, - provenAt: fc.provenAt - }); - } + uint256[7] memory inputs; + inputs[0] = uint256(state.staticRefs); + inputs[1] = uint256(blk.metaHash); + inputs[2] = uint256(evidence.parentHash); + inputs[3] = uint256(evidence.blockHash); + inputs[4] = uint256(evidence.signalRoot); + inputs[5] = uint256(evidence.graffiti); + inputs[6] = + (uint256(uint160(evidence.prover)) << 96) | + (uint256(evidence.parentGasUsed) << 64) | + (uint256(evidence.gasUsed) << 32); + + assembly { + instance := keccak256(inputs, mul(32, 7)) + } - function _proveAnchorForValidBlock( - TaikoData.Config memory config, - AddressResolver resolver, - IProofVerifier proofVerifier, - TaikoData.Evidence memory evidence, - bytes calldata anchorTx, - bytes calldata anchorReceipt - ) private view { - // Check anchor tx is valid - LibTxDecoder.Tx memory _tx = LibTxDecoder.decodeTx( - config.chainId, - anchorTx - ); - if (_tx.txType != 0) revert L1_ANCHOR_TYPE(); - if (_tx.destination != resolver.resolve(config.chainId, "taiko", false)) - revert L1_ANCHOR_DEST(); - if (_tx.gasLimit != config.anchorTxGasLimit) - revert L1_ANCHOR_GAS_LIMIT(); + (bool verified, bytes memory ret) = resolver + .resolve(LibUtils.getVerifierName(evidence.verifierId), false) + .staticcall(bytes.concat(instance, evidence.proof)); - if (FLAG_VALIDATE_ANCHOR_TX_SIGNATURE) { - // Check anchor tx's signature is valid and deterministic if ( - _tx.r != LibAnchorSignature.GX && - _tx.r != LibAnchorSignature.GX2 - ) revert L1_ANCHOR_SIG_R(); - - if (_tx.r == LibAnchorSignature.GX2) { - (, , uint256 s) = LibAnchorSignature.signTransaction( - LibTxUtils.hashUnsignedTx(config.chainId, _tx), - 1 - ); - if (s != 0) revert L1_ANCHOR_SIG_S(); - } + !verified || + ret.length != 32 || + bytes32(ret) != keccak256("taiko") + ) revert L1_INVALID_PROOF(); } - // Check anchor tx's calldata is valid - if ( - !LibBytesUtils.equal( - _tx.data, - bytes.concat( - ANCHOR_TX_SELECTOR, - bytes32(evidence.meta.l1Height), - evidence.meta.l1Hash - ) - ) - ) revert L1_ANCHOR_CALLDATA(); - - // Check anchor tx is the 1st tx in the block - if ( - !proofVerifier.verifyMKP({ - key: LibRLPWriter.writeUint(0), - value: anchorTx, - proof: evidence.proofs[1], - root: evidence.header.transactionsRoot - }) - ) revert L1_ANCHOR_TX_PROOF(); - // Check anchor tx does not throw - LibReceiptDecoder.Receipt memory receipt = LibReceiptDecoder - .decodeReceipt(anchorReceipt); - if (receipt.status != 1) revert L1_ANCHOR_RECEIPT_STATUS(); - if ( - !proofVerifier.verifyMKP({ - key: LibRLPWriter.writeUint(0), - value: anchorReceipt, - proof: evidence.proofs[2], - root: evidence.header.receiptsRoot - }) - ) revert L1_ANCHOR_RECEIPT_PROOF(); + emit BlockProven({ + id: blk.blockId, + parentHash: evidence.parentHash, + blockHash: evidence.blockHash, + signalRoot: evidence.signalRoot, + prover: evidence.prover + }); } - function _proveAnchorForInvalidBlock( + function getForkChoice( + TaikoData.State storage state, TaikoData.Config memory config, - AddressResolver resolver, - TaikoData.BlockMetadata memory target, - IProofVerifier proofVerifier, - TaikoData.Evidence memory evidence, - bytes calldata invalidateBlockReceipt - ) private view { - if ( - !proofVerifier.verifyMKP({ - key: LibRLPWriter.writeUint(0), - value: invalidateBlockReceipt, - proof: evidence.proofs[1], - root: evidence.header.receiptsRoot - }) - ) revert L1_ANCHOR_RECEIPT_PROOF(); - // Check the 1st receipt is for an InvalidateBlock tx with - // a BlockInvalidated event - LibReceiptDecoder.Receipt memory receipt = LibReceiptDecoder - .decodeReceipt(invalidateBlockReceipt); - if (receipt.status != 1) revert L1_ANCHOR_RECEIPT_STATUS(); - if (receipt.logs.length != 1) revert L1_ANCHOR_RECEIPT_LOGS(); - LibReceiptDecoder.Log memory log = receipt.logs[0]; - if ( - log.contractAddress != - resolver.resolve(config.chainId, "taiko", false) - ) revert L1_ANCHOR_RECEIPT_ADDR(); - if (log.data.length != 0) revert L1_ANCHOR_RECEIPT_DATA(); - if ( - log.topics.length != 2 || - log.topics[0] != INVALIDATE_BLOCK_LOG_TOPIC || - log.topics[1] != target.txListHash - ) revert L1_ANCHOR_RECEIPT_TOPICS(); - } + uint256 blockId, + bytes32 parentHash, + uint32 parentGasUsed + ) internal view returns (TaikoData.ForkChoice storage fc) { + TaikoData.Block storage blk = state.blocks[ + blockId % config.ringBufferSize + ]; + if (blk.blockId != blockId) revert L1_BLOCK_ID(); - function _getInstance( - TaikoData.Evidence memory evidence - ) internal pure returns (bytes32) { - bytes[] memory list = LibBlockHeader.getBlockHeaderRLPItemsList( - evidence.header, - 2 + uint256 fcId = LibUtils.getForkChoiceId( + state, + blk, + parentHash, + parentGasUsed ); - - uint256 len = list.length; - list[len - 2] = LibRLPWriter.writeAddress(evidence.prover); - list[len - 1] = LibRLPWriter.writeHash(evidence.meta.txListHash); - - return keccak256(LibRLPWriter.writeList(list)); + if (fcId == 0) revert L1_FORK_CHOICE_NOT_FOUND(); + fc = blk.forkChoices[fcId]; } } diff --git a/packages/protocol/contracts/L1/libs/LibTokenomics.sol b/packages/protocol/contracts/L1/libs/LibTokenomics.sol new file mode 100644 index 00000000000..b1c6c3a495a --- /dev/null +++ b/packages/protocol/contracts/L1/libs/LibTokenomics.sol @@ -0,0 +1,154 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +import {AddressResolver} from "../../common/AddressResolver.sol"; +import {LibMath} from "../../libs/LibMath.sol"; +import { + SafeCastUpgradeable +} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; +import {TaikoData} from "../TaikoData.sol"; +import {TaikoToken} from "../TaikoToken.sol"; +import { + LibFixedPointMath as Math +} from "../../thirdparty/LibFixedPointMath.sol"; + +library LibTokenomics { + using LibMath for uint256; + + error L1_INSUFFICIENT_TOKEN(); + error L1_INVALID_PARAM(); + + function withdrawTaikoToken( + TaikoData.State storage state, + AddressResolver resolver, + uint256 amount + ) internal { + uint256 balance = state.taikoTokenBalances[msg.sender]; + if (balance < amount) revert L1_INSUFFICIENT_TOKEN(); + + unchecked { + state.taikoTokenBalances[msg.sender] -= amount; + } + + TaikoToken(resolver.resolve("taiko_token", false)).mint( + msg.sender, + amount + ); + } + + function depositTaikoToken( + TaikoData.State storage state, + AddressResolver resolver, + uint256 amount + ) internal { + if (amount > 0) { + TaikoToken(resolver.resolve("taiko_token", false)).burn( + msg.sender, + amount + ); + state.taikoTokenBalances[msg.sender] += amount; + } + } + + /** + * Update the baseFee for proofs + * + * @param state The actual state data + * @param proofTime The actual proof time + * @return reward Amount of reward given - if blocked is proved and verified + */ + function getProofReward( + TaikoData.State storage state, + uint64 proofTime + ) internal view returns (uint64) { + uint64 numBlocksUnverified = state.numBlocks - + state.lastVerifiedBlockId - + 1; + + if (numBlocksUnverified == 0) { + return 0; + } else { + uint64 totalNumProvingSeconds = uint64( + uint256(numBlocksUnverified) * + block.timestamp - + state.accProposedAt + ); + // If block timestamp is equal to state.accProposedAt (not really, but theoretically possible) + // there will be division by 0 error + if (totalNumProvingSeconds == 0) { + totalNumProvingSeconds = 1; + } + + return + uint64( + (uint256(state.accBlockFees) * proofTime) / + totalNumProvingSeconds + ); + } + } + + /** + * Calculate the newProofTimeIssued and newBasefee + * + * @param state The actual state data + * @param config Config data + * @param proofTime The actual proof time + * @return newProofTimeIssued Accumulated proof time + * @return newBasefee New basefee + */ + function getNewBaseFeeandProofTimeIssued( + TaikoData.State storage state, + TaikoData.Config memory config, + uint64 proofTime + ) internal view returns (uint64 newProofTimeIssued, uint64 newBasefee) { + newProofTimeIssued = (state.proofTimeIssued > config.proofTimeTarget) + ? state.proofTimeIssued - config.proofTimeTarget + : uint64(0); + newProofTimeIssued += proofTime; + + uint256 x = (newProofTimeIssued * Math.SCALING_FACTOR_1E18) / + (config.proofTimeTarget * config.adjustmentQuotient); + + if (Math.MAX_EXP_INPUT <= x) { + x = Math.MAX_EXP_INPUT; + } + + uint256 result = (uint256(Math.exp(int256(x))) / + Math.SCALING_FACTOR_1E18) / + (config.proofTimeTarget * config.adjustmentQuotient); + + newBasefee = uint64(result.min(type(uint64).max)); + } + + /** + * Calculating the exponential smoothened with (target/quotient) + * + * @param value Result of cumulativeProofTime + * @param target Target proof time + * @param quotient Quotient + * @return uint64 Calculated new basefee + */ + function _calcBasefee( + uint256 value, + uint256 target, + uint256 quotient + ) private pure returns (uint64) { + uint256 x = (value * Math.SCALING_FACTOR_1E18) / (target * quotient); + + if (Math.MAX_EXP_INPUT <= x) { + x = Math.MAX_EXP_INPUT; + } + + uint256 result = (uint256(Math.exp(int256(x))) / + Math.SCALING_FACTOR_1E18) / (target * quotient); + + if (result > type(uint64).max) return type(uint64).max; + + return uint64(result); + } +} diff --git a/packages/protocol/contracts/L1/libs/LibUtils.sol b/packages/protocol/contracts/L1/libs/LibUtils.sol index 1694a299a96..08499ae1ec5 100644 --- a/packages/protocol/contracts/L1/libs/LibUtils.sol +++ b/packages/protocol/contracts/L1/libs/LibUtils.sol @@ -6,141 +6,66 @@ pragma solidity ^0.8.18; +import {LibMath} from "../../libs/LibMath.sol"; +import {LibTokenomics} from "./LibTokenomics.sol"; import { SafeCastUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; - -import {LibMath} from "../../libs/LibMath.sol"; import {TaikoData} from "../TaikoData.sol"; library LibUtils { using LibMath for uint256; - bytes32 public constant BLOCK_DEADEND_HASH = bytes32(uint256(1)); - - error L1_BLOCK_NUMBER(); + error L1_BLOCK_ID(); - struct StateVariables { - uint256 feeBase; - uint64 genesisHeight; - uint64 genesisTimestamp; - uint64 nextBlockId; - uint64 lastProposedAt; - uint64 avgBlockTime; - uint64 latestVerifiedHeight; - uint64 latestVerifiedId; - uint64 avgProofTime; - } - - function getProposedBlock( + function getL2ChainData( TaikoData.State storage state, - uint256 maxNumBlocks, - uint256 id - ) internal view returns (TaikoData.ProposedBlock storage) { - return state.proposedBlocks[id % maxNumBlocks]; + TaikoData.Config memory config, + uint256 blockId + ) internal view returns (bool found, TaikoData.Block storage blk) { + uint256 id = blockId == 0 ? state.lastVerifiedBlockId : blockId; + blk = state.blocks[id % config.ringBufferSize]; + found = (blk.blockId == id && blk.verifiedForkChoiceId != 0); } - function getL2BlockHash( + function getForkChoiceId( TaikoData.State storage state, - uint256 number, - uint256 blockHashHistory - ) internal view returns (bytes32) { + TaikoData.Block storage blk, + bytes32 parentHash, + uint32 parentGasUsed + ) internal view returns (uint256 fcId) { if ( - number + blockHashHistory <= state.latestVerifiedHeight || - number > state.latestVerifiedHeight - ) revert L1_BLOCK_NUMBER(); + blk.forkChoices[1].key == + keyForForkChoice(parentHash, parentGasUsed) + ) { + fcId = 1; + } else { + fcId = state.forkChoiceIds[blk.blockId][parentHash][parentGasUsed]; + } - return state.l2Hashes[number % blockHashHistory]; + if (fcId >= blk.nextForkChoiceId) { + fcId = 0; + } } function getStateVariables( TaikoData.State storage state - ) internal view returns (StateVariables memory) { + ) internal view returns (TaikoData.StateVariables memory) { return - StateVariables({ - feeBase: state.feeBase, + TaikoData.StateVariables({ + basefee: state.basefee, + accBlockFees: state.accBlockFees, genesisHeight: state.genesisHeight, genesisTimestamp: state.genesisTimestamp, - nextBlockId: state.nextBlockId, - lastProposedAt: state.lastProposedAt, - avgBlockTime: state.avgBlockTime, - latestVerifiedHeight: state.latestVerifiedHeight, - latestVerifiedId: state.latestVerifiedId, - avgProofTime: state.avgProofTime + numBlocks: state.numBlocks, + proofTimeIssued: state.proofTimeIssued, + lastVerifiedBlockId: state.lastVerifiedBlockId, + accProposedAt: state.accProposedAt, + nextEthDepositToProcess: state.nextEthDepositToProcess, + numEthDeposits: uint64(state.ethDeposits.length) }); } - // Implement "Incentive Multipliers", see the whitepaper. - function getTimeAdjustedFee( - TaikoData.State storage state, - TaikoData.Config memory config, - bool isProposal, - uint64 tNow, - uint64 tLast, - uint64 tAvg, - uint64 tCap - ) internal view returns (uint256 newFeeBase, uint256 tRelBp) { - if ( - tCap == 0 || - tAvg == 0 || - config.feeMaxPeriodPctg <= config.feeGracePeriodPctg || - config.rewardMultiplierPctg <= 100 - ) { - newFeeBase = state.feeBase; - // tRelBp = 0; - } else { - uint256 _tAvg = uint256(tAvg).min(tCap); - uint256 grace = (config.feeGracePeriodPctg * _tAvg) / 100; - uint256 max = (config.feeMaxPeriodPctg * _tAvg) / 100; - uint256 t = uint256(tNow - tLast).max(grace).min(max); - tRelBp = ((t - grace) * 10000) / (max - grace); // [0 - 10000] - uint256 alpha = 10000 + - ((config.rewardMultiplierPctg - 100) * tRelBp) / - 100; - if (isProposal) { - newFeeBase = (state.feeBase * 10000) / alpha; // fee - } else { - newFeeBase = (state.feeBase * alpha) / 10000; // reward - } - } - } - - // Implement "Slot-availability Multipliers", see the whitepaper. - function getSlotsAdjustedFee( - TaikoData.State storage state, - TaikoData.Config memory config, - bool isProposal, - uint256 feeBase - ) internal view returns (uint256) { - // m is the `n'` in the whitepaper - uint256 m = 1000 * - (config.maxNumBlocks - 1) + - config.slotSmoothingFactor; - // n is the number of unverified blocks - uint256 n = 1000 * (state.nextBlockId - state.latestVerifiedId - 1); - // k is `m − n + 1` or `m − n - 1`in the whitepaper - uint256 k = isProposal ? m - n - 1000 : m - n + 1000; - return (feeBase * (m - 1000) * m) / (m - n) / k; - } - - // Implement "Bootstrap Discount Multipliers", see the whitepaper. - function getBootstrapDiscountedFee( - TaikoData.State storage state, - TaikoData.Config memory config, - uint256 feeBase - ) internal view returns (uint256) { - uint256 halves = uint256(block.timestamp - state.genesisTimestamp) / - config.bootstrapDiscountHalvingPeriod; - uint256 gamma = 1024 - (1024 >> halves); - return (feeBase * gamma) / 1024; - } - - function hashMetadata( - TaikoData.BlockMetadata memory meta - ) internal pure returns (bytes32) { - return keccak256(abi.encode(meta)); - } - function movingAverage( uint256 maValue, uint256 newValue, @@ -152,4 +77,68 @@ library LibUtils { uint256 _ma = (maValue * (maf - 1) + newValue) / maf; return _ma > 0 ? _ma : maValue; } + + struct BlockMetadata { + uint64 id; + uint64 timestamp; + uint64 l1Height; + uint64 basefee; + bytes32 l1Hash; + bytes32 mixHash; + bytes32 txListHash; + uint24 txListByteStart; + uint24 txListByteEnd; + uint32 gasLimit; + address beneficiary; + address treasure; + } + + function hashMetadata( + TaikoData.BlockMetadata memory meta + ) internal pure returns (bytes32 hash) { + uint256[7] memory inputs; + + inputs[0] = + (uint256(meta.id) << 192) | + (uint256(meta.timestamp) << 128) | + (uint256(meta.l1Height) << 64); + + inputs[1] = uint256(meta.l1Hash); + inputs[2] = uint256(meta.mixHash); + inputs[3] = uint256(meta.depositsRoot); + inputs[4] = uint256(meta.txListHash); + + inputs[5] = + (uint256(meta.txListByteStart) << 232) | + (uint256(meta.txListByteEnd) << 208) | + (uint256(meta.gasLimit) << 176) | + (uint256(uint160(meta.beneficiary)) << 16) | + (uint256(meta.cacheTxListInfo) << 8); + + inputs[6] = (uint256(uint160(meta.treasure)) << 96); + + // Ignoring `meta.depositsProcessed` as `meta.depositsRoot` + // is a hash of it. + + assembly { + hash := keccak256(inputs, mul(7, 32)) + } + } + + function keyForForkChoice( + bytes32 parentHash, + uint32 parentGasUsed + ) internal pure returns (bytes32 key) { + assembly { + let ptr := mload(0x40) + mstore(ptr, parentGasUsed) + mstore(add(ptr, 32), parentHash) + key := keccak256(add(ptr, 28), 36) + mstore(0x40, add(ptr, 64)) + } + } + + function getVerifierName(uint16 id) public pure returns (string memory) { + return string(bytes.concat(bytes("verifier_"), bytes2(id))); + } } diff --git a/packages/protocol/contracts/L1/libs/LibVerifying.sol b/packages/protocol/contracts/L1/libs/LibVerifying.sol index a39fef8cddc..0fe877d8eee 100644 --- a/packages/protocol/contracts/L1/libs/LibVerifying.sol +++ b/packages/protocol/contracts/L1/libs/LibVerifying.sol @@ -6,238 +6,184 @@ pragma solidity ^0.8.18; +import {AddressResolver} from "../../common/AddressResolver.sol"; +import {ISignalService} from "../../signal/ISignalService.sol"; +import {LibTokenomics} from "./LibTokenomics.sol"; +import {LibUtils} from "./LibUtils.sol"; import { SafeCastUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; - -import {AddressResolver} from "../../common/AddressResolver.sol"; -import {TaikoToken} from "../TaikoToken.sol"; -import {LibUtils} from "./LibUtils.sol"; import {TaikoData} from "../../L1/TaikoData.sol"; -/** - * LibVerifying. - */ library LibVerifying { using SafeCastUpgradeable for uint256; using LibUtils for TaikoData.State; - event BlockVerified(uint256 indexed id, bytes32 blockHash); - event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash); - - error L1_0_FEE_BASE(); error L1_INVALID_CONFIG(); - error L1_INVALID_PARAM(); + error L1_INVALID_L21559_PARAMS(); + + event BlockVerified(uint256 indexed id, bytes32 blockHash); + event XchainSynced( + uint256 indexed srcHeight, + bytes32 blockHash, + bytes32 signalRoot + ); function init( TaikoData.State storage state, TaikoData.Config memory config, bytes32 genesisBlockHash, - uint feeBase + uint64 initBasefee, + uint64 initProofTimeIssued ) internal { - if ( - config.chainId <= 1 || - config.maxNumBlocks <= 1 || - config.blockHashHistory == 0 || - config.blockMaxGasLimit == 0 || - config.maxTransactionsPerBlock == 0 || - config.maxBytesPerTxList == 0 || - config.minTxGasLimit == 0 || - config.slotSmoothingFactor == 0 || - config.rewardBurnBips >= 10000 || - config.feeBaseMAF == 0 || - config.blockTimeMAF == 0 || - config.proofTimeMAF == 0 || - config.blockTimeCap == 0 || - config.proofTimeCap == 0 || - config.feeGracePeriodPctg > config.feeMaxPeriodPctg || - config.rewardMultiplierPctg < 100 - ) revert L1_INVALID_CONFIG(); - - if (feeBase == 0) revert L1_0_FEE_BASE(); + _checkConfig(config); + uint64 timeNow = uint64(block.timestamp); state.genesisHeight = uint64(block.number); - state.genesisTimestamp = uint64(block.timestamp); - state.feeBase = feeBase; - state.nextBlockId = 1; - state.lastProposedAt = uint64(block.timestamp); - state.l2Hashes[0] = genesisBlockHash; + state.genesisTimestamp = timeNow; + + state.basefee = initBasefee; + state.proofTimeIssued = initProofTimeIssued; + state.numBlocks = 1; + + TaikoData.Block storage blk = state.blocks[0]; + blk.proposedAt = timeNow; + blk.nextForkChoiceId = 2; + blk.verifiedForkChoiceId = 1; + + TaikoData.ForkChoice storage fc = state.blocks[0].forkChoices[1]; + fc.blockHash = genesisBlockHash; + fc.provenAt = timeNow; emit BlockVerified(0, genesisBlockHash); - emit HeaderSynced(0, genesisBlockHash); } function verifyBlocks( TaikoData.State storage state, TaikoData.Config memory config, + AddressResolver resolver, uint256 maxBlocks - ) public { - uint64 latestL2Height = state.latestVerifiedHeight; - bytes32 latestL2Hash = state.l2Hashes[ - latestL2Height % config.blockHashHistory - ]; + ) internal { + uint256 i = state.lastVerifiedBlockId; + TaikoData.Block storage blk = state.blocks[i % config.ringBufferSize]; + + uint256 fcId = blk.verifiedForkChoiceId; + assert(fcId > 0); + bytes32 blockHash = blk.forkChoices[fcId].blockHash; + uint32 gasUsed = blk.forkChoices[fcId].gasUsed; + bytes32 signalRoot; + uint64 processed; + unchecked { + ++i; + } - for ( - uint256 i = state.latestVerifiedId + 1; - i < state.nextBlockId && processed < maxBlocks; - - ) { - TaikoData.ForkChoice storage fc = state.forkChoices[i][ - latestL2Hash - ]; - TaikoData.ProposedBlock storage target = state.getProposedBlock( - config.maxNumBlocks, - i - ); - - if (fc.prover == address(0)) { - break; - } else { - (latestL2Height, latestL2Hash) = _verifyBlock({ - state: state, - config: config, - fc: fc, - target: target, - latestL2Height: latestL2Height, - latestL2Hash: latestL2Hash - }); - processed += 1; - emit BlockVerified(i, fc.blockHash); - - // clean up the fork choice - fc.blockHash = 0; - fc.prover = address(0); - fc.provenAt = 0; - } + while (i < state.numBlocks && processed < maxBlocks) { + blk = state.blocks[i % config.ringBufferSize]; + assert(blk.blockId == i); + + fcId = LibUtils.getForkChoiceId(state, blk, blockHash, gasUsed); + + if (fcId == 0) break; + + TaikoData.ForkChoice storage fc = blk.forkChoices[fcId]; + + if ( + fc.prover == address(0) || // oracle proof + block.timestamp < fc.provenAt + config.proofCooldownPeriod // too young + ) break; + + blockHash = fc.blockHash; + gasUsed = fc.gasUsed; + signalRoot = fc.signalRoot; + + _markBlockVerified({ + state: state, + config: config, + blk: blk, + fcId: uint24(fcId), + fc: fc + }); unchecked { ++i; + ++processed; } } if (processed > 0) { - state.latestVerifiedId += processed; - - if (latestL2Height > state.latestVerifiedHeight) { - state.latestVerifiedHeight = latestL2Height; - - // Note: Not all L2 hashes are stored on L1, only the last - // verified one in a batch. This is sufficient because the last - // verified hash is the only one needed checking the existence - // of a cross-chain message with a merkle proof. - state.l2Hashes[ - latestL2Height % config.blockHashHistory - ] = latestL2Hash; - emit HeaderSynced(latestL2Height, latestL2Hash); + unchecked { + state.lastVerifiedBlockId += processed; } - } - } - - function withdrawBalance( - TaikoData.State storage state, - AddressResolver resolver - ) public { - uint256 balance = state.balances[msg.sender]; - if (balance <= 1) return; - - state.balances[msg.sender] = 1; - TaikoToken(resolver.resolve("tko_token", false)).mint( - msg.sender, - balance - 1 - ); - } - function getProofReward( - TaikoData.State storage state, - TaikoData.Config memory config, - uint64 provenAt, - uint64 proposedAt - ) public view returns (uint256 newFeeBase, uint256 reward, uint256 tRelBp) { - if (proposedAt > provenAt) revert L1_INVALID_PARAM(); - (newFeeBase, tRelBp) = LibUtils.getTimeAdjustedFee({ - state: state, - config: config, - isProposal: false, - tNow: provenAt, - tLast: proposedAt, - tAvg: state.avgProofTime, - tCap: config.proofTimeCap - }); - reward = LibUtils.getSlotsAdjustedFee({ - state: state, - config: config, - isProposal: false, - feeBase: newFeeBase - }); - reward = (reward * (10000 - config.rewardBurnBips)) / 10000; + if (config.relaySignalRoot) { + // Send the L2's signal root to the signal service so other TaikoL1 + // deployments, if they share the same signal service, can relay the + // signal to their corresponding TaikoL2 contract. + ISignalService(resolver.resolve("signal_service", false)) + .sendSignal(signalRoot); + } + emit XchainSynced(state.lastVerifiedBlockId, blockHash, signalRoot); + } } - function _verifyBlock( + function _markBlockVerified( TaikoData.State storage state, TaikoData.Config memory config, + TaikoData.Block storage blk, TaikoData.ForkChoice storage fc, - TaikoData.ProposedBlock storage target, - uint64 latestL2Height, - bytes32 latestL2Hash - ) private returns (uint64 _latestL2Height, bytes32 _latestL2Hash) { - if (config.enableTokenomics) { - uint256 newFeeBase; - { - uint256 reward; - uint256 tRelBp; // [0-10000], see the whitepaper - (newFeeBase, reward, tRelBp) = getProofReward({ - state: state, - config: config, - provenAt: fc.provenAt, - proposedAt: target.proposedAt - }); - - // reward the prover - if (reward > 0) { - if (state.balances[fc.prover] == 0) { - // Reduce reward to 1 wei as a penalty if the prover - // has 0 TKO outstanding balance. - state.balances[fc.prover] = 1; - } else { - state.balances[fc.prover] += reward; - } - } - - // refund proposer deposit - uint256 refund = (target.deposit * (10000 - tRelBp)) / 10000; - if (refund > 0) { - if (state.balances[target.proposer] == 0) { - // Reduce refund to 1 wei as a penalty if the proposer - // has 0 TKO outstanding balance. - state.balances[target.proposer] = 1; - } else { - state.balances[target.proposer] += refund; - } - } - } - // Update feeBase and avgProofTime - state.feeBase = LibUtils.movingAverage({ - maValue: state.feeBase, - newValue: newFeeBase, - maf: config.feeBaseMAF - }); + uint24 fcId + ) private { + uint64 proofTime; + unchecked { + proofTime = uint64(fc.provenAt - blk.proposedAt); } - state.avgProofTime = LibUtils - .movingAverage({ - maValue: state.avgProofTime, - newValue: fc.provenAt - target.proposedAt, - maf: config.proofTimeMAF - }) - .toUint64(); - - if (fc.blockHash != LibUtils.BLOCK_DEADEND_HASH) { - _latestL2Height = latestL2Height + 1; - _latestL2Hash = fc.blockHash; - } else { - _latestL2Height = latestL2Height; - _latestL2Hash = latestL2Hash; + uint64 reward = LibTokenomics.getProofReward(state, proofTime); + + (state.proofTimeIssued, state.basefee) = LibTokenomics + .getNewBaseFeeandProofTimeIssued(state, config, proofTime); + + unchecked { + state.accBlockFees -= reward; + state.accProposedAt -= blk.proposedAt; } + + // reward the prover + if (reward != 0) { + if (state.taikoTokenBalances[fc.prover] == 0) { + // Reduce refund to 1 wei as a penalty if the proposer + // has 0 TKO outstanding balance. + state.taikoTokenBalances[fc.prover] = 1; + } else { + state.taikoTokenBalances[fc.prover] += reward; + } + } + + blk.nextForkChoiceId = 1; + blk.verifiedForkChoiceId = fcId; + + emit BlockVerified(blk.blockId, fc.blockHash); + } + + function _checkConfig(TaikoData.Config memory config) private pure { + if ( + config.chainId <= 1 || + config.maxNumProposedBlocks == 1 || + config.ringBufferSize <= config.maxNumProposedBlocks + 1 || + config.maxNumVerifiedBlocks == 0 || + config.blockMaxGasLimit == 0 || + config.maxTransactionsPerBlock == 0 || + config.maxBytesPerTxList == 0 || + // EIP-4844 blob size up to 128K + config.maxBytesPerTxList > 128 * 1024 || + config.minTxGasLimit == 0 || + config.maxEthDepositsPerBlock == 0 || + config.maxEthDepositsPerBlock < config.minEthDepositsPerBlock || + // EIP-4844 blob deleted after 30 days + config.txListCacheExpiry > 30 * 24 hours || + config.proofTimeTarget == 0 || + config.adjustmentQuotient == 0 + ) revert L1_INVALID_CONFIG(); } } diff --git a/packages/protocol/contracts/L2/LibL2Consts.sol b/packages/protocol/contracts/L2/LibL2Consts.sol new file mode 100644 index 00000000000..b24997851c4 --- /dev/null +++ b/packages/protocol/contracts/L2/LibL2Consts.sol @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +library LibL2Consts { + uint64 public constant ANCHOR_GAS_COST = 150000; // owner:david +} diff --git a/packages/protocol/contracts/L2/TaikoL2.sol b/packages/protocol/contracts/L2/TaikoL2.sol index 356543d69f6..9730f61dd19 100644 --- a/packages/protocol/contracts/L2/TaikoL2.sol +++ b/packages/protocol/contracts/L2/TaikoL2.sol @@ -6,22 +6,32 @@ pragma solidity ^0.8.18; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {EssentialContract} from "../common/EssentialContract.sol"; +import {IXchainSync} from "../common/IXchainSync.sol"; +import {LibL2Consts} from "./LibL2Consts.sol"; +import {LibMath} from "../libs/LibMath.sol"; +import {Lib1559Math} from "../libs/Lib1559Math.sol"; +import {TaikoL2Signer} from "./TaikoL2Signer.sol"; import { - ReentrancyGuard -} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; + SafeCastUpgradeable +} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; -import {AddressResolver} from "../common/AddressResolver.sol"; -import {IHeaderSync} from "../common/IHeaderSync.sol"; -import {LibAnchorSignature} from "../libs/LibAnchorSignature.sol"; -import {LibInvalidTxList} from "../libs/LibInvalidTxList.sol"; -import {LibSharedConfig} from "../libs/LibSharedConfig.sol"; -import {LibTxDecoder} from "../libs/LibTxDecoder.sol"; -import {TaikoData} from "../L1/TaikoData.sol"; +contract TaikoL2 is EssentialContract, TaikoL2Signer, IXchainSync { + using SafeCastUpgradeable for uint256; + using LibMath for uint256; -contract TaikoL2 is AddressResolver, ReentrancyGuard, IHeaderSync { - using LibTxDecoder for bytes; + struct VerifiedBlock { + bytes32 blockHash; + bytes32 signalRoot; + } + struct EIP1559Params { + uint64 basefee; + uint64 gasIssuedPerSecond; + uint64 gasExcessMax; + uint64 gasTarget; + uint64 ratio2x1x; + } /********************** * State Variables * **********************/ @@ -30,50 +40,95 @@ contract TaikoL2 is AddressResolver, ReentrancyGuard, IHeaderSync { // All L2 block hashes will be saved in this mapping. mapping(uint256 blockNumber => bytes32 blockHash) private _l2Hashes; - // Mapping from L1 block numbers to their block hashes. - // Note that only hashes of L1 blocks where at least one L2 - // block has been proposed will be saved in this mapping. - mapping(uint256 blockNumber => bytes32 blockHash) private _l1Hashes; + mapping(uint256 blockNumber => VerifiedBlock) private _l1VerifiedBlocks; // A hash to check te integrity of public inputs. - bytes32 private _publicInputHash; + bytes32 public publicInputHash; + + uint128 public yscale; + uint64 public xscale; + uint64 public gasIssuedPerSecond; - // The latest L1 block where a L2 block has been proposed. - uint256 public latestSyncedL1Height; + uint64 public parentTimestamp; + uint64 public latestSyncedL1Height; + uint64 public gasExcess; + uint64 public __reserved1; - uint256[46] private __gap; + uint256[45] private __gap; /********************** * Events and Errors * **********************/ - event BlockInvalidated(bytes32 indexed txListHash); - - error L2_INVALID_SENDER(); + // Captures all block variables mentioned in + // https://docs.soliditylang.org/en/v0.8.18/units-and-global-variables.html + event Anchored( + uint64 number, + uint64 basefee, + uint64 gaslimit, + uint64 timestamp, + bytes32 parentHash, + uint256 prevrandao, + address coinbase, + uint32 chainid + ); + + error L2_BASEFEE_MISMATCH(uint64 expected, uint64 actual); + error L2_INVALID_1559_PARAMS(); error L2_INVALID_CHAIN_ID(); - error L2_INVALID_GAS_PRICE(); - error L2_PUBLIC_INPUT_HASH_MISMATCH(); + error L2_INVALID_SENDER(); + error L2_PUBLIC_INPUT_HASH_MISMATCH(bytes32 expected, bytes32 actual); + error L2_TOO_LATE(); + + error M1559_UNEXPECTED_CHANGE(uint64 expected, uint64 actual); + error M1559_OUT_OF_STOCK(); /********************** * Constructor * **********************/ - constructor(address _addressManager) { - if (block.chainid == 0) revert L2_INVALID_CHAIN_ID(); - AddressResolver._init(_addressManager); - - bytes32[255] memory ancestors; - uint256 number = block.number; - for (uint256 i; i < 255 && number >= i + 2; ++i) { - ancestors[i] = blockhash(number - i - 2); + function init( + address _addressManager, + EIP1559Params calldata _param1559 + ) external initializer { + if (block.chainid <= 1 || block.chainid >= type(uint32).max) + revert L2_INVALID_CHAIN_ID(); + if (block.number > 1) revert L2_TOO_LATE(); + + if (_param1559.gasIssuedPerSecond != 0) { + if ( + _param1559.basefee == 0 || + _param1559.gasExcessMax == 0 || + _param1559.gasTarget == 0 || + _param1559.ratio2x1x == 0 + ) revert L2_INVALID_1559_PARAMS(); + + uint128 _xscale; + (_xscale, yscale) = Lib1559Math.calculateScales({ + xExcessMax: _param1559.gasExcessMax, + price: _param1559.basefee, + target: _param1559.gasTarget, + ratio2x1x: _param1559.ratio2x1x + }); + + if (_xscale == 0 || _xscale >= type(uint64).max || yscale == 0) + revert L2_INVALID_1559_PARAMS(); + xscale = uint64(_xscale); + + // basefee = _param1559.basefee; + gasIssuedPerSecond = _param1559.gasIssuedPerSecond; + gasExcess = _param1559.gasExcessMax / 2; } - _publicInputHash = _hashPublicInputs({ - chainId: block.chainid, - number: number, - baseFee: 0, - ancestors: ancestors - }); + parentTimestamp = uint64(block.timestamp); + + EssentialContract._init(_addressManager); + + (publicInputHash, ) = _calcPublicInputHash(block.number); + if (block.number > 0) { + uint256 parentHeight = block.number - 1; + _l2Hashes[parentHeight] = blockhash(parentHeight); + } } /********************** @@ -86,77 +141,99 @@ contract TaikoL2 is AddressResolver, ReentrancyGuard, IHeaderSync { * certain block-level global variables because they are not part of the * Trie structure. * - * Note: This transaction shall be the first transaction in every L2 block. + * A circuit will verify the integrity among: + * - l1Hash, l1SignalRoot, and l1SignalServiceAddress + * - (l1Hash and l1SignalServiceAddress) are both hashed into of the + * ZKP's instance. + * + * This transaction shall be the first transaction in every L2 block. * - * @param l1Height The latest L1 block height when this block was proposed. * @param l1Hash The latest L1 block hash when this block was proposed. + * @param l1SignalRoot The latest value of the L1 "signal service storage root". + * @param l1Height The latest L1 block height when this block was proposed. + * @param parentGasUsed the gas used in the parent block. */ - function anchor(uint256 l1Height, bytes32 l1Hash) external { - TaikoData.Config memory config = getConfig(); - if (config.enablePublicInputsCheck) { - _checkPublicInputs(); - } - latestSyncedL1Height = l1Height; - _l1Hashes[l1Height] = l1Hash; - emit HeaderSynced(l1Height, l1Hash); - } - - /** - * Invalidate a L2 block by verifying its txList is not intrinsically valid. - * - * @param txList The L2 block's txlist. - * @param hint A hint for this method to invalidate the txList. - * @param txIdx If the hint is for a specific transaction in txList, - * txIdx specifies which transaction to check. - */ - function invalidateBlock( - bytes calldata txList, - LibInvalidTxList.Hint hint, - uint256 txIdx + function anchor( + bytes32 l1Hash, + bytes32 l1SignalRoot, + uint64 l1Height, + uint64 parentGasUsed ) external { - if (msg.sender != LibAnchorSignature.K_GOLDEN_TOUCH_ADDRESS) - revert L2_INVALID_SENDER(); + if (msg.sender != GOLDEN_TOUCH_ADDRESS) revert L2_INVALID_SENDER(); - if (tx.gasprice != 0) revert L2_INVALID_GAS_PRICE(); + uint256 parentHeight = block.number - 1; + bytes32 parentHash = blockhash(parentHeight); - TaikoData.Config memory config = getConfig(); - LibInvalidTxList.verifyTxListInvalid({ - config: config, - encoded: txList, - hint: hint, - txIdx: txIdx - }); + (bytes32 prevPIH, bytes32 currPIH) = _calcPublicInputHash(parentHeight); - if (config.enablePublicInputsCheck) { - _checkPublicInputs(); + if (publicInputHash != prevPIH) { + revert L2_PUBLIC_INPUT_HASH_MISMATCH(publicInputHash, prevPIH); } - emit BlockInvalidated(txList.hashTxList()); + // replace the oldest block hash with the parent's blockhash + publicInputHash = currPIH; + _l2Hashes[parentHeight] = parentHash; + + latestSyncedL1Height = l1Height; + _l1VerifiedBlocks[l1Height] = VerifiedBlock(l1Hash, l1SignalRoot); + + emit XchainSynced(l1Height, l1Hash, l1SignalRoot); + + // Check EIP-1559 basefee + uint256 basefee; + if (gasIssuedPerSecond != 0) { + (basefee, gasExcess) = _calcBasefee( + block.timestamp - parentTimestamp, + uint64(block.gaslimit), + parentGasUsed + ); + } + + if (block.basefee != basefee) + revert L2_BASEFEE_MISMATCH(uint64(basefee), uint64(block.basefee)); + + parentTimestamp = uint64(block.timestamp); + + // We emit this event so circuits can grab its data to verify block variables. + // If plonk lookup table already has all these data, we can still use this + // event for debugging purpose. + emit Anchored({ + number: uint64(block.number), + basefee: uint64(basefee), + gaslimit: uint64(block.gaslimit), + timestamp: uint64(block.timestamp), + parentHash: parentHash, + prevrandao: block.prevrandao, + coinbase: block.coinbase, + chainid: uint32(block.chainid) + }); } /********************** * Public Functions * **********************/ - function getConfig() - public - view - virtual - returns (TaikoData.Config memory config) - { - config = LibSharedConfig.getConfig(); - config.chainId = block.chainid; + function getBasefee( + uint32 timeSinceParent, + uint64 gasLimit, + uint64 parentGasUsed + ) public view returns (uint256 _basefee) { + (_basefee, ) = _calcBasefee(timeSinceParent, gasLimit, parentGasUsed); } - function getSyncedHeader( + function getXchainBlockHash( uint256 number ) public view override returns (bytes32) { - return _l1Hashes[number]; + uint256 _number = number == 0 ? latestSyncedL1Height : number; + return _l1VerifiedBlocks[_number].blockHash; } - function getLatestSyncedHeader() public view override returns (bytes32) { - return _l1Hashes[latestSyncedL1Height]; + function getXchainSignalRoot( + uint256 number + ) public view override returns (bytes32) { + uint256 _number = number == 0 ? latestSyncedL1Height : number; + return _l1VerifiedBlocks[_number].signalRoot; } function getBlockHash(uint256 number) public view returns (bytes32) { @@ -173,51 +250,53 @@ contract TaikoL2 is AddressResolver, ReentrancyGuard, IHeaderSync { * Private Functions * **********************/ - function _checkPublicInputs() private { - // Check the latest 256 block hashes (excluding the parent hash). - bytes32[255] memory ancestors; - uint256 number = block.number; - uint256 chainId = block.chainid; - - // put the previous 255 blockhashes (excluding the parent's) into a - // ring buffer. - for (uint256 i = 2; i <= 256 && number >= i; ++i) { - ancestors[(number - i) % 255] = blockhash(number - i); + function _calcPublicInputHash( + uint256 blockNumber + ) private view returns (bytes32 prevPIH, bytes32 currPIH) { + bytes32[256] memory inputs; + unchecked { + // put the previous 255 blockhashes (excluding the parent's) into a + // ring buffer. + for (uint256 i; i < 255 && blockNumber >= i + 1; ++i) { + uint256 j = blockNumber - i - 1; + inputs[j % 255] = blockhash(j); + } } - uint256 parentHeight = number - 1; - bytes32 parentHash = blockhash(parentHeight); + inputs[255] = bytes32(block.chainid); - if ( - _publicInputHash != - _hashPublicInputs({ - chainId: chainId, - number: parentHeight, - baseFee: 0, - ancestors: ancestors - }) - ) { - revert L2_PUBLIC_INPUT_HASH_MISMATCH(); + assembly { + prevPIH := keccak256(inputs, mul(256, 32)) } - // replace the oldest block hash with the parent's blockhash - ancestors[parentHeight % 255] = parentHash; - _publicInputHash = _hashPublicInputs({ - chainId: chainId, - number: number, - baseFee: 0, - ancestors: ancestors - }); - - _l2Hashes[parentHeight] = parentHash; + inputs[blockNumber % 255] = blockhash(blockNumber); + assembly { + currPIH := keccak256(inputs, mul(256, 32)) + } } - function _hashPublicInputs( - uint256 chainId, - uint256 number, - uint256 baseFee, - bytes32[255] memory ancestors - ) private pure returns (bytes32) { - return keccak256(abi.encodePacked(chainId, number, baseFee, ancestors)); + function _calcBasefee( + uint256 timeSinceParent, + uint64 gasLimit, + uint64 parentGasUsed + ) private view returns (uint256 _basefee, uint64 _gasExcess) { + // Very important to cap _gasExcess uint64 + unchecked { + uint64 parentGasUsedNet = parentGasUsed > + LibL2Consts.ANCHOR_GAS_COST + ? parentGasUsed - LibL2Consts.ANCHOR_GAS_COST + : 0; + + uint256 a = uint256(gasExcess) + parentGasUsedNet; + uint256 b = gasIssuedPerSecond * timeSinceParent; + _gasExcess = uint64((a.max(b) - b).min(type(uint64).max)); + } + + _basefee = Lib1559Math.calculatePrice({ + xscale: xscale, + yscale: yscale, + xExcess: _gasExcess, + xPurchase: gasLimit + }); } } diff --git a/packages/protocol/contracts/libs/LibAnchorSignature.sol b/packages/protocol/contracts/L2/TaikoL2Signer.sol similarity index 71% rename from packages/protocol/contracts/libs/LibAnchorSignature.sol rename to packages/protocol/contracts/L2/TaikoL2Signer.sol index a2a8c3b713e..4a42d6b0b5f 100644 --- a/packages/protocol/contracts/libs/LibAnchorSignature.sol +++ b/packages/protocol/contracts/L2/TaikoL2Signer.sol @@ -6,54 +6,56 @@ pragma solidity ^0.8.18; -import {LibUint512Math} from "./LibUint512Math.sol"; +import {LibUint512Math} from "../libs/LibUint512Math.sol"; -library LibAnchorSignature { - address public constant K_GOLDEN_TOUCH_ADDRESS = +abstract contract TaikoL2Signer { + address public constant GOLDEN_TOUCH_ADDRESS = 0x0000777735367b36bC9B61C50022d9D0700dB4Ec; - uint256 public constant K_GOLDEN_TOUCH_PRIVATEKEY = + uint256 public constant GOLDEN_TOUCH_PRIVATEKEY = 0x92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce38; - uint256 public constant GX = + uint256 private constant GX = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798; - uint256 public constant GY = + uint256 private constant GY = 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8; - uint256 public constant GX2 = + uint256 private constant GX2 = 0xc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5; - uint256 public constant GY2 = + uint256 private constant GY2 = 0x1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a; - uint256 public constant N = + uint256 private constant N = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141; // ( // uint256 GX_MUL_GOLDEN_TOUCH_PRIVATEKEY_LOW, // uint256 GX_MUL_GOLDEN_TOUCH_PRIVATEKEY_HIGH - // ) = LibUint512Math.mul(GX, K_GOLDEN_TOUCH_PRIVATEKEY); - uint256 public constant GX_MUL_GOLDEN_TOUCH_PRIVATEKEY_LOW = + // ) = LibUint512Math.mul(GX, GOLDEN_TOUCH_PRIVATEKEY); + uint256 private constant GX_MUL_GOLDEN_TOUCH_PRIVATEKEY_LOW = 0xb4a95509ce05fe8d45987859a067780d16a367c0e2cacf79cd301b93fb717940; - uint256 public constant GX_MUL_GOLDEN_TOUCH_PRIVATEKEY_HIGH = + uint256 private constant GX_MUL_GOLDEN_TOUCH_PRIVATEKEY_HIGH = 0x45b59254b0320fd853f3f38ac574999e91bd75fd5e6cab9c22c5e71fc6d276e4; // ( // uint256 GX2_MUL_GOLDEN_TOUCH_PRIVATEKEY_LOW, // uint256 GX2_MUL_GOLDEN_TOUCH_PRIVATEKEY_HIGH - // ) = LibUint512Math.mul(GX2, K_GOLDEN_TOUCH_PRIVATEKEY); - uint256 public constant GX2_MUL_GOLDEN_TOUCH_PRIVATEKEY_LOW = + // ) = LibUint512Math.mul(GX2, GOLDEN_TOUCH_PRIVATEKEY); + uint256 private constant GX2_MUL_GOLDEN_TOUCH_PRIVATEKEY_LOW = 0xad77eceea844778cb4376153fc8f06f12f1695df4585bf75bfb17ec19ce90818; - uint256 public constant GX2_MUL_GOLDEN_TOUCH_PRIVATEKEY_HIGH = + uint256 private constant GX2_MUL_GOLDEN_TOUCH_PRIVATEKEY_HIGH = 0x71620584f61c57e688bbd3fd7a39a036e588d962c4c830f3dacbc15c917e02f2; // Invert K (= 2) in the field F(N) - uint256 public constant K_2_INVM_N = + uint256 private constant K_2_INVM_N = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1; - function signTransaction( + error L2_INVALID_GOLDEN_TOUCH_K(); + + function signAnchor( bytes32 digest, uint8 k - ) internal view returns (uint8 v, uint256 r, uint256 s) { - require(k == 1 || k == 2, "invalid k value"); + ) public view returns (uint8 v, uint256 r, uint256 s) { + if (k != 1 && k != 2) revert L2_INVALID_GOLDEN_TOUCH_K(); r = k == 1 ? GX : GX2; @@ -73,13 +75,13 @@ library LibAnchorSignature { ); if (k == 1) { - s = expmod(low256, high256, 1, N); + s = _expmod(low256, high256, 1, N); } else { (low256, high256) = LibUint512Math.mul( K_2_INVM_N, - expmod(low256, high256, 1, N) + _expmod(low256, high256, 1, N) ); - s = expmod(low256, high256, 1, N); + s = _expmod(low256, high256, 1, N); } if (s > N >> 1) { @@ -88,12 +90,12 @@ library LibAnchorSignature { } } - function expmod( + function _expmod( uint256 baseLow, uint256 baseHigh, uint256 e, uint256 m - ) internal view returns (uint256 o) { + ) private view returns (uint256 o) { assembly { // define pointer let p := mload(0x40) diff --git a/packages/protocol/contracts/bridge/Bridge.sol b/packages/protocol/contracts/bridge/Bridge.sol index 900f7485b3e..681b1b170ce 100644 --- a/packages/protocol/contracts/bridge/Bridge.sol +++ b/packages/protocol/contracts/bridge/Bridge.sol @@ -30,7 +30,6 @@ contract Bridge is EssentialContract, IBridge, BridgeErrors { *********************/ LibBridgeData.State private _state; // 50 slots reserved - uint256[50] private __gap; /********************* * Events * diff --git a/packages/protocol/contracts/bridge/TokenVault.sol b/packages/protocol/contracts/bridge/TokenVault.sol index 2f8a2fb1958..2c1add56e93 100644 --- a/packages/protocol/contracts/bridge/TokenVault.sol +++ b/packages/protocol/contracts/bridge/TokenVault.sol @@ -19,6 +19,7 @@ import {EssentialContract} from "../common/EssentialContract.sol"; import {TaikoToken} from "../L1/TaikoToken.sol"; import {BridgedERC20} from "./BridgedERC20.sol"; import {IBridge} from "./IBridge.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; /** * This vault holds all ERC20 tokens (but not Ether) that users have deposited. @@ -120,7 +121,6 @@ contract TokenVault is EssentialContract { error TOKENVAULT_INVALID_TO(); error TOKENVAULT_INVALID_VALUE(); - error TOKENVAULT_INVALID_CALL_VALUE(); error TOKENVAULT_INVALID_TOKEN(); error TOKENVAULT_INVALID_AMOUNT(); error TOKENVAULT_CANONICAL_TOKEN_NOT_FOUND(); @@ -137,56 +137,6 @@ contract TokenVault is EssentialContract { EssentialContract._init(addressManager); } - /** - * Receives Ether and constructs a Bridge message. Sends the Ether and - * message along to the Bridge. - * @param destChainId @custom:see IBridge.Message - * @param to @custom:see IBridge.Message - * @param gasLimit @custom:see IBridge.Message - * @param processingFee @custom:see IBridge.Message - * @param refundAddress @custom:see IBridge.Message - * @param memo @custom:see IBridge.Message - */ - function sendEther( - uint256 destChainId, - address to, - uint256 gasLimit, - uint256 processingFee, - address refundAddress, - string memory memo - ) external payable nonReentrant { - if ( - to == address(0) || to == resolve(destChainId, "token_vault", false) - ) revert TOKENVAULT_INVALID_TO(); - - if (msg.value <= processingFee) revert TOKENVAULT_INVALID_VALUE(); - - IBridge.Message memory message; - message.destChainId = destChainId; - message.owner = msg.sender; - message.to = to; - message.gasLimit = gasLimit; - message.processingFee = processingFee; - message.depositValue = msg.value - processingFee; - message.refundAddress = refundAddress; - message.memo = memo; - - // prevent future PRs from changing the callValue when it must be zero - if (message.callValue != 0) revert TOKENVAULT_INVALID_CALL_VALUE(); - - bytes32 msgHash = IBridge(resolve("bridge", false)).sendMessage{ - value: msg.value - }(message); - - emit EtherSent({ - msgHash: msgHash, - from: message.owner, - to: message.to, - destChainId: destChainId, - amount: message.depositValue - }); - } - /** * Transfers ERC20 tokens to this vault and sends a message to the * destination chain so the user can receive the same amount of tokens @@ -388,7 +338,10 @@ contract TokenVault is EssentialContract { bridgedToken = Create2Upgradeable.deploy( 0, // amount of Ether to send keccak256( - abi.encodePacked(canonicalToken.chainId, canonicalToken.addr) + bytes.concat( + bytes32(canonicalToken.chainId), + bytes32(uint256(uint160(canonicalToken.addr))) + ) ), type(BridgedERC20).creationCode ); @@ -399,14 +352,11 @@ contract TokenVault is EssentialContract { _srcChainId: canonicalToken.chainId, _decimals: canonicalToken.decimals, _symbol: canonicalToken.symbol, - _name: string( - abi.encodePacked( - canonicalToken.name, - "(bridged", - hex"F09F8C88", // 🌈 - canonicalToken.chainId, - ")" - ) + _name: string.concat( + canonicalToken.name, + unicode"(bridged🌈", + Strings.toString(canonicalToken.chainId), + ")" ) }); diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeData.sol b/packages/protocol/contracts/bridge/libs/LibBridgeData.sol index 0a16cc06a5c..a48d62593cb 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeData.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeData.sol @@ -7,10 +7,10 @@ pragma solidity ^0.8.18; import {AddressResolver} from "../../common/AddressResolver.sol"; +import {BlockHeader} from "../../libs/LibBlockHeader.sol"; +import {IBridge} from "../IBridge.sol"; import {LibAddress} from "../../libs/LibAddress.sol"; -import {LibBlockHeader, BlockHeader} from "../../libs/LibBlockHeader.sol"; import {LibMath} from "../../libs/LibMath.sol"; -import {IBridge} from "../IBridge.sol"; /** * Stores message metadata on the Bridge. @@ -38,12 +38,11 @@ library LibBridgeData { event DestChainEnabled(uint256 indexed chainId, bool enabled); /** - * @return msgHash The keccak256 hash of the message encoded with - * "TAIKO_BRIDGE_MESSAGE". + * @return msgHash The keccak256 hash of the message. */ function hashMessage( IBridge.Message memory message ) internal pure returns (bytes32) { - return keccak256(abi.encode("TAIKO_BRIDGE_MESSAGE", message)); + return keccak256(abi.encode(message)); } } diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeInvoke.sol b/packages/protocol/contracts/bridge/libs/LibBridgeInvoke.sol index 5bfff9dc5ce..85501323e7d 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeInvoke.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeInvoke.sol @@ -6,7 +6,9 @@ pragma solidity ^0.8.18; -import {LibBridgeData, IBridge, LibAddress} from "./LibBridgeData.sol"; +import {IBridge} from "../IBridge.sol"; +import {LibAddress} from "../../libs/LibAddress.sol"; +import {LibBridgeData} from "./LibBridgeData.sol"; library LibBridgeInvoke { using LibAddress for address; diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeProcess.sol b/packages/protocol/contracts/bridge/libs/LibBridgeProcess.sol index f5dcdfeac5d..17b205284d2 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeProcess.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeProcess.sol @@ -6,15 +6,15 @@ pragma solidity ^0.8.18; -import {ISignalService} from "../../signal/ISignalService.sol"; +import {AddressResolver} from "../../common/AddressResolver.sol"; import {EtherVault} from "../EtherVault.sol"; +import {IBridge} from "../IBridge.sol"; +import {ISignalService} from "../../signal/ISignalService.sol"; +import {LibAddress} from "../../libs/LibAddress.sol"; import {LibBridgeData} from "./LibBridgeData.sol"; import {LibBridgeInvoke} from "./LibBridgeInvoke.sol"; import {LibBridgeStatus} from "./LibBridgeStatus.sol"; import {LibMath} from "../../libs/LibMath.sol"; -import {LibAddress} from "../../libs/LibAddress.sol"; -import {IBridge} from "../IBridge.sol"; -import {AddressResolver} from "../../common/AddressResolver.sol"; /** * Process bridge messages on the destination chain. @@ -27,8 +27,8 @@ library LibBridgeProcess { using LibBridgeData for LibBridgeData.State; error B_FORBIDDEN(); - error B_STATUS_MISMTACH(); error B_SIGNAL_NOT_RECEIVED(); + error B_STATUS_MISMTACH(); error B_WRONG_CHAIN_ID(); /** @@ -97,9 +97,7 @@ library LibBridgeProcess { } // We send the Ether before the message call in case the call will // actually consume Ether. - if (message.depositValue > 0) { - message.owner.sendEther(message.depositValue); - } + message.owner.sendEther(message.depositValue); LibBridgeStatus.MessageStatus status; uint256 refundAmount; @@ -117,7 +115,6 @@ library LibBridgeProcess { ? gasleft() : message.gasLimit; - // this will call receiveERC20 on the tokenVault, sending the tokens to the user bool success = LibBridgeInvoke.invokeMessageCall({ state: state, message: message, @@ -129,9 +126,7 @@ library LibBridgeProcess { status = LibBridgeStatus.MessageStatus.DONE; } else { status = LibBridgeStatus.MessageStatus.RETRIABLE; - if (ethVault != address(0)) { - ethVault.sendEther(message.callValue); - } + ethVault.sendEther(message.callValue); } } @@ -144,7 +139,8 @@ library LibBridgeProcess { // if sender is the refundAddress if (msg.sender == refundAddress) { - refundAddress.sendEther(message.processingFee + refundAmount); + uint256 amount = message.processingFee + refundAmount; + refundAddress.sendEther(amount); } else { // if sender is another address (eg. the relayer) // First attempt relayer is rewarded the processingFee diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeRelease.sol b/packages/protocol/contracts/bridge/libs/LibBridgeRelease.sol index 77314312b18..6be97cb6ed2 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeRelease.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeRelease.sol @@ -6,20 +6,20 @@ pragma solidity ^0.8.18; +import {AddressResolver} from "../../common/AddressResolver.sol"; import {EtherVault} from "../EtherVault.sol"; +import {IBridge} from "../IBridge.sol"; import {LibBridgeData} from "./LibBridgeData.sol"; import {LibBridgeStatus} from "./LibBridgeStatus.sol"; -import {IBridge} from "../IBridge.sol"; -import {AddressResolver} from "../../common/AddressResolver.sol"; library LibBridgeRelease { using LibBridgeData for IBridge.Message; - error B_OWNER_IS_NULL(); - error B_WRONG_CHAIN_ID(); error B_ETHER_RELEASED_ALREADY(); - error B_MSG_NOT_FAILED(); error B_FAILED_TRANSFER(); + error B_MSG_NOT_FAILED(); + error B_OWNER_IS_NULL(); + error B_WRONG_CHAIN_ID(); event EtherReleased(bytes32 indexed msgHash, address to, uint256 amount); diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeRetry.sol b/packages/protocol/contracts/bridge/libs/LibBridgeRetry.sol index 9bbee27c901..af8143b7fee 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeRetry.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeRetry.sol @@ -6,13 +6,13 @@ pragma solidity ^0.8.18; +import {AddressResolver} from "../../common/AddressResolver.sol"; import {EtherVault} from "../EtherVault.sol"; -import {LibBridgeInvoke} from "./LibBridgeInvoke.sol"; +import {IBridge} from "../IBridge.sol"; +import {LibAddress} from "../../libs/LibAddress.sol"; import {LibBridgeData} from "./LibBridgeData.sol"; +import {LibBridgeInvoke} from "./LibBridgeInvoke.sol"; import {LibBridgeStatus} from "./LibBridgeStatus.sol"; -import {LibAddress} from "../../libs/LibAddress.sol"; -import {IBridge} from "../IBridge.sol"; -import {AddressResolver} from "../../common/AddressResolver.sol"; /** * Retry bridge messages. @@ -91,7 +91,7 @@ library LibBridgeRetry { : message.refundAddress; refundAddress.sendEther(message.callValue); - } else if (ethVault != address(0)) { + } else { ethVault.sendEther(message.callValue); } } diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeSend.sol b/packages/protocol/contracts/bridge/libs/LibBridgeSend.sol index a38fa0425f7..3d1de931337 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeSend.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeSend.sol @@ -7,10 +7,10 @@ pragma solidity ^0.8.18; import {AddressResolver} from "../../common/AddressResolver.sol"; -import {LibAddress} from "../../libs/LibAddress.sol"; +import {IBridge} from "../IBridge.sol"; import {ISignalService} from "../../signal/ISignalService.sol"; +import {LibAddress} from "../../libs/LibAddress.sol"; import {LibBridgeData} from "./LibBridgeData.sol"; -import {IBridge} from "../IBridge.sol"; /** * Entry point for starting a bridge transaction. @@ -21,10 +21,10 @@ library LibBridgeSend { using LibAddress for address; using LibBridgeData for IBridge.Message; + error B_INCORRECT_VALUE(); error B_OWNER_IS_NULL(); error B_WRONG_CHAIN_ID(); error B_WRONG_TO_ADDRESS(); - error B_INCORRECT_VALUE(); /** * Send a message to the Bridge with the details of the request. The Bridge @@ -74,9 +74,7 @@ library LibBridgeSend { // store it here on the Bridge. Processing will release Ether from the // EtherVault or the Bridge on the destination chain. address ethVault = resolver.resolve("ether_vault", true); - if (ethVault != address(0)) { - ethVault.sendEther(expectedAmount); - } + ethVault.sendEther(expectedAmount); message.id = state.nextMessageId++; message.sender = msg.sender; diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeStatus.sol b/packages/protocol/contracts/bridge/libs/LibBridgeStatus.sol index dddff1d5534..c6a91d29b47 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeStatus.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeStatus.sol @@ -7,10 +7,10 @@ pragma solidity ^0.8.18; import {AddressResolver} from "../../common/AddressResolver.sol"; -import {IHeaderSync} from "../../common/IHeaderSync.sol"; -import {LibBlockHeader, BlockHeader} from "../../libs/LibBlockHeader.sol"; -import {LibTrieProof} from "../../libs/LibTrieProof.sol"; +import {BlockHeader, LibBlockHeader} from "../../libs/LibBlockHeader.sol"; +import {IXchainSync} from "../../common/IXchainSync.sol"; import {LibBridgeData} from "./LibBridgeData.sol"; +import {LibTrieProof} from "../../libs/LibTrieProof.sol"; library LibBridgeStatus { using LibBlockHeader for BlockHeader; @@ -28,8 +28,8 @@ library LibBridgeStatus { address transactor ); - error B_WRONG_CHAIN_ID(); error B_MSG_HASH_NULL(); + error B_WRONG_CHAIN_ID(); /** * @dev If messageStatus is same as in the messageStatus mapping, @@ -75,8 +75,9 @@ library LibBridgeStatus { proof, (LibBridgeData.StatusProof) ); - bytes32 syncedHeaderHash = IHeaderSync(resolver.resolve("taiko", false)) - .getSyncedHeader(sp.header.height); + + bytes32 syncedHeaderHash = IXchainSync(resolver.resolve("taiko", false)) + .getXchainBlockHash(sp.header.height); if ( syncedHeaderHash == 0 || @@ -86,7 +87,7 @@ library LibBridgeStatus { } return - LibTrieProof.verify({ + LibTrieProof.verifyWithAccountProof({ stateRoot: sp.header.stateRoot, addr: resolver.resolve(destChainId, "bridge", false), slot: getMessageStatusSlot(msgHash), @@ -98,7 +99,7 @@ library LibBridgeStatus { function getMessageStatusSlot( bytes32 msgHash ) internal pure returns (bytes32) { - return keccak256(abi.encodePacked("MESSAGE_STATUS", msgHash)); + return keccak256(bytes.concat(bytes("MESSAGE_STATUS"), msgHash)); } function _setMessageStatus(bytes32 msgHash, MessageStatus status) private { diff --git a/packages/protocol/contracts/common/AddressManager.sol b/packages/protocol/contracts/common/AddressManager.sol new file mode 100644 index 00000000000..fc37b76dd4d --- /dev/null +++ b/packages/protocol/contracts/common/AddressManager.sol @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +/* External Imports */ +import { + OwnableUpgradeable +} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; + +/** + * @notice Interface to set and get an address for a name. + */ +interface IAddressManager { + /** + * Changes the address associated with a particular name. + * @param domain Uint256 domain to assiciate an address with. + * @param name String name to associate an address with. + * @param newAddress Address to associate with the name. + */ + function setAddress( + uint256 domain, + string memory name, + address newAddress + ) external; + + /** + * Retrieves the address associated with a given name. + * @param domain Class to retrieve an address for. + * @param name Name to retrieve an address for. + * @return Address associated with the given name. + */ + function getAddress( + uint256 domain, + string memory name + ) external view returns (address); +} + +/** + * @title AddressManager + */ +contract AddressManager is OwnableUpgradeable, IAddressManager { + mapping(uint256 domain => mapping(bytes32 nameHash => address addr)) + private addresses; + + event AddressSet( + uint256 indexed _domain, + string indexed _name, + address _newAddress, + address _oldAddress + ); + + /// @dev Initializer to be called after being deployed behind a proxy. + function init() external initializer { + OwnableUpgradeable.__Ownable_init(); + } + + function setAddress( + uint256 domain, + string memory name, + address newAddress + ) external onlyOwner { + address oldAddress = addresses[domain][_stringToBytes32(name)]; + addresses[domain][_stringToBytes32(name)] = newAddress; + emit AddressSet(domain, name, newAddress, oldAddress); + } + + function getAddress( + uint256 domain, + string memory name + ) external view returns (address addr) { + addr = addresses[domain][_stringToBytes32(name)]; + } + + function _stringToBytes32( + string memory source + ) private pure returns (bytes32 result) { + if (bytes(source).length == 0) { + return 0x0; + } + + assembly { + result := mload(add(source, 32)) + } + } +} diff --git a/packages/protocol/contracts/common/AddressResolver.sol b/packages/protocol/contracts/common/AddressResolver.sol index f9ff185d03f..668429f0ea0 100644 --- a/packages/protocol/contracts/common/AddressResolver.sol +++ b/packages/protocol/contracts/common/AddressResolver.sol @@ -6,8 +6,8 @@ pragma solidity ^0.8.18; +import {IAddressManager} from "./AddressManager.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; -import {IAddressManager} from "./IAddressManager.sol"; /** * This abstract contract provides a name-to-address lookup. Under the hood, @@ -79,18 +79,14 @@ abstract contract AddressResolver { string memory name, bool allowZeroAddress ) private view returns (address payable addr) { - bytes memory key = abi.encodePacked( - Strings.toString(chainId), - ".", - name - ); - addr = payable(_addressManager.getAddress(string(key))); + addr = payable(_addressManager.getAddress(chainId, name)); + if (!allowZeroAddress) { // We do not use custom error so this string-based // error message is more helpful for diagnosis. require( addr != address(0), - string(abi.encodePacked("AR:zeroAddr:", key)) + string(abi.encode("AR:zeroAddr:", chainId, ".", name)) ); } } diff --git a/packages/protocol/contracts/common/IAddressManager.sol b/packages/protocol/contracts/common/IAddressManager.sol deleted file mode 100644 index 6f90c7c757e..00000000000 --- a/packages/protocol/contracts/common/IAddressManager.sol +++ /dev/null @@ -1,29 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -/** - * @notice Interface to set and get an address for a name. - */ -interface IAddressManager { - /** - * @notice Associate an address to a name. - * @dev The original address associated with the name, if exists, will be - * replaced. - * @param name The name which an address will be associated with. - * @param addr The address to be associated with the given name. - */ - function setAddress(string memory name, address addr) external; - - /** - * @notice Returns the address associated with the given name. - * @param name The name for which an address will be returned. - * @return The address associated with the given name. If no address is - * found, `address(0)` will be returned. - */ - function getAddress(string memory name) external view returns (address); -} diff --git a/packages/protocol/contracts/common/IHeaderSync.sol b/packages/protocol/contracts/common/IHeaderSync.sol deleted file mode 100644 index 741d26e1307..00000000000 --- a/packages/protocol/contracts/common/IHeaderSync.sol +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -/** - * Interface implemented by both the TaikoL1 and TaikoL2 contracts. It exposes - * the methods needed to access the block hashes of the other chain. - */ -interface IHeaderSync { - event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash); - - function getSyncedHeader(uint256 number) external view returns (bytes32); - - function getLatestSyncedHeader() external view returns (bytes32); -} diff --git a/packages/protocol/contracts/common/IXchainSync.sol b/packages/protocol/contracts/common/IXchainSync.sol new file mode 100644 index 00000000000..26a21e375da --- /dev/null +++ b/packages/protocol/contracts/common/IXchainSync.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +/** + * Interface implemented by both the TaikoL1 and TaikoL2 contracts. It exposes + * the methods needed to access the block hashes of the other chain. + */ + +interface IXchainSync { + event XchainSynced( + uint256 indexed srcHeight, + bytes32 blockHash, + bytes32 signalRoot + ); + + /** + * @notice Returns the cross-chain block hash at the given block number. + * @param number The block number. Use 0 for the latest block. + * @return The cross-chain block hash. + */ + function getXchainBlockHash(uint256 number) external view returns (bytes32); + + /** + * @notice Returns the cross-chain signal service storage root at the given + * block number. + * @param number The block number. Use 0 for the latest block. + * @return The cross-chain signal service storage root. + */ + function getXchainSignalRoot( + uint256 number + ) external view returns (bytes32); +} diff --git a/packages/protocol/contracts/libs/Lib1559Math.sol b/packages/protocol/contracts/libs/Lib1559Math.sol index dc67773aeab..e36c838a91d 100644 --- a/packages/protocol/contracts/libs/Lib1559Math.sol +++ b/packages/protocol/contracts/libs/Lib1559Math.sol @@ -6,68 +6,60 @@ pragma solidity ^0.8.18; -/** - * @notice This library offers two functions for EIP-1559-style math. - * See more at https://dankradfeist.de/ethereum/2022/03/16/exponential-eip1559.html - */ +import {LibFixedPointMath} from "../thirdparty/LibFixedPointMath.sol"; +import { + SafeCastUpgradeable +} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; + library Lib1559Math { - /** - * @notice Calculates and returns the next round's target value using the equation below: - * - * `nextTarget = prevTarget * ((A-1) * T + prevMeasured / (A * T)` - * which implies if `prevMeasured` is larger than `T`, `nextTarget` will - * become larger than `prevTarget`. - * - * @param prevTarget The previous round's target value. - * @param prevMeasured The previous round's measured value. It must be in the same unit as `T`. - * @param T The base target value. It must be in the same unit as `prevMeasured`. - * @param A The adjustment factor. Bigger values change the next round's target more slowly. - * @return nextTarget The next round's target value. - */ - function adjustTarget( - uint256 prevTarget, - uint256 prevMeasured, - uint256 T, - uint256 A - ) internal pure returns (uint256 nextTarget) { - assert(prevTarget != 0 && T != 0 && A > 1); + using SafeCastUpgradeable for uint256; - uint256 x = prevTarget * ((A - 1) * T + prevMeasured); - uint256 y = A * T; - nextTarget = x / y; + error M1559_UNEXPECTED_CHANGE(uint64 expected, uint64 actual); + error M1559_OUT_OF_STOCK(); - if (nextTarget == 0) { - nextTarget = prevTarget; - } - } + function calculateScales( + uint64 xExcessMax, + uint64 price, + uint64 target, + uint64 ratio2x1x + ) internal pure returns (uint128 xscale, uint128 yscale) { + assert(xExcessMax != 0); + uint64 x = xExcessMax / 2; + + // calculate xscale + xscale = LibFixedPointMath.MAX_EXP_INPUT / xExcessMax; - /** - * @notice Calculates and returns the next round's target value using the equation below: - * - * `nextTarget = prevTarget * A * T / ((A-1) * T + prevMeasured)` - * which implies if `prevMeasured` is larger than `T`, `nextTarget` will - * become smaller than `prevTarget`. - * - * @param prevTarget The previous round's target value. - * @param prevMeasured The previous round's measured value. It must be in the same unit as `T`. - * @param T The base target value. It must be in the same unit as `prevMeasured`. - * @param A The adjustment factor. Bigger values change the next round's target more slowly. - * @return nextTarget The next round's target value. - */ - function adjustTargetReverse( - uint256 prevTarget, - uint256 prevMeasured, - uint256 T, - uint256 A - ) internal pure returns (uint256 nextTarget) { - assert(prevTarget != 0 && T != 0 && A > 1); + // calculate yscale + yscale = calculatePrice(xscale, price, x, target).toUint128(); - uint256 x = prevTarget * A * T; - uint256 y = (A - 1) * T + prevMeasured; - nextTarget = x / y; + // Verify the gas price ratio between two blocks, one has + // 2*target gas and the other one has target gas. + uint256 price1x = calculatePrice(xscale, yscale, x, target); + uint256 price2x = calculatePrice(xscale, yscale, x, target * 2); + uint64 ratio = uint64((price2x * 10000) / price1x); + + if (ratio2x1x != ratio) + revert M1559_UNEXPECTED_CHANGE(ratio2x1x, ratio); + } + + function calculatePrice( + uint128 xscale, + uint128 yscale, + uint64 xExcess, + uint64 xPurchase + ) internal pure returns (uint256) { + assert(xscale != 0 && yscale != 0); + uint64 _xPurchase = xPurchase == 0 ? 1 : xPurchase; + uint256 _before = _calcY(xExcess, xscale); + uint256 _after = _calcY(xExcess + _xPurchase, xscale); + return (_after - _before) / _xPurchase / yscale; + } - if (nextTarget == 0) { - nextTarget = prevTarget; + function _calcY(uint256 x, uint128 xscale) private pure returns (uint256) { + uint256 _x = x * xscale; + if (_x >= LibFixedPointMath.MAX_EXP_INPUT) { + revert M1559_OUT_OF_STOCK(); } + return uint256(LibFixedPointMath.exp(int256(_x))); } } diff --git a/packages/protocol/contracts/libs/LibAddress.sol b/packages/protocol/contracts/libs/LibAddress.sol index b1a625dad75..314c3d4c0ab 100644 --- a/packages/protocol/contracts/libs/LibAddress.sol +++ b/packages/protocol/contracts/libs/LibAddress.sol @@ -18,10 +18,9 @@ library LibAddress { * @param amount The amount of Ether to send. */ function sendEther(address to, uint256 amount) internal { - if (amount > 0) { - (bool success, ) = payable(to).call{value: amount}(""); - require(success, "ETH transfer failed"); - } + if (amount == 0 || to == address(0)) return; + (bool success, ) = payable(to).call{value: amount}(""); + require(success, "ETH transfer failed"); } function codeHash(address addr) internal view returns (bytes32 codehash) { diff --git a/packages/protocol/contracts/libs/LibBlockHeader.sol b/packages/protocol/contracts/libs/LibBlockHeader.sol index 4525b8cb5fa..697fa11a573 100644 --- a/packages/protocol/contracts/libs/LibBlockHeader.sol +++ b/packages/protocol/contracts/libs/LibBlockHeader.sol @@ -29,7 +29,7 @@ struct BlockHeader { } library LibBlockHeader { - bytes32 private constant EMPTY_OMMERS_HASH = + bytes32 public constant EMPTY_OMMERS_HASH = 0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347; function hashBlockHeader( @@ -81,17 +81,4 @@ library LibBlockHeader { list[16] = LibRLPWriter.writeHash(header.withdrawalsRoot); } } - - function isPartiallyValidForTaiko( - uint256 blockMaxGasLimit, - BlockHeader calldata header - ) internal pure returns (bool) { - return - header.parentHash != 0 && - header.ommersHash == EMPTY_OMMERS_HASH && - header.gasLimit <= blockMaxGasLimit && - header.extraData.length <= 32 && - header.difficulty == 0 && - header.nonce == 0; - } } diff --git a/packages/protocol/contracts/libs/LibInvalidTxList.sol b/packages/protocol/contracts/libs/LibInvalidTxList.sol deleted file mode 100644 index cb688031fdc..00000000000 --- a/packages/protocol/contracts/libs/LibInvalidTxList.sol +++ /dev/null @@ -1,106 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {TaikoData} from "../L1/TaikoData.sol"; -import {LibTxDecoder} from "../libs/LibTxDecoder.sol"; -import {LibTxUtils} from "../libs/LibTxUtils.sol"; -import {LibRLPReader} from "../thirdparty/LibRLPReader.sol"; -import {LibRLPWriter} from "../thirdparty/LibRLPWriter.sol"; - -/** - * A library to invalidate a txList using the following rules: - * - * A txList is valid if and only if: - * 1. The txList's length is no more than `maxBytesPerTxList`. - * 2. The txList is well-formed RLP, with no additional trailing bytes. - * 3. The total number of transactions is no more than - * `maxTransactionsPerBlock`. - * 4. The sum of all transaction gas limit is no more than - * `blockMaxGasLimit`. - * - * A transaction is valid if and only if: - * 1. The transaction is well-formed RLP, with no additional trailing bytes - * (rule #1 in Ethereum yellow paper). - * 2. The transaction's signature is valid (rule #2 in Ethereum yellow paper). - * 3. The transaction's the gas limit is no smaller than the intrinsic gas - * `minTxGasLimit` (rule #5 in Ethereum yellow paper). - * - * @title LibInvalidTxList - */ -library LibInvalidTxList { - // NOTE: If the order of this enum changes, then some test cases that using - // this enum in generate_genesis.test.ts may also needs to be - // modified accordingly. - error ERR_PARAMS_NOT_DEFAULTS(); - error ERR_INVALID_TX_IDX(); - error ERR_INVALID_HINT(); - error ERR_VERIFICATION_FAILURE(); - - enum Hint { - NONE, - TX_INVALID_SIG, - TX_GAS_LIMIT_TOO_SMALL - } - - function verifyTxListInvalid( - TaikoData.Config memory config, - bytes calldata encoded, - Hint hint, - uint256 txIdx - ) internal pure { - if (encoded.length > config.maxBytesPerTxList) { - _checkParams(hint, txIdx); - return; - } - - try LibTxDecoder.decodeTxList(config.chainId, encoded) returns ( - LibTxDecoder.TxList memory txList - ) { - if (txList.items.length > config.maxTransactionsPerBlock) { - _checkParams(hint, txIdx); - return; - } - - if (LibTxDecoder.sumGasLimit(txList) > config.blockMaxGasLimit) { - _checkParams(hint, txIdx); - return; - } - - if (txIdx >= txList.items.length) { - revert ERR_INVALID_TX_IDX(); - } - - LibTxDecoder.Tx memory _tx = txList.items[txIdx]; - - if (hint == Hint.TX_INVALID_SIG) { - if ( - LibTxUtils.recoverSender(config.chainId, _tx) != address(0) - ) { - revert ERR_INVALID_HINT(); - } - return; - } - - if (hint == Hint.TX_GAS_LIMIT_TOO_SMALL) { - if (_tx.gasLimit >= config.minTxGasLimit) { - revert ERR_INVALID_HINT(); - } - return; - } - - revert ERR_VERIFICATION_FAILURE(); - } catch (bytes memory) { - _checkParams(hint, txIdx); - } - } - - // Checks hint and txIdx both have 0 values. - function _checkParams(Hint hint, uint256 txIdx) private pure { - if (hint != Hint.NONE || txIdx != 0) revert ERR_PARAMS_NOT_DEFAULTS(); - } -} diff --git a/packages/protocol/contracts/libs/LibMath.sol b/packages/protocol/contracts/libs/LibMath.sol index da96e245c53..e6f20e92d95 100644 --- a/packages/protocol/contracts/libs/LibMath.sol +++ b/packages/protocol/contracts/libs/LibMath.sol @@ -30,39 +30,4 @@ library LibMath { function max(uint256 a, uint256 b) internal pure returns (uint256) { return a > b ? a : b; } - - /** - * @notice Returns the ceil value. - * @param a The numerator. - * @param b The denominator. - * @return c The ceil value of (a/b). - */ - function divceil(uint256 a, uint256 b) internal pure returns (uint256 c) { - c = a / b; - if (c * b < a) { - c += 1; - } - } - - /** - * @notice Returns the square root of a given uint256. - * This method is taken from: - * https://github.com/Uniswap/v2-core/blob/v1.0.1/contracts/libraries/Math.sol. - * It is based on the Babylonian method: - * https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method). - * @param y The given number. - * @return z The square root of y. - */ - function sqrt(uint256 y) internal pure returns (uint256 z) { - if (y > 3) { - z = y; - uint256 x = y / 2 + 1; - while (x < z) { - z = x; - x = (y / x + x) / 2; - } - } else if (y != 0) { - z = 1; - } - } } diff --git a/packages/protocol/contracts/libs/LibReceiptDecoder.sol b/packages/protocol/contracts/libs/LibReceiptDecoder.sol deleted file mode 100644 index ea564d6d3a6..00000000000 --- a/packages/protocol/contracts/libs/LibReceiptDecoder.sol +++ /dev/null @@ -1,83 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {LibBytesUtils} from "../thirdparty/LibBytesUtils.sol"; -import {LibRLPReader} from "../thirdparty/LibRLPReader.sol"; - -library LibReceiptDecoder { - struct Receipt { - uint64 status; - uint64 cumulativeGasUsed; - bytes32[8] logsBloom; - Log[] logs; - } - - struct Log { - address contractAddress; - bytes32[] topics; - bytes data; - } - - function decodeReceipt( - bytes calldata encoded - ) public pure returns (Receipt memory receipt) { - // Non-legacy transaction receipts should first remove the type prefix. - LibRLPReader.RLPItem[] memory rlpItems = LibRLPReader.readList( - encoded[0] >= 0x0 && encoded[0] <= 0x7f - ? LibBytesUtils.slice(encoded, 1) - : encoded - ); - - require(rlpItems.length == 4, "invalid items length"); - - receipt.status = uint64(LibRLPReader.readUint256(rlpItems[0])); - receipt.cumulativeGasUsed = uint64( - LibRLPReader.readUint256(rlpItems[1]) - ); - receipt.logsBloom = decodeLogsBloom(rlpItems[2]); - receipt.logs = decodeLogs(LibRLPReader.readList(rlpItems[3])); - } - - function decodeLogsBloom( - LibRLPReader.RLPItem memory logsBloomRlp - ) internal pure returns (bytes32[8] memory logsBloom) { - bytes memory bloomBytes = LibRLPReader.readBytes(logsBloomRlp); - require(bloomBytes.length == 256, "invalid logs bloom"); - - return abi.decode(bloomBytes, (bytes32[8])); - } - - function decodeLogs( - LibRLPReader.RLPItem[] memory logsRlp - ) internal pure returns (Log[] memory) { - Log[] memory logs = new Log[](logsRlp.length); - - for (uint256 i; i < logsRlp.length; ++i) { - LibRLPReader.RLPItem[] memory rlpItems = LibRLPReader.readList( - logsRlp[i] - ); - logs[i].contractAddress = LibRLPReader.readAddress(rlpItems[0]); - logs[i].topics = decodeTopics(LibRLPReader.readList(rlpItems[1])); - logs[i].data = LibRLPReader.readBytes(rlpItems[2]); - } - - return logs; - } - - function decodeTopics( - LibRLPReader.RLPItem[] memory topicsRlp - ) internal pure returns (bytes32[] memory) { - bytes32[] memory topics = new bytes32[](topicsRlp.length); - - for (uint256 i; i < topicsRlp.length; ++i) { - topics[i] = LibRLPReader.readBytes32(topicsRlp[i]); - } - - return topics; - } -} diff --git a/packages/protocol/contracts/libs/LibSharedConfig.sol b/packages/protocol/contracts/libs/LibSharedConfig.sol deleted file mode 100644 index 53e028a611b..00000000000 --- a/packages/protocol/contracts/libs/LibSharedConfig.sol +++ /dev/null @@ -1,44 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {TaikoData} from "../L1/TaikoData.sol"; - -library LibSharedConfig { - /// Returns shared configs for both TaikoL1 and TaikoL2 for production. - function getConfig() internal pure returns (TaikoData.Config memory) { - return - TaikoData.Config({ - chainId: 167, - maxNumBlocks: 2049, // owner:daniel - blockHashHistory: 40, // owner:daniel - maxVerificationsPerTx: 10, //owner:david. Each time one more block is verified, there will be ~20k more gas cost. - commitConfirmations: 0, // owner:daniel - blockMaxGasLimit: 6000000, // owner:david. Set it to 6M, since its the upper limit of the Alpha-2 testnet's circuits. - maxTransactionsPerBlock: 79, // owner:david. Set it to 79 (+1 TaikoL2.anchor transaction = 80), and 80 is the upper limit of the Alpha-2 testnet's circuits. - maxBytesPerTxList: 120000, // owner:david. Set it to 120KB, since 128KB is the upper size limit of a geth transaction, so using 120KB for the proposed transactions list calldata, 8K for the remaining tx fields. - minTxGasLimit: 21000, // owner:david - anchorTxGasLimit: 250000, // owner:david - slotSmoothingFactor: 946649, // owner:daniel - rewardBurnBips: 100, // owner:daniel. 100 basis points or 1% - proposerDepositPctg: 25, // owner:daniel - 25% - // Moving average factors - feeBaseMAF: 1024, - blockTimeMAF: 1024, - proofTimeMAF: 1024, - rewardMultiplierPctg: 400, // owner:daniel - 400% - feeGracePeriodPctg: 200, // owner:daniel - 200% - feeMaxPeriodPctg: 400, // owner:daniel - 400% - blockTimeCap: 60 seconds, // owner:daniel - proofTimeCap: 30 minutes, // owner:daniel - bootstrapDiscountHalvingPeriod: 1 seconds, // owner:daniel - enableTokenomics: true, - enablePublicInputsCheck: true, - enableAnchorValidation: true - }); - } -} diff --git a/packages/protocol/contracts/libs/LibTrieProof.sol b/packages/protocol/contracts/libs/LibTrieProof.sol index 44c46ea5cd4..749ddbf048f 100644 --- a/packages/protocol/contracts/libs/LibTrieProof.sol +++ b/packages/protocol/contracts/libs/LibTrieProof.sol @@ -27,18 +27,15 @@ library LibTrieProof { *********************/ /** - * Verifies that the value of a slot in the storage tree of `addr` - * is `value`. + * Verifies that the value of a slot in the storage of an account is value. * - * @param stateRoot The merkle root of state tree. - * @param addr The contract address. + * @param stateRoot The merkle root of state tree.. * @param slot The slot in the contract. * @param value The value to be verified. - * @param mkproof The proof obtained by encoding state proof and storage - * proof. + * @param mkproof The proof obtained by encoding storage proof. * @return verified The verification result. */ - function verify( + function verifyWithAccountProof( bytes32 stateRoot, address addr, bytes32 slot, diff --git a/packages/protocol/contracts/libs/LibTxDecoder.sol b/packages/protocol/contracts/libs/LibTxDecoder.sol deleted file mode 100644 index a7660611c82..00000000000 --- a/packages/protocol/contracts/libs/LibTxDecoder.sol +++ /dev/null @@ -1,237 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {LibBytesUtils} from "../thirdparty/LibBytesUtils.sol"; -import {LibRLPReader} from "../thirdparty/LibRLPReader.sol"; - -library LibTxDecoder { - struct TransactionLegacy { - uint256 nonce; - uint256 gasPrice; - uint256 gasLimit; - address destination; - uint256 amount; - bytes data; - uint8 v; - uint256 r; - uint256 s; - } - - struct Transaction2930 { - uint256 chainId; - uint256 nonce; - uint256 gasPrice; - uint256 gasLimit; - address destination; - uint256 amount; - bytes data; - AccessItem[] accessList; - uint8 signatureYParity; - uint256 signatureR; - uint256 signatureS; - } - - struct Transaction1559 { - uint256 chainId; - uint256 nonce; - uint256 maxPriorityFeePerGas; - uint256 maxFeePerGas; - uint256 gasLimit; - address destination; - uint256 amount; - bytes data; - AccessItem[] accessList; - uint8 signatureYParity; - uint256 signatureR; - uint256 signatureS; - } - - struct AccessItem { - address addr; - bytes32[] slots; - } - - struct Tx { - uint8 txType; - address destination; - bytes data; - uint256 gasLimit; - uint8 v; - uint256 r; - uint256 s; - bytes txData; - } - - struct TxList { - Tx[] items; - } - - function decodeTxList( - uint256 chainId, - bytes calldata encoded - ) public pure returns (TxList memory txList) { - if (encoded.length == 0) { - return txList; - } - LibRLPReader.RLPItem[] memory txs = LibRLPReader.readList(encoded); - - Tx[] memory _txList = new Tx[](txs.length); - for (uint256 i; i < txs.length; ++i) { - _txList[i] = decodeTx(chainId, LibRLPReader.readBytes(txs[i])); - } - - txList = TxList(_txList); - } - - function decodeTx( - uint256 chainId, - bytes memory txBytes - ) public pure returns (Tx memory _tx) { - uint8 txType; - assembly { - txType := byte(0, mload(add(txBytes, 32))) - } - - _tx.txData = txBytes; - - // @see https://eips.ethereum.org/EIPS/eip-2718#backwards-compatibility - if (txType >= 0xc0 && txType <= 0xfe) { - // Legacy tx: - _tx.txType = 0; - LibRLPReader.RLPItem[] memory txBody = LibRLPReader.readList( - txBytes - ); - TransactionLegacy memory txLegacy = decodeLegacyTx(chainId, txBody); - _tx.gasLimit = txLegacy.gasLimit; - _tx.destination = txLegacy.destination; - _tx.v = txLegacy.v; - _tx.r = txLegacy.r; - _tx.s = txLegacy.s; - _tx.data = txLegacy.data; - } else if (txType <= 0x7f) { - _tx.txType = txType; - LibRLPReader.RLPItem[] memory txBody = LibRLPReader.readList( - LibBytesUtils.slice(txBytes, 1) - ); - - if (txType == 1) { - Transaction2930 memory tx2930 = decodeTx2930(txBody); - _tx.gasLimit = tx2930.gasLimit; - _tx.destination = tx2930.destination; - _tx.v = tx2930.signatureYParity; - _tx.r = tx2930.signatureR; - _tx.s = tx2930.signatureS; - _tx.data = tx2930.data; - } else if (_tx.txType == 2) { - Transaction1559 memory tx1559 = decodeTx1559(txBody); - _tx.gasLimit = tx1559.gasLimit; - _tx.destination = tx1559.destination; - _tx.v = tx1559.signatureYParity; - _tx.r = tx1559.signatureR; - _tx.s = tx1559.signatureS; - _tx.data = tx1559.data; - } else { - revert("invalid txType"); - } - } else { - revert("invalid prefix"); - } - } - - function hashTxList( - bytes calldata encoded - ) internal pure returns (bytes32) { - return keccak256(encoded); - } - - function decodeLegacyTx( - uint256 chainId, - LibRLPReader.RLPItem[] memory body - ) internal pure returns (TransactionLegacy memory txLegacy) { - require(body.length == 9, "invalid items length"); - - txLegacy.nonce = LibRLPReader.readUint256(body[0]); - txLegacy.gasPrice = LibRLPReader.readUint256(body[1]); - txLegacy.gasLimit = LibRLPReader.readUint256(body[2]); - txLegacy.destination = LibRLPReader.readAddress(body[3]); - txLegacy.amount = LibRLPReader.readUint256(body[4]); - txLegacy.data = LibRLPReader.readBytes(body[5]); - // EIP-155 is enabled on L2 - txLegacy.v = uint8( - LibRLPReader.readUint256(body[6]) - chainId * 2 + 35 - ); - txLegacy.r = LibRLPReader.readUint256(body[7]); - txLegacy.s = LibRLPReader.readUint256(body[8]); - } - - function decodeTx2930( - LibRLPReader.RLPItem[] memory body - ) internal pure returns (Transaction2930 memory tx2930) { - require(body.length == 11, "invalid items length"); - - tx2930.chainId = LibRLPReader.readUint256(body[0]); - tx2930.nonce = LibRLPReader.readUint256(body[1]); - tx2930.gasPrice = LibRLPReader.readUint256(body[2]); - tx2930.gasLimit = LibRLPReader.readUint256(body[3]); - tx2930.destination = LibRLPReader.readAddress(body[4]); - tx2930.amount = LibRLPReader.readUint256(body[5]); - tx2930.data = LibRLPReader.readBytes(body[6]); - tx2930.accessList = decodeAccessList(LibRLPReader.readList(body[7])); - tx2930.signatureYParity = uint8(LibRLPReader.readUint256(body[8])); - tx2930.signatureR = LibRLPReader.readUint256(body[9]); - tx2930.signatureS = LibRLPReader.readUint256(body[10]); - } - - function decodeTx1559( - LibRLPReader.RLPItem[] memory body - ) internal pure returns (Transaction1559 memory tx1559) { - require(body.length == 12, "invalid items length"); - - tx1559.chainId = LibRLPReader.readUint256(body[0]); - tx1559.nonce = LibRLPReader.readUint256(body[1]); - tx1559.maxPriorityFeePerGas = LibRLPReader.readUint256(body[2]); - tx1559.maxFeePerGas = LibRLPReader.readUint256(body[3]); - tx1559.gasLimit = LibRLPReader.readUint256(body[4]); - tx1559.destination = LibRLPReader.readAddress(body[5]); - tx1559.amount = LibRLPReader.readUint256(body[6]); - tx1559.data = LibRLPReader.readBytes(body[7]); - tx1559.accessList = decodeAccessList(LibRLPReader.readList(body[8])); - tx1559.signatureYParity = uint8(LibRLPReader.readUint256(body[9])); - tx1559.signatureR = LibRLPReader.readUint256(body[10]); - tx1559.signatureS = LibRLPReader.readUint256(body[11]); - } - - function decodeAccessList( - LibRLPReader.RLPItem[] memory accessListRLP - ) internal pure returns (AccessItem[] memory accessList) { - accessList = new AccessItem[](accessListRLP.length); - for (uint256 i; i < accessListRLP.length; ++i) { - LibRLPReader.RLPItem[] memory items = LibRLPReader.readList( - accessListRLP[i] - ); - address addr = LibRLPReader.readAddress(items[0]); - LibRLPReader.RLPItem[] memory slotListRLP = LibRLPReader.readList( - items[1] - ); - bytes32[] memory slots = new bytes32[](slotListRLP.length); - for (uint256 j; j < slotListRLP.length; ++j) { - slots[j] = LibRLPReader.readBytes32(slotListRLP[j]); - } - accessList[i] = AccessItem(addr, slots); - } - } - - function sumGasLimit( - TxList memory txList - ) internal pure returns (uint256 sum) { - Tx[] memory items = txList.items; - for (uint256 i; i < items.length; ++i) { - sum += items[i].gasLimit; - } - } -} diff --git a/packages/protocol/contracts/libs/LibTxUtils.sol b/packages/protocol/contracts/libs/LibTxUtils.sol deleted file mode 100644 index eb37d2df7ac..00000000000 --- a/packages/protocol/contracts/libs/LibTxUtils.sol +++ /dev/null @@ -1,104 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol"; - -import {LibTxDecoder} from "../libs/LibTxDecoder.sol"; -import {LibBytesUtils} from "../thirdparty/LibBytesUtils.sol"; -import {LibRLPReader} from "../thirdparty/LibRLPReader.sol"; -import {LibRLPWriter} from "../thirdparty/LibRLPWriter.sol"; - -library LibTxUtils { - function hashUnsignedTx( - uint256 chainId, - LibTxDecoder.Tx memory transaction - ) - internal - pure - returns ( - // transaction hash (without signature values) - bytes32 hash - ) - { - LibRLPReader.RLPItem[] memory txRLPItems; - if (transaction.txType == 0) { - // Legacy transactions do not have the EIP-2718 type prefix. - txRLPItems = LibRLPReader.readList(transaction.txData); - } else { - txRLPItems = LibRLPReader.readList( - LibBytesUtils.slice(transaction.txData, 1) - ); - } - - if (transaction.txType == 0) { - // Legacy transactions - require(txRLPItems.length == 9, "invalid rlp items"); - } else if (transaction.txType == 1) { - // EIP-2930 transactions - require(txRLPItems.length == 11, "invalid rlp items"); - } else if (transaction.txType == 2) { - // EIP-1559 transactions - require(txRLPItems.length == 12, "invalid rlp items"); - } else { - revert("invalid txType"); - } - - // Signature values are always last three RLP items for all kinds of - // transactions. - bytes[] memory list = new bytes[]( - transaction.txType == 0 ? txRLPItems.length : txRLPItems.length - 3 - ); - - for (uint256 i; i < list.length; ++i) { - // For Non-legacy transactions, accessList is always the - // fourth to last item. - if (transaction.txType != 0 && i == list.length - 1) { - list[i] = LibRLPReader.readRawBytes(txRLPItems[i]); - continue; - } - - list[i] = LibRLPWriter.writeBytes( - LibRLPReader.readBytes(txRLPItems[i]) - ); - - // For legacy transactions, there are three more RLP items to - // encode defined in EIP-155. - if (transaction.txType == 0 && i == list.length - 4) { - list[i + 1] = LibRLPWriter.writeUint(chainId); - list[i + 2] = LibRLPWriter.writeUint64(0); - list[i + 3] = LibRLPWriter.writeUint64(0); - break; - } - } - - bytes memory unsignedTxRlp = LibRLPWriter.writeList(list); - - // Add the EIP-2718 type prefix for non-legacy transactions. - if (transaction.txType != 0) { - unsignedTxRlp = bytes.concat( - bytes1(transaction.txType), - unsignedTxRlp - ); - } - - hash = keccak256(unsignedTxRlp); - } - - function recoverSender( - uint256 chainId, - LibTxDecoder.Tx memory transaction - ) internal pure returns (address) { - return - ecrecover( - hashUnsignedTx(chainId, transaction), - transaction.v + 27, - bytes32(transaction.r), - bytes32(transaction.s) - ); - } -} diff --git a/packages/protocol/contracts/libs/LibZKP.sol b/packages/protocol/contracts/libs/LibZKP.sol deleted file mode 100644 index c035613dc52..00000000000 --- a/packages/protocol/contracts/libs/LibZKP.sol +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -library LibZKP { - /********************* - * Public Functions * - *********************/ - - function verify( - address plonkVerifier, - bytes calldata zkproof, - bytes32 instance - ) internal view returns (bool verified) { - (bool isCallSuccess, bytes memory response) = plonkVerifier.staticcall( - bytes.concat( - bytes16(0), - bytes16(instance), // left 16 bytes of the given instance - bytes16(0), - bytes16(uint128(uint256(instance))), // right 16 bytes of the given instance - zkproof - ) - ); - - return isCallSuccess && bytes32(response) == keccak256("taiko"); - } -} diff --git a/packages/protocol/contracts/signal/SignalService.sol b/packages/protocol/contracts/signal/SignalService.sol index d5b62b9581b..9c1525fafa2 100644 --- a/packages/protocol/contracts/signal/SignalService.sol +++ b/packages/protocol/contracts/signal/SignalService.sol @@ -7,16 +7,13 @@ pragma solidity ^0.8.18; import {EssentialContract} from "../common/EssentialContract.sol"; -import {IHeaderSync} from "../common/IHeaderSync.sol"; -import {LibBlockHeader, BlockHeader} from "../libs/LibBlockHeader.sol"; -import {LibTrieProof} from "../libs/LibTrieProof.sol"; import {ISignalService} from "./ISignalService.sol"; +import {IXchainSync} from "../common/IXchainSync.sol"; +import {LibSecureMerkleTrie} from "../thirdparty/LibSecureMerkleTrie.sol"; contract SignalService is ISignalService, EssentialContract { - using LibBlockHeader for BlockHeader; - struct SignalProof { - BlockHeader header; + uint256 height; bytes proof; } @@ -66,33 +63,23 @@ contract SignalService is ISignalService, EssentialContract { bytes32 signal, bytes calldata proof ) public view returns (bool) { - if (srcChainId == block.chainid) { - revert B_WRONG_CHAIN_ID(); - } - - if (app == address(0)) { - revert B_NULL_APP_ADDR(); - } - - if (signal == 0) { - revert B_ZERO_SIGNAL(); - } + if (srcChainId == block.chainid) revert B_WRONG_CHAIN_ID(); + if (app == address(0)) revert B_NULL_APP_ADDR(); + if (signal == 0) revert B_ZERO_SIGNAL(); SignalProof memory sp = abi.decode(proof, (SignalProof)); + // Resolve the TaikoL1 or TaikoL2 contract if on Ethereum or Taiko. - bytes32 syncedHeaderHash = IHeaderSync(resolve("taiko", false)) - .getSyncedHeader(sp.header.height); + bytes32 syncedSignalRoot = IXchainSync(resolve("taiko", false)) + .getXchainSignalRoot(sp.height); return - syncedHeaderHash != 0 && - syncedHeaderHash == sp.header.hashBlockHeader() && - LibTrieProof.verify({ - stateRoot: sp.header.stateRoot, - addr: resolve(srcChainId, "signal_service", false), - slot: getSignalSlot(app, signal), - value: bytes32(uint256(1)), - mkproof: sp.proof - }); + LibSecureMerkleTrie.verifyInclusionProof( + bytes.concat(getSignalSlot(app, signal)), + hex"01", + sp.proof, + syncedSignalRoot + ); } /** @@ -104,6 +91,20 @@ contract SignalService is ISignalService, EssentialContract { address app, bytes32 signal ) public pure returns (bytes32 signalSlot) { - signalSlot = keccak256(abi.encodePacked(app, signal)); + // Equivilance to `keccak256(abi.encodePacked(app, signal))` + assembly { + // Load the free memory pointer and allocate memory for the concatenated arguments + let ptr := mload(0x40) + + // Store the app address and signal bytes32 value in the allocated memory + mstore(ptr, app) + mstore(add(ptr, 32), signal) + + // Calculate the hash of the concatenated arguments using keccak256 + signalSlot := keccak256(add(ptr, 12), 52) + + // Update free memory pointer + mstore(0x40, add(ptr, 64)) + } } } diff --git a/packages/protocol/contracts/test/L1/TestTaikoL1.sol b/packages/protocol/contracts/test/L1/TestTaikoL1.sol index 8ec2f5d17f4..dc587b86a73 100644 --- a/packages/protocol/contracts/test/L1/TestTaikoL1.sol +++ b/packages/protocol/contracts/test/L1/TestTaikoL1.sol @@ -6,11 +6,11 @@ pragma solidity ^0.8.18; -import {IProofVerifier} from "../../L1/ProofVerifier.sol"; import {TaikoL1} from "../../L1/TaikoL1.sol"; import {TaikoData} from "../../L1/TaikoData.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; -contract TestTaikoL1 is TaikoL1, IProofVerifier { +contract TestTaikoL1 is TaikoL1 { function getConfig() public pure @@ -19,50 +19,14 @@ contract TestTaikoL1 is TaikoL1, IProofVerifier { { config.chainId = 167; // up to 2048 pending blocks - config.maxNumBlocks = 4; - config.blockHashHistory = 3; - // This number is calculated from maxNumBlocks to make + config.maxNumProposedBlocks = 4; + config.ringBufferSize = 6; + // This number is calculated from maxNumProposedBlocks to make // the 'the maximum value of the multiplier' close to 20.0 config.maxVerificationsPerTx = 0; - config.commitConfirmations = 1; - config.blockMaxGasLimit = 30000000; // TODO - config.maxTransactionsPerBlock = 20; // TODO - config.maxBytesPerTxList = 10240; // TODO - config.minTxGasLimit = 21000; // TODO - config.anchorTxGasLimit = 250000; - config.slotSmoothingFactor = 590000; - config.rewardBurnBips = 100; // 100 basis points or 1% - config.proposerDepositPctg = 25; // 25% - - // Moving average factors - config.feeBaseMAF = 1024; - config.blockTimeMAF = 64; - config.proofTimeMAF = 64; - - config.rewardMultiplierPctg = 400; // 400% - config.feeGracePeriodPctg = 125; // 125% - config.feeMaxPeriodPctg = 375; // 375% - config.blockTimeCap = 48 seconds; - config.proofTimeCap = 4 seconds; - config.bootstrapDiscountHalvingPeriod = 1 seconds; - config.enableTokenomics = false; - config.enablePublicInputsCheck = false; - } - - function verifyZKP( - string memory /*verifierId*/, - bytes calldata /*zkproof*/, - bytes32 /*instance*/ - ) public pure override returns (bool) { - return true; - } - - function verifyMKP( - bytes memory /*key*/, - bytes memory /*value*/, - bytes memory /*proof*/, - bytes32 /*root*/ - ) public pure override returns (bool) { - return true; + config.blockMaxGasLimit = 30000000; + config.maxTransactionsPerBlock = 20; + config.maxBytesPerTxList = 120000; + config.minTxGasLimit = 21000; } } diff --git a/packages/protocol/contracts/test/L1/TestTaikoL1EnableTokenomics.sol b/packages/protocol/contracts/test/L1/TestTaikoL1EnableTokenomics.sol index 6e5f561eb7c..40fd9147328 100644 --- a/packages/protocol/contracts/test/L1/TestTaikoL1EnableTokenomics.sol +++ b/packages/protocol/contracts/test/L1/TestTaikoL1EnableTokenomics.sol @@ -6,11 +6,11 @@ pragma solidity ^0.8.18; -import {IProofVerifier} from "../../L1/ProofVerifier.sol"; import {TaikoL1} from "../../L1/TaikoL1.sol"; import {TaikoData} from "../../L1/TaikoData.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; -contract TestTaikoL1EnableTokenomics is TaikoL1, IProofVerifier { +contract TestTaikoL1EnableTokenomics is TaikoL1 { function getConfig() public pure @@ -19,51 +19,14 @@ contract TestTaikoL1EnableTokenomics is TaikoL1, IProofVerifier { { config.chainId = 167; // up to 2048 pending blocks - config.maxNumBlocks = 6; - config.blockHashHistory = 10; - // This number is calculated from maxNumBlocks to make + config.maxNumProposedBlocks = 6; + config.ringBufferSize = 8; + // This number is calculated from maxNumProposedBlocks to make // the 'the maximum value of the multiplier' close to 20.0 config.maxVerificationsPerTx = 0; // dont verify blocks automatically - config.commitConfirmations = 1; - config.blockMaxGasLimit = 30000000; // TODO - config.maxTransactionsPerBlock = 20; // TODO - config.maxBytesPerTxList = 10240; // TODO - config.minTxGasLimit = 21000; // TODO - config.anchorTxGasLimit = 250000; - config.slotSmoothingFactor = 590000; - config.rewardBurnBips = 100; // 100 basis points or 1% - config.proposerDepositPctg = 25; // 25% - - // Moving average factors - config.feeBaseMAF = 1024; - config.blockTimeMAF = 64; - config.proofTimeMAF = 64; - - config.rewardMultiplierPctg = 400; // 400% - config.feeGracePeriodPctg = 125; // 125% - config.feeMaxPeriodPctg = 375; // 375% - config.blockTimeCap = 48 seconds; - config.proofTimeCap = 5 seconds; - config.bootstrapDiscountHalvingPeriod = 1 seconds; - config.enableTokenomics = true; - config.enablePublicInputsCheck = false; - config.enableAnchorValidation = false; - } - - function verifyZKP( - string memory /*verifierId*/, - bytes calldata /*zkproof*/, - bytes32 /*instance*/ - ) public pure override returns (bool) { - return true; - } - - function verifyMKP( - bytes memory /*key*/, - bytes memory /*value*/, - bytes memory /*proof*/, - bytes32 /*root*/ - ) public pure override returns (bool) { - return true; + config.blockMaxGasLimit = 30000000; + config.maxTransactionsPerBlock = 20; + config.maxBytesPerTxList = 120000; + config.minTxGasLimit = 21000; } } diff --git a/packages/protocol/contracts/test/L1/TestTaikoL2.sol b/packages/protocol/contracts/test/L1/TestTaikoL2.sol deleted file mode 100644 index 0dc2684e012..00000000000 --- a/packages/protocol/contracts/test/L1/TestTaikoL2.sol +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {TaikoL2} from "../../L2/TaikoL2.sol"; -import {TaikoData} from "../../L1/TaikoData.sol"; - -contract TestTaikoL2 is TaikoL2 { - constructor(address _addressManager) TaikoL2(_addressManager) {} - - function getConfig() - public - pure - override - returns (TaikoData.Config memory config) - { - config.chainId = 167; - // up to 2048 pending blocks - config.maxNumBlocks = 4; - config.blockHashHistory = 3; - // This number is calculated from maxNumBlocks to make - // the 'the maximum value of the multiplier' close to 20.0 - config.maxVerificationsPerTx = 2; - config.commitConfirmations = 1; - config.blockMaxGasLimit = 30000000; // TODO - config.maxTransactionsPerBlock = 20; // TODO - config.maxBytesPerTxList = 10240; // TODO - config.minTxGasLimit = 21000; // TODO - config.anchorTxGasLimit = 250000; - config.slotSmoothingFactor = 590000; - config.rewardBurnBips = 100; // 100 basis points or 1% - config.proposerDepositPctg = 25; // 25% - - // Moving average factors - config.feeBaseMAF = 1024; - config.blockTimeMAF = 64; - config.proofTimeMAF = 64; - - config.rewardMultiplierPctg = 400; // 400% - config.feeGracePeriodPctg = 125; // 125% - config.feeMaxPeriodPctg = 375; // 375% - config.blockTimeCap = 48 seconds; - config.proofTimeCap = 60 minutes; - config.bootstrapDiscountHalvingPeriod = 1 seconds; - config.enableTokenomics = true; - config.enablePublicInputsCheck = false; - config.enableAnchorValidation = false; - } -} diff --git a/packages/protocol/contracts/test/L1/TestTaikoL2EnablePublicInputsCheck.sol b/packages/protocol/contracts/test/L1/TestTaikoL2EnablePublicInputsCheck.sol deleted file mode 100644 index 9856a7fe251..00000000000 --- a/packages/protocol/contracts/test/L1/TestTaikoL2EnablePublicInputsCheck.sol +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {TaikoL2} from "../../L2/TaikoL2.sol"; -import {TaikoData} from "../../L1/TaikoData.sol"; - -contract TestTaikoL2EnablePublicInputsCheck is TaikoL2 { - constructor(address _addressManager) TaikoL2(_addressManager) {} - - function getConfig() - public - pure - override - returns (TaikoData.Config memory config) - { - config.chainId = 167; - // up to 2048 pending blocks - config.maxNumBlocks = 4; - config.blockHashHistory = 3; - // This number is calculated from maxNumBlocks to make - // the 'the maximum value of the multiplier' close to 20.0 - config.maxVerificationsPerTx = 2; - config.commitConfirmations = 1; - config.blockMaxGasLimit = 30000000; // TODO - config.maxTransactionsPerBlock = 20; // TODO - config.maxBytesPerTxList = 10240; // TODO - config.minTxGasLimit = 21000; // TODO - config.anchorTxGasLimit = 250000; - config.slotSmoothingFactor = 590000; - config.rewardBurnBips = 100; // 100 basis points or 1% - config.proposerDepositPctg = 25; // 25% - - // Moving average factors - config.feeBaseMAF = 1024; - config.blockTimeMAF = 64; - config.proofTimeMAF = 64; - - config.rewardMultiplierPctg = 400; // 400% - config.feeGracePeriodPctg = 125; // 125% - config.feeMaxPeriodPctg = 375; // 375% - config.blockTimeCap = 48 seconds; - config.proofTimeCap = 60 minutes; - config.bootstrapDiscountHalvingPeriod = 1 seconds; - config.enableTokenomics = true; - config.enablePublicInputsCheck = true; - config.enableAnchorValidation = true; - } -} diff --git a/packages/protocol/contracts/test/TestContracts.sol b/packages/protocol/contracts/test/TestContracts.sol new file mode 100644 index 00000000000..106daa05dae --- /dev/null +++ b/packages/protocol/contracts/test/TestContracts.sol @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import {SignalService} from "../signal/SignalService.sol"; +import {TokenVault} from "../bridge/TokenVault.sol"; +import {EtherVault} from "../bridge/EtherVault.sol"; +import {BridgedERC20} from "../bridge/BridgedERC20.sol"; +import {Bridge} from "../bridge/Bridge.sol"; +import {TaikoToken} from "../L1/TaikoToken.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; + +// The old implementation that is also used in hardhat tests. + +contract TestERC20 is ERC20 { + constructor(uint256 initialSupply) ERC20("TestERC20", "TEST") { + _mint(msg.sender, initialSupply); + } +} + +contract TestSignalService is SignalService {} + +contract TestTokenVault is TokenVault {} + +contract TestEtherVault is EtherVault {} + +contract TestBridgedERC20 is BridgedERC20 {} + +contract TestBridge is Bridge {} + +contract TestTaikoToken is TaikoToken { + function mintAnyone(address account, uint256 amount) public { + _mint(account, amount); + } +} diff --git a/packages/protocol/contracts/test/bridge/TestHeaderSync.sol b/packages/protocol/contracts/test/bridge/TestHeaderSync.sol index 88c2c593f2b..22916ccf4d1 100644 --- a/packages/protocol/contracts/test/bridge/TestHeaderSync.sol +++ b/packages/protocol/contracts/test/bridge/TestHeaderSync.sol @@ -6,23 +6,27 @@ pragma solidity ^0.8.18; -import {IHeaderSync} from "../../common/IHeaderSync.sol"; +import {IXchainSync} from "../../common/IXchainSync.sol"; // TODO(roger): remove this file. If you need extra functionality in // the Bridge contract, create a TestBridge.sol contract instead. -contract TestHeaderSync is IHeaderSync { - bytes32 public headerHash; +contract TestXchainSync is IXchainSync { + bytes32 private _blockHash; + bytes32 private _signalRoot; - function setSyncedHeader(bytes32 header) external { - headerHash = header; + function setXchainBlockHeader(bytes32 blockHash) external { + _blockHash = blockHash; } - function getSyncedHeader(uint256 number) external view returns (bytes32) { - number; - return headerHash; + function setXchainSignalRoot(bytes32 signalRoot) external { + _signalRoot = signalRoot; } - function getLatestSyncedHeader() external view returns (bytes32) { - return headerHash; + function getXchainBlockHash(uint256) external view returns (bytes32) { + return _blockHash; + } + + function getXchainSignalRoot(uint256) external view returns (bytes32) { + return _signalRoot; } } diff --git a/packages/protocol/contracts/test/bridge/libs/TestBadReceiver.sol b/packages/protocol/contracts/test/bridge/libs/TestBadReceiver.sol deleted file mode 100644 index 3deadd43611..00000000000 --- a/packages/protocol/contracts/test/bridge/libs/TestBadReceiver.sol +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -// TODO(roger): Merge this file into TestReceiver.sol. -contract TestBadReceiver { - receive() external payable { - revert("can not send to this contract"); - } - - fallback() external payable { - revert("can not send to this contract"); - } - - function transfer() public pure { - revert("this fails"); - } -} diff --git a/packages/protocol/contracts/test/erc20/FreeMintERC20.sol b/packages/protocol/contracts/test/erc20/FreeMintERC20.sol index b6f0025b358..2c6bc266240 100644 --- a/packages/protocol/contracts/test/erc20/FreeMintERC20.sol +++ b/packages/protocol/contracts/test/erc20/FreeMintERC20.sol @@ -18,11 +18,11 @@ contract FreeMintERC20 is ERC20 { constructor(string memory name, string memory symbol) ERC20(name, symbol) {} function mint(address to) public { - if (minters[msg.sender]) { + if (minters[to]) { revert HasMinted(); } - minters[msg.sender] = true; + minters[to] = true; _mint(to, 50 * (10 ** decimals())); } } diff --git a/packages/protocol/contracts/test/thirdparty/TestERC20.sol b/packages/protocol/contracts/test/erc20/RegularERC20.sol similarity index 63% rename from packages/protocol/contracts/test/thirdparty/TestERC20.sol rename to packages/protocol/contracts/test/erc20/RegularERC20.sol index 52039565ea0..e4239c1cc52 100644 --- a/packages/protocol/contracts/test/thirdparty/TestERC20.sol +++ b/packages/protocol/contracts/test/erc20/RegularERC20.sol @@ -4,8 +4,8 @@ pragma solidity ^0.8.18; import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; -contract TestERC20 is ERC20 { - constructor(uint256 initialSupply) ERC20("TestERC20", "TEST") { +contract RegularERC20 is ERC20 { + constructor(uint256 initialSupply) ERC20("RegularERC20", "RGL") { _mint(msg.sender, initialSupply); } } diff --git a/packages/protocol/contracts/test/libs/TestLib1559Math.sol b/packages/protocol/contracts/test/libs/TestLib1559Math.sol deleted file mode 100644 index 0bbb57b9a05..00000000000 --- a/packages/protocol/contracts/test/libs/TestLib1559Math.sol +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {Lib1559Math} from "../../libs/Lib1559Math.sol"; - -contract TestLib1559Math { - function adjustTarget( - uint256 firstTarget, - uint256 startingMeasurement, - uint256 baseTargetVal, - uint256 adjustmentFactor - ) public pure returns (uint256 nextTarget) { - nextTarget = Lib1559Math.adjustTarget( - firstTarget, - startingMeasurement, - baseTargetVal, - adjustmentFactor - ); - } - - function adjustTargetReverse( - uint256 firstTarget, - uint256 startingMeasurement, - uint256 baseTargetVal, - uint256 adjustmentFactor - ) public pure returns (uint256 nextTarget) { - nextTarget = Lib1559Math.adjustTargetReverse( - firstTarget, - startingMeasurement, - baseTargetVal, - adjustmentFactor - ); - } -} diff --git a/packages/protocol/contracts/test/libs/TestLibAnchorSignature.sol b/packages/protocol/contracts/test/libs/TestLibAnchorSignature.sol deleted file mode 100644 index aeac784ebce..00000000000 --- a/packages/protocol/contracts/test/libs/TestLibAnchorSignature.sol +++ /dev/null @@ -1,34 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {LibAnchorSignature} from "../../libs/LibAnchorSignature.sol"; - -library TestLibAnchorSignature { - function signTransaction( - bytes32 digest, - uint8 k - ) public view returns (uint8 v, uint256 r, uint256 s) { - return LibAnchorSignature.signTransaction(digest, k); - } - - function recover( - bytes32 hash, - uint8 v, - bytes32 r, - bytes32 s - ) public pure returns (address) { - return ecrecover(hash, v, r, s); - } - - function goldenTouchAddress() public pure returns (address, uint256) { - return ( - LibAnchorSignature.K_GOLDEN_TOUCH_ADDRESS, - LibAnchorSignature.K_GOLDEN_TOUCH_PRIVATEKEY - ); - } -} diff --git a/packages/protocol/contracts/test/libs/TestLibProving.sol b/packages/protocol/contracts/test/libs/TestLibProving.sol deleted file mode 100644 index b03c84b5712..00000000000 --- a/packages/protocol/contracts/test/libs/TestLibProving.sol +++ /dev/null @@ -1,386 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -// This file is an exact copy of LibProving.sol -// except the implementation of the following flags are false: - -// FLAG_VALIDATE_ANCHOR_TX_SIGNATURE -// FLAG_CHECK_METADATA -// FLAG_VALIDATE_HEADER_FOR_METADATA - -// @dev we need to update this when we update LibProving.sol - -pragma solidity ^0.8.18; - -import {LibProving, IProofVerifier} from "../../L1/libs/LibProving.sol"; -import {AddressResolver} from "../../common/AddressResolver.sol"; -import {LibAnchorSignature} from "../../libs/LibAnchorSignature.sol"; -import {LibBlockHeader, BlockHeader} from "../../libs/LibBlockHeader.sol"; -import {LibReceiptDecoder} from "../../libs/LibReceiptDecoder.sol"; -import {LibTxDecoder} from "../../libs/LibTxDecoder.sol"; -import {LibTxUtils} from "../../libs/LibTxUtils.sol"; -import {LibBytesUtils} from "../../thirdparty/LibBytesUtils.sol"; -import {LibRLPWriter} from "../../thirdparty/LibRLPWriter.sol"; -import {LibUtils} from "../../L1/libs/LibUtils.sol"; -import {TaikoData} from "../../L1/TaikoData.sol"; - -library TestLibProving { - using LibBlockHeader for BlockHeader; - using LibUtils for TaikoData.BlockMetadata; - using LibUtils for TaikoData.State; - - bool private constant FLAG_VALIDATE_ANCHOR_TX_SIGNATURE = false; - bool private constant FLAG_CHECK_METADATA = false; - bool private constant FLAG_VALIDATE_HEADER_FOR_METADATA = false; - - bytes32 public constant INVALIDATE_BLOCK_LOG_TOPIC = - keccak256("BlockInvalidated(bytes32)"); - - bytes4 public constant ANCHOR_TX_SELECTOR = - bytes4(keccak256("anchor(uint256,bytes32)")); - - event BlockProven( - uint256 indexed id, - bytes32 parentHash, - bytes32 blockHash, - address prover, - uint64 provenAt - ); - - error L1_ALREADY_PROVEN(); - error L1_ANCHOR_CALLDATA(); - error L1_ANCHOR_DEST(); - error L1_ANCHOR_GAS_LIMIT(); - error L1_ANCHOR_RECEIPT_ADDR(); - error L1_ANCHOR_RECEIPT_DATA(); - error L1_ANCHOR_RECEIPT_LOGS(); - error L1_ANCHOR_RECEIPT_PROOF(); - error L1_ANCHOR_RECEIPT_STATUS(); - error L1_ANCHOR_RECEIPT_TOPICS(); - error L1_ANCHOR_SIG_R(); - error L1_ANCHOR_SIG_S(); - error L1_ANCHOR_TX_PROOF(); - error L1_ANCHOR_TYPE(); - error L1_CANNOT_BE_FIRST_PROVER(); - error L1_CONFLICT_PROOF(); - error L1_ID(); - error L1_INPUT_SIZE(); - error L1_META_MISMATCH(); - error L1_NOT_ORACLE_PROVER(); - error L1_PROOF_LENGTH(); - error L1_PROVER(); - error L1_ZKP(); - - function proveBlock( - TaikoData.State storage state, - TaikoData.Config memory config, - AddressResolver resolver, - uint256 blockId, - bytes[] calldata inputs - ) public { - // Check and decode inputs - if (inputs.length != 3) revert L1_INPUT_SIZE(); - TaikoData.Evidence memory evidence = abi.decode( - inputs[0], - (TaikoData.Evidence) - ); - - // Check evidence - if (evidence.meta.id != blockId) revert L1_ID(); - - if (evidence.proofs.length != 3) revert L1_PROOF_LENGTH(); - - IProofVerifier proofVerifier = IProofVerifier( - resolver.resolve("proof_verifier", false) - ); - - if (config.enableAnchorValidation) { - _proveAnchorForValidBlock({ - config: config, - resolver: resolver, - proofVerifier: proofVerifier, - evidence: evidence, - anchorTx: inputs[1], - anchorReceipt: inputs[2] - }); - } - - // ZK-prove block and mark block proven to be valid. - _proveBlock({ - state: state, - config: config, - resolver: resolver, - proofVerifier: proofVerifier, - evidence: evidence, - target: evidence.meta, - blockHashOverride: 0 - }); - } - - function proveBlockInvalid( - TaikoData.State storage state, - TaikoData.Config memory config, - AddressResolver resolver, - uint256 blockId, - bytes[] calldata inputs - ) public { - // Check and decode inputs - if (inputs.length != 3) revert L1_INPUT_SIZE(); - TaikoData.Evidence memory evidence = abi.decode( - inputs[0], - (TaikoData.Evidence) - ); - TaikoData.BlockMetadata memory target = abi.decode( - inputs[1], - (TaikoData.BlockMetadata) - ); - - // Check evidence - if (evidence.meta.id != blockId) revert L1_ID(); - if (evidence.proofs.length != 2) revert L1_PROOF_LENGTH(); - - IProofVerifier proofVerifier = IProofVerifier( - resolver.resolve("proof_verifier", false) - ); - - if (config.enableAnchorValidation) { - _proveAnchorForInvalidBlock({ - config: config, - resolver: resolver, - target: target, - proofVerifier: proofVerifier, - evidence: evidence, - invalidateBlockReceipt: inputs[2] - }); - } - - // ZK-prove block and mark block proven as invalid. - _proveBlock({ - state: state, - config: config, - resolver: resolver, - proofVerifier: proofVerifier, - evidence: evidence, - target: target, - blockHashOverride: LibUtils.BLOCK_DEADEND_HASH - }); - } - - function _proveBlock( - TaikoData.State storage state, - TaikoData.Config memory config, - AddressResolver resolver, - IProofVerifier proofVerifier, - TaikoData.Evidence memory evidence, - TaikoData.BlockMetadata memory target, - bytes32 blockHashOverride - ) private { - if (evidence.meta.id != target.id) revert L1_ID(); - if (evidence.prover == address(0)) revert L1_PROVER(); - - if (FLAG_CHECK_METADATA) { - if ( - target.id <= state.latestVerifiedId || - target.id >= state.nextBlockId - ) revert L1_ID(); - if ( - state - .getProposedBlock(config.maxNumBlocks, target.id) - .metaHash != target.hashMetadata() - ) revert L1_META_MISMATCH(); - } - - if (FLAG_VALIDATE_HEADER_FOR_METADATA) { - if ( - evidence.header.parentHash == 0 || - evidence.header.beneficiary != evidence.meta.beneficiary || - evidence.header.difficulty != 0 || - evidence.header.gasLimit != - evidence.meta.gasLimit + config.anchorTxGasLimit || - evidence.header.gasUsed == 0 || - evidence.header.timestamp != evidence.meta.timestamp || - evidence.header.extraData.length != - evidence.meta.extraData.length || - keccak256(evidence.header.extraData) != - keccak256(evidence.meta.extraData) || - evidence.header.mixHash != evidence.meta.mixHash - ) revert L1_META_MISMATCH(); - } - - // For alpha-2 testnet, the network allows any address to submit ZKP, - // but a special prover can skip ZKP verification if the ZKP is empty. - - bool oracleProving; - - TaikoData.ForkChoice storage fc = state.forkChoices[target.id][ - evidence.header.parentHash - ]; - - bytes32 blockHash = evidence.header.hashBlockHeader(); - bytes32 _blockHash = blockHashOverride == 0 - ? blockHash - : blockHashOverride; - - if (fc.blockHash == 0) { - address oracleProver = resolver.resolve("oracle_prover", true); - if (msg.sender == oracleProver) { - oracleProving = true; - } else { - if (oracleProver != address(0)) revert L1_NOT_ORACLE_PROVER(); - fc.prover = evidence.prover; - fc.provenAt = uint64(block.timestamp); - } - fc.blockHash = _blockHash; - } else { - if (fc.blockHash != _blockHash) revert L1_CONFLICT_PROOF(); - if (fc.prover != address(0)) revert L1_ALREADY_PROVEN(); - - fc.prover = evidence.prover; - fc.provenAt = uint64(block.timestamp); - } - - if (oracleProving) { - // do not verify zkp - } else { - bool verified = proofVerifier.verifyZKP({ - verifierId: string( - abi.encodePacked("plonk_verifier_", evidence.circuitId) - ), - zkproof: evidence.proofs[0], - instance: _getInstance(evidence) - }); - if (!verified) revert L1_ZKP(); - } - - emit BlockProven({ - id: target.id, - parentHash: evidence.header.parentHash, - blockHash: _blockHash, - prover: fc.prover, - provenAt: fc.provenAt - }); - } - - function _proveAnchorForValidBlock( - TaikoData.Config memory config, - AddressResolver resolver, - IProofVerifier proofVerifier, - TaikoData.Evidence memory evidence, - bytes calldata anchorTx, - bytes calldata anchorReceipt - ) private view { - // Check anchor tx is valid - LibTxDecoder.Tx memory _tx = LibTxDecoder.decodeTx( - config.chainId, - anchorTx - ); - if (_tx.txType != 0) revert L1_ANCHOR_TYPE(); - if (_tx.destination != resolver.resolve(config.chainId, "taiko", false)) - revert L1_ANCHOR_DEST(); - if (_tx.gasLimit != config.anchorTxGasLimit) - revert L1_ANCHOR_GAS_LIMIT(); - - if (FLAG_VALIDATE_ANCHOR_TX_SIGNATURE) { - // Check anchor tx's signature is valid and deterministic - if ( - _tx.r != LibAnchorSignature.GX && - _tx.r != LibAnchorSignature.GX2 - ) revert L1_ANCHOR_SIG_R(); - - if (_tx.r == LibAnchorSignature.GX2) { - (, , uint256 s) = LibAnchorSignature.signTransaction( - LibTxUtils.hashUnsignedTx(config.chainId, _tx), - 1 - ); - if (s != 0) revert L1_ANCHOR_SIG_S(); - } - } - - // Check anchor tx's calldata is valid - if ( - !LibBytesUtils.equal( - _tx.data, - bytes.concat( - ANCHOR_TX_SELECTOR, - bytes32(evidence.meta.l1Height), - evidence.meta.l1Hash - ) - ) - ) revert L1_ANCHOR_CALLDATA(); - - // Check anchor tx is the 1st tx in the block - if ( - !proofVerifier.verifyMKP({ - key: LibRLPWriter.writeUint(0), - value: anchorTx, - proof: evidence.proofs[1], - root: evidence.header.transactionsRoot - }) - ) revert L1_ANCHOR_TX_PROOF(); - // Check anchor tx does not throw - LibReceiptDecoder.Receipt memory receipt = LibReceiptDecoder - .decodeReceipt(anchorReceipt); - if (receipt.status != 1) revert L1_ANCHOR_RECEIPT_STATUS(); - if ( - !proofVerifier.verifyMKP({ - key: LibRLPWriter.writeUint(0), - value: anchorReceipt, - proof: evidence.proofs[2], - root: evidence.header.receiptsRoot - }) - ) revert L1_ANCHOR_RECEIPT_PROOF(); - } - - function _proveAnchorForInvalidBlock( - TaikoData.Config memory config, - AddressResolver resolver, - TaikoData.BlockMetadata memory target, - IProofVerifier proofVerifier, - TaikoData.Evidence memory evidence, - bytes calldata invalidateBlockReceipt - ) private view { - if ( - !proofVerifier.verifyMKP({ - key: LibRLPWriter.writeUint(0), - value: invalidateBlockReceipt, - proof: evidence.proofs[1], - root: evidence.header.receiptsRoot - }) - ) revert L1_ANCHOR_RECEIPT_PROOF(); - // Check the 1st receipt is for an InvalidateBlock tx with - // a BlockInvalidated event - LibReceiptDecoder.Receipt memory receipt = LibReceiptDecoder - .decodeReceipt(invalidateBlockReceipt); - if (receipt.status != 1) revert L1_ANCHOR_RECEIPT_STATUS(); - if (receipt.logs.length != 1) revert L1_ANCHOR_RECEIPT_LOGS(); - LibReceiptDecoder.Log memory log = receipt.logs[0]; - if ( - log.contractAddress != - resolver.resolve(config.chainId, "taiko", false) - ) revert L1_ANCHOR_RECEIPT_ADDR(); - if (log.data.length != 0) revert L1_ANCHOR_RECEIPT_DATA(); - if ( - log.topics.length != 2 || - log.topics[0] != INVALIDATE_BLOCK_LOG_TOPIC || - log.topics[1] != target.txListHash - ) revert L1_ANCHOR_RECEIPT_TOPICS(); - } - - function _getInstance( - TaikoData.Evidence memory evidence - ) internal pure returns (bytes32) { - bytes[] memory list = LibBlockHeader.getBlockHeaderRLPItemsList( - evidence.header, - 2 - ); - - uint256 len = list.length; - list[len - 2] = LibRLPWriter.writeAddress(evidence.prover); - list[len - 1] = LibRLPWriter.writeHash(evidence.meta.txListHash); - - return keccak256(LibRLPWriter.writeList(list)); - } -} diff --git a/packages/protocol/contracts/test/libs/TestLibReceiptDecoder.sol b/packages/protocol/contracts/test/libs/TestLibReceiptDecoder.sol deleted file mode 100644 index 3b5ad45e67d..00000000000 --- a/packages/protocol/contracts/test/libs/TestLibReceiptDecoder.sol +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {LibReceiptDecoder} from "../../libs/LibReceiptDecoder.sol"; - -contract TestLibReceiptDecoder { - event TestLibReceiptDecoderEvent(uint256 indexed a, bytes32 b); - - function emitTestEvent(uint256 a, bytes32 b) public { - emit TestLibReceiptDecoderEvent(a, b); - } - - function decodeReceipt( - bytes calldata encoded - ) public pure returns (LibReceiptDecoder.Receipt memory receipt) { - return LibReceiptDecoder.decodeReceipt(encoded); - } -} diff --git a/packages/protocol/contracts/test/libs/TestLibTrieProof.sol b/packages/protocol/contracts/test/libs/TestLibTrieProof.sol index b935445456b..d549b8c342c 100644 --- a/packages/protocol/contracts/test/libs/TestLibTrieProof.sol +++ b/packages/protocol/contracts/test/libs/TestLibTrieProof.sol @@ -14,14 +14,4 @@ contract TestLibTrieProof { sstore(slot, val) } } - - function verify( - bytes32 stateRoot, - address addr, - bytes32 slot, - bytes32 value, - bytes calldata mkproof - ) public pure returns (bool) { - return LibTrieProof.verify(stateRoot, addr, slot, value, mkproof); - } } diff --git a/packages/protocol/contracts/test/libs/TestLibTxUtils.sol b/packages/protocol/contracts/test/libs/TestLibTxUtils.sol deleted file mode 100644 index 5082ccdd57b..00000000000 --- a/packages/protocol/contracts/test/libs/TestLibTxUtils.sol +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {LibTxUtils} from "../../libs/LibTxUtils.sol"; -import {LibTxDecoder} from "../../libs/LibTxDecoder.sol"; - -contract TestLibTxUtils { - function hashUnsignedTx( - uint256 chainId, - LibTxDecoder.Tx memory transaction - ) public pure returns (bytes32 hash) { - return LibTxUtils.hashUnsignedTx(chainId, transaction); - } - - function recoverSender( - uint256 chainId, - LibTxDecoder.Tx memory transaction - ) public pure returns (address) { - return LibTxUtils.recoverSender(chainId, transaction); - } -} diff --git a/packages/protocol/contracts/test/libs/TestLibZKP.sol b/packages/protocol/contracts/test/libs/TestLibZKP.sol deleted file mode 100644 index c9e8cef6ec3..00000000000 --- a/packages/protocol/contracts/test/libs/TestLibZKP.sol +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import {LibZKP} from "../../libs/LibZKP.sol"; - -contract TestLibZKP { - function verify( - address plonkVerifier, - bytes calldata zkproof, - bytes32 instance - ) public view returns (bool verified) { - return LibZKP.verify(plonkVerifier, zkproof, instance); - } -} diff --git a/packages/protocol/contracts/test/thirdparty/TestLibBlockHeaderDecoder.sol b/packages/protocol/contracts/test/thirdparty/TestLibBlockHeaderDecoder.sol deleted file mode 100644 index 44583a40040..00000000000 --- a/packages/protocol/contracts/test/thirdparty/TestLibBlockHeaderDecoder.sol +++ /dev/null @@ -1,35 +0,0 @@ -// SPDX-License-Identifier: MIT -// _____ _ _ _ _ -// |_ _|_ _(_) |_____ | | __ _| |__ ___ -// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< -// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ - -pragma solidity ^0.8.18; - -import { - LibBlockHeaderDecoder -} from "../../thirdparty/LibBlockHeaderDecoder.sol"; - -contract TestLibBlockHeaderDecoder { - function decodeBlockHeader( - bytes calldata blockHeader, - bytes32 blockHash, - bool postEIP1559 - ) - public - pure - returns ( - bytes32 _stateRoot, - uint256 _timestamp, - bytes32 _transactionsRoot, - bytes32 _receiptsRoot - ) - { - return - LibBlockHeaderDecoder.decodeBlockHeader( - blockHeader, - blockHash, - postEIP1559 - ); - } -} diff --git a/packages/protocol/contracts/test/thirdparty/TestTaikoToken.sol b/packages/protocol/contracts/test/thirdparty/TestTaikoToken.sol deleted file mode 100644 index 2fe5e1da777..00000000000 --- a/packages/protocol/contracts/test/thirdparty/TestTaikoToken.sol +++ /dev/null @@ -1,10 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity ^0.8.18; -import {TaikoToken} from "../../L1/TaikoToken.sol"; - -contract TestTaikoToken is TaikoToken { - function mintAnyone(address account, uint256 amount) public { - _mint(account, amount); - } -} diff --git a/packages/protocol/contracts/thirdparty/AddressManager.sol b/packages/protocol/contracts/thirdparty/AddressManager.sol deleted file mode 100644 index 83a6b102a6f..00000000000 --- a/packages/protocol/contracts/thirdparty/AddressManager.sol +++ /dev/null @@ -1,94 +0,0 @@ -// SPDX-License-Identifier: MIT -// Taken from https://github.com/ethereum-optimism/optimism/blob/develop/packages/contracts/contracts/libraries/resolver/LibAddressManager.sol -// Modified: -// - contract name `LibAddressManager` modified to `AddressManager` to obey `lint:sol` -// - `Ownable.sol` modified to `OwnableUpgradeable.sol` -// - `init()` added to initialize -// - `setAddress` modified to `addAddress` to conform to ABI of `IAddressManager.sol` -// (The MIT License) -// -// Copyright 2020-2021 Optimism -// Copyright 2022-2023 Taiko Labs -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -pragma solidity ^0.8.18; - -/* External Imports */ -import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; - -/** - * @title AddressManager - */ -contract AddressManager is OwnableUpgradeable { - /************* - * Variables * - *************/ - - mapping(bytes32 nameHash => address addr) private addresses; - - /********** - * Events * - **********/ - - event AddressSet( - string indexed _name, - address _newAddress, - address _oldAddress - ); - - /******************** - * External Functions* - ********************/ - - /// @dev Initializer to be called after being deployed behind a proxy. - function init() external initializer { - OwnableUpgradeable.__Ownable_init(); - } - - /** - * Changes the address associated with a particular name. - * @param name String name to associate an address with. - * @param newAddress Address to associate with the name. - */ - function setAddress( - string memory name, - address newAddress - ) external onlyOwner { - bytes32 nameHash = keccak256(bytes(name)); - address oldAddress = addresses[nameHash]; - addresses[nameHash] = newAddress; - emit AddressSet(name, newAddress, oldAddress); - } - - /******************** - * Public Functions * - ********************/ - - /** - * Retrieves the address associated with a given name. - * @param name Name to retrieve an address for. - * @return Address associated with the given name. - */ - function getAddress(string memory name) external view returns (address) { - bytes32 nameHash = keccak256(bytes(name)); - return addresses[nameHash]; - } -} diff --git a/packages/protocol/contracts/thirdparty/ERC20Upgradeable.sol b/packages/protocol/contracts/thirdparty/ERC20Upgradeable.sol index a758f08c5e8..f218b25b9b1 100644 --- a/packages/protocol/contracts/thirdparty/ERC20Upgradeable.sol +++ b/packages/protocol/contracts/thirdparty/ERC20Upgradeable.sol @@ -28,7 +28,7 @@ // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -pragma solidity ^0.8.0; +pragma solidity ^0.8.18; import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol"; diff --git a/packages/protocol/contracts/thirdparty/LibBlockHeaderDecoder.sol b/packages/protocol/contracts/thirdparty/LibBlockHeaderDecoder.sol deleted file mode 100644 index 74c2a4e9686..00000000000 --- a/packages/protocol/contracts/thirdparty/LibBlockHeaderDecoder.sol +++ /dev/null @@ -1,234 +0,0 @@ -// SPDX-License-Identifier: MIT -// Taken from https://github.com/privacy-scaling-explorations/zkevm-chain/blob/master/contracts/ZkEvmL2MessageDeliverer.sol#L23 -// NOTE: No MIT license provided at the time, only SPDX-License-Identifier - -pragma solidity ^0.8.18; - -/** - * @title LibBlockHeaderDecoder - */ -library LibBlockHeaderDecoder { - /// @notice This method extracts [stateRoot, timestamp] of a block header. - /// @param blockHeader RLP encoded block header - /// @param blockHash The expected block hash - /// @param postEIP1559 True to check header to have 16 fields, 15 otherwise - /// @return _stateRoot The state root - /// @return _timestamp The timestamp - /// @return _transactionsRoot The transactionsRoot - /// @return _receiptsRoot The receiptsRoot - function decodeBlockHeader( - bytes calldata blockHeader, - bytes32 blockHash, - bool postEIP1559 - ) - public - pure - returns ( - bytes32 _stateRoot, - uint256 _timestamp, - bytes32 _transactionsRoot, - bytes32 _receiptsRoot - ) - { - uint256 numFields = postEIP1559 ? 16 : 15; - assembly { - // TODO: use templating techniques and DRY code (with PatriciaValidator). - - // function Error(string) - function revertWith(msg) { - mstore(0, shl(224, 0x08c379a0)) - mstore(4, 32) - mstore(68, msg) - let msgLen - for { - - } msg { - - } { - msg := shl(8, msg) - msgLen := add(msgLen, 1) - } - mstore(36, msgLen) - revert(0, 100) - } - - // loads and aligns a value from calldata - // given the `len|offset` stored at `memPtr` - function loadValue(memPtr) -> value, len { - let tmp := mload(memPtr) - // assuming 0xffffff is sufficient for storing calldata offset - let offset := and(tmp, 0xffffff) - len := shr(128, tmp) - - if gt(len, 31) { - // special case - truncating the value is intended. - // this matches the behavior in `derivePath` that truncates to 256 bits. - offset := add(offset, sub(len, 32)) - value := calldataload(offset) - leave - } - - // everything else is - // < 32 bytes - align the value - let bits := mul(sub(32, len), 8) - value := calldataload(offset) - value := shr(bits, value) - } - - // returns the `len` of the whole RLP list at `ptr` - // and the offset for the first value inside the list. - function decodeListLength(ptr) -> len, startOffset { - let firstByte := byte(0, calldataload(ptr)) - - // SHORT LIST - // 0 - 55 bytes - // 0xc0 - 0xf7 - if lt(firstByte, 0xf8) { - len := sub(firstByte, 0xbf) - startOffset := add(ptr, 1) - leave - } - - // LONG LIST - // 0xf8 - 0xff - // > 55 bytes - { - let lenOf := sub(firstByte, 0xf7) - - // load the extended length - startOffset := add(ptr, 1) - let extendedLen := calldataload(startOffset) - let bits := sub(256, mul(lenOf, 8)) - extendedLen := shr(bits, extendedLen) - - len := add(extendedLen, lenOf) - len := add(len, 1) - startOffset := add(startOffset, lenOf) - leave - } - } - - // returns the calldata offset of the value and the length in bytes - // for the RLP encoded data item at `ptr`. - // used in `decodeFlat` - function decodeValue(ptr) -> dataLen, valueOffset, isData { - let firstByte := byte(0, calldataload(ptr)) - - // SINGLE BYTE - // 0x00 - 0x7f - if lt(firstByte, 0x80) { - dataLen := 1 - valueOffset := ptr - isData := 1 - leave - } - - // DATA ITEM - // 0 - 55 bytes long - // 0x80 - 0xb7 - if lt(firstByte, 0xb8) { - dataLen := sub(firstByte, 0x80) - valueOffset := add(ptr, 1) - isData := 1 - leave - } - - // LONG DATA ITEM - // > 55 bytes - // 0xb8 - 0xbf - if lt(firstByte, 0xc0) { - // the extended length is ignored - dataLen := sub(firstByte, 0xb7) - - // load the extended length - valueOffset := add(ptr, 1) - let extendedLen := calldataload(valueOffset) - let bits := sub(256, mul(dataLen, 8)) - valueOffset := add(ptr, dataLen) - dataLen := shr(bits, extendedLen) - leave - } - - // everything else is unexpected - revertWith("RLP") - } - - // decodes all RLP encoded data and stores their DATA items - // [length, calldata offset] in a continuous memory region. - // Expects that the RLP starts with a list that defines the length - // of the whole RLP region. - function decodeFlat(_ptr) -> ptr, memStart, nItems, hash { - ptr := _ptr - - // load free memory ptr - // doesn't update the ptr and leaves the memory region dirty - memStart := mload(64) - - let payloadLen, startOffset := decodeListLength(ptr) - // reuse memStart region and hash - calldatacopy(memStart, ptr, payloadLen) - hash := keccak256(memStart, payloadLen) - - let memPtr := memStart - let ptrStop := add(ptr, payloadLen) - ptr := startOffset - - // decode until the end of the list - for { - - } lt(ptr, ptrStop) { - - } { - let len, valuePtr, isData := decodeValue(ptr) - ptr := add(len, valuePtr) - - if isData { - // store the length of the data and the calldata offset - let tmp := or(shl(128, len), valuePtr) - mstore(memPtr, tmp) - memPtr := add(memPtr, 32) - } - } - - nItems := div(sub(memPtr, memStart), 32) - } - - // expecting 16 individual items from the block header - let calldataPtr, memStart, nItems, hash := decodeFlat( - blockHeader.offset - ) - - // boundary check - if iszero( - eq(calldataPtr, add(blockHeader.offset, blockHeader.length)) - ) { - revertWith("BOUNDS") - } - if iszero(eq(hash, blockHash)) { - revertWith("HASH") - } - - // Depends on if EIP1559 is enabled, check the item size to be 15 or 16. - if iszero(eq(nItems, numFields)) { - revertWith("ITEMS") - } - - // at position 11 should be the timestamp - let len - _timestamp, len := loadValue(add(memStart, mul(32, 11))) - // sstore(originTimestamp.slot, value) - - // at position 3 should be the stateRoot - _stateRoot, len := loadValue(add(memStart, mul(32, 3))) - // sstore(originStateRoot.slot, value) - - // at position 4 should be transactionsRoot - _transactionsRoot, len := loadValue(add(memStart, mul(32, 4))) - // sstore(originTransactionsRoot.slot, value) - - // at position 5 should be receiptsRoot - _receiptsRoot, len := loadValue(add(memStart, mul(32, 5))) - // sstore(originReceiptsRoot.slot, value) - } - } -} diff --git a/packages/protocol/contracts/thirdparty/LibFixedPointMath.sol b/packages/protocol/contracts/thirdparty/LibFixedPointMath.sol new file mode 100644 index 00000000000..57931c6e889 --- /dev/null +++ b/packages/protocol/contracts/thirdparty/LibFixedPointMath.sol @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: UNLICENSED +// Taken from: https://github.com/recmo/experiment-solexp/blob/main/src/FixedPointMathLib.sol +pragma solidity ^0.8.18; + +library LibFixedPointMath { + uint128 public constant MAX_EXP_INPUT = 135305999368893231588; + uint256 public constant SCALING_FACTOR_1E18 = 1e18; // For fixed point representation factor + + error Overflow(); + + // Computes e^x in 1e18 fixed point. + function exp(int256 x) internal pure returns (int256 r) { + unchecked { + // Input x is in fixed point format, with scale factor 1/1e18. + + // When the result is < 0.5 we return zero. This happens when + // x <= floor(log(0.5e18) * 1e18) ~ -42e18 + if (x <= -42139678854452767551) { + return 0; + } + + // When the result is > (2**255 - 1) / 1e18 we can not represent it + // as an int256. This happens when x >= floor(log((2**255 -1) / 1e18) * 1e18) ~ 135. + if (x >= 135305999368893231589) revert Overflow(); + + // x is now in the range (-42, 136) * 1e18. Convert to (-42, 136) * 2**96 + // for more intermediate precision and a binary basis. This base conversion + // is a multiplication by 1e18 / 2**96 = 5**18 / 2**78. + x = (x << 78) / 5 ** 18; + + // Reduce range of x to (-½ ln 2, ½ ln 2) * 2**96 by factoring out powers of two + // such that exp(x) = exp(x') * 2**k, where k is an integer. + // Solving this gives k = round(x / log(2)) and x' = x - k * log(2). + int256 k = ((x << 96) / 54916777467707473351141471128 + 2 ** 95) >> + 96; + x = x - k * 54916777467707473351141471128; + // k is in the range [-61, 195]. + + // Evaluate using a (6, 7)-term rational approximation + // p is made monic, we will multiply by a scale factor later + int256 p = x + 2772001395605857295435445496992; + p = ((p * x) >> 96) + 44335888930127919016834873520032; + p = ((p * x) >> 96) + 398888492587501845352592340339721; + p = ((p * x) >> 96) + 1993839819670624470859228494792842; + p = p * x + (4385272521454847904632057985693276 << 96); + // We leave p in 2**192 basis so we don't need to scale it back up for the division. + // Evaluate using using Knuth's scheme from p. 491. + int256 z = x + 750530180792738023273180420736; + z = ((z * x) >> 96) + 32788456221302202726307501949080; + int256 w = x - 2218138959503481824038194425854; + w = ((w * z) >> 96) + 892943633302991980437332862907700; + int256 q = z + w - 78174809823045304726920794422040; + q = ((q * w) >> 96) + 4203224763890128580604056984195872; + assembly { + // Div in assembly because solidity adds a zero check despite the `unchecked`. + // The q polynomial is known not to have zeros in the domain. (All roots are complex) + // No scaling required because p is already 2**96 too large. + r := sdiv(p, q) + } + // r should be in the range (0.09, 0.25) * 2**96. + + // We now need to multiply r by + // * the scale factor s = ~6.031367120..., + // * the 2**k factor from the range reduction, and + // * the 1e18 / 2**96 factor for base converison. + // We do all of this at once, with an intermediate result in 2**213 basis + // so the final right shift is always by a positive amount. + r = int256( + (uint256(r) * + 3822833074963236453042738258902158003155416615667) >> + uint256(195 - k) + ); + } + } +} diff --git a/packages/protocol/contracts/thirdparty/LibMerkleTrie.sol b/packages/protocol/contracts/thirdparty/LibMerkleTrie.sol index f00a74a04cc..ce19ee47f97 100644 --- a/packages/protocol/contracts/thirdparty/LibMerkleTrie.sol +++ b/packages/protocol/contracts/thirdparty/LibMerkleTrie.sol @@ -55,24 +55,24 @@ library LibMerkleTrie { **********************/ // TREE_RADIX determines the number of elements per branch node. - uint8 constant TREE_RADIX = 16; + uint8 private constant TREE_RADIX = 16; // Branch nodes have TREE_RADIX elements plus an additional `value` slot. - uint8 constant BRANCH_NODE_LENGTH = TREE_RADIX + 1; + uint8 private constant BRANCH_NODE_LENGTH = TREE_RADIX + 1; // Leaf nodes and extension nodes always have two elements, a `path` and a `value`. - uint8 constant LEAF_OR_EXTENSION_NODE_LENGTH = 2; + uint8 private constant LEAF_OR_EXTENSION_NODE_LENGTH = 2; // Prefixes are prepended to the `path` within a leaf or extension node and // allow us to differentiate between the two node types. `ODD` or `EVEN` is // determined by the number of nibbles within the unprefixed `path`. If the // number of nibbles if even, we need to insert an extra padding nibble so // the resulting prefixed `path` has an even number of nibbles. - uint8 constant PREFIX_EXTENSION_EVEN = 0; - uint8 constant PREFIX_EXTENSION_ODD = 1; - uint8 constant PREFIX_LEAF_EVEN = 2; - uint8 constant PREFIX_LEAF_ODD = 3; + uint8 private constant PREFIX_EXTENSION_EVEN = 0; + uint8 private constant PREFIX_EXTENSION_ODD = 1; + uint8 private constant PREFIX_LEAF_EVEN = 2; + uint8 private constant PREFIX_LEAF_ODD = 3; // Just a utility constant. RLP represents `NULL` as 0x80. - bytes1 constant RLP_NULL = bytes1(0x80); + bytes1 private constant RLP_NULL = bytes1(0x80); /********************** * Internal Functions * diff --git a/packages/protocol/contracts/thirdparty/LibSecureMerkleTrie.sol b/packages/protocol/contracts/thirdparty/LibSecureMerkleTrie.sol index 8a8f63f597f..d79657ef7f5 100644 --- a/packages/protocol/contracts/thirdparty/LibSecureMerkleTrie.sol +++ b/packages/protocol/contracts/thirdparty/LibSecureMerkleTrie.sol @@ -88,6 +88,6 @@ library LibSecureMerkleTrie { function _getSecureKey( bytes memory _key ) private pure returns (bytes memory _secureKey) { - return abi.encodePacked(keccak256(_key)); + return bytes.concat(keccak256(_key)); } } diff --git a/packages/protocol/docs/L2EIP1559.md b/packages/protocol/docs/L2EIP1559.md new file mode 100644 index 00000000000..3ff6502a02c --- /dev/null +++ b/packages/protocol/docs/L2EIP1559.md @@ -0,0 +1,35 @@ +# Taiko L2 EIP-1559 + +## The overall design + +The EIP-1559 base fee per gas (basefee) on Taiko L2 is calculated by Taiko L1 protocol contracts and injected into the block's metadata. The Taiko client should skip calculating the basefee value, and stop burning the basefee, and send it to a named address ("treasure") specified in Taiko L1 protocol contracts, which will be verified by Taiko ZKP. + +## Basefee Calculation + +We use Vitalik's idea proposed here: https://ethresear.ch/t/make-eip-1559-more-like-an-amm-curve/9082 (read it first!). The x-axis represents the current gas _excess_, the y-axis is the ether amount. When some gas are sold, excess goes up, and the difference of the new and the old y value is the total cost of the gas purchase, or $$cost(gasAmount) = e^{(gasExcess + gasAmount)} -e^{gasExcess}$$, and $$basefee(gasAmount) = cost(gasAmount)/gasAmount$$. + +A nice property of the $e^x$ curve is that for a chosen gas target $T$, the basefee ($basefee(T)$) for a block with $T$ gas and the basefee ($basefee(2T)$) for a block with $2T$ gas always have the fixed ratio: $$R == basefee(2T)/basefee(T)$$ regardless of the current _gas excess_ value, $T$ and $R$ together determine the shape of the curve. In Ethereum, $T$ is 15 million and $R$ is 12.5%; it's yet to be decided what value we should use in Taiko. + +![4f785d35722c2f255a448c7803d511a0bb2b148c](https://user-images.githubusercontent.com/99078276/229010491-a3fcddd5-1798-47af-bafc-5d680fbb574c.png) + +### Implementation of $e^x$ + +We steal the `exp(x)` implementation from https://github.com/recmo/experiment-solexp/blob/main/src/test/FixedPointMathLib.t.sol. This implementation has a limitation: the range is input parameter `x` is `[-42.139678854, + 135.305999369]` with 18 decimals/precision. In our case, we need to map gas excess to the range of `[0, K]` where `K` equals `135.305999369` or `135305999368893231588` in fixed point integer form. + +The $e^x$ curve can be expressed using $$py=e^{qx}$$, as you can see below: the two parameters $p$ and $q$ defines the shape/slope of the curve. We need to find the right value for them, otherwise, the basefee movement will not be as expected. + +Screenshot 2023-03-30 at 17 21 19 + +(the plot above is available at https://www.desmos.com/calculator/yncurfx3ar) + +## Scaling + +The following is how we calculate $p$ and $q$. Assuming the max gas excess $M$, a uint64. then $q = 135305999368893231588/M$ (internally we keep $q'=q <<64$ as it fits into a uint64). + +We also assuming the initial value of gasExcess is $M/2$; and the initial basefee (the fee for purchasing 1 gas) is $b_0$, or $$b_0=p e^{(M/2 + 1)} + p e^{M/2}$$, so $$p = b_0/(e^{(M/2 + 1)} + e^{M/2})$$. + +It turns out the initial value of gasExcess doesn't really matter for the above calculation due to the nature of the e-curve. But choosing $M/2$ allows price to go up and down by the same max amount. + +## Adjust the slope + +To adjust the slope of the curve to satisfy $R == basefee(2T)/basefee(T)$, we simply need to chose $M$ and $b_0$. $b_0$ is simply to decide -- if we believe the cost of a L2 transaction is $1/n$ of the same L1 transaction, we simply use the current L1 base fee divided by $n$. Then we can simply tune $M$ to make sure $R == basefee(2T)/basefee(T)$ holds. This is very simply manually a try-and-adjust approach as shown in `Lib1559Math.t.sol`. The TaikoL1 contract will check if $R == basefee(2T)/basefee(T)$ holds but will not calculate $M$ for us. diff --git a/packages/protocol/foundry.toml b/packages/protocol/foundry.toml new file mode 100644 index 00000000000..fdf3fa04279 --- /dev/null +++ b/packages/protocol/foundry.toml @@ -0,0 +1,27 @@ +# See more config options https://github.com/foundry-rs/foundry/tree/master/config +[profile.default] +solc-version = "0.8.18" +src = 'contracts' +out = 'out' +test = 'test' +libs = ['lib'] +gas_price = 10000000000 # gas price is 10 Gwei +optimizer = true +optimizer_runs = 200 +ffi = true +gas_limit = '18446744073709551615' + +# Do not change the block_gas_limit value, TaikoL2.t.sol depends on it. +block_gas_limit = 30000000 #30M +# For mainnet_mock tokenomics test we need a huge value to run lots of iterations. +# Use the above 30M for TaikoL2.t.sol related tests, only use this number with mainnet simulation. +#block_gas_limit = 3000000000 #3000M + + +fs_permissions = [ + { access = "read", path = "./out"}, + { access = "read-write", path = "./deployments"}, + { access = "read", path = "./test"}, +] + +fuzz = { runs = 256 } diff --git a/packages/protocol/hardhat.config.ts b/packages/protocol/hardhat.config.ts index fc953d6986d..975acabd6ec 100644 --- a/packages/protocol/hardhat.config.ts +++ b/packages/protocol/hardhat.config.ts @@ -1,5 +1,6 @@ import "@nomiclabs/hardhat-etherscan"; import "@nomiclabs/hardhat-waffle"; +// import "@nomicfoundation/hardhat-foundry"; import "@openzeppelin/hardhat-upgrades"; import "@typechain/hardhat"; import "hardhat-abi-exporter"; @@ -8,8 +9,6 @@ import "hardhat-gas-reporter"; import { HardhatUserConfig } from "hardhat/config"; import "solidity-coverage"; import "solidity-docgen"; -import "./tasks/compile_yul"; -import "./tasks/deploy_L1"; const hardhatMnemonic = "test test test test test test test test test test test taik"; @@ -27,6 +26,7 @@ const config: HardhatUserConfig = { pages: "files", templates: "./solidity-docgen/templates", }, + gasReporter: { currency: "USD", enabled: true, diff --git a/packages/protocol/lib/forge-std b/packages/protocol/lib/forge-std new file mode 160000 index 00000000000..b1cf2603743 --- /dev/null +++ b/packages/protocol/lib/forge-std @@ -0,0 +1 @@ +Subproject commit b1cf26037432d18fea6917ba82a6fedbff71c037 diff --git a/packages/protocol/lib/foundry-random b/packages/protocol/lib/foundry-random new file mode 160000 index 00000000000..e39ad2c18c4 --- /dev/null +++ b/packages/protocol/lib/foundry-random @@ -0,0 +1 @@ +Subproject commit e39ad2c18c4ff57c6231799f40c787e41eb2dad0 diff --git a/packages/protocol/lib/openzeppelin-contracts b/packages/protocol/lib/openzeppelin-contracts new file mode 160000 index 00000000000..d00acef4059 --- /dev/null +++ b/packages/protocol/lib/openzeppelin-contracts @@ -0,0 +1 @@ +Subproject commit d00acef4059807535af0bd0dd0ddf619747a044b diff --git a/packages/protocol/lib/openzeppelin-contracts-upgradeable b/packages/protocol/lib/openzeppelin-contracts-upgradeable new file mode 160000 index 00000000000..f6c4c9c4ec6 --- /dev/null +++ b/packages/protocol/lib/openzeppelin-contracts-upgradeable @@ -0,0 +1 @@ +Subproject commit f6c4c9c4ec601665ca74d2c9dddf547fc425658c diff --git a/packages/protocol/package.json b/packages/protocol/package.json index 448bce20656..d973a2c9c3c 100644 --- a/packages/protocol/package.json +++ b/packages/protocol/package.json @@ -3,24 +3,21 @@ "version": "0.6.1", "private": true, "scripts": { - "compile": "pnpm hardhat compile", - "compile:yul": "LOG_LEVEL=debug pnpm hardhat compile_yul", + "clean": "rm -rf abis cache && pnpm hardhat clean", + "compile": "forge build", + "compile:hardhat": "pnpm hardhat compile", "export:abi": "pnpm hardhat clear-abi && pnpm hardhat export-abi", "export:docs": "pnpm hardhat docgen && pnpm prettier --write ../website/pages/docs/reference/contract-documentation/**/*.md", - "clean": "rm -rf abis cache && pnpm hardhat clean", "lint:sol": "pnpm prettier '**/*.sol' --write && pnpm solhint 'contracts/**/*.sol' --fix", "eslint": "pnpm exec eslint --ignore-path .eslintignore --ext .js,.ts .", "eslint:fix": "pnpm exec eslint --ignore-path .eslintignore --ext .js,.ts . --fix", - "test": "./scripts/download_solc.sh && pnpm hardhat test --grep '^[^integration]'", - "coverage": "pnpm hardhat coverage --solcoverjs ./.solcover.js --show-stack-traces", - "test:coverage": "pnpm coverage", + "test": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.t.sol", + "snapshot": "forge snapshot --match-path test/**/*.t.sol", + "test:coverage": "forge coverage --report lcov", + "test:sim": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 30000000000 --memory-limit 1073741824", "generate:genesis": "ts-node ./utils/generate_genesis/main.ts", "test:genesis": "./test/genesis/generate_genesis.test.sh", - "test:bridge": "TEST_TYPE=integrationbridge ./test/test_integration.sh", - "test:integration": "TEST_TYPE=integration ./test/test_integration.sh", - "test:tokenomics": "TEST_TYPE=tokenomics ./test/test_integration.sh", - "test:all": "pnpm run test && pnpm run test:integration && pnpm run test:tokenomics && pnpm run test:genesis", - "deploy:hardhat": "./scripts/download_solc.sh && LOG_LEVEL=debug pnpm hardhat deploy_L1 --network hardhat --dao-vault 0xdf08f82de32b8d460adbe8d72043e3a7e25a3b39 --team-vault 0xdf08f82de32b8d460adbe8d72043e3a7e25a3b39 --l2-genesis-block-hash 0xee1950562d42f0da28bd4550d88886bc90894c77c9c9eaefef775d4c8223f259 --bridge-funder-private-key ddbf12f72c946bb1e6de5eaf580c51db51828ba198d9b0dba9c7d48ec748dc04 --bridge-fund 0xff --oracle-prover 0xdf08f82de32b8d460adbe8d72043e3a7e25a3b39 --solo-proposer 0xdf08f82de32b8d460adbe8d72043e3a7e25a3b39 --confirmations 1", + "deploy:foundry": "./script/download_solc.sh && ./script/test_deploy_on_l1.sh", "lint-staged": "lint-staged --allow-empty", "sizer": "pnpm hardhat size-contracts" }, @@ -39,54 +36,55 @@ "author": "Taiko Labs", "license": "MIT", "devDependencies": { - "@defi-wonderland/smock": "^2.3.3", - "@nomicfoundation/hardhat-network-helpers": "^1.0.6", - "@nomiclabs/hardhat-ethers": "^2.0.0", - "@nomiclabs/hardhat-etherscan": "^3.1.0", - "@nomiclabs/hardhat-waffle": "^2.0.0", - "@openzeppelin/hardhat-upgrades": "^1.14.0", + "@defi-wonderland/smock": "^2.3.4", + "@foundry-rs/hardhat-forge": "^0.1.17", + "@nomicfoundation/hardhat-network-helpers": "^1.0.8", + "@nomiclabs/hardhat-ethers": "^2.2.3", + "@nomiclabs/hardhat-etherscan": "^3.1.7", + "@nomiclabs/hardhat-waffle": "^2.0.5", + "@openzeppelin/hardhat-upgrades": "^1.22.1", "@typechain/ethers-v5": "^7.2.0", "@typechain/hardhat": "^2.3.1", - "@types/chai": "^4.3.0", - "@types/glob": "^8.0.1", - "@types/mocha": "^9.1.0", - "@types/node": "^12.20.45", + "@types/chai": "^4.3.4", + "@types/glob": "^8.1.0", + "@types/mocha": "^9.1.1", + "@types/node": "^12.20.55", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", - "chai": "^4.2.0", + "chai": "^4.3.7", "chalk": "4.1.2", "dotenv": "^10.0.0", "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", + "eslint-config-prettier": "^8.8.0", "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.25.4", + "eslint-plugin-import": "^2.27.5", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.1", "eslint-plugin-promise": "^5.2.0", - "ethereum-waffle": "^3.0.0", - "ethers": "^5.0.0", + "ethereum-waffle": "^3.4.4", + "ethers": "^5.7.2", "glob": "^8.1.0", - "hardhat": "^2.8.3", - "hardhat-abi-exporter": "^2.10.0", + "hardhat": "^2.14.0", + "hardhat-abi-exporter": "^2.10.1", "hardhat-contract-sizer": "^2.8.0", "hardhat-docgen": "^1.3.0", - "hardhat-gas-reporter": "^1.0.7", - "lint-staged": "^12.3.4", + "hardhat-gas-reporter": "^1.0.9", + "lint-staged": "^12.5.0", "merkle-patricia-tree": "^4.2.4", - "prettier": "^2.5.1", - "prettier-plugin-solidity": "^1.1.2", + "prettier": "^2.8.8", + "prettier-plugin-solidity": "^1.1.3", "rlp": "^3.0.0", - "solhint": "^3.4.0", + "solhint": "^3.4.1", "solidity-coverage": "github:taikoxyz/solidity-coverage", - "solidity-docgen": "^0.6.0-beta.34", - "ts-node": "^10.5.0", + "solidity-docgen": "0.6.0-beta.35", + "ts-node": "^10.9.1", "typechain": "^5.2.0", - "typescript": "^4.5.5" + "typescript": "^4.9.5" }, "dependencies": { - "@gnosis.pm/zodiac": "^1.0.7", - "@openzeppelin/contracts": "^4.5.0", - "@openzeppelin/contracts-upgradeable": "^4.5.1", + "@gnosis.pm/zodiac": "^1.1.9", + "@openzeppelin/contracts": "^4.8.3", + "@openzeppelin/contracts-upgradeable": "^4.8.3", "channel-ts": "^0.1.2" } } diff --git a/packages/protocol/remappings.txt b/packages/protocol/remappings.txt new file mode 100644 index 00000000000..452ac282ef1 --- /dev/null +++ b/packages/protocol/remappings.txt @@ -0,0 +1,6 @@ +forge-std/=lib/forge-std/src/ +solmate/=lib/solmate/src/ +ds-test/=lib/forge-std/lib/ds-test/src/ +foundry-random/=lib/foundry-random/src/ +@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ +@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ \ No newline at end of file diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol new file mode 100644 index 00000000000..407e9ff3599 --- /dev/null +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -0,0 +1,278 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +import "forge-std/Script.sol"; +import "forge-std/console2.sol"; +import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; +import "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; +import "../contracts/L1/TaikoToken.sol"; +import "../contracts/L1/TaikoL1.sol"; +import "../contracts/bridge/Bridge.sol"; +import "../contracts/bridge/TokenVault.sol"; +import "../contracts/signal/SignalService.sol"; +import "../contracts/common/AddressManager.sol"; +import "../contracts/test/erc20/FreeMintERC20.sol"; +import "../contracts/test/erc20/MayFailFreeMintERC20.sol"; +import "../test/LibLn.sol"; + +contract DeployOnL1 is Script { + using SafeCastUpgradeable for uint256; + + bytes32 public genesisHash = vm.envBytes32("L2_GENESIS_HASH"); + + uint256 public deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + + address public taikoL2Address = vm.envAddress("TAIKO_L2_ADDRESS"); + + address public l2SignalService = vm.envAddress("L2_SIGNAL_SERVICE"); + + address public owner = vm.envAddress("OWNER"); + + address public oracleProver = vm.envAddress("ORACLE_PROVER"); + + address public soloProposer = vm.envAddress("SOLO_PROPOSER"); + + address public sharedSignalService = vm.envAddress("SHARED_SIGNAL_SERVICE"); + + address public treasure = vm.envAddress("TREASURE"); + + address public taikoTokenPremintRecipient = + vm.envAddress("TAIKO_TOKEN_PREMINT_RECIPIENT"); + + uint256 public taikoTokenPremintAmount = + vm.envUint("TAIKO_TOKEN_PREMINT_AMOUNT"); + + TaikoL1 taikoL1; + address public addressManagerProxy; + + // New fee/reward related variables + uint16 public constant PROOF_TIME_TARGET = 1800; // For mainnet it is around 30 mins, but choose carefully ! (Testnet is different !) + uint8 public constant ADJUSTMENT_QUOTIENT = 16; + + error FAILED_TO_DEPLOY_PLONK_VERIFIER(string contractPath); + + function run() external { + require(owner != address(0), "owner is zero"); + require(taikoL2Address != address(0), "taikoL2Address is zero"); + require(l2SignalService != address(0), "l2SignalService is zero"); + require(treasure != address(0), "treasure is zero"); + require( + taikoTokenPremintRecipient != address(0), + "taikoTokenPremintRecipient is zero" + ); + require( + taikoTokenPremintAmount < type(uint64).max, + "premint too large" + ); + + vm.startBroadcast(deployerPrivateKey); + + // AddressManager + AddressManager addressManager = new AddressManager(); + addressManagerProxy = deployProxy( + "address_manager", + address(addressManager), + bytes.concat(addressManager.init.selector) + ); + + // TaikoL1 + taikoL1 = new TaikoL1(); + uint256 l2ChainId = taikoL1.getConfig().chainId; + require(l2ChainId != block.chainid, "same chainid"); + + setAddress(l2ChainId, "taiko", taikoL2Address); + setAddress(l2ChainId, "signal_service", l2SignalService); + setAddress("oracle_prover", oracleProver); + setAddress("solo_proposer", soloProposer); + setAddress(l2ChainId, "treasure", treasure); + + // TaikoToken + TaikoToken taikoToken = new TaikoToken(); + + address[] memory premintRecipients = new address[](1); + uint256[] memory premintAmounts = new uint256[](1); + premintRecipients[0] = taikoTokenPremintRecipient; + premintAmounts[0] = taikoTokenPremintAmount; + + deployProxy( + "taiko_token", + address(taikoToken), + bytes.concat( + taikoToken.init.selector, + abi.encode( + addressManagerProxy, + "Taiko Token", + "TKO", + premintRecipients, + premintAmounts + ) + ) + ); + + // HorseToken && BullToken + address horseToken = address(new FreeMintERC20("Horse Token", "HORSE")); + console.log("HorseToken", horseToken); + + address bullToken = address( + new MayFailFreeMintERC20("Bull Token", "BLL") + ); + console.log("BullToken", bullToken); + + uint64 feeBase = 1 ** 8; // Taiko Token's decimals is 8, not 18 + + // Calculating it for our needs based on testnet/mainnet. We need it in + // order to make the fees on the same level - in ideal circumstences. + // See Brecht's comment https://github.com/taikoxyz/taiko-mono/pull/13564 + uint64 initProofTimeIssued = LibLn.calcInitProofTimeIssued( + feeBase, + PROOF_TIME_TARGET, + ADJUSTMENT_QUOTIENT + ); + + address taikoL1Proxy = deployProxy( + "taiko", + address(taikoL1), + bytes.concat( + taikoL1.init.selector, + abi.encode( + addressManagerProxy, + genesisHash, + feeBase, + initProofTimeIssued + ) + ) + ); + setAddress("proto_broker", taikoL1Proxy); + + // Bridge + Bridge bridge = new Bridge(); + deployProxy( + "bridge", + address(bridge), + bytes.concat(bridge.init.selector, abi.encode(addressManagerProxy)) + ); + + // TokenVault + TokenVault tokenVault = new TokenVault(); + deployProxy( + "token_vault", + address(tokenVault), + bytes.concat( + tokenVault.init.selector, + abi.encode(addressManagerProxy) + ) + ); + + // SignalService + if (sharedSignalService == address(0)) { + SignalService signalService = new SignalService(); + deployProxy( + "signal_service", + address(signalService), + bytes.concat( + signalService.init.selector, + abi.encode(addressManagerProxy) + ) + ); + } else { + console.log( + "Warining: using shared signal service: ", + sharedSignalService + ); + setAddress("signal_service", sharedSignalService); + } + + // PlonkVerifier + deployPlonkVerifiers(); + + vm.stopBroadcast(); + } + + function deployPlonkVerifiers() private { + address[] memory plonkVerifiers = new address[](2); + plonkVerifiers[0] = deployYulContract( + "contracts/libs/yul/PlonkVerifier_10_txs.yulp" + ); + plonkVerifiers[1] = deployYulContract( + "contracts/libs/yul/PlonkVerifier_80_txs.yulp" + ); + + for (uint16 i = 0; i < plonkVerifiers.length; ++i) { + setAddress(taikoL1.getVerifierName(i), plonkVerifiers[i]); + } + } + + function deployYulContract( + string memory contractPath + ) private returns (address) { + string[] memory cmds = new string[](3); + cmds[0] = "bash"; + cmds[1] = "-c"; + cmds[2] = string.concat( + vm.projectRoot(), + "/bin/solc --yul --bin ", + string.concat(vm.projectRoot(), "/", contractPath), + " | grep -A1 Binary | tail -1" + ); + + bytes memory bytecode = vm.ffi(cmds); + + address deployedAddress; + assembly { + deployedAddress := create(0, add(bytecode, 0x20), mload(bytecode)) + } + + if (deployedAddress == address(0)) + revert FAILED_TO_DEPLOY_PLONK_VERIFIER(contractPath); + + console.log(contractPath, deployedAddress); + + return deployedAddress; + } + + function deployProxy( + string memory name, + address implementation, + bytes memory data + ) private returns (address proxy) { + proxy = address( + new TransparentUpgradeableProxy(implementation, owner, data) + ); + + console.log(name, "(impl) ->", implementation); + console.log(name, "(proxy) ->", proxy); + + if (addressManagerProxy != address(0)) { + AddressManager(addressManagerProxy).setAddress( + block.chainid, + name, + proxy + ); + } + + vm.writeJson( + vm.serializeAddress("deployment", name, proxy), + string.concat(vm.projectRoot(), "/deployments/deploy_l1.json") + ); + } + + function setAddress(string memory name, address addr) private { + setAddress(block.chainid, name, addr); + } + + function setAddress( + uint256 chainId, + string memory name, + address addr + ) private { + console.log(chainId, name, "--->", addr); + if (addr != address(0)) { + AddressManager(addressManagerProxy).setAddress(chainId, name, addr); + } + } +} diff --git a/packages/protocol/scripts/download_solc.sh b/packages/protocol/script/download_solc.sh similarity index 100% rename from packages/protocol/scripts/download_solc.sh rename to packages/protocol/script/download_solc.sh diff --git a/packages/protocol/script/test_deploy_on_l1.sh b/packages/protocol/script/test_deploy_on_l1.sh new file mode 100755 index 00000000000..0fd8981c688 --- /dev/null +++ b/packages/protocol/script/test_deploy_on_l1.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# This script is only used by `pnpm deploy:foundry`. +set -e + +PRIVATE_KEY=ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \ +SHARED_SIGNAL_SERVICE=0x0000000000000000000000000000000000000000 \ +ORACLE_PROVER=0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 \ +SOLO_PROPOSER=0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 \ +OWNER=0x70997970C51812dc3A010C7d01b50e0d17dc79C8 \ +TAIKO_L2_ADDRESS=0x0000777700000000000000000000000000000001 \ +L2_SIGNAL_SERVICE=0x0000777700000000000000000000000000000007 \ +TAIKO_TOKEN_PREMINT_RECIPIENT=0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 \ +TAIKO_TOKEN_PREMINT_AMOUNT=0xffff \ +TREASURE=0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 \ +L2_GENESIS_HASH=0xee1950562d42f0da28bd4550d88886bc90894c77c9c9eaefef775d4c8223f259 \ +forge script script/DeployOnL1.s.sol:DeployOnL1 \ + --fork-url http://localhost:8545 \ + --broadcast \ + --ffi \ + -vvvv \ + --via-ir \ diff --git a/packages/protocol/tasks/compile_yul.ts b/packages/protocol/tasks/compile_yul.ts deleted file mode 100644 index e2ec2563ee4..00000000000 --- a/packages/protocol/tasks/compile_yul.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { task } from "hardhat/config"; -import * as glob from "glob"; -import * as path from "path"; -import * as utils from "./utils"; -import * as fs from "fs"; -import * as log from "./log"; - -task("compile_yul").setAction(async function () { - const yulContracts = glob.sync( - path.join(__dirname, "../contracts/**/*.yulp") - ); - const outputDir = path.join(__dirname, "../artifacts/yul"); - - if (!fs.existsSync(outputDir)) { - fs.mkdirSync(outputDir, { recursive: true }); - } - - log.debug({ yulContracts }); - - for (const yulContractPath of yulContracts) { - const bytecode = utils.compileYulContract(yulContractPath); - const contractName = path.parse(path.basename(yulContractPath)).name; - const jsonOutputPath = path.join(outputDir, `${contractName}.json`); - - fs.writeFileSync( - jsonOutputPath, - JSON.stringify({ contractName, bytecode }) - ); - } -}); diff --git a/packages/protocol/tasks/config.ts b/packages/protocol/tasks/config.ts deleted file mode 100644 index cc9ebfd4334..00000000000 --- a/packages/protocol/tasks/config.ts +++ /dev/null @@ -1,3 +0,0 @@ -// https://github.com/ethereum-lists/chains/pull/1611 -export const K_CHAIN_ID = 167; -export const K_DEPLOY_CONFIRMATIONS = 12; diff --git a/packages/protocol/tasks/deploy_L1.ts b/packages/protocol/tasks/deploy_L1.ts deleted file mode 100644 index 35525abb218..00000000000 --- a/packages/protocol/tasks/deploy_L1.ts +++ /dev/null @@ -1,387 +0,0 @@ -import * as ethers from "ethers"; -import { task } from "hardhat/config"; -import * as types from "hardhat/internal/core/params/argumentTypes"; -import * as config from "./config"; -import * as log from "./log"; -import * as utils from "./utils"; - -task("deploy_L1") - .addParam("daoVault", "The DAO vault address") - .addParam("teamVault", "The team vault address") - .addOptionalParam( - "taikoL2", - "The TaikoL2 address", - ethers.constants.AddressZero - ) - .addOptionalParam( - "l2GenesisBlockHash", - "L2 genesis block hash", - ethers.constants.HashZero - ) - .addOptionalParam("l2ChainId", "L2 chain id", config.K_CHAIN_ID, types.int) - .addOptionalParam( - "bridgeFunderPrivateKey", - "Private key of the L1 bridge funder", - "", - types.string - ) - .addOptionalParam( - "bridgeFund", - "L1 bridge's initial fund in hex", - "", - types.string - ) - .addOptionalParam( - "oracleProver", - "Address of the oracle prover", - "", - types.string - ) - .addOptionalParam( - "soloProposer", - "Address of the solo proposer", - "", - types.string - ) - .addOptionalParam( - "confirmations", - "Number of confirmations to wait for deploy transaction.", - config.K_DEPLOY_CONFIRMATIONS, - types.int - ) - .setAction(async (args, hre: any) => { - if ( - hre.network.name === "localhost" || - hre.network.name === "hardhat" - ) { - args.confirmations = 1; - } else if ( - hre.network.name === "ropsten" || - hre.network.name === "goerli" - ) { - args.confirmations = 6; - } - - hre.args = args; - await deployContracts(hre); - }); - -export async function deployContracts(hre: any) { - const network = hre.network.name; - const { chainId } = await hre.ethers.provider.getNetwork(); - const deployer = await utils.getDeployer(hre); - const daoVault = hre.args.daoVault; - const teamVault = hre.args.teamVault; - const l2GenesisBlockHash = hre.args.l2GenesisBlockHash; - const taikoL2Address = hre.args.taikoL2; - const l2ChainId = hre.args.l2ChainId; - const bridgeFunderPrivateKey = hre.args.bridgeFunderPrivateKey; - const bridgeFund = hre.args.bridgeFund; - const oracleProver = hre.args.oracleProver; - const soloProposer = hre.args.soloProposer; - - log.debug(`network: ${network}`); - log.debug(`chainId: ${chainId}`); - log.debug(`deployer: ${deployer}`); - log.debug(`daoVault: ${daoVault}`); - log.debug(`l2GenesisBlockHash: ${l2GenesisBlockHash}`); - log.debug(`taikoL2Address: ${taikoL2Address}`); - log.debug(`l2ChainId: ${l2ChainId}`); - log.debug(`bridgeFunderPrivateKey: ${bridgeFunderPrivateKey}`); - log.debug(`bridgeFund: ${bridgeFund}`); - log.debug(`oracleProver: ${oracleProver}`); - log.debug(`soloProposer: ${soloProposer}`); - log.debug(`confirmations: ${hre.args.confirmations}`); - log.debug(); - - // AddressManager - const AddressManager = await utils.deployContract(hre, "AddressManager"); - await utils.waitTx(hre, await AddressManager.init()); - - const ProofVerifier = await utils.deployContract(hre, "ProofVerifier"); - await utils.waitTx(hre, await ProofVerifier.init(AddressManager.address)); - await utils.waitTx( - hre, - await AddressManager.setAddress( - `${chainId}.proof_verifier`, - ProofVerifier.address - ) - ); - - await utils.waitTx( - hre, - await AddressManager.setAddress(`${chainId}.dao_vault`, daoVault) - ); - await utils.waitTx( - hre, - await AddressManager.setAddress(`${chainId}.team_vault`, teamVault) - ); - // Used by LibProving - await utils.waitTx( - hre, - await AddressManager.setAddress(`${l2ChainId}.taiko`, taikoL2Address) - ); - - // TaikoToken - const TaikoToken = await utils.deployContract(hre, "TaikoToken"); - await utils.waitTx( - hre, - await TaikoToken.init( - "Test Taiko Token", - "TTKO", - AddressManager.address - ) - ); - await utils.waitTx( - hre, - await AddressManager.setAddress( - `${chainId}.tko_token`, - TaikoToken.address - ) - ); - - // HorseToken - const HorseToken = await utils.deployContract(hre, "FreeMintERC20", {}, [ - "Horse Token", - "HORSE", - ]); - - // BullToken - const BullToken = await utils.deployContract( - hre, - "MayFailFreeMintERC20", - {}, - ["Bull Token", "BLL"] - ); - - // TaikoL1 - const TaikoL1 = await utils.deployContract( - hre, - "TaikoL1", - await deployBaseLibs(hre) - ); - - const feeBase = hre.ethers.BigNumber.from(10).pow(18); - - await utils.waitTx( - hre, - await TaikoL1.init(AddressManager.address, l2GenesisBlockHash, feeBase) - ); - - // Used by LibBridgeRead - await utils.waitTx( - hre, - await AddressManager.setAddress(`${chainId}.taiko`, TaikoL1.address) - ); - - // Used by TaikoToken - await utils.waitTx( - hre, - await AddressManager.setAddress( - `${chainId}.proto_broker`, - TaikoL1.address - ) - ); - - // Bridge - const Bridge = await deployBridge(hre, AddressManager.address); - - // TokenVault - const TokenVault = await deployTokenVault(hre, AddressManager.address); - - // Used by TokenVault - await utils.waitTx( - hre, - await AddressManager.setAddress(`${chainId}.bridge`, Bridge.address) - ); - - // Fund L1 bridge, which is necessary when there is a L2 faucet - if ( - bridgeFunderPrivateKey.length && - hre.ethers.utils.isHexString(bridgeFund) - ) { - const funder = new hre.ethers.Wallet( - bridgeFunderPrivateKey, - hre.ethers.provider - ); - - await utils.waitTx( - hre, - await funder.sendTransaction({ - to: Bridge.address, - value: hre.ethers.BigNumber.from(bridgeFund), - }) - ); - - log.debug( - `L1 bridge balance: ${hre.ethers.utils.hexlify( - await hre.ethers.provider.getBalance(Bridge.address) - )}` - ); - } - - // SignalService - const SignalService = await deploySignalService( - hre, - AddressManager.address - ); - - // Used by Bridge - await utils.waitTx( - hre, - await AddressManager.setAddress( - `${chainId}.signal_service`, - SignalService.address - ) - ); - - // PlonkVerifier - const PlonkVerifiers = await deployPlonkVerifiers(hre); - - // Used by ProofVerifier - for (let i = 0; i < PlonkVerifiers.length; i++) { - await utils.waitTx( - hre, - await AddressManager.setAddress( - // string(abi.encodePacked("plonk_verifier_", i)) - `${chainId}.${Buffer.from( - ethers.utils.arrayify( - ethers.utils.solidityPack( - ["string", "uint16"], - ["plonk_verifier_", i] - ) - ) - ).toString()}`, - PlonkVerifiers[i].address - ) - ); - } - - if (ethers.utils.isAddress(oracleProver)) { - await utils.waitTx( - hre, - await AddressManager.setAddress( - `${chainId}.oracle_prover`, - oracleProver - ) - ); - } - - if (ethers.utils.isAddress(soloProposer)) { - await utils.waitTx( - hre, - await AddressManager.setAddress( - `${chainId}.solo_proposer`, - soloProposer - ) - ); - } - - // save deployments - const deployments = { - network, - chainId, - deployer, - l2GenesisBlockHash, - contracts: Object.assign( - { AddressManager: AddressManager.address }, - { TaikoToken: TaikoToken.address }, - { TaikoL1: TaikoL1.address }, - { Bridge: Bridge.address }, - { SignalService: SignalService.address }, - { TokenVault: TokenVault.address }, - { BullToken: BullToken.address }, - { HorseToken: HorseToken.address } - ), - }; - - utils.saveDeployments(`${network}_L1`, deployments); - - return deployments; -} - -async function deployBaseLibs(hre: any) { - const libReceiptDecoder = await utils.deployContract( - hre, - "LibReceiptDecoder" - ); - const libTxDecoder = await utils.deployContract(hre, "LibTxDecoder"); - - const libVerifying = await utils.deployContract(hre, "LibVerifying", {}); - const libProposing = await utils.deployContract(hre, "LibProposing", {}); - - const libProving = await utils.deployContract(hre, "LibProving", { - LibReceiptDecoder: libReceiptDecoder.address, - LibTxDecoder: libTxDecoder.address, - }); - - return { - LibVerifying: libVerifying.address, - LibProposing: libProposing.address, - LibProving: libProving.address, - }; -} - -async function deployBridge(hre: any, addressManager: string): Promise { - const libTrieProof = await utils.deployContract(hre, "LibTrieProof"); - - const Bridge = await utils.deployContract(hre, "Bridge", { - LibTrieProof: libTrieProof.address, - }); - - await utils.waitTx(hre, await Bridge.init(addressManager)); - - return Bridge; -} - -async function deployTokenVault( - hre: any, - addressManager: string -): Promise { - const TokenVault = await utils.deployContract(hre, "TokenVault"); - - await utils.waitTx(hre, await TokenVault.init(addressManager)); - - return TokenVault; -} - -async function deploySignalService( - hre: any, - addressManager: string -): Promise { - const libTrieProof = await utils.deployContract(hre, "LibTrieProof"); - - const SignalService = await utils.deployContract(hre, "SignalService", { - LibTrieProof: libTrieProof.address, - }); - - await utils.waitTx(hre, await SignalService.init(addressManager)); - - return SignalService; -} - -async function deployPlonkVerifiers(hre: any): Promise { - const PlonkVerifier10TxsByteCode = utils.compileYulContract( - "../contracts/libs/yul/PlonkVerifier_10_txs.yulp" - ); - const PlonkVerifier80TxsByteCode = utils.compileYulContract( - "../contracts/libs/yul/PlonkVerifier_80_txs.yulp" - ); - - return [ - { - address: await utils.deployBytecode( - hre, - PlonkVerifier10TxsByteCode, - "PlonkVerifier_10_txs" - ), - }, - { - address: await utils.deployBytecode( - hre, - PlonkVerifier80TxsByteCode, - "PlonkVerifier_80_txs" - ), - }, - ]; -} diff --git a/packages/protocol/tasks/log.ts b/packages/protocol/tasks/log.ts deleted file mode 100644 index 45733800e77..00000000000 --- a/packages/protocol/tasks/log.ts +++ /dev/null @@ -1,37 +0,0 @@ -import * as chalk from "chalk"; - -// default LOG_LEVEL: INFO -function isInfoEnabled() { - return ( - !process.env.LOG_LEVEL || - (process.env.LOG_LEVEL && - process.env.LOG_LEVEL.toUpperCase() === "INFO") || - isDebugEnabled() - ); -} - -function isDebugEnabled() { - return ( - process.env.LOG_LEVEL && process.env.LOG_LEVEL.toUpperCase() === "DEBUG" - ); -} - -export function info(...args: any[]) { - if (isInfoEnabled()) { - console.log(chalk.blue.bold(["[INFO]", ...args].join(" "))); - } -} - -export function debug(...args: any[]) { - if (isDebugEnabled()) { - console.log(...args); - } -} - -export function warn(...args: any[]) { - console.log(chalk.magenta.bold(["[WARN]", ...args].join(" "))); -} - -export function error(...args: any[]) { - console.log(chalk.red.bold.underline(["[ERROR]", ...args].join(" "))); -} diff --git a/packages/protocol/tasks/utils.ts b/packages/protocol/tasks/utils.ts deleted file mode 100644 index ce256168405..00000000000 --- a/packages/protocol/tasks/utils.ts +++ /dev/null @@ -1,155 +0,0 @@ -import * as childProcess from "child_process"; -import * as fs from "fs"; -import * as path from "path"; -import * as log from "./log"; - -async function deployContract( - hre: any, - contractName: string, - libraries = {}, - args: any[] = [], - overrides = {} -) { - const contractArgs = args || []; - const contractArtifacts = await hre.ethers.getContractFactory( - contractName, - { - libraries: libraries, - } - ); - - const deployed = await contractArtifacts.deploy(...contractArgs, overrides); - log.debug( - `${contractName} deploying, tx ${deployed.deployTransaction.hash}, waiting for confirmations` - ); - - await deployed.deployed(); - - log.debug(`${contractName} deployed at ${deployed.address}`); - return deployed; -} - -function compileYulContract(contractPath: string): string { - const SOLC_COMMAND = path.join(__dirname, "../bin/solc"); - - if (!fs.existsSync(SOLC_COMMAND)) { - throw new Error( - `sloc command not found in ${SOLC_COMMAND}, please run "./scripts/download_solc.sh".` - ); - } - - if (!path.isAbsolute(contractPath)) { - contractPath = path.join(__dirname, contractPath); - } - - const compile = childProcess.spawnSync(SOLC_COMMAND, [ - "--yul", - "--bin", - contractPath, - ]); - - let isNextLineByteCode = false; - let byteCode = null; - for (const line of compile.stdout.toString().split("\n")) { - if (isNextLineByteCode) { - byteCode = line; - break; - } - - if (line.includes("Binary representation:")) { - isNextLineByteCode = true; - } - } - - if (!byteCode) { - throw new Error( - `failed to compile PlonkVerifier, sloc: ${SOLC_COMMAND}, contract: ${contractPath}` - ); - } - - log.debug( - `${contractPath} compiled successfully, byte code length: ${byteCode.length}` - ); - - if (!byteCode.startsWith("0x")) { - byteCode = `0x${byteCode}`; - } - - return byteCode; -} - -async function deployBytecode( - hre: any, - byteCode: string, - name: string -): Promise { - const [signer] = await hre.ethers.getSigners(); - - const tx = await signer.sendTransaction({ data: byteCode }); - const receipt = await tx.wait(); - - log.debug(`${name} deploying, tx ${tx.hash}, waiting for confirmations`); - - if (receipt.status !== 1) { - throw new Error( - `failed to create ${name} contract, transaction ${tx.hash} reverted` - ); - } - - return receipt.contractAddress; -} - -async function getDeployer(hre: any) { - const accounts = await hre.ethers.provider.listAccounts(); - if (accounts[0] !== undefined) { - return accounts[0]; - } - - throw new Error( - `Could not get account, check hardhat.config.ts: networks.${hre.network.name}.accounts` - ); -} - -async function waitTx(hre: any, tx: any) { - return tx.wait(hre.args.confirmations); -} - -async function getContract(hre: any, abi: string[], contractAddress: string) { - const signers = await hre.ethers.getSigners(); - - if (!signers || signers.length === 0) { - throw new Error( - `Could not get account, check hardhat.config.ts. network: ${hre.network.name}` - ); - } - - return new hre.ethers.Contract(contractAddress, abi, signers[0]); -} - -function saveDeployments(_fileName: string, deployments: any) { - const fileName = `deployments/${_fileName}.json`; - fs.writeFileSync(fileName, JSON.stringify(deployments, undefined, 2)); - log.debug(`deployments saved to ${fileName}`); -} - -function getDeployments(_fileName: string) { - const fileName = `deployments/${_fileName}.json`; - const json = fs.readFileSync(fileName); - return JSON.parse(`${json}`); -} - -async function decode(hre: any, type: any, data: any) { - return hre.ethers.utils.defaultAbiCoder.decode([type], data).toString(); -} - -export { - deployContract, - compileYulContract, - deployBytecode, - getDeployer, - waitTx, - getContract, - saveDeployments, - getDeployments, - decode, -}; diff --git a/packages/protocol/test/Bridge.t.sol b/packages/protocol/test/Bridge.t.sol new file mode 100644 index 00000000000..8c8d10c8a4c --- /dev/null +++ b/packages/protocol/test/Bridge.t.sol @@ -0,0 +1,436 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {IBridge, Bridge} from "../contracts/bridge/Bridge.sol"; +import {BridgeErrors} from "../contracts/bridge/BridgeErrors.sol"; +import {EtherVault} from "../contracts/bridge/EtherVault.sol"; +import {console2} from "forge-std/console2.sol"; +import {LibBridgeStatus} from "../contracts/bridge/libs/LibBridgeStatus.sol"; +import {SignalService} from "../contracts/signal/SignalService.sol"; +import {Test} from "forge-std/Test.sol"; +import {IXchainSync} from "../contracts/common/IXchainSync.sol"; + +contract BadReceiver { + receive() external payable { + revert("can not send to this contract"); + } + + fallback() external payable { + revert("can not send to this contract"); + } + + function transfer() public pure { + revert("this fails"); + } +} + +contract PrankXchainSync is IXchainSync { + bytes32 private _blockHash; + bytes32 private _signalRoot; + + function setXchainBlockHeader(bytes32 blockHash) external { + _blockHash = blockHash; + } + + function setXchainSignalRoot(bytes32 signalRoot) external { + _signalRoot = signalRoot; + } + + function getXchainBlockHash(uint256) external view returns (bytes32) { + return _blockHash; + } + + function getXchainSignalRoot(uint256) external view returns (bytes32) { + return _signalRoot; + } +} + +contract BridgeTest is Test { + AddressManager addressManager; + BadReceiver badReceiver; + Bridge bridge; + Bridge destChainBridge; + EtherVault etherVault; + SignalService signalService; + PrankXchainSync xChainSync; + uint256 destChainId = 19389; + + address public constant Alice = 0x10020FCb72e27650651B05eD2CEcA493bC807Ba4; + + address public constant Bob = 0x50081b12838240B1bA02b3177153Bca678a86078; + + function setUp() public { + vm.startPrank(Alice); + vm.deal(Alice, 100 ether); + addressManager = new AddressManager(); + addressManager.init(); + + bridge = new Bridge(); + bridge.init(address(addressManager)); + + destChainBridge = new Bridge(); + destChainBridge.init(address(addressManager)); + + signalService = new SignalService(); + signalService.init(address(addressManager)); + + etherVault = new EtherVault(); + etherVault.init(address(addressManager)); + + xChainSync = new PrankXchainSync(); + + addressManager.setAddress( + block.chainid, + "signal_service", + address(signalService) + ); + + addressManager.setAddress( + destChainId, + "bridge", + address(destChainBridge) + ); + + vm.stopPrank(); + } + + function test_send_message_ether_reverts_if_value_doesnt_match_expected() + public + { + uint256 amount = 1 wei; + IBridge.Message memory message = newMessage({ + owner: Alice, + to: Alice, + depositValue: amount, + callValue: 0, + gasLimit: 0, + processingFee: 0, + destChain: destChainId + }); + + vm.expectRevert(BridgeErrors.B_INCORRECT_VALUE.selector); + bridge.sendMessage(message); + } + + function test_send_message_ether_reverts_when_owner_is_zero_address() + public + { + uint256 amount = 1 wei; + IBridge.Message memory message = newMessage({ + owner: address(0), + to: Alice, + depositValue: amount, + callValue: 0, + gasLimit: 0, + processingFee: 0, + destChain: destChainId + }); + + vm.expectRevert(BridgeErrors.B_OWNER_IS_NULL.selector); + bridge.sendMessage{value: amount}(message); + } + + function test_send_message_ether_reverts_when_dest_chain_is_not_enabled() + public + { + uint256 amount = 1 wei; + IBridge.Message memory message = newMessage({ + owner: Alice, + to: Alice, + depositValue: amount, + callValue: 0, + gasLimit: 0, + processingFee: 0, + destChain: destChainId + 1 + }); + + vm.expectRevert(BridgeErrors.B_WRONG_CHAIN_ID.selector); + bridge.sendMessage{value: amount}(message); + } + + function test_send_message_ether_reverts_when_dest_chain_same_as_block_chainid() + public + { + uint256 amount = 1 wei; + IBridge.Message memory message = newMessage({ + owner: Alice, + to: Alice, + depositValue: amount, + callValue: 0, + gasLimit: 0, + processingFee: 0, + destChain: block.chainid + }); + + vm.expectRevert(BridgeErrors.B_WRONG_CHAIN_ID.selector); + bridge.sendMessage{value: amount}(message); + } + + function test_send_message_ether_reverts_when_to_is_zero_address() public { + uint256 amount = 1 wei; + IBridge.Message memory message = newMessage({ + owner: Alice, + to: address(0), + depositValue: amount, + callValue: 0, + gasLimit: 0, + processingFee: 0, + destChain: destChainId + }); + + vm.expectRevert(BridgeErrors.B_WRONG_TO_ADDRESS.selector); + bridge.sendMessage{value: amount}(message); + } + + function test_send_message_ether_with_no_processing_fee() public { + uint256 amount = 1 wei; + IBridge.Message memory message = newMessage({ + owner: Alice, + to: Alice, + depositValue: amount, + callValue: 0, + gasLimit: 0, + processingFee: 0, + destChain: destChainId + }); + + bytes32 msgHash = bridge.sendMessage{value: amount}(message); + + bool isMessageSent = bridge.isMessageSent(msgHash); + assertEq(isMessageSent, true); + } + + function test_send_message_ether_with_processing_fee() public { + uint256 amount = 1 wei; + uint256 processingFee = 1 wei; + IBridge.Message memory message = newMessage({ + owner: Alice, + to: Alice, + depositValue: amount, + callValue: 0, + gasLimit: 0, + processingFee: processingFee, + destChain: destChainId + }); + + bytes32 msgHash = bridge.sendMessage{value: amount + processingFee}( + message + ); + + bool isMessageSent = bridge.isMessageSent(msgHash); + assertEq(isMessageSent, true); + } + + function test_send_message_ether_with_processing_fee_invalid_amount() + public + { + uint256 amount = 1 wei; + uint256 processingFee = 1 wei; + IBridge.Message memory message = newMessage({ + owner: Alice, + to: Alice, + depositValue: amount, + callValue: 0, + gasLimit: 0, + processingFee: processingFee, + destChain: destChainId + }); + + vm.expectRevert(BridgeErrors.B_INCORRECT_VALUE.selector); + bridge.sendMessage{value: amount}(message); + } + + // test with a known good merkle proof / message since we cant generate proofs via rpc + // in foundry + function test_process_message() public { + vm.startPrank(Alice); + ( + IBridge.Message memory message, + bytes memory proof + ) = setUpPredefinedSuccessfulProcessMessageCall(); + + bytes32 msgHash = destChainBridge.hashMessage(message); + + bool isMessageReceived = destChainBridge.isMessageReceived( + msgHash, + 1336, + proof + ); + + assertEq(isMessageReceived, true); + + destChainBridge.processMessage(message, proof); + + LibBridgeStatus.MessageStatus status = destChainBridge.getMessageStatus( + msgHash + ); + + assertEq(status == LibBridgeStatus.MessageStatus.DONE, true); + } + + // test with a known good merkle proof / message since we cant generate proofs via rpc + // in foundry + function test_retry_message_and_end_up_in_failed_status() public { + vm.startPrank(Alice); + ( + IBridge.Message memory message, + bytes memory proof + ) = setUpPredefinedSuccessfulProcessMessageCall(); + + // etch bad receiver at the to address, so it fails. + vm.etch(message.to, address(badReceiver).code); + + bytes32 msgHash = destChainBridge.hashMessage(message); + + bool isMessageReceived = destChainBridge.isMessageReceived( + msgHash, + 1336, + proof + ); + + assertEq(isMessageReceived, true); + + destChainBridge.processMessage(message, proof); + + LibBridgeStatus.MessageStatus status = destChainBridge.getMessageStatus( + msgHash + ); + + assertEq(status == LibBridgeStatus.MessageStatus.RETRIABLE, true); + + vm.stopPrank(); + vm.prank(message.owner); + + destChainBridge.retryMessage(message, true); + + LibBridgeStatus.MessageStatus postRetryStatus = destChainBridge + .getMessageStatus(msgHash); + + assertEq(postRetryStatus == LibBridgeStatus.MessageStatus.FAILED, true); + } + + function retry_message_reverts_when_status_non_retriable() public { + IBridge.Message memory message = newMessage({ + owner: Alice, + to: Alice, + depositValue: 1, + callValue: 0, + gasLimit: 10000, + processingFee: 1, + destChain: destChainId + }); + + vm.expectRevert(BridgeErrors.B_MSG_NON_RETRIABLE.selector); + destChainBridge.retryMessage(message, true); + } + + function retry_message_reverts_when_last_attempt_and_message_is_not_owner() + public + { + vm.startPrank(Alice); + IBridge.Message memory message = newMessage({ + owner: Bob, + to: Alice, + depositValue: 1, + callValue: 0, + gasLimit: 10000, + processingFee: 1, + destChain: destChainId + }); + + vm.expectRevert(BridgeErrors.B_DENIED.selector); + destChainBridge.retryMessage(message, true); + } + + function setUpPredefinedSuccessfulProcessMessageCall() + internal + returns (IBridge.Message memory, bytes memory) + { + badReceiver = new BadReceiver(); + + uint256 dest = 1337; + addressManager.setAddress(dest, "taiko", address(xChainSync)); + + addressManager.setAddress( + 1336, + "bridge", + 0x564540a26Fb667306b3aBdCB4ead35BEb88698ab + ); + + addressManager.setAddress(dest, "bridge", address(destChainBridge)); + + addressManager.setAddress(dest, "ether_vault", address(etherVault)); + + etherVault.authorize(address(destChainBridge), true); + + vm.deal(address(etherVault), 100 ether); + + addressManager.setAddress( + dest, + "signal_service", + address(signalService) + ); + + xChainSync.setXchainBlockHeader( + 0xd5f5d8ac6bc37139c97389b00e9cf53e89c153ad8a5fc765ffe9f44ea9f3d31e + ); + + xChainSync.setXchainSignalRoot( + 0x631b214fb030d82847224f0b3d3b906a6764dded176ad3c7262630204867ba85 + ); + + vm.deal(address(destChainBridge), 1 ether); + + vm.chainId(dest); + + // known message that corresponds with below proof. + IBridge.Message memory message = IBridge.Message({ + id: 0, + sender: 0xDf08F82De32B8d460adbE8D72043E3a7e25A3B39, + srcChainId: 1336, + destChainId: dest, + owner: 0xDf08F82De32B8d460adbE8D72043E3a7e25A3B39, + to: 0x200708D76eB1B69761c23821809d53F65049939e, + refundAddress: 0x10020FCb72e27650651B05eD2CEcA493bC807Ba4, + depositValue: 1000, + callValue: 1000, + processingFee: 1000, + gasLimit: 1000000, + data: "", + memo: "" + }); + + bytes + memory proof = hex"0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003e0f7ff3b519ec113138509a5b1b6f54761cebc6891bc0ba4f904b89688b1ef8e051dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493470000000000000000000000000000000000000000000000000000000000000000a85358ff57974db8c9ce2ecabe743d44133f9d11e5da97e386111073f1a2f92c345bd00c2ef9db5726d84c184af67fdbad0be00921eb1dcbca674c427abb5c3ebda7d1e94e5b2b3d5e6a54c9a42423b1746afa4b264e7139877c0523c3397ec4000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000002000800002000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000001000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000009bbf55000000000000000000000000000000000000000000000000000000000001d4fb0000000000000000000000000000000000000000000000000000000064435d130000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d2e85500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061d883010a1a846765746888676f312e31382e38856c696e75780000000000000015b1ca61fbe1aa968ab60a461913aa40046b5357162466a4134d195647c14dd7488dd438abb39d6574e7d9d752fa2381bbd9dc780efc3fcc66af5285ebcb117b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbf8d9b8b3f8b18080a04fc5f13ab2f9ba0c2da88b0151ab0e7cf4d85d08cca45ccd923c6ab76323eb28a02b70a98baa2507beffe8c266006cae52064dccf4fd1998af774ab3399029b38380808080a07394a09684ef3b2c87e9e2a753eb4ac78e2047b980e16d2e2133aee78946370d8080a0f4984a11f61a2921456141df88de6e1a710d28681b91af794c5a721e47839cd78080a09248167635e6f0eb40f782a6bbd237174104259b6af88b3c52086214098f0e2c8080a3e2a03ecd5e1f251bf1676a367f6b16e92ffe6b2638b4a27b3d31870d25442bd59ef4010000000000"; + + return (message, proof); + } + + function newMessage( + address owner, + address to, + uint256 depositValue, + uint256 callValue, + uint256 gasLimit, + uint256 processingFee, + uint256 destChain + ) internal view returns (IBridge.Message memory) { + return + IBridge.Message({ + owner: owner, + destChainId: destChain, + to: to, + depositValue: depositValue, + callValue: callValue, + processingFee: processingFee, + id: 0, // placeholder, will be overwritten + sender: owner, // placeholder, will be overwritten + srcChainId: block.chainid, // will be overwritten + refundAddress: owner, + gasLimit: gasLimit, + data: "", + memo: "" + }); + } +} diff --git a/packages/protocol/test/EtherVault.t.sol b/packages/protocol/test/EtherVault.t.sol new file mode 100644 index 00000000000..edbeb5ca0e6 --- /dev/null +++ b/packages/protocol/test/EtherVault.t.sol @@ -0,0 +1,117 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {EtherVault} from "../contracts/bridge/EtherVault.sol"; +import {BridgeErrors} from "../contracts/bridge/BridgeErrors.sol"; + +contract TestEtherVault is Test { + AddressManager addressManager; + EtherVault etherVault; + + address public constant Alice = 0x10020FCb72e27650651B05eD2CEcA493bC807Ba4; + address public constant Bob = 0x200708D76eB1B69761c23821809d53F65049939e; + + function setUp() public { + vm.deal(Alice, 1 ether); + vm.deal(Bob, 1 ether); + addressManager = new AddressManager(); + addressManager.init(); + etherVault = new EtherVault(); + vm.prank(Alice); + etherVault.init(address(addressManager)); + } + + function test_authorize_reverts_when_not_owner_authorizing() public { + vm.prank(Bob); + vm.expectRevert("Ownable: caller is not the owner"); + etherVault.authorize(Bob, true); + + bool auth = etherVault.isAuthorized(Bob); + assertEq(auth, false); + } + + function test_authorize_authorizes_when_owner_authorizing() public { + vm.prank(Alice); + etherVault.authorize(Bob, true); + + bool auth = etherVault.isAuthorized(Bob); + assertEq(auth, true); + } + + function test_authorize_reverts_when_authorizing_zero_address() public { + vm.prank(Alice); + vm.expectRevert(BridgeErrors.B_EV_PARAM.selector); + etherVault.authorize(address(0), true); + } + + function test_authorize_reverts_when_authorizing_already_authorized_address() + public + { + vm.startPrank(Alice); + etherVault.authorize(Bob, true); + vm.expectRevert(BridgeErrors.B_EV_PARAM.selector); + etherVault.authorize(Bob, true); + bool auth = etherVault.isAuthorized(Bob); + assertEq(auth, true); + vm.stopPrank(); + } + + function test_receive_allows_sending_when_authorized_only() public { + assertEq(address(etherVault).balance, 0); + assertEq(Alice.balance > 0, true); + vm.startPrank(Alice); + etherVault.authorize(Alice, true); + (bool aliceSent, ) = address(etherVault).call{value: 1}(""); + assertEq(aliceSent, true); + assertEq(address(etherVault).balance, 1); + + vm.stopPrank(); + assertEq(Bob.balance > 0, true); + vm.startPrank(Bob); + + (bool bobSent, ) = address(etherVault).call{value: 1}(""); + assertEq(bobSent, false); + vm.stopPrank(); + } + + function test_release_ether_reverts_when_zero_address() public { + vm.startPrank(Alice); + etherVault.authorize(Alice, true); + seedEtherVault(); + + vm.expectRevert(BridgeErrors.B_EV_DO_NOT_BURN.selector); + etherVault.releaseEther(address(0), 1 ether); + } + + function test_release_ether_releases_to_authorized_sender() public { + vm.startPrank(Alice); + etherVault.authorize(Alice, true); + seedEtherVault(); + + uint256 aliceBalanceBefore = Alice.balance; + etherVault.releaseEther(1 ether); + uint256 aliceBalanceAfter = Alice.balance; + assertEq(aliceBalanceAfter - aliceBalanceBefore, 1 ether); + vm.stopPrank(); + } + + function test_release_ether_releases_to_receipient_via_authorized_sender() + public + { + vm.startPrank(Alice); + etherVault.authorize(Alice, true); + seedEtherVault(); + + uint256 bobBalanceBefore = Bob.balance; + etherVault.releaseEther(Bob, 1 ether); + uint256 bobBalanceAfter = Bob.balance; + assertEq(bobBalanceAfter - bobBalanceBefore, 1 ether); + vm.stopPrank(); + } + + function seedEtherVault() internal { + vm.deal(address(etherVault), 100 ether); + } +} diff --git a/packages/protocol/test/GasComparison.t.sol b/packages/protocol/test/GasComparison.t.sol new file mode 100644 index 00000000000..7e1cadb675c --- /dev/null +++ b/packages/protocol/test/GasComparison.t.sol @@ -0,0 +1,304 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import "forge-std/Test.sol"; +import "forge-std/console2.sol"; +import "../contracts/L1/TaikoData.sol"; +import "../contracts/libs/LibAddress.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; + +library LibAddress2 { + function sendEther(address to, uint256 amount) internal { + (bool success, ) = payable(to).call{value: amount}(""); + require(success, "ETH transfer failed"); + } +} + +struct MyStruct { + uint256 id; + uint256 l1Height; + bytes32 l1Hash; + uint64 gasLimit; + uint64 timestamp; +} + +contract FooBar { + function loadBlockMetadata_1(bytes memory data) public pure { + abi.decode(data, (MyStruct)); + } + + function loadBlockMetadata_2(bytes calldata data) public pure { + abi.decode(data, (MyStruct)); + } + + function loadBlockMetadata_3(MyStruct memory data) public pure {} + + function loadBlockMetadata_4(MyStruct calldata data) public pure {} + + function loadBlockMetadata_5(bytes calldata data) public pure { + MyStruct memory meta; + meta.id = uint256(bytes32(data[0:32])); + meta.l1Height = uint256(bytes32(data[32:64])); + meta.l1Hash = bytes32(data[64:96]); + meta.gasLimit = uint64(bytes8(data[96:104])); + meta.timestamp = uint64(bytes8(data[104:112])); + } + + function loadBlockMetadata_6() public pure { + MyStruct memory meta; + uint256 a; + assembly { + a := calldatasize() + } + require(a == 84 + 32, "aaa"); + + assembly { + a := calldataload(4) + } + meta.id = a; + assembly { + a := calldataload(36) + } + meta.l1Height = a; + assembly { + a := calldataload(68) + } + meta.l1Hash = bytes32(a); + assembly { + a := calldataload(84) + } + meta.gasLimit = uint64(uint256((a << 128) >> (128 + 64))); + meta.timestamp = uint64(uint256((a << (128 + 64)) >> (128 + 64))); + } + + function return_1() + public + view + returns (TaikoData.BlockMetadata memory meta) + { + meta = TaikoData.BlockMetadata({ + id: 1, + l1Height: 1, + l1Hash: bytes32(uint256(1)), + beneficiary: address(this), + treasure: address(this), + txListHash: bytes32(uint256(1)), + txListByteStart: 0, + txListByteEnd: 1000, + gasLimit: 1, + mixHash: bytes32(uint256(1)), + depositsRoot: 0, + timestamp: 1, + cacheTxListInfo: 0, + depositsProcessed: new TaikoData.EthDeposit[](0) + }); + } + + function return_2() public view { + TaikoData.BlockMetadata({ + id: 1, + l1Height: 1, + l1Hash: bytes32(uint256(1)), + beneficiary: address(this), + treasure: address(this), + txListHash: bytes32(uint256(1)), + txListByteStart: 0, + txListByteEnd: 1000, + gasLimit: 1, + mixHash: bytes32(uint256(1)), + depositsRoot: 0, + timestamp: 1, + cacheTxListInfo: 0, + depositsProcessed: new TaikoData.EthDeposit[](0) + }); + } + + //------ + function hashString_1( + string memory str + ) public pure returns (bytes32 hash) { + assembly { + hash := keccak256(add(str, 32), mload(str)) + } + } + + function hashString_2( + string memory str + ) public pure returns (bytes32 hash) { + hash = keccak256(bytes(str)); + } + + //------ + + function hashTwo_1( + address a, + bytes32 b + ) public pure returns (bytes32 hash) { + assembly { + // Load the free memory pointer and allocate memory for the concatenated arguments + let input := mload(64) + + // Store the app address and signal bytes32 value in the allocated memory + mstore(input, a) + mstore(add(input, 32), b) + + hash := keccak256(add(input, 12), 52) + + // Free the memory allocated for the input + mstore(0x40, add(input, 64)) + } + } + + function hashTwo_2( + address a, + bytes32 b + ) public pure returns (bytes32 hash) { + hash = keccak256(bytes.concat(bytes20(uint160(a)), b)); + // the following will work too. + // hash = keccak256(abi.encodePacked(a, b)); + } + + //------ + + function increment_1(uint256 count) public pure { + uint256 a; + for (uint256 i = 0; i < count; i++) { + a += i; + } + } + + function increment_2(uint256 count) public pure { + uint256 a; + for (uint256 i = 0; i < count; ++i) { + a += i; + } + } + + function increment_3(uint256 count) public pure { + uint256 a; + for (uint256 i = 0; i < count; ) { + a += i; + unchecked { + i++; + } + } + } + + function increment_4(uint256 count) public pure { + uint256 a; + for (uint256 i = 0; i < count; ) { + a += i; + unchecked { + ++i; + } + } + } + + // ------ + function hashKey_1( + uint256 chainId, + string memory name + ) public pure returns (bytes32) { + return keccak256(bytes(string.concat(Strings.toString(chainId), name))); + } + + function hashKey_2( + uint256 chainId, + string memory name + ) public pure returns (bytes32) { + return keccak256(abi.encodePacked(chainId, name)); + } + + // ------ + function send0Ether_CheckOutside(address to, uint256 amount) public { + if (amount == 0 || to == address(0)) return; + LibAddress2.sendEther(to, amount); + } + + function send0Ether_CheckInside(address to, uint256 amount) public { + LibAddress.sendEther(to, amount); + } +} + +contract GasComparisonTest is Test { + FooBar foobar; + + function setUp() public { + foobar = new FooBar(); + } + + function testCompare_hashString(uint256 count) public { + vm.assume(count > 10 && count < 1000); + + string memory str = string(new bytes(count)); + assertEq( + foobar.hashString_1(str), + foobar.hashString_2(str) //best + ); + } + + function testCompare_increment(uint256 count) public view { + vm.assume(count > 10 && count < 1000); + foobar.increment_1(count); + foobar.increment_2(count); + foobar.increment_3(count); // best + foobar.increment_4(count); + } + + function testCompare_hashTwo() public { + address a = address(this); + bytes32 b = blockhash(block.number - 1); + assertEq( + foobar.hashTwo_1(a, b), //best + foobar.hashTwo_2(a, b) + ); + } + + function testCompare_hashKey() public view { + foobar.hashKey_1(123, "abc"); + foobar.hashKey_2(123, "abc"); + } + + function testCompare_return() public view { + foobar.return_1(); + foobar.return_2(); // cheaper + } + + function testCompare_loadBlockMetadata() public { + MyStruct memory meta = MyStruct({ + id: 123, + l1Height: 456, + l1Hash: blockhash(block.number - 1), + gasLimit: 333, + timestamp: 999 + }); + + bytes memory b; + + b = abi.encode(meta); + foobar.loadBlockMetadata_1(b); + foobar.loadBlockMetadata_2(b); + foobar.loadBlockMetadata_3(meta); + foobar.loadBlockMetadata_4(meta); // best + + b = bytes.concat( + bytes32(meta.id), + bytes32(meta.l1Height), + meta.l1Hash, + bytes8(meta.gasLimit), + bytes8(meta.timestamp) + ); + + foobar.loadBlockMetadata_5(b); + + bytes memory c = bytes.concat(FooBar.loadBlockMetadata_6.selector, b); + + address(foobar).call(c); + } + + function testCompare_send0Ether() public { + address to = 0x50081b12838240B1bA02b3177153Bca678a86078; + foobar.send0Ether_CheckInside(to, 0); + foobar.send0Ether_CheckOutside(to, 0); + } +} diff --git a/packages/protocol/test/L1/TaikoL1.integration.test.ts b/packages/protocol/test/L1/TaikoL1.integration.test.ts deleted file mode 100644 index 165a61168b7..00000000000 --- a/packages/protocol/test/L1/TaikoL1.integration.test.ts +++ /dev/null @@ -1,566 +0,0 @@ -import { expect } from "chai"; -import { SimpleChannel } from "channel-ts"; -import { BigNumber, ethers as ethersLib } from "ethers"; -import { ethers } from "hardhat"; -import { TaikoL1, TestTaikoToken } from "../../typechain"; -import blockListener from "../utils/blockListener"; -import { BlockMetadata } from "../utils/block_metadata"; -import { - commitAndProposeLatestBlock, - commitBlock, - generateCommitHash, -} from "../utils/commit"; -import { encodeEvidence } from "../utils/encoding"; -import { - readShouldRevertWithCustomError, - txShouldRevertWithCustomError, -} from "../utils/errors"; -import Evidence from "../utils/evidence"; -import { initIntegrationFixture } from "../utils/fixture"; -import { buildProposeBlockInputs } from "../utils/propose"; -import Proposer from "../utils/proposer"; -import { buildProveBlockInputs, proveBlock } from "../utils/prove"; -import Prover from "../utils/prover"; -import { getBlockHeader } from "../utils/rpc"; -import { seedTko, sendTinyEtherToZeroAddress } from "../utils/seed"; -import { commitProposeProveAndVerify, verifyBlocks } from "../utils/verify"; - -describe("integration:TaikoL1", function () { - let taikoL1: TaikoL1; - let l1Provider: ethersLib.providers.JsonRpcProvider; - let l2Provider: ethersLib.providers.JsonRpcProvider; - let l1Signer: any; - let proposerSigner: any; - let genesisHeight: number; - let taikoTokenL1: TestTaikoToken; - let chan: SimpleChannel; - let interval: any; - let proverSigner: any; - let proposer: Proposer; - let prover: Prover; - /* eslint-disable-next-line */ - let config: Awaited>; - - beforeEach(async function () { - ({ - l1Provider, - taikoL1, - l2Provider, - l1Signer, - genesisHeight, - proposerSigner, - proverSigner, - interval, - chan, - config, - taikoTokenL1, - } = await initIntegrationFixture(false, false)); - proposer = new Proposer( - taikoL1.connect(proposerSigner), - l2Provider, - config.commitConfirmations.toNumber(), - config.maxNumBlocks.toNumber(), - 0, - proposerSigner - ); - - prover = new Prover(taikoL1, l2Provider, proverSigner); - }); - - afterEach(() => { - clearInterval(interval); - l2Provider.off("block"); - chan.close(); - }); - - describe("isCommitValid()", async function () { - it("should not be valid if it has not been committed", async function () { - const block = await l2Provider.getBlock("latest"); - const commit = generateCommitHash(block); - - const isCommitValid = await taikoL1.isCommitValid( - 1, - 1, - commit.hash - ); - - expect(isCommitValid).to.be.false; - }); - - it("should be valid if it has been committed", async function () { - const block = await l2Provider.getBlock("latest"); - const commitSlot = 0; - const { commit, blockCommittedEvent } = await commitBlock( - taikoL1, - block, - commitSlot - ); - expect(blockCommittedEvent).not.to.be.undefined; - - for (let i = 0; i < config.commitConfirmations.toNumber(); i++) { - await sendTinyEtherToZeroAddress(l1Signer); - } - - const isCommitValid = await taikoL1.isCommitValid( - commitSlot, - blockCommittedEvent!.blockNumber, - commit.hash - ); - - expect(isCommitValid).to.be.true; - }); - }); - - describe("getProposedBlock()", function () { - it("should revert if block is out of range and not a valid proposed block", async function () { - await readShouldRevertWithCustomError( - taikoL1.getProposedBlock(123), - "L1_ID()" - ); - }); - - it("should return valid block if it's been committed and proposed", async function () { - const commitSlot = 0; - const { proposedEvent } = await commitAndProposeLatestBlock( - taikoL1, - l1Signer, - l2Provider, - commitSlot - ); - expect(proposedEvent).not.to.be.undefined; - expect(proposedEvent.args.meta.commitSlot).to.be.eq(commitSlot); - - const proposedBlock = await taikoL1.getProposedBlock( - proposedEvent.args.meta.id - ); - expect(proposedBlock).not.to.be.undefined; - expect(proposedBlock.proposer).to.be.eq( - await l1Signer.getAddress() - ); - }); - }); - - describe("getForkChoice", function () { - it("returns no empty fork choice for un-proposed, un-proven and un-verified block", async function () { - const forkChoice = await taikoL1.getForkChoice( - 1, - ethers.constants.HashZero - ); - expect(forkChoice.blockHash).to.be.eq(ethers.constants.HashZero); - expect(forkChoice.provenAt).to.be.eq(0); - }); - - it("returns populated data for submitted fork choice", async function () { - const { proposedEvent, block } = await commitAndProposeLatestBlock( - taikoL1, - l1Signer, - l2Provider, - 0 - ); - - expect(proposedEvent).not.to.be.undefined; - const proveEvent = await proveBlock( - taikoL1, - l2Provider, - await l1Signer.getAddress(), - proposedEvent.args.id.toNumber(), - block.number, - proposedEvent.args.meta as any as BlockMetadata - ); - expect(proveEvent).not.to.be.undefined; - - const forkChoice = await taikoL1.getForkChoice( - proposedEvent.args.id.toNumber(), - block.parentHash - ); - expect(forkChoice.blockHash).to.be.eq(block.hash); - expect(forkChoice.prover).to.be.eq(await l1Signer.getAddress()); - }); - - it("returns empty after a block is verified", async function () { - await seedTko([prover], taikoTokenL1.connect(l1Signer)); - - const blockNumber = genesisHeight + 1; - /* eslint-disable-next-line */ - const block = await l2Provider.getBlock(blockNumber); - - // commit and propose block, so our provers can prove it. - const { proposedEvent } = await proposer.commitThenProposeBlock( - block - ); - - await prover.prove( - proposedEvent.args.id.toNumber(), - blockNumber, - proposedEvent.args.meta as any as BlockMetadata - ); - - let forkChoice = await taikoL1.getForkChoice( - proposedEvent.args.id.toNumber(), - block.parentHash - ); - expect(forkChoice).not.to.be.undefined; - expect(forkChoice.prover).to.be.not.eq( - ethers.constants.AddressZero - ); - - const verifiedEvent = await verifyBlocks(taikoL1, 1); - expect(verifiedEvent).not.to.be.undefined; - - forkChoice = await taikoL1.getForkChoice( - proposedEvent.args.id.toNumber(), - block.parentHash - ); - expect(forkChoice.prover).to.be.eq(ethers.constants.AddressZero); - }); - }); - - describe("commitBlock() -> proposeBlock() integration", async function () { - it("should fail if a proposed block's placeholder field values are not default", async function () { - const block = await l2Provider.getBlock("latest"); - const commitSlot = 0; - const { tx, commit } = await commitBlock( - taikoL1, - block, - commitSlot - ); - - const receipt = await tx.wait(1); - - const meta: BlockMetadata = { - id: 1, - l1Height: 0, - l1Hash: ethers.constants.HashZero, - beneficiary: commit.beneficiary, - txListHash: commit.txListHash, - mixHash: ethers.constants.HashZero, - extraData: block.extraData, - gasLimit: block.gasLimit, - timestamp: 0, - commitSlot: commitSlot, - commitHeight: receipt.blockNumber as number, - }; - - const inputs = buildProposeBlockInputs(block, meta); - const txPromise = ( - await taikoL1.proposeBlock(inputs, { gasLimit: 500000 }) - ).wait(1); - await txShouldRevertWithCustomError( - txPromise, - - l1Provider, - "L1_METADATA_FIELD()" - ); - }); - - it("should revert with invalid gasLimit", async function () { - const block = await l2Provider.getBlock("latest"); - const config = await taikoL1.getConfig(); - const gasLimit = config.blockMaxGasLimit; - - const { tx, commit } = await commitBlock(taikoL1, block); - - const receipt = await tx.wait(1); - const meta: BlockMetadata = { - id: 0, - l1Height: 0, - l1Hash: ethers.constants.HashZero, - beneficiary: commit.beneficiary, - txListHash: commit.txListHash, - mixHash: ethers.constants.HashZero, - extraData: block.extraData, - gasLimit: gasLimit.add(1), - timestamp: 0, - commitSlot: 0, - commitHeight: receipt.blockNumber as number, - }; - - const inputs = buildProposeBlockInputs(block, meta); - - const txPromise = ( - await taikoL1.proposeBlock(inputs, { gasLimit: 250000 }) - ).wait(1); - await txShouldRevertWithCustomError( - txPromise, - l1Provider, - "L1_GAS_LIMIT()" - ); - }); - - it("should revert with invalid extraData", async function () { - const block = await l2Provider.getBlock("latest"); - const { tx, commit } = await commitBlock(taikoL1, block); - - const meta: BlockMetadata = { - id: 0, - l1Height: 0, - l1Hash: ethers.constants.HashZero, - beneficiary: commit.beneficiary, - txListHash: commit.txListHash, - mixHash: ethers.constants.HashZero, - extraData: ethers.utils.hexlify(ethers.utils.randomBytes(33)), // invalid extradata - gasLimit: block.gasLimit, - timestamp: 0, - commitSlot: 0, - commitHeight: tx.blockNumber as number, - }; - - const inputs = buildProposeBlockInputs(block, meta); - - const txPromise = ( - await taikoL1.proposeBlock(inputs, { gasLimit: 500000 }) - ).wait(1); - await txShouldRevertWithCustomError( - txPromise, - l1Provider, - "L1_EXTRA_DATA()" - ); - }); - - it("should commit and be able to propose", async function () { - await commitAndProposeLatestBlock(taikoL1, l1Signer, l2Provider, 0); - - const stateVariables = await taikoL1.getStateVariables(); - const nextBlockId = stateVariables.nextBlockId; - const proposedBlock = await taikoL1.getProposedBlock( - nextBlockId.sub(1) - ); - - expect(proposedBlock.metaHash).not.to.be.eq( - ethers.constants.HashZero - ); - expect(proposedBlock.proposer).not.to.be.eq( - ethers.constants.AddressZero - ); - expect(proposedBlock.proposedAt).not.to.be.eq(BigNumber.from(0)); - }); - - it("should commit and be able to propose for all available slots, then revert when all slots are taken", async function () { - // propose blocks and fill up maxNumBlocks number of slots, - // expect each one to be successful. - for (let i = 0; i < config.maxNumBlocks.toNumber() - 1; i++) { - await commitAndProposeLatestBlock( - taikoL1, - l1Signer, - l2Provider, - 0 - ); - - const stateVariables = await taikoL1.getStateVariables(); - const nextBlockId = stateVariables.nextBlockId; - const proposedBlock = await taikoL1.getProposedBlock( - nextBlockId.sub(1) - ); - - expect(proposedBlock.metaHash).not.to.be.eq( - ethers.constants.HashZero - ); - expect(proposedBlock.proposer).not.to.be.eq( - ethers.constants.AddressZero - ); - expect(proposedBlock.proposedAt).not.to.be.eq( - BigNumber.from(0) - ); - } - - // now expect another proposed block to be invalid since all slots are full and none have - // been proven. - const { commitConfirmations } = await taikoL1.getConfig(); - const block = await l2Provider.getBlock("latest"); - const { tx: commitBlockTx, commit } = await commitBlock( - taikoL1.connect(l1Signer), - block, - 0 - ); - const commitReceipt = await commitBlockTx.wait(1); - - for (let i = 0; i < commitConfirmations.toNumber() + 5; i++) { - await sendTinyEtherToZeroAddress(l1Signer); - } - - const meta: BlockMetadata = { - id: 0, - l1Height: 0, - l1Hash: ethers.constants.HashZero, - beneficiary: commit.beneficiary, - txListHash: commit.txListHash, - mixHash: ethers.constants.HashZero, - extraData: ethers.utils.hexlify(ethers.utils.randomBytes(32)), - gasLimit: block.gasLimit, - timestamp: 0, - commitSlot: 0, - commitHeight: commitReceipt.blockNumber, - }; - - await txShouldRevertWithCustomError( - ( - await taikoL1.proposeBlock( - buildProposeBlockInputs(block, meta), - { gasLimit: 500000 } - ) - ).wait(), - l1Provider, - "L1_TOO_MANY_BLOCKS()" - ); - }); - }); - - describe("getLatestSyncedHeader", function () { - it("iterates through blockHashHistory length and asserts getLatestSyncedHeader returns correct value", async function () { - l2Provider.on("block", blockListener(chan, genesisHeight)); - - let blocks: number = 0; - // iterate through blockHashHistory twice and try to get latest synced header each time. - // we modulo the header height by blockHashHistory in the protocol, so - // this test ensures that logic is sound. - /* eslint-disable-next-line */ - for await (const blockNumber of chan) { - if (blocks > config.blockHashHistory.toNumber() * 2 + 1) { - chan.close(); - return; - } - - const { verifyEvent } = await commitProposeProveAndVerify( - taikoL1, - l2Provider, - blockNumber, - proposer, - taikoTokenL1, - prover - ); - - expect(verifyEvent).not.to.be.undefined; - - const header = await taikoL1.getLatestSyncedHeader(); - expect(header).to.be.eq(verifyEvent.args.blockHash); - blocks++; - } - }); - }); - - describe("proveBlock", function () { - it("reverts when inputs is incorrect length", async function () { - for (let i = 1; i <= 2; i++) { - const txPromise = ( - await taikoL1.proveBlock( - 1, - new Array(i).fill(ethers.constants.HashZero), - { - gasLimit: 1000000, - } - ) - ).wait(1); - await txShouldRevertWithCustomError( - txPromise, - l1Provider, - "L1_INPUT_SIZE()" - ); - } - }); - - it("reverts when evidence meta id is not the same as the blockId", async function () { - l2Provider.on("block", blockListener(chan, genesisHeight)); - - const config = await taikoL1.getConfig(); - /* eslint-disable-next-line */ - for await (const blockNumber of chan) { - if ( - blockNumber > - genesisHeight + config.maxNumBlocks.toNumber() - 1 - ) { - break; - } - - const block = await l2Provider.getBlock(blockNumber); - - // commit and propose block, so our provers can prove it. - const { proposedEvent } = await proposer.commitThenProposeBlock( - block - ); - - const header = await getBlockHeader(l2Provider, blockNumber); - const inputs = buildProveBlockInputs( - proposedEvent.args.meta as any as BlockMetadata, - header.blockHeader, - await prover.getSigner().getAddress(), - "0x", - "0x" - ); - - const txPromise = ( - await taikoL1.proveBlock( - proposedEvent.args.meta.id.toNumber() + 1, // id different than meta - inputs, - { - gasLimit: 2000000, - } - ) - ).wait(1); - - await txShouldRevertWithCustomError( - txPromise, - l1Provider, - "L1_ID()" - ); - } - }); - - it("reverts when prover is the zero address", async function () { - l2Provider.on("block", blockListener(chan, genesisHeight)); - - const config = await taikoL1.getConfig(); - /* eslint-disable-next-line */ - for await (const blockNumber of chan) { - if ( - blockNumber > - genesisHeight + config.maxNumBlocks.toNumber() - 1 - ) { - break; - } - - const block = await l2Provider.getBlock(blockNumber); - - // commit and propose block, so our provers can prove it. - const { proposedEvent } = await proposer.commitThenProposeBlock( - block - ); - - const header = await getBlockHeader(l2Provider, blockNumber); - const inputs = []; - const evidence: Evidence = { - meta: proposedEvent.args.meta as any as BlockMetadata, - header: header.blockHeader, - prover: ethers.constants.AddressZero, - proofs: [], - circuits: [], - }; - - evidence.circuits.push(1); - - for (let i = 0; i < 3; i++) { - evidence.proofs.push("0xff"); - } - - inputs[0] = encodeEvidence(evidence); - inputs[1] = "0x"; - inputs[2] = "0x"; - - const txPromise = ( - await taikoL1.proveBlock( - proposedEvent.args.meta.id.toNumber(), // id different than meta - inputs, - { - gasLimit: 2000000, - } - ) - ).wait(1); - - await txShouldRevertWithCustomError( - txPromise, - l1Provider, - "L1_PROVER()" - ); - } - }); - }); -}); diff --git a/packages/protocol/test/L1/TaikoL1.test.ts b/packages/protocol/test/L1/TaikoL1.test.ts deleted file mode 100644 index 1625adbad8d..00000000000 --- a/packages/protocol/test/L1/TaikoL1.test.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import { TaikoL1 } from "../../typechain"; -import deployAddressManager from "../utils/addressManager"; -import { randomBytes32 } from "../utils/bytes"; -import { deployTaikoL1 } from "../utils/taikoL1"; - -describe("TaikoL1", function () { - let taikoL1: TaikoL1; - let genesisHash: string; - - beforeEach(async function () { - const l1Signer = (await ethers.getSigners())[0]; - const addressManager = await deployAddressManager(l1Signer); - genesisHash = randomBytes32(); - taikoL1 = await deployTaikoL1(addressManager, genesisHash, false); - }); - - describe("getLatestSyncedHeader()", async function () { - it("should be genesisHash because no headers have been synced", async function () { - const hash = await taikoL1.getLatestSyncedHeader(); - expect(hash).to.be.eq(genesisHash); - }); - }); - - describe("getSyncedHeader()", async function () { - it("should revert because header number has not been synced", async function () { - await expect(taikoL1.getSyncedHeader(1)).to.be.revertedWith( - "L1_BLOCK_NUMBER()" - ); - }); - - it("should return appropraite hash for header", async function () { - const hash = await taikoL1.getSyncedHeader(0); - expect(hash).to.be.eq(genesisHash); - }); - }); - - describe("proposeBlock()", async function () { - it("should revert when size of inputs is les than 2", async function () { - await expect( - taikoL1.proposeBlock([randomBytes32()]) - ).to.be.revertedWith("L1_INPUT_SIZE()"); - }); - }); - - describe("commitBlock()", async function () { - it("should revert when size of inputs is les than 2", async function () { - await expect( - taikoL1.proposeBlock([randomBytes32()]) - ).to.be.revertedWith("L1_INPUT_SIZE()"); - }); - }); -}); diff --git a/packages/protocol/test/L1/TaikoToken.test.ts b/packages/protocol/test/L1/TaikoToken.test.ts deleted file mode 100644 index 103876510ab..00000000000 --- a/packages/protocol/test/L1/TaikoToken.test.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import { - ERC20_BURN_AMOUNT_EXCEEDED, - ERC20_TRANSFER_AMOUNT_EXCEEDED, -} from "../constants/errors"; -import { BigNumber } from "ethers"; -import deployTaikoToken from "../utils/taikoToken"; -import { TestTaikoToken } from "../../typechain/TestTaikoToken"; -import deployAddressManager from "../utils/addressManager"; - -describe("TaikoToken", function () { - let owner: any; - let nonOwner: any; - let protoBroker: any; - let token: TestTaikoToken; - let amountMinted: BigNumber; - - before(async function () { - [owner, nonOwner, protoBroker] = await ethers.getSigners(); - }); - - beforeEach(async function () { - const addressManager = await deployAddressManager(owner); - token = await deployTaikoToken( - owner, - addressManager, - protoBroker.address - ); - amountMinted = ethers.utils.parseEther("100"); - await token.connect(protoBroker).mint(owner.address, amountMinted); - - const ownerBalance = await token.balanceOf(owner.address); - expect(ownerBalance).to.be.eq(amountMinted); - }); - - describe("mint()", async () => { - it("throws when to is equal to the zero address", async () => { - await expect( - token.connect(protoBroker).mint(ethers.constants.AddressZero, 1) - ).to.be.revertedWith("TKO_INVALID_ADDR()"); - }); - - it("throws when minter is not the protoBroker", async () => { - await expect( - token.connect(owner).mint(nonOwner.address, amountMinted.add(1)) - ).to.be.revertedWith("RESOLVER_DENIED()"); - }); - - it("succeeds", async () => { - const originalBalance = await token.balanceOf(nonOwner.address); - - await token - .connect(protoBroker) - .mint(nonOwner.address, amountMinted); - - const postTransferBalance = await token.balanceOf(nonOwner.address); - expect(postTransferBalance).to.be.eq( - originalBalance.add(amountMinted) - ); - }); - }); - - describe("burn()", async () => { - it("throws when to is equal to the zero address", async () => { - await expect( - token.connect(protoBroker).burn(ethers.constants.AddressZero, 1) - ).to.be.revertedWith("TKO_INVALID_ADDR()"); - }); - - it("throws when burner is not the protoBroker", async () => { - await expect( - token.connect(owner).burn(nonOwner.address, amountMinted.add(1)) - ).to.be.revertedWith("RESOLVER_DENIED()"); - }); - - it("throws when account balance is < amount requested to burn", async () => { - await expect( - token - .connect(protoBroker) - .burn(owner.address, amountMinted.add(1)) - ).to.be.revertedWith(ERC20_BURN_AMOUNT_EXCEEDED); - }); - - it("succeeds", async () => { - const originalBalance = await token.balanceOf(owner.address); - - await token.connect(protoBroker).burn(owner.address, amountMinted); - - const postTransferBalance = await token.balanceOf(owner.address); - expect(postTransferBalance).to.be.eq( - originalBalance.sub(amountMinted) - ); - }); - }); - - describe("transfer()", async () => { - it("throws when to is equal to the contract address", async () => { - await expect( - token.connect(owner).transfer(token.address, 1) - ).to.be.revertedWith("TKO_INVALID_ADDR()"); - }); - - it("throws when transfer is > user's amount", async () => { - await expect( - token - .connect(owner) - .transfer(nonOwner.address, amountMinted.add(1)) - ).to.be.revertedWith(ERC20_TRANSFER_AMOUNT_EXCEEDED); - }); - - it("succeeds", async () => { - const originalBalance = await token.balanceOf(nonOwner.address); - - await token.connect(owner).transfer(nonOwner.address, amountMinted); - const postTransferBalance = await token.balanceOf(nonOwner.address); - expect(postTransferBalance).to.be.eq( - originalBalance.add(amountMinted) - ); - }); - }); -}); diff --git a/packages/protocol/test/L2/TaikoL2.test.ts b/packages/protocol/test/L2/TaikoL2.test.ts deleted file mode 100644 index f69d228a5cc..00000000000 --- a/packages/protocol/test/L2/TaikoL2.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import { TaikoL2 } from "../../typechain"; -import deployAddressManager from "../utils/addressManager"; -import { randomBytes32 } from "../utils/bytes"; -import { deployTaikoL2 } from "../utils/taikoL2"; - -describe("TaikoL2", function () { - let taikoL2: TaikoL2; - - beforeEach(async function () { - const signer = (await ethers.getSigners())[0]; - const addressManager = await deployAddressManager(signer); - taikoL2 = await deployTaikoL2(signer, addressManager); - }); - - describe("anchor()", async function () { - it("should revert since ancestor hashes not written", async function () { - await expect( - taikoL2.anchor(Math.ceil(Math.random() * 1024), randomBytes32()) - ).to.be.revertedWith("L2_PUBLIC_INPUT_HASH_MISMATCH()"); - }); - }); - - describe("getLatestSyncedHeader()", async function () { - it("should be 0 because no headers have been synced", async function () { - const hash = await taikoL2.getLatestSyncedHeader(); - expect(hash).to.be.eq(ethers.constants.HashZero); - }); - }); - - describe("getSyncedHeader()", async function () { - it("should be 0 because header number has not been synced", async function () { - const hash = await taikoL2.getSyncedHeader(1); - expect(hash).to.be.eq(ethers.constants.HashZero); - }); - }); -}); diff --git a/packages/protocol/test/Lib1559Math.sol b/packages/protocol/test/Lib1559Math.sol new file mode 100644 index 00000000000..9af6d90cacb --- /dev/null +++ b/packages/protocol/test/Lib1559Math.sol @@ -0,0 +1,96 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {Lib1559Math as T} from "../contracts/libs/Lib1559Math.sol"; +import { + SafeCastUpgradeable +} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; + +contract TestLib1559Math is Test { + using SafeCastUpgradeable for uint256; + + function test1559_2X1XRatio(uint16 rand) public { + vm.assume(rand != 0); + + uint64 xExcessMax = (uint(15000000) * 256 * rand).toUint64(); + uint64 xTarget = (uint(6000000) * rand).toUint64(); + uint64 price0 = (uint(5000000000) * rand).toUint64(); + uint64 ratio2x1x = 11177; + (uint128 xscale, uint128 yscale) = T.calculateScales({ + xExcessMax: xExcessMax, + price: price0, + target: xTarget, + ratio2x1x: ratio2x1x + }); + + // basefee should be 0 when xExcess is 0 + assertEq(T.calculatePrice(xscale, yscale, 0, xTarget), 0); + + uint64 N = 50; + // In the [xExcessMax/2 - 50 * xTarget, xExcessMax/2 + 50 * xTarget] + // x range, the ratio2x1x holds, and the price is still smaller + // than uint64.max + for ( + uint64 xExcess = xExcessMax / 2 - N * xTarget; + xExcess <= xExcessMax / 2 + N * xTarget; + xExcess += xTarget + ) { + uint256 basefee1 = T.calculatePrice( + xscale, + yscale, + xExcess, + xTarget + ); + assertLt(basefee1, type(uint64).max); + + uint256 basefee2 = T.calculatePrice( + xscale, + yscale, + xExcess, + 2 * xTarget + ); + + assertLt(basefee2, type(uint64).max); + + if (basefee1 != 0) { + assertEq((basefee2 * 10000) / basefee1, ratio2x1x); + } + } + } + + function test1559_SpecalCases(uint16 rand) public { + vm.assume(rand != 0); + + uint64 xExcessMax = (uint(15000000) * 256 * rand).toUint64(); + uint64 xTarget = (uint(6000000) * rand).toUint64(); + uint64 price0 = (uint(5000000000) * rand).toUint64(); + uint64 ratio2x1x = 11177; + + (uint128 xscale, uint128 yscale) = T.calculateScales({ + xExcessMax: xExcessMax, + price: price0, + target: xTarget, + ratio2x1x: ratio2x1x + }); + + assertEq(T.calculatePrice(xscale, yscale, 0, 0), 0); + assertEq(T.calculatePrice(xscale, yscale, 0, 1), 0); + + assertGt( + T.calculatePrice(xscale, yscale, xExcessMax - xTarget, xTarget), + type(uint64).max + ); + + assertGt( + T.calculatePrice(xscale, yscale, 0, xExcessMax), + type(uint64).max + ); + + assertGt( + T.calculatePrice(xscale, yscale, xExcessMax / 2, xExcessMax / 2), + type(uint64).max + ); + } +} diff --git a/packages/protocol/test/LibFixedPointMath.t.sol b/packages/protocol/test/LibFixedPointMath.t.sol new file mode 100644 index 00000000000..1563a196a3b --- /dev/null +++ b/packages/protocol/test/LibFixedPointMath.t.sol @@ -0,0 +1,57 @@ +// SPDX-License-Identifier: UNLICENSED +// Some of the tests are taken from: +// https://github.com/recmo/experiment-solexp/blob/main/src/test/FixedPointMathLib.t.sol +pragma solidity 0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import "../contracts/thirdparty/LibFixedPointMath.sol"; + +contract LibFixedPointMathTest is Test { + function testExp1() public { + assertEq(LibFixedPointMath.exp(-1e18), 367879441171442321); + } + + function testExpSmallest() public view { + int256 y = LibFixedPointMath.exp(-42139678854452767550); + + console2.log( + "LibFixedPointMath.exp(-42139678854452767550)=", + uint256(y) + ); + } + + function testExpLargest() public view { + int256 y = LibFixedPointMath.exp( + int256(uint256(LibFixedPointMath.MAX_EXP_INPUT)) + ); + console2.log( + "LibFixedPointMath.exp(135305999368893231588)=", + uint256(y) + ); + } + + function testExpSome() public view { + int256 y = LibFixedPointMath.exp(5e18); + console2.log("LibFixedPointMath.exp(5e18)=", uint256(y)); + } + + function testExpGas() public view { + uint256 g0 = gasleft(); + LibFixedPointMath.exp(133e18); + uint256 g1 = gasleft(); + LibFixedPointMath.exp(-23e18); + uint256 g2 = gasleft(); + LibFixedPointMath.exp(5e18); + uint256 g3 = gasleft(); + console2.logUint(g0 - g1); + console2.logUint(g1 - g2); + console2.logUint(g2 - g3); + } + + function testExp3() public pure { + LibFixedPointMath.exp(133e18); + LibFixedPointMath.exp(10e18); + LibFixedPointMath.exp(-23e18); + } +} diff --git a/packages/protocol/test/LibLn.sol b/packages/protocol/test/LibLn.sol new file mode 100644 index 00000000000..c5dc856867c --- /dev/null +++ b/packages/protocol/test/LibLn.sol @@ -0,0 +1,227 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.18; + +// Taken from: https://github.com/recmo/experiment-solexp/blob/main/src/FixedPointMathLib.sol +import {LibFixedPointMath} from "../contracts/thirdparty/LibFixedPointMath.sol"; + +library LibLn { + error Overflow(); + error LnNegativeUndefined(); + + // Integer log2 (alternative implementation) + // @returns floor(log2(x)) if x is nonzero, otherwise 0. + // Consumes 317 gas. This could have been an 3 gas EVM opcode though. + function ilog2_alt(uint256 x) internal pure returns (uint256 r) { + unchecked { + // Repeat first zero all the way to the right + x |= x >> 1; + x |= x >> 2; + x |= x >> 4; + x |= x >> 8; + x |= x >> 16; + x |= x >> 32; + x |= x >> 64; + x |= x >> 128; + + // Count 32 bit chunks + r = x & 0x100000001000000010000000100000001000000010000000100000001; + r *= 0x20000000200000002000000020000000200000002000000020; + r >>= 224; + + // Extract highest bit + x ^= x >> 1; + + // Copy to lowest 32 bit chunk + x |= x >> 32; + x |= x >> 64; + x |= x >> 128; + // No need to clear the other chunks + + // Map to 0-31 using the B(2, 5) de Bruijn sequence 0x077CB531. + // See + x = ((x * 0x077CB531) >> 27) & 0x1f; + + // Use a bytes32 32 entry lookup table + assembly { + // Need assembly here because solidity introduces an uncessary bounds + // check. + r := add( + r, + byte( + x, + 0x11c021d0e18031e16140f191104081f1b0d17151310071a0c12060b050a09 + ) + ) + } + } + } + + // Integer log2 + // @returns floor(log2(x)) if x is nonzero, otherwise 0. This is the same + // as the location of the highest set bit. + // Consumes 232 gas. This could have been an 3 gas EVM opcode though. + function ilog2(uint256 x) internal pure returns (uint256 r) { + assembly { + r := shl(7, lt(0xffffffffffffffffffffffffffffffff, x)) + r := or(r, shl(6, lt(0xffffffffffffffff, shr(r, x)))) + r := or(r, shl(5, lt(0xffffffff, shr(r, x)))) + r := or(r, shl(4, lt(0xffff, shr(r, x)))) + r := or(r, shl(3, lt(0xff, shr(r, x)))) + r := or(r, shl(2, lt(0xf, shr(r, x)))) + r := or(r, shl(1, lt(0x3, shr(r, x)))) + r := or(r, lt(0x1, shr(r, x))) + } + } + + function ln_pub(int256 x) public pure returns (int256 r) { + return ln(x); + } + + // Computes ln(x) in 1e18 fixed point. + // Reverts if x is negative or zero. + // Consumes 670 gas. + function ln(int256 x) internal pure returns (int256 r) { + unchecked { + if (x < 1) { + if (x < 0) revert LnNegativeUndefined(); + revert Overflow(); + } + + // We want to convert x from 10**18 fixed point to 2**96 fixed point. + // We do this by multiplying by 2**96 / 10**18. + // But since ln(x * C) = ln(x) + ln(C), we can simply do nothing here + // and add ln(2**96 / 10**18) at the end. + + // Reduce range of x to (1, 2) * 2**96 + // ln(2^k * x) = k * ln(2) + ln(x) + // Note: inlining ilog2 saves 8 gas. + int256 k = int256(ilog2(uint256(x))) - 96; + x <<= uint256(159 - k); + x = int256(uint256(x) >> 159); + + // Evaluate using a (8, 8)-term rational approximation + // p is made monic, we will multiply by a scale factor later + int256 p = x + 3273285459638523848632254066296; + p = ((p * x) >> 96) + 24828157081833163892658089445524; + p = ((p * x) >> 96) + 43456485725739037958740375743393; + p = ((p * x) >> 96) - 11111509109440967052023855526967; + p = ((p * x) >> 96) - 45023709667254063763336534515857; + p = ((p * x) >> 96) - 14706773417378608786704636184526; + p = p * x - (795164235651350426258249787498 << 96); + //emit log_named_int("p", p); + // We leave p in 2**192 basis so we don't need to scale it back up for the division. + // q is monic by convention + int256 q = x + 5573035233440673466300451813936; + q = ((q * x) >> 96) + 71694874799317883764090561454958; + q = ((q * x) >> 96) + 283447036172924575727196451306956; + q = ((q * x) >> 96) + 401686690394027663651624208769553; + q = ((q * x) >> 96) + 204048457590392012362485061816622; + q = ((q * x) >> 96) + 31853899698501571402653359427138; + q = ((q * x) >> 96) + 909429971244387300277376558375; + assembly { + // Div in assembly because solidity adds a zero check despite the `unchecked`. + // The q polynomial is known not to have zeros in the domain. (All roots are complex) + // No scaling required because p is already 2**96 too large. + r := sdiv(p, q) + } + // r is in the range (0, 0.125) * 2**96 + + // Finalization, we need to + // * multiply by the scale factor s = 5.549… + // * add ln(2**96 / 10**18) + // * add k * ln(2) + // * multiply by 10**18 / 2**96 = 5**18 >> 78 + // mul s * 5e18 * 2**96, base is now 5**18 * 2**192 + r *= 1677202110996718588342820967067443963516166; + // add ln(2) * k * 5e18 * 2**192 + r += + 16597577552685614221487285958193947469193820559219878177908093499208371 * + k; + // add ln(2**96 / 10**18) * 5e18 * 2**192 + r += 600920179829731861736702779321621459595472258049074101567377883020018308; + // base conversion: mul 2**18 / 2**192 + r >>= 174; + } + } + + // Computes e^x in 1e18 fixed point. + function exp(int256 x) internal pure returns (int256 r) { + unchecked { + // Input x is in fixed point format, with scale factor 1/1e18. + + // When the result is < 0.5 we return zero. This happens when + // x <= floor(log(0.5e18) * 1e18) ~ -42e18 + if (x <= -42139678854452767551) { + return 0; + } + + // When the result is > (2**255 - 1) / 1e18 we can not represent it + // as an int256. This happens when x >= floor(log((2**255 -1) / 1e18) * 1e18) ~ 135. + if (x >= 135305999368893231589) revert Overflow(); + + // x is now in the range (-42, 136) * 1e18. Convert to (-42, 136) * 2**96 + // for more intermediate precision and a binary basis. This base conversion + // is a multiplication by 1e18 / 2**96 = 5**18 / 2**78. + x = (x << 78) / 5 ** 18; + + // Reduce range of x to (-½ ln 2, ½ ln 2) * 2**96 by factoring out powers of two + // such that exp(x) = exp(x') * 2**k, where k is an integer. + // Solving this gives k = round(x / log(2)) and x' = x - k * log(2). + int256 k = ((x << 96) / 54916777467707473351141471128 + 2 ** 95) >> + 96; + x = x - k * 54916777467707473351141471128; + // k is in the range [-61, 195]. + + // Evaluate using a (6, 7)-term rational approximation + // p is made monic, we will multiply by a scale factor later + int256 p = x + 2772001395605857295435445496992; + p = ((p * x) >> 96) + 44335888930127919016834873520032; + p = ((p * x) >> 96) + 398888492587501845352592340339721; + p = ((p * x) >> 96) + 1993839819670624470859228494792842; + p = p * x + (4385272521454847904632057985693276 << 96); + // We leave p in 2**192 basis so we don't need to scale it back up for the division. + // Evaluate using using Knuth's scheme from p. 491. + int256 z = x + 750530180792738023273180420736; + z = ((z * x) >> 96) + 32788456221302202726307501949080; + int256 w = x - 2218138959503481824038194425854; + w = ((w * z) >> 96) + 892943633302991980437332862907700; + int256 q = z + w - 78174809823045304726920794422040; + q = ((q * w) >> 96) + 4203224763890128580604056984195872; + assembly { + // Div in assembly because solidity adds a zero check despite the `unchecked`. + // The q polynomial is known not to have zeros in the domain. (All roots are complex) + // No scaling required because p is already 2**96 too large. + r := sdiv(p, q) + } + // r should be in the range (0.09, 0.25) * 2**96. + + // We now need to multiply r by + // * the scale factor s = ~6.031367120..., + // * the 2**k factor from the range reduction, and + // * the 1e18 / 2**96 factor for base converison. + // We do all of this at once, with an intermediate result in 2**213 basis + // so the final right shift is always by a positive amount. + r = int256( + (uint256(r) * + 3822833074963236453042738258902158003155416615667) >> + uint256(195 - k) + ); + } + } + + function calcInitProofTimeIssued( + uint64 basefee, + uint16 proofTimeTarget, + uint8 adjustmentQuotient + ) public pure returns (uint64 initProofTimeIssued) { + uint256 scale = uint256(proofTimeTarget) * adjustmentQuotient; + // ln_pub() expects 1e18 fixed format + uint256 lnReq = scale * basefee * LibFixedPointMath.SCALING_FACTOR_1E18; + require(lnReq <= uint256(type(int256).max)); + int256 log_result = ln_pub(int256(lnReq)); + initProofTimeIssued = uint64( + ((scale * (uint256(log_result))) / + (LibFixedPointMath.SCALING_FACTOR_1E18)) + ); + } +} diff --git a/packages/protocol/test/SignalService.t.sol b/packages/protocol/test/SignalService.t.sol new file mode 100644 index 00000000000..026e3ab538c --- /dev/null +++ b/packages/protocol/test/SignalService.t.sol @@ -0,0 +1,189 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {AddressResolver} from "../contracts/common/AddressResolver.sol"; +import {Bridge} from "../contracts/bridge/Bridge.sol"; +import {BridgedERC20} from "../contracts/bridge/BridgedERC20.sol"; +import {BridgeErrors} from "../contracts/bridge/BridgeErrors.sol"; +import {console2} from "forge-std/console2.sol"; +import {FreeMintERC20} from "../contracts/test/erc20/FreeMintERC20.sol"; +import {SignalService} from "../contracts/signal/SignalService.sol"; +import {Test} from "forge-std/Test.sol"; +import {IXchainSync} from "../contracts/common/IXchainSync.sol"; + +contract PrankXchainSync is IXchainSync { + bytes32 private _blockHash; + bytes32 private _signalRoot; + + function setXchainBlockHeader(bytes32 blockHash) external { + _blockHash = blockHash; + } + + function setXchainSignalRoot(bytes32 signalRoot) external { + _signalRoot = signalRoot; + } + + function getXchainBlockHash(uint256) external view returns (bytes32) { + return _blockHash; + } + + function getXchainSignalRoot(uint256) external view returns (bytes32) { + return _signalRoot; + } +} + +contract TestSignalService is Test { + AddressManager addressManager; + + SignalService signalService; + SignalService destSignalService; + PrankXchainSync xChainSync; + uint256 destChainId = 7; + + address public constant Alice = 0x10020FCb72e27650651B05eD2CEcA493bC807Ba4; + address public constant Bob = 0x200708D76eB1B69761c23821809d53F65049939e; + address public Carol = 0xDf08F82De32B8d460adbE8D72043E3a7e25A3B39; + + function setUp() public { + vm.startPrank(Alice); + vm.deal(Alice, 1 ether); + vm.deal(Bob, 1 ether); + + addressManager = new AddressManager(); + addressManager.init(); + + signalService = new SignalService(); + signalService.init(address(addressManager)); + + destSignalService = new SignalService(); + destSignalService.init(address(addressManager)); + + xChainSync = new PrankXchainSync(); + + addressManager.setAddress( + block.chainid, + "signal_service", + address(signalService) + ); + + addressManager.setAddress( + destChainId, + "signal_service", + address(destSignalService) + ); + + addressManager.setAddress( + block.chainid, + "signal_service", + address(signalService) + ); + + addressManager.setAddress(destChainId, "taiko", address(xChainSync)); + + vm.stopPrank(); + } + + function test_send_signal_reverts_if_signal_is_zero() public { + vm.expectRevert(SignalService.B_ZERO_SIGNAL.selector); + signalService.sendSignal(0); + } + + function test_is_signal_sent_reverts_if_address_is_zero() public { + bytes32 signal = bytes32(uint256(1)); + vm.expectRevert(SignalService.B_NULL_APP_ADDR.selector); + signalService.isSignalSent(address(0), signal); + } + + function test_is_signal_sent_reverts_if_signal_is_zero() public { + bytes32 signal = bytes32(uint256(0)); + vm.expectRevert(SignalService.B_ZERO_SIGNAL.selector); + signalService.isSignalSent(Alice, signal); + } + + function test_send_signal_and_signal_is_sent_correctly() public { + vm.startPrank(Alice); + bytes32 signal = bytes32(uint256(1)); + signalService.sendSignal(signal); + + bool isSent = signalService.isSignalSent(Alice, signal); + assertEq(isSent, true); + } + + function test_get_signal_slot_returns_expected_slot_for_app_and_signal() + public + { + vm.startPrank(Alice); + for (uint8 i = 1; i < 100; i++) { + bytes32 signal = bytes32(block.prevrandao + i); + signalService.sendSignal(signal); + + bool isSent = signalService.isSignalSent(Alice, signal); + assertEq(isSent, true); + + bytes32 slot = signalService.getSignalSlot(Alice, signal); + + // confirm our assembly gives same output as expected native solidity hash/packing + bytes32 expectedSlot = keccak256(abi.encodePacked(Alice, signal)); + assertEq(slot, expectedSlot); + } + } + + function test_is_signal_received_reverts_if_src_chain_id_is_same_as_block_chain_id() + public + { + bytes32 signal = bytes32(uint256(1)); + bytes memory proof = new bytes(1); + vm.expectRevert(SignalService.B_WRONG_CHAIN_ID.selector); + signalService.isSignalReceived(block.chainid, Alice, signal, proof); + } + + function test_is_signal_received_reverts_if_app_is_zero_address() public { + bytes32 signal = bytes32(uint256(1)); + bytes memory proof = new bytes(1); + vm.expectRevert(SignalService.B_NULL_APP_ADDR.selector); + signalService.isSignalReceived(destChainId, address(0), signal, proof); + } + + function test_is_signal_received_reverts_if_signal_is_zero() public { + bytes32 signal = bytes32(uint256(0)); + bytes memory proof = new bytes(1); + vm.expectRevert(SignalService.B_ZERO_SIGNAL.selector); + signalService.isSignalReceived(destChainId, Alice, signal, proof); + } + + function test_is_signal_received_reverts_if_proof_is_invalid() public { + bytes32 signal = bytes32(uint256(1)); + bytes memory proof = new bytes(1); + vm.expectRevert(); + signalService.isSignalReceived(destChainId, Alice, signal, proof); + } + + function test_is_signal_received() public { + // known signal with known proof for known block header/signalRoot from a known chain ID + // of 1336, since we cant generate merkle proofs with foundry. + bytes32 signal = bytes32( + 0xa99d658793daba4d352c77378e2d0f3b12ff47503518b3ec9ad61bb33ee7031d + ); + bytes + memory proof = hex"0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003e0d5c45a5c0fabac05a887ad983965a225214df2cecd77adc216d3b1172866b1e91dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493470000000000000000000000000000000000000000000000000000000000000000cba38a70215ae3eeba2e97f9b6c3c804541484202953760c1cfe734df6dfce7cf7f7ed1e57a053e1c79765d6b76305193cae04261538400724837787437e621c9e6a8ea258a11278cf2e54d0e4845843837a1da42483ebe1dddf3eed1d33088b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000099c8ac000000000000000000000000000000000000000000000000000000000000ac7500000000000000000000000000000000000000000000000000000000644311c100000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000164c61e700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061d883010a1a846765746888676f312e31382e38856c696e757800000000000000def5020e30ddc20e32151adb608a5d8367d817a707ae8d520c98ac13de04bce35f95ef795a9c4fd13d3e5daf713525521043125bde66aa71eed7ca715f05c720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbf8d9b8b3f8b18080a04fc5f13ab2f9ba0c2da88b0151ab0e7cf4d85d08cca45ccd923c6ab76323eb28a02b70a98baa2507beffe8c266006cae52064dccf4fd1998af774ab3399029b38380808080a07394a09684ef3b2c87e9e2a753eb4ac78e2047b980e16d2e2133aee78946370d8080a0f4984a11f61a2921456141df88de6e1a710d28681b91af794c5a721e47839cd7a00f6329feca1549bd3bf7ab9a2e474bde37cb4f81366fca1dfdd9257c7305b5b880808080a3e2a037a8317247f2d3e645fa68570a9ae97a73b5568fe0578b90197316c654138997010000000000"; + + xChainSync.setXchainBlockHeader( + 0x986278442ae7469dbd55f478348b4547c399004c93325b18ed995d2bc008f98d + ); + xChainSync.setXchainSignalRoot( + 0x58900f5366437923bb250887d359d828a1a89e1837f9369f75c3e1bb238b854f + ); + + vm.chainId(destChainId); + + bool isReceived = destSignalService.isSignalReceived( + 1336, + Carol, + signal, + proof + ); + + assertEq(isReceived, true); + } +} diff --git a/packages/protocol/test/SignalServiceCalc.sol b/packages/protocol/test/SignalServiceCalc.sol new file mode 100644 index 00000000000..42ede313ea8 --- /dev/null +++ b/packages/protocol/test/SignalServiceCalc.sol @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {LibRLPWriter} from "../contracts/thirdparty/LibRLPWriter.sol"; + +contract TestSignalServiceCalc is Test { + function setUp() public {} + + function testLibRLPWriterOne() public { + assertEq(LibRLPWriter.writeBytes32(bytes32(uint256(1))), hex"01"); + } + + function testAbiEncodeBytes32(bytes32 seed) public { + for (uint i = 0; i < 100; ++i) { + seed = keccak256(abi.encodePacked(seed)); + bytes memory _seed = bytes.concat(seed); + + bytes memory encoded = abi.encodePacked(seed); + assertEq(encoded.length, _seed.length); + for (uint j = 0; j < encoded.length; ++j) { + assertEq(encoded[j], _seed[j]); + } + } + + for (uint i = 0; i < 100; ++i) { + seed = bytes32(i); + bytes memory _seed = bytes.concat(seed); + + bytes memory encoded = abi.encodePacked(seed); + assertEq(encoded.length, _seed.length); + for (uint j = 0; j < encoded.length; ++j) { + assertEq(encoded[j], _seed[j]); + } + } + } +} diff --git a/packages/protocol/test/Taiko1559Params.t.sol b/packages/protocol/test/Taiko1559Params.t.sol new file mode 100644 index 00000000000..f83865533f9 --- /dev/null +++ b/packages/protocol/test/Taiko1559Params.t.sol @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {Lib1559Math as T} from "../contracts/libs/Lib1559Math.sol"; +import {TaikoL2} from "../contracts/L2/TaikoL2.sol"; +import { + SafeCastUpgradeable +} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; + +contract TestTaiko1559Params is Test { + using SafeCastUpgradeable for uint256; + + function testAndVerifyTaiko1559Params() external { + // Assume we scale L1 throughput by 10 times. + uint64 scaleFactor = 10; + + // Assume we lower the L1 transaction cost by 25 times. + uint64 costFactor = 25; + + // Calculate gas space issuance per second + uint64 ethereumBlockGasTarget = 15000000; + uint64 ethereumBlockTime = 12; + + // https://ultrasound.money/ + uint64 ethereumBasefeeNow = 28000000000; // 28Gwei + + uint64 gasIssuedPerSecond = (scaleFactor * ethereumBlockGasTarget) / + ethereumBlockTime; + + // Tune this number manually so ratio2x1x is ~112.5%. + uint64 maxSeconds = 7272; + + uint64 gasExcessMax = gasIssuedPerSecond * maxSeconds; + + uint64 initialBasefee = ethereumBasefeeNow / costFactor; + + TaikoL2.EIP1559Params memory param1559 = TaikoL2.EIP1559Params({ + basefee: initialBasefee, + gasIssuedPerSecond: gasIssuedPerSecond, + gasExcessMax: gasExcessMax, + gasTarget: gasIssuedPerSecond * ethereumBlockTime, + ratio2x1x: 11250 // ~12.5% increase + }); + + console2.log("basefee :", param1559.basefee); + console2.log("gasIssuedPerSecond:", param1559.gasIssuedPerSecond); + console2.log("gasExcessMax :", param1559.gasExcessMax); + console2.log("gasTarget :", param1559.gasTarget); + console2.log("ratio2x1x :", param1559.ratio2x1x); + + // basefee : 1120000000 + // gasIssuedPerSecond: 12500000 + // gasExcessMax : 90900000000 + // gasTarget : 150000000 + // ratio2x1x : 11250 + + TaikoL2 L2 = new TaikoL2(); + L2.init(address(1), param1559); // Dummy address manager address. + } +} diff --git a/packages/protocol/test/TaikoL1.sim.sol b/packages/protocol/test/TaikoL1.sim.sol new file mode 100644 index 00000000000..19dfaf6b825 --- /dev/null +++ b/packages/protocol/test/TaikoL1.sim.sol @@ -0,0 +1,168 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {FoundryRandom} from "foundry-random/FoundryRandom.sol"; +import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; +import {TaikoData} from "../contracts/L1/TaikoData.sol"; +import {TaikoL1} from "../contracts/L1/TaikoL1.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; +import {TaikoL1TestBase} from "./TaikoL1TestBase.t.sol"; +import {LibLn} from "./LibLn.sol"; + +/// @dev Warning: this test will take 7-10 minutes and require 1GB memory. +/// `pnpm test:sim` +contract TaikoL1_b is TaikoL1 { + function getConfig() + public + pure + override + returns (TaikoData.Config memory config) + { + config = TaikoConfig.getConfig(); + + config.txListCacheExpiry = 0; + config.enableSoloProposer = false; + config.maxNumProposedBlocks = 36; + config.ringBufferSize = 40; + config.maxVerificationsPerTx = 5; + config.proofCooldownPeriod = 1 minutes; + config.proofTimeTarget = 200; + } +} + +contract Verifier { + fallback(bytes calldata) external returns (bytes memory) { + return bytes.concat(keccak256("taiko")); + } +} + +contract TaikoL1Simulation is TaikoL1TestBase, FoundryRandom { + function deployTaikoL1() internal override returns (TaikoL1 taikoL1) { + taikoL1 = new TaikoL1_b(); + } + + function setUp() public override { + uint16 proofTimeTarget = 200; // Approx. value which close to what is in the simulation + + initProofTimeIssued = LibLn.calcInitProofTimeIssued( + feeBase, + proofTimeTarget, + ADJUSTMENT_QUOTIENT + ); + + TaikoL1TestBase.setUp(); + registerAddress(L1.getVerifierName(100), address(new Verifier())); + } + + function testGeneratingManyRandomBlocks() external { + uint256 time = block.timestamp; + assertEq(time, 1); + + depositTaikoToken(Alice, 1E6 * 1E8, 10000 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint32 parentGasUsed; + + printVariableHeaders(); + printVariables(); + + // Every 1000 blocks take about 40 seconds + // TODO(daniel|dani): change this to 10000 + uint256 blocksToSimulate = 100; + uint256 avgBlockTime = 10 seconds; + + for (uint256 blockId = 1; blockId < blocksToSimulate; blockId++) { + time += randomNumber(avgBlockTime * 2); + + while ((time / 12) * 12 > block.timestamp) { + vm.warp(block.timestamp + 12); + vm.roll(block.number + 1); + } + + uint32 gasLimit = uint32(randomNumber(100E3, 30E6)); // 100K to 30M + uint32 gasUsed = uint32(randomNumber(gasLimit / 2, gasLimit)); + uint24 txListSize = uint24(randomNumber(1, conf.maxBytesPerTxList)); + bytes32 blockHash = bytes32(randomNumber(type(uint256).max)); + bytes32 signalRoot = bytes32(randomNumber(type(uint256).max)); + + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + gasLimit, + txListSize + ); + // Here we need to have some time elapsed between propose and prove + // Realistically lets make it somewhere 160-240 sec, it is realistic + // for a testnet. Created this function because randomNumber seems to + // be non-working properly. + uint8 proveTimeCnt = pickRandomProveTime( + uint256( + keccak256( + abi.encodePacked(time, msg.sender, block.timestamp) + ) + ) + ); + + mine(proveTimeCnt); + + proveBlock( + Bob, + meta, + parentHash, + parentGasUsed, + gasUsed, + blockHash, + signalRoot, + false + ); + printVariables(); + + parentHash = blockHash; + parentGasUsed = gasUsed; + } + console2.log("-----------------------------"); + console2.log("avgBlockTime:", avgBlockTime); + } + + // TODO(daniel|dani): log enough state variables for analysis. + function printVariableHeaders() internal view { + string memory str = string.concat( + "\nlogCount,", + "time,", + "lastVerifiedBlockId,", + "numBlocks,", + "baseFee,", + "accProposedAt" + ); + console2.log(str); + } + + // TODO(daniel|dani): log enough state variables for analysis. + function printVariables() internal { + TaikoData.StateVariables memory vars = L1.getStateVariables(); + string memory str = string.concat( + Strings.toString(logCount++), + ",", + Strings.toString(block.timestamp), + ",", + Strings.toString(vars.lastVerifiedBlockId), + ",", + Strings.toString(vars.numBlocks), + ",", + Strings.toString(vars.basefee), + ",", + Strings.toString(vars.accProposedAt) + ); + console2.log(str); + } + + function pickRandomProveTime( + uint256 randomNum + ) internal pure returns (uint8) { + // Result shall be between 8-12 (inclusive) + // so that it will result in a 160-240s proof time + // while the proof time target is 200s + return uint8(8 + (randomNum % 5)); + } +} diff --git a/packages/protocol/test/TaikoL1.t.sol b/packages/protocol/test/TaikoL1.t.sol new file mode 100644 index 00000000000..880eb74bcdc --- /dev/null +++ b/packages/protocol/test/TaikoL1.t.sol @@ -0,0 +1,237 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; +import {TaikoData} from "../contracts/L1/TaikoData.sol"; +import {TaikoL1} from "../contracts/L1/TaikoL1.sol"; +import {TaikoToken} from "../contracts/L1/TaikoToken.sol"; +import {SignalService} from "../contracts/signal/SignalService.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; +import {TaikoL1TestBase} from "./TaikoL1TestBase.t.sol"; + +contract TaikoL1_NoCooldown is TaikoL1 { + function getConfig() + public + pure + override + returns (TaikoData.Config memory config) + { + config = TaikoConfig.getConfig(); + + config.txListCacheExpiry = 5 minutes; + config.maxVerificationsPerTx = 0; + config.enableSoloProposer = false; + config.maxNumProposedBlocks = 10; + config.ringBufferSize = 12; + config.proofCooldownPeriod = 0; + } +} + +contract Verifier { + fallback(bytes calldata) external returns (bytes memory) { + return bytes.concat(keccak256("taiko")); + } +} + +contract TaikoL1Test is TaikoL1TestBase { + function deployTaikoL1() internal override returns (TaikoL1 taikoL1) { + taikoL1 = new TaikoL1_NoCooldown(); + } + + function setUp() public override { + TaikoL1TestBase.setUp(); + + registerAddress(L1.getVerifierName(100), address(new Verifier())); + } + + /// @dev Test we can propose, prove, then verify more blocks than 'maxNumProposedBlocks' + function test_more_blocks_than_ring_buffer_size() external { + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint32 parentGasUsed = 0; + uint32 gasUsed = 1000000; + + for ( + uint256 blockId = 1; + blockId < conf.maxNumProposedBlocks * 10; + blockId++ + ) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + printVariables("after propose"); + mine(1); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + parentGasUsed, + gasUsed, + blockHash, + signalRoot, + false + ); + + verifyBlock(Carol, 1); + parentHash = blockHash; + parentGasUsed = gasUsed; + } + printVariables(""); + } + + /// @dev Test more than one block can be proposed, proven, & verified in the + /// same L1 block. + function test_multiple_blocks_in_one_L1_block() external { + depositTaikoToken(Alice, 1000 * 1E8, 1000 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint32 parentGasUsed = 0; + uint32 gasUsed = 1000000; + + for (uint256 blockId = 1; blockId <= 2; blockId++) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + printVariables("after propose"); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Alice, + meta, + parentHash, + parentGasUsed, + gasUsed, + blockHash, + signalRoot, + false + ); + verifyBlock(Alice, 2); + parentHash = blockHash; + parentGasUsed = gasUsed; + } + printVariables(""); + } + + /// @dev Test verifying multiple blocks in one transaction + function test_verifying_multiple_blocks_once() external { + depositTaikoToken(Alice, 1E6 * 1E8, 1000 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint32 parentGasUsed = 0; + uint32 gasUsed = 1000000; + + for ( + uint256 blockId = 1; + blockId <= conf.maxNumProposedBlocks; + blockId++ + ) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + printVariables("after propose"); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Alice, + meta, + parentHash, + parentGasUsed, + gasUsed, + blockHash, + signalRoot, + false + ); + parentHash = blockHash; + parentGasUsed = gasUsed; + } + + verifyBlock(Alice, conf.maxNumProposedBlocks - 1); + printVariables("after verify"); + verifyBlock(Alice, conf.maxNumProposedBlocks); + printVariables("after verify"); + } + + function testEthDepositsToL2Reverts() external { + uint96 minAmount = conf.minEthDepositAmount; + uint96 maxAmount = conf.maxEthDepositAmount; + + depositTaikoToken(Alice, 0, maxAmount + 1 ether); + + vm.prank(Alice, Alice); + vm.expectRevert(); + L1.depositEtherToL2{value: minAmount - 1}(); + + vm.prank(Alice, Alice); + vm.expectRevert(); + L1.depositEtherToL2{value: maxAmount + 1}(); + + assertEq(L1.getStateVariables().nextEthDepositToProcess, 0); + assertEq(L1.getStateVariables().numEthDeposits, 0); + } + + function testEthDepositsToL2Gas() external { + vm.fee(25 gwei); + + bytes32 emptyDepositsRoot = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; + depositTaikoToken(Alice, 1E6 * 1E8, 100000 ether); + + proposeBlock(Alice, 1000000, 1024); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + assertEq(meta.depositsRoot, emptyDepositsRoot); + assertEq(meta.depositsProcessed.length, 0); + + uint256 count = conf.maxEthDepositsPerBlock; + + printVariables("before sending ethers"); + for (uint256 i; i < count; ++i) { + vm.prank(Alice, Alice); + L1.depositEtherToL2{value: (i + 1) * 1 ether}(); + } + printVariables("after sending ethers"); + + uint gas = gasleft(); + meta = proposeBlock(Alice, 1000000, 1024); + uint gasUsedWithDeposits = gas - gasleft(); + console2.log("gas used with eth deposits:", gasUsedWithDeposits); + + printVariables("after processing send-ethers"); + assertTrue(meta.depositsRoot != emptyDepositsRoot); + assertEq(meta.depositsProcessed.length, count + 1); + + gas = gasleft(); + meta = proposeBlock(Alice, 1000000, 1024); + uint gasUsedWithoutDeposits = gas - gasleft(); + + console2.log("gas used without eth deposits:", gasUsedWithoutDeposits); + + uint gasPerEthDeposit = (gasUsedWithDeposits - gasUsedWithoutDeposits) / + count; + + console2.log("gas per eth deposit:", gasPerEthDeposit); + console2.log("maxEthDepositsPerBlock:", count); + } +} diff --git a/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol b/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol new file mode 100644 index 00000000000..a31c4d0235b --- /dev/null +++ b/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol @@ -0,0 +1,299 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.18; + +// Uncomment if you want to compare fee/vs reward +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {FoundryRandom} from "foundry-random/FoundryRandom.sol"; +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; +import {TaikoData} from "../contracts/L1/TaikoData.sol"; +import {TaikoL1} from "../contracts/L1/TaikoL1.sol"; +import {TaikoToken} from "../contracts/L1/TaikoToken.sol"; +import {SignalService} from "../contracts/signal/SignalService.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; +import {TaikoL1TestBase} from "./TaikoL1TestBase.t.sol"; +import {LibLn} from "./LibLn.sol"; + +contract TaikoL1MainnetMockConfig is TaikoL1 { + function getConfig() + public + pure + override + returns (TaikoData.Config memory config) + { + config = TaikoConfig.getConfig(); + + config.txListCacheExpiry = 5 minutes; + config.maxVerificationsPerTx = 1; + config.enableSoloProposer = false; + config.maxNumProposedBlocks = 200; + config.ringBufferSize = 240; + config.proofCooldownPeriod = 0; + config.proofTimeTarget = 2160; + } +} + +contract TaikoL1LibTokenomicsMainnet is TaikoL1TestBase, FoundryRandom { + // To avoid stack too deep error + // Can play to adjust + uint32 iterationCnt = 5000; + uint8 proofTime = 180; // When proofs are coming, 180 means 180 sec + // Check balances + uint256 Alice_start_balance; + uint256 Bob_start_balance; + + function deployTaikoL1() internal override returns (TaikoL1 taikoL1) { + taikoL1 = new TaikoL1MainnetMockConfig(); + } + + function setUp() public override { + uint16 proofTimeTarget = 2160; // Approx. mainnet value + // Calculating it for our needs based on testnet/mainnet proof vars. + // See Brecht's comment https://github.com/taikoxyz/taiko-mono/pull/13564 + initProofTimeIssued = LibLn.calcInitProofTimeIssued( + feeBase, + proofTimeTarget, + ADJUSTMENT_QUOTIENT + ); + + TaikoL1TestBase.setUp(); + + depositTaikoToken(Alice, 1E8 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E8 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E8 * 1E8, 100 ether); + + Alice_start_balance = L1.getTaikoTokenBalance(Alice); + Bob_start_balance = L1.getTaikoTokenBalance(Bob); + } + + /// @dev A possible (close to) mainnet scenarios is the following: + //// - Blocks ever 10 seconds proposed + //// - Proofs coming shifted slightly below 30 min / proposed block afterwards + //// Expected result: Withdrawals and deposits are in balance but keep shrinking since quicker proofTime + function xtest_possible_mainnet_scenario_proof_time_below_target() + external + { + vm.pauseGasMetering(); + mine(1); + + depositTaikoToken(Alice, 1E8 * 1E8, 1000 ether); + depositTaikoToken(Bob, 1E8 * 1E8, 1000 ether); + depositTaikoToken(Carol, 1E8 * 1E8, 1000 ether); + + // Check balances + Alice_start_balance = L1.getTaikoTokenBalance(Alice); + Bob_start_balance = L1.getTaikoTokenBalance(Bob); + + // Can play to adjust + proofTime = 179; // When proofs are coming, 179 means 1790 sec + + TaikoData.BlockMetadata[] memory meta = new TaikoData.BlockMetadata[]( + iterationCnt + ); + uint64[] memory proposedAt = new uint64[](iterationCnt); + bytes32[] memory parentHashes = new bytes32[](iterationCnt); + bytes32[] memory blockHashes = new bytes32[](iterationCnt); + bytes32[] memory signalRoots = new bytes32[](iterationCnt); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + console2.logBytes32(parentHash); + + // Run another session with huge times + for (uint256 blockId = 1; blockId < iterationCnt; blockId++) { + meta[blockId] = proposeBlock(Alice, 1000000, 1024); + proposedAt[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + blockHashes[blockId] = bytes32(1E10 + blockId); + signalRoots[blockId] = bytes32(1E9 + blockId); + + if (blockId > proofTime) { + //Start proving with an offset + proveBlock( + Bob, + meta[blockId - proofTime], + parentHashes[blockId - proofTime], + (blockId - proofTime == 1) ? 0 : 1000000, // Genesis block has 0 gas used + 1000000, + blockHashes[blockId - proofTime], + signalRoots[blockId - proofTime], + false + ); + + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt[blockId - proofTime]) + ); + verifyBlock(Carol, 1); + } + + mine_every_12_sec(); + + parentHashes[blockId] = parentHash; + parentHash = blockHashes[blockId]; + } + + //Check end balances + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + //Check end balances + deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + // Assert their balance changed relatively the same way + // 1e18 == within 100 % delta -> 1e17 10%, let's see if this is within that range + assertApproxEqRel(deposits, withdrawals, 1e17); + } + + /// @dev A possible (close to) mainnet scenarios is the following: + //// - Blocks ever 10 seconds proposed + //// - Proofs coming shifted slightly below 30 min / proposed block afterwards + //// Expected result: Withdrawals and deposits are in balance but keep shrinking since quicker proofTime + function xtest_possible_mainnet_scenario_proof_time_at_target() external { + vm.pauseGasMetering(); + mine(1); + + TaikoData.BlockMetadata[] memory meta = new TaikoData.BlockMetadata[]( + iterationCnt + ); + uint64[] memory proposedAt = new uint64[](iterationCnt); + bytes32[] memory parentHashes = new bytes32[](iterationCnt); + bytes32[] memory blockHashes = new bytes32[](iterationCnt); + bytes32[] memory signalRoots = new bytes32[](iterationCnt); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Run another session with huge times + for (uint256 blockId = 1; blockId < iterationCnt; blockId++) { + { + meta[blockId] = proposeBlock(Alice, 100000, 10); + proposedAt[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + blockHashes[blockId] = bytes32(1E10 + blockId); //blockHash; + signalRoots[blockId] = bytes32(1E9 + blockId); //signalRoot; + + if (blockId > proofTime) { + //Start proving with an offset + proveBlock( + Bob, + meta[blockId - proofTime], + parentHashes[blockId - proofTime], + (blockId - proofTime == 1) ? 0 : 1000000, + 1000000, + blockHashes[blockId - proofTime], + signalRoots[blockId - proofTime], + false + ); + + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward( + provenAt, + proposedAt[blockId - proofTime] + ) + ); + } + + mine_every_12_sec(); + + parentHashes[blockId] = parentHash; + parentHash = blockHashes[blockId]; + } + } + //Check end balances + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + //Check end balances + deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + // Assert their balance changed relatively the same way + // 1e18 == within 100 % delta -> 1e17 10%, let's see if this is within that range + assertApproxEqRel(deposits, withdrawals, 1e17); + } + + /// @dev A possible (close to) mainnet scenarios is the following: + //// - Blocks ever 10 seconds proposed + //// - Proofs coming shifted slightly above 30 min / proposed block afterwards + //// Expected result: Withdrawals and deposits are in balance but fees keep growing bc of above target + function xtest_possible_mainnet_scenario_proof_time_above_target() + external + { + vm.pauseGasMetering(); + mine(1); + + proofTime = 181; // When proofs are coming, 181 means 1810 sec + + TaikoData.BlockMetadata[] memory meta = new TaikoData.BlockMetadata[]( + iterationCnt + ); + uint64[] memory proposedAt = new uint64[](iterationCnt); + bytes32[] memory parentHashes = new bytes32[](iterationCnt); + bytes32[] memory blockHashes = new bytes32[](iterationCnt); + bytes32[] memory signalRoots = new bytes32[](iterationCnt); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + for (uint256 blockId = 1; blockId < iterationCnt; blockId++) { + meta[blockId] = proposeBlock(Alice, 1000000, 1024); + proposedAt[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + blockHashes[blockId] = bytes32(1E10 + blockId); + signalRoots[blockId] = bytes32(1E9 + blockId); + + if (blockId > proofTime) { + //Start proving with an offset + proveBlock( + Bob, + meta[blockId - proofTime], + parentHashes[blockId - proofTime], + (blockId - proofTime == 1) ? 0 : 1000000, + 1000000, + blockHashes[blockId - proofTime], + signalRoots[blockId - proofTime], + false + ); + + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt[blockId - proofTime]) + ); + verifyBlock(Carol, 1); + } + + mine_every_12_sec(); + + parentHashes[blockId] = parentHash; + parentHash = blockHashes[blockId]; + } + + //Check end balances + //Check end balances + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + //Check end balances + deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + // Assert their balance changed relatively the same way + // 1e18 == within 100 % delta -> 1e17 10%, let's see if this is within that range + assertApproxEqRel(deposits, withdrawals, 1e17); + } + + function mine_every_12_sec() internal { + vm.warp(block.timestamp + 12); + vm.roll(block.number + 1); + } +} diff --git a/packages/protocol/test/TaikoL1LibTokenomicsTestnet.t.sol b/packages/protocol/test/TaikoL1LibTokenomicsTestnet.t.sol new file mode 100644 index 00000000000..5ced9c71d93 --- /dev/null +++ b/packages/protocol/test/TaikoL1LibTokenomicsTestnet.t.sol @@ -0,0 +1,990 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +// Uncomment if you want to compare fee/vs reward +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; +import {TaikoData} from "../contracts/L1/TaikoData.sol"; +import {TaikoL1} from "../contracts/L1/TaikoL1.sol"; +import {TaikoToken} from "../contracts/L1/TaikoToken.sol"; +import {SignalService} from "../contracts/signal/SignalService.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; +import {TaikoL1TestBase} from "./TaikoL1TestBase.t.sol"; +import {LibLn} from "./LibLn.sol"; + +contract TaikoL1WithTestnetConfig is TaikoL1 { + function getConfig() + public + pure + override + returns (TaikoData.Config memory config) + { + config = TaikoConfig.getConfig(); + + config.txListCacheExpiry = 5 minutes; + config.maxVerificationsPerTx = 0; + config.enableSoloProposer = false; + config.proofCooldownPeriod = 0; + config.maxNumProposedBlocks = 40; + config.ringBufferSize = 48; + config.proofTimeTarget = 120; // Testnet example + } +} + +// Testing the base "math" and directions if all is good +contract TaikoL1LibTokenomicsTestnet is TaikoL1TestBase { + function deployTaikoL1() internal override returns (TaikoL1 taikoL1) { + taikoL1 = new TaikoL1WithTestnetConfig(); + } + + function setUp() public override { + uint16 proofTimeTarget = 120; // Approx. testnet value + // Calculating it for our needs based on testnet/mainnet proof vars. + // See Brecht's comment https://github.com/taikoxyz/taiko-mono/pull/13564 + initProofTimeIssued = LibLn.calcInitProofTimeIssued( + feeBase, + proofTimeTarget, + ADJUSTMENT_QUOTIENT + ); + + TaikoL1TestBase.setUp(); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + } + + /// @dev Test what happens when proof time increases + function test_balanced_state_reward_and_fee_if_proof_time_increases_slowly_then_drastically() + external + { + mine(1); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + for (uint256 blockId = 1; blockId < 10; blockId++) { + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + uint64 proposedAt = uint64(block.timestamp); + mine(blockId); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + + verifyBlock(Carol, 1); + // This is where new fee evaluated + printVariables("after verify"); + + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + + assertEq(deposits, withdrawals); + + // Run another session with huge times + for (uint256 blockId = 1; blockId < 10; blockId++) { + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + uint64 proposedAt = uint64(block.timestamp); + mine_huge(); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + + proveBlock( + Bob, + meta, + parentHash, + 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + verifyBlock(Carol, 1); + // This is where new fee evaluated + printVariables("after verify"); + + parentHash = blockHash; + } + + //Check end balances + deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + assertEq(deposits, withdrawals); + } + + /// @dev Test what happens when proof time hectic couple of proposes, without prove, then some proofs + function test_balanced_state_reward_and_fee_if_proof_time_hectic() + external + { + mine(1); + //Needs lot of token here - because there is lots of time elapsed between 2 'propose' blocks, which will raise the fee + + depositTaikoToken(Alice, 1E8 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E8 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E8 * 1E8, 100 ether); + + TaikoData.BlockMetadata[] memory metas = new TaikoData.BlockMetadata[]( + 20 + ); + uint64[] memory proposedAtArr = new uint64[](20); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + // Propose blocks - but dont go above a certain iterationi count because the drastically increasing + // proof time will be an issue + for (uint256 blockId = 1; blockId < 10; blockId++) { + //printVariables("before propose"); + metas[blockId] = proposeBlock(Alice, 1000000, 1024); + proposedAtArr[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + mine(blockId); + } + + // Wait random X + mine(6); + // Prove and verify + for (uint256 blockId = 1; blockId < 10; blockId++) { + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + metas[blockId], + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAtArr[blockId]) + ); + + verifyBlock(Carol, 1); + + printVariables("after verify"); + mine(blockId); + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + // Run another iteration + for (uint256 blockId = 1; blockId < 10; blockId++) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + uint64 proposedAt = uint64(block.timestamp); + printVariables("after propose"); + mine_proofTime(); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + verifyBlock(Carol, 1); + + parentHash = blockHash; + } + + //Check end balances + + deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + assertEq(deposits, withdrawals); + } + + /// @dev Test and see what happens when proof time is stable below the target and proving consecutive + function test_balanced_state_reward_and_fee_if_proof_time_stable_below_target_prooving_consecutive() + external + { + mine(1); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + //parentHash = prove_with_increasing_time(parentHash, 10); + for (uint256 blockId = 1; blockId < 10; blockId++) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + uint64 proposedAt = uint64(block.timestamp); + printVariables("after propose"); + mine(2); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + + verifyBlock(Carol, 1); + + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + + assertEq(deposits, withdrawals); + } + + /// @dev Test and see what happens when proof time is stable below the target and proving non consecutive + function test_balanced_state_reward_and_fee_if_proof_time_stable_below_target_proving_non_consecutive() + external + { + mine(1); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + TaikoData.BlockMetadata[] memory meta = new TaikoData.BlockMetadata[]( + 30 + ); + uint64[] memory proposedAt = new uint64[](30); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + // Propose blocks + for (uint256 blockId = 1; blockId < 30; blockId++) { + //printVariables("before propose"); + meta[blockId] = proposeBlock(Alice, 1000000, 1024); + proposedAt[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + mine(blockId); + } + + // Wait random X + mine(6); + //Prove and verify + for (uint256 blockId = 1; blockId < 30; blockId++) { + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + + proveBlock( + Bob, + meta[blockId], + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt[blockId]) + ); + + verifyBlock(Carol, 1); + + mine(3); + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + + assertEq(deposits, withdrawals); + } + + /// @dev Test what happens when proof time decreases + function test_balanced_state_reward_and_fee_if_proof_time_decreases() + external + { + mine(1); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + TaikoData.BlockMetadata[] memory meta = new TaikoData.BlockMetadata[]( + 20 + ); + uint64[] memory proposedAt = new uint64[](20); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + // Propose blocks + for (uint256 blockId = 1; blockId < 20; blockId++) { + //printVariables("before propose"); + meta[blockId] = proposeBlock(Alice, 1000000, 1024); + proposedAt[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + mine(blockId); + } + + // Wait random X + mine(6); + // Prove and verify + for (uint256 blockId = 1; blockId < 20; blockId++) { + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta[blockId], + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt[blockId]) + ); + + verifyBlock(Carol, 1); + mine(21 - blockId); + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + // console2.log("Deposits:", deposits); + // console2.log("withdrawals:", withdrawals); + assertEq(deposits, withdrawals); + } + + /// @dev Test and see what happens when proof time is stable above the target and proving consecutive + function test_balanced_state_reward_and_fee_if_proof_time_stable_above_target_prooving_consecutive() + external + { + mine(1); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + //parentHash = prove_with_increasing_time(parentHash, 10); + for (uint256 blockId = 1; blockId < 10; blockId++) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + uint64 proposedAt = uint64(block.timestamp); + printVariables("after propose"); + mine(5); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + + verifyBlock(Carol, 1); + + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + + assertEq(deposits, withdrawals); + } + + /// @dev Test and see what happens when proof time is stable above the target and proving non consecutive + function test_balanced_state_reward_and_fee_if_proof_time_stable_above_target_proving_non_consecutive() + external + { + mine(1); + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + TaikoData.BlockMetadata[] memory meta = new TaikoData.BlockMetadata[]( + 30 + ); + uint64[] memory proposedAt = new uint64[](30); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + // Propose blocks + for (uint256 blockId = 1; blockId < 30; blockId++) { + //printVariables("before propose"); + meta[blockId] = proposeBlock(Alice, 1000000, 1024); + proposedAt[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + mine(blockId); + } + + // Wait random X + mine(6); + // Prove and verify + for (uint256 blockId = 1; blockId < 30; blockId++) { + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + + proveBlock( + Bob, + meta[blockId], + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt[blockId]) + ); + + verifyBlock(Carol, 1); + mine(5); + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + + assertEq(deposits, withdrawals); + } + + /// @dev Test what happens when proof time decreases + function test_balanced_state_reward_and_fee_if_proof_time_decreasses_then_stabilizes_consecutive() + external + { + mine(1); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + //parentHash = prove_with_increasing_time(parentHash, 10); + for (uint256 blockId = 1; blockId < 10; blockId++) { + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + printVariables("after propose"); + uint64 proposedAt = uint64(block.timestamp); + mine(11 - blockId); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + + verifyBlock(Carol, 1); + + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + + assertEq(deposits, withdrawals); + + // Run another session with huge times + for (uint256 blockId = 1; blockId < 10; blockId++) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + uint64 proposedAt = uint64(block.timestamp); + printVariables("after propose"); + mine_proofTime(); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + verifyBlock(Carol, 1); + + parentHash = blockHash; + } + + //Check end balances + deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + assertEq(deposits, withdrawals); + } + + /// @dev Test what happens when proof time decreases + function test_balanced_state_reward_and_fee_if_proof_time_decreases_then_stabilizes_non_consecutive() + external + { + mine(1); + // Requires a bit more tokens + depositTaikoToken(Alice, 1E8 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E8 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E8 * 1E8, 100 ether); + + TaikoData.BlockMetadata[] + memory metaArr = new TaikoData.BlockMetadata[](20); + uint64[] memory proposedAtArr = new uint64[](20); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + // Propose blocks + for (uint256 blockId = 1; blockId < 10; blockId++) { + //printVariables("before propose"); + metaArr[blockId] = proposeBlock(Alice, 1000000, 1024); + proposedAtArr[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + mine(blockId); + } + + // Wait random X + mine(6); + // Prove and verify + for (uint256 blockId = 1; blockId < 10; blockId++) { + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + metaArr[blockId], + parentHash, + (blockId == 1 ? 0 : 1000000), + 1000000, + blockHash, + signalRoot, + false + ); + + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAtArr[blockId]) + ); + + verifyBlock(Carol, 1); + mine(21 - blockId); + parentHash = blockHash; + } + + //Check end balances + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + + assertEq(deposits, withdrawals); + + // Run another session with huge times + for (uint256 blockId = 1; blockId < 10; blockId++) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + uint64 proposedAt = uint64(block.timestamp); + printVariables("after propose"); + mine_proofTime(); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + verifyBlock(Carol, 1); + + parentHash = blockHash; + } + + //Check end balances + deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + // console2.log("Deposits:", deposits); + // console2.log("withdrawals:", withdrawals); + assertEq(deposits, withdrawals); + } + + /// @dev Test and see what happens when proof time is stable at the target and proving consecutive + function test_balanced_state_reward_and_fee_if_proof_time_stable_consecutive() + external + { + mine(1); + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + bytes32 parentHash = GENESIS_BLOCK_HASH; + + // Check balances + + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + console2.log("Alice balance:", Alice_start_balance); + console2.log("Bob balance:", Bob_start_balance); + + //parentHash = prove_with_increasing_time(parentHash, 10); + for (uint256 blockId = 1; blockId < 10; blockId++) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + uint64 proposedAt = uint64(block.timestamp); + printVariables("after propose"); + mine_proofTime(); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward(provenAt, proposedAt) + ); + + verifyBlock(Carol, 1); + + parentHash = blockHash; + } + + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + + assertEq(deposits, withdrawals); + } + + /// @dev Test a scenario which very close to a testnet behaviour + function test_balanced_state_reward_and_fee_if_proof_time_stable_non_consecutive() + external + { + uint256 Alice_start_balance = L1.getTaikoTokenBalance(Alice); + uint256 Bob_start_balance = L1.getTaikoTokenBalance(Bob); + + // Need constants here and in loop counter to avoid stack too deep error + TaikoData.BlockMetadata[] memory meta = new TaikoData.BlockMetadata[]( + 200 + ); + uint64[] memory proposedAt = new uint64[](200); + bytes32[] memory parentHashes = new bytes32[](200); + bytes32[] memory blockHashes = new bytes32[](200); + bytes32[] memory signalRoots = new bytes32[](200); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint8 proofTime = 10; + console2.logBytes32(parentHash); + + // Run another session with huge times + for (uint256 blockId = 1; blockId < 150; blockId++) { + { + meta[blockId] = proposeBlock(Alice, 1000000, 1024); + proposedAt[blockId] = (uint64(block.timestamp)); + printVariables("after propose"); + + blockHashes[blockId] = bytes32(1E10 + blockId); //blockHash; + signalRoots[blockId] = bytes32(1E9 + blockId); //signalRoot; + + if (blockId > proofTime) { + //Start proving with an offset + proveBlock( + Bob, + meta[blockId - proofTime], + parentHashes[blockId - proofTime], + (blockId - proofTime == 1) ? 0 : 1000000, + 1000000, + blockHashes[blockId - proofTime], + signalRoots[blockId - proofTime], + false + ); + + uint64 provenAt = uint64(block.timestamp); + console2.log( + "Proof reward is:", + L1.getProofReward( + provenAt, + proposedAt[blockId - proofTime] + ) + ); + } + + mine_every_12_sec(); + + parentHashes[blockId] = parentHash; + parentHash = blockHashes[blockId]; + verifyBlock(Carol, 1); + } + } + //Check end balances + + uint256 deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + uint256 withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + //Check end balances + deposits = Alice_start_balance - L1.getTaikoTokenBalance(Alice); + withdrawals = L1.getTaikoTokenBalance(Bob) - Bob_start_balance; + + console2.log("Deposits:", deposits); + console2.log("withdrawals:", withdrawals); + // Assert their balance changed relatively the same way + // 1e18 == within 100 % delta -> 1e17 10%, let's see if this is within that range + assertApproxEqRel(deposits, withdrawals, 1e17); + } + + function mine_huge() internal { + vm.warp(block.timestamp + 1200); + vm.roll(block.number + 300); + } + + function mine_every_12_sec() internal { + vm.warp(block.timestamp + 12); + vm.roll(block.number + 1); + } + + function mine_proofTime() internal { + vm.warp(block.timestamp + 120); + vm.roll(block.number + 5); + } +} diff --git a/packages/protocol/test/TaikoL1TestBase.t.sol b/packages/protocol/test/TaikoL1TestBase.t.sol new file mode 100644 index 00000000000..54c025de115 --- /dev/null +++ b/packages/protocol/test/TaikoL1TestBase.t.sol @@ -0,0 +1,226 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {LibUtils} from "../contracts/L1/libs/LibUtils.sol"; +import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; +import {TaikoData} from "../contracts/L1/TaikoData.sol"; +import {TaikoL1} from "../contracts/L1/TaikoL1.sol"; +import {TaikoToken} from "../contracts/L1/TaikoToken.sol"; +import {SignalService} from "../contracts/signal/SignalService.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; + +contract Verifier { + fallback(bytes calldata) external returns (bytes memory) { + return bytes.concat(keccak256("taiko")); + } +} + +abstract contract TaikoL1TestBase is Test { + AddressManager public addressManager; + TaikoToken public tko; + SignalService public ss; + TaikoL1 public L1; + TaikoData.Config conf; + uint256 internal logCount; + + bytes32 public constant GENESIS_BLOCK_HASH = + keccak256("GENESIS_BLOCK_HASH"); + uint64 feeBase = 1E8; // 1 TKO + uint64 l2GasExcess = 1E18; + + address public constant L2Treasure = + 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb; + address public constant L2SS = 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C; + address public constant TaikoL2 = + 0x0082D90249342980d011C58105a03b35cCb4A315; + address public constant L1EthVault = + 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5; + + address public constant Alice = 0xa9bcF99f5eb19277f48b71F9b14f5960AEA58a89; + uint256 public constant AlicePK = + 0x8fb342c39a93ad26e674cbcdc65dc45795107e1b51776aac15f9776c0e9d2cea; + + address public constant Bob = 0x200708D76eB1B69761c23821809d53F65049939e; + address public constant Carol = 0x300C9b60E19634e12FC6D68B7FEa7bFB26c2E419; + address public constant Dave = 0x400147C0Eb43D8D71b2B03037bB7B31f8f78EF5F; + address public constant Eve = 0x50081b12838240B1bA02b3177153Bca678a86078; + + // Calculation shall be done in derived contracts - based on testnet or mainnet expected proof time + uint64 public initProofTimeIssued; + uint8 public constant ADJUSTMENT_QUOTIENT = 16; + + function deployTaikoL1() internal virtual returns (TaikoL1 taikoL1); + + function setUp() public virtual { + L1 = deployTaikoL1(); + conf = L1.getConfig(); + + addressManager = new AddressManager(); + addressManager.init(); + + ss = new SignalService(); + ss.init(address(addressManager)); + + registerAddress("signal_service", address(ss)); + registerAddress("ether_vault", address(L1EthVault)); + registerL2Address("treasure", L2Treasure); + registerL2Address("taiko", address(TaikoL2)); + registerL2Address("signal_service", address(L2SS)); + registerL2Address("taiko_l2", address(TaikoL2)); + registerAddress(L1.getVerifierName(100), address(new Verifier())); + + tko = new TaikoToken(); + registerAddress("taiko_token", address(tko)); + address[] memory premintRecipients; + uint256[] memory premintAmounts; + tko.init( + address(addressManager), + "TaikoToken", + "TKO", + premintRecipients, + premintAmounts + ); + + // Set protocol broker + registerAddress("proto_broker", address(this)); + tko.mint(address(this), 1E9 * 1E8); + registerAddress("proto_broker", address(L1)); + + // Lastly, init L1 + L1.init( + address(addressManager), + GENESIS_BLOCK_HASH, + feeBase, + initProofTimeIssued + ); + printVariables("init "); + } + + function proposeBlock( + address proposer, + uint32 gasLimit, + uint24 txListSize + ) internal returns (TaikoData.BlockMetadata memory meta) { + bytes memory txList = new bytes(txListSize); + TaikoData.BlockMetadataInput memory input = TaikoData + .BlockMetadataInput({ + beneficiary: proposer, + gasLimit: gasLimit, + txListHash: keccak256(txList), + txListByteStart: 0, + txListByteEnd: txListSize, + cacheTxListInfo: 0 + }); + + TaikoData.StateVariables memory variables = L1.getStateVariables(); + + uint256 _mixHash; + unchecked { + _mixHash = block.prevrandao * variables.numBlocks; + } + + meta.id = variables.numBlocks; + meta.timestamp = uint64(block.timestamp); + meta.l1Height = uint64(block.number - 1); + meta.l1Hash = blockhash(block.number - 1); + meta.mixHash = bytes32(_mixHash); + meta.txListHash = keccak256(txList); + meta.txListByteStart = 0; + meta.txListByteEnd = txListSize; + meta.gasLimit = gasLimit; + meta.beneficiary = proposer; + meta.treasure = L2Treasure; + + vm.prank(proposer, proposer); + meta = L1.proposeBlock(abi.encode(input), txList); + } + + function proveBlock( + address prover, + TaikoData.BlockMetadata memory meta, + bytes32 parentHash, + uint32 parentGasUsed, + uint32 gasUsed, + bytes32 blockHash, + bytes32 signalRoot, + bool oracle + ) internal { + TaikoData.BlockEvidence memory evidence = TaikoData.BlockEvidence({ + metaHash: LibUtils.hashMetadata(meta), + parentHash: parentHash, + blockHash: blockHash, + signalRoot: signalRoot, + graffiti: 0x0, + prover: oracle ? address(0) : prover, + parentGasUsed: parentGasUsed, + gasUsed: gasUsed, + verifierId: 100, + proof: new bytes(100) + }); + + vm.prank(prover, prover); + L1.proveBlock(meta.id, abi.encode(evidence)); + } + + function verifyBlock(address verifier, uint256 count) internal { + vm.prank(verifier, verifier); + L1.verifyBlocks(count); + } + + function registerAddress(string memory name, address addr) internal { + addressManager.setAddress(block.chainid, name, addr); + console2.log(block.chainid, name, unicode"→", addr); + } + + function registerL2Address(string memory name, address addr) internal { + addressManager.setAddress(conf.chainId, name, addr); + console2.log(conf.chainId, name, unicode"→", addr); + } + + function depositTaikoToken( + address who, + uint256 amountTko, + uint256 amountEth + ) internal { + vm.deal(who, amountEth); + tko.transfer(who, amountTko); + vm.prank(who, who); + L1.depositTaikoToken(amountTko); + } + + function printVariables(string memory comment) internal { + TaikoData.StateVariables memory vars = L1.getStateVariables(); + + uint256 fee = L1.getBlockFee(); + + string memory str = string.concat( + Strings.toString(logCount++), + ":[", + Strings.toString(vars.lastVerifiedBlockId), + unicode"→", + Strings.toString(vars.numBlocks), + "]", + " fee:", + Strings.toString(fee) + ); + + str = string.concat( + str, + " nextEthDepositToProcess:", + Strings.toString(vars.nextEthDepositToProcess), + " numEthDeposits:", + Strings.toString(vars.numEthDeposits), + " // ", + comment + ); + console2.log(str); + } + + function mine(uint256 counts) internal { + vm.warp(block.timestamp + 20 * counts); + vm.roll(block.number + counts); + } +} diff --git a/packages/protocol/test/TaikoL1_Oracle.sol b/packages/protocol/test/TaikoL1_Oracle.sol new file mode 100644 index 00000000000..cabc4b96619 --- /dev/null +++ b/packages/protocol/test/TaikoL1_Oracle.sol @@ -0,0 +1,294 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {LibUtils} from "../contracts/L1/libs/LibUtils.sol"; +import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; +import {TaikoData} from "../contracts/L1/TaikoData.sol"; +import {TaikoL1} from "../contracts/L1/TaikoL1.sol"; +import {TaikoToken} from "../contracts/L1/TaikoToken.sol"; +import {SignalService} from "../contracts/signal/SignalService.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; +import {TaikoL1TestBase} from "./TaikoL1TestBase.t.sol"; + +contract TaikoL1_Oracle is TaikoL1 { + function getConfig() + public + pure + override + returns (TaikoData.Config memory config) + { + config = TaikoConfig.getConfig(); + + config.txListCacheExpiry = 5 minutes; + config.maxVerificationsPerTx = 0; + config.enableSoloProposer = false; + config.maxNumProposedBlocks = 10; + config.ringBufferSize = 12; + config.proofCooldownPeriod = 5 minutes; + } +} + +contract Verifier { + fallback(bytes calldata) external returns (bytes memory) { + return bytes.concat(keccak256("taiko")); + } +} + +contract TaikoL1_OracleTest is TaikoL1TestBase { + function deployTaikoL1() internal override returns (TaikoL1 taikoL1) { + taikoL1 = new TaikoL1_Oracle(); + } + + function setUp() public override { + TaikoL1TestBase.setUp(); + registerAddress(L1.getVerifierName(100), address(new Verifier())); + registerAddress("oracle_prover", Alice); + } + + function testOracleProverWithSignature() external { + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + TaikoData.BlockMetadata memory meta = proposeBlock(Bob, 1000000, 1024); + proveBlock( + Bob, + meta, + GENESIS_BLOCK_HASH, + 10000, + 10001, + bytes32(uint256(0x11)), + bytes32(uint256(0x12)), + false + ); + + TaikoData.BlockEvidence memory evidence = TaikoData.BlockEvidence({ + metaHash: LibUtils.hashMetadata(meta), + parentHash: GENESIS_BLOCK_HASH, + blockHash: bytes32(uint256(0x11)), + signalRoot: bytes32(uint256(0x12)), + graffiti: 0x0, + prover: address(0), + parentGasUsed: 10000, + gasUsed: 40000, + verifierId: 0, + proof: new bytes(0) + }); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign( + AlicePK, + keccak256(abi.encode(evidence)) + ); + + evidence.verifierId = v; + evidence.proof = bytes.concat(r, s); + + vm.prank(Carol, Carol); + L1.proveBlock(meta.id, abi.encode(evidence)); + + TaikoData.ForkChoice memory fc = L1.getForkChoice( + 1, + GENESIS_BLOCK_HASH, + 10000 + ); + + assertEq(fc.blockHash, bytes32(uint256(0x11))); + assertEq(fc.signalRoot, bytes32(uint256(0x12))); + assertEq(fc.provenAt, block.timestamp); + assertEq(fc.prover, address(0)); + assertEq(fc.gasUsed, 40000); + } + + function testOracleProverCanAlwaysOverwrite() external { + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint256 blockId = 1; + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + + for (uint i = 0; i < 5; ++i) { + uint32 parentGasUsed = uint32(10000 + i); + + // Bob proves the block + proveBlock( + Bob, + meta, + parentHash, + parentGasUsed, + 10001, + bytes32(uint256(0x11)), + bytes32(uint256(0x12)), + false + ); + + TaikoData.ForkChoice memory fc = L1.getForkChoice( + blockId, + parentHash, + parentGasUsed + ); + + if (i == 0) { + assertFalse(fc.key == 0); + } else { + assertEq(fc.key, 0); + } + assertEq(fc.blockHash, bytes32(uint256(0x11))); + assertEq(fc.signalRoot, bytes32(uint256(0x12))); + assertEq(fc.provenAt, block.timestamp); + assertEq(fc.prover, Bob); + assertEq(fc.gasUsed, 10001); + + // Carol cannot prove the fork choice again + vm.warp(block.timestamp + 10 seconds); + vm.expectRevert(); + proveBlock( + Carol, + meta, + parentHash, + parentGasUsed, + 10002, + bytes32(uint256(0x21)), + bytes32(uint256(0x22)), + false + ); + + // Alice, the oracle prover, cannot prove the fork choice again + // as a normal prover. + vm.warp(block.timestamp + 10 seconds); + vm.expectRevert(); + proveBlock( + Alice, + meta, + parentHash, + parentGasUsed, + 10003, + bytes32(uint256(0x31)), + bytes32(uint256(0x32)), + false + ); + + // Alice, the oracle prover, cannot oracle-prove the fork choice + vm.warp(block.timestamp + 10 seconds); + proveBlock( + Alice, + meta, + parentHash, + parentGasUsed, + 10003, + bytes32(uint256(0x31)), + bytes32(uint256(0x32)), + true + ); + + fc = L1.getForkChoice(blockId, parentHash, parentGasUsed); + + if (i == 0) { + assertFalse(fc.key == 0); + } else { + assertEq(fc.key, 0); + } + assertEq(fc.blockHash, bytes32(uint256(0x31))); + assertEq(fc.signalRoot, bytes32(uint256(0x32))); + assertEq(fc.provenAt, block.timestamp); + assertEq(fc.prover, address(0)); + assertEq(fc.gasUsed, 10003); + + // Alice, the oracle prover, cannot oracle-prove the fork choice multiple times + vm.warp(block.timestamp + 10 seconds); + + proveBlock( + Alice, + meta, + parentHash, + parentGasUsed, + 10004, + bytes32(uint256(0x41)), + bytes32(uint256(0x42)), + true + ); + + fc = L1.getForkChoice(blockId, parentHash, parentGasUsed); + + if (i == 0) { + assertFalse(fc.key == 0); + } else { + assertEq(fc.key, 0); + } + assertEq(fc.blockHash, bytes32(uint256(0x41))); + assertEq(fc.signalRoot, bytes32(uint256(0x42))); + assertEq(fc.provenAt, block.timestamp); + assertEq(fc.prover, address(0)); + assertEq(fc.gasUsed, 10004); + } + } + + /// @dev Test we can propose, prove, then verify more blocks than 'maxNumProposedBlocks' + function test_cooldown_more_blocks_than_ring_buffer_size() external { + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint32 parentGasUsed = 0; + uint32 gasUsed = 1000000; + + for ( + uint256 blockId = 1; + blockId < conf.maxNumProposedBlocks * 10; + blockId++ + ) { + printVariables("before propose"); + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + printVariables("after propose"); + mine(1); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + parentGasUsed, + gasUsed, + blockHash, + signalRoot, + false + ); + + uint256 lastVerifiedBlockId = L1 + .getStateVariables() + .lastVerifiedBlockId; + + vm.warp(block.timestamp + 4 minutes + 59 seconds); + verifyBlock(Carol, 1); + + assertEq( + lastVerifiedBlockId, + L1.getStateVariables().lastVerifiedBlockId + ); + + vm.warp(block.timestamp + 1 seconds); + verifyBlock(Carol, 1); + assertFalse( + lastVerifiedBlockId == + L1.getStateVariables().lastVerifiedBlockId + ); + + parentHash = blockHash; + parentGasUsed = gasUsed; + } + printVariables(""); + } +} diff --git a/packages/protocol/test/TaikoL2.t.sol b/packages/protocol/test/TaikoL2.t.sol new file mode 100644 index 00000000000..b2c5070896f --- /dev/null +++ b/packages/protocol/test/TaikoL2.t.sol @@ -0,0 +1,203 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {LibL2Consts} from "../contracts/L2/LibL2Consts.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; +import {TaikoL2} from "../contracts/L2/TaikoL2.sol"; +import { + SafeCastUpgradeable +} from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; + +contract TestTaikoL2 is Test { + using SafeCastUpgradeable for uint256; + uint64 public constant BLOCK_GAS_LIMIT = 30000000; // same as `block_gas_limit` in foundry.toml + + TaikoL2 public L2; + uint private logIndex; + uint64 private ANCHOR_GAS_COST = LibL2Consts.ANCHOR_GAS_COST; + + function setUp() public { + uint16 rand = 2; + TaikoL2.EIP1559Params memory param1559 = TaikoL2.EIP1559Params({ + basefee: (uint(BLOCK_GAS_LIMIT * 10) * rand).toUint64(), + gasIssuedPerSecond: 1000000, + gasExcessMax: (uint(15000000) * 256 * rand).toUint64(), + gasTarget: (uint(6000000) * rand).toUint64(), + ratio2x1x: 11177 + }); + + L2 = new TaikoL2(); + L2.init(address(1), param1559); // Dummy address manager address. + + vm.roll(block.number + 1); + vm.warp(block.timestamp + 30); + } + + function testAnchorTxsBlocktimeConstant() external { + uint256 firstBasefee; + for (uint256 i = 0; i < 100; i++) { + uint256 basefee = _getBasefeeAndPrint(0, BLOCK_GAS_LIMIT); + vm.fee(basefee); + + if (firstBasefee == 0) { + firstBasefee = basefee; + } else { + assertEq(firstBasefee, basefee); + } + + vm.prank(L2.GOLDEN_TOUCH_ADDRESS()); + _anchor(BLOCK_GAS_LIMIT); + + vm.roll(block.number + 1); + vm.warp(block.timestamp + 30); + } + } + + function testAnchorTxsBlocktimeDecreasing() external { + uint256 prevBasefee; + + for (uint256 i = 0; i < 32; i++) { + uint256 basefee = _getBasefeeAndPrint(0, BLOCK_GAS_LIMIT); + vm.fee(basefee); + + assertGe(basefee, prevBasefee); + prevBasefee = basefee; + + vm.prank(L2.GOLDEN_TOUCH_ADDRESS()); + _anchor(BLOCK_GAS_LIMIT); + + vm.roll(block.number + 1); + vm.warp(block.timestamp + 30 - i); + } + } + + function testAnchorTxsBlocktimeIncreasing() external { + uint256 prevBasefee; + + for (uint256 i = 0; i < 30; i++) { + uint256 basefee = _getBasefeeAndPrint(0, BLOCK_GAS_LIMIT); + vm.fee(basefee); + + if (prevBasefee != 0) { + assertLe(basefee, prevBasefee); + } + prevBasefee = basefee; + + vm.prank(L2.GOLDEN_TOUCH_ADDRESS()); + _anchor(BLOCK_GAS_LIMIT); + + vm.roll(block.number + 1); + + vm.warp(block.timestamp + 30 + i); + } + } + + // calling anchor in the same block more than once should fail + function testAnchorTxsFailInTheSameBlock() external { + uint256 expectedBasefee = _getBasefeeAndPrint(0, BLOCK_GAS_LIMIT); + vm.fee(expectedBasefee); + + vm.prank(L2.GOLDEN_TOUCH_ADDRESS()); + _anchor(BLOCK_GAS_LIMIT); + + vm.prank(L2.GOLDEN_TOUCH_ADDRESS()); + vm.expectRevert(); + _anchor(BLOCK_GAS_LIMIT); + } + + // calling anchor in the same block more than once should fail + function testAnchorTxsFailByNonTaikoL2Signer() external { + uint256 expectedBasefee = _getBasefeeAndPrint(0, BLOCK_GAS_LIMIT); + vm.fee(expectedBasefee); + vm.expectRevert(); + _anchor(BLOCK_GAS_LIMIT); + } + + function testAnchorSigning(bytes32 digest) external { + (uint8 v, uint256 r, uint256 s) = L2.signAnchor(digest, uint8(1)); + address signer = ecrecover(digest, v + 27, bytes32(r), bytes32(s)); + assertEq(signer, L2.GOLDEN_TOUCH_ADDRESS()); + + (v, r, s) = L2.signAnchor(digest, uint8(2)); + signer = ecrecover(digest, v + 27, bytes32(r), bytes32(s)); + assertEq(signer, L2.GOLDEN_TOUCH_ADDRESS()); + + vm.expectRevert(); + L2.signAnchor(digest, uint8(0)); + + vm.expectRevert(); + L2.signAnchor(digest, uint8(3)); + } + + function testGetBasefee() external { + uint32 timeSinceParent = uint32(block.timestamp - L2.parentTimestamp()); + assertEq(_getBasefeeAndPrint(timeSinceParent, 0, 0), 317609019); + assertEq(_getBasefeeAndPrint(timeSinceParent, 1, 0), 317609019); + assertEq(_getBasefeeAndPrint(timeSinceParent, 1000000, 0), 320423332); + assertEq(_getBasefeeAndPrint(timeSinceParent, 5000000, 0), 332018053); + assertEq(_getBasefeeAndPrint(timeSinceParent, 10000000, 0), 347305199); + + timeSinceParent = uint32(100 + block.timestamp - L2.parentTimestamp()); + assertEq(_getBasefeeAndPrint(timeSinceParent, 0, 0), 54544902); + assertEq(_getBasefeeAndPrint(timeSinceParent, 1, 0), 54544902); + assertEq(_getBasefeeAndPrint(timeSinceParent, 1000000, 0), 55028221); + assertEq(_getBasefeeAndPrint(timeSinceParent, 5000000, 0), 57019452); + assertEq(_getBasefeeAndPrint(timeSinceParent, 10000000, 0), 59644805); + } + + function _getBasefeeAndPrint( + uint32 timeSinceParent, + uint64 gasLimit, + uint64 parentGasUsed + ) private returns (uint256 _basefee) { + uint256 gasIssued = L2.gasIssuedPerSecond() * timeSinceParent; + string memory _msg = string.concat( + "#", + Strings.toString(logIndex++), + ": gasExcess=", + Strings.toString(L2.gasExcess()), + ", timeSinceParent=", + Strings.toString(timeSinceParent), + ", gasIssued=", + Strings.toString(gasIssued), + ", gasLimit=", + Strings.toString(gasLimit), + ", parentGasUsed=", + Strings.toString(parentGasUsed) + ); + _basefee = L2.getBasefee(timeSinceParent, gasLimit, parentGasUsed); + + _msg = string.concat( + _msg, + ", gasExcess(changed)=", + Strings.toString(L2.gasExcess()), + ", basefee=", + Strings.toString(_basefee) + ); + + console2.log(_msg); + } + + function _getBasefeeAndPrint( + uint32 timeSinceNow, + uint64 gasLimit + ) private returns (uint256 _basefee) { + return + _getBasefeeAndPrint( + uint32(timeSinceNow + block.timestamp - L2.parentTimestamp()), + gasLimit, + gasLimit + ANCHOR_GAS_COST + ); + } + + function _anchor(uint64 parentGasLimit) private { + L2.anchor( + keccak256("a"), + keccak256("b"), + 12345, + parentGasLimit + ANCHOR_GAS_COST + ); + } +} diff --git a/packages/protocol/test/TokenVault.t.sol b/packages/protocol/test/TokenVault.t.sol new file mode 100644 index 00000000000..db0c10575ad --- /dev/null +++ b/packages/protocol/test/TokenVault.t.sol @@ -0,0 +1,354 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {AddressResolver} from "../contracts/common/AddressResolver.sol"; +import {Bridge} from "../contracts/bridge/Bridge.sol"; +import {BridgedERC20} from "../contracts/bridge/BridgedERC20.sol"; +import {BridgeErrors} from "../contracts/bridge/BridgeErrors.sol"; +import {FreeMintERC20} from "../contracts/test/erc20/FreeMintERC20.sol"; +import {SignalService} from "../contracts/signal/SignalService.sol"; +import {Test} from "forge-std/Test.sol"; +import {TokenVault} from "../contracts/bridge/TokenVault.sol"; + +// PrankDestBridge lets us simulate a transaction to the TokenVault +// from a named Bridge, without having to test/run through the real Bridge code, +// outside the scope of the unit tests in the TokenVault. +contract PrankDestBridge { + TokenVault destTokenVault; + Context ctx; + + struct Context { + bytes32 msgHash; // messageHash + address sender; + uint256 srcChainId; + } + + constructor(TokenVault _tokenVault) { + destTokenVault = _tokenVault; + } + + function setTokenVault(address addr) public { + destTokenVault = TokenVault(addr); + } + + function context() public view returns (Context memory) { + return ctx; + } + + function sendReceiveERC20ToTokenVault( + TokenVault.CanonicalERC20 calldata canonicalToken, + address from, + address to, + uint256 amount, + bytes32 msgHash, + address srcChainTokenVault, + uint256 srcChainId + ) public { + ctx.sender = srcChainTokenVault; + ctx.msgHash = msgHash; + ctx.srcChainId = srcChainId; + + destTokenVault.receiveERC20(canonicalToken, from, to, amount); + + ctx.sender = address(0); + ctx.msgHash = bytes32(0); + ctx.srcChainId = 0; + } +} + +contract TestTokenVault is Test { + AddressManager addressManager; + Bridge bridge; + TokenVault tokenVault; + TokenVault destChainIdTokenVault; + PrankDestBridge destChainIdBridge; + FreeMintERC20 erc20; + SignalService signalService; + uint256 destChainId = 7; + + address public constant Alice = 0x10020FCb72e27650651B05eD2CEcA493bC807Ba4; + address public constant Bob = 0x200708D76eB1B69761c23821809d53F65049939e; + + function setUp() public { + vm.startPrank(Alice); + vm.deal(Alice, 1 ether); + vm.deal(Bob, 1 ether); + + addressManager = new AddressManager(); + addressManager.init(); + + tokenVault = new TokenVault(); + tokenVault.init(address(addressManager)); + destChainIdTokenVault = new TokenVault(); + destChainIdTokenVault.init(address(addressManager)); + + erc20 = new FreeMintERC20("ERC20", "ERC20"); + erc20.mint(Alice); + + bridge = new Bridge(); + bridge.init(address(addressManager)); + + destChainIdBridge = new PrankDestBridge(tokenVault); + + signalService = new SignalService(); + signalService.init(address(addressManager)); + + addressManager.setAddress(block.chainid, "bridge", address(bridge)); + + addressManager.setAddress( + block.chainid, + "signal_service", + address(signalService) + ); + + addressManager.setAddress( + block.chainid, + "token_vault", + address(tokenVault) + ); + + addressManager.setAddress( + destChainId, + "token_vault", + address(destChainIdTokenVault) + ); + + addressManager.setAddress( + destChainId, + "bridge", + address(destChainIdBridge) + ); + + vm.stopPrank(); + } + + function test_send_erc20_revert_if_allowance_not_set() public { + vm.startPrank(Alice); + + vm.expectRevert("ERC20: insufficient allowance"); + tokenVault.sendERC20( + destChainId, + Bob, + address(erc20), + 1 wei, + 1000000, + 1, + Bob, + "" + ); + } + + function test_send_erc20_no_processing_fee() public { + vm.startPrank(Alice); + + uint256 amount = 2 wei; + erc20.approve(address(tokenVault), amount); + + uint256 aliceBalanceBefore = erc20.balanceOf(Alice); + uint256 tokenVaultBalanceBefore = erc20.balanceOf(address(tokenVault)); + + tokenVault.sendERC20( + destChainId, + Bob, + address(erc20), + amount, + 1000000, + 0, + Bob, + "" + ); + + uint256 aliceBalanceAfter = erc20.balanceOf(Alice); + uint256 tokenVaultBalanceAfter = erc20.balanceOf(address(tokenVault)); + + assertEq(aliceBalanceBefore - aliceBalanceAfter, amount); + assertEq(tokenVaultBalanceAfter - tokenVaultBalanceBefore, amount); + } + + function test_send_erc20_processing_fee_reverts_if_msg_value_too_low() + public + { + vm.startPrank(Alice); + + uint256 amount = 2 wei; + erc20.approve(address(tokenVault), amount); + + vm.expectRevert(); + tokenVault.sendERC20( + destChainId, + Bob, + address(erc20), + amount, + 1000000, + amount - 1, + Bob, + "" + ); + } + + function test_send_erc20_processing_fee() public { + vm.startPrank(Alice); + + uint256 amount = 2 wei; + erc20.approve(address(tokenVault), amount); + + uint256 aliceBalanceBefore = erc20.balanceOf(Alice); + uint256 tokenVaultBalanceBefore = erc20.balanceOf(address(tokenVault)); + + tokenVault.sendERC20{value: amount}( + destChainId, + Bob, + address(erc20), + amount, + 1000000, + amount - 1, + Bob, + "" + ); + + uint256 aliceBalanceAfter = erc20.balanceOf(Alice); + uint256 tokenVaultBalanceAfter = erc20.balanceOf(address(tokenVault)); + + assertEq(aliceBalanceBefore - aliceBalanceAfter, amount); + assertEq(tokenVaultBalanceAfter - tokenVaultBalanceBefore, amount); + } + + function test_send_erc20_reverts_invalid_amount() public { + vm.startPrank(Alice); + + uint256 amount = 0; + + vm.expectRevert(TokenVault.TOKENVAULT_INVALID_AMOUNT.selector); + tokenVault.sendERC20( + destChainId, + Bob, + address(erc20), + amount, + 1000000, + 0, + Bob, + "" + ); + } + + function test_send_erc20_reverts_invalid_token_address() public { + vm.startPrank(Alice); + + uint256 amount = 1; + + vm.expectRevert(TokenVault.TOKENVAULT_INVALID_TOKEN.selector); + tokenVault.sendERC20( + destChainId, + Bob, + address(0), + amount, + 1000000, + 0, + Bob, + "" + ); + } + + function test_send_erc20_reverts_invalid_to() public { + vm.startPrank(Alice); + + uint256 amount = 1; + + vm.expectRevert(TokenVault.TOKENVAULT_INVALID_TO.selector); + tokenVault.sendERC20( + destChainId, + address(0), + address(erc20), + amount, + 1000000, + 0, + Bob, + "" + ); + } + + function test_receive_erc20_canonical_to_dest_chain_transfers_from_canonical_token() + public + { + vm.startPrank(Alice); + + uint256 srcChainId = block.chainid; + vm.chainId(destChainId); + + erc20.mint(address(tokenVault)); + + uint256 amount = 1; + address to = Bob; + + uint256 tokenVaultBalanceBefore = erc20.balanceOf(address(tokenVault)); + uint256 toBalanceBefore = erc20.balanceOf(to); + + destChainIdBridge.sendReceiveERC20ToTokenVault( + erc20ToCanonicalERC20(destChainId), + Alice, + to, + amount, + bytes32(0), + address(tokenVault), + srcChainId + ); + + uint256 tokenVaultBalanceAfter = erc20.balanceOf(address(tokenVault)); + assertEq(tokenVaultBalanceBefore - tokenVaultBalanceAfter, amount); + + uint256 toBalanceAfter = erc20.balanceOf(to); + assertEq(toBalanceAfter - toBalanceBefore, amount); + } + + function test_receive_erc20_non_canonical_to_dest_chain_deploys_new_bridged_token_and_mints() + public + { + vm.startPrank(Alice); + + uint256 srcChainId = block.chainid; + vm.chainId(destChainId); + + uint256 amount = 1; + + destChainIdBridge.setTokenVault(address(destChainIdTokenVault)); + + address bridgedAddressBefore = destChainIdTokenVault.canonicalToBridged( + srcChainId, + address(erc20) + ); + assertEq(bridgedAddressBefore == address(0), true); + + destChainIdBridge.sendReceiveERC20ToTokenVault( + erc20ToCanonicalERC20(srcChainId), + Alice, + Bob, + amount, + bytes32(0), + address(tokenVault), + srcChainId + ); + + address bridgedAddressAfter = destChainIdTokenVault.canonicalToBridged( + srcChainId, + address(erc20) + ); + assertEq(bridgedAddressAfter != address(0), true); + BridgedERC20 bridgedERC20 = BridgedERC20(bridgedAddressAfter); + + assertEq(bridgedERC20.balanceOf(Bob), amount); + } + + function erc20ToCanonicalERC20( + uint256 chainId + ) internal view returns (TokenVault.CanonicalERC20 memory) { + return + TokenVault.CanonicalERC20({ + chainId: chainId, + addr: address(erc20), + decimals: erc20.decimals(), + symbol: erc20.symbol(), + name: erc20.name() + }); + } +} diff --git a/packages/protocol/test/bridge/Bridge.integration.test.ts b/packages/protocol/test/bridge/Bridge.integration.test.ts deleted file mode 100644 index 86d1a880aea..00000000000 --- a/packages/protocol/test/bridge/Bridge.integration.test.ts +++ /dev/null @@ -1,651 +0,0 @@ -import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; -import { expect } from "chai"; -import { ethers as ethersLib } from "ethers"; -import hre, { ethers } from "hardhat"; -import { - AddressManager, - Bridge, - SignalService, - TestBadReceiver, - TestHeaderSync, -} from "../../typechain"; -import deployAddressManager from "../utils/addressManager"; -import { - deployBridge, - processMessage, - sendAndProcessMessage, - sendMessage, -} from "../utils/bridge"; -import { txShouldRevertWithCustomError } from "../utils/errors"; -// import { randomBytes32 } from "../utils/bytes"; -import { Message } from "../utils/message"; -import { - getDefaultL2Signer, - getL1Provider, - getL2Provider, -} from "../utils/provider"; -import { Block, getBlockHeader } from "../utils/rpc"; -import { deploySignalService, getSignalProof } from "../utils/signal"; - -describe("integrationbridge:Bridge", function () { - let owner: SignerWithAddress; - let l1Provider: ethersLib.providers.JsonRpcProvider; - let l2Provider: ethersLib.providers.JsonRpcProvider; - let l2Signer: ethersLib.Signer; - let srcChainId: number; - let enabledDestChainId: number; - let l2NonOwner: ethersLib.Signer; - let l1SignalService: SignalService; - let l2SignalService: SignalService; - let l1Bridge: Bridge; - let l2Bridge: Bridge; - let m: Message; - let l1HeaderSync: TestHeaderSync; - let l2HeaderSync: TestHeaderSync; - - beforeEach(async () => { - [owner] = await ethers.getSigners(); - - const { chainId } = await ethers.provider.getNetwork(); - - srcChainId = chainId; - - l1Provider = getL1Provider(); - - // seondary node to deploy L2 on - l2Provider = getL2Provider(); - - l2Signer = await getDefaultL2Signer(); - - l2NonOwner = await l2Provider.getSigner( - await ethers.Wallet.createRandom().getAddress() - ); - - const l2Network = await l2Provider.getNetwork(); - - enabledDestChainId = l2Network.chainId; - - const addressManager: AddressManager = await deployAddressManager( - owner - ); - - const l2AddressManager: AddressManager = await deployAddressManager( - l2Signer - ); - - ({ signalService: l1SignalService } = await deploySignalService( - owner, - addressManager, - srcChainId - )); - - ({ signalService: l2SignalService } = await deploySignalService( - l2Signer, - l2AddressManager, - enabledDestChainId - )); - - await addressManager.setAddress( - `${enabledDestChainId}.signal_service`, - l2SignalService.address - ); - - await l2AddressManager.setAddress( - `${srcChainId}.signal_service`, - l1SignalService.address - ); - - ({ bridge: l1Bridge } = await deployBridge( - owner, - addressManager, - srcChainId - )); - - ({ bridge: l2Bridge } = await deployBridge( - l2Signer, - l2AddressManager, - enabledDestChainId - )); - - await addressManager.setAddress( - `${enabledDestChainId}.bridge`, - l2Bridge.address - ); - - await l2AddressManager - .connect(l2Signer) - .setAddress(`${srcChainId}.bridge`, l1Bridge.address); - - l1HeaderSync = await (await ethers.getContractFactory("TestHeaderSync")) - .connect(owner) - .deploy(); - - await addressManager - .connect(owner) - .setAddress(`${srcChainId}.taiko`, l1HeaderSync.address); - - l2HeaderSync = await (await ethers.getContractFactory("TestHeaderSync")) - .connect(l2Signer) - .deploy(); - - await l2AddressManager - .connect(l2Signer) - .setAddress(`${enabledDestChainId}.taiko`, l2HeaderSync.address); - - m = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: enabledDestChainId, - owner: owner.address, - to: owner.address, - refundAddress: owner.address, - depositValue: 1000, - callValue: 1000, - processingFee: 1000, - gasLimit: 10000, - data: "0x", - memo: "", - }; - }); - - describe("processMessage()", function () { - it("should throw if message.gasLimit == 0 & msg.sender is not message.owner", async function () { - const m: Message = { - id: 1, - sender: await l2NonOwner.getAddress(), - srcChainId: srcChainId, - destChainId: enabledDestChainId, - owner: await l2NonOwner.getAddress(), - to: await l2Signer.getAddress(), - refundAddress: await l2NonOwner.getAddress(), - depositValue: 1000, - callValue: 1000, - processingFee: 1000, - gasLimit: 0, - data: "0x", - memo: "", - }; - - const { msgHash } = await sendMessage(l1Bridge, m); - - expect(msgHash).not.to.be.eq(ethers.constants.HashZero); - - txShouldRevertWithCustomError( - ( - await l2Bridge - .connect(l2Signer) - .processMessage(m, ethers.constants.HashZero, { - gasLimit: 1000000, - }) - ).wait(1), - l2Provider, - "B_FORBIDDEN()" - ); - }); - - it("should throw if message.destChainId is not equal to current block.chainId", async function () { - const m: Message = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: enabledDestChainId + 1, - owner: owner.address, - to: owner.address, - refundAddress: owner.address, - depositValue: 1000, - callValue: 1000, - processingFee: 1000, - gasLimit: 10000, - data: "0x", - memo: "", - }; - - txShouldRevertWithCustomError( - ( - await l2Bridge - .connect(l2Signer) - .processMessage(m, ethers.constants.HashZero, { - gasLimit: 1000000, - }) - ).wait(1), - l2Provider, - "B_WRONG_CHAIN_ID()" - ); - }); - - it("should throw if messageStatus of message is != NEW", async function () { - const { message, signalProof } = await sendAndProcessMessage( - hre.ethers.provider, - l2HeaderSync, - m, - l1SignalService, - l1Bridge, - l2Bridge - ); - - // recalling this process should be prevented as it's status is no longer NEW - txShouldRevertWithCustomError( - ( - await l2Bridge - .connect(l2Signer) - .processMessage(message, signalProof, { - gasLimit: 1000000, - }) - ).wait(1), - l2Provider, - "B_STATUS_MISMATCH()" - ); - }); - - it("should throw if message signalproof is not valid", async function () { - const msgHash = await l1Bridge.hashMessage(m); - const { block, blockHeader } = await getBlockHeader( - hre.ethers.provider - ); - - await l2HeaderSync.setSyncedHeader(ethers.constants.HashZero); - - const signalProof = await getSignalProof( - hre.ethers.provider, - l1SignalService.address, - await l1SignalService.getSignalSlot(l1Bridge.address, msgHash), - block.number, - blockHeader - ); - - txShouldRevertWithCustomError( - ( - await l2Bridge - .connect(l2Signer) - .processMessage(m, signalProof, { - gasLimit: 1000000, - }) - ).wait(1), - l2Provider, - "B_SIGNAL_NOT_RECEIVED()" - ); - }); - - it("should throw if message has not been received", async function () { - const { msgHash, message } = await sendMessage(l1Bridge, m); - - expect(msgHash).not.to.be.eq(ethers.constants.HashZero); - - const messageStatus = await l1Bridge.getMessageStatus(msgHash); - - expect(messageStatus).to.be.eq(0); - - const sender = l1Bridge.address; - - const { block, blockHeader } = await getBlockHeader( - hre.ethers.provider - ); - - await l2HeaderSync.setSyncedHeader(ethers.constants.HashZero); - - const slot = await l1SignalService.getSignalSlot(sender, msgHash); - - // get storageValue for the key - const storageValue = await ethers.provider.getStorageAt( - l1SignalService.address, - slot, - block.number - ); - // make sure it equals 1 so our proof will pass - expect(storageValue).to.be.eq( - "0x0000000000000000000000000000000000000000000000000000000000000001" - ); - - const signalProof = await getSignalProof( - hre.ethers.provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - - txShouldRevertWithCustomError( - ( - await l2Bridge - .connect(l2Signer) - .processMessage(message, signalProof, { - gasLimit: 1000000, - }) - ).wait(1), - l2Provider, - "B_SIGNAL_NOT_RECEIVED()" - ); - }); - - it("processes a message when the signal has been verified from the sending chain", async () => { - const { msgHash, message } = await sendMessage(l1Bridge, m); - - expect(msgHash).not.to.be.eq(ethers.constants.HashZero); - - const messageStatus = await l1Bridge.getMessageStatus(msgHash); - - expect(messageStatus).to.be.eq(0); - let block: Block; - expect( - ({ block } = await processMessage( - l1SignalService, - l1Bridge, - l2Bridge, - msgHash, - hre.ethers.provider, - l2HeaderSync, - message - )) - ).to.emit(l2Bridge, "MessageStatusChanged"); - - // get storageValue for the key - const storageValue = await ethers.provider.getStorageAt( - l1SignalService.address, - await l1SignalService.getSignalSlot(l1Bridge.address, msgHash), - block.number - ); - // make sure it equals 1 so our proof will pass - expect(storageValue).to.be.eq( - "0x0000000000000000000000000000000000000000000000000000000000000001" - ); - - txShouldRevertWithCustomError( - ( - await l2Bridge - .connect(l2Signer) - .processMessage(m, ethers.constants.HashZero, { - gasLimit: 1000000, - }) - ).wait(1), - l2Provider, - "B_WRONG_CHAIN_ID()" - ); - }); - }); - - describe("isMessageSent()", function () { - it("should return false, since no message was sent", async function () { - const msgHash = await l1Bridge.hashMessage(m); - - expect(await l1Bridge.isMessageSent(msgHash)).to.be.false; - }); - - it("should return true if message was sent properly", async function () { - const { msgHash } = await sendMessage(l1Bridge, m); - - expect(msgHash).not.to.be.eq(ethers.constants.HashZero); - - expect(await l1Bridge.isMessageSent(msgHash)).to.be.true; - }); - }); - - describe("isMessageReceived()", function () { - it("should throw if signal is not a bridge message; proof is invalid since sender != bridge.", async function () { - const msgHash = ethers.utils.hexlify(ethers.utils.randomBytes(32)); - - const tx = await l1SignalService.connect(owner).sendSignal(msgHash); - - await tx.wait(); - - const sender = owner.address; - - const slot = await l1SignalService.getSignalSlot(sender, msgHash); - - const { block, blockHeader } = await getBlockHeader( - hre.ethers.provider - ); - - await l2HeaderSync.setSyncedHeader(block.hash); - - // get storageValue for the key - const storageValue = await ethers.provider.getStorageAt( - l1SignalService.address, - slot, - block.number - ); - // make sure it equals 1 so we know sendSignal worked - expect(storageValue).to.be.eq( - "0x0000000000000000000000000000000000000000000000000000000000000001" - ); - - const signalProof = await getSignalProof( - hre.ethers.provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - - await expect( - l2Bridge.isMessageReceived(msgHash, srcChainId, signalProof) - ).to.be.reverted; - }); - - it("if message is valid and sent by the bridge it should return true", async function () { - const { msgHash } = await sendMessage(l1Bridge, m); - const slot = await l1SignalService.getSignalSlot( - l1Bridge.address, - msgHash - ); - - const { block, blockHeader } = await getBlockHeader( - hre.ethers.provider - ); - - await l2HeaderSync.setSyncedHeader(block.hash); - - // get storageValue for the key - const storageValue = await ethers.provider.getStorageAt( - l1SignalService.address, - slot, - block.number - ); - // make sure it equals 1 so we know sendMessage worked - expect(storageValue).to.be.eq( - "0x0000000000000000000000000000000000000000000000000000000000000001" - ); - - const signalProof = await getSignalProof( - hre.ethers.provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - - expect( - await l2Bridge.isMessageReceived( - msgHash, - srcChainId, - signalProof - ) - ).to.be.true; - }); - }); - - describe("isMessageFailed()", function () { - it("should revert if destChainId == block.chainid", async function () { - const testBadReceiver: TestBadReceiver = await ( - await ethers.getContractFactory("TestBadReceiver") - ) - .connect(owner) - .deploy(); - await testBadReceiver.deployed(); - - const m: Message = { - id: 1, - sender: owner.address, - srcChainId: enabledDestChainId, - destChainId: srcChainId, - owner: owner.address, - to: testBadReceiver.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 10, - processingFee: 1, - gasLimit: 300000, - data: ethers.utils.hexlify(ethers.utils.randomBytes(32)), - memo: "", - }; - const { msgHash } = await sendMessage(l2Bridge, m); - - await expect( - l2Bridge.isMessageFailed( - msgHash, - enabledDestChainId, - ethers.constants.HashZero - ) - ).to.be.revertedWith("B_WRONG_CHAIN_ID()"); - }); - - it("should revert if msgHash == 0", async function () { - await expect( - l2Bridge.isMessageFailed( - ethers.constants.HashZero, - srcChainId, - ethers.constants.HashZero - ) - ).to.be.revertedWith("B_MSG_HASH_NULL()"); - }); - - it("should return false if headerHash hasn't been synced", async function () { - const testBadReceiver: TestBadReceiver = await ( - await ethers.getContractFactory("TestBadReceiver") - ) - .connect(owner) - .deploy(); - await testBadReceiver.deployed(); - - const m: Message = { - id: 1, - sender: owner.address, - srcChainId: enabledDestChainId, - destChainId: srcChainId, - owner: owner.address, - to: testBadReceiver.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 10, - processingFee: 1, - gasLimit: 300000, - data: ethers.utils.hexlify(ethers.utils.randomBytes(32)), - memo: "", - }; - - const { msgHash, message } = await sendMessage(l2Bridge, m); - - const messageStatus = await l1Bridge.getMessageStatus(msgHash); - expect(messageStatus).to.be.eq(0); - - const { messageStatusChangedEvent } = await processMessage( - l2SignalService, - l2Bridge, - l1Bridge, - msgHash, - l2Provider, - l1HeaderSync, - message - ); - expect(messageStatusChangedEvent.args.msgHash).to.be.eq(msgHash); - expect(messageStatusChangedEvent.args.status).to.be.eq(1); - - const tx = await l1Bridge - .connect(owner) - .retryMessage(message, true); - const receipt = await tx.wait(); - expect(receipt.status).to.be.eq(1); - - const messageStatus2 = await l1Bridge.getMessageStatus(msgHash); - expect(messageStatus2).to.be.eq(3); - // message status is FAILED on l1Bridge now. - - const { block, blockHeader } = await getBlockHeader(l1Provider); - - const slot = await l1Bridge.getMessageStatusSlot(msgHash); - - const signalProof = await getSignalProof( - l1Provider, - l1Bridge.address, - slot, - block.number, - blockHeader - ); - - expect( - await l2Bridge.isMessageFailed(msgHash, srcChainId, signalProof) - ).to.be.false; - }); - - it("should return true if message has been sent, processed, retried and failed", async function () { - // L2 -> L1 message - const testBadReceiver: TestBadReceiver = await ( - await ethers.getContractFactory("TestBadReceiver") - ) - .connect(owner) - .deploy(); - await testBadReceiver.deployed(); - - const m: Message = { - id: 1, - sender: owner.address, - srcChainId: enabledDestChainId, - destChainId: srcChainId, - owner: owner.address, - to: testBadReceiver.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 10, - processingFee: 1, - gasLimit: 300000, - data: ethers.utils.hexlify(ethers.utils.randomBytes(32)), - memo: "", - }; - - const { msgHash, message } = await sendMessage(l2Bridge, m); - - const messageStatus = await l1Bridge.getMessageStatus(msgHash); - expect(messageStatus).to.be.eq(0); - - const { messageStatusChangedEvent } = await processMessage( - l2SignalService, - l2Bridge, - l1Bridge, - msgHash, - l2Provider, - l1HeaderSync, - message - ); - expect(messageStatusChangedEvent.args.msgHash).to.be.eq(msgHash); - expect(messageStatusChangedEvent.args.status).to.be.eq(1); - - const tx = await l1Bridge - .connect(owner) - .retryMessage(message, true); - const receipt = await tx.wait(); - expect(receipt.status).to.be.eq(1); - - const messageStatus2 = await l1Bridge.getMessageStatus(msgHash); - expect(messageStatus2).to.be.eq(3); - // message status is FAILED on l1Bridge now. - - const { block, blockHeader } = await getBlockHeader(l1Provider); - - await l2HeaderSync.setSyncedHeader(block.hash); - - const slot = await l1Bridge.getMessageStatusSlot(msgHash); - - const signalProof = await getSignalProof( - l1Provider, - l1Bridge.address, - slot, - block.number, - blockHeader - ); - - expect( - await l2Bridge.isMessageFailed(msgHash, srcChainId, signalProof) - ).to.be.true; - }); - }); -}); diff --git a/packages/protocol/test/bridge/Bridge.test.ts b/packages/protocol/test/bridge/Bridge.test.ts deleted file mode 100644 index a3f6287553f..00000000000 --- a/packages/protocol/test/bridge/Bridge.test.ts +++ /dev/null @@ -1,303 +0,0 @@ -import { expect } from "chai"; -import { BigNumber } from "ethers"; -import { ethers } from "hardhat"; -import { AddressManager, Bridge, EtherVault } from "../../typechain"; -import { deployBridge, sendMessage } from "../utils/bridge"; -import { deploySignalService } from "../utils/signal"; -import { Message } from "../utils/message"; - -describe("Bridge", function () { - let owner: any; - let nonOwner: any; - let srcChainId: number; - let enabledDestChainId: number; - let l1Bridge: Bridge; - let l1EtherVault: EtherVault; - - beforeEach(async () => { - [owner, nonOwner] = await ethers.getSigners(); - - const { chainId } = await ethers.provider.getNetwork(); - - srcChainId = chainId; - - enabledDestChainId = srcChainId + 1; - - const addressManager: AddressManager = await ( - await ethers.getContractFactory("AddressManager") - ).deploy(); - await addressManager.init(); - - await deploySignalService(owner, addressManager, srcChainId); - - ({ bridge: l1Bridge, etherVault: l1EtherVault } = await deployBridge( - owner, - addressManager, - srcChainId - )); - - await addressManager.setAddress( - `${enabledDestChainId}.bridge`, - "0x0000000000000000000000000000000000000001" // dummy address so chain is "enabled" - ); - }); - - describe("sendMessage()", function () { - it("throws when owner is the zero address", async () => { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: 5, - owner: ethers.constants.AddressZero, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect(l1Bridge.sendMessage(message)).to.be.revertedWith( - "B_OWNER_IS_NULL()" - ); - }); - - it("throws when dest chain id is same as block.chainid", async () => { - const network = await ethers.provider.getNetwork(); - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: network.chainId, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect(l1Bridge.sendMessage(message)).to.be.revertedWith( - "B_WRONG_CHAIN_ID()" - ); - }); - - it("throws when dest chain id is not enabled", async () => { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: 5, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect(l1Bridge.sendMessage(message)).to.be.revertedWith( - "B_WRONG_CHAIN_ID()" - ); - }); - - it("throws when msg.value is not the same as expected amount", async () => { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: enabledDestChainId, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect(l1Bridge.sendMessage(message)).to.be.revertedWith( - "B_INCORRECT_VALUE()" - ); - }); - - it("emits event and is successful when message is valid, ether_vault receives the expectedAmount", async () => { - const etherVaultOriginalBalance = await ethers.provider.getBalance( - l1EtherVault.address - ); - - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: enabledDestChainId, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - const expectedAmount = - message.depositValue + - message.callValue + - message.processingFee; - - await sendMessage(l1Bridge, message); - - const etherVaultUpdatedBalance = await ethers.provider.getBalance( - l1EtherVault.address - ); - - expect(etherVaultUpdatedBalance).to.be.eq( - etherVaultOriginalBalance.add(expectedAmount) - ); - }); - }); - - // TODO(roger): move tests to SignalService's test file. - // describe("sendSignal()", async function () { - // it("throws when signal is empty", async function () { - // await expect( - // l1Bridge.connect(owner).sendSignal(ethers.constants.HashZero) - // ).to.be.revertedWith("B:signal"); - // }); - - // it("sends signal, confirms it was sent", async function () { - // const hash = - // "0xf2e08f6b93d8cf4f37a3b38f91a8c37198095dde8697463ca3789e25218a8e9d"; - // await expect(l1Bridge.connect(owner).sendSignal(hash)) - // .to.emit(l1Bridge, "SignalSent") - // .withArgs(owner.address, hash); - - // const isSignalSent = await l1Bridge.isSignalSent( - // owner.address, - // hash - // ); - // expect(isSignalSent).to.be.true; - // }); - // }); - - describe("isDestChainEnabled()", function () { - it("is disabled for unabled chainIds", async () => { - const enabled = await l1Bridge.isDestChainEnabled(68); - expect(enabled).to.be.false; - }); - - it("is enabled for enabled chainId", async () => { - const enabled = await l1Bridge.isDestChainEnabled( - enabledDestChainId - ); - expect(enabled).to.be.true; - }); - }); - - describe("context()", function () { - it("returns uninitialized context", async () => { - const ctx = await l1Bridge.context(); - expect(ctx[0]).to.be.eq(ethers.constants.HashZero); - expect(ctx[1]).to.be.eq(ethers.constants.AddressZero); - expect(ctx[2]).to.be.eq(BigNumber.from(0)); - }); - }); - - describe("getMessageStatus()", function () { - it("returns new for uninitialized signal", async () => { - const messageStatus = await l1Bridge.getMessageStatus( - ethers.constants.HashZero - ); - - expect(messageStatus).to.be.eq(0); - }); - - // TODO(jeff/roger): the following test is incorrect - getMessageStatus() - // shall be tested on the destination chain, not the source chain. - // - // it("returns for initiaized signal", async () => { - // const message: Message = { - // id: 1, - // sender: owner.address, - // srcChainId: 1, - // destChainId: enabledDestChainId, - // owner: owner.address, - // to: nonOwner.address, - // refundAddress: owner.address, - // depositValue: 1, - // callValue: 1, - // processingFee: 1, - // gasLimit: 100, - // data: ethers.constants.HashZero, - // memo: "", - // }; - - // const { signal } = await sendMessage(l1Bridge, message); - - // expect(signal).not.to.be.eq(ethers.constants.HashZero); - - // const messageStatus = await l1Bridge.getMessageStatus(signal); - - // expect(messageStatus).to.be.eq(0); - // }); - }); - - describe("processMessage()", async function () { - it("throws when message.gasLimit is 0 and msg.sender is not the message.owner", async () => { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: enabledDestChainId, - owner: nonOwner.address, - to: owner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 0, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect( - l1Bridge.processMessage(message, ethers.constants.HashZero) - ).to.be.revertedWith("B_FORBIDDEN()"); - }); - - it("throws message.destChainId is not block.chainId", async () => { - const message: Message = { - id: 1, - sender: nonOwner.address, - srcChainId: 1, - destChainId: 5, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 0, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect( - l1Bridge.processMessage(message, ethers.constants.HashZero) - ).to.be.revertedWith("B_WRONG_CHAIN_ID()"); - }); - }); -}); diff --git a/packages/protocol/test/bridge/BridgedERC20.test.ts b/packages/protocol/test/bridge/BridgedERC20.test.ts deleted file mode 100644 index e4ddb4e2c68..00000000000 --- a/packages/protocol/test/bridge/BridgedERC20.test.ts +++ /dev/null @@ -1,290 +0,0 @@ -import { expect } from "chai"; -import { AddressManager, BridgedERC20 } from "../../typechain"; -import { ethers } from "hardhat"; -import { BigNumber } from "ethers"; -import { - ERC20_BURN_AMOUNT_EXCEEDED, - ERC20_TRANSFER_AMOUNT_EXCEEDED, -} from "../constants/errors"; -import deployAddressManager from "../utils/addressManager"; - -const WETH_GOERLI = "0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"; -const CHAIN_ID_GOERLI = 5; -describe("BridgedERC20", function () { - let owner: any; - let tokenVault: any; - let accountWithTokens: any; - - // uninitialized BridgedERC20 for testing - let unInitAddressManager: AddressManager; - let unInitERC20: BridgedERC20; - - // properly initialized BridgedERC20 for testing - let addressManager: AddressManager; - let erc20: BridgedERC20; - - before(async function () { - [owner, tokenVault, accountWithTokens] = await ethers.getSigners(); - }); - - beforeEach(async function () { - unInitAddressManager = await deployAddressManager(owner); - unInitERC20 = await (await ethers.getContractFactory("BridgedERC20")) - .connect(owner) - .deploy(); - - addressManager = await deployAddressManager(owner); - - const network = await ethers.provider.getNetwork(); - - await addressManager.setAddress( - `${network.chainId}.token_vault`, - tokenVault.address - ); - - erc20 = await (await ethers.getContractFactory("BridgedERC20")) - .connect(owner) - .deploy(); - - await erc20 - .connect(owner) - .init( - addressManager.address, - WETH_GOERLI, - CHAIN_ID_GOERLI, - 18, - "SYMB", - "Name" - ); - - await erc20 - .connect(tokenVault) - .bridgeMintTo( - accountWithTokens.address, - ethers.utils.parseEther("1.0") - ); - }); - - describe("init()", function () { - it("inits when srctoken is not 0, srcChainId is not 0, srcChainId is not the current blocks chain id, symbol is not 0 length, name is not 0 length", async () => { - await expect( - unInitERC20 - .connect(owner) - .init( - unInitAddressManager.address, - WETH_GOERLI, - CHAIN_ID_GOERLI, - 18, - "SYMB", - "Name" - ) - ).not.to.be.revertedWith("BRIDGE_INIT_PARAM_ERROR()"); - }); - - it("throws when _srcToken is address 0 ", async () => { - await expect( - unInitERC20 - .connect(owner) - .init( - unInitAddressManager.address, - ethers.constants.AddressZero, - CHAIN_ID_GOERLI, - 18, - "SYMB", - "Name" - ) - ).to.be.revertedWith("B_INIT_PARAM_ERROR()"); - }); - - it("throws when _srcChainId is 0", async () => { - await expect( - unInitERC20 - .connect(owner) - .init( - unInitAddressManager.address, - WETH_GOERLI, - 0, - 18, - "SYMB", - "Name" - ) - ).to.be.revertedWith("B_INIT_PARAM_ERROR()"); - }); - - it("throws when _symbol is 0 length", async () => { - await expect( - unInitERC20 - .connect(owner) - .init( - unInitAddressManager.address, - WETH_GOERLI, - CHAIN_ID_GOERLI, - 18, - "", - "Name" - ) - ).to.be.revertedWith("B_INIT_PARAM_ERROR()"); - }); - - it("throws when _name is 0 length", async () => { - await expect( - unInitERC20 - .connect(owner) - .init( - unInitAddressManager.address, - WETH_GOERLI, - CHAIN_ID_GOERLI, - 18, - "SYMB", - "" - ) - ).to.be.revertedWith("B_INIT_PARAM_ERROR()"); - }); - - it("throws when _srcChainId is equal to block.chainid", async () => { - const network = await ethers.provider.getNetwork(); - await expect( - unInitERC20 - .connect(owner) - .init( - unInitAddressManager.address, - WETH_GOERLI, - network.chainId, - 18, - "SYMB", - "name" - ) - ).to.be.revertedWith("B_INIT_PARAM_ERROR()"); - }); - }); - - describe("source()", function () { - it("returns srcToken and srcChainId", async () => { - const [srcToken, srcChainId] = await erc20.source(); - - expect(srcToken).to.be.eq(WETH_GOERLI); - expect(srcChainId).to.be.eq(CHAIN_ID_GOERLI); - }); - }); - - describe("bridgeMintTo()", function () { - it("throws when not called by token_vault", async () => { - const amount = BigNumber.from(1); - await expect( - erc20.bridgeMintTo(owner.address, amount) - ).to.be.revertedWith("RESOLVER_DENIED()"); - }); - - it("successfully mintes and emits BridgeMint when called by token_vault, balance inceases for account specified, burns and emits BridgeBurn", async () => { - const amount = BigNumber.from(150); - - const initialBalance = await erc20.balanceOf(owner.address); - expect(initialBalance).to.be.eq(BigNumber.from(0)); - - expect( - await erc20 - .connect(tokenVault) - .bridgeMintTo(owner.address, amount) - ) - .to.emit(erc20, "BridgeMint") - .withArgs(owner.address, amount); - const newBalance = await erc20.balanceOf(owner.address); - expect(newBalance).to.be.eq(initialBalance.add(amount)); - - expect( - await erc20 - .connect(tokenVault) - .bridgeBurnFrom(owner.address, amount) - ) - .to.emit(erc20, "BridgeBurn") - .withArgs(owner.address, amount); - - const afterBurnBalance = await erc20.balanceOf(owner.address); - expect(afterBurnBalance).to.be.eq(newBalance.sub(amount)); - }); - }); - - describe("bridgeBurnFrom()", function () { - it("throws when not called by token_vault", async () => { - const amount = BigNumber.from(1); - await expect( - erc20.bridgeBurnFrom(owner.address, amount) - ).to.be.revertedWith("RESOLVER_DENIED()"); - }); - - it("can not burn an amount greater than was minted", async () => { - const initialBalance = await erc20.balanceOf( - accountWithTokens.address - ); - - await expect( - erc20 - .connect(tokenVault) - .bridgeBurnFrom( - accountWithTokens.address, - initialBalance.add(1) - ) - ).to.be.revertedWith(ERC20_BURN_AMOUNT_EXCEEDED); - }); - }); - - describe("transferFrom()", function () { - it("throws when trying to transfer to itself", async () => { - await expect( - erc20 - .connect(accountWithTokens) - .transferFrom(accountWithTokens.address, erc20.address, 1) - ).to.be.revertedWith("B_ERC20_CANNOT_RECEIVE()"); - }); - }); - - describe("transfer()", function () { - it("throws when trying to transfer to itself", async () => { - await expect( - erc20.connect(accountWithTokens).transfer(erc20.address, 1) - ).to.be.revertedWith("B_ERC20_CANNOT_RECEIVE()"); - }); - - it("throws when trying to transfer amount greater than holder owns", async () => { - const initialBalance = await erc20.balanceOf( - accountWithTokens.address - ); - - await expect( - erc20 - .connect(accountWithTokens) - .transfer(owner.address, initialBalance.add(1)) - ).to.be.revertedWith(ERC20_TRANSFER_AMOUNT_EXCEEDED); - }); - - it("transfers, emits Transfer event, balances are correct after transfer", async () => { - const initialRecipientBalance = await erc20.balanceOf( - owner.address - ); - const initialAccountWithTokensBalance = await erc20.balanceOf( - accountWithTokens.address - ); - const amount = BigNumber.from(100); - - expect( - await erc20 - .connect(accountWithTokens) - .transfer(owner.address, amount) - ) - .to.emit(erc20, "Transfer") - .withArgs(accountWithTokens.address, owner.address, amount); - - const newRecipientBalance = await erc20.balanceOf(owner.address); - const newAccountWithTokensBalance = await erc20.balanceOf( - accountWithTokens.address - ); - - expect(newRecipientBalance).to.be.eq( - initialRecipientBalance.add(amount) - ); - expect(newAccountWithTokensBalance).to.be.eq( - initialAccountWithTokensBalance.sub(amount) - ); - }); - }); -}); diff --git a/packages/protocol/test/bridge/libs/LibBridgeInvoke.test.ts b/packages/protocol/test/bridge/libs/LibBridgeInvoke.test.ts deleted file mode 100644 index 3df2d1fb783..00000000000 --- a/packages/protocol/test/bridge/libs/LibBridgeInvoke.test.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import { Message } from "../../utils/message"; -import { - TestLibBridgeData, - TestLibBridgeInvoke, - TestReceiver, -} from "../../../typechain"; - -// TODO(roger): we should deprecate these test and test Bridge.sol -// as a whole. -describe("LibBridgeInvoke", function () { - let owner: any; - let nonOwner: any; - let libInvoke: TestLibBridgeInvoke; - let libData: TestLibBridgeData; - - before(async function () { - [owner, nonOwner] = await ethers.getSigners(); - }); - - beforeEach(async function () { - libInvoke = await ( - await ethers.getContractFactory("TestLibBridgeInvoke") - ).deploy(); - - libData = await ( - await ethers.getContractFactory("TestLibBridgeData") - ).deploy(); - }); - - describe("invokeMessageCall()", async function () { - it("should throw when gasLimit <= 0", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: 5, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 0, - data: ethers.constants.HashZero, - memo: "", - }; - - const signal = await libData.hashMessage(message); - - await expect( - libInvoke.invokeMessageCall(message, signal, message.gasLimit) - ).to.be.revertedWith("B_GAS_LIMIT()"); - }); - - it("should emit event with success false if message does not actually invoke", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: 5, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - const signal = await libData.hashMessage(message); - - await expect( - libInvoke.invokeMessageCall(message, signal, message.gasLimit) - ) - .to.emit(libInvoke, "MessageInvoked") - .withArgs(signal, false); - }); - - it("should emit event with success true if message invokes successfully", async function () { - const testReceiver: TestReceiver = await ( - await ethers.getContractFactory("TestReceiver") - ).deploy(); - - await testReceiver.deployed(); - - const ABI = ["function receiveTokens(uint256) payable"]; - const iface = new ethers.utils.Interface(ABI); - const data = iface.encodeFunctionData("receiveTokens", [1]); - - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: 5, - owner: owner.address, - to: testReceiver.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 300000, - data: data, - memo: "", - }; - - const signal = await libData.hashMessage(message); - - await expect( - libInvoke.invokeMessageCall(message, signal, message.gasLimit, { - value: message.callValue, - }) - ) - .to.emit(libInvoke, "MessageInvoked") - .withArgs(signal, true); - }); - }); -}); diff --git a/packages/protocol/test/bridge/libs/LibBridgeProcess.test.ts b/packages/protocol/test/bridge/libs/LibBridgeProcess.test.ts deleted file mode 100644 index ca7e538fabd..00000000000 --- a/packages/protocol/test/bridge/libs/LibBridgeProcess.test.ts +++ /dev/null @@ -1,153 +0,0 @@ -import * as helpers from "@nomicfoundation/hardhat-network-helpers"; -import { expect } from "chai"; -import hre, { ethers } from "hardhat"; -import { - getMessageStatusSlot, - Message, - MessageStatus, -} from "../../utils/message"; -import { - AddressManager, - EtherVault, - TestLibBridgeData, - TestLibBridgeProcess, -} from "../../../typechain"; - -// TODO(roger): we should deprecate these test and test Bridge.sol -// as a whole. -describe("LibBridgeProcess", async function () { - let owner: any; - let nonOwner: any; - let etherVaultOwner: any; - let addressManager: AddressManager; - let etherVault: EtherVault; - let libProcess: TestLibBridgeProcess; - let testTaikoData: TestLibBridgeData; - const srcChainId = 1; - const blockChainId = hre.network.config.chainId ?? 0; - - before(async function () { - [owner, nonOwner, etherVaultOwner] = await ethers.getSigners(); - }); - - beforeEach(async function () { - addressManager = await ( - await ethers.getContractFactory("AddressManager") - ).deploy(); - await addressManager.init(); - - etherVault = await (await ethers.getContractFactory("EtherVault")) - .connect(etherVaultOwner) - .deploy(); - - await etherVault.deployed(); - - await etherVault.init(addressManager.address); - - await etherVault - .connect(etherVaultOwner) - .authorize(owner.address, true); - const blockChainId = hre.network.config.chainId ?? 0; - await addressManager.setAddress( - `${blockChainId}.ether_vault`, - etherVault.address - ); - // Sends initial value of 10 ether to EtherVault for releaseEther calls - await owner.sendTransaction({ - to: etherVault.address, - value: ethers.utils.parseEther("10.0"), - }); - - libProcess = await ( - await ethers.getContractFactory("TestLibBridgeProcess") - ) - .connect(owner) - .deploy(); - - await libProcess.init(addressManager.address); - - testTaikoData = await ( - await ethers.getContractFactory("TestLibBridgeData") - ).deploy(); - - await etherVault - .connect(etherVaultOwner) - .authorize(libProcess.address, true); - }); - - describe("processMessage()", async function () { - it("should throw if gaslimit == 0 & msg.sender != message.owner", async function () { - const message: Message = { - id: 1, - sender: nonOwner.address, - srcChainId: srcChainId, - destChainId: blockChainId, - owner: nonOwner.address, - to: owner.address, - refundAddress: nonOwner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 0, - data: ethers.constants.HashZero, - memo: "", - }; - await expect( - libProcess.processMessage(message, ethers.constants.HashZero) - ).to.be.revertedWith("B_FORBIDDEN()"); - }); - - it("should throw if message.destChain != block.chainId", async function () { - const badBlockChainId = blockChainId + 1; - const message: Message = { - id: 1, - sender: nonOwner.address, - srcChainId: srcChainId, - destChainId: badBlockChainId, - owner: nonOwner.address, - to: owner.address, - refundAddress: nonOwner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100000000, - data: ethers.constants.HashZero, - memo: "", - }; - await expect( - libProcess.processMessage(message, ethers.constants.HashZero) - ).to.be.revertedWith("B_WRONG_CHAIN_ID()"); - }); - - it("should throw if message's status is not NEW", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: blockChainId, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100000000, - data: ethers.constants.HashZero, - memo: "", - }; - - const signal = await testTaikoData.hashMessage(message); - - await helpers.setStorageAt( - libProcess.address, - await getMessageStatusSlot(hre, signal), - MessageStatus.RETRIABLE - ); - - await expect( - libProcess.processMessage(message, ethers.constants.HashZero) - ).to.be.revertedWith("B_STATUS_MISMTACH()"); - }); - // Remaining test cases require integration, will be covered in Bridge.test.ts - }); -}); diff --git a/packages/protocol/test/bridge/libs/LibBridgeRetry.test.ts b/packages/protocol/test/bridge/libs/LibBridgeRetry.test.ts deleted file mode 100644 index d89a4adf30a..00000000000 --- a/packages/protocol/test/bridge/libs/LibBridgeRetry.test.ts +++ /dev/null @@ -1,368 +0,0 @@ -import * as helpers from "@nomicfoundation/hardhat-network-helpers"; -import { expect } from "chai"; -import hre, { ethers } from "hardhat"; -import { - getMessageStatusSlot, - Message, - MessageStatus, -} from "../../utils/message"; -import { decode } from "../../../tasks/utils"; -import { - AddressManager, - EtherVault, - TestBadReceiver, - TestLibBridgeData, - TestLibBridgeRetry, - TestReceiver, -} from "../../../typechain"; -import deployAddressManager from "../../utils/addressManager"; - -// TODO(roger): we should deprecate these test and test Bridge.sol -// as a whole. -describe("LibBridgeRetry", function () { - let owner: any; - let nonOwner: any; - let refundAddress: any; - let etherVaultOwner: any; - let etherVault: EtherVault; - let libRetry: TestLibBridgeRetry; - let badLibRetry: TestLibBridgeRetry; - let testTaikoData: TestLibBridgeData; - - before(async function () { - [owner, nonOwner, refundAddress, etherVaultOwner] = - await ethers.getSigners(); - }); - - beforeEach(async function () { - const addressManager: AddressManager = await deployAddressManager( - owner - ); - - const badAddressManager: AddressManager = await deployAddressManager( - owner - ); - - etherVault = await (await ethers.getContractFactory("EtherVault")) - .connect(etherVaultOwner) - .deploy(); - - await etherVault.deployed(); - - await etherVault.init(addressManager.address); - - await etherVault - .connect(etherVaultOwner) - .authorize(owner.address, true); - const blockChainId = hre.network.config.chainId ?? 0; - await addressManager.setAddress( - `${blockChainId}.ether_vault`, - etherVault.address - ); - - await badAddressManager.setAddress( - `${blockChainId}.ether_vault`, - ethers.constants.AddressZero - ); - - await owner.sendTransaction({ - to: etherVault.address, - value: ethers.utils.parseEther("10.0"), - }); - - const libRetryFactory = await ( - await ethers.getContractFactory("TestLibBridgeRetry") - ).connect(owner); - - libRetry = await libRetryFactory.deploy(); - await libRetry.init(addressManager.address); - await libRetry.deployed(); - - badLibRetry = await libRetryFactory.deploy(); - await badLibRetry.init(badAddressManager.address); - await badLibRetry.deployed(); - - await etherVault - .connect(etherVaultOwner) - .authorize(libRetry.address, true); - - testTaikoData = await ( - await ethers.getContractFactory("TestLibBridgeData") - ).deploy(); - }); - - describe("retryMessage()", async function () { - it("should throw if message.gaslimit == 0 && msg.sender != message.owner", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: 5, - owner: nonOwner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 0, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect( - libRetry.retryMessage(message, false) - ).to.be.revertedWith("B_DENIED()"); - }); - - it("should throw if lastAttempt == true && msg.sender != message.owner", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: 5, - owner: nonOwner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 1000000, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect( - libRetry.retryMessage(message, true) - ).to.be.revertedWith("B_DENIED()"); - }); - - it("should throw if message status is not RETRIABLE", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: 5, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 300000, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect( - libRetry.retryMessage(message, false) - ).to.be.revertedWith("B_MSG_NON_RETRIABLE()"); - }); - - it("if etherVault resolves to address(0), retry should fail and messageStatus should not change if not lastAttempt since no ether received", async function () { - const testReceiver: TestReceiver = await ( - await ethers.getContractFactory("TestReceiver") - ).deploy(); - - await testReceiver.deployed(); - - const destChainId = 5; - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: destChainId, - owner: owner.address, - to: testReceiver.address, - refundAddress: refundAddress.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 1, - data: ethers.constants.HashZero, - memo: "", - }; - - const signal = await testTaikoData.hashMessage(message); - - await helpers.setStorageAt( - badLibRetry.address, - await getMessageStatusSlot(hre, signal), - MessageStatus.RETRIABLE - ); - - const originalToBalance = await testReceiver.getBalance(); - await badLibRetry.retryMessage(message, false); - const newToBalance = await testReceiver.getBalance(); - expect( - await decode( - hre, - "uint256", - await ethers.provider.getStorageAt( - badLibRetry.address, - getMessageStatusSlot(hre, signal) - ) - ) - ).to.equal(MessageStatus.RETRIABLE.toString()); - - expect(newToBalance).to.be.equal(originalToBalance); - }); - - it("should fail, but since lastAttempt == true messageStatus should be set to DONE", async function () { - const testBadReceiver: TestBadReceiver = await ( - await ethers.getContractFactory("TestBadReceiver") - ).deploy(); - - await testBadReceiver.deployed(); - - const destChainId = 5; - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: destChainId, - owner: owner.address, - to: testBadReceiver.address, - refundAddress: refundAddress.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 300000, - data: ethers.constants.HashZero, - memo: "", - }; - - const signal = await testTaikoData.hashMessage(message); - - await helpers.setStorageAt( - libRetry.address, - await getMessageStatusSlot(hre, signal), - MessageStatus.RETRIABLE - ); - - const originalBalance = await refundAddress.getBalance(); - await libRetry.retryMessage(message, true); - const balancePlusRefund = await refundAddress.getBalance(); - - expect( - await decode( - hre, - "uint256", - await ethers.provider.getStorageAt( - libRetry.address, - getMessageStatusSlot(hre, signal) - ) - ) - ).to.equal(MessageStatus.FAILED.toString()); - - expect(balancePlusRefund).to.be.equal( - originalBalance.add(message.callValue) - ); - }); - - it("should fail, messageStatus is still RETRIABLE and balance is returned to etherVault", async function () { - const testBadReceiver: TestBadReceiver = await ( - await ethers.getContractFactory("TestBadReceiver") - ).deploy(); - - await testBadReceiver.deployed(); - - const destChainId = 5; - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: destChainId, - owner: owner.address, - to: testBadReceiver.address, - refundAddress: ethers.constants.AddressZero, - depositValue: 0, - callValue: 1, - processingFee: 1, - gasLimit: 300000, - data: ethers.constants.HashZero, - memo: "", - }; - - const signal = await testTaikoData.hashMessage(message); - - await helpers.setStorageAt( - libRetry.address, - await getMessageStatusSlot(hre, signal), - MessageStatus.RETRIABLE - ); - - const originalBalance = await ethers.provider.getBalance( - etherVault.address - ); - await libRetry.retryMessage(message, false); - const balancePlusRefund = await ethers.provider.getBalance( - etherVault.address - ); - - expect( - await decode( - hre, - "uint256", - await ethers.provider.getStorageAt( - libRetry.address, - getMessageStatusSlot(hre, signal) - ) - ) - ).to.equal(MessageStatus.RETRIABLE.toString()); - - expect(balancePlusRefund).to.be.equal(originalBalance); - }); - - it("should succeed, set message status to done, invoke message succesfsully", async function () { - const testReceiver: TestReceiver = await ( - await ethers.getContractFactory("TestReceiver") - ).deploy(); - - await testReceiver.deployed(); - - const destChainId = 5; - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: 1, - destChainId: destChainId, - owner: owner.address, - to: testReceiver.address, - refundAddress: refundAddress.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 1, - data: ethers.constants.HashZero, - memo: "", - }; - - const signal = await testTaikoData.hashMessage(message); - - await helpers.setStorageAt( - libRetry.address, - await getMessageStatusSlot(hre, signal), - MessageStatus.RETRIABLE - ); - - const originalToBalance = await testReceiver.getBalance(); - await libRetry.retryMessage(message, true); - const newToBalance = await testReceiver.getBalance(); - - expect( - await decode( - hre, - "uint256", - await ethers.provider.getStorageAt( - libRetry.address, - getMessageStatusSlot(hre, signal) - ) - ) - ).to.equal(MessageStatus.DONE.toString()); - - expect(newToBalance).to.be.equal( - originalToBalance.add(message.callValue) - ); - }); - }); -}); diff --git a/packages/protocol/test/bridge/libs/LibBridgeSend.test.ts b/packages/protocol/test/bridge/libs/LibBridgeSend.test.ts deleted file mode 100644 index faf0d4a29c0..00000000000 --- a/packages/protocol/test/bridge/libs/LibBridgeSend.test.ts +++ /dev/null @@ -1,186 +0,0 @@ -import { expect } from "chai"; -import hre, { ethers } from "hardhat"; -import { - AddressManager, - TestLibBridgeSend, - EtherVault, -} from "../../../typechain"; -import { Message } from "../../utils/message"; -import { deploySignalService } from "../../utils/signal"; - -// TODO(roger): we should deprecate these test and test Bridge.sol -// as a whole. -describe("LibBridgeSend", function () { - let owner: any; - let nonOwner: any; - let etherVaultOwner: any; - let libSend: TestLibBridgeSend; - let blockChainId: number; - const enabledDestChainId = 100; - const srcChainId = 1; - - before(async function () { - [owner, nonOwner, etherVaultOwner] = await ethers.getSigners(); - blockChainId = hre.network.config.chainId ?? 0; - }); - - beforeEach(async function () { - const addressManager: AddressManager = await ( - await ethers.getContractFactory("AddressManager") - ).deploy(); - await addressManager.init(); - - await deploySignalService(owner, addressManager, blockChainId); - - await addressManager.setAddress( - `${enabledDestChainId}.bridge`, - "0x0000000000000000000000000000000000000001" // dummy address so chain is "enabled" - ); - - const etherVault: EtherVault = await ( - await ethers.getContractFactory("EtherVault") - ) - .connect(etherVaultOwner) - .deploy(); - - await etherVault.deployed(); - await etherVault.init(addressManager.address); - - await addressManager.setAddress( - `${blockChainId}.ether_vault`, - etherVault.address - ); - - libSend = await (await ethers.getContractFactory("TestLibBridgeSend")) - .connect(owner) - .deploy(); - - await libSend.init(addressManager.address); - await etherVault - .connect(etherVaultOwner) - .authorize(libSend.address, true); - }); - - describe("sendMessage()", async function () { - it("should throw when message.owner == address(0)", async function () { - const nonEnabledDestChain = 2; - - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: nonEnabledDestChain, - owner: ethers.constants.AddressZero, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect(libSend.sendMessage(message)).to.be.revertedWith( - "B_OWNER_IS_NULL()" - ); - }); - - it("should throw when destchainId == block.chainId", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: blockChainId, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect(libSend.sendMessage(message)).to.be.revertedWith( - "B_WRONG_CHAIN_ID()" - ); - }); - - it("should throw when destChainId has not yet been enabled", async function () { - const nonEnabledDestChain = 2; - - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: nonEnabledDestChain, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect(libSend.sendMessage(message)).to.be.revertedWith( - "B_WRONG_CHAIN_ID()" - ); - }); - - it("should throw when expectedAmount != msg.value", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: enabledDestChainId, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - await expect(libSend.sendMessage(message)).to.be.revertedWith( - "B_INCORRECT_VALUE()" - ); - }); - - it("should emit MessageSent() event and signal should be hashed correctly", async function () { - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: enabledDestChainId, - owner: owner.address, - to: nonOwner.address, - refundAddress: owner.address, - depositValue: 1, - callValue: 1, - processingFee: 1, - gasLimit: 100, - data: ethers.constants.HashZero, - memo: "", - }; - - const expectedAmount = - message.depositValue + - message.callValue + - message.processingFee; - - expect( - await libSend.sendMessage(message, { - value: expectedAmount, - }) - ).to.emit(libSend, "MessageSent"); - }); - }); -}); diff --git a/packages/protocol/test/constants/errors.ts b/packages/protocol/test/constants/errors.ts deleted file mode 100644 index 60420437565..00000000000 --- a/packages/protocol/test/constants/errors.ts +++ /dev/null @@ -1,3 +0,0 @@ -const ERC20_BURN_AMOUNT_EXCEEDED = "ERC20: burn amount exceeds balance"; -const ERC20_TRANSFER_AMOUNT_EXCEEDED = "ERC20: transfer amount exceeds balance"; -export { ERC20_BURN_AMOUNT_EXCEEDED, ERC20_TRANSFER_AMOUNT_EXCEEDED }; diff --git a/packages/protocol/test/constants/messages.ts b/packages/protocol/test/constants/messages.ts deleted file mode 100644 index c519885a5e4..00000000000 --- a/packages/protocol/test/constants/messages.ts +++ /dev/null @@ -1,3 +0,0 @@ -const K_BRIDGE_MESSAGE = "TAIKO_BRIDGE_MESSAGE"; - -export { K_BRIDGE_MESSAGE }; diff --git a/packages/protocol/test/data/test_proof.json b/packages/protocol/test/data/test_proof.json deleted file mode 100644 index e35722dc478..00000000000 --- a/packages/protocol/test/data/test_proof.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "jsonrpc": "2.0", - "id": 1, - "result": { - "aggregation": { - "duration": 0, - "instance": [], - "k": 0, - "label": "pi-600000-a", - "proof": "0x", - "randomness": "0x" - }, - "circuit": { - "duration": 291422, - "instance": [ - "0xecbb89532da16c6aaba65173df994a0b", - "0xdc43ac5f0c4d96dda954d14935efd6a3" - ], - "k": 19, - "label": "pi-600000", - "proof": "0x2bf20ff78727f38ef16e03bfb3d4895f35cc626f97ede7cc99f48aeff8661fe32015ea8d62ec7a79e01cd398e85867bafdcf55cb6a7121b6fef097f5f5656a5d11ddf336b6879926ea2ae425e91c748a553c9a496cbe2ab556a91689f75ee2b01ad3c43aa774b50a9d8411a9f65be42d6cde781db1a1949a1e886f868917997b0ddf417d2fa8b5fb32dd641ef94ba838efb46de478000cc32c62367ea7f68f341ab25760acb25df78b85ffaf11edcaf986c0ed939c32989df7127129000e0bfb21f302010a7798aecee8552aa1c226cf9908e813008ee2f29e21784a3f32078a0ed17a8070ca28e6fb79356d372926921e08a609bfde3f9416a69da8cbf4faba1958b1d14fc9092e077af4e9c438857aa200afd32dcf7848a217fb187fa9e1bb2b88c35121977f4de6a34c88c2fe4678205292ca22683d073687f77a68070e1e227874e3cddb99c6347c7d47232d2aa51b32076e81b130e96dc0ca2ac7dcef601bfbd31520044ed64796953f3345b49ac812514aa3886a17e8eab324c8940abd220669e9b95d47ddc7774695be89576663bf96b0e6dea37abfbfb4620178b74e124862d1788641479260a68ebba6dbc9cd80e10ef9d7627966db2063222eb2751a9959e70854d3379c63eb3ec8177441f568d79ec82875aa36645f01bd53e10d302a9f8b678d6b09c54d072c7e9d6443a0aa89021ec0748568d3d5b5745c92b11f31c13d11b94f892bb9f96bd2931b66ffa5e22b104c549e7c0d5010e4e70e271d48c0bd6e4be68c920ea77af85d12eb155d9b25703eabbd0ede1909565a55f12f654ccc6771897acdaaf83e3674c7141927ac3a8e9915bf27f033779110c0ba0b635753acf8f53fed904adc20368c93691f8e49cf07e0b6f10a9d8a0bea4f3d259764b0f53960cd7b9a81fa4379d396364814249a5fddcf7efa7d2e68e729550a92392f5c23c73868961d6edfd9fc4f1379c8e34191c372cbebf13c2fa337fd1a0a0068708d0d60db275be717d35676c27cf58b5044adb1d764b8bcd6951a9f1c5c1a2fb96d6cecb1c153fbe082948de02930c0cdb295d8ac4df91ea2d34b442fd18f84509838c84d4ebc980c96be6d0667fc18cd949ac93b5dfb38d712bb2d29fcbac5bb3a620b2b5aadf1a4e2a3c254610dfffe7e216b4a9ecc93a8081b970d13d113582885390dfc9cc4ae10eca93a6c81003305c0a03213293e919e041712192fb8374c269bf5e3cbfd8cfc1fa4408c0a55fd98d8f57926aa9d9772e5b114ffe9e64acbf6e0543d3c55a5140116e8130f3369b0f819a21f5fa24980b11b2f12481042cbff8b2dec629f37fa4a64a4641656629fb11261a66a36e969b74a20753d54c05301075e315bdb0a39fd7665edd8d73fbfa6c4faaf6c66e6c8b1a830453b758b0047d93d9970b49c617dd582fbad0539f9f5eadeeb51e35775f98f2bfb750f3ca68d27197e3d86d4283f5859a6ef7bd66b68991f474e26317dc1df15d4acaa898abf97f2e5c1b4e560336e76ccbe2613d85454a095bbe5ae6b2a1212064ca8776f0f33bd9797c164a92c211167e81c6dc3418d096fecc989ae97d004e2bfa53207b036b5183468f4435e9df40413fd4f3fbb7c0e4080765a68d1e80b262e54ab27cdb4904018a73566c5f3fbf93e637081714ffbd106c3f03f69fb20444983ce2fed71bf96c17049506c3d667ccc7d29dac0a1830187c2f0f130a31166f5e0f55fdd7796be8c989e9c55b87e135356cabdb13314693c4f4cdb3a350524f7494c0b7c9679c651970b2076b58718cf6077b1d5bcd1193708faf3f1812a4811c5965495da8054c9a4a4447f50b08138ea05c6df2bdc444689b78b9a37196917eaed3edc25d1ddc1b60a8041330a4759ee8725c87234374c60b43ab7d8066fe95537bb96857a5357ff97dab62f0e56511d7cb8d3695d919db350eb949002f4fde22120e0e8d3023dbd46a7f0f4e5f84cb59a19c331806f71a381f72da81f27884447fe57e3271ebc651916dced06db9c7a51572c5ce7021eaff9c0bc7c02380abf987c89ba8029744c07e0eeab3a228793e9a69adba4ae42404fb2ce4d2495da393f0d0ac5a0178ca4720e8e6a193e3579a3ef50df7ed8a4b06ca54e33150ae76933a36e9979336b44461efbeaa9de08379687b1dd8ed6656438480d0c0237ca9000cca1bfd6adfdd043364af965aeea9b0571e2debb244e7b632d287011c7ff356c7cce34ad9f5e910280dedd1fae543c3e4405dd47648ae52e8793902beefdab93b509be5c3d84808db2186920e75fb6211f92e965cb901dcdf2ce9c14e21ebcbbc81a57784d0900fac3c31566ded583eb0867eefd75bbf3df363ef01b7932b70e7b068a2656173d241e8f20bb6be3a3a3767111aa6f459f84be961c2337f6e03ed3cc6c847a3683894288b471504cbdc43a78f856801a10a87c77322e36e0ca426ec67ad3a2a3b79bc5cb81928a79a67a0fb46bb967cbab73fd36022f92d920204de61717dde6a85b7bcf57584c11ce54ac92998f856bf042a01c5017345a34999a1048429a6ac79724c62d55446e80fe8fe17c45eee3fbff6d5adb18976d640fa9d0cdc20bed46b5c726df89e442099e0d5a7c7229c3c17dd878671c2794a56de602afc80c531d41f6239868a7f6c2eaf6ee31e765fccd39d9f8f20ca9299f4339b73796bdb401f68953f9b796798756c87db489cf79b7a29c4c6124b6cccd46862b0c28a6f2a03603cb6dfecf6a9b92a01f722b47b50d04963fc12cef50cc58129155b15f279e8bc71a20a663022516cd7c72b9c6cd3782569d150f046473cbb519f5719cd1c8edae7313d9869a20ef43cf2f668cbf98b904e421301b032acb7515be27039f0a02275eacac5600eb1df8d8e48096b31ecce40dbc1a462346830d8dee6311caec0a83aff85a70a0180b999bd3c1b2932596ef3c9524fbf7971c6d9e75ecdbd2ec7943b47d7feec6f26abe42c6aa6bc4f10085843712406bf56c20010ec8dbe8684e174894aa0b6471ef3d3a33ef77887fe5a6b33220a7a1991e56a31e51d2cd82555ccd8f31056d312d9f4c37ba7915a271ca814222616327752f8354ff401a5cf2efcc342752f919a11a0a7a35a1b574ea36637f2c6e14989ad2f7668502cebbd59b3346379d577daf4a0981f0a341d38d9ee58a0463484d31623127c09c6cec446a9ac9a53cb6841ca2a097ceef88e537e209880ffdcfd5033bc3f5a885c271e41ee332366345fa867780beb3c1d5eaa496ea09055c1664fe43a3cee202c7086555143481e8407952aacd465042664e99dc869d1d0641ba576f7351c66c4177418bde4d2e3146083e9362cdba7c0a0ddd2ef8c82b2db81d6fa83b980ab5eabd8a697cdea718c98148d907c2732a3912bfffb59b0a01f361062fc5eb023866f05f6f24277f2b862978b8be3a195787d83b2793092b2060ecd7e35d7ccc5588c367292d227e94b521736a89da3093cc26a45c4f450b64ff3e97f834e2e1303cb0abc9b31704c4b4f99a595e0b32e8632628a1b31f11caf94b127957d16938243e7b9da2c99131bfba20d052f1f741a4e724b4442008cd72dc748b9dd66eb047c4fe9768d0f752aac429c8dede3b8173d7d0e2e4f228985166aa6daa1e3e8bc8cec535cc49fb04cc983eef4b0489ca58d5127b7a4c110fbb8418e62e1086ceeeff2fcda91add54a78321104268324cb978846c129309e5c32019fbd8052926e9945847120ce2bd31a6fde1ad4a333d37c2d948d83b120b6b6d387a0f7fe5f7dfaf3ab3af823d4bb85236ba2d5e8887f5a322190296046eaa65541bce11841715fb8243c61739456c3219755317d0d2d3f84e58dcd115cfbbd8e41b40a6244082c566923dc347ecf89ff8683c7b56dc3af8dde4804f245883c795c063ca8f0e676f70a76e463b325f4754f992c72a18197c4265904822a7e3926f2a0b5e928982620244b3fa5a74a6d77cf3b212dc1cc738487604752fe83dadcc0a47916ef7c4643b82c068b50ccc27589a3d41e86d9b028236e94f24b13227d4df86f3fcb52c583b6feb799268050d2527a6ae8662735dcf14a07c0bc93053770d51f357c745e6c9c1546699eeda30310f3277630a023b5dcfb1a10f4155812cd16cc0048d8844187135ce6a6c90e81c4ecc3e503f26ea92dfe5a817cdd5cbaa3fe8bffacc2f6940eb0c5ba38eb739133532579194d745218102bb088ff27a05e9d5d857b8d131974574fa4a1511b0497e2b332ffe349571d59da52c2225198daa0e27f0e429523c3bd45bbd4d0bddee05003c953e5d22c42ade7f0e3b871be6eaf13236041a6ca2614ea28cb541352aa0eca871a852be7bbabfe30c3173bcbdd8733f8d0df021ee3a454551194d07518f936a2cfef1c0c1196ee50772aea8115ef7e2f2523c18cfb2dae0c60f04d13b7e8d4c8cde37759f5dc5270103f142f7085265670f065353108b482fc711c0ee1279cbc0c85811e3f58bf4199d7b1fdf06e516bd2b85ee9012c2cebf508a4d76779df91a1ab8481765c74c29c2afe960284cf26a0a917979539bc21cd620dab7d35e624a36f9c20baaa6d52ad980d965aed1dfb5495455fb68b41e3ba9ee06521960fe63d4441dbf3b7a352b28baec06f95a8cdcf4aa81ec02a44712a21202439c19409d137f22c115ff871297f0c3eee03f15cf46f9f786d3c7596084b24439d7b95ea61b357c24b967ae204113c1ec8cf103289aaa6b9436da1f572cb1972fe2305b74a88a74ee5353391c3f13a1d0fbc1e674fa13f385b34f7eda4a6ae60eb27aa02fdad51757820b7c0e7b2744e7782fe393581875b14e8d62cd51c6f5621d500f99216d1797dec34522f4baa9ee2ef08fa4338582f8a2ea1109715304d95690ad7141c02d4914b3482dbffd460e1bda19f0b4bcde737c899b5e8b149545611a69a51d121de0f404a62b9c5fe22a7eff88d9dc7625a2b421ea63fc4bd1c3de012179a2a896be077a35108e1b0cf51d88c6e57ab0bd702527959e9805d6f7c6628e337ac905df6bda5713c88ef0c3a2d7a54837f1313ceb899ec6cb96253c24ac94a87f2a0bd90373f81f84f10d4bba42c769ecea87a4bbf854c151772fd97e31bf3e531c8aee6d0dfe01f06fe15736edae5b11ac891cc8b5b847b6b0c7d9e09c5856d755a1d9ab15872e89bca1e7a253e547584b144e517daf9fe4824001d92a7bc355baaa421aa1f92ae543153ca763112d9181802212bd8cb1f7047fe09bff0bf17ad3acff6148d42de1d4b0ecf116b80ead2f02c118b6df97df4f56baf03f5955173f9d68f827ed27ad554f90aff457a8a23280e2be8885d5d3642f0ec59b3a1ec492ae8f4cdd85125ac43e978624cdb90de36025b6ac4e0d83e4735c67858b6afe1c72794b2f8f154e162a34beb4b7fb3bfbc1925cbc903321f47a70f532417d7eacde29cc747d1f7e85b9ebc9881281c08219b47f01dd25a0cabbbf682afdb25fa9e750f9159e120e9e372281d0859ed0b8977cf93eed7ae008b71e7fce7db5ead0d46065e90509dd2e820573d21adc9c48cad23b0b7d0feed2a8300e1e5dc489a61e4cd316ca29f60acd695b5630a10caa7c3d21c151f7e4dc343e98e1753a8e446c554859f02a8614476fea682a8e2ea573bb36dc88d7d8c51e14a11a22834fdd33cd6a077f00b5f8bdfef25b77c6f4985199b3b8dc039f385df28607fcdd45f64d745d5bde0cb5f17221f8335b58db4fd93a1aa6e16d091c66cdc903e4519eb95683c7eff018d47f14e841e216ef87942b3364ce60d94c2eba0a8d4d9909ad4be7e0a866dd0880a33e25c95afb6100f737083a761451047d59b753032e68cb591d1ba5a09d0ab6f9196887dc665035140aec389bfcb7e304dadf6509f4a8e466c8c52c124b1f9002e724d23e13f4bda538a4003a6b719e08075d4aea1a881f9c90fd34b4f22b9983e7ce125798e735db18dc08c49e95e20b685bf2a9ee2d6ea7cc1437e7b1201348d0d498e170c185f96a771a4642f444ec00ccf69fb94869926eb0f539f01be43ab9e8823c746bbf27bbc62081218eb728595fafd0f257bb0267468b4b2111636c36985b5450f724201f3cf862423ff099c177b53624f07a699b831a98ae06d21c2ed3ff85c918c27abb2fbe3266bce49d11de75b54a577ba0f4e1286fbe2523a04d1245a9940cf25efd5d2b4f1d9a38c939b439484964d1458ac5f63a8f0449ec481df725c09691bdd8b4605f2c378f4326055193cd7e0d4e625763da941c71f8ba138c652fc8b1230bb1ffc1d8649e883079d6f72154ee5e91c16b46e11f9de2cb6581ea13027a6445aa0f2dceb24de24e119b421f7718bff774bfd33c15bf1db21b36cd7ab8bcc97cbb2f79126640dfc5926290638e4c1099b7ca9673253fe95dbcfefad83574d6d3bb4934a57152a4dd598178900f8c4283dca089f71e1760d063de4d4e16ba091db51d7bcb31257831b78e74534f2d87fbc534ae09138bbbfa082932956596372c6f57c29cd18daecb33e2e40eff4fb23844b99dfc234258d2105be4f8f95ae781e8e5b105cacdb4bedcf319d548f75f53257041ed08b96961984cef1d11aeb686c928e12b5a2d8315d12fec299f6a47278af96e3a0ef706564615c35891a21d3e4c6ace3863ceb74eb610f6df878743d1126194ee21afc2f5121aed95c8b776bdd74536bee8708410ded1ef78400498c2b842e257214a9e7c186fd8cf719303653d6f0848de33d142161c9116e281efba4714f82c2049a208ab4cd5b9f98a1601b2cb0d4fbb7570938e1d536140d4cc4c05a69c20295367916c381f7f60e3589a2b6e1b9c8bfe57985ec74fd7ce9c8d311b2483dd28f5b53c50c6a1556d6bfc3ec7ad225939a0b0e87fc8ae3cf49c632c6f8d0f3b0e36cf8f44fa705719f1cc74949aa5c97866e2f8abb9a329700c64210cb701932c9f527bc4e2a83637f0eb868c700f66df7e6bde882c686a2832862366a4759c0920569110fa746596834284a02db15179d900454bf2d3a8f912ee1a62a32c071bb89c96cf82a3173caab9901b2ab1d005b21ff8dddf2e4a7c8b4174534648ce1f473f57ce66cb4877561212f1424b7808f47cb267d3a9f7c6122a23f146840529440cf04028b263e2432120acf949234e59b01b1c5edfe36968138f771db95b19bbdf7ac619ccc786132fc38687ab929fe10f7656b9b7f2f0f8ff1c2567e5d4092eeed98d0b457811d6516cf28c935606774c9676cc27d77b7229b13d5c7409064a369b568b597f7dabf1fee789328a6a216ebad1d827bea6f3dc73de73b8f00d2cbf971ea012fdfe667fa3c71827d0831e119023625038e5caeef9244e20e305834cecd12f46e2dfc4e73154ae503b431d62de912fadcd3785203a41d9457d291826033c13ccac3bc3a63425f14953eed324c08f03d2a5722c76ed44712720296c14474d1dab39626f11c0927c17fcab09040481732a9d13b976e8101836181591c892dfb24fd04250fb08bcca8d6649e4a17de62a9066bf74486cf09a1d01287c8535e17d8e466c2ea15ad5c300e1dd7a7d83470629a7e5f7f5151b1251161e1e75cb24c1e6ed7f99ae065b2dbcc5a96429445bbea9917571566a1d0defc601d76fb4390fe028274e98c82c78930ffdb30fb626bef3342d6f35994eb539a210af0e3ae6f3efdc7c5efcd287d7e699e6d1a402246a797d4db46fbbbbbb94cf257d65d7748f905906b74e7da9e8770e313ab08145e1f6b2eb684decf91fcd5a130e726c8d82850c78e1756542d52758a82d06f2839c79e9d13466b0477a0ab12743f4e1d5b347a5bbe7960af573d8ecaa19ecc2f467517a809b958502af98f42114752aa79a8fa137a23516ee6fceec1c2301dedb00ba071acdf7568266efad2a37a8884dbb5f76312429a2e4b0bdbe1131751b730e521b21693e5f0fb788fc21549886936f5608626170146dc1fb531f56ad7155510930cb19b33fdac1962009d7f1a7e779b32593404d855e10fa92b8c5db1daf63c8b36b00b8602f7e5a65", - "randomness": "0x" - }, - "config": { - "block_gas_limit": 625000, - "keccak_padding": 1600000, - "max_bytecode": 139500, - "max_calldata": 697500, - "max_rws": 3161966, - "max_txs": 80, - "min_k": 21, - "min_k_aggregation": 26, - "pad_to": 2097152 - }, - "gas": 21000 - } -} diff --git a/packages/protocol/test/etherVault/EtherVault.test.ts b/packages/protocol/test/etherVault/EtherVault.test.ts deleted file mode 100644 index e8481e6b7b9..00000000000 --- a/packages/protocol/test/etherVault/EtherVault.test.ts +++ /dev/null @@ -1,176 +0,0 @@ -import { expect } from "chai"; -import { AddressManager, EtherVault } from "../../typechain"; -import { ethers } from "hardhat"; -import { BigNumber } from "ethers"; -import deployAddressManager from "../utils/addressManager"; - -describe("EtherVault", function () { - let owner: any; - let nonOwner: any; - let authorized: any; - let notAuthorized: any; - let etherVault: EtherVault; - - before(async function () { - [owner, nonOwner, authorized, notAuthorized] = - await ethers.getSigners(); - }); - - beforeEach(async function () { - const addressManager: AddressManager = await deployAddressManager( - owner - ); - - etherVault = await (await ethers.getContractFactory("EtherVault")) - .connect(owner) - .deploy(); - await etherVault.init(addressManager.address); - - await etherVault.connect(owner).authorize(authorized.address, true); - - const isAuthorized = await etherVault.isAuthorized(authorized.address); - expect(isAuthorized).to.be.true; - - await authorized.sendTransaction({ - to: etherVault.address, - value: ethers.utils.parseEther("1.0"), - }); - - expect(await ethers.provider.getBalance(etherVault.address)).to.be.eq( - ethers.utils.parseEther("1.0") - ); - }); - - describe("receive()", async function () { - it("throws if not authorized and balance > 0", async () => { - const balance = await ethers.provider.getBalance( - etherVault.address - ); - expect(balance).to.not.be.eq(BigNumber.from(0)); - await expect( - notAuthorized.sendTransaction({ - to: etherVault.address, - value: ethers.utils.parseEther("1.0"), - }) - ).to.be.revertedWith("B_EV_NOT_AUTHORIZED()"); - }); - - it("receives if authorized and balance > 0", async () => { - const amount = BigNumber.from(1); - const originalBalance = await ethers.provider.getBalance( - etherVault.address - ); - expect(originalBalance).to.not.be.eq(BigNumber.from(0)); - await authorized.sendTransaction({ - to: etherVault.address, - value: amount, - }); - const newBalance = await ethers.provider.getBalance( - etherVault.address - ); - expect(newBalance).to.be.eq(amount.add(originalBalance)); - }); - }); - - describe("releaseEther()", async function () { - it("throws if not enough ether to send", async () => { - const balance = await ethers.provider.getBalance( - etherVault.address - ); - const additionalAmount = 1; - await expect( - etherVault - .connect(authorized) - ["releaseEther(uint256)"](balance.add(additionalAmount)) - ).to.be.revertedWith("ETH transfer failed"); - }); - - it("throws if not authorized", async () => { - await expect( - etherVault.connect(notAuthorized)["releaseEther(uint256)"](1) - ).to.be.revertedWith("B_EV_NOT_AUTHORIZED()"); - }); - - it("sends ether to caller", async () => { - const amount = 100000; - const originalBalance = await ethers.provider.getBalance( - authorized.address - ); - - const tx = await etherVault - .connect(authorized) - ["releaseEther(uint256)"](amount); - const receipt = await tx.wait(); - const gasUsed = receipt.cumulativeGasUsed.mul( - receipt.effectiveGasPrice - ); - const newBalance = await ethers.provider.getBalance( - authorized.address - ); - - expect(newBalance).to.be.eq( - originalBalance.add(amount).sub(gasUsed) - ); - }); - - it("emits EtherReleased event upon success", async () => { - const amount = 69; - - await expect( - etherVault.connect(authorized)["releaseEther(uint256)"](amount) - ) - .to.emit(etherVault, "EtherReleased") - .withArgs(authorized.address, amount); - }); - }); - - describe("authorize()", async function () { - it("throws when not called by owner", async () => { - await expect( - etherVault - .connect(nonOwner) - .authorize(notAuthorized.address, true) - ).to.be.revertedWith("Ownable: caller is not the owner"); - }); - - it("throws when address is 0", async () => { - await expect( - etherVault - .connect(owner) - .authorize(ethers.constants.AddressZero, true) - ).to.be.revertedWith("B_EV_PARAM()"); - }); - - it("throws when authorized state is the same as input", async () => { - await expect( - etherVault.connect(owner).authorize(authorized.address, true) - ).to.be.revertedWith("B_EV_PARAM()"); - }); - - it("emits Authorized event upon success", async () => { - await expect( - etherVault.connect(owner).authorize(notAuthorized.address, true) - ) - .to.emit(etherVault, "Authorized") - .withArgs(notAuthorized.address, true); - }); - - it("address is authorized in mapping, can de-authorize", async () => { - await etherVault - .connect(owner) - .authorize(notAuthorized.address, true); - - let isAuthorized = await etherVault.isAuthorized( - notAuthorized.address - ); - expect(isAuthorized).to.be.true; - - await etherVault - .connect(owner) - .authorize(notAuthorized.address, false); - - isAuthorized = await etherVault.isAuthorized(notAuthorized.address); - expect(isAuthorized).to.be.false; - }); - }); -}); diff --git a/packages/protocol/test/genesis/GenerateGenesis.g.sol b/packages/protocol/test/genesis/GenerateGenesis.g.sol new file mode 100644 index 00000000000..800432ef98d --- /dev/null +++ b/packages/protocol/test/genesis/GenerateGenesis.g.sol @@ -0,0 +1,202 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import "forge-std/StdJson.sol"; +import "../../contracts/bridge/BridgeErrors.sol"; +import "../../contracts/bridge/IBridge.sol"; +import "../../contracts/common/AddressResolver.sol"; +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {TaikoL2} from "../../contracts/L2/TaikoL2.sol"; +import {AddressManager} from "../../contracts/common/AddressManager.sol"; +import {Bridge} from "../../contracts/bridge/Bridge.sol"; +import {TokenVault} from "../../contracts/bridge/TokenVault.sol"; +import {EtherVault} from "../../contracts/bridge/EtherVault.sol"; +import {SignalService} from "../../contracts/signal/SignalService.sol"; +import {LibBridgeStatus} from "../../contracts/bridge/libs/LibBridgeStatus.sol"; +import {LibL2Consts} from "../../contracts/L2/LibL2Consts.sol"; +import {RegularERC20} from "../../contracts/test/erc20/RegularERC20.sol"; + +contract TestGenerateGenesis is Test, AddressResolver { + using stdJson for string; + + string private configJSON = + vm.readFile( + string.concat(vm.projectRoot(), "/test/genesis/test_config.json") + ); + string private genesisAllocJSON = + vm.readFile( + string.concat(vm.projectRoot(), "/deployments/genesis_alloc.json") + ); + address private owner = configJSON.readAddress(".contractOwner"); + uint64 public constant BLOCK_GAS_LIMIT = 30000000; + + function testContractDeployment() public { + assertEq(block.chainid, 167); + + checkDeployedCode("TaikoL2"); + checkDeployedCode("TokenVault"); + checkDeployedCode("EtherVault"); + checkDeployedCode("Bridge"); + checkDeployedCode("RegularERC20"); + checkDeployedCode("AddressManager"); + checkDeployedCode("SignalService"); + } + + function testAddressManager() public { + AddressManager addressManager = AddressManager( + getPredeployedContractAddress("AddressManager") + ); + + assertEq(owner, addressManager.owner()); + + checkSavedAddress(addressManager, "Bridge", "bridge"); + checkSavedAddress(addressManager, "TokenVault", "token_vault"); + checkSavedAddress(addressManager, "EtherVault", "ether_vault"); + checkSavedAddress(addressManager, "TaikoL2", "taiko"); + checkSavedAddress(addressManager, "SignalService", "signal_service"); + } + + function testTaikoL2() public { + TaikoL2 taikoL2 = TaikoL2(getPredeployedContractAddress("TaikoL2")); + + vm.startPrank(taikoL2.GOLDEN_TOUCH_ADDRESS()); + for (uint64 i = 0; i < 300; i++) { + vm.roll(block.number + 1); + vm.warp(taikoL2.parentTimestamp() + 12); + vm.fee( + taikoL2.getBasefee( + 12, + BLOCK_GAS_LIMIT, + i + LibL2Consts.ANCHOR_GAS_COST + ) + ); + + uint256 gasLeftBefore = gasleft(); + + taikoL2.anchor( + bytes32(block.prevrandao), + bytes32(block.prevrandao), + i, + i + LibL2Consts.ANCHOR_GAS_COST + ); + + if (i == 299) { + console2.log( + "TaikoL2.anchor gas cost after 256 L2 blocks:", + gasLeftBefore - gasleft() + ); + } + } + vm.stopPrank(); + } + + function testBridge() public { + address payable bridgeAddress = payable( + getPredeployedContractAddress("Bridge") + ); + Bridge bridge = Bridge(bridgeAddress); + + assertEq(owner, bridge.owner()); + + vm.expectRevert(BridgeErrors.B_FORBIDDEN.selector); + bridge.processMessage( + IBridge.Message({ + id: 0, + sender: address(0), + srcChainId: 1, + destChainId: 167, + owner: address(0), + to: address(0), + refundAddress: address(0), + depositValue: 0, + callValue: 0, + processingFee: 0, + gasLimit: 0, + data: "", + memo: "" + }), + "" + ); + } + + function testEtherVault() public { + address payable etherVaultAddress = payable( + getPredeployedContractAddress("EtherVault") + ); + EtherVault etherVault = EtherVault(etherVaultAddress); + + assertEq(owner, etherVault.owner()); + + assertEq( + etherVault.isAuthorized(getPredeployedContractAddress("Bridge")), + true + ); + assertEq(etherVault.isAuthorized(etherVault.owner()), false); + } + + function testTokenVault() public { + address tokenVaultAddress = getPredeployedContractAddress("TokenVault"); + address bridgeAddress = getPredeployedContractAddress("Bridge"); + + TokenVault tokenVault = TokenVault(tokenVaultAddress); + AddressManager addressManager = AddressManager( + getPredeployedContractAddress("AddressManager") + ); + + assertEq(owner, tokenVault.owner()); + + vm.startPrank(addressManager.owner()); + addressManager.setAddress(1, "bridge", bridgeAddress); + addressManager.setAddress(1, "token_vault", tokenVaultAddress); + vm.stopPrank(); + } + + function testSignalService() public { + SignalService signalService = SignalService( + getPredeployedContractAddress("SignalService") + ); + + assertEq(owner, signalService.owner()); + + signalService.sendSignal(bytes32(block.prevrandao)); + } + + function testERC20() public { + RegularERC20 regularERC20 = RegularERC20( + getPredeployedContractAddress("RegularERC20") + ); + + assertEq(regularERC20.name(), "RegularERC20"); + assertEq(regularERC20.symbol(), "RGL"); + } + + function getPredeployedContractAddress( + string memory contractName + ) private returns (address) { + return + configJSON.readAddress( + string.concat(".contractAddresses.", contractName) + ); + } + + function checkDeployedCode(string memory contractName) private { + address contractAddress = getPredeployedContractAddress(contractName); + string memory deployedCode = genesisAllocJSON.readString( + string.concat(".", vm.toString(contractAddress), ".code") + ); + + assertEq(address(contractAddress).code, vm.parseBytes(deployedCode)); + } + + function checkSavedAddress( + AddressManager addressManager, + string memory contractName, + string memory key + ) private { + assertEq( + getPredeployedContractAddress(contractName), + addressManager.getAddress(block.chainid, key) + ); + } +} diff --git a/packages/protocol/test/genesis/generate_genesis.test.sh b/packages/protocol/test/genesis/generate_genesis.test.sh index 2e21f254fdc..9da67a737d6 100755 --- a/packages/protocol/test/genesis/generate_genesis.test.sh +++ b/packages/protocol/test/genesis/generate_genesis.test.sh @@ -39,7 +39,7 @@ echo ' "epoch": 30000 } }, - "gasLimit": "10000000", + "gasLimit": "30000000", "difficulty": "1", "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000df08f82de32b8d460adbe8d72043e3a7e25a3b390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "alloc": @@ -48,7 +48,7 @@ echo ' echo "Starting generate_genesis tests..." # compile the contracts to get latest bytecode -pnpm clean && pnpm compile +rm -rf out && pnpm compile # run the task pnpm run generate:genesis $DIR/test_config.json @@ -65,9 +65,41 @@ echo "Start docker compose network..." docker compose -f $TESTNET_CONFIG down -v --remove-orphans &> /dev/null docker compose -f $TESTNET_CONFIG up -d +trap "docker compose -f $TESTNET_CONFIG down -v" EXIT INT KILL ERR + echo "" echo "Start testing..." -TEST_L2_GENESIS=true pnpm hardhat test --grep "Generate Genesis" - -docker compose -f $TESTNET_CONFIG down -v +function waitTestNode { + echo "Waiting for test node: $1" + # Wait till the test node fully started + RETRIES=120 + i=0 + until curl \ + --silent \ + --fail \ + --noproxy localhost \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{"jsonrpc":"2.0","id":0,"method":"eth_chainId","params":[]}' \ + $1 + do + sleep 1 + if [ $i -eq $RETRIES ]; then + echo 'Timed out waiting for test node' + exit 1 + fi + ((i=i+1)) + done +} + +waitTestNode http://localhost:18545 + +forge test \ + -vvv \ + --gas-report \ + --fork-url http://localhost:18545 \ + --fork-retry-backoff 120 \ + --no-storage-caching \ + --match-path test/genesis/*.g.sol \ + --block-gas-limit 1000000000 diff --git a/packages/protocol/test/genesis/generate_genesis.test.ts b/packages/protocol/test/genesis/generate_genesis.test.ts deleted file mode 100644 index 654f33335ef..00000000000 --- a/packages/protocol/test/genesis/generate_genesis.test.ts +++ /dev/null @@ -1,468 +0,0 @@ -import { expect } from "chai"; -import * as hre from "hardhat"; -import { txShouldRevertWithCustomError } from "../utils/errors"; - -const ethers = hre.ethers; -const action = process.env.TEST_L2_GENESIS ? describe : describe.skip; - -action("Generate Genesis", function () { - let alloc: any = null; - - if (process.env.TEST_L2_GENESIS) { - alloc = require("../../deployments/genesis_alloc.json"); - } - - const provider = new hre.ethers.providers.JsonRpcProvider( - "http://localhost:18545" - ); - - const signer = new hre.ethers.Wallet( - "2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501200", - provider - ); - - const testConfig = require("./test_config"); - - const seedAccounts = testConfig.seedAccounts; - - before(async () => { - let retry = 0; - - while (true) { - try { - const network = await provider.getNetwork(); - if (network.chainId) break; - } catch (_) {} - - if (++retry > 10) { - throw new Error("geth initializing timeout"); - } - - await sleep(1000); - } - - console.log("geth initialized"); - }); - - it("contracts should be deployed", async function () { - for (const address of Object.keys(alloc)) { - if ( - seedAccounts - .map((seedAccount: any) => { - const accountAddress = Object.keys(seedAccount)[0]; - return accountAddress; - }) - .includes(address) - ) { - continue; - } - const code: string = await provider.getCode(address); - const expectCode: string = alloc[address].code; - - expect(code.toLowerCase()).to.be.equal(expectCode.toLowerCase()); - - if (testConfig.contractAddresses[alloc[address].contractName]) { - expect(address).to.be.equal( - testConfig.contractAddresses[alloc[address].contractName] - ); - } - } - }); - - it("premint ETH should be allocated", async function () { - let etherVaultBalance = hre.ethers.BigNumber.from("2").pow(128).sub(1); // MaxUint128 - - for (const seedAccount of seedAccounts) { - const accountAddress = Object.keys(seedAccount)[0]; - const balance = hre.ethers.utils.parseEther( - `${Object.values(seedAccount)[0]}` - ); - expect(await provider.getBalance(accountAddress)).to.be.equal( - balance.toHexString() - ); - - etherVaultBalance = etherVaultBalance.sub(balance); - } - - const etherVaultAddress = getContractAlloc("EtherVault").address; - - expect(await provider.getBalance(etherVaultAddress)).to.be.equal( - etherVaultBalance.toHexString() - ); - }); - - describe("contracts can be called normally", function () { - it("AddressManager", async function () { - const addressManagerAlloc = getContractAlloc("AddressManager"); - - const addressManager = new hre.ethers.Contract( - addressManagerAlloc.address, - require("../../artifacts/contracts/thirdparty/AddressManager.sol/AddressManager.json").abi, - signer - ); - - const owner = await addressManager.owner(); - - expect(owner).to.be.equal(testConfig.contractOwner); - - const bridge = await addressManager.getAddress( - `${testConfig.chainId}.bridge` - ); - - expect(bridge).to.be.equal(getContractAlloc("Bridge").address); - - const tokenVault = await addressManager.getAddress( - `${testConfig.chainId}.token_vault` - ); - - expect(tokenVault).to.be.equal( - getContractAlloc("TokenVault").address - ); - - const etherVault = await addressManager.getAddress( - `${testConfig.chainId}.ether_vault` - ); - - expect(etherVault).to.be.equal( - getContractAlloc("EtherVault").address - ); - - const taikoL2 = await addressManager.getAddress( - `${testConfig.chainId}.taiko` - ); - - expect(taikoL2).to.be.equal(getContractAlloc("TaikoL2").address); - - const signalService = await addressManager.getAddress( - `${testConfig.chainId}.signal_service` - ); - - expect(signalService).to.be.equal( - getContractAlloc("SignalService").address - ); - }); - - it("LibTxDecoder", async function () { - const TaikoL2Alloc = getContractAlloc("TaikoL2"); - const TaikoL2 = new hre.ethers.Contract( - TaikoL2Alloc.address, - require("../../artifacts/contracts/L2/TaikoL2.sol/TaikoL2.json").abi, - signer - ); - const config = await TaikoL2.getConfig(); - const LibTxDecoderAlloc = getContractAlloc("LibTxDecoder"); - - const LibTxDecoder = new hre.ethers.Contract( - LibTxDecoderAlloc.address, - require("../../artifacts/contracts/libs/LibTxDecoder.sol/LibTxDecoder.json").abi, - signer - ); - - const decoded = await LibTxDecoder.callStatic.decodeTxList( - config.chainId, - ethers.utils.RLP.encode([]) - ); - - expect(decoded.items.length).to.be.eql(0); - }); - - it("TaikoL2", async function () { - const TaikoL2Alloc = getContractAlloc("TaikoL2"); - - const TaikoL2 = new hre.ethers.Contract( - TaikoL2Alloc.address, - require("../../artifacts/contracts/L2/TaikoL2.sol/TaikoL2.json").abi, - signer - ); - - let latestL1Height = 1; - for (let i = 0; i < 300; i++) { - const tx = await TaikoL2.anchor( - latestL1Height++, - ethers.utils.hexlify(ethers.utils.randomBytes(32)), - { gasLimit: 1000000 } - ); - - const receipt = await tx.wait(); - - expect(receipt.status).to.be.equal(1); - - if (i === 299) { - console.log({ - message: "TaikoL2.anchor gas cost after 256 L2 blocks", - gasUsed: receipt.gasUsed, - }); - } - } - - const [bytes, txNums] = await generateMaxSizeInvalidTxList(TaikoL2); - - const taikoL2WithGoldenTouchSigner = new hre.ethers.Contract( - TaikoL2Alloc.address, - require("../../artifacts/contracts/L2/TaikoL2.sol/TaikoL2.json").abi, - new hre.ethers.Wallet( - "92954368afd3caa1f3ce3ead0069c1af414054aefe1ef9aeacc1bf426222ce38", - provider - ) - ); - - const tx = await taikoL2WithGoldenTouchSigner.invalidateBlock( - bytes, - 1, // hint: TX_INVALID_SIG - 0, - { gasPrice: 0 } - ); - - const receipt = await tx.wait(); - - expect(receipt.status).to.be.equal(1); - - console.log({ - message: "TaikoL2.invalidateBlock gas cost after 256 L2 blocks", - TxListBytes: ethers.utils.arrayify(bytes).length, - txNums, - hint: "TX_INVALID_SIG", - gasUsed: receipt.gasUsed, - }); - - const txPromise = ( - await TaikoL2.invalidateBlock( - bytes, - 1, // hint: TX_INVALID_SIG - 0, - { gasLimit: 500000 } - ) - ).wait(1); - await txShouldRevertWithCustomError( - txPromise, - provider, - "L2_INVALID_SENDER()" - ); - }); - - it("Bridge", async function () { - const BridgeAlloc = getContractAlloc("Bridge"); - const Bridge = new hre.ethers.Contract( - BridgeAlloc.address, - require("../../artifacts/contracts/bridge/Bridge.sol/Bridge.json").abi, - signer - ); - - const owner = await Bridge.owner(); - - expect(owner).to.be.equal(testConfig.contractOwner); - - const txPromise = ( - await Bridge.processMessage( - { - id: 0, - sender: ethers.Wallet.createRandom().address, - srcChainId: Math.floor(Math.random() * 1024), - destChainId: testConfig.chainId, - owner: ethers.Wallet.createRandom().address, - to: ethers.Wallet.createRandom().address, - refundAddress: ethers.constants.AddressZero, - depositValue: 0, - callValue: 0, - processingFee: 0, - gasLimit: 0, - data: ethers.utils.randomBytes(1024), - memo: "", - }, - ethers.utils.randomBytes(1024), - { - gasLimit: 5000000, - } - ) - ).wait(1); - - await txShouldRevertWithCustomError( - txPromise, - provider, - "B_FORBIDDEN()" - ); - }); - - it("TokenVault", async function () { - const TokenVaultAlloc = getContractAlloc("TokenVault"); - const TokenVault = new hre.ethers.Contract( - TokenVaultAlloc.address, - require("../../artifacts/contracts/bridge/TokenVault.sol/TokenVault.json").abi, - signer - ); - - const owner = await TokenVault.owner(); - - expect(owner).to.be.equal(testConfig.contractOwner); - - const addressManager = new hre.ethers.Contract( - getContractAlloc("AddressManager").address, - require("../../artifacts/contracts/thirdparty/AddressManager.sol/AddressManager.json").abi, - signer - ); - - await expect( - addressManager.setAddress( - "1.token_vault", - getContractAlloc("TokenVault").address - ) - ).not.to.be.reverted; - - await expect( - addressManager.setAddress( - "1.bridge", - getContractAlloc("Bridge").address - ) - ).not.to.be.reverted; - - await expect( - TokenVault.sendEther( - 1, - ethers.Wallet.createRandom().address, - 100, - 0, - ethers.Wallet.createRandom().address, - "memo", - { - gasLimit: 10000000, - value: hre.ethers.utils.parseEther("100"), - } - ) - ).to.emit(TokenVault, "EtherSent"); - }); - - it("EtherVault", async function () { - const EtherVault = new hre.ethers.Contract( - getContractAlloc("EtherVault").address, - require("../../artifacts/contracts/bridge/EtherVault.sol/EtherVault.json").abi, - signer - ); - - const owner = await EtherVault.owner(); - - expect(owner).to.be.equal(testConfig.contractOwner); - - expect( - await EtherVault.isAuthorized( - getContractAlloc("Bridge").address - ) - ).to.be.true; - - expect( - await EtherVault.isAuthorized( - ethers.Wallet.createRandom().address - ) - ).to.be.false; - }); - - it("SignalService", async function () { - const SignalService = new hre.ethers.Contract( - getContractAlloc("SignalService").address, - require("../../artifacts/contracts/signal/SignalService.sol/SignalService.json").abi, - signer - ); - - const owner = await SignalService.owner(); - - expect(owner).to.be.equal(testConfig.contractOwner); - - await expect( - SignalService.sendSignal(ethers.utils.randomBytes(32)) - ).not.to.reverted; - }); - - it("ERC20", async function () { - const ERC20 = new hre.ethers.Contract( - getContractAlloc("TestERC20").address, - require("../../artifacts/contracts/test/thirdparty/TestERC20.sol/TestERC20.json").abi, - signer - ); - - const { - TOKEN_NAME, - TOKEN_SYMBOL, - PREMINT_SEED_ACCOUNT_BALANCE, - } = require("../../utils/generate_genesis/erc20"); - - expect(await ERC20.name()).to.be.equal(TOKEN_NAME); - expect(await ERC20.symbol()).to.be.equal(TOKEN_SYMBOL); - - for (const seedAccount of seedAccounts) { - const accountAddress = Object.keys(seedAccount)[0]; - - expect(await ERC20.balanceOf(accountAddress)).to.be.equal( - PREMINT_SEED_ACCOUNT_BALANCE - ); - } - - expect(await ERC20.totalSupply()).to.be.equal( - seedAccounts.length * PREMINT_SEED_ACCOUNT_BALANCE - ); - - await expect( - ERC20.transfer(ethers.Wallet.createRandom().address, 1) - ).to.emit(ERC20, "Transfer"); - }); - }); - - function getContractAlloc(name: string): any { - for (const address of Object.keys(alloc)) { - if (alloc[address].contractName === name) { - return Object.assign(alloc[address], { address }); - } - } - - throw new Error(`contract alloc: ${name} not found`); - } -}); - -async function generateMaxSizeInvalidTxList(TaikoL2: any) { - const config = await TaikoL2.getConfig(); - - const chainId = config.chainId; - const maxTransactionsPerBlock = config.maxTransactionsPerBlock; - const maxBytesPerTxList = config.maxBytesPerTxList; - - const tx = { - type: 2, - chainId, - nonce: Math.ceil(Math.random() * 1024), - to: ethers.Wallet.createRandom().address, - value: ethers.utils.parseEther("1024"), - maxPriorityFeePerGas: Math.ceil(Math.random() * 1024000), - maxFeePerGas: Math.ceil(Math.random() * 1024000), - gasLimit: Math.ceil(Math.random() * 1024000), - accessList: [], - data: ethers.utils.randomBytes( - Math.floor(maxBytesPerTxList / maxTransactionsPerBlock) - ), - }; - - const invalidSig = { - v: 75, - r: "0xb14e3f5eab11cd2c459b04a91a9db8bd6f5acccfbd830c9693c84f8d21187eef", - s: "0x5cf4b3b2b3957e7016366d180493c2c226ea8ad12aed7faddbc0ce3a6789256d", - }; - - const txs = new Array(maxTransactionsPerBlock).fill(tx); - - let txListBytes = ethers.utils.RLP.encode( - txs.map((tx) => ethers.utils.serializeTransaction(tx, invalidSig)) - ); - - while (ethers.utils.arrayify(txListBytes).length > maxBytesPerTxList) { - txs[0] = Object.assign(txs[0], { data: txs[0].data.slice(10) }); - - txListBytes = ethers.utils.RLP.encode( - txs.map((tx) => ethers.utils.serializeTransaction(tx, invalidSig)) - ); - } - - return [txListBytes, txs.length]; -} - -function sleep(ms: number) { - return new Promise((resolve) => { - setTimeout(resolve, ms); - }); -} diff --git a/packages/protocol/test/genesis/test_config.json b/packages/protocol/test/genesis/test_config.json index 728688ddf02..9c2a914f184 100644 --- a/packages/protocol/test/genesis/test_config.json +++ b/packages/protocol/test/genesis/test_config.json @@ -1,78 +1,36 @@ { - "contractOwner": "0xDf08F82De32B8d460adbE8D72043E3a7e25A3B39", + "contractOwner": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", "chainId": 167, "seedAccounts": [ { - "0xDf08F82De32B8d460adbE8D72043E3a7e25A3B39": 1024 - }, - { - "0x4Ec242468812B6fFC8Be8FF423Af7bd23108d991": 1024 - }, - { - "0x513b9b8bffd6b79056f5250b04b0e863814d6dd6": 1024 - }, - { - "0x79b9f64744c98cd8cc20adb79b6a297e964254cc": 1024 - }, - { - "0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199": 1024 - }, - { - "0xdD2FD4581271e230360230F9337D5c0430Bf44C0": 1024 - }, - { - "0xbDA5747bFD65F08deb54cb465eB87D40e51B197E": 1024 - }, - { - "0x2546BcD3c84621e976D8185a91A922aE77ECEc30": 1024 - }, - { - "0xcd3B766CCDd6AE721141F452C550Ca635964ce71": 1024 - }, - { - "0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097": 1024 - }, - { - "0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec": 1024 - }, - { - "0xFABB0ac9d68B0B445fB7357272Ff202C5651694a": 1024 - }, - { - "0x71bE63f3384f5fb98995898A86B02Fb2426c5788": 1024 - }, - { - "0xBcd4042DE499D14e55001CcbB24a551F3b954096": 1024 + "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": 1024 }, { - "0xa0Ee7A142d267C1f36714E4a8F75612F20a79720": 1024 + "0x70997970C51812dc3A010C7d01b50e0d17dc79C8": 1024 }, { - "0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f": 1024 + "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC": 1024 }, { - "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955": 1024 + "0x90F79bf6EB2c4f870365E785982E1f101E93b906": 1024 }, { - "0x976EA74026E726554dB657fA54763abd0C3a0aa9": 1024 + "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65": 1024 }, { "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc": 1024 }, { - "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65": 1024 - }, - { - "0x90F79bf6EB2c4f870365E785982E1f101E93b906": 1024 + "0x976EA74026E726554dB657fA54763abd0C3a0aa9": 1024 }, { - "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC": 1024 + "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955": 1024 }, { - "0x70997970C51812dc3A010C7d01b50e0d17dc79C8": 1024 + "0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f": 1024 }, { - "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": 1024 + "0xa0Ee7A142d267C1f36714E4a8F75612F20a79720": 1024 } ], "contractAddresses": { @@ -80,9 +38,15 @@ "TokenVault": "0x0000777700000000000000000000000000000002", "EtherVault": "0x0000777700000000000000000000000000000003", "Bridge": "0x0000777700000000000000000000000000000004", - "TestERC20": "0x0000777700000000000000000000000000000005", + "RegularERC20": "0x0000777700000000000000000000000000000005", "AddressManager": "0x0000777700000000000000000000000000000006", "SignalService": "0x0000777700000000000000000000000000000007" }, + "param1559": { + "yscale": "358298803609133338137582400989", + "xscale": "1488514844", + "gasIssuedPerSecond": "12500000", + "gasExcess": "45450000000" + }, "predeployERC20": true } diff --git a/packages/protocol/test/libs/Lib1559Math.test.ts b/packages/protocol/test/libs/Lib1559Math.test.ts deleted file mode 100644 index 29c949fee93..00000000000 --- a/packages/protocol/test/libs/Lib1559Math.test.ts +++ /dev/null @@ -1,119 +0,0 @@ -import { expect } from "chai"; -// import * as log from "../tasks/log" - -const hre = require("hardhat"); -const ethers = hre.ethers; - -describe("Lib1559Math", function () { - let Lib1559Math: any; - before(async function () { - Lib1559Math = await ( - await ethers.getContractFactory("TestLib1559Math") - ).deploy(); - }); - - describe("Testing adjustTarget", function () { - it("testing adjustTarget works as docs intend", async function () { - // 15000000 * ((9) * 15000000 + 10000000) == 2.175E15 - // divide by: - // (10 * 15000000) == 1.5E8 - // == 1.45E7 - const initTarget = 15000000; - const prevMeasurement = 10000000; - const baseTarget = 15000000; - const adjustFactor = 10; - - const result = await Lib1559Math.adjustTarget( - initTarget, - prevMeasurement, - baseTarget, - adjustFactor - ); - expect(result).to.equal(14500000); - }); - - it("testing adjustTarget iterative is increasing", async function () { - // (since prevMeasured > T, nextTarget > prevTarget) as described in Lib1559Math.sol - const initTarget = 10000000; - const prevMeasured = 20000000; - const baseTarget = 15000000; - const adjustFactor = 10; - - let target = await Lib1559Math.adjustTarget( - initTarget, - prevMeasured, - baseTarget, - adjustFactor - ); - const arr: any[] = []; - for (let index = 0; index < 10; index++) { - target = await Lib1559Math.adjustTarget( - target, - prevMeasured, - baseTarget, - adjustFactor - ); - arr.push(target); - // log.info(target) - } - // eslint-disable-next-line eqeqeq - const isAscending = arr.every((x, i) => { - return i === 0 || x >= arr[i - 1]; - }); - expect(isAscending).to.equal(true); - }); - }); - - describe("Testing adjustTargetReverse", function () { - it("testing adjustTargetReverse works as docs intend", async function () { - // (15000000 * 10 * 15000000) == 2.25E15 - // divide by: - // ((9) * 15000000 + 10000000) == 1.45E8 - // == 15,517,241.379310345 - // == 15517241 - const initTarget = 15000000; - const prevMeasurement = 10000000; - const baseTarget = 15000000; - const adjustFactor = 10; - - const result = await Lib1559Math.adjustTargetReverse( - initTarget, - prevMeasurement, - baseTarget, - adjustFactor - ); - expect(result).to.equal(15517241); - }); - - it("testing adjustTargetReverse iterative is decreasing", async function () { - // (since prevTarget >= T, nextTarget < prevTarget) as described in Lib1559Math.sol - const initTarget = 15000000; - const prevMeasurement = 20000000; - const baseTarget = 15000000; - const adjustFactor = 10; - - let target = await Lib1559Math.adjustTargetReverse( - initTarget, - prevMeasurement, - baseTarget, - adjustFactor - ); - const arr: any[] = []; - for (let index = 0; index < 10; index++) { - target = await Lib1559Math.adjustTargetReverse( - target, - prevMeasurement, - baseTarget, - adjustFactor - ); - arr.push(target); - // log.info(target) - } - // eslint-disable-next-line eqeqeq - const isDescending = arr.every((x, i) => { - return i === 0 || x <= arr[i - 1]; - }); - expect(isDescending).to.equal(true); - }); - }); -}); diff --git a/packages/protocol/test/libs/LibAnchorSignature.test.ts b/packages/protocol/test/libs/LibAnchorSignature.test.ts deleted file mode 100644 index ae779a46ad3..00000000000 --- a/packages/protocol/test/libs/LibAnchorSignature.test.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { expect } from "chai"; -import { UnsignedTransaction } from "ethers"; -import { ethers } from "hardhat"; - -describe("LibAnchorSignature", function () { - const unsignedLegacyTx: UnsignedTransaction = { - type: 0, - chainId: Math.floor(Math.random() * 1024), - nonce: Math.floor(Math.random() * 1024), - gasPrice: randomBigInt(), - gasLimit: randomBigInt(), - to: ethers.Wallet.createRandom().address, - value: randomBigInt(), - data: ethers.utils.randomBytes(32), - }; - - it("should calculate correct signature values", async function () { - const libAnchorSignature: any = await ( - await ethers.getContractFactory("TestLibAnchorSignature") - ).deploy(); - - const validKs = [1, 2]; - - for (const k of validKs) { - const hash = ethers.utils.keccak256( - ethers.utils.serializeTransaction(unsignedLegacyTx) - ); - - const [v, r, s] = await libAnchorSignature.signTransaction(hash, k); - - const [addr] = await libAnchorSignature.goldenTouchAddress(); - expect( - await libAnchorSignature.recover( - hash, - v + 27, - ethers.utils.hexZeroPad(r, 32), - ethers.utils.hexZeroPad(s, 32) - ) - ).to.be.equal(addr); - } - }); - - function randomBigInt() { - return ethers.BigNumber.from(ethers.utils.randomBytes(32)); - } -}); diff --git a/packages/protocol/test/libs/LibBlockHeader.test.ts b/packages/protocol/test/libs/LibBlockHeader.test.ts deleted file mode 100644 index ba37b402a56..00000000000 --- a/packages/protocol/test/libs/LibBlockHeader.test.ts +++ /dev/null @@ -1,190 +0,0 @@ -import { expect } from "chai"; -import * as log from "../../tasks/log"; -const hre = require("hardhat"); -const ethers = hre.ethers; -const EBN = ethers.BigNumber; - -describe("LibBlockHeader tests", function () { - let libBlockHeader: any; - - before(async function () { - libBlockHeader = await ( - await ethers.getContractFactory("TestLibBlockHeader") - ).deploy(); - }); - - it("can calculate block header hash correctly", async function () { - const blockHash = - "0xc0528bca43a7316776dddb92380cc3a5d9e717bc948ce71f6f1605d7281a4fe8"; - // block 0xc0528bca43a7316776dddb92380cc3a5d9e717bc948ce71f6f1605d7281a4fe8 on Ethereum mainnet - - const parentHash = - "0xa7881266ca0a344c43cb24175d9dbd243b58d45d6ae6ad71310a273a3d1d3afb"; - - const l2BlockHeader: any = { - parentHash: parentHash, - ommersHash: - "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - beneficiary: "0xea674fdde714fd979de3edf0f56aa9716b898ec8", - stateRoot: - "0xc0dcf937b3f6136dd70a1ad11cc57b040fd410f3c49a5146f20c732895a3cc21", - transactionsRoot: - "0x7273ade6b6ed865a9975ac281da23b90b141a8b607d874d2cd95e65e81336f8e", - receiptsRoot: - "0x74bb61e381e9238a08b169580f3cbf9b8b79d7d5ee708d3e286103eb291dfd08", - logsBloom: - "112d60abc05141f1302248e0f4329627f002380f1413820692911863e7d0871261aa07e90cc01a10c3ce589153570dc2db27b8783aa52bc19a5a4a836722e813190401b4214c3908cb8b468b510c3fe482603b00ca694c806206bf099279919c334541094bd2e085210373c0b064083242d727790d2eecdb2e0b90353b66461050447626366328f0965602e8a9802d25740ad4a33162142b08a1b15292952de423fac45d235622bb0ef3b2d2d4c21690d280a0b948a8a3012136542c1c4d0955a501a022e1a1a4582220d1ae50ba475d88ce0310721a9076702d29a27283e68c2278b93a1c60d8f812069c250042cc3180a8fd54f034a2da9a03098c32b03445" - .match(/.{1,64}/g)! - .map((s) => "0x" + s), - difficulty: EBN.from("0x1aedf59a4bc180"), - height: EBN.from("0xc5ad78"), - gasLimit: EBN.from("0xe4e1c0"), - gasUsed: EBN.from("0xe4a463"), - timestamp: EBN.from("0x6109c56e"), - extraData: "0x65746865726d696e652d75732d7765737431", - mixHash: - "0xf5ba25df1e92e89a09e0b32063b81795f631100801158f5fa733f2ba26843bd0", - nonce: EBN.from("0x738b7e38476abe98"), - baseFeePerGas: 0, - withdrawalsRoot: ethers.constants.HashZero, - }; - - const headerComputed = await libBlockHeader.hashBlockHeader( - l2BlockHeader - ); - log.debug("headerComputed:", headerComputed); - - expect(headerComputed).to.equal(blockHash); - }); - - it("can hash block header which contains hash with leading zeros correctly", async function () { - const blockHash = - "0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177"; - // block 0x6341fd3daf94b748c72ced5a5b26028f2474f5f00d824504e4fa37a75767e177 on Rinkeby testnet - // https://rinkeby.etherscan.io/block/0 - - const blockHeader: any = { - parentHash: ethers.constants.HashZero, - ommersHash: - "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - beneficiary: ethers.constants.AddressZero, - stateRoot: - "0x53580584816f617295ea26c0e17641e0120cab2f0a8ffb53a866fd53aa8e8c2d", - transactionsRoot: - "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - receiptsRoot: - "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - logsBloom: - "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - .match(/.{1,64}/g)! - .map((s) => "0x" + s), - difficulty: EBN.from("0x1"), - height: EBN.from("0x0"), - gasLimit: EBN.from("0x47b760"), - gasUsed: EBN.from("0x0"), - timestamp: EBN.from("0x58ee40ba"), - extraData: - "0x52657370656374206d7920617574686f7269746168207e452e436172746d616e42eb768f2244c8811c63729a21a3569731535f067ffc57839b00206d1ad20c69a1981b489f772031b279182d99e65703f0076e4812653aab85fca0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - mixHash: ethers.constants.HashZero, - nonce: EBN.from("0x0"), - baseFeePerGas: 0, - withdrawalsRoot: ethers.constants.HashZero, - }; - - const headerComputed = await libBlockHeader.hashBlockHeader( - blockHeader - ); - - expect(headerComputed).to.equal(blockHash); - }); - - it("can calculate EIP-1559", async function () { - const blockHash = - "0xb39b05b327d23ca29286fa7e2331d8269cd257cf10a8310b40ebaddf411f191e"; - // block 0xb39b05b327d23ca29286fa7e2331d8269cd257cf10a8310b40ebaddf411f191e on our L1 testnet - - const parentHash = - "0xaafe1871246cecd3ff9b0025f731f227bad9f63525f46e83a6f140b5bd6bca00"; - - const l2BlockHeader: any = { - parentHash: parentHash, - ommersHash: - "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - beneficiary: ethers.constants.AddressZero, - stateRoot: - "0x68a10652e4fc8882bef0ff34ffad17e881cf5eb373dc216d5764b55880df4372", - transactionsRoot: - "0x916f8cf89455136b6f8d091dc95ecc601b1956a936636aa38ec164a1dad15072", - receiptsRoot: - "0x7c82f5a7cc81af5227f325c42cf4cd742ff27da40109962be91903d702625273", - logsBloom: - "00400008000000000000000000000000000000000000000000000010000000000000000000000000000000040000000000000000000000010000000000200100008000000000000000100008002100200000000080200000000400000000000000000000100000000800000000080000000000000000000000000010000104004000000200000000000000000002000000000000000000000000000040000000020000000000000200000000000000000000000000000000418000000000008000000002800000100000000000000000000000400000100000000000000000000010000000004000000000000000000000000000000000000000000000000000" - .match(/.{1,64}/g)! - .map((s) => "0x" + s), - difficulty: EBN.from("0x2"), - height: EBN.from("0x86"), - gasLimit: EBN.from("0xade80c"), - gasUsed: EBN.from("0x430a3"), - timestamp: EBN.from("0x63637091"), - extraData: - "0xd883010b00846765746888676f312e31382e37856c696e757800000000000000497f0b2bfaa230713df47bc5340b8e325171c8e9d1aeb9b26c930b1ce5013b9955046e7a8af532b38a7344a152c5ac816e115ff8c8d65306cfe784154a221ed600", - mixHash: - "0x0000000000000000000000000000000000000000000000000000000000000000", - nonce: "0x0", - baseFeePerGas: EBN.from("0x37"), - withdrawalsRoot: ethers.constants.HashZero, - }; - - const headerComputed = await libBlockHeader.hashBlockHeader( - l2BlockHeader - ); - log.debug("headerComputed:", headerComputed); - - expect(headerComputed).to.equal(blockHash); - }); - - it("can hash post Shanghai fork blocks", async function () { - const blockHash = - "0x0fb703aea6875ca7e78a73552064cf96a0985879c3b1fa27c846d41b1aa4e98e"; - // block 0x0fb703aea6875ca7e78a73552064cf96a0985879c3b1fa27c846d41b1aa4e98e on Sepolia. - - const parentHash = - "0xe122a2cc28199703e3ed6bee61875dc1703aa97c3187d8df507f1f789e363977"; - - const l2BlockHeader: any = { - parentHash: parentHash, - ommersHash: - "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - beneficiary: "0x3826539cbd8d68dcf119e80b994557b4278cec9f", - stateRoot: - "0x2525478f8cd349640e6d1780334e63c56fa0bfb44d89fbd75cb3fcf82d38521c", - transactionsRoot: - "0x97ea65e77b43073c372976694916209b916caa0caef1445d53e9757b9824bdef", - receiptsRoot: - "0xa8b034a217a5d4d4615ee0ed28c4d5275b93888c01c65a98fcdd1aeda6903e1c", - logsBloom: - "00000004000000000000000000100000000100000010001000000000000000000000880000000000000400001100000000000000000000000000000010300000000000000000000000000008000000000000200000000000000000008080000000002000020040000200000400000900000000000000000010000014000000000020024008000000000800000000900000211001000040002000000000000810021000000040400000102000000000040400002000000000000008000000001000008002300000000000000020000008004000000001000110000001000028000014440800010000000000000000000004210000000000400000000000000000" - .match(/.{1,64}/g)! - .map((s) => "0x" + s), - difficulty: EBN.from("0x0"), - height: EBN.from("0x2e93c3"), - gasLimit: EBN.from("0x1c9c380"), - gasUsed: EBN.from("0x44dd61"), - timestamp: EBN.from("0x64097a78"), - extraData: "0x", - mixHash: - "0xa3fedc5083947ffb01157d6a89aa00f0592e14b94da8768ac0e6ded0aa490eb8", - nonce: "0x0000000000000000", - baseFeePerGas: EBN.from("0x7"), - withdrawalsRoot: - "0x0975bba9482fab7591735f9dc8c344078d27abac007086d5dd62ee3a21e3ed29", - }; - - const headerComputed = await libBlockHeader.hashBlockHeader( - l2BlockHeader - ); - log.debug("headerComputed:", headerComputed); - - expect(headerComputed).to.equal(blockHash); - }); -}); diff --git a/packages/protocol/test/libs/LibReceiptDecoder.test.ts b/packages/protocol/test/libs/LibReceiptDecoder.test.ts deleted file mode 100644 index 137df93683f..00000000000 --- a/packages/protocol/test/libs/LibReceiptDecoder.test.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { expect } from "chai"; -// eslint-disable-next-line import/no-named-default -import { default as hre, ethers } from "hardhat"; - -describe("integration:LibReceiptDecoder", function () { - let libReceiptDecoder: any; - - before(async function () { - if (hre.network.name === "hardhat") { - throw new Error( - `hardhat: debug_getRawReceipts - Method not supported` - ); - } - - const baseLibReceiptDecoder = await ( - await ethers.getContractFactory("LibReceiptDecoder") - ).deploy(); - - libReceiptDecoder = await ( - await ethers.getContractFactory("TestLibReceiptDecoder", { - libraries: { - LibReceiptDecoder: baseLibReceiptDecoder.address, - }, - }) - ).deploy(); - }); - - it("should decode RLP encoded transaction receipts", async function () { - for (const txType of [0, 1, 2]) { - const { maxFeePerGas, gasPrice } = - await hre.ethers.provider.getFeeData(); - - let txOptions = {}; - - if (txType === 0) txOptions = { gasPrice }; - else if (txType === 1) txOptions = { gasPrice, accessList: [] }; - else txOptions = { maxFeePerGas }; - - const tx = await libReceiptDecoder.emitTestEvent( - ethers.BigNumber.from(ethers.utils.randomBytes(32)), - ethers.utils.randomBytes(32), - txOptions - ); - - expect(tx.type).to.be.equal(txType); - - const expectedReceipt = await tx.wait(); - - // Retrieves the RLP-encoded raw receipts from node - const [encodedReceipt] = await hre.ethers.provider.send( - "debug_getRawReceipts", - [tx.blockHash] - ); - - const receipt = await libReceiptDecoder.decodeReceipt( - encodedReceipt - ); - - // Status - expect(receipt.status).to.be.equal(expectedReceipt.status); - // CumulativeGasUsed - expect(receipt.cumulativeGasUsed).to.be.equal( - expectedReceipt.cumulativeGasUsed - ); - // LogsBloom - expect( - `0x${receipt.logsBloom.map((s: any) => s.slice(2)).join("")}` - ).to.be.equal(expectedReceipt.logsBloom); - // Logs - expect(receipt.logs.length).to.be.equal( - expectedReceipt.logs.length - ); - for (let i = 0; i < receipt.logs.length; i++) { - const log = receipt.logs[i]; - const expectedLog = expectedReceipt.logs[i]; - - expect(log.contractAddress).to.be.equal(expectedLog.address); - expect(log.topics).to.be.eql(expectedLog.topics); - expect(log.data).to.be.equal(expectedLog.data); - } - } - }); -}); diff --git a/packages/protocol/test/libs/LibTrieProof.test.ts b/packages/protocol/test/libs/LibTrieProof.test.ts deleted file mode 100644 index f42c74be528..00000000000 --- a/packages/protocol/test/libs/LibTrieProof.test.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import RLP from "rlp"; -import { sendMessage } from "../utils/bridge"; -import { Message } from "../utils/message"; -import { EthGetProofResponse } from "../utils/rpc"; -import { deploySignalService } from "../utils/signal"; - -// TODO(roger): this test shall not use any file in contracts/bridge/*.sol -// Instead, it should use the `writeStorageAt` function to manipulate storage -// values then verify the proof. -describe("integration:LibTrieProof", function () { - async function deployLibTrieProofFixture() { - const libTrieProof = await ( - await ethers.getContractFactory("LibTrieProof") - ).deploy(); - - const testLibTrieProof = await ( - await ethers.getContractFactory("TestLibTrieProof", { - libraries: { - LibTrieProof: libTrieProof.address, - }, - }) - ).deploy(); - - const addressManager = await ( - await ethers.getContractFactory("AddressManager") - ).deploy(); - await addressManager.init(); - - const { chainId } = await ethers.provider.getNetwork(); - - const enabledDestChainId = chainId + 1; - - await addressManager.setAddress( - `${chainId}.ether_vault`, - "0xEA3dD11036f668F08940E13e3bcB097C93b09E07" - ); - - await addressManager.setAddress( - `${enabledDestChainId}.bridge`, - "0x0000000000000000000000000000000000000001" // dummy address so chain is "enabled" - ); - - const [owner] = await ethers.getSigners(); - - const { signalService } = await deploySignalService( - owner, - addressManager, - chainId - ); - - const BridgeFactory = await ethers.getContractFactory("Bridge", { - libraries: { - LibTrieProof: testLibTrieProof.address, - }, - }); - - const bridge = await BridgeFactory.deploy(); - - await bridge.init(addressManager.address); - - return { - owner, - testLibTrieProof, - signalService, - bridge, - enabledDestChainId, - }; - } - describe("verify()", function () { - it("verifies", async function () { - const { - owner, - testLibTrieProof, - signalService, - bridge, - enabledDestChainId, - } = await deployLibTrieProofFixture(); - - const { chainId } = await ethers.provider.getNetwork(); - const srcChainId = chainId; - - const message: Message = { - id: 1, - sender: owner.address, - srcChainId: srcChainId, - destChainId: enabledDestChainId, - owner: owner.address, - to: owner.address, - refundAddress: owner.address, - depositValue: 1000, - callValue: 1000, - processingFee: 1000, - gasLimit: 10000, - data: ethers.constants.HashZero, - memo: "", - }; - - const { tx, msgHash } = await sendMessage(bridge, message); - - await tx.wait(); - - expect(msgHash).not.to.be.eq(ethers.constants.HashZero); - - const messageStatus = await bridge.getMessageStatus(msgHash); - - expect(messageStatus).to.be.eq(0); - - const slot = await signalService.getSignalSlot( - bridge.address, - msgHash - ); - - // use this instead of ethers.provider.getBlock() because it doesnt have stateRoot - // in the response - const block: { stateRoot: string; number: string; hash: string } = - await ethers.provider.send("eth_getBlockByNumber", [ - "latest", - false, - ]); - - // get storageValue for the slot - const storageValue = await ethers.provider.getStorageAt( - signalService.address, - slot, - block.number - ); - // make sure it equals 1 so our proof will pass - expect(storageValue).to.be.eq( - "0x0000000000000000000000000000000000000000000000000000000000000001" - ); - // rpc call to get the merkle proof what value is at slot on the bridge contract - const proof: EthGetProofResponse = await ethers.provider.send( - "eth_getProof", - [signalService.address, [slot], block.hash] - ); - - const stateRoot = block.stateRoot; - - // RLP encode the proof together for LibTrieProof to decode - const encodedProof = ethers.utils.defaultAbiCoder.encode( - ["bytes", "bytes"], - [ - RLP.encode(proof.accountProof), - RLP.encode(proof.storageProof[0].proof), - ] - ); - // proof verifies the storageValue at slot is 1 - await testLibTrieProof.verify( - stateRoot, - signalService.address, - slot, - "0x0000000000000000000000000000000000000000000000000000000000000001", - encodedProof - ); - }); - }); -}); diff --git a/packages/protocol/test/libs/LibTxDecoder.test.ts b/packages/protocol/test/libs/LibTxDecoder.test.ts deleted file mode 100644 index 2e70cf3f3ac..00000000000 --- a/packages/protocol/test/libs/LibTxDecoder.test.ts +++ /dev/null @@ -1,220 +0,0 @@ -import { expect } from "chai"; -import { UnsignedTransaction } from "ethers"; -import { ethers } from "hardhat"; -import * as log from "../../tasks/log"; - -describe("LibTxDecoder", function () { - let rlpWriter: any; - let libTxDecoder: any; - let signer0: any; - - const chainId = 167; - - before(async function () { - rlpWriter = await ( - await ethers.getContractFactory("TestLibRLPWriter") - ).deploy(); - libTxDecoder = await ( - await ethers.getContractFactory("LibTxDecoder") - ).deploy(); - - signer0 = (await ethers.getSigners())[0]; - }); - - async function rlpEncodeTxList(txList: string[]) { - const rlpEncodedBytes = []; - for (const tx of txList) { - const txRlp = await rlpWriter.writeBytes(tx); - rlpEncodedBytes.push(txRlp); - } - const txListBytes = await rlpWriter.writeList(rlpEncodedBytes); - return txListBytes; - } - - describe("decodeTxList", function () { - it("should not revert if tx list is empty", async function () { - const txList: string[] = []; - const txListBytes = await rlpEncodeTxList(txList); - - let decoded = await libTxDecoder.callStatic.decodeTxList( - chainId, - txListBytes - ); - - expect(decoded.items.length).to.be.eql(0); - decoded = await libTxDecoder.callStatic.decodeTxList(chainId, []); - expect(decoded.items.length).to.be.eql(0); - }); - - it("should revert with random bytes", async function () { - const randomBytes = ethers.utils.hexlify( - ethers.utils.randomBytes(73) - ); - - await expect( - libTxDecoder.callStatic.decodeTxList(chainId, randomBytes) - ).to.be.reverted; - }); - - it("can decode txList with legacy transaction", async function () { - const txLegacy: UnsignedTransaction = { - nonce: 1, - chainId: chainId, - gasPrice: 11e9, - gasLimit: 123456, - to: ethers.Wallet.createRandom().address, - value: ethers.utils.parseEther("1.23"), - data: ethers.utils.randomBytes(10), - }; - - const signature = await signer0.signMessage("abc123"); - // log.debug('signature: ', signature) - - const txLegacyBytes = ethers.utils.serializeTransaction( - txLegacy, - signature - ); - log.debug("txLegacyBytes: ", txLegacyBytes); - const txListBytes = await rlpEncodeTxList([txLegacyBytes]); - log.debug("txListBytes: ", txListBytes); - - const decodedTxList = await libTxDecoder.callStatic.decodeTxList( - chainId, - txListBytes - ); - // log.debug('decodedT: ', decodedTxList) - expect(decodedTxList.items.length).to.equal(1); - const decodedTx1 = decodedTxList.items[0]; - expect(decodedTx1.gasLimit.toNumber()).to.equal(txLegacy.gasLimit); - }); - - it("can decode txList with 2930 transaction", async function () { - const tx2930: UnsignedTransaction = { - type: 1, - chainId: 12345, - nonce: 123, - gasPrice: 11e9, - gasLimit: 123, - to: ethers.Wallet.createRandom().address, - value: ethers.utils.parseEther("10.23"), - accessList: [], - data: ethers.utils.randomBytes(20), - }; - - const signature = await signer0.signMessage( - tx2930.data?.toString() - ); - log.debug("signature: ", signature); - - const txBytes = ethers.utils.serializeTransaction( - tx2930, - signature - ); - log.debug("txBytes: ", txBytes); - const txListBytes = await rlpEncodeTxList([txBytes]); - log.debug("txListBytes: ", txListBytes); - - const decodedTxList = await libTxDecoder.callStatic.decodeTxList( - chainId, - txListBytes - ); - expect(decodedTxList.items.length).to.equal(1); - const decodedTx1 = decodedTxList.items[0]; - expect(decodedTx1.gasLimit.toNumber()).to.equal(tx2930.gasLimit); - }); - - it("can decode txList with 1559 transaction", async function () { - const tx1559: UnsignedTransaction = { - type: 2, - chainId: 12345, - nonce: 123, - maxPriorityFeePerGas: 2e9, - maxFeePerGas: 22e9, - gasLimit: 1234567, - to: ethers.Wallet.createRandom().address, - value: ethers.utils.parseEther("10.123"), - accessList: [], - data: ethers.utils.randomBytes(20), - }; - - const signature = await signer0.signMessage( - tx1559.data?.toString() - ); - log.debug("signature: ", signature); - - const txBytes = ethers.utils.serializeTransaction( - tx1559, - signature - ); - log.debug("txBytes: ", txBytes); - const txListBytes = await rlpEncodeTxList([txBytes]); - log.debug("txListBytes: ", txListBytes); - - const decodedTxList = await libTxDecoder.callStatic.decodeTxList( - chainId, - txListBytes - ); - expect(decodedTxList.items.length).to.equal(1); - const decodedTx1 = decodedTxList.items[0]; - expect(decodedTx1.gasLimit.toNumber()).to.equal(tx1559.gasLimit); - }); - }); - - it("can decode txList with multiple types", async function () { - const signature = await signer0.signMessage("123456abcdef"); - const txLegacy: UnsignedTransaction = { - nonce: 1, - chainId: chainId, - gasPrice: 11e9, - gasLimit: 123456, - to: ethers.Wallet.createRandom().address, - value: ethers.utils.parseEther("1.23"), - data: ethers.utils.randomBytes(10), - }; - - const tx2930: UnsignedTransaction = { - type: 1, - chainId: 12345, - nonce: 123, - gasPrice: 11e9, - gasLimit: 123, - to: ethers.Wallet.createRandom().address, - value: ethers.utils.parseEther("10.23"), - accessList: [], - data: ethers.utils.randomBytes(20), - }; - - const tx1559: UnsignedTransaction = { - type: 2, - chainId: 12345, - nonce: 123, - maxPriorityFeePerGas: 2e9, - maxFeePerGas: 22e9, - gasLimit: 1234567, - to: ethers.Wallet.createRandom().address, - value: ethers.utils.parseEther("10.123"), - accessList: [], - data: ethers.utils.randomBytes(20), - }; - - const txObjArr = [txLegacy, tx2930, tx1559]; - const txRawBytesArr = []; - for (const txObj of txObjArr) { - const txBytes = ethers.utils.serializeTransaction(txObj, signature); - txRawBytesArr.push(txBytes); - } - const txListBytes = await rlpEncodeTxList(txRawBytesArr); - - const decodedTxList = await libTxDecoder.callStatic.decodeTxList( - chainId, - txListBytes - ); - // log.debug('decodedT: ', decodedTxList) - expect(decodedTxList.items.length).to.equal(txObjArr.length); - for (let i = 0; i < txObjArr.length; i++) { - const txObj = txObjArr[i]; - const decodedTx = decodedTxList.items[i]; - expect(decodedTx.gasLimit.toNumber()).to.equal(txObj.gasLimit); - } - }); -}); diff --git a/packages/protocol/test/libs/LibTxUtils.test.ts b/packages/protocol/test/libs/LibTxUtils.test.ts deleted file mode 100644 index 88285dd5c01..00000000000 --- a/packages/protocol/test/libs/LibTxUtils.test.ts +++ /dev/null @@ -1,200 +0,0 @@ -import { expect } from "chai"; -import { UnsignedTransaction } from "ethers"; -import { ethers } from "hardhat"; - -describe("LibTxUtils", function () { - let libTxUtils: any; - let libRLPWriter: any; - let libRLPReader: any; - let testUnsignedTxs: Array; - const chainId = 167; - - const signingKey = new ethers.utils.SigningKey( - ethers.utils.randomBytes(32) - ); - const signerAddress = new ethers.Wallet(signingKey.privateKey).address; - - before(async function () { - libTxUtils = await ( - await ethers.getContractFactory("TestLibTxUtils") - ).deploy(); - - libRLPReader = await ( - await ethers.getContractFactory("TestLibRLPReader") - ).deploy(); - - libRLPWriter = await ( - await ethers.getContractFactory("TestLibRLPWriter") - ).deploy(); - - const unsignedLegacyTx: UnsignedTransaction = { - type: 0, - // if chainId is defined, ether.js will automatically use EIP-155 - // signature - chainId, - nonce: Math.floor(Math.random() * 1024), - gasPrice: randomBigInt(), - gasLimit: randomBigInt(), - to: ethers.Wallet.createRandom().address, - value: randomBigInt(), - data: ethers.utils.randomBytes(32), - }; - - const unsigned2930Tx: UnsignedTransaction = { - type: 1, - chainId, - nonce: Math.floor(Math.random() * 1024), - gasPrice: randomBigInt(), - gasLimit: randomBigInt(), - to: ethers.Wallet.createRandom().address, - value: randomBigInt(), - accessList: [ - [ - ethers.Wallet.createRandom().address, - [ethers.utils.hexlify(ethers.utils.randomBytes(32))], - ], - ], - data: ethers.utils.randomBytes(32), - }; - - const unsigned1559Tx: UnsignedTransaction = { - type: 2, - chainId, - nonce: Math.floor(Math.random() * 1024), - maxPriorityFeePerGas: randomBigInt(), - maxFeePerGas: randomBigInt(), - gasLimit: randomBigInt(), - to: ethers.Wallet.createRandom().address, - value: randomBigInt(), - accessList: [ - [ - ethers.Wallet.createRandom().address, - [ethers.utils.hexlify(ethers.utils.randomBytes(32))], - ], - ], - data: ethers.utils.randomBytes(32), - }; - - testUnsignedTxs = [unsignedLegacyTx, unsigned2930Tx, unsigned1559Tx]; - }); - - it("should hash the unsigned tx payloads correctly", async function () { - for (const unsignedTx of testUnsignedTxs) { - const expectedHash = ethers.utils.keccak256( - ethers.utils.serializeTransaction(unsignedTx) - ); - - const signature = signingKey.signDigest(expectedHash); - - const hash = await libTxUtils.hashUnsignedTx( - chainId, - - { - txType: unsignedTx.type, - destination: unsignedTx.to, - data: unsignedTx.data, - gasLimit: unsignedTx.gasLimit, - v: signature.v, - r: signature.r, - s: signature.s, - txData: ethers.utils.serializeTransaction( - unsignedTx, - signature - ), - } - ); - - expect(hash).to.be.equal(expectedHash); - } - }); - - it("should verify valid transaction signatures", async function () { - for (const unsignedTx of testUnsignedTxs) { - const expectedHash = ethers.utils.keccak256( - ethers.utils.serializeTransaction(unsignedTx) - ); - const signature = signingKey.signDigest(expectedHash); - - expect( - await libTxUtils.recoverSender(chainId, { - txType: unsignedTx.type, - destination: unsignedTx.to, - data: unsignedTx.data, - gasLimit: unsignedTx.gasLimit, - v: signature.v - 27, - r: signature.r, - s: signature.s, - txData: ethers.utils.serializeTransaction( - unsignedTx, - signature - ), - }) - ).to.be.equal(signerAddress); - } - }); - - it("should verify invalid transaction signatures", async function () { - for (const unsignedTx of testUnsignedTxs) { - const expectedHash = ethers.utils.keccak256( - ethers.utils.serializeTransaction(unsignedTx) - ); - const signature = signingKey.signDigest(expectedHash); - - const invalidSignature = { - v: 75, - r: "0xb14e3f5eab11cd2c459b04a91a9db8bd6f5acccfbd830c9693c84f8d21187eef", - s: "0x5cf4b3b2b3957e7016366d180493c2c226ea8ad12aed7faddbc0ce3a6789256d", - }; - - const txData = await changeSignature( - unsignedTx.type, - ethers.utils.arrayify( - ethers.utils.serializeTransaction(unsignedTx, signature) - ), - invalidSignature - ); - - expect( - await libTxUtils.recoverSender(chainId, { - txType: unsignedTx.type, - destination: unsignedTx.to, - data: unsignedTx.data, - gasLimit: unsignedTx.gasLimit, - v: invalidSignature.v, - r: invalidSignature.r, - s: invalidSignature.s, - txData, - }) - ).to.be.equal(ethers.constants.AddressZero); - } - }); - - async function changeSignature( - type: any, - encoded: Uint8Array, - signature: any - ) { - if (type !== 0) encoded = encoded.slice(1); - - const rlpItemsList = (await libRLPReader.readList(encoded)).slice( - 0, - -3 - ); - - let result = await libRLPWriter.writeList( - rlpItemsList.concat([ - await libRLPWriter.writeUint(signature.v), - await libRLPWriter.writeBytes(signature.r), - await libRLPWriter.writeBytes(signature.s), - ]) - ); - - if (type !== 0) result = ethers.utils.concat([[type], result]); - - return ethers.utils.hexlify(result); - } - - function randomBigInt() { - return ethers.BigNumber.from(ethers.utils.randomBytes(32)); - } -}); diff --git a/packages/protocol/test/libs/LibZKP.test.ts b/packages/protocol/test/libs/LibZKP.test.ts deleted file mode 100644 index 00faddf299a..00000000000 --- a/packages/protocol/test/libs/LibZKP.test.ts +++ /dev/null @@ -1,62 +0,0 @@ -// eslint-disable-next-line import/no-named-default -import { expect } from "chai"; -import hre, { ethers } from "hardhat"; -import * as utils from "../../tasks/utils"; -const testProof = require("../data/test_proof.json"); - -describe("LibZKP", function () { - let libZKP: any; - let plonkVerifierAddress: any; - before(async function () { - libZKP = await (await ethers.getContractFactory("TestLibZKP")).deploy(); - plonkVerifierAddress = await utils.deployBytecode( - hre, - utils.compileYulContract( - "../contracts/libs/yul/PlonkVerifier_10_txs.yulp" - ), - "PlonkVerifier_10_txs" - ); - }); - - it("should successfully verifiy the given zkp and instance", async function () { - const result = await libZKP.verify( - plonkVerifierAddress, - testProof.result.circuit.proof, - ethers.utils.hexConcat([ - testProof.result.circuit.instance[0], - testProof.result.circuit.instance[1], - ]) - ); - - expect(result).to.be.true; - }); - - it("should not successfully verifiy the given zkp and instance when the given contract address is not PlonkVerifier", async function () { - // random EOA address - let result = await libZKP.verify( - ethers.Wallet.createRandom().address, - testProof.result.circuit.proof, - ethers.utils.hexConcat([ - testProof.result.circuit.instance[0], - testProof.result.circuit.instance[1], - ]) - ); - - expect(result).to.be.false; - - // another smart contract - const testERC20 = await utils.deployContract(hre, "TestERC20", {}, [ - 1024, - ]); - result = await libZKP.verify( - testERC20.address, - testProof.result.circuit.proof, - ethers.utils.hexConcat([ - testProof.result.circuit.instance[0], - testProof.result.circuit.instance[1], - ]) - ); - - expect(result).to.be.false; - }); -}); diff --git a/packages/protocol/test/signal/SignalService.integration.test.ts b/packages/protocol/test/signal/SignalService.integration.test.ts deleted file mode 100644 index 0d527a020b2..00000000000 --- a/packages/protocol/test/signal/SignalService.integration.test.ts +++ /dev/null @@ -1,252 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import { TestHeaderSync } from "../../typechain"; -import { deploySignalService, getSignalProof } from "../utils/signal"; -import deployAddressManager from "../utils/addressManager"; -import { getBlockHeader } from "../utils/rpc"; -import { - getDefaultL2Signer, - getL1Provider, - getL2Provider, -} from "../utils/provider"; - -describe("integration:SignalService", function () { - async function deployIntegrationSignalService() { - const [owner] = await ethers.getSigners(); - - const { chainId: srcChainId } = await ethers.provider.getNetwork(); - - // ethereum node - const l1Provider = await getL1Provider(); - - // hardhat node - const l2Provider = await getL2Provider(); - - const l1Signer = await ethers.provider.getSigner(); - - const l2Signer = await getDefaultL2Signer(); - - const l2Network = await l2Provider.getNetwork(); - const enabledDestChainId = l2Network.chainId; - - const addressManager = await deployAddressManager(l1Signer); - const l2AddressManager = await deployAddressManager(l2Signer); - - const { signalService: l1SignalService } = await deploySignalService( - owner, - addressManager, - srcChainId - ); - - const { signalService: l2SignalService } = await deploySignalService( - l2Signer, - l2AddressManager, - enabledDestChainId - ); - - await addressManager.setAddress( - `${enabledDestChainId}.signal_service`, - l2SignalService.address - ); - - await l2AddressManager.setAddress( - `${srcChainId}.signal_service`, - l1SignalService.address - ); - - const headerSync: TestHeaderSync = await ( - await ethers.getContractFactory("TestHeaderSync") - ) - .connect(l2Signer) - .deploy(); - - await l2AddressManager.setAddress( - `${enabledDestChainId}.taiko`, - headerSync.address - ); - - return { - l1Provider, - owner, - l1SignalService, - l2SignalService, - srcChainId, - enabledDestChainId, - headerSync, - }; - } - - it("should revert if srcChainId == block.chainId", async function () { - const { - l1Provider, - owner, - l1SignalService, - l2SignalService, - enabledDestChainId, - headerSync, - } = await deployIntegrationSignalService(); - - const signal = ethers.utils.hexlify(ethers.utils.randomBytes(32)); - - const tx = await l1SignalService.connect(owner).sendSignal(signal); - await tx.wait(); - - const app = owner.address; - const slot = await l1SignalService.getSignalSlot(app, signal); - - const { block, blockHeader } = await getBlockHeader(l1Provider); - await headerSync.setSyncedHeader(block.hash); - - const signalProof = await getSignalProof( - l1Provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - - await expect( - l2SignalService.isSignalReceived( - enabledDestChainId, - app, - signal, - signalProof - ) - ).to.be.revertedWith("B_WRONG_CHAIN_ID()"); - }); - - it("should revert if app == AddressZero", async function () { - const { - l1Provider, - owner, - l1SignalService, - l2SignalService, - srcChainId, - headerSync, - } = await deployIntegrationSignalService(); - - const signal = ethers.utils.hexlify(ethers.utils.randomBytes(32)); - - const tx = await l1SignalService.connect(owner).sendSignal(signal); - await tx.wait(); - - const app = ethers.constants.AddressZero; - const slot = await l1SignalService.getSignalSlot(app, signal); - - const { block, blockHeader } = await getBlockHeader(l1Provider); - await headerSync.setSyncedHeader(block.hash); - - const signalProof = await getSignalProof( - l1Provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - - await expect( - l2SignalService.isSignalReceived( - srcChainId, - app, - signal, - signalProof - ) - ).to.be.revertedWith("B_NULL_APP_ADDR()"); - }); - - it("should revert if signal == HashZero", async function () { - const { - l1Provider, - owner, - l1SignalService, - l2SignalService, - srcChainId, - headerSync, - } = await deployIntegrationSignalService(); - - const signal = ethers.utils.hexlify(ethers.utils.randomBytes(32)); - - const tx = await l1SignalService.connect(owner).sendSignal(signal); - await tx.wait(); - - const app = owner.address; - const slot = await l1SignalService.getSignalSlot(app, signal); - - const { block, blockHeader } = await getBlockHeader(l1Provider); - await headerSync.setSyncedHeader(block.hash); - - const signalProof = await getSignalProof( - l1Provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - - await expect( - l2SignalService.isSignalReceived( - srcChainId, - app, - ethers.constants.HashZero, - signalProof - ) - ).to.be.revertedWith("B_ZERO_SIGNAL()"); - }); - - it.only("should pass and return true", async function () { - const { - l1Provider, - owner, - l1SignalService, - l2SignalService, - srcChainId, - headerSync, - } = await deployIntegrationSignalService(); - - const signal = ethers.utils.hexlify(ethers.utils.randomBytes(32)); - - const tx = await l1SignalService.connect(owner).sendSignal(signal); - await tx.wait(); - - const app = owner.address; - const slot = await l1SignalService.getSignalSlot(app, signal); - - const { block, blockHeader } = await getBlockHeader(l1Provider); - - const failProof = await getSignalProof( - l1Provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - // should return false since header has not been synced yet. - expect( - await l2SignalService.isSignalReceived( - srcChainId, - app, - signal, - failProof - ) - ).to.be.equal(false); - - await headerSync.setSyncedHeader(block.hash); - - const signalProof = await getSignalProof( - l1Provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - - expect( - await l2SignalService.isSignalReceived( - srcChainId, - app, - signal, - signalProof - ) - ).to.be.true; - }); -}); diff --git a/packages/protocol/test/signal/SignalService.test.ts b/packages/protocol/test/signal/SignalService.test.ts deleted file mode 100644 index 2c26fad6fb5..00000000000 --- a/packages/protocol/test/signal/SignalService.test.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import { AddressManager, SignalService } from "../../typechain"; -import { deploySignalService } from "../utils/signal"; -import deployAddressManager from "../utils/addressManager"; -// import {getBlockHeader } from "../utils/rpc"; - -// TODO(roger): convert to integration tests and add a test case for isSignalReceived. -describe("SignalService", function () { - let owner: any; - let addr1: any; - let addr2: any; - let signalService: SignalService; - - before(async () => { - [owner, addr1, addr2] = await ethers.getSigners(); - const { chainId } = await ethers.provider.getNetwork(); - - const addressManager: AddressManager = await deployAddressManager( - owner - ); - - ({ signalService } = await deploySignalService( - owner, - addressManager, - chainId - )); - }); - - describe("getSignalSlot()", function () { - it("should return different slots for same signal from different apps", async () => { - const signal = ethers.utils.keccak256( - ethers.utils.toUtf8Bytes("a random") - ); - const slot1 = await signalService.getSignalSlot( - addr1.address, - signal - ); - const slot2 = signalService.getSignalSlot(addr2.address, signal); - - await expect(slot1).to.be.not.equal(slot2); - }); - it("should return expected slot", async () => { - const want = - "0x9b11525774df15071344c44c56f02418dd56a9050effcc5de3912e88ccf1b95d"; - - const slot = await signalService.getSignalSlot( - "0x2aB7C0ab9AB47fcF370d13058BfEE28f2Ec0940c", - "0xf697cc0b80c778b40a4e863d2d2a723cc707bcdf2ba463bb1cd28aa2c888b229" - ); - - await expect(slot).to.be.equal(want); - }); - }); - - describe("isSignalSent()", function () { - it("should return false for unsent signal and true for sent signal", async () => { - const signal = ethers.utils.keccak256( - ethers.utils.toUtf8Bytes("another random") - ); - let isSent = await signalService.isSignalSent( - addr1.address, - signal - ); - await expect(isSent).to.be.equal(false); - - await signalService.connect(addr1).sendSignal(signal); - isSent = await signalService.isSignalSent(addr1.address, signal); - await expect(isSent).to.be.equal(true); - }); - }); -}); diff --git a/packages/protocol/test/test_integration.sh b/packages/protocol/test/test_integration.sh deleted file mode 100755 index 85cd8840c0e..00000000000 --- a/packages/protocol/test/test_integration.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash - -set -eou pipefail - -DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd) -TEST_NODE_CONTAINER_NAME_L1="test-ethereum-node-l1" -TEST_NODE_CONTAINER_NAME_L2="test-ethereum-node-l2" -TEST_IMPORT_TEST_ACCOUNT_ETH_JOB_NAME="import-test-account-eth" -TEST_ACCOUNT_ADDRESS="0xdf08f82de32b8d460adbe8d72043e3a7e25a3b39" -TEST_ACCOUNT_PRIV_KEY="2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501200" -GETH_NODE_KEY_L1="14d2deec982957c89c56e1dc768a1d47c40398376ed2ba7e2df51eb029e71a83" -GETH_NODE_KEY_L2="141ca39f5c00141ed7f065f5a5c9c9177fdbbe496b9bfc3e3dc7233802dc366c" - -if ! command -v docker &> /dev/null 2>&1; then - echo "ERROR: `docker` command not found" - exit 1 -fi - -if ! docker info > /dev/null 2>&1; then - echo "ERROR: docker daemon isn't running" - exit 1 -fi - -docker rm --force $TEST_NODE_CONTAINER_NAME_L1 \ - $TEST_NODE_CONTAINER_NAME_L2 \ - $TEST_IMPORT_TEST_ACCOUNT_ETH_JOB_NAME &> /dev/null - -# Start a test ethereum node -docker run -d \ - --name $TEST_NODE_CONTAINER_NAME_L1 \ - -p 18545:8545 \ - -e CHAIN_ID="1336" -e PERIOD="0" -e NODE_KEY=$GETH_NODE_KEY_L1 \ - gcr.io/evmchain/clique-geth:latest - -if [[ $TEST_TYPE = "integrationbridge" ]] -then - docker run -d \ - --name $TEST_NODE_CONTAINER_NAME_L2 \ - -p 28545:8545 \ - -e CHAIN_ID="1337" -e PERIOD="0" -e NODE_KEY=$GETH_NODE_KEY_L2 \ - gcr.io/evmchain/clique-geth:latest -else - docker run -d \ - --name $TEST_NODE_CONTAINER_NAME_L2 \ - -p 28545:8545 \ - gcr.io/evmchain/hardhat-node:latest \ - hardhat node --hostname "0.0.0.0" -fi - -function waitTestNode { - echo "Waiting for test node: $1" - # Wait till the test node fully started - RETRIES=120 - i=0 - until curl \ - --silent \ - --fail \ - --noproxy localhost \ - -X POST \ - -H "Content-Type: application/json" \ - -d '{"jsonrpc":"2.0","id":0,"method":"eth_chainId","params":[]}' \ - $1 - do - sleep 1 - if [ $i -eq $RETRIES ]; then - echo 'Timed out waiting for test node' - exit 1 - fi - ((i=i+1)) - done -} - -waitTestNode http://localhost:18545 -waitTestNode http://localhost:28545 - -docker run -d \ - --name $TEST_IMPORT_TEST_ACCOUNT_ETH_JOB_NAME \ - --add-host host.docker.internal:host-gateway \ - ethereum/client-go:latest \ - --exec 'eth.sendTransaction({from: eth.coinbase, to: "'0xdf08f82de32b8d460adbe8d72043e3a7e25a3b39'", value: web3.toWei(1024, "'ether'")})' attach http://host.docker.internal:18545 - -function cleanup { - docker rm --force $TEST_NODE_CONTAINER_NAME_L1 \ - $TEST_NODE_CONTAINER_NAME_L2 \ - $TEST_IMPORT_TEST_ACCOUNT_ETH_JOB_NAME &> /dev/null -} - -trap cleanup EXIT INT KILL ERR - -# Run the tests -PRIVATE_KEY=$TEST_ACCOUNT_PRIV_KEY \ - npx hardhat test --network l1_test --grep "^$TEST_TYPE:" diff --git a/packages/protocol/test/thirdparty/AddressManager.test.ts b/packages/protocol/test/thirdparty/AddressManager.test.ts deleted file mode 100644 index b89759e3d2d..00000000000 --- a/packages/protocol/test/thirdparty/AddressManager.test.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { expect } from "chai"; -import { AddressManager } from "../../typechain"; -import { ethers } from "hardhat"; -import deployAddressManager from "../utils/addressManager"; - -describe("AddressManager", function () { - let owner: any; - let nonOwner: any; - let addressManager: AddressManager; - - before(async function () { - [owner, nonOwner] = await ethers.getSigners(); - }); - - beforeEach(async function () { - addressManager = await deployAddressManager(owner); - }); - - describe("setAddress()", async () => { - it("throws when non-owner calls", async () => { - const name = "fakename"; - await expect( - addressManager - .connect(nonOwner) - .setAddress(name, nonOwner.address) - ).to.be.revertedWith(""); - }); - - it("emits setAddress event", async () => { - const name = "fakename"; - await expect( - addressManager.connect(owner).setAddress(name, nonOwner.address) - ) - .to.emit(addressManager, "AddressSet") - .withArgs(name, nonOwner.address, ethers.constants.AddressZero); - - await expect( - addressManager.connect(owner).setAddress(name, owner.address) - ) - .to.emit(addressManager, "AddressSet") - .withArgs(name, owner.address, nonOwner.address); - - expect(await addressManager.getAddress(name)).to.be.eq( - owner.address - ); - }); - }); -}); diff --git a/packages/protocol/test/thirdparty/LibBlockHeaderDecoder.test.ts b/packages/protocol/test/thirdparty/LibBlockHeaderDecoder.test.ts deleted file mode 100644 index 865dd00a96d..00000000000 --- a/packages/protocol/test/thirdparty/LibBlockHeaderDecoder.test.ts +++ /dev/null @@ -1,169 +0,0 @@ -// eslint-disable-next-line no-unused-vars -import { expect } from "chai"; -import { keccak256 } from "ethers/lib/utils"; -import { LibBlockHeaderDecoder, TestLibBlockHeader } from "../../typechain"; -const hre = require("hardhat"); -const ethers = hre.ethers; -const EBN = ethers.BigNumber; - -describe("LibBlockHeaderDecoder", async function () { - // eslint-disable-next-line no-unused-vars - let blockHeaderDecoder: LibBlockHeaderDecoder; - let hashBlockHeader: TestLibBlockHeader; - - before(async function () { - // Deploying Lib to Link - const blkHdrDcdrLib = await ( - await ethers.getContractFactory("LibBlockHeaderDecoder") - ).deploy(); - - // Deploying Library - blockHeaderDecoder = await ( - await ethers.getContractFactory("TestLibBlockHeaderDecoder", { - libraries: { - LibBlockHeaderDecoder: blkHdrDcdrLib.address, - }, - }) - ).deploy(); - - hashBlockHeader = await ( - await ethers.getContractFactory("TestLibBlockHeader") - ).deploy(); - }); - - it("Decode should return stateRoot and timeStamp", async function () { - const parentHash = - "0xa7881266ca0a344c43cb24175d9dbd243b58d45d6ae6ad71310a273a3d1d3afb"; - const blockHeader: any = { - parentHash: parentHash, - ommersHash: - "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", - beneficiary: "0xea674fdde714fd979de3edf0f56aa9716b898ec8", - stateRoot: - "0xc0dcf937b3f6136dd70a1ad11cc57b040fd410f3c49a5146f20c732895a3cc21", - transactionsRoot: - "0x7273ade6b6ed865a9975ac281da23b90b141a8b607d874d2cd95e65e81336f8e", - receiptsRoot: - "0x74bb61e381e9238a08b169580f3cbf9b8b79d7d5ee708d3e286103eb291dfd08", - logsBloom: - "112d60abc05141f1302248e0f4329627f002380f1413820692911863e7d0871261aa07e90cc01a10c3ce589153570dc2db27b8783aa52bc19a5a4a836722e813190401b4214c3908cb8b468b510c3fe482603b00ca694c806206bf099279919c334541094bd2e085210373c0b064083242d727790d2eecdb2e0b90353b66461050447626366328f0965602e8a9802d25740ad4a33162142b08a1b15292952de423fac45d235622bb0ef3b2d2d4c21690d280a0b948a8a3012136542c1c4d0955a501a022e1a1a4582220d1ae50ba475d88ce0310721a9076702d29a27283e68c2278b93a1c60d8f812069c250042cc3180a8fd54f034a2da9a03098c32b03445" - .match(/.{1,64}/g)! - .map((s) => "0x" + s), - difficulty: EBN.from("0x1aedf59a4bc180"), - height: EBN.from("0xc5ad78"), - gasLimit: EBN.from("0xe4e1c0"), - gasUsed: EBN.from("0xe4a463"), - timestamp: EBN.from("0x6109c56e"), - extraData: "0x65746865726d696e652d75732d7765737431", - mixHash: - "0xf5ba25df1e92e89a09e0b32063b81795f631100801158f5fa733f2ba26843bd0", - nonce: EBN.from("0x738b7e38476abe98"), - baseFeePerGas: 0, - withdrawalsRoot: ethers.constants.HashZero, - }; - - const encodedBlockHeader = await hashBlockHeader.rlpBlockHeader( - blockHeader - ); - - const [_stateRoot, _timeStamp, _transactionsRoot, _receiptsRoot] = - await blockHeaderDecoder.decodeBlockHeader( - encodedBlockHeader, - keccak256(encodedBlockHeader), - false - ); - - expect(_stateRoot).to.equal(blockHeader.stateRoot); - expect(_timeStamp).to.equal(blockHeader.timestamp); - expect(_transactionsRoot).to.equal(blockHeader.transactionsRoot); - expect(_receiptsRoot).to.equal(blockHeader.receiptsRoot); - }); - - it("Same as above, using latest blockHeader", async function () { - const block = await hre.ethers.provider.send("eth_getBlockByNumber", [ - "latest", - false, - ]); - const logsBloom = block.logsBloom.toString().substring(2); - const blockHeader = { - parentHash: block.parentHash, - ommersHash: block.sha3Uncles, - beneficiary: block.miner, - stateRoot: block.stateRoot, - transactionsRoot: block.transactionsRoot, - receiptsRoot: block.receiptsRoot, - logsBloom: logsBloom - .match(/.{1,64}/g)! - .map((s: string) => "0x" + s), - difficulty: block.difficulty, - height: block.number, - gasLimit: block.gasLimit, - gasUsed: block.gasUsed, - timestamp: block.timestamp, - extraData: block.extraData, - mixHash: block.mixHash, - nonce: block.nonce, - baseFeePerGas: 0, - withdrawalsRoot: ethers.constants.HashZero, - }; - const encodedBlockHeader = await hashBlockHeader.rlpBlockHeader( - blockHeader - ); - - const [_stateRoot, _timeStamp, _transactionsRoot, _receiptsRoot] = - await blockHeaderDecoder.decodeBlockHeader( - encodedBlockHeader, - keccak256(encodedBlockHeader), - false - ); - - expect(_stateRoot).to.equal(blockHeader.stateRoot); - expect(_timeStamp).to.equal(blockHeader.timestamp); - expect(_transactionsRoot).to.equal(blockHeader.transactionsRoot); - expect(_receiptsRoot).to.equal(blockHeader.receiptsRoot); - }); - - it("Same as above, using earliest blockHeader", async function () { - const block = await hre.ethers.provider.send("eth_getBlockByNumber", [ - "earliest", - false, - ]); - const logsBloom = block.logsBloom.toString().substring(2); - const blockHeader = { - parentHash: block.parentHash, - ommersHash: block.sha3Uncles, - beneficiary: block.miner, - stateRoot: block.stateRoot, - transactionsRoot: block.transactionsRoot, - receiptsRoot: block.receiptsRoot, - logsBloom: logsBloom - .match(/.{1,64}/g)! - .map((s: string) => "0x" + s), - difficulty: block.difficulty, - height: block.number, - gasLimit: block.gasLimit, - gasUsed: block.gasUsed, - timestamp: block.timestamp, - extraData: block.extraData, - mixHash: block.mixHash, - nonce: block.nonce, - baseFeePerGas: 0, - withdrawalsRoot: ethers.constants.HashZero, - }; - const encodedBlockHeader = await hashBlockHeader.rlpBlockHeader( - blockHeader - ); - - const [_stateRoot, _timeStamp, _transactionsRoot, _receiptsRoot] = - await blockHeaderDecoder.decodeBlockHeader( - encodedBlockHeader, - keccak256(encodedBlockHeader), - false - ); - - expect(_stateRoot).to.equal(blockHeader.stateRoot); - expect(_timeStamp).to.equal(blockHeader.timestamp); - expect(_transactionsRoot).to.equal(blockHeader.transactionsRoot); - expect(_receiptsRoot).to.equal(blockHeader.receiptsRoot); - }); -}); diff --git a/packages/protocol/test/thirdparty/LibMerkleTrie.test.ts b/packages/protocol/test/thirdparty/LibMerkleTrie.test.ts deleted file mode 100644 index c24dead2cbb..00000000000 --- a/packages/protocol/test/thirdparty/LibMerkleTrie.test.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import { BaseTrie } from "merkle-patricia-tree"; -import { TestLibMerkleTrie } from "../../typechain"; -import { MerkleTrie } from "../utils/trie"; -import { randomBytes } from "crypto"; - -describe("LibMerkleTrie", function () { - let libMerkleTrie: TestLibMerkleTrie; - let defaultMerkleTrie: MerkleTrie; - const defaultAmountOfNodes = 32; - const defaultNodeLength = 32; - - beforeEach(async function () { - libMerkleTrie = await ( - await ethers.getContractFactory("TestLibMerkleTrie") - ).deploy(); - - defaultMerkleTrie = new MerkleTrie( - defaultAmountOfNodes, - defaultNodeLength, - () => new BaseTrie() - ); - await defaultMerkleTrie.init(); - }); - - describe("verifyInclusionProof()", () => { - it(`is included, ${defaultAmountOfNodes} bytes, ${defaultNodeLength} node length`, async () => { - for (const n of defaultMerkleTrie.nodes) { - const key = n.key; - const t = await defaultMerkleTrie.makeTest(key); - const isIncluded = await libMerkleTrie.verifyInclusionProof( - key, - t.node.value, - t.proof.proof, - t.root.root - ); - expect(isIncluded).to.be.true; - } - }); - }); - - describe("get()", () => { - it(`is included`, async () => { - const key = defaultMerkleTrie.nodes[0].key; - const t = await defaultMerkleTrie.makeTest(key); - const isIncluded = await libMerkleTrie.get( - key, - t.proof.proof, - t.root.root - ); - - expect(isIncluded[0]).to.be.true; - expect(isIncluded[1]).to.be.eq( - ethers.utils.hexlify(defaultMerkleTrie.nodes[0].value) - ); - }); - it(`is not included`, async () => { - const t = await defaultMerkleTrie.makeTest( - defaultMerkleTrie.nodes[0].key - ); - - const key = randomBytes(defaultNodeLength); - const isIncluded = await libMerkleTrie.get( - key, - t.proof.proof, - t.root.root - ); - - expect(isIncluded[0]).to.be.false; - expect(isIncluded[1]).to.be.eq("0x"); - }); - }); -}); diff --git a/packages/protocol/test/thirdparty/LibSecureMerkleTrie.test.ts b/packages/protocol/test/thirdparty/LibSecureMerkleTrie.test.ts deleted file mode 100644 index 80b1e1671ee..00000000000 --- a/packages/protocol/test/thirdparty/LibSecureMerkleTrie.test.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { expect } from "chai"; -import { randomBytes } from "crypto"; -import { ethers } from "hardhat"; -import { SecureTrie } from "merkle-patricia-tree"; -import { TestLibSecureMerkleTrie } from "../../typechain"; -import { MerkleTrie } from "../utils/trie"; - -describe("LibSecureMerkleTrie", function () { - let libSecureMerkleTrie: TestLibSecureMerkleTrie; - let defaultSecureMerkleTrie: MerkleTrie; - const defaultAmountOfNodes = 32; - const defaultNodeLength = 32; - - beforeEach(async function () { - libSecureMerkleTrie = await ( - await ethers.getContractFactory("TestLibSecureMerkleTrie") - ).deploy(); - - defaultSecureMerkleTrie = new MerkleTrie( - defaultAmountOfNodes, - defaultNodeLength, - () => new SecureTrie() - ); - await defaultSecureMerkleTrie.init(); - }); - - describe("verifyInclusionProof()", () => { - it(`is included, ${defaultAmountOfNodes} bytes, ${defaultNodeLength} node length`, async () => { - const n = defaultSecureMerkleTrie.nodes[0]; - const key = n.key; - const t = await defaultSecureMerkleTrie.makeTest(key); - const isIncluded = await libSecureMerkleTrie.verifyInclusionProof( - key, - t.node.value, - t.proof.proof, - t.root.root - ); - expect(isIncluded).to.be.true; - }); - }); - - describe("get()", () => { - it(`is included`, async () => { - const key = defaultSecureMerkleTrie.nodes[0].key; - const t = await defaultSecureMerkleTrie.makeTest(key); - const isIncluded = await libSecureMerkleTrie.get( - key, - t.proof.proof, - t.root.root - ); - - expect(isIncluded[0]).to.be.true; - expect(isIncluded[1]).to.be.eq( - ethers.utils.hexlify(defaultSecureMerkleTrie.nodes[0].value) - ); - }); - - it(`is not included`, async () => { - const t = await defaultSecureMerkleTrie.makeTest( - defaultSecureMerkleTrie.nodes[0].key - ); - - const key = randomBytes(defaultNodeLength); - const isIncluded = await libSecureMerkleTrie.get( - key, - t.proof.proof, - t.root.root - ); - - expect(isIncluded[0]).to.be.false; - expect(isIncluded[1]).to.be.eq("0x"); - }); - }); -}); diff --git a/packages/protocol/test/tokenVault/TokenVault.test.ts b/packages/protocol/test/tokenVault/TokenVault.test.ts deleted file mode 100644 index 7de260f6f04..00000000000 --- a/packages/protocol/test/tokenVault/TokenVault.test.ts +++ /dev/null @@ -1,367 +0,0 @@ -/* eslint-disable camelcase */ -import { expect } from "chai"; -import { - AddressManager, - AddressManager__factory, - BridgedERC20, - BridgedERC20__factory, - TestMessageSender__factory, - TokenVault, - TokenVault__factory, -} from "../../typechain"; -import { ethers } from "hardhat"; -import { BigNumber, BigNumberish } from "ethers"; -import { MockContract, smock } from "@defi-wonderland/smock"; - -type CanonicalERC20 = { - chainId: BigNumberish; - addr: string; - decimals: BigNumberish; - symbol: string; - name: string; -}; - -const weth: CanonicalERC20 = { - chainId: 5, - addr: "0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6", - decimals: 18, - symbol: "WETH", - name: "Wrapped Ether", -}; - -describe("TokenVault", function () { - let owner: any; - let nonOwner: any; - let L1TokenVault: MockContract; - let tokenVaultAddressManager: AddressManager; - let destChainTokenVault: TokenVault; - const defaultProcessingFee = 10; - const destChainId = 167001; - let bridgedToken: MockContract; - - before(async function () { - [owner, nonOwner] = await ethers.getSigners(); - }); - - beforeEach(async function () { - const network = await ethers.provider.getNetwork(); - const addressManagerFactory: AddressManager__factory = - await ethers.getContractFactory("AddressManager"); - const tokenVaultFactory: TokenVault__factory = - await ethers.getContractFactory("TokenVault"); - - tokenVaultAddressManager = await addressManagerFactory.deploy(); - await tokenVaultAddressManager.init(); - - const mockTokenVaultFactory = await smock.mock( - "TokenVault" - ); - - L1TokenVault = await mockTokenVaultFactory.connect(owner).deploy(); - await L1TokenVault.init(tokenVaultAddressManager.address); - - destChainTokenVault = await tokenVaultFactory.connect(owner).deploy(); - await destChainTokenVault.init(tokenVaultAddressManager.address); - - const TestMessageSenderFactory: TestMessageSender__factory = - await ethers.getContractFactory("TestMessageSender"); - - const testMessageSender = await TestMessageSenderFactory.deploy(); - const testMessageSender2 = await TestMessageSenderFactory.deploy(); - - await tokenVaultAddressManager.setAddress( - `${network.chainId}.bridge`, - testMessageSender.address - ); - await tokenVaultAddressManager.setAddress( - `${destChainId}.bridge`, - testMessageSender2.address - ); - await tokenVaultAddressManager.setAddress( - `${network.chainId}.token_vault`, - L1TokenVault.address - ); - await tokenVaultAddressManager.setAddress( - `${destChainId}.token_vault`, - destChainTokenVault.address - ); - - const bridgedTokenFactory = await smock.mock( - "BridgedERC20" - ); - - bridgedToken = await bridgedTokenFactory.deploy(); - - await bridgedToken.init( - tokenVaultAddressManager.address, - weth.addr, - destChainId, - 18, - weth.symbol, - weth.name - ); - - await bridgedToken.setVariable("_totalSupply", 1000000); - await bridgedToken.approve(owner.address, 1000); - await bridgedToken.setVariable("_balances", { [owner.address]: 10 }); - }); - - describe("receiveERC20()", async () => { - it("throws when named 'bridge' is not the caller", async () => { - const amount = BigNumber.from(1); - - await expect( - L1TokenVault.receiveERC20( - weth, - owner.address, - nonOwner.address, - amount - ) - ).to.be.revertedWith("RESOLVER_DENIED()"); - }); - }); - - describe("sendEther()", async () => { - it("throws when msg.value is 0", async () => { - await expect( - L1TokenVault.sendEther( - destChainId, - owner.address, - 10000, - defaultProcessingFee, - owner.address, - "" - ) - ).to.be.revertedWith("TOKENVAULT_INVALID_VALUE()"); - }); - - it("throws when msg.value - processing fee is 0", async () => { - await expect( - L1TokenVault.sendEther( - destChainId, - owner.address, - 10000, - defaultProcessingFee, - owner.address, - "", - { - value: defaultProcessingFee, - } - ) - ).to.be.revertedWith("TOKENVAULT_INVALID_VALUE()"); - }); - - it("throws when msg.value is < processingFee", async () => { - await expect( - L1TokenVault.sendEther( - destChainId, - owner.address, - 10000, - defaultProcessingFee, - owner.address, - "", - { - value: defaultProcessingFee - 1, - } - ) - ).to.be.revertedWith("TOKENVAULT_INVALID_VALUE()"); - }); - - it("throws when to is 0", async () => { - await expect( - L1TokenVault.sendEther( - destChainId, - ethers.constants.AddressZero, - 10000, - defaultProcessingFee, - owner.address, - "", - { - value: defaultProcessingFee - 1, - } - ) - ).to.be.revertedWith("TOKENVAULT_INVALID_TO()"); - }); - - it("succeeds with processingFee", async () => { - const depositValue = 1000; - - const msgHash = - "0x3fd54831f488a22b28398de0c567a3b064b937f54f81739ae9bd545967f3abab"; - - await expect( - L1TokenVault.sendEther( - destChainId, - owner.address, - 10000, - defaultProcessingFee, - owner.address, - "", - { - value: depositValue, - } - ) - ) - .to.emit(L1TokenVault, "EtherSent") - .withArgs( - msgHash, - owner.address, - owner.address, - destChainId, - depositValue - defaultProcessingFee - ); - }); - - it("succeeds with 0 processingFee", async () => { - const depositValue = 1000; - - const msgHash = - "0x3fd54831f488a22b28398de0c567a3b064b937f54f81739ae9bd545967f3abab"; - - await expect( - L1TokenVault.sendEther( - destChainId, - owner.address, - 10000, - defaultProcessingFee, - owner.address, - "", - { - value: depositValue, - } - ) - ) - .to.emit(L1TokenVault, "EtherSent") - .withArgs( - msgHash, - owner.address, - owner.address, - destChainId, - depositValue - defaultProcessingFee - ); - }); - }); - - describe("sendERC20()", async () => { - it("should throw if to == address(0)", async function () { - await expect( - L1TokenVault.sendERC20( - destChainId, - ethers.constants.AddressZero, - weth.addr, - 1, - 20000000, - 1000, - owner.address, - "", - { - value: 1, - } - ) - ).to.be.revertedWith("TOKENVAULT_INVALID_TO()"); - }); - - it("should throw if to == destChainId.token_vault", async function () { - await expect( - L1TokenVault.sendERC20( - destChainId, - destChainTokenVault.address, - weth.addr, - 1, - 20000000, - 1000, - owner.address, - "", - { - value: 1, - } - ) - ).to.be.revertedWith("TOKENVAULT_INVALID_TO()"); - }); - - it("should throw if token == address(0)", async function () { - await expect( - L1TokenVault.sendERC20( - destChainId, - nonOwner.address, - ethers.constants.AddressZero, - 1, - 20000000, - 1000, - owner.address, - "", - { - value: 1, - } - ) - ).to.be.revertedWith("TOKENVAULT_INVALID_TOKEN()"); - }); - - it("should throw if amount <= 0", async function () { - await expect( - L1TokenVault.sendERC20( - destChainId, - nonOwner.address, - weth.addr, - 0, - 20000000, - 1000, - owner.address, - "", - { - value: 1, - } - ) - ).to.be.revertedWith("TOKENVAULT_INVALID_AMOUNT()"); - }); - - it("should throw if isBridgedToken, and canonicalToken.addr == address(0)", async function () { - await L1TokenVault.setVariable("isBridgedToken", { - [bridgedToken.address]: true, - }); - // don't need to manually set bridgedToCanonical since default value is addressZero - - await expect( - L1TokenVault.connect(owner).sendERC20( - destChainId, - nonOwner.address, - bridgedToken.address, - 1, - 20000000, - 1000, - owner.address, - "", - { - value: 1, - } - ) - ).to.be.revertedWith("TOKENVAULT_CANONICAL_TOKEN_NOT_FOUND()"); - }); - - it("should pass and emit ERC20Sent Event", async function () { - await L1TokenVault.setVariable("isBridgedToken", { - [bridgedToken.address]: true, - }); - - await L1TokenVault.setVariable("bridgedToCanonical", { - [bridgedToken.address]: weth, - }); - - await expect( - L1TokenVault.connect(owner).sendERC20( - destChainId, - nonOwner.address, - bridgedToken.address, - 1, - 20000000, - 1000, - owner.address, - "", - { - value: 1000, - } - ) - ).to.emit(L1TokenVault, "ERC20Sent"); - }); - }); -}); diff --git a/packages/protocol/test/tokenomics/blockFee.test.ts b/packages/protocol/test/tokenomics/blockFee.test.ts deleted file mode 100644 index e9b1451fe4a..00000000000 --- a/packages/protocol/test/tokenomics/blockFee.test.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { expect } from "chai"; -import { SimpleChannel } from "channel-ts"; -import { BigNumber, ethers } from "ethers"; -import { AddressManager, TaikoL1 } from "../../typechain"; -import { TestTaikoToken } from "../../typechain/TestTaikoToken"; -import blockListener from "../utils/blockListener"; -import { onNewL2Block } from "../utils/onNewL2Block"; -import Proposer from "../utils/proposer"; - -import { initIntegrationFixture } from "../utils/fixture"; -import sleep from "../utils/sleep"; -import { deployTaikoL1 } from "../utils/taikoL1"; - -describe("tokenomics: blockFee", function () { - let taikoL1: TaikoL1; - let l2Provider: ethers.providers.JsonRpcProvider; - let proposerSigner: any; - let genesisHeight: number; - let genesisHash: string; - let taikoTokenL1: TestTaikoToken; - let l1AddressManager: AddressManager; - let interval: any; - let chan: SimpleChannel; - /* eslint-disable-next-line */ - let config: Awaited>; - let proposer: Proposer; - - beforeEach(async () => { - ({ - taikoL1, - l2Provider, - proposerSigner, - genesisHeight, - genesisHash, - taikoTokenL1, - l1AddressManager, - interval, - chan, - config, - proposer, - } = await initIntegrationFixture(true, true)); - }); - - afterEach(() => clearInterval(interval)); - - it("expects getBlockFee to return the initial feeBase at time of contract deployment", async function () { - // deploy a new instance of TaikoL1 so no blocks have passed. - const tL1 = await deployTaikoL1(l1AddressManager, genesisHash, true); - const blockFee = await tL1.getBlockFee(); - expect(blockFee).to.be.eq(0); - }); - - it("block fee should increase as the halving period passes, while no blocks are proposed", async function () { - const iterations: number = 5; - const period: number = config.bootstrapDiscountHalvingPeriod - .mul(1000) - .toNumber(); - - let lastBlockFee: BigNumber = await taikoL1.getBlockFee(); - - for (let i = 0; i < iterations; i++) { - await sleep(period); - const blockFee = await taikoL1.getBlockFee(); - expect(blockFee).to.be.gt(lastBlockFee); - lastBlockFee = blockFee; - } - }); - - it( - "proposes blocks on interval, proposer's balance for TkoToken should decrease as it pays proposer fee, " + - "proofReward should increase since more slots are used and " + - "no proofs have been submitted", - async function () { - // get the initial tkoBalance, which should decrease every block proposal - let lastProposerBalance = await taikoTokenL1.balanceOf( - await proposerSigner.getAddress() - ); - - let lastProofReward = BigNumber.from(0); - - // we want to wait for enough blocks until the blockFee is no longer 0, then run our - // tests. - while ((await taikoL1.getBlockFee()).eq(0)) { - await sleep(500); - } - - l2Provider.on("block", blockListener(chan, genesisHeight)); - /* eslint-disable-next-line */ - for await (const blockNumber of chan) { - if ( - blockNumber > - genesisHeight + (config.maxNumBlocks.toNumber() - 1) - ) { - break; - } - const { newProposerBalance, newProofReward } = - await onNewL2Block( - l2Provider, - blockNumber, - proposer, - taikoL1, - proposerSigner, - taikoTokenL1 - ); - - console.log("lastProposerBalance", lastProposerBalance); - console.log("newProposerBalance", newProposerBalance); - - expect(newProposerBalance).to.be.lt(lastProposerBalance); - - console.log("lastProofReward", lastProofReward); - console.log("newProofReward", newProofReward); - expect(newProofReward).to.be.gt(lastProofReward); - - lastProofReward = newProofReward; - lastProposerBalance = newProposerBalance; - } - } - ); -}); diff --git a/packages/protocol/test/tokenomics/proofReward.test.ts b/packages/protocol/test/tokenomics/proofReward.test.ts deleted file mode 100644 index fbd200392db..00000000000 --- a/packages/protocol/test/tokenomics/proofReward.test.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { expect } from "chai"; -import { SimpleChannel } from "channel-ts"; -import { ethers } from "ethers"; -import { TaikoL1 } from "../../typechain"; -import { TestTaikoToken } from "../../typechain/TestTaikoToken"; -import blockListener from "../utils/blockListener"; -import { initIntegrationFixture } from "../utils/fixture"; -import Proposer from "../utils/proposer"; -import Prover from "../utils/prover"; -import { seedTko } from "../utils/seed"; -import { commitProposeProveAndVerify } from "../utils/verify"; - -describe("tokenomics: proofReward", function () { - let taikoL1: TaikoL1; - let l2Provider: ethers.providers.JsonRpcProvider; - let l1Signer: any; - let genesisHeight: number; - let taikoTokenL1: TestTaikoToken; - let interval: any; - let chan: SimpleChannel; - let proposer: Proposer; - let prover: Prover; - - /* eslint-disable-next-line */ - let config: Awaited>; - - beforeEach(async () => { - ({ - taikoL1, - l2Provider, - l1Signer, - genesisHeight, - taikoTokenL1, - interval, - chan, - config, - proposer, - prover, - } = await initIntegrationFixture(true, true)); - }); - - afterEach(() => { - clearInterval(interval); - l2Provider.off("block"); - chan.close(); - }); - - it(`single prover, single proposer. - propose blocks, wait til maxNumBlocks is filled. - proverReward should decline should increase as blocks are proved then verified. - the provers TKO balance should increase as the blocks are verified and - they receive the proofReward. - the proposer should receive a refund on his deposit because he holds a tkoBalance > 0 at time of verification.`, async function () { - // prover needs TKO or their reward will be cut down to 1 wei. - - await seedTko([prover], taikoTokenL1.connect(l1Signer)); - - l2Provider.on("block", blockListener(chan, genesisHeight)); - - /* eslint-disable-next-line */ - for await (const blockNumber of chan) { - if ( - blockNumber > - genesisHeight + (config.maxNumBlocks.toNumber() - 1) - ) { - break; - } - const balanceBefore = await taikoTokenL1.balanceOf( - await prover.getSigner().address - ); - - const { provedEvent, proposedBlock, verifyEvent } = - await commitProposeProveAndVerify( - taikoL1, - l2Provider, - blockNumber, - proposer, - taikoTokenL1, - prover - ); - - expect(verifyEvent).not.to.be.undefined; - - const proofReward = await taikoL1.getProofReward( - provedEvent.args.provenAt, - proposedBlock.proposedAt - ); - - // proof reward can be 0. make sure there is a proof reward first - if (proofReward.gt(0)) { - const rewardBalance = await taikoL1.getRewardBalance( - await prover.getSigner().getAddress() - ); - - expect(rewardBalance.gt(0)).to.be.eq(true); - - // rewardBalance can be 1, and withdrawBalance only withdrawals is balance > 1. - // make sure we have a valid reward balance waiting to be withdrawn - // before comparing balances. - if (rewardBalance.gt(1)) { - let balanceAfter = await taikoTokenL1.balanceOf( - await prover.getSigner().address - ); - - expect(balanceAfter).to.be.eq(balanceBefore); - - const tx = await taikoL1 - .connect(prover.getSigner()) - .withdrawBalance(); - await tx.wait(); - - balanceAfter = await taikoTokenL1.balanceOf( - await prover.getSigner().address - ); - - expect(balanceAfter).to.be.gt(balanceBefore); - } - } - } - }); -}); diff --git a/packages/protocol/test/utils/addressManager.ts b/packages/protocol/test/utils/addressManager.ts deleted file mode 100644 index 0b0ad048c8a..00000000000 --- a/packages/protocol/test/utils/addressManager.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ethers } from "ethers"; -import { ethers as hardhatEthers } from "hardhat"; -import { AddressManager } from "../../typechain"; - -const deployAddressManager = async (signer: ethers.Signer) => { - const addressManager: AddressManager = await ( - await hardhatEthers.getContractFactory("AddressManager") - ) - .connect(signer) - .deploy(); - await (await addressManager.init()).wait(1); - return addressManager; -}; - -export default deployAddressManager; diff --git a/packages/protocol/test/utils/array.ts b/packages/protocol/test/utils/array.ts deleted file mode 100644 index 3455de9d2f8..00000000000 --- a/packages/protocol/test/utils/array.ts +++ /dev/null @@ -1,5 +0,0 @@ -function pickRandomElement(arr: T[]): T { - return arr[Math.floor(Math.random() * arr.length)]; -} - -export { pickRandomElement }; diff --git a/packages/protocol/test/utils/blockListener.ts b/packages/protocol/test/utils/blockListener.ts deleted file mode 100644 index ab33abca642..00000000000 --- a/packages/protocol/test/utils/blockListener.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { SimpleChannel } from "channel-ts"; - -// blockListener should be called as follows: -// `l2Provider.on("block", blockListener(chan, genesisHeight)` -// it will send incoming blockNumbers, generated from the l2 provider on a new block, -// through a Golang-style channel, which can then be waited on like such: -// for await (const blockNumber of chan) -// so we can then run a commit, propose, prove, and verify flow in our test cases -// in the main javascript event loop, instead of in the event handler of the l2Provider -// itself. - -const blockListener = function ( - chan: SimpleChannel, - genesisHeight: number -) { - let notFirstEvent = false; - - return function (blockNumber: number) { - if (blockNumber <= genesisHeight) return; - // Sometimes the first block number will be greater than start height, - // we need to fill the gap manually. - if (!notFirstEvent) { - if (blockNumber > genesisHeight) { - for (let i = genesisHeight + 1; i < blockNumber; i++) { - chan.send(i); - } - } - notFirstEvent = true; - } - chan.send(blockNumber); - }; -}; - -export default blockListener; diff --git a/packages/protocol/test/utils/block_metadata.ts b/packages/protocol/test/utils/block_metadata.ts deleted file mode 100644 index c1ee3b2865a..00000000000 --- a/packages/protocol/test/utils/block_metadata.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { BigNumber, BigNumberish } from "ethers"; - -type BlockMetadata = { - id: number; - l1Height: number; - l1Hash: string; - beneficiary: string; - txListHash: string; - mixHash: string; - extraData: string; - gasLimit: BigNumberish; - timestamp: number; - commitSlot: number; - commitHeight: number; -}; - -type ForkChoice = { - provenAt: BigNumber; - provers: string[]; - blockHash: string; -}; - -type BlockInfo = { - proposedAt: number; - provenAt: number; - id: number; - parentHash: string; - blockHash: string; - forkChoice: ForkChoice; - deposit: BigNumber; - proposer: string; -}; - -export { BlockMetadata, ForkChoice, BlockInfo }; diff --git a/packages/protocol/test/utils/bridge.ts b/packages/protocol/test/utils/bridge.ts deleted file mode 100644 index e8adcd0298f..00000000000 --- a/packages/protocol/test/utils/bridge.ts +++ /dev/null @@ -1,156 +0,0 @@ -import { BigNumber, ethers, Signer } from "ethers"; -import { ethers as hardhatEthers } from "hardhat"; -import { - AddressManager, - Bridge, - SignalService, - EtherVault, - TestHeaderSync, - LibTrieProof, -} from "../../typechain"; -import { MessageStatusChangedEvent } from "../../typechain/LibBridgeStatus"; -import { Message } from "./message"; -import { Block, BlockHeader, getBlockHeader } from "./rpc"; -import { getSignalProof } from "./signal"; - -async function deployBridge( - signer: Signer, - addressManager: AddressManager, - chainId: number -): Promise<{ bridge: Bridge; etherVault: EtherVault }> { - const libTrieProof: LibTrieProof = await ( - await hardhatEthers.getContractFactory("LibTrieProof") - ) - .connect(signer) - .deploy(); - - const BridgeFactory = await hardhatEthers.getContractFactory("Bridge", { - libraries: { - LibTrieProof: libTrieProof.address, - }, - }); - - const bridge: Bridge = await BridgeFactory.connect(signer).deploy(); - - await bridge.connect(signer).init(addressManager.address); - - const etherVault: EtherVault = await ( - await hardhatEthers.getContractFactory("EtherVault") - ) - .connect(signer) - .deploy(); - - await etherVault.connect(signer).init(addressManager.address); - - await etherVault.connect(signer).authorize(bridge.address, true); - - await etherVault.connect(signer).authorize(await signer.getAddress(), true); - - await addressManager.setAddress( - `${chainId}.ether_vault`, - etherVault.address - ); - - await signer.sendTransaction({ - to: etherVault.address, - value: BigNumber.from(100000000), - gasLimit: 1000000, - }); - - await addressManager.setAddress(`${chainId}.bridge`, bridge.address); - - return { bridge, etherVault }; -} - -async function sendMessage( - bridge: Bridge, - m: Message -): Promise<{ - bridge: Bridge; - msgHash: string; - messageSentEvent: any; - message: Message; - tx: ethers.ContractTransaction; -}> { - const expectedAmount = m.depositValue + m.callValue + m.processingFee; - - const tx = await bridge.sendMessage(m, { - value: expectedAmount, - }); - - const receipt = await tx.wait(); - - const [messageSentEvent] = receipt.events as any as Event[]; - - const { msgHash, message } = (messageSentEvent as any).args; - - return { bridge, messageSentEvent, msgHash, message, tx }; -} - -// Process a L1-to-L1 message -async function processMessage( - l1SignalService: SignalService, - l1Bridge: Bridge, - l2Bridge: Bridge, - signal: string, - provider: ethers.providers.JsonRpcProvider, - headerSync: TestHeaderSync, - message: Message -): Promise<{ - tx: ethers.ContractTransaction; - signalProof: string; - block: Block; - blockHeader: BlockHeader; - messageStatusChangedEvent: MessageStatusChangedEvent; -}> { - const sender = l1Bridge.address; - - const slot = await l1SignalService.getSignalSlot(sender, signal); - - const { block, blockHeader } = await getBlockHeader(provider); - - await headerSync.setSyncedHeader(block.hash); - - const signalProof = await getSignalProof( - provider, - l1SignalService.address, - slot, - block.number, - blockHeader - ); - - const tx = await l2Bridge.processMessage(message, signalProof); - const receipt = await tx.wait(1); - const messageStatusChangedEvent = (receipt.events || []).find( - (e) => e.event === "MessageStatusChanged" - ) as any as MessageStatusChangedEvent; - return { tx, signalProof, block, blockHeader, messageStatusChangedEvent }; -} - -async function sendAndProcessMessage( - provider: ethers.providers.JsonRpcProvider, - headerSync: TestHeaderSync, - m: Message, - l1SignalService: SignalService, - l1Bridge: Bridge, - l2Bridge: Bridge -): Promise<{ - tx: ethers.ContractTransaction; - message: Message; - msgHash: string; - signalProof: string; -}> { - const { msgHash, message } = await sendMessage(l1Bridge, m); - const { tx, signalProof } = await processMessage( - l1SignalService, - l1Bridge, - l2Bridge, - msgHash, - provider, - headerSync, - message - ); - return { tx, msgHash, message, signalProof }; -} - -export { deployBridge, sendMessage, processMessage, sendAndProcessMessage }; diff --git a/packages/protocol/test/utils/bytes.ts b/packages/protocol/test/utils/bytes.ts deleted file mode 100644 index 50331a1d3a3..00000000000 --- a/packages/protocol/test/utils/bytes.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ethers } from "hardhat"; - -function randomBytes32() { - return ethers.utils.hexlify(ethers.utils.randomBytes(32)); -} - -export { randomBytes32 }; diff --git a/packages/protocol/test/utils/commit.ts b/packages/protocol/test/utils/commit.ts deleted file mode 100644 index 417faf9da07..00000000000 --- a/packages/protocol/test/utils/commit.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { ethers } from "ethers"; -import RLP from "rlp"; -import { TaikoL1 } from "../../typechain"; -import { BlockProposedEvent } from "../../typechain/LibProposing"; -import { BlockCommittedEvent } from "../../typechain/TaikoEvents"; -import { proposeBlock } from "./propose"; -import { sendTinyEtherToZeroAddress } from "./seed"; - -const generateCommitHash = ( - block: ethers.providers.Block -): { hash: string; txListHash: string; beneficiary: string } => { - const txListHash = ethers.utils.keccak256(RLP.encode(block.transactions)); - const beneficiary = - block.miner === ethers.constants.AddressZero - ? ethers.Wallet.createRandom().address - : block.miner; - - const hash = ethers.utils.keccak256( - ethers.utils.solidityPack( - ["address", "bytes32"], - [beneficiary, txListHash] - ) - ); - - return { hash, txListHash, beneficiary }; -}; - -const commitBlock = async ( - taikoL1: TaikoL1, - block: ethers.providers.Block, - commitSlot: number = 0 -): Promise<{ - tx: ethers.ContractTransaction; - commit: { hash: string; txListHash: string; beneficiary: string }; - blockCommittedEvent: BlockCommittedEvent | undefined; - receipt: ethers.ContractReceipt; -}> => { - const commit = generateCommitHash(block); - const tx = await taikoL1.commitBlock(commitSlot, commit.hash, { - gasLimit: 200000, - }); - const receipt = await tx.wait(1); - const blockCommittedEvent = receipt.events!.find( - (e) => e.event === "BlockCommitted" - ) as any as BlockCommittedEvent; - return { tx, commit, blockCommittedEvent, receipt }; -}; - -const commitAndProposeLatestBlock = async ( - taikoL1: TaikoL1, - l1Signer: any, - l2Provider: ethers.providers.JsonRpcProvider, - commitSlot: number = 0 -) => { - const { commitConfirmations } = await taikoL1.getConfig(); - const block = await l2Provider.getBlock("latest"); - const { tx, commit } = await commitBlock( - taikoL1.connect(l1Signer), - block, - commitSlot - ); - const commitReceipt = await tx.wait(1); - - for (let i = 0; i < commitConfirmations.toNumber() + 5; i++) { - await sendTinyEtherToZeroAddress(l1Signer); - } - - const proposeReceipt = await proposeBlock( - taikoL1.connect(l1Signer), - block, - commit.txListHash, - commitReceipt.blockNumber as number, - block.gasLimit, - commitSlot, - commit.beneficiary - ); - - const proposedEvent: BlockProposedEvent = ( - proposeReceipt.events as any[] - ).find((e) => e.event === "BlockProposed"); - - return { proposedEvent, proposeReceipt, commitReceipt, commit, block }; -}; - -export { generateCommitHash, commitBlock, commitAndProposeLatestBlock }; diff --git a/packages/protocol/test/utils/encoding.ts b/packages/protocol/test/utils/encoding.ts deleted file mode 100644 index 4661733e7cd..00000000000 --- a/packages/protocol/test/utils/encoding.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ethers } from "hardhat"; -import { BlockMetadata } from "./block_metadata"; -import Evidence from "./evidence"; - -function encodeBlockMetadata(meta: BlockMetadata) { - return ethers.utils.defaultAbiCoder.encode( - [ - "tuple(uint256 id, uint256 l1Height, bytes32 l1Hash, address beneficiary, bytes32 txListHash, bytes32 mixHash, bytes extraData, uint64 gasLimit, uint64 timestamp, uint64 commitHeight, uint64 commitSlot)", - ], - [meta] - ); -} - -function encodeEvidence(evidence: Evidence) { - return ethers.utils.defaultAbiCoder.encode( - [ - "tuple(tuple(uint256 id, uint256 l1Height, bytes32 l1Hash, address beneficiary, bytes32 txListHash, bytes32 mixHash, bytes extraData, uint64 gasLimit, uint64 timestamp, uint64 commitHeight, uint64 commitSlot) meta, tuple(bytes32 parentHash, bytes32 ommersHash, address beneficiary, bytes32 stateRoot, bytes32 transactionsRoot, bytes32 receiptsRoot, bytes32[8] logsBloom, uint256 difficulty, uint128 height, uint64 gasLimit, uint64 gasUsed, uint64 timestamp, bytes extraData, bytes32 mixHash, uint64 nonce, uint256 baseFeePerGas) header, address prover, bytes[] proofs, uint16[] circuits)", - ], - [evidence] - ); -} - -export { encodeBlockMetadata, encodeEvidence }; diff --git a/packages/protocol/test/utils/errors.ts b/packages/protocol/test/utils/errors.ts deleted file mode 100644 index 0640d7252f7..00000000000 --- a/packages/protocol/test/utils/errors.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { ethers, utils } from "ethers"; -import { expect } from "chai"; - -async function txShouldRevertWithCustomError( - txPromise: Promise, - provider: ethers.providers.JsonRpcProvider, - customError: string -) { - try { - await txPromise; - expect.fail("Expected promise to throw but it didn't"); - } catch (tx) { - // console.log(tx) - const _tx = await provider.getTransaction( - (tx as { transactionHash: string }).transactionHash - ); - const code = await provider.call( - _tx as ethers.providers.TransactionRequest, - _tx.blockNumber - ); - - const expectedCode = utils - .keccak256(utils.toUtf8Bytes(customError)) - .substring(0, 10); - - if (code !== expectedCode) { - expect.fail( - `Error code mismatch: actual= - ${code} - expected= - ${expectedCode}` - ); - } - } -} - -async function readShouldRevertWithCustomError( - txPromise: Promise, - customError: string -) { - try { - await txPromise; - - expect.fail("Expected promise to throw but it didn't"); - } catch (result) { - const r = result as { errorSignature: string }; - if (r.errorSignature !== customError) { - expect.fail( - `Error code mismatch: actual= - ${r.errorSignature} - "expected=" - ${customError}` - ); - } - } -} - -export { txShouldRevertWithCustomError, readShouldRevertWithCustomError }; diff --git a/packages/protocol/test/utils/evidence.ts b/packages/protocol/test/utils/evidence.ts deleted file mode 100644 index 2bc68269da3..00000000000 --- a/packages/protocol/test/utils/evidence.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BlockMetadata } from "./block_metadata"; -import { BlockHeader } from "./rpc"; - -type Evidence = { - meta: BlockMetadata; - header: BlockHeader; - prover: string; - proofs: string[]; - circuits: number[]; -}; - -export default Evidence; diff --git a/packages/protocol/test/utils/fixture.ts b/packages/protocol/test/utils/fixture.ts deleted file mode 100644 index 31c068fdbdb..00000000000 --- a/packages/protocol/test/utils/fixture.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { SimpleChannel } from "channel-ts"; -import { ethers } from "ethers"; -import deployAddressManager from "./addressManager"; -import Proposer from "./proposer"; -import Prover from "./prover"; -import { - getDefaultL1Signer, - getDefaultL2Signer, - getL1Provider, - getL2Provider, -} from "./provider"; -import { createAndSeedWallets, sendTinyEtherToZeroAddress } from "./seed"; -import { defaultFeeBase, deployTaikoL1 } from "./taikoL1"; -import { deployTaikoL2 } from "./taikoL2"; -import deployTaikoToken from "./taikoToken"; - -async function initIntegrationFixture( - mintTkoToProposer: boolean, - enableTokenomics: boolean = true -) { - const l1Provider = getL1Provider(); - - l1Provider.pollingInterval = 100; - - const l1Signer = await getDefaultL1Signer(); - - const l2Provider = getL2Provider(); - - l2Provider.pollingInterval = 100; - - const l2Signer = await getDefaultL2Signer(); - - // When connecting to a geth node, we need to unlock the account manually, and - // we can safely ignore the unlock error when connecting to a hardhat node. - try { - await Promise.all([l1Signer.unlock(""), l2Signer.unlock("")]); - } catch (_) {} - - const l2AddressManager = await deployAddressManager(l2Signer); - const taikoL2 = await deployTaikoL2( - l2Signer, - l2AddressManager, - false, - 5000000 // Note: need to explicitly set gasLimit here, otherwise the deployment transaction may fail. - ); - const taikoL2DeployReceipt = await taikoL2.deployTransaction.wait(); - - const genesisHash = taikoL2DeployReceipt.blockHash as string; - const genesisHeight = taikoL2DeployReceipt.blockNumber as number; - - const l1AddressManager = await deployAddressManager(l1Signer); - const taikoL1 = await deployTaikoL1( - l1AddressManager, - genesisHash, - enableTokenomics, - defaultFeeBase - ); - const { chainId } = await l1Provider.getNetwork(); - - const [proposerSigner, proverSigner] = await createAndSeedWallets( - 2, - l1Signer - ); - - const taikoTokenL1 = await deployTaikoToken( - l1Signer, - l1AddressManager, - taikoL1.address - ); - - await ( - await l1AddressManager.setAddress( - `${chainId}.tko_token`, - taikoTokenL1.address - ) - ).wait(1); - - const { chainId: l2ChainId } = await l2Provider.getNetwork(); - - await ( - await l1AddressManager.setAddress(`${l2ChainId}.taiko`, taikoL2.address) - ).wait(1); - - await ( - await l1AddressManager.setAddress( - `${chainId}.proof_verifier`, - taikoL1.address - ) - ).wait(1); - - if (mintTkoToProposer) { - const mintTx = await taikoTokenL1 - .connect(l1Signer) - .mintAnyone( - await proposerSigner.getAddress(), - ethers.utils.parseEther("100") - ); - - await mintTx.wait(1); - } - - // send transactions to L1 so we always get new blocks - const interval = setInterval( - async () => await sendTinyEtherToZeroAddress(l1Signer), - 1 * 1000 - ); - - // send transactions to L2 so we always get new blocks (replaces evm_setAutomine?) - const interval2 = setInterval( - async () => await sendTinyEtherToZeroAddress(l2Signer), - 1 * 1000 - ); - - const tx = await l2Signer.sendTransaction({ - to: proverSigner.address, - value: ethers.utils.parseUnits("1", "ether"), - }); - await tx.wait(1); - - const chan = new SimpleChannel(); - const config = await taikoL1.getConfig(); - - const proposer = new Proposer( - taikoL1.connect(proposerSigner), - l2Provider, - config.commitConfirmations.toNumber(), - config.maxNumBlocks.toNumber(), - 0, - proposerSigner - ); - - const prover = new Prover(taikoL1, l2Provider, proverSigner); - return { - taikoL1, - taikoL2, - l1Provider, - l2Provider, - l1Signer, - l2Signer, - proposerSigner, - proverSigner, - genesisHeight, - genesisHash, - taikoTokenL1, - l1AddressManager, - interval, - interval2, - chan, - config, - proposer, - prover, - }; -} - -export { initIntegrationFixture }; diff --git a/packages/protocol/test/utils/message.ts b/packages/protocol/test/utils/message.ts deleted file mode 100644 index bf74fb99068..00000000000 --- a/packages/protocol/test/utils/message.ts +++ /dev/null @@ -1,31 +0,0 @@ -type Message = { - id: number; - sender: string; - srcChainId: number; - destChainId: number; - owner: string; - to: string; - refundAddress: string; - depositValue: number; - callValue: number; - processingFee: number; - gasLimit: number; - data: string; - memo: string; -}; - -const MessageStatus = { - NEW: 0, - RETRIABLE: 1, - DONE: 2, - FAILED: 3, -}; - -async function getMessageStatusSlot(hre: any, signal: any) { - return hre.ethers.utils.solidityKeccak256( - ["string", "bytes"], - ["MESSAGE_STATUS", signal] - ); -} - -export { Message, MessageStatus, getMessageStatusSlot }; diff --git a/packages/protocol/test/utils/onNewL2Block.ts b/packages/protocol/test/utils/onNewL2Block.ts deleted file mode 100644 index eed86f73775..00000000000 --- a/packages/protocol/test/utils/onNewL2Block.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { BigNumber, ethers } from "ethers"; -import { TaikoL1, TaikoToken } from "../../typechain"; -import { BlockProposedEvent } from "../../typechain/LibProposing"; -import Proposer from "./proposer"; -import sleep from "./sleep"; - -// onNewL2Block should be called from a tokenomics test case when a new block -// is generated from the l2Provider. -// It will commit then propose the block to the TaikoL1 contract, -// and then return the latest fee information and the proposal event, -// which can then be asserted on depending on your test case. -async function onNewL2Block( - l2Provider: ethers.providers.JsonRpcProvider, - blockNumber: number, - proposer: Proposer, - taikoL1: TaikoL1, - proposerSigner: any, - taikoTokenL1: TaikoToken -): Promise<{ - proposedEvent: BlockProposedEvent; - newProposerBalance: BigNumber; - newBlockFee: BigNumber; - newProofReward: BigNumber; -}> { - const config = await taikoL1.getConfig(); - - const block = await l2Provider.getBlock(blockNumber); - const { proposedEvent } = await proposer.commitThenProposeBlock(block); - const { id, meta } = proposedEvent.args; - - const { enableTokenomics } = await taikoL1.getConfig(); - - const newProofReward = await taikoL1.getProofReward( - new Date().getTime(), - meta.timestamp - ); - - const newProposerBalance = enableTokenomics - ? await taikoTokenL1.balanceOf(await proposerSigner.getAddress()) - : BigNumber.from(0); - - await sleep(1000 * config.bootstrapDiscountHalvingPeriod.toNumber()); - const newBlockFee = await taikoL1.getBlockFee(); - - console.log("-------------------proposed----------", id); - - return { - proposedEvent, - newProposerBalance, - newBlockFee, - newProofReward, - }; -} - -export { onNewL2Block }; diff --git a/packages/protocol/test/utils/propose.ts b/packages/protocol/test/utils/propose.ts deleted file mode 100644 index 04f94df1ac1..00000000000 --- a/packages/protocol/test/utils/propose.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { BigNumber, ethers } from "ethers"; -import RLP from "rlp"; -import { TaikoL1 } from "../../typechain"; -import { BlockMetadata } from "./block_metadata"; -import { encodeBlockMetadata } from "./encoding"; - -const buildProposeBlockInputs = ( - block: ethers.providers.Block, - meta: BlockMetadata -) => { - const inputs = []; - const blockMetadataBytes = encodeBlockMetadata(meta); - inputs[0] = blockMetadataBytes; - inputs[1] = RLP.encode(block.transactions); - return inputs; -}; - -const proposeBlock = async ( - taikoL1: TaikoL1, - block: ethers.providers.Block, - txListHash: string, - commitHeight: number, - gasLimit: BigNumber, - commitSlot: number = 0, - beneficiary: string -) => { - const meta: BlockMetadata = { - id: 0, - l1Height: 0, - l1Hash: ethers.constants.HashZero, - beneficiary, - txListHash: txListHash, - mixHash: ethers.constants.HashZero, - extraData: ethers.utils.hexlify(ethers.utils.randomBytes(32)), - gasLimit: gasLimit, - timestamp: 0, - commitSlot: commitSlot, - commitHeight: commitHeight, - }; - - const inputs = buildProposeBlockInputs(block, meta); - - const tx = await taikoL1.proposeBlock(inputs, { gasLimit: 1000000 }); - const receipt = await tx.wait(1); - return receipt; -}; - -export { buildProposeBlockInputs, proposeBlock }; diff --git a/packages/protocol/test/utils/proposer.ts b/packages/protocol/test/utils/proposer.ts deleted file mode 100644 index 45d7907dedd..00000000000 --- a/packages/protocol/test/utils/proposer.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { ethers } from "ethers"; -import { TaikoL1 } from "../../typechain"; -import { BlockProposedEvent } from "../../typechain/LibProposing"; -import { commitBlock } from "./commit"; -import { proposeBlock } from "./propose"; -import sleep from "./sleep"; - -class Proposer { - private readonly taikoL1: TaikoL1; - private readonly l2Provider: ethers.providers.JsonRpcProvider; - private readonly commitConfirms: number; - private readonly maxNumBlocks: number; - private nextCommitSlot: number; - private signer: ethers.Wallet; - - private proposingMutex: boolean = false; - - constructor( - taikoL1: TaikoL1, - l2Provider: ethers.providers.JsonRpcProvider, - commitConfirms: number, - maxNumBlocks: number, - initialCommitSlot: number, - signer: ethers.Wallet - ) { - this.taikoL1 = taikoL1; - this.l2Provider = l2Provider; - this.commitConfirms = commitConfirms; - this.maxNumBlocks = maxNumBlocks; - this.nextCommitSlot = initialCommitSlot; - this.signer = signer; - } - - getSigner() { - return this.signer; - } - - async commitThenProposeBlock(block?: ethers.providers.Block) { - try { - while (this.proposingMutex) { - await sleep(500); - } - this.proposingMutex = true; - if (!block) block = await this.l2Provider.getBlock("latest"); - const commitSlot = this.nextCommitSlot++; - const { tx, commit } = await commitBlock( - this.taikoL1, - block, - commitSlot - ); - const commitReceipt = await tx.wait(this.commitConfirms ?? 1); - - const receipt = await proposeBlock( - this.taikoL1, - block, - commit.txListHash, - commitReceipt.blockNumber as number, - block.gasLimit, - commitSlot, - commit.beneficiary - ); - - const proposedEvent: BlockProposedEvent = ( - receipt.events as any[] - ).find((e) => e.event === "BlockProposed"); - - this.proposingMutex = false; - - return { receipt, proposedEvent }; - } finally { - this.proposingMutex = false; - } - } -} - -export default Proposer; diff --git a/packages/protocol/test/utils/prove.ts b/packages/protocol/test/utils/prove.ts deleted file mode 100644 index c2c2fec505d..00000000000 --- a/packages/protocol/test/utils/prove.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { ethers } from "ethers"; -import { TaikoL1 } from "../../typechain"; -import { BlockProvenEvent } from "../../typechain/LibProving"; -import { BlockMetadata } from "./block_metadata"; -import { encodeEvidence } from "./encoding"; -import Evidence from "./evidence"; -import { BlockHeader, getBlockHeader } from "./rpc"; - -const buildProveBlockInputs = ( - meta: BlockMetadata, - header: BlockHeader, - prover: string, - anchorTx: Uint8Array | string, - anchorReceipt: Uint8Array | string -) => { - const inputs = []; - const evidence: Evidence = { - meta: meta, - header: header, - prover: prover, - proofs: [], - circuits: [], - }; - - // we have mkp + zkp returnign true in testing, so can just push 0xff - // instead of actually making proofs for anchor tx, anchor receipt, and - // zkp - for (let i = 0; i < 3; i++) { - evidence.proofs.push("0xff"); - } - - for (let i = 0; i < 1; i++) { - evidence.circuits.push(1); - } - - inputs[0] = encodeEvidence(evidence); - inputs[1] = anchorTx; - inputs[2] = anchorReceipt; - return inputs; -}; - -const proveBlock = async ( - taikoL1: TaikoL1, - l2Provider: ethers.providers.JsonRpcProvider, - proverAddress: string, - blockId: number, - blockNumber: number, - meta: BlockMetadata -): Promise => { - const header = await getBlockHeader(l2Provider, blockNumber); - const inputs = buildProveBlockInputs( - meta, - header.blockHeader, - proverAddress, - "0x", - "0x" - ); - const tx = await taikoL1.proveBlock(blockId, inputs, { gasLimit: 1000000 }); - const receipt = await tx.wait(1); - const event: BlockProvenEvent = (receipt.events as any[]).find( - (e) => e.event === "BlockProven" - ); - return event; -}; - -export { buildProveBlockInputs, proveBlock }; diff --git a/packages/protocol/test/utils/prover.ts b/packages/protocol/test/utils/prover.ts deleted file mode 100644 index df1bed6b2da..00000000000 --- a/packages/protocol/test/utils/prover.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { ethers } from "ethers"; -import { TaikoL1 } from "../../typechain"; -import { BlockProvenEvent } from "../../typechain/LibProving"; -import { BlockMetadata } from "./block_metadata"; -import { proveBlock } from "./prove"; -import sleep from "./sleep"; - -class Prover { - private readonly taikoL1: TaikoL1; - private readonly l2Provider: ethers.providers.JsonRpcProvider; - private provingMutex: boolean = false; - private readonly signer: ethers.Wallet; - - constructor( - taikoL1: TaikoL1, - l2Provider: ethers.providers.JsonRpcProvider, - signer: ethers.Wallet - ) { - this.taikoL1 = taikoL1; - this.l2Provider = l2Provider; - this.signer = signer; - } - - getSigner() { - return this.signer; - } - - async prove( - blockId: number, - blockNumber: number, - meta: BlockMetadata - ): Promise { - while (this.provingMutex) { - await sleep(100); - } - this.provingMutex = true; - - let blockProvenEvent: BlockProvenEvent; - try { - blockProvenEvent = await proveBlock( - this.taikoL1, - this.l2Provider, - await this.getSigner().getAddress(), - blockId, - blockNumber, - meta - ); - } catch (e) { - console.error("prove error", e); - throw e; - } finally { - this.provingMutex = false; - } - - return blockProvenEvent; - } -} - -export default Prover; diff --git a/packages/protocol/test/utils/provider.ts b/packages/protocol/test/utils/provider.ts deleted file mode 100644 index 11fc81a0c27..00000000000 --- a/packages/protocol/test/utils/provider.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ethers } from "ethers"; -// providers for integration tests - -const getL1Provider = () => - new ethers.providers.JsonRpcProvider("http://localhost:18545"); - -const getL2Provider = () => - new ethers.providers.JsonRpcProvider("http://localhost:28545"); - -const getDefaultL1Signer = async () => - getL1Provider().getSigner((await getL1Provider().listAccounts())[0]); - -const getDefaultL2Signer = async () => - getL2Provider().getSigner((await getL2Provider().listAccounts())[0]); - -export { getL1Provider, getL2Provider, getDefaultL1Signer, getDefaultL2Signer }; diff --git a/packages/protocol/test/utils/rpc.ts b/packages/protocol/test/utils/rpc.ts deleted file mode 100644 index cdac87a5e6c..00000000000 --- a/packages/protocol/test/utils/rpc.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { BigNumber, ethers } from "ethers"; - -type StorageEntry = { - key: string; - value: string; - proof: string[]; // Array of rlp-serialized MerkleTree-Nodes, starting with the storageHash-Node, -}; - -type EthGetProofResponse = { - balance: string; - codeHash: string; - nonce: string; - storageHash: string; - accountProof: string[]; // array of rlp-serialized merkle nodes beginning with stateRoot-node - storageProof: StorageEntry[]; -}; - -type Block = { - number: number; - hash: string; - parentHash: string; - nonce: number; - sha3Uncles: string; - logsBloom: string[]; - transactionsRoot: string; - stateRoot: string; - receiptsRoot: string; - miner: string; - difficulty: number; - totalDifficulty: number; - extraData: string; - size: number; - gasLimit: number; - gasUsed: number; - timestamp: number; - transactions: string[]; - uncles: string[]; - baseFeePerGas?: string; - mixHash: string; - withdrawalsRoot: string; -}; - -type BlockHeader = { - parentHash: string; - ommersHash: string; - beneficiary: string; - stateRoot: string; - transactionsRoot: string; - receiptsRoot: string; - logsBloom: string[]; - difficulty: number; - height: number; - gasLimit: number; - gasUsed: number; - timestamp: number; - extraData: string; - mixHash: string; - nonce: number; - baseFeePerGas: number; - withdrawalsRoot: string; -}; - -async function getBlockHeader( - provider: ethers.providers.JsonRpcProvider, - blockNumber?: number -) { - const b = await provider.getBlock( - blockNumber ? BigNumber.from(blockNumber).toHexString() : "latest" - ); - - const block: Block = await provider.send("eth_getBlockByHash", [ - b.hash, - false, - ]); - - const logsBloom = block.logsBloom.toString().substring(2); - - const blockHeader: BlockHeader = { - parentHash: block.parentHash, - ommersHash: block.sha3Uncles, - beneficiary: block.miner, - stateRoot: block.stateRoot, - transactionsRoot: block.transactionsRoot, - receiptsRoot: block.receiptsRoot, - logsBloom: logsBloom.match(/.{1,64}/g)!.map((s: string) => "0x" + s), - difficulty: block.difficulty, - height: block.number, - gasLimit: block.gasLimit, - gasUsed: block.gasUsed, - timestamp: block.timestamp, - extraData: block.extraData, - mixHash: block.mixHash, - nonce: block.nonce, - baseFeePerGas: block.baseFeePerGas ? parseInt(block.baseFeePerGas) : 0, - // set to zero for pre-shanghai L1 blocks used in the integration test node - withdrawalsRoot: ethers.constants.HashZero, - }; - - return { block, blockHeader }; -} - -export { - Block, - BlockHeader, - StorageEntry, - EthGetProofResponse, - getBlockHeader, -}; diff --git a/packages/protocol/test/utils/seed.ts b/packages/protocol/test/utils/seed.ts deleted file mode 100644 index 60663893cdd..00000000000 --- a/packages/protocol/test/utils/seed.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { BigNumber, ethers } from "ethers"; -import { TestTaikoToken } from "../../typechain"; - -const createAndSeedWallets = async ( - len: number, - signer: any, - amount: BigNumber = ethers.utils.parseEther("1") -): Promise => { - const wallets: ethers.Wallet[] = []; - for (let i = 0; i < len; i++) { - const wallet = ethers.Wallet.createRandom({ - extraEntropy: ethers.utils.randomBytes(32), - }).connect(signer.provider); - const tx = await signer.sendTransaction({ - to: await wallet.getAddress(), - value: amount, - }); - - await tx.wait(1); - wallets.push(wallet); - } - - return wallets; -}; - -const sendTinyEtherToZeroAddress = async (signer: any) => { - const tx = await signer.sendTransaction({ - to: ethers.constants.AddressZero, - value: BigNumber.from(1), - }); - await tx.wait(1); -}; - -const seedTko = async ( - wallets: { getSigner: () => ethers.Wallet }[], - taikoToken: TestTaikoToken -) => { - for (const wallet of wallets) { - // prover needs TKO or their reward will be cut down to 1 wei. - await ( - await taikoToken.mintAnyone( - await wallet.getSigner().getAddress(), - ethers.utils.parseEther("100") - ) - ).wait(1); - } -}; - -export { createAndSeedWallets, sendTinyEtherToZeroAddress, seedTko }; diff --git a/packages/protocol/test/utils/signal.ts b/packages/protocol/test/utils/signal.ts deleted file mode 100644 index e6ce33179ad..00000000000 --- a/packages/protocol/test/utils/signal.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { ethers, Signer } from "ethers"; -import RLP from "rlp"; -import { ethers as hardhatEthers } from "hardhat"; -import { BlockHeader, EthGetProofResponse } from "./rpc"; -import { AddressManager, SignalService, LibTrieProof } from "../../typechain"; - -async function deploySignalService( - signer: Signer, - addressManager: AddressManager, - srcChain: number -): Promise<{ signalService: SignalService }> { - const libTrieProof: LibTrieProof = await ( - await hardhatEthers.getContractFactory("LibTrieProof") - ) - .connect(signer) - .deploy(); - - const SignalServiceFactory = await hardhatEthers.getContractFactory( - "SignalService", - { - libraries: { - LibTrieProof: libTrieProof.address, - }, - } - ); - - const signalService: SignalService = await SignalServiceFactory.connect( - signer - ).deploy(); - - await signalService.connect(signer).init(addressManager.address); - - await addressManager.setAddress( - `${srcChain}.signal_service`, - signalService.address - ); - return { signalService }; -} - -async function getSignalProof( - provider: ethers.providers.JsonRpcProvider, - contractAddress: string, - slot: string, - blockNumber: number, - blockHeader: BlockHeader -) { - const proof: EthGetProofResponse = await provider.send("eth_getProof", [ - contractAddress, - [slot], - blockNumber, - ]); - - // RLP encode the proof together for LibTrieProof to decode - const encodedProof = ethers.utils.defaultAbiCoder.encode( - ["bytes", "bytes"], - [ - RLP.encode(proof.accountProof), - RLP.encode(proof.storageProof[0].proof), - ] - ); - // encode the SignalProof struct from LibBridgeSignal - const signalProof = ethers.utils.defaultAbiCoder.encode( - [ - "tuple(tuple(bytes32 parentHash, bytes32 ommersHash, address beneficiary, bytes32 stateRoot, bytes32 transactionsRoot, bytes32 receiptsRoot, bytes32[8] logsBloom, uint256 difficulty, uint128 height, uint64 gasLimit, uint64 gasUsed, uint64 timestamp, bytes extraData, bytes32 mixHash, uint64 nonce, uint256 baseFeePerGas, bytes32 withdrawalsRoot) header, bytes proof)", - ], - [{ header: blockHeader, proof: encodedProof }] - ); - - return signalProof; -} - -export { deploySignalService, getSignalProof }; diff --git a/packages/protocol/test/utils/sleep.ts b/packages/protocol/test/utils/sleep.ts deleted file mode 100644 index 268c312630f..00000000000 --- a/packages/protocol/test/utils/sleep.ts +++ /dev/null @@ -1,7 +0,0 @@ -function sleep(ms: number) { - return new Promise((resolve) => { - setTimeout(resolve, ms); - }); -} - -export default sleep; diff --git a/packages/protocol/test/utils/taikoL1.ts b/packages/protocol/test/utils/taikoL1.ts deleted file mode 100644 index c5ded6ffca8..00000000000 --- a/packages/protocol/test/utils/taikoL1.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { BigNumber } from "ethers"; -import { ethers } from "hardhat"; -import { AddressManager, TaikoL1 } from "../../typechain"; - -const defaultFeeBase = BigNumber.from(10).pow(18); - -async function deployTaikoL1( - addressManager: AddressManager, - genesisHash: string, - enableTokenomics: boolean, - feeBase?: BigNumber -): Promise { - const libReceiptDecoder = await ( - await ethers.getContractFactory("LibReceiptDecoder") - ).deploy(); - - const libTxDecoder = await ( - await ethers.getContractFactory("LibTxDecoder") - ).deploy(); - - const libProposing = await ( - await ethers.getContractFactory("LibProposing") - ).deploy(); - - const testLibProving = await ( - await ethers.getContractFactory("TestLibProving", { - libraries: { - LibReceiptDecoder: libReceiptDecoder.address, - LibTxDecoder: libTxDecoder.address, - }, - }) - ).deploy(); - - const libVerifying = await ( - await ethers.getContractFactory("LibVerifying") - ).deploy(); - - const taikoL1 = await ( - await ethers.getContractFactory( - enableTokenomics ? "TestTaikoL1EnableTokenomics" : "TestTaikoL1", - { - libraries: { - LibVerifying: libVerifying.address, - LibProposing: libProposing.address, - LibProving: testLibProving.address, - }, - } - ) - ).deploy(); - - await ( - await taikoL1.init( - addressManager.address, - genesisHash, - feeBase ?? defaultFeeBase - ) - ).wait(1); - - return taikoL1 as TaikoL1; -} - -export { deployTaikoL1, defaultFeeBase }; diff --git a/packages/protocol/test/utils/taikoL2.ts b/packages/protocol/test/utils/taikoL2.ts deleted file mode 100644 index 83092dabb81..00000000000 --- a/packages/protocol/test/utils/taikoL2.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { ethers } from "ethers"; -import { ethers as hardhatEthers } from "hardhat"; -import { AddressManager, TaikoL2 } from "../../typechain"; - -async function deployTaikoL2( - signer: ethers.Signer, - addressManager: AddressManager, - enablePublicInputsCheck: boolean = true, - gasLimit: number | undefined = undefined -): Promise { - // Deploying TaikoL2 Contract linked with LibTxDecoder (throws error otherwise) - const l2LibTxDecoder = await ( - await hardhatEthers.getContractFactory("LibTxDecoder") - ) - .connect(signer) - .deploy(); - - const taikoL2 = await ( - await hardhatEthers.getContractFactory( - enablePublicInputsCheck - ? "TestTaikoL2EnablePublicInputsCheck" - : "TestTaikoL2", - { - libraries: { - LibTxDecoder: l2LibTxDecoder.address, - }, - } - ) - ) - .connect(signer) - .deploy(addressManager.address, { gasLimit }); - - return taikoL2 as TaikoL2; -} - -export { deployTaikoL2 }; diff --git a/packages/protocol/test/utils/taikoToken.ts b/packages/protocol/test/utils/taikoToken.ts deleted file mode 100644 index 6c23ede0e97..00000000000 --- a/packages/protocol/test/utils/taikoToken.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { ethers } from "ethers"; -import { ethers as hardhatEthers } from "hardhat"; -import { AddressManager } from "../../typechain"; - -const deployTaikoToken = async ( - signer: ethers.Signer, - addressManager: AddressManager, - protoBroker: string -) => { - const token = await ( - await hardhatEthers.getContractFactory("TestTaikoToken") - ) - .connect(signer) - .deploy(); - await token.init("Taiko Token", "TKO", addressManager.address); - - const network = await signer.provider?.getNetwork(); - - await addressManager.setAddress( - `${network?.chainId}.proto_broker`, - protoBroker - ); - - return token; -}; - -export default deployTaikoToken; diff --git a/packages/protocol/test/utils/tokenomics.ts b/packages/protocol/test/utils/tokenomics.ts deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/protocol/test/utils/trie.ts b/packages/protocol/test/utils/trie.ts deleted file mode 100644 index 7afec4cc43c..00000000000 --- a/packages/protocol/test/utils/trie.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { BaseTrie, SecureTrie } from "merkle-patricia-tree"; -import { ethers } from "ethers"; -import * as rlp from "rlp"; -import { randomBytes } from "crypto"; - -type Node = { - key: Buffer; - value: Buffer; -}; - -type Root = { - root: Buffer; -}; - -type Proof = { - proof: string; -}; - -type Test = { - node: Node; - root: Root; - proof: Proof; -}; - -class MerkleTrie { - public trie: T; - public nodes: Node[] = []; - private nodeLength: number; - private amountOfNodes: number; - - constructor(amountOfNodes: number, nodeLength: number, f: () => T) { - this.amountOfNodes = amountOfNodes; - this.nodeLength = nodeLength; - this.trie = f(); - } - - async init() { - this.nodes = []; - for (let i = 0; i < this.amountOfNodes; i++) { - this.nodes.push(this.newRandomNode()); - } - await this.build(this.nodes); - } - - newRandomNode(): Node { - return { - key: randomBytes(this.nodeLength), - value: randomBytes(this.nodeLength), - }; - } - - async build(nodes: Node[]): Promise { - nodes.map(async (n) => await this.trie.put(n.key, n.value)); - } - - async makeTest(key: Buffer): Promise { - const trie = this.trie.copy(); - const value = await trie.get(key); - const proof = await BaseTrie.createProof(trie, key); - - return { - node: { - key: key, - value: value as Buffer, - }, - proof: { - proof: ethers.utils.hexlify(rlp.encode(proof)), - }, - root: { - root: trie.root, - }, - }; - } -} -export { MerkleTrie }; diff --git a/packages/protocol/test/utils/verify.ts b/packages/protocol/test/utils/verify.ts deleted file mode 100644 index 5a27ea1878d..00000000000 --- a/packages/protocol/test/utils/verify.ts +++ /dev/null @@ -1,135 +0,0 @@ -import { expect } from "chai"; -import { BigNumber, ethers as ethersLib } from "ethers"; -import { ethers } from "hardhat"; -import { TaikoL1, TaikoToken } from "../../typechain"; -import { BlockVerifiedEvent } from "../../typechain/LibVerifying"; -import { BlockInfo, BlockMetadata } from "./block_metadata"; -import { onNewL2Block } from "./onNewL2Block"; -import Proposer from "./proposer"; -import Prover from "./prover"; -import { getDefaultL1Signer } from "./provider"; -import { sendTinyEtherToZeroAddress } from "./seed"; - -async function verifyBlocks(taikoL1: TaikoL1, maxBlocks: number) { - // Since we are connecting to a geth node with clique consensus (auto mine), we - // need to manually mine a new block here to ensure the latest block.timestamp increased as expected when - // calling eth_estimateGas. - await sendTinyEtherToZeroAddress(await getDefaultL1Signer()); - - const verifyTx = await taikoL1.verifyBlocks(maxBlocks, { - gasLimit: 1000000, - }); - - const verifyReceipt = await verifyTx.wait(1); - const verifiedEvent: BlockVerifiedEvent = ( - verifyReceipt.events as any[] - ).find((e) => e.event === "BlockVerified"); - return verifiedEvent; -} - -async function verifyBlockAndAssert( - taikoL1: TaikoL1, - taikoTokenL1: TaikoToken, - block: BlockInfo, - lastProofReward: BigNumber -): Promise<{ newProofReward: BigNumber }> { - const prover = block.forkChoice.provers[0]; - - const proverBalanceBeforeVerification = await taikoTokenL1.balanceOf( - prover - ); - - const proposerBalanceBeforeVerification = await taikoTokenL1.balanceOf( - block.proposer - ); - - expect(proposerBalanceBeforeVerification.gt(0)).to.be.true; - const verifiedEvent = await verifyBlocks(taikoL1, 1); - expect(verifiedEvent).to.be.not.undefined; - - expect(verifiedEvent.args.blockHash).to.be.eq(block.blockHash); - expect(verifiedEvent.args.id.eq(block.id)).to.be.true; - - const proverBalanceAfterVerification = await taikoTokenL1.balanceOf(prover); - - // prover should have increased in balance as he received the proof reward. - expect(proverBalanceAfterVerification.gt(proverBalanceBeforeVerification)) - .to.be.true; - - const newProofReward = await taikoL1.getProofReward( - block.proposedAt, - block.provenAt - ); - - // last proof reward should be larger than the new proof reward, - // since we have stopped proposing, and slots are growing as we verify. - if (lastProofReward.gt(0)) { - expect(newProofReward).to.be.lt(lastProofReward); - } - - // latest synced header should be our just-verified block hash. - const latestHash = await taikoL1.getLatestSyncedHeader(); - expect(latestHash).to.be.eq(block.blockHash); - - // fork choice should be nullified via _cleanUp in LibVerifying - const forkChoice = await taikoL1.getForkChoice(block.id, block.parentHash); - expect(forkChoice.provenAt).to.be.eq(BigNumber.from(0)); - expect(forkChoice.provers).to.be.empty; - expect(forkChoice.blockHash).to.be.eq(ethers.constants.HashZero); - - // proposer should be minted their refund of their deposit back after - // verification, as long as their balance is > 0; - return { newProofReward }; -} - -async function commitProposeProveAndVerify( - taikoL1: TaikoL1, - l2Provider: ethersLib.providers.JsonRpcProvider, - blockNumber: number, - proposer: Proposer, - taikoTokenL1: TaikoToken, - prover: Prover -) { - console.log("proposing", blockNumber); - const { proposedEvent } = await onNewL2Block( - l2Provider, - blockNumber, - proposer, - taikoL1, - proposer.getSigner(), - taikoTokenL1 - ); - expect(proposedEvent).not.to.be.undefined; - - console.log("proving", blockNumber); - const provedEvent = await prover.prove( - proposedEvent.args.id.toNumber(), - blockNumber, - proposedEvent.args.meta as any as BlockMetadata - ); - - const { args } = provedEvent; - const { blockHash, id: blockId, parentHash } = args; - - const proposedBlock = await taikoL1.getProposedBlock( - proposedEvent.args.id.toNumber() - ); - - const forkChoice = await taikoL1.getForkChoice( - blockId.toNumber(), - parentHash - ); - - expect(forkChoice.blockHash).to.be.eq(blockHash); - - expect(forkChoice.prover).to.be.eq(await prover.getSigner().getAddress()); - - console.log("verifying", blockNumber); - const verifyEvent = await verifyBlocks(taikoL1, 1); - expect(verifyEvent).not.to.be.eq(undefined); - console.log("verified", blockNumber); - - return { verifyEvent, proposedEvent, provedEvent, proposedBlock }; -} - -export { verifyBlocks, verifyBlockAndAssert, commitProposeProveAndVerify }; diff --git a/packages/protocol/utils/generate_config/README.md b/packages/protocol/utils/generate_config/README.md deleted file mode 100644 index d8d3c7986e8..00000000000 --- a/packages/protocol/utils/generate_config/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# README - -A script to calculate `slotSmoothingFactor` in `TaikoData.Config` given: - -- expected block time -- expected proof time -- expected slot availability multiplier - ... - -## How to run - -`python3 main.py` diff --git a/packages/protocol/utils/generate_config/main.py b/packages/protocol/utils/generate_config/main.py deleted file mode 100644 index e0449f0fc45..00000000000 --- a/packages/protocol/utils/generate_config/main.py +++ /dev/null @@ -1,42 +0,0 @@ -import math - - -if __name__ == "__main__": - print("Expected block time (seconds)", end=": ") - block_time = int(input()) - - print("Expected proof time (minutes)", end=": ") - proof_time = int(input()) * 60 - - print("Max baseFee upside (5 = 5x)", end=": ") - max_basefee_upside = int(input()) - if max_basefee_upside < 5: - print("error: Max baseFee upside < 5") - exit(1) - - min_num_slots = math.ceil(1.0 * proof_time / block_time) - - print("Extra slots (e.g, 50 means 50% more slots)", end=": ") - extra_slots = int(input()) - - print("---------") - - print("min num slots:", min_num_slots) - max_num_slots = min_num_slots + math.ceil(min_num_slots * extra_slots / 100) + 1 - - k = max_basefee_upside - n = max_num_slots - - # https://www.wolframalpha.com/input?i=solve++%28n%2Bx%29%28n%2Bx-1%29%3Dk*%281%2Bx%29x+for+x - fee_smoothing_factor = ( - k - 2 * n + 1 - math.sqrt(k * (k + 4 * n * n - 8 * n + 2) + 1.0) - ) / (2 - 2 * k) - - fee_smoothing_factor = int(fee_smoothing_factor * 1000) - - # f = fee_smoothing_factor - # print(1.0*(f+n*1000)*(f+n*1000-1000)/((f+1000)*f)) - - print("---------") - print("maxNumBlocks:", max_num_slots) - print("slotSmoothingFactor:", fee_smoothing_factor) diff --git a/packages/protocol/utils/generate_genesis/erc20.ts b/packages/protocol/utils/generate_genesis/erc20.ts index 887cfd1a4b5..6621d400143 100644 --- a/packages/protocol/utils/generate_genesis/erc20.ts +++ b/packages/protocol/utils/generate_genesis/erc20.ts @@ -1,14 +1,14 @@ import { ethers } from "ethers"; import { Result } from "./interface"; const path = require("path"); -const ARTIFACTS_PATH = path.join(__dirname, "../../artifacts/contracts"); +const ARTIFACTS_PATH = path.join(__dirname, "../../out"); const { computeStorageSlots, getStorageLayout, } = require("@defi-wonderland/smock/dist/src/utils"); -export const TOKEN_NAME = "PredeployERC20"; -export const TOKEN_SYMBOL = "PRE"; +export const TOKEN_NAME = "RegularERC20"; +export const TOKEN_SYMBOL = "RGL"; export const PREMINT_SEED_ACCOUNT_BALANCE = ethers.BigNumber.from(1024000); // deployERC20 generates a L2 genesis alloc of an ERC-20 contract, @@ -24,9 +24,11 @@ export async function deployERC20( const artifact = require(path.join( ARTIFACTS_PATH, - "./test/thirdparty/TestERC20.sol/TestERC20.json" + "./RegularERC20.sol/RegularERC20.json" )); + artifact.contractName = "RegularERC20"; + let address: string; if ( config.contractAddresses && @@ -58,7 +60,7 @@ export async function deployERC20( alloc[address] = { contractName: artifact.contractName, storage: {}, - code: artifact.deployedBytecode, + code: artifact.deployedBytecode.object, balance: "0x0", }; diff --git a/packages/protocol/utils/generate_genesis/interface.ts b/packages/protocol/utils/generate_genesis/interface.ts index 0b8a1360a4f..312462f59e6 100644 --- a/packages/protocol/utils/generate_genesis/interface.ts +++ b/packages/protocol/utils/generate_genesis/interface.ts @@ -6,6 +6,7 @@ export interface Config { }>; predeployERC20: boolean; contractAddresses: Object; + param1559: Object; } export interface Result { diff --git a/packages/protocol/utils/generate_genesis/taikoL2.ts b/packages/protocol/utils/generate_genesis/taikoL2.ts index 2853c6f0ad4..7ee7b4a9f75 100644 --- a/packages/protocol/utils/generate_genesis/taikoL2.ts +++ b/packages/protocol/utils/generate_genesis/taikoL2.ts @@ -7,7 +7,7 @@ const { computeStorageSlots, getStorageLayout, } = require("@defi-wonderland/smock/dist/src/utils"); -const ARTIFACTS_PATH = path.join(__dirname, "../../artifacts/contracts"); +const ARTIFACTS_PATH = path.join(__dirname, "../../out"); // deployTaikoL2 generates a L2 genesis alloc of the TaikoL2 contract. export async function deployTaikoL2( @@ -40,7 +40,8 @@ export async function deployTaikoL2( const contractConfigs: any = await generateContractConfigs( contractOwner, chainId, - config.contractAddresses + config.contractAddresses, + config.param1559 ); const storageLayouts: any = {}; @@ -93,50 +94,44 @@ export async function deployTaikoL2( async function generateContractConfigs( contractOwner: string, chainId: number, - hardCodedAddresses: any + hardCodedAddresses: any, + param1559: any ): Promise { const contractArtifacts: any = { // Libraries LibTrieProof: require(path.join( ARTIFACTS_PATH, - "./libs/LibTrieProof.sol/LibTrieProof.json" + "./LibTrieProof.sol/LibTrieProof.json" )), LibBridgeRetry: require(path.join( ARTIFACTS_PATH, - "./bridge/libs/LibBridgeRetry.sol/LibBridgeRetry.json" + "./LibBridgeRetry.sol/LibBridgeRetry.json" )), LibBridgeProcess: require(path.join( ARTIFACTS_PATH, - "./bridge/libs/LibBridgeProcess.sol/LibBridgeProcess.json" - )), - LibTxDecoder: require(path.join( - ARTIFACTS_PATH, - "./libs/LibTxDecoder.sol/LibTxDecoder.json" + "./LibBridgeProcess.sol/LibBridgeProcess.json" )), // Contracts AddressManager: require(path.join( ARTIFACTS_PATH, - "./thirdparty/AddressManager.sol/AddressManager.json" + "./AddressManager.sol/AddressManager.json" )), TaikoL2: require(path.join( ARTIFACTS_PATH, - "./L2/TaikoL2.sol/TaikoL2.json" - )), - Bridge: require(path.join( - ARTIFACTS_PATH, - "./bridge/Bridge.sol/Bridge.json" + "./TaikoL2.sol/TaikoL2.json" )), + Bridge: require(path.join(ARTIFACTS_PATH, "./Bridge.sol/Bridge.json")), TokenVault: require(path.join( ARTIFACTS_PATH, - "./bridge/TokenVault.sol/TokenVault.json" + "./TokenVault.sol/TokenVault.json" )), EtherVault: require(path.join( ARTIFACTS_PATH, - "./bridge/EtherVault.sol/EtherVault.json" + "./EtherVault.sol/EtherVault.json" )), SignalService: require(path.join( ARTIFACTS_PATH, - "./signal/SignalService.sol/SignalService.json" + "./SignalService.sol/SignalService.json" )), }; @@ -147,10 +142,6 @@ async function generateContractConfigs( switch (contractName) { case "TaikoL2": - if (!addressMap.LibTxDecoder) { - throw new Error("LibTxDecoder not initialized"); - } - bytecode = linkContractLibs( contractArtifacts.TaikoL2, addressMap @@ -219,12 +210,14 @@ async function generateContractConfigs( // Libraries LibTrieProof: { address: addressMap.LibTrieProof, - deployedBytecode: contractArtifacts.LibTrieProof.deployedBytecode, + deployedBytecode: + contractArtifacts.LibTrieProof.deployedBytecode.object, variables: {}, }, LibBridgeRetry: { address: addressMap.LibBridgeRetry, - deployedBytecode: contractArtifacts.LibBridgeRetry.deployedBytecode, + deployedBytecode: + contractArtifacts.LibBridgeRetry.deployedBytecode.object, variables: {}, }, LibBridgeProcess: { @@ -235,14 +228,10 @@ async function generateContractConfigs( ), variables: {}, }, - LibTxDecoder: { - address: addressMap.LibTxDecoder, - deployedBytecode: contractArtifacts.LibTxDecoder.deployedBytecode, - variables: {}, - }, AddressManager: { address: addressMap.AddressManager, - deployedBytecode: contractArtifacts.AddressManager.deployedBytecode, + deployedBytecode: + contractArtifacts.AddressManager.deployedBytecode.object, variables: { // initializer _initialized: 1, @@ -251,27 +240,23 @@ async function generateContractConfigs( _owner: contractOwner, // AddressManager addresses: { - // keccak256(abi.encodePacked(_name)) - [`${ethers.utils.solidityKeccak256( - ["string"], - [`${chainId}.taiko`] - )}`]: addressMap.TaikoL2, - [`${ethers.utils.solidityKeccak256( - ["string"], - [`${chainId}.bridge`] - )}`]: addressMap.Bridge, - [`${ethers.utils.solidityKeccak256( - ["string"], - [`${chainId}.token_vault`] - )}`]: addressMap.TokenVault, - [`${ethers.utils.solidityKeccak256( - ["string"], - [`${chainId}.ether_vault`] - )}`]: addressMap.EtherVault, - [`${ethers.utils.solidityKeccak256( - ["string"], - [`${chainId}.signal_service`] - )}`]: addressMap.SignalService, + [chainId]: { + [ethers.utils.hexlify( + ethers.utils.toUtf8Bytes("taiko") + )]: addressMap.TaikoL2, + [ethers.utils.hexlify( + ethers.utils.toUtf8Bytes("bridge") + )]: addressMap.Bridge, + [ethers.utils.hexlify( + ethers.utils.toUtf8Bytes("token_vault") + )]: addressMap.TokenVault, + [ethers.utils.hexlify( + ethers.utils.toUtf8Bytes("ether_vault") + )]: addressMap.EtherVault, + [ethers.utils.hexlify( + ethers.utils.toUtf8Bytes("signal_service") + )]: addressMap.SignalService, + }, }, }, }, @@ -282,21 +267,28 @@ async function generateContractConfigs( addressMap ), variables: { - // ReentrancyGuardUpgradeable - _status: 1, // _NOT_ENTERED - // AddressResolver - _addressManager: addressMap.AddressManager, // TaikoL2 // keccak256(abi.encodePacked(block.chainid, basefee, ancestors)) - _publicInputHash: `${ethers.utils.solidityKeccak256( - ["uint256", "uint256", "uint256", "bytes32[255]"], + publicInputHash: `${ethers.utils.solidityKeccak256( + ["bytes32[256]"], [ - chainId, - 0, - 0, - new Array(255).fill(ethers.constants.HashZero), + new Array(255) + .fill(ethers.constants.HashZero) + .concat([ + ethers.utils.hexZeroPad( + ethers.utils.hexlify(chainId), + 32 + ), + ]), ] )}`, + yscale: ethers.BigNumber.from(param1559.yscale), + xscale: ethers.BigNumber.from(param1559.xscale), + gasIssuedPerSecond: ethers.BigNumber.from( + param1559.gasIssuedPerSecond + ), + parentTimestamp: Math.floor(new Date().getTime() / 1000), + gasExcess: ethers.BigNumber.from(param1559.gasExcess), }, }, Bridge: { @@ -321,7 +313,8 @@ async function generateContractConfigs( }, TokenVault: { address: addressMap.TokenVault, - deployedBytecode: contractArtifacts.TokenVault.deployedBytecode, + deployedBytecode: + contractArtifacts.TokenVault.deployedBytecode.object, variables: { // initializer _initialized: 1, @@ -336,7 +329,8 @@ async function generateContractConfigs( }, EtherVault: { address: addressMap.EtherVault, - deployedBytecode: contractArtifacts.EtherVault.deployedBytecode, + deployedBytecode: + contractArtifacts.EtherVault.deployedBytecode.object, variables: { // initializer _initialized: 1, @@ -377,10 +371,10 @@ async function generateContractConfigs( // Ref: https://docs.soliditylang.org/en/latest/using-the-compiler.html#library-linking function linkContractLibs(artifact: any, addressMap: any) { const linkedBytecode: string = linker.linkBytecode( - artifact.deployedBytecode, + artifact.deployedBytecode.object, getLinkLibs( artifact, - linker.findLinkReferences(artifact.deployedBytecode), + linker.findLinkReferences(artifact.deployedBytecode.object), addressMap ) ); @@ -397,7 +391,7 @@ function linkContractLibs(artifact: any, addressMap: any) { function getLinkLibs(artifact: any, linkRefs: any, addressMap: any) { const result: any = {}; - Object.values(artifact.deployedLinkReferences).forEach( + Object.values(artifact.deployedBytecode.linkReferences).forEach( (linkReference: any) => { const contractName = Object.keys(linkReference)[0]; const linkRefKey: any = Object.keys(linkRefs).find( diff --git a/packages/relayer/TaikoL1.json b/packages/relayer/TaikoL1.json index f04a963da2d..49d131b5910 100644 --- a/packages/relayer/TaikoL1.json +++ b/packages/relayer/TaikoL1.json @@ -99,11 +99,6 @@ "name": "L1_COMMITTED", "type": "error" }, - { - "inputs": [], - "name": "L1_CONFLICT_PROOF", - "type": "error" - }, { "inputs": [], "name": "L1_CONTRACT_NOT_ALLOWED", @@ -473,12 +468,12 @@ }, { "internalType": "uint256", - "name": "maxNumBlocks", + "name": "maxNumProposedBlocks", "type": "uint256" }, { "internalType": "uint256", - "name": "blockHashHistory", + "name": "maxNumVerifiedBlocks", "type": "uint256" }, { @@ -521,11 +516,6 @@ "name": "slotSmoothingFactor", "type": "uint256" }, - { - "internalType": "uint256", - "name": "rewardBurnBips", - "type": "uint256" - }, { "internalType": "uint256", "name": "proposerDepositPctg", @@ -533,7 +523,7 @@ }, { "internalType": "uint256", - "name": "feeBaseMAF", + "name": "basefeeMAF", "type": "uint256" }, { @@ -548,7 +538,7 @@ }, { "internalType": "uint64", - "name": "rewardMultiplierPctg", + "name": "feeMultiplierPctg", "type": "uint64" }, { @@ -558,7 +548,7 @@ }, { "internalType": "uint64", - "name": "feeMaxPeriodPctg", + "name": "feeMaxPctg", "type": "uint64" }, { @@ -727,7 +717,7 @@ "type": "address" } ], - "name": "getRewardBalance", + "name": "getBalance", "outputs": [ { "internalType": "uint256", @@ -746,7 +736,7 @@ "components": [ { "internalType": "uint256", - "name": "feeBase", + "name": "basefee", "type": "uint256" }, { @@ -781,7 +771,7 @@ }, { "internalType": "uint64", - "name": "latestVerifiedId", + "name": "lastBlockId", "type": "uint64" }, { @@ -831,7 +821,7 @@ }, { "internalType": "uint256", - "name": "_feeBase", + "name": "_basefee", "type": "uint256" } ], @@ -1051,7 +1041,7 @@ }, { "internalType": "uint256", - "name": "feeBase", + "name": "basefee", "type": "uint256" }, { @@ -1081,7 +1071,7 @@ }, { "internalType": "uint64", - "name": "latestVerifiedId", + "name": "lastBlockId", "type": "uint64" }, { diff --git a/packages/relayer/contracts/taikol1/TaikoL1.go b/packages/relayer/contracts/taikol1/TaikoL1.go index 536a40aa63a..f1ae8e258aa 100644 --- a/packages/relayer/contracts/taikol1/TaikoL1.go +++ b/packages/relayer/contracts/taikol1/TaikoL1.go @@ -31,7 +31,7 @@ var ( // LibUtilsStateVariables is an auto generated low-level Go binding around an user-defined struct. type LibUtilsStateVariables struct { - FeeBase *big.Int + Basefee *big.Int GenesisHeight uint64 GenesisTimestamp uint64 NextBlockId uint64 @@ -72,7 +72,7 @@ type TaikoDataConfig struct { SlotSmoothingFactor *big.Int RewardBurnBips *big.Int ProposerDepositPctg *big.Int - FeeBaseMAF *big.Int + BasefeeMAF *big.Int BlockTimeMAF *big.Int ProofTimeMAF *big.Int RewardMultiplierPctg uint64 @@ -103,7 +103,7 @@ type TaikoDataProposedBlock struct { // TaikoL1MetaData contains all meta data concerning the TaikoL1 contract. var TaikoL1MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"L1_0_FEE_BASE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_0_FEE_BASE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_CALLDATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_DEST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_ADDR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_LOGS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_TOPICS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_R\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_S\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TX_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TYPE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CANNOT_BE_FIRST_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONFLICT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_DUP_PROVERS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_EXTRA_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INPUT_SIZE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_METADATA_FIELD\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_META_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROOF_LENGTH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ZKP\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"BlockCommitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"commitBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockHashHistory\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slotSmoothingFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeBaseMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rewardMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getProposedBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ProposedBlock\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getRewardBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"feeBase\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"}],\"internalType\":\"structLibUtils.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_feeBase\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commitSlot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitHeight\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"isCommitValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proposeBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlockInvalid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"k\",\"type\":\"uint8\"}],\"name\":\"signWithGoldenTouch\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"r\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA1\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA2\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"feeBase\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__avgGasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedC1\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[],\"name\":\"L1_0_FEE_BASE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_CALLDATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_DEST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_ADDR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_LOGS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_TOPICS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_R\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_S\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TX_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TYPE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CANNOT_BE_FIRST_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONFLICT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_DUP_PROVERS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_EXTRA_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INPUT_SIZE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_METADATA_FIELD\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_META_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROOF_LENGTH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ZKP\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"BlockCommitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"commitBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slotSmoothingFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basefeeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"feeMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getProposedBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ProposedBlock\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"}],\"internalType\":\"structLibUtils.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_basefee\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commitSlot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitHeight\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"isCommitValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proposeBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlockInvalid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"k\",\"type\":\"uint8\"}],\"name\":\"signWithGoldenTouch\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"r\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA1\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA2\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__avgGasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedC1\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", } // TaikoL1ABI is the input ABI used to generate the binding from. @@ -471,10 +471,10 @@ func (_TaikoL1 *TaikoL1CallerSession) GetProposedBlock(id *big.Int) (TaikoDataPr // GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. // -// Solidity: function getRewardBalance(address addr) view returns(uint256) +// Solidity: function getBalance(address addr) view returns(uint256) func (_TaikoL1 *TaikoL1Caller) GetRewardBalance(opts *bind.CallOpts, addr common.Address) (*big.Int, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getRewardBalance", addr) + err := _TaikoL1.contract.Call(opts, &out, "getBalance", addr) if err != nil { return *new(*big.Int), err @@ -488,14 +488,14 @@ func (_TaikoL1 *TaikoL1Caller) GetRewardBalance(opts *bind.CallOpts, addr common // GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. // -// Solidity: function getRewardBalance(address addr) view returns(uint256) +// Solidity: function getBalance(address addr) view returns(uint256) func (_TaikoL1 *TaikoL1Session) GetRewardBalance(addr common.Address) (*big.Int, error) { return _TaikoL1.Contract.GetRewardBalance(&_TaikoL1.CallOpts, addr) } // GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. // -// Solidity: function getRewardBalance(address addr) view returns(uint256) +// Solidity: function getBalance(address addr) view returns(uint256) func (_TaikoL1 *TaikoL1CallerSession) GetRewardBalance(addr common.Address) (*big.Int, error) { return _TaikoL1.Contract.GetRewardBalance(&_TaikoL1.CallOpts, addr) } @@ -738,13 +738,13 @@ func (_TaikoL1 *TaikoL1CallerSession) SignWithGoldenTouch(hash [32]byte, k uint8 // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 feeBase, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 latestVerifiedId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 basefee, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 lastBlockId, uint64 avgProofTime, uint64 __reservedC1) func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { GenesisHeight uint64 GenesisTimestamp uint64 ReservedA1 uint64 ReservedA2 uint64 - FeeBase *big.Int + Basefee *big.Int NextBlockId uint64 LastProposedAt uint64 AvgBlockTime uint64 @@ -762,7 +762,7 @@ func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { GenesisTimestamp uint64 ReservedA1 uint64 ReservedA2 uint64 - FeeBase *big.Int + Basefee *big.Int NextBlockId uint64 LastProposedAt uint64 AvgBlockTime uint64 @@ -780,7 +780,7 @@ func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { outstruct.GenesisTimestamp = *abi.ConvertType(out[1], new(uint64)).(*uint64) outstruct.ReservedA1 = *abi.ConvertType(out[2], new(uint64)).(*uint64) outstruct.ReservedA2 = *abi.ConvertType(out[3], new(uint64)).(*uint64) - outstruct.FeeBase = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) + outstruct.Basefee = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) outstruct.NextBlockId = *abi.ConvertType(out[5], new(uint64)).(*uint64) outstruct.LastProposedAt = *abi.ConvertType(out[6], new(uint64)).(*uint64) outstruct.AvgBlockTime = *abi.ConvertType(out[7], new(uint64)).(*uint64) @@ -796,13 +796,13 @@ func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 feeBase, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 latestVerifiedId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 basefee, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 lastBlockId, uint64 avgProofTime, uint64 __reservedC1) func (_TaikoL1 *TaikoL1Session) State() (struct { GenesisHeight uint64 GenesisTimestamp uint64 ReservedA1 uint64 ReservedA2 uint64 - FeeBase *big.Int + Basefee *big.Int NextBlockId uint64 LastProposedAt uint64 AvgBlockTime uint64 @@ -817,13 +817,13 @@ func (_TaikoL1 *TaikoL1Session) State() (struct { // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 feeBase, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 latestVerifiedId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 basefee, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 lastBlockId, uint64 avgProofTime, uint64 __reservedC1) func (_TaikoL1 *TaikoL1CallerSession) State() (struct { GenesisHeight uint64 GenesisTimestamp uint64 ReservedA1 uint64 ReservedA2 uint64 - FeeBase *big.Int + Basefee *big.Int NextBlockId uint64 LastProposedAt uint64 AvgBlockTime uint64 @@ -859,23 +859,23 @@ func (_TaikoL1 *TaikoL1TransactorSession) CommitBlock(commitSlot uint64, commitH // Init is a paid mutator transaction binding the contract method 0x9c5e9f06. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _feeBase) returns() -func (_TaikoL1 *TaikoL1Transactor) Init(opts *bind.TransactOpts, _addressManager common.Address, _genesisBlockHash [32]byte, _feeBase *big.Int) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "init", _addressManager, _genesisBlockHash, _feeBase) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _basefee) returns() +func (_TaikoL1 *TaikoL1Transactor) Init(opts *bind.TransactOpts, _addressManager common.Address, _genesisBlockHash [32]byte, _basefee *big.Int) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "init", _addressManager, _genesisBlockHash, _basefee) } // Init is a paid mutator transaction binding the contract method 0x9c5e9f06. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _feeBase) returns() -func (_TaikoL1 *TaikoL1Session) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _feeBase *big.Int) (*types.Transaction, error) { - return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _feeBase) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _basefee) returns() +func (_TaikoL1 *TaikoL1Session) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _basefee *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _basefee) } // Init is a paid mutator transaction binding the contract method 0x9c5e9f06. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _feeBase) returns() -func (_TaikoL1 *TaikoL1TransactorSession) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _feeBase *big.Int) (*types.Transaction, error) { - return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _feeBase) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _basefee) returns() +func (_TaikoL1 *TaikoL1TransactorSession) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _basefee *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _basefee) } // ProposeBlock is a paid mutator transaction binding the contract method 0xa043dbdf. diff --git a/packages/relayer/contracts/taikol2/TaikoL2.go b/packages/relayer/contracts/taikol2/TaikoL2.go index 1e1de851ce1..041a57d5296 100644 --- a/packages/relayer/contracts/taikol2/TaikoL2.go +++ b/packages/relayer/contracts/taikol2/TaikoL2.go @@ -44,7 +44,7 @@ type TaikoDataConfig struct { SlotSmoothingFactor *big.Int RewardBurnBips *big.Int ProposerDepositPctg *big.Int - FeeBaseMAF *big.Int + BasefeeMAF *big.Int BlockTimeMAF *big.Int ProofTimeMAF *big.Int RewardMultiplierPctg uint64 @@ -60,12 +60,11 @@ type TaikoDataConfig struct { // TaikoL2MetaData contains all meta data concerning the TaikoL2 contract. var TaikoL2MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ERR_INVALID_HINT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_INVALID_TX_IDX\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_PARAMS_NOT_DEFAULTS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_VERIFICATION_FAILURE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_CHAIN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_GAS_PRICE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_SENDER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_PUBLIC_INPUT_HASH_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"}],\"name\":\"BlockInvalidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"}],\"name\":\"anchor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockHashHistory\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slotSmoothingFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeBaseMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rewardMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"},{\"internalType\":\"enumLibInvalidTxList.Hint\",\"name\":\"hint\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"txIdx\",\"type\":\"uint256\"}],\"name\":\"invalidateBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestSyncedL1Height\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ERR_INVALID_HINT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_INVALID_TX_IDX\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_PARAMS_NOT_DEFAULTS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_VERIFICAITON_FAILURE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_CHAIN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_GAS_PRICE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_SENDER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_PUBLIC_INPUT_HASH_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"}],\"name\":\"BlockInvalidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"}],\"name\":\"anchor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slotSmoothingFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basefeeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rewardMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"},{\"internalType\":\"enumLibInvalidTxList.Hint\",\"name\":\"hint\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"txIdx\",\"type\":\"uint256\"}],\"name\":\"invalidateBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestSyncedL1Height\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", } // TaikoL2ABI is the input ABI used to generate the binding from. -// Deprecated: Use TaikoL2MetaData.ABI instead. -var TaikoL2ABI = TaikoL2MetaData.ABI +const TaikoL2ABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"}],\"name\":\"BlockInvalidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"}],\"name\":\"anchor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"zkProofsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxProofsPerForkChoice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feePremiumLamda\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basefeeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"feeMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initialUncleDelay\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"},{\"internalType\":\"enumLibInvalidTxList.Reason\",\"name\":\"hint\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"txIdx\",\"type\":\"uint256\"}],\"name\":\"invalidateBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestSyncedL1Height\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publicInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]" // TaikoL2 is an auto generated Go binding around an Ethereum contract. type TaikoL2 struct { diff --git a/packages/relayer/encoding/storage_proof.go b/packages/relayer/encoding/storage_proof.go deleted file mode 100644 index aa4d35bf2be..00000000000 --- a/packages/relayer/encoding/storage_proof.go +++ /dev/null @@ -1,24 +0,0 @@ -package encoding - -import ( - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/pkg/errors" -) - -func EncodeStorageProof(accountProof []byte, storageProof []byte) ([]byte, error) { - args := abi.Arguments{ - { - Type: bytesT, - }, - { - Type: bytesT, - }, - } - - encodedStorageProof, err := args.Pack(accountProof, storageProof) - if err != nil { - return nil, errors.Wrap(err, "args.Pack") - } - - return encodedStorageProof, nil -} diff --git a/packages/relayer/encoding/storage_proof_test.go b/packages/relayer/encoding/storage_proof_test.go deleted file mode 100644 index d850b5d7d44..00000000000 --- a/packages/relayer/encoding/storage_proof_test.go +++ /dev/null @@ -1,20 +0,0 @@ -package encoding - -import ( - "testing" - - "github.com/ethereum/go-ethereum/common/hexutil" - "gopkg.in/go-playground/assert.v1" -) - -func Test_EncodeStorageProof(t *testing.T) { - // nolint: lll - accountProof := "0x00edb9377a94f02e691ea208a80a7bd13dcb51dfae3a389d3001a55c5fdf3f3ae70807df1d8ffcaeefa5dc56875a03dae3494d93bbf3074018fea52137a098433d9795f455fcfaf89b6456b970605bd0f70bec98418ef322fa5bba9874ab2277225a38c19f99275cd6d25d9cd4259c366c02b750056a6b71810034f95d34ae12c1298a95e6ba03de90dbbfacc5c8edbeb6ed93a0e01c08f3435b1ca944e9229a176804445432795c14dc315925fe2480084d6b0729c30fb1c2e50e481df5d7daa25769a0c74baf362ff02f2a934538cd11bf939f64377489255aa60a12628b130f4bddd30664d6b5f91d17cc110bee38a7ce5c629585e57d777bfbb2eaf09e15" - // nolint: lll - storageProof := "0xfdb3b1c60d5e8417c0c2c1023544837fb73612bbc7511bf30dd0b2e282f1618a7b39a9baa238904acf33a97b1617f4a971da22ac40faf828ceb651f76be9df259f91037b93fcc1e8c9c8004f84aff0fafa4e446c30a4cef66a5a9cf529541d40d49ba6c2c64311cb221d3b80c622e886ec3d6780a6bdb6c47fe4f2d9a8704ccdb9bb29feb58e79b81b5e24d39be45c32d9161b1b36fb49f36404c9bea5c505862a463b07c178e6b28ff53f23ecaa5f2ae02f2db4e57a2fc2aa4a014dc0fa6f835881dc0f1cda6ee66f32141e5a421731ce5e19d875aad61284a33b9e1bc6c895098b1f347063109403551360b675a443b06c6675fd6554e7245ee95036928665" - // nolint: lll - want := "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000010000edb9377a94f02e691ea208a80a7bd13dcb51dfae3a389d3001a55c5fdf3f3ae70807df1d8ffcaeefa5dc56875a03dae3494d93bbf3074018fea52137a098433d9795f455fcfaf89b6456b970605bd0f70bec98418ef322fa5bba9874ab2277225a38c19f99275cd6d25d9cd4259c366c02b750056a6b71810034f95d34ae12c1298a95e6ba03de90dbbfacc5c8edbeb6ed93a0e01c08f3435b1ca944e9229a176804445432795c14dc315925fe2480084d6b0729c30fb1c2e50e481df5d7daa25769a0c74baf362ff02f2a934538cd11bf939f64377489255aa60a12628b130f4bddd30664d6b5f91d17cc110bee38a7ce5c629585e57d777bfbb2eaf09e150000000000000000000000000000000000000000000000000000000000000100fdb3b1c60d5e8417c0c2c1023544837fb73612bbc7511bf30dd0b2e282f1618a7b39a9baa238904acf33a97b1617f4a971da22ac40faf828ceb651f76be9df259f91037b93fcc1e8c9c8004f84aff0fafa4e446c30a4cef66a5a9cf529541d40d49ba6c2c64311cb221d3b80c622e886ec3d6780a6bdb6c47fe4f2d9a8704ccdb9bb29feb58e79b81b5e24d39be45c32d9161b1b36fb49f36404c9bea5c505862a463b07c178e6b28ff53f23ecaa5f2ae02f2db4e57a2fc2aa4a014dc0fa6f835881dc0f1cda6ee66f32141e5a421731ce5e19d875aad61284a33b9e1bc6c895098b1f347063109403551360b675a443b06c6675fd6554e7245ee95036928665" - proof, err := EncodeStorageProof(hexutil.MustDecode(accountProof), hexutil.MustDecode(storageProof)) - assert.Equal(t, nil, err) - assert.Equal(t, hexutil.Encode(proof), want) -} diff --git a/packages/relayer/encoding/types.go b/packages/relayer/encoding/types.go index c6bfad5843a..7b8ed26c921 100644 --- a/packages/relayer/encoding/types.go +++ b/packages/relayer/encoding/types.go @@ -117,5 +117,3 @@ var signalProofT, _ = abi.NewType("tuple", "", []abi.ArgumentMarshaling{ Type: "bytes", }, }) - -var bytesT, _ = abi.NewType("bytes", "", nil) diff --git a/packages/relayer/proof/encoded_signal_proof.go b/packages/relayer/proof/encoded_signal_proof.go index 4e7d26681e0..83aaf4af3a7 100644 --- a/packages/relayer/proof/encoded_signal_proof.go +++ b/packages/relayer/proof/encoded_signal_proof.go @@ -77,20 +77,10 @@ func (p *Prover) encodedStorageProof( return nil, errors.New("proof will not be valid, expected storageProof to be 1 but was not") } - rlpEncodedAccountProof, err := rlp.EncodeToBytes(ethProof.AccountProof) - if err != nil { - return nil, errors.Wrap(err, "rlp.EncodeToBytes(proof.AccountProof") - } - rlpEncodedStorageProof, err := rlp.EncodeToBytes(ethProof.StorageProof[0].Proof) if err != nil { return nil, errors.Wrap(err, "rlp.EncodeToBytes(proof.StorageProof[0].Proof") } - encodedStorageProof, err := encoding.EncodeStorageProof(rlpEncodedAccountProof, rlpEncodedStorageProof) - if err != nil { - return nil, errors.Wrap(err, "encoding.EncodeStorageProof") - } - - return encodedStorageProof, nil + return rlpEncodedStorageProof, nil } diff --git a/packages/relayer/proof/encoded_signal_proof_test.go b/packages/relayer/proof/encoded_signal_proof_test.go index bf375c4942c..f1845faa48e 100644 --- a/packages/relayer/proof/encoded_signal_proof_test.go +++ b/packages/relayer/proof/encoded_signal_proof_test.go @@ -12,7 +12,7 @@ import ( var ( // nolint: lll - wantEncoded = "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003803a537c89809712367218bb171b3b1c46aa95df3dee7200ae9dc78f40520240681dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934700000000000000000000000000000000000000000000000000000000000000001dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493471dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493471dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000004d200000000000000000000000000000000000000000000000000000000000003001dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934700000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000" + wantEncoded = "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003803a537c89809712367218bb171b3b1c46aa95df3dee7200ae9dc78f40520240681dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934700000000000000000000000000000000000000000000000000000000000000001dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493471dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493471dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000000004d200000000000000000000000000000000000000000000000000000000000003001dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934700000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000" ) func Test_EncodedSignalProof(t *testing.T) { diff --git a/packages/status-page/src/constants/abi/TaikoL1.ts b/packages/status-page/src/constants/abi/TaikoL1.ts index 72b441cd597..2220bc4637f 100644 --- a/packages/status-page/src/constants/abi/TaikoL1.ts +++ b/packages/status-page/src/constants/abi/TaikoL1.ts @@ -473,12 +473,12 @@ export default [ }, { internalType: "uint256", - name: "maxNumBlocks", + name: "maxNumProposedBlocks", type: "uint256", }, { internalType: "uint256", - name: "blockHashHistory", + name: "maxNumVerifiedBlocks", type: "uint256", }, { @@ -533,7 +533,7 @@ export default [ }, { internalType: "uint256", - name: "feeBaseMAF", + name: "basefeeMAF", type: "uint256", }, { @@ -548,7 +548,7 @@ export default [ }, { internalType: "uint64", - name: "rewardMultiplierPctg", + name: "feeMultiplierPctg", type: "uint64", }, { @@ -558,7 +558,7 @@ export default [ }, { internalType: "uint64", - name: "feeMaxPeriodPctg", + name: "feeMaxPctg", type: "uint64", }, { @@ -746,7 +746,7 @@ export default [ components: [ { internalType: "uint256", - name: "feeBase", + name: "basefee", type: "uint256", }, { @@ -831,7 +831,7 @@ export default [ }, { internalType: "uint256", - name: "_feeBase", + name: "_basefee", type: "uint256", }, ], @@ -1051,7 +1051,7 @@ export default [ }, { internalType: "uint256", - name: "feeBase", + name: "basefee", type: "uint256", }, { diff --git a/packages/status-page/src/utils/getLastVerifiedBlockId.ts b/packages/status-page/src/utils/getLastVerifiedBlockId.ts index 1a5e9aa4659..a8a3564420d 100644 --- a/packages/status-page/src/utils/getLastVerifiedBlockId.ts +++ b/packages/status-page/src/utils/getLastVerifiedBlockId.ts @@ -7,6 +7,6 @@ export const getLastVerifiedBlockId = async ( ): Promise => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); const stateVariables = await contract.getStateVariables(); - const latestVerifiedId = stateVariables.latestVerifiedId; - return BigNumber.from(latestVerifiedId).toNumber(); + const lastBlockId = stateVariables.lastBlockId; + return BigNumber.from(lastBlockId).toNumber(); }; diff --git a/packages/status-page/src/utils/getPendingBlocks.ts b/packages/status-page/src/utils/getPendingBlocks.ts index 40a22fd064d..fcaa01a9468 100644 --- a/packages/status-page/src/utils/getPendingBlocks.ts +++ b/packages/status-page/src/utils/getPendingBlocks.ts @@ -8,6 +8,6 @@ export const getPendingBlocks = async ( const contract: Contract = new Contract(contractAddress, TaikoL1, provider); const stateVariables = await contract.getStateVariables(); const nextBlockId = stateVariables.nextBlockId; - const latestVerifiedId = stateVariables.latestVerifiedId; - return nextBlockId - latestVerifiedId - 1; + const lastBlockId = stateVariables.lastBlockId; + return nextBlockId - lastBlockId - 1; }; diff --git a/packages/tokenomics/.gitignore b/packages/tokenomics/.gitignore deleted file mode 100644 index 932765aeba6..00000000000 --- a/packages/tokenomics/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -__pycache__/ -venv diff --git a/packages/tokenomics/CHANGELOG.md b/packages/tokenomics/CHANGELOG.md deleted file mode 100644 index 61b27a90fae..00000000000 --- a/packages/tokenomics/CHANGELOG.md +++ /dev/null @@ -1,9 +0,0 @@ -# Changelog - -## [0.1.0](https://github.com/taikoxyz/taiko-mono/compare/tokenomics-v0.0.1...tokenomics-v0.1.0) (2023-01-19) - - -### Features - -* implement release-please workflow ([#12967](https://github.com/taikoxyz/taiko-mono/issues/12967)) ([b0c8b60](https://github.com/taikoxyz/taiko-mono/commit/b0c8b60da0af3160db758f83c1f6368a3a712593)) -* **protocol:** implement & simulate tokenomics ([#376](https://github.com/taikoxyz/taiko-mono/issues/376)) ([191eb11](https://github.com/taikoxyz/taiko-mono/commit/191eb110990d60b49883eb3f3d7841c33421d067)) diff --git a/packages/tokenomics/README.md b/packages/tokenomics/README.md deleted file mode 100644 index fc129660dc5..00000000000 --- a/packages/tokenomics/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# README - -## Installation - -You need to install python, **salabim**, **streamlit**, and **matplotlib**. - -```sh -python3 -m venv venv -pip install salabim streamlit matplotlib -``` - -## Usage - -Then in this directory, simply run `streamlit run main.py`, -then visit [http://localhost:8501](http://localhost:8501/) to see simulation results. diff --git a/packages/tokenomics/main.py b/packages/tokenomics/main.py index f637c36bf84..4715352c779 100644 --- a/packages/tokenomics/main.py +++ b/packages/tokenomics/main.py @@ -96,7 +96,7 @@ def setup(self, config): def get_time_adjusted_fee(self, is_proposal, t_now, t_last, t_avg, t_cap): # if (tAvg == 0) { - # return s.feeBase; + # return s.basefee; # } # uint256 _tAvg = tAvg > tCap ? tCap : tAvg; # uint256 tGrace = (LibConstants.K_FEE_GRACE_PERIOD * _tAvg) / 100; @@ -108,9 +108,9 @@ def get_time_adjusted_fee(self, is_proposal, t_now, t_last, t_avg, t_cap): # ((LibConstants.K_REWARD_MULTIPLIER - 100) * tRel) / # 100; # if (isProposal) { - # return (s.feeBase * 10000) / alpha; // fee + # return (s.basefee * 10000) / alpha; // fee # } else { - # return (s.feeBase * alpha) / 10000; // reward + # return (s.basefee * alpha) / 10000; // reward # } if t_avg == 0: diff --git a/packages/tokenomics/package.json b/packages/tokenomics/package.json deleted file mode 100644 index c7190abde75..00000000000 --- a/packages/tokenomics/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "@taiko/tokenomics", - "version": "0.1.0", - "private": true -} diff --git a/packages/tokenomics/plots.py b/packages/tokenomics/plots.py deleted file mode 100644 index 926848d139b..00000000000 --- a/packages/tokenomics/plots.py +++ /dev/null @@ -1,22 +0,0 @@ -import matplotlib.pyplot as plt -import matplotlib.ticker as ticker -import streamlit as st -import numpy as np - - -@ticker.FuncFormatter -def major_formatter(x, pos): - return "d%d" % (x / 24 / 3600) - - -def plot(days, sources, color="#E28BFD"): - fig, ax = plt.subplots(figsize=(15, 5), nrows=1, ncols=1) - for s in sources: - data = s[0].xt() - ax.plot(data[1], data[0], color, label=s[1]) - ax.legend(loc="lower center", fontsize=18.0) - ax.xaxis.set_ticks(np.arange(0, 24 * 3600 * (days + 1), 24 * 3600)) - ax.xaxis.set_tick_params(labelrotation=45) - ax.xaxis.set_major_formatter(major_formatter) - - st.write(fig) diff --git a/packages/tokenomics/present.py b/packages/tokenomics/present.py deleted file mode 100644 index 02b2e819762..00000000000 --- a/packages/tokenomics/present.py +++ /dev/null @@ -1,25 +0,0 @@ -from typing import NamedTuple - - -class Timing(NamedTuple): - block_time_avg_second: int - proof_time_avg_minute: int - - -class Config(NamedTuple): - max_blocks: int - lamda: float - fee_base: int - fee_maf: int - reward_multiplier: float - block_time_sd_pctg: int - proof_time_sd_pctg: int - time_avg_maf: int - timing: list[Timing] - - -class Present(NamedTuple): - title: str - desc: str - days: int - config: Config diff --git a/packages/tokenomics/presents/cbvp1.py b/packages/tokenomics/presents/cbvp1.py deleted file mode 100644 index f94cb1b9027..00000000000 --- a/packages/tokenomics/presents/cbvp1.py +++ /dev/null @@ -1,66 +0,0 @@ -from present import Config, Timing, Present - -present = Present( - title="cbvp1: constant block time, proof time goes down, up, then restores", - desc=""" - -**About this config** - -- the block time average set to a constant. -- the proof time average varies but eventually changes back to the initial value. - -**What to verify** -- fee_base will become smaller if proof time becomes larger. -- fee_base remains the same if proof time becomes smaller. - -""", - days=21, - config=Config( - max_blocks=2048, - lamda=590, - fee_base=100.0, - fee_maf=1024, - reward_multiplier=4.0, - time_avg_maf=1024, - block_time_sd_pctg=0, - proof_time_sd_pctg=0, - timing=[ - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45/1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45/1.3/1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45/1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45*1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45*1.3*1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45*1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - ], - ), -) diff --git a/packages/tokenomics/presents/cbvp2.py b/packages/tokenomics/presents/cbvp2.py deleted file mode 100644 index efa29142887..00000000000 --- a/packages/tokenomics/presents/cbvp2.py +++ /dev/null @@ -1,66 +0,0 @@ -from present import Config, Timing, Present - -present = Present( - title="cbvp2: constant block time, proof time goes up, down, then restores", - desc=""" - -**About this config** - -- the block time average set to a constant. -- the proof time average varies but eventually changes back to the initial value. - -**What to verify** -- fee_base will become smaller if proof time becomes larger. -- fee_base remains the same if proof time becomes smaller. - -""", - days=21, - config=Config( - max_blocks=2048, - lamda=590, - fee_base=100.0, - fee_maf=1024, - reward_multiplier=4.0, - time_avg_maf=1024, - block_time_sd_pctg=0, - proof_time_sd_pctg=0, - timing=[ - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45*1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45*1.3*1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45*1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45/1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45/1.3/1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45/1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - ], - ), -) diff --git a/packages/tokenomics/presents/p0.py b/packages/tokenomics/presents/p0.py deleted file mode 100644 index 52da6756a95..00000000000 --- a/packages/tokenomics/presents/p0.py +++ /dev/null @@ -1,34 +0,0 @@ -from present import Config, Timing, Present - -present = Present( - title="p0: block time and proof time both constant", - desc=""" - -**What to simulate?** - -The most basic model where the block time average and proof time average are both constant. - -**About this config** - -- TKO supply changes initially but stablizes. -- fee_base remains constant - -""", - days=7, - config=Config( - max_blocks=2048, - lamda=590, - fee_base=100.0, - fee_maf=1024, - reward_multiplier=4.0, - time_avg_maf=1024, - block_time_sd_pctg=0, - proof_time_sd_pctg=0, - timing=[ - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - ], - ), -) diff --git a/packages/tokenomics/presents/vbcp1.py b/packages/tokenomics/presents/vbcp1.py deleted file mode 100644 index 476c4d05397..00000000000 --- a/packages/tokenomics/presents/vbcp1.py +++ /dev/null @@ -1,66 +0,0 @@ -from present import Config, Timing, Present - -present = Present( - title="vbcp1: constant proof time, block time goes down, up, then restores", - desc=""" - -**About this config** - -- the proof time average set to a constant. -- the block time average varies but eventually changes back to the initial value. - -**What to verify** -- fee_base will become smaller if block time becomes larger. -- fee_base remains the same if block time becomes smaller. - -""", - days=21, - config=Config( - max_blocks=2048, - lamda=590, - fee_base=100.0, - fee_maf=1024, - reward_multiplier=4.0, - time_avg_maf=1024, - block_time_sd_pctg=0, - proof_time_sd_pctg=0, - timing=[ - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15/1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15/1.3/1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15/1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15*1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15*1.3*1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15*1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - ], - ), -) diff --git a/packages/tokenomics/presents/vbcp2.py b/packages/tokenomics/presents/vbcp2.py deleted file mode 100644 index c581fdb0c25..00000000000 --- a/packages/tokenomics/presents/vbcp2.py +++ /dev/null @@ -1,66 +0,0 @@ -from present import Config, Timing, Present - -present = Present( - title="vbcp2: constant proof time, block time goes up, down, then restores", - desc=""" - -**About this config** - -- the proof time average set to a constant. -- the block time average varies but eventually changes back to the initial value. - -**What to verify** -- fee_base will become smaller if block time becomes larger. -- fee_base remains the same if block time becomes smaller. - -""", - days=21, - config=Config( - max_blocks=2048, - lamda=590, - fee_base=100.0, - fee_maf=1024, - reward_multiplier=4.0, - time_avg_maf=1024, - block_time_sd_pctg=0, - proof_time_sd_pctg=0, - timing=[ - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15*1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15*1.3*1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15*1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15/1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15/1.3/1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15/1.3, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - ], - ), -) diff --git a/packages/tokenomics/presents/vbvps1.py b/packages/tokenomics/presents/vbvps1.py deleted file mode 100644 index 1808d62b917..00000000000 --- a/packages/tokenomics/presents/vbvps1.py +++ /dev/null @@ -1,57 +0,0 @@ -from present import Config, Timing, Present - -present = Present( - title="vbvps1: block time & proof time both go down, up to the SAME direction, then restores", - desc=""" - -""", - days=21, - config=Config( - max_blocks=2048, - lamda=590, - fee_base=100.0, - fee_maf=1024, - reward_multiplier=4.0, - time_avg_maf=1024, - block_time_sd_pctg=0, - proof_time_sd_pctg=0, - timing=[ - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15/1.3, - proof_time_avg_minute=45/1.3, - ), - Timing( - block_time_avg_second=15/1.3/1.3, - proof_time_avg_minute=45/1.3/1.3, - ), - Timing( - block_time_avg_second=15/1.3, - proof_time_avg_minute=45/1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15*1.3, - proof_time_avg_minute=45*1.3, - ), - Timing( - block_time_avg_second=15*1.3*1.3, - proof_time_avg_minute=45*1.3*1.3, - ), - Timing( - block_time_avg_second=15*1.3, - proof_time_avg_minute=45*1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - ], - ), -) diff --git a/packages/tokenomics/presents/vbvps2.py b/packages/tokenomics/presents/vbvps2.py deleted file mode 100644 index f93e04f0df8..00000000000 --- a/packages/tokenomics/presents/vbvps2.py +++ /dev/null @@ -1,56 +0,0 @@ -from present import Config, Timing, Present - -present = Present( - title="vbvps2: block time & proof time both go up, down to the SAME direction, then restores", - desc=""" -""", - days=21, - config=Config( - max_blocks=2048, - lamda=590, - fee_base=100.0, - fee_maf=1024, - reward_multiplier=4.0, - time_avg_maf=1024, - block_time_sd_pctg=0, - proof_time_sd_pctg=0, - timing=[ - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15*1.3, - proof_time_avg_minute=45*1.3, - ), - Timing( - block_time_avg_second=15*1.3*1.3, - proof_time_avg_minute=45*1.3*1.3, - ), - Timing( - block_time_avg_second=15*1.3, - proof_time_avg_minute=45*1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - Timing( - block_time_avg_second=15/1.3, - proof_time_avg_minute=45/1.3, - ), - Timing( - block_time_avg_second=15/1.3/1.3, - proof_time_avg_minute=45/1.3/1.3, - ), - Timing( - block_time_avg_second=15/1.3, - proof_time_avg_minute=45/1.3, - ), - Timing( - block_time_avg_second=15, - proof_time_avg_minute=45, - ), - ], - ), -) diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/ProofVerifier.md b/packages/website/pages/docs/reference/contract-documentation/L1/ProofVerifier.md deleted file mode 100644 index 0268f2ea5f7..00000000000 --- a/packages/website/pages/docs/reference/contract-documentation/L1/ProofVerifier.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: IProofVerifier ---- - -## IProofVerifier - -### verifyZKP - -```solidity -function verifyZKP(string verifierId, bytes zkproof, bytes32 instance) external view returns (bool verified) -``` - -### verifyMKP - -```solidity -function verifyMKP(bytes key, bytes value, bytes proof, bytes32 root) external pure returns (bool verified) -``` - -## ProofVerifier - -### init - -```solidity -function init(address addressManager) external -``` - -### verifyZKP - -```solidity -function verifyZKP(string verifierId, bytes zkproof, bytes32 instance) external view returns (bool) -``` - -### verifyMKP - -```solidity -function verifyMKP(bytes key, bytes value, bytes proof, bytes32 root) external pure returns (bool) -``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoConfig.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoConfig.md new file mode 100644 index 00000000000..c62f7f74720 --- /dev/null +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoConfig.md @@ -0,0 +1,7 @@ +## TaikoConfig + +### getConfig + +```solidity +function getConfig() internal pure returns (struct TaikoData.Config) +``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoCustomErrors.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoCustomErrors.md deleted file mode 100644 index 11961f15341..00000000000 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoCustomErrors.md +++ /dev/null @@ -1,227 +0,0 @@ ---- -title: TaikoCustomErrors ---- - -## TaikoCustomErrors - -### L1_0_FEE_BASE - -```solidity -error L1_0_FEE_BASE() -``` - -### L1_ALREADY_PROVEN - -```solidity -error L1_ALREADY_PROVEN() -``` - -### L1_ANCHOR_CALLDATA - -```solidity -error L1_ANCHOR_CALLDATA() -``` - -### L1_ANCHOR_DEST - -```solidity -error L1_ANCHOR_DEST() -``` - -### L1_ANCHOR_GAS_LIMIT - -```solidity -error L1_ANCHOR_GAS_LIMIT() -``` - -### L1_ANCHOR_RECEIPT_ADDR - -```solidity -error L1_ANCHOR_RECEIPT_ADDR() -``` - -### L1_ANCHOR_RECEIPT_DATA - -```solidity -error L1_ANCHOR_RECEIPT_DATA() -``` - -### L1_ANCHOR_RECEIPT_LOGS - -```solidity -error L1_ANCHOR_RECEIPT_LOGS() -``` - -### L1_ANCHOR_RECEIPT_PROOF - -```solidity -error L1_ANCHOR_RECEIPT_PROOF() -``` - -### L1_ANCHOR_RECEIPT_STATUS - -```solidity -error L1_ANCHOR_RECEIPT_STATUS() -``` - -### L1_ANCHOR_RECEIPT_TOPICS - -```solidity -error L1_ANCHOR_RECEIPT_TOPICS() -``` - -### L1_ANCHOR_SIG_R - -```solidity -error L1_ANCHOR_SIG_R() -``` - -### L1_ANCHOR_SIG_S - -```solidity -error L1_ANCHOR_SIG_S() -``` - -### L1_ANCHOR_TX_PROOF - -```solidity -error L1_ANCHOR_TX_PROOF() -``` - -### L1_ANCHOR_TYPE - -```solidity -error L1_ANCHOR_TYPE() -``` - -### L1_BLOCK_NUMBER - -```solidity -error L1_BLOCK_NUMBER() -``` - -### L1_CANNOT_BE_FIRST_PROVER - -```solidity -error L1_CANNOT_BE_FIRST_PROVER() -``` - -### L1_COMMITTED - -```solidity -error L1_COMMITTED() -``` - -### L1_CONFLICT_PROOF - -```solidity -error L1_CONFLICT_PROOF() -``` - -### L1_CONTRACT_NOT_ALLOWED - -```solidity -error L1_CONTRACT_NOT_ALLOWED() -``` - -### L1_DUP_PROVERS - -```solidity -error L1_DUP_PROVERS() -``` - -### L1_EXTRA_DATA - -```solidity -error L1_EXTRA_DATA() -``` - -### L1_GAS_LIMIT - -```solidity -error L1_GAS_LIMIT() -``` - -### L1_ID - -```solidity -error L1_ID() -``` - -### L1_INPUT_SIZE - -```solidity -error L1_INPUT_SIZE() -``` - -### L1_INVALID_CONFIG - -```solidity -error L1_INVALID_CONFIG() -``` - -### L1_INVALID_PARAM - -```solidity -error L1_INVALID_PARAM() -``` - -### L1_METADATA_FIELD - -```solidity -error L1_METADATA_FIELD() -``` - -### L1_META_MISMATCH - -```solidity -error L1_META_MISMATCH() -``` - -### L1_NOT_COMMITTED - -```solidity -error L1_NOT_COMMITTED() -``` - -### L1_NOT_ORACLE_PROVER - -```solidity -error L1_NOT_ORACLE_PROVER() -``` - -### L1_PROOF_LENGTH - -```solidity -error L1_PROOF_LENGTH() -``` - -### L1_PROVER - -```solidity -error L1_PROVER() -``` - -### L1_SOLO_PROPOSER - -```solidity -error L1_SOLO_PROPOSER() -``` - -### L1_TOO_MANY_BLOCKS - -```solidity -error L1_TOO_MANY_BLOCKS() -``` - -### L1_TX_LIST - -```solidity -error L1_TX_LIST() -``` - -### L1_ZKP - -```solidity -error L1_ZKP() -``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md index e17be308bd3..f39822ec20b 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md @@ -9,30 +9,54 @@ title: TaikoData ```solidity struct Config { uint256 chainId; - uint256 maxNumBlocks; - uint256 blockHashHistory; + uint256 maxNumProposedBlocks; + uint256 ringBufferSize; + uint256 maxNumVerifiedBlocks; uint256 maxVerificationsPerTx; - uint256 commitConfirmations; uint256 blockMaxGasLimit; uint256 maxTransactionsPerBlock; uint256 maxBytesPerTxList; uint256 minTxGasLimit; - uint256 anchorTxGasLimit; - uint256 slotSmoothingFactor; - uint256 rewardBurnBips; - uint256 proposerDepositPctg; - uint256 feeBaseMAF; - uint256 blockTimeMAF; - uint256 proofTimeMAF; - uint64 rewardMultiplierPctg; - uint64 feeGracePeriodPctg; - uint64 feeMaxPeriodPctg; - uint64 blockTimeCap; - uint64 proofTimeCap; - uint64 bootstrapDiscountHalvingPeriod; - bool enableTokenomics; - bool enablePublicInputsCheck; - bool enableAnchorValidation; + uint256 txListCacheExpiry; + uint256 proofCooldownPeriod; + uint64 minEthDepositsPerBlock; + uint64 maxEthDepositsPerBlock; + uint96 maxEthDepositAmount; + uint96 minEthDepositAmount; + uint64 proofTimeTarget; + uint8 adjustmentQuotient; + bool relaySignalRoot; + bool enableSoloProposer; +} +``` + +### StateVariables + +```solidity +struct StateVariables { + uint64 basefee; + uint64 accBlockFees; + uint64 genesisHeight; + uint64 genesisTimestamp; + uint64 numBlocks; + uint64 proofTimeIssued; + uint64 lastVerifiedBlockId; + uint64 accProposedAt; + uint64 nextEthDepositToProcess; + uint64 numEthDeposits; +} +``` + +### BlockMetadataInput + +```solidity +struct BlockMetadataInput { + bytes32 txListHash; + address beneficiary; + uint32 gasLimit; + uint24 txListByteStart; + uint24 txListByteEnd; + uint8 cacheTxListInfo; } ``` @@ -40,50 +64,83 @@ struct Config { ```solidity struct BlockMetadata { - uint256 id; - uint256 l1Height; + uint64 id; + uint64 timestamp; + uint64 l1Height; bytes32 l1Hash; - address beneficiary; - bytes32 txListHash; bytes32 mixHash; - bytes extraData; - uint64 gasLimit; - uint64 timestamp; - uint64 commitHeight; - uint64 commitSlot; + bytes32 depositsRoot; + bytes32 txListHash; + uint24 txListByteStart; + uint24 txListByteEnd; + uint32 gasLimit; + address beneficiary; + uint8 cacheTxListInfo; + address treasure; + struct TaikoData.EthDeposit[] depositsProcessed; +} +``` + +### BlockEvidence + +```solidity +struct BlockEvidence { + bytes32 metaHash; + bytes32 parentHash; + bytes32 blockHash; + bytes32 signalRoot; + bytes32 graffiti; + address prover; + uint32 parentGasUsed; + uint32 gasUsed; + uint16 verifierId; + bytes proof; } ``` -### Evidence +### ForkChoice ```solidity -struct Evidence { - struct TaikoData.BlockMetadata meta; - struct BlockHeader header; +struct ForkChoice { + bytes32 key; + bytes32 blockHash; + bytes32 signalRoot; + uint64 provenAt; address prover; - bytes[] proofs; - uint16 circuitId; + uint32 gasUsed; } ``` -### ProposedBlock +### Block ```solidity -struct ProposedBlock { +struct Block { + mapping(uint256 => struct TaikoData.ForkChoice) forkChoices; + uint64 blockId; + uint64 proposedAt; + uint64 deposit; + uint24 nextForkChoiceId; + uint24 verifiedForkChoiceId; bytes32 metaHash; - uint256 deposit; address proposer; - uint64 proposedAt; } ``` -### ForkChoice +### TxListInfo ```solidity -struct ForkChoice { - bytes32 blockHash; - address prover; - uint64 provenAt; +struct TxListInfo { + uint64 validSince; + uint24 size; +} +``` + +### EthDeposit + +```solidity +struct EthDeposit { + address recipient; + uint96 amount; } ``` @@ -91,24 +148,24 @@ struct ForkChoice { ```solidity struct State { - mapping(uint256 => bytes32) l2Hashes; - mapping(uint256 => struct TaikoData.ProposedBlock) proposedBlocks; - mapping(uint256 => mapping(bytes32 => struct TaikoData.ForkChoice)) forkChoices; - mapping(address => mapping(uint256 => bytes32)) commits; - mapping(address => uint256) balances; + mapping(uint256 => struct TaikoData.Block) blocks; + mapping(uint256 => mapping(bytes32 => mapping(uint32 => uint256))) forkChoiceIds; + mapping(address => uint256) taikoTokenBalances; + mapping(bytes32 => struct TaikoData.TxListInfo) txListInfo; + struct TaikoData.EthDeposit[] ethDeposits; + bytes32 staticRefs; uint64 genesisHeight; uint64 genesisTimestamp; - uint64 __reservedA1; - uint64 __reservedA2; - uint256 feeBase; - uint64 nextBlockId; - uint64 lastProposedAt; - uint64 avgBlockTime; - uint64 __avgGasLimit; - uint64 latestVerifiedHeight; - uint64 latestVerifiedId; - uint64 avgProofTime; - uint64 __reservedC1; - uint256[42] __gap; + uint64 __reserved71; + uint64 __reserved72; + uint64 accProposedAt; + uint64 accBlockFees; + uint64 numBlocks; + uint64 nextEthDepositToProcess; + uint64 basefee; + uint64 proofTimeIssued; + uint64 lastVerifiedBlockId; + uint64 __reserved91; + uint256[41] __gap; } ``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md new file mode 100644 index 00000000000..24582eac189 --- /dev/null +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md @@ -0,0 +1,145 @@ +## TaikoErrors + +### L1_1559_X_SCALE_TOO_LARGE + +```solidity +error L1_1559_X_SCALE_TOO_LARGE() +``` + +### L1_1559_Y_SCALE_TOO_LARGE + +```solidity +error L1_1559_Y_SCALE_TOO_LARGE() +``` + +### L1_ALREADY_PROVEN + +```solidity +error L1_ALREADY_PROVEN() +``` + +### L1_BLOCK_ID + +```solidity +error L1_BLOCK_ID() +``` + +### L1_CONTRACT_NOT_ALLOWED + +```solidity +error L1_CONTRACT_NOT_ALLOWED() +``` + +### L1_EVIDENCE_MISMATCH + +```solidity +error L1_EVIDENCE_MISMATCH(bytes32 expected, bytes32 actual) +``` + +### L1_FORK_CHOICE_NOT_FOUND + +```solidity +error L1_FORK_CHOICE_NOT_FOUND() +``` + +### L1_INSUFFICIENT_ETHER + +```solidity +error L1_INSUFFICIENT_ETHER() +``` + +### L1_INSUFFICIENT_TOKEN + +```solidity +error L1_INSUFFICIENT_TOKEN() +``` + +### L1_INVALID_CONFIG + +```solidity +error L1_INVALID_CONFIG() +``` + +### L1_INVALID_ETH_DEPOSIT + +```solidity +error L1_INVALID_ETH_DEPOSIT() +``` + +### L1_INVALID_EVIDENCE + +```solidity +error L1_INVALID_EVIDENCE() +``` + +### L1_INVALID_L21559_PARAMS + +```solidity +error L1_INVALID_L21559_PARAMS() +``` + +### L1_INVALID_METADATA + +```solidity +error L1_INVALID_METADATA() +``` + +### L1_INVALID_PARAM + +```solidity +error L1_INVALID_PARAM() +``` + +### L1_INVALID_PROOF + +```solidity +error L1_INVALID_PROOF() +``` + +### L1_NOT_ORACLE_PROVER + +```solidity +error L1_NOT_ORACLE_PROVER() +``` + +### L1_NOT_SOLO_PROPOSER + +```solidity +error L1_NOT_SOLO_PROPOSER() +``` + +### L1_ORACLE_DISABLED + +```solidity +error L1_ORACLE_DISABLED() +``` + +### L1_TOO_MANY_BLOCKS + +```solidity +error L1_TOO_MANY_BLOCKS() +``` + +### L1_TX_LIST_NOT_EXIST + +```solidity +error L1_TX_LIST_NOT_EXIST() +``` + +### L1_TX_LIST_HASH + +```solidity +error L1_TX_LIST_HASH() +``` + +### L1_TX_LIST_RANGE + +```solidity +error L1_TX_LIST_RANGE() +``` + +### L1_TX_LIST + +```solidity +error L1_TX_LIST() +``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoEvents.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoEvents.md index 119dc77917e..6147f08eb9b 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoEvents.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoEvents.md @@ -4,26 +4,26 @@ title: TaikoEvents ## TaikoEvents -### BlockVerified +### BlockProposed ```solidity -event BlockVerified(uint256 id, bytes32 blockHash) +event BlockProposed(uint256 id, struct TaikoData.BlockMetadata meta) ``` -### BlockCommitted +### BlockProven ```solidity -event BlockCommitted(uint64 commitSlot, bytes32 commitHash) +event BlockProven(uint256 id, bytes32 parentHash, bytes32 blockHash, bytes32 signalRoot, address prover) ``` -### BlockProposed +### BlockVerified ```solidity -event BlockProposed(uint256 id, struct TaikoData.BlockMetadata meta) +event BlockVerified(uint256 id, bytes32 blockHash) ``` -### BlockProven +### EthDeposited ```solidity -event BlockProven(uint256 id, bytes32 parentHash, bytes32 blockHash, address prover, uint64 provenAt) +event EthDeposited(struct TaikoData.EthDeposit deposit) ``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md index aab1821ccf6..6f177e79e3f 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md @@ -10,53 +10,48 @@ title: TaikoL1 struct TaikoData.State state ``` -### onlyFromEOA +### receive ```solidity -modifier onlyFromEOA() +receive() external payable ``` ### init ```solidity -function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _feeBase) external +function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBasefee, uint64 _initProofTimeIssued) external ``` -### commitBlock - -```solidity -function commitBlock(uint64 commitSlot, bytes32 commitHash) external -``` - -Write a _commit hash_ so a few blocks later a L2 block can be proposed -such that `calculateCommitHash(meta.beneficiary, meta.txListHash)` equals -to this commit hash. +Initialize the rollup. #### Parameters -| Name | Type | Description | -| ---------- | ------- | --------------------------------------------------------------------------- | -| commitSlot | uint64 | A slot to save this commit. Slot 0 will always be reset to zero for refund. | -| commitHash | bytes32 | Calculated with: `calculateCommitHash(beneficiary, txListHash)`. | +| Name | Type | Description | +| --------------------- | ------- | ------------------------------------------------------------ | +| \_addressManager | address | The AddressManager address. | +| \_genesisBlockHash | bytes32 | The block hash of the genesis block. | +| \_initBasefee | uint64 | Initial (reasonable) basefee value. | +| \_initProofTimeIssued | uint64 | Initial proof time which keeps the inflow/outflow in balance | ### proposeBlock ```solidity -function proposeBlock(bytes[] inputs) external +function proposeBlock(bytes input, bytes txList) external returns (struct TaikoData.BlockMetadata meta) ``` Propose a Taiko L2 block. #### Parameters -| Name | Type | Description | -| ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| inputs | bytes[] | A list of data input: - inputs[0] is abi-encoded BlockMetadata that the actual L2 block header must satisfy. Note the following fields in the provided meta object must be zeros -- their actual values will be provisioned by Ethereum. - id - l1Height - l1Hash - mixHash - timestamp - inputs[1] is a list of transactions in this block, encoded with RLP. Note, in the corresponding L2 block an _anchor transaction_ will be the first transaction in the block -- if there are n transactions in `txList`, then there will be up to n+1 transactions in the L2 block. | +| Name | Type | Description | +| ------ | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| input | bytes | An abi-encoded BlockMetadataInput that the actual L2 block header must satisfy. | +| txList | bytes | A list of transactions in this block, encoded with RLP. Note, in the corresponding L2 block an _anchor transaction_ will be the first transaction in the block -- if there are `n` transactions in `txList`, then there will be up to `n + 1` transactions in the L2 block. | ### proveBlock ```solidity -function proveBlock(uint256 blockId, bytes[] inputs) external +function proveBlock(uint256 blockId, bytes input) external ``` Prove a block is valid with a zero-knowledge proof, a transaction @@ -64,26 +59,10 @@ merkel proof, and a receipt merkel proof. #### Parameters -| Name | Type | Description | -| ------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| blockId | uint256 | The index of the block to prove. This is also used to select the right implementation version. | -| inputs | bytes[] | A list of data input: - inputs[0] is an abi-encoded object with various information regarding the block to be proven and the actual proofs. - inputs[1] is the actual anchor transaction in this L2 block. Note that the anchor transaction is always the first transaction in the block. - inputs[2] is the receipt of the anchor transaction. | - -### proveBlockInvalid - -```solidity -function proveBlockInvalid(uint256 blockId, bytes[] inputs) external -``` - -Prove a block is invalid with a zero-knowledge proof and a receipt -merkel proof. - -#### Parameters - -| Name | Type | Description | -| ------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| blockId | uint256 | The index of the block to prove. This is also used to select the right implementation version. | -| inputs | bytes[] | A list of data input: - inputs[0] An Evidence object with various information regarding the block to be proven and the actual proofs. - inputs[1] The target block to be proven invalid. - inputs[2] The receipt for the `invalidBlock` transaction on L2. Note that the `invalidBlock` transaction is supposed to be the only transaction in the L2 block. | +| Name | Type | Description | +| ------- | ------- | ---------------------------------------------------------------------------------------------- | +| blockId | uint256 | The index of the block to prove. This is also used to select the right implementation version. | +| input | bytes | An abi-encoded TaikoData.ValidBlockEvidence object. | ### verifyBlocks @@ -99,70 +78,70 @@ Verify up to N blocks. | --------- | ------- | ------------------------------- | | maxBlocks | uint256 | Max number of blocks to verify. | -### withdrawBalance +### depositTaikoToken ```solidity -function withdrawBalance() external +function depositTaikoToken(uint256 amount) external ``` -### getRewardBalance +### withdrawTaikoToken ```solidity -function getRewardBalance(address addr) public view returns (uint256) +function withdrawTaikoToken(uint256 amount) external ``` -### getBlockFee +### depositEtherToL2 ```solidity -function getBlockFee() public view returns (uint256) +function depositEtherToL2() public payable ``` -### getProofReward +### getTaikoTokenBalance ```solidity -function getProofReward(uint64 provenAt, uint64 proposedAt) public view returns (uint256 reward) +function getTaikoTokenBalance(address addr) public view returns (uint256) ``` -### isCommitValid +### getBlockFee ```solidity -function isCommitValid(uint256 commitSlot, uint256 commitHeight, bytes32 commitHash) public view returns (bool) +function getBlockFee() public view returns (uint64) ``` -### getProposedBlock +### getProofReward ```solidity -function getProposedBlock(uint256 id) public view returns (struct TaikoData.ProposedBlock) +function getProofReward(uint64 provenAt, uint64 proposedAt) public view returns (uint64) ``` -### getSyncedHeader +### getBlock ```solidity -function getSyncedHeader(uint256 number) public view returns (bytes32) +function getBlock(uint256 blockId) public view returns (bytes32 _metaHash, uint256 _deposit, address _proposer, uint64 _proposedAt) ``` -### getLatestSyncedHeader +### getForkChoice ```solidity -function getLatestSyncedHeader() public view returns (bytes32) +function getForkChoice(uint256 blockId, bytes32 parentHash, uint32 parentGasUsed) public view returns (struct TaikoData.ForkChoice) ``` -### getStateVariables +### getXchainBlockHash ```solidity -function getStateVariables() public view returns (struct LibUtils.StateVariables) +function getXchainBlockHash(uint256 blockId) public view returns (bytes32) ``` -### signWithGoldenTouch +### getXchainSignalRoot ```solidity -function signWithGoldenTouch(bytes32 hash, uint8 k) public view returns (uint8 v, uint256 r, uint256 s) +function getXchainSignalRoot(uint256 blockId) public view returns (bytes32) ``` -### getForkChoice +### getStateVariables ```solidity -function getForkChoice(uint256 id, bytes32 parentHash) public view returns (struct TaikoData.ForkChoice) +function getStateVariables() public view returns (struct TaikoData.StateVariables) ``` ### getConfig @@ -170,3 +149,9 @@ function getForkChoice(uint256 id, bytes32 parentHash) public view returns (stru ```solidity function getConfig() public pure virtual returns (struct TaikoData.Config) ``` + +### getVerifierName + +```solidity +function getVerifierName(uint16 id) public pure returns (string) +``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoToken.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoToken.md index b7a083af748..a1a175160eb 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoToken.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoToken.md @@ -24,10 +24,22 @@ event Burn(address account, uint256 amount) error TKO_INVALID_ADDR() ``` +### TKO_INVALID_PREMINT_PARAMS + +```solidity +error TKO_INVALID_PREMINT_PARAMS() +``` + +### TKO_MINT_DISALLOWED + +```solidity +error TKO_MINT_DISALLOWED() +``` + ### init ```solidity -function init(string _name, string _symbol, address _addressManager) external +function init(address _addressManager, string _name, string _symbol, address[] _premintRecipients, uint256[] _premintAmounts) external ``` _Initializer to be called after being deployed behind a proxy. @@ -77,3 +89,9 @@ the circulating supply._ | ------- | ------- | ------------------------------------ | | account | address | The address to burn the tokens from. | | amount | uint256 | The amount of tokens to burn. | + +### \_mint + +```solidity +function _mint(address account, uint256 amount) internal +``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L2/LibL2Consts.md b/packages/website/pages/docs/reference/contract-documentation/L2/LibL2Consts.md new file mode 100644 index 00000000000..bc1878d609a --- /dev/null +++ b/packages/website/pages/docs/reference/contract-documentation/L2/LibL2Consts.md @@ -0,0 +1,7 @@ +## LibL2Consts + +### ANCHOR_GAS_COST + +```solidity +uint64 ANCHOR_GAS_COST +``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2.md b/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2.md index b6656f19616..d704cb740d0 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2.md +++ b/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2.md @@ -4,22 +4,91 @@ title: TaikoL2 ## TaikoL2 +### VerifiedBlock + +```solidity +struct VerifiedBlock { + bytes32 blockHash; + bytes32 signalRoot; +} +``` + +### EIP1559Params + +```solidity +struct EIP1559Params { + uint64 basefee; + uint64 gasIssuedPerSecond; + uint64 gasExcessMax; + uint64 gasTarget; + uint64 ratio2x1x; +} +``` + +### publicInputHash + +```solidity +bytes32 publicInputHash +``` + +### yscale + +```solidity +uint128 yscale +``` + +### xscale + +```solidity +uint64 xscale +``` + +### gasIssuedPerSecond + +```solidity +uint64 gasIssuedPerSecond +``` + +### parentTimestamp + +```solidity +uint64 parentTimestamp +``` + ### latestSyncedL1Height ```solidity -uint256 latestSyncedL1Height +uint64 latestSyncedL1Height ``` -### BlockInvalidated +### gasExcess ```solidity -event BlockInvalidated(bytes32 txListHash) +uint64 gasExcess ``` -### L2_INVALID_SENDER +### \_\_reserved1 ```solidity -error L2_INVALID_SENDER() +uint64 __reserved1 +``` + +### Anchored + +```solidity +event Anchored(uint64 number, uint64 basefee, uint64 gaslimit, uint64 timestamp, bytes32 parentHash, uint256 prevrandao, address coinbase, uint32 chainid) +``` + +### L2_BASEFEE_MISMATCH + +```solidity +error L2_BASEFEE_MISMATCH(uint64 expected, uint64 actual) +``` + +### L2_INVALID_1559_PARAMS + +```solidity +error L2_INVALID_1559_PARAMS() ``` ### L2_INVALID_CHAIN_ID @@ -28,28 +97,46 @@ error L2_INVALID_SENDER() error L2_INVALID_CHAIN_ID() ``` -### L2_INVALID_GAS_PRICE +### L2_INVALID_SENDER ```solidity -error L2_INVALID_GAS_PRICE() +error L2_INVALID_SENDER() ``` ### L2_PUBLIC_INPUT_HASH_MISMATCH ```solidity -error L2_PUBLIC_INPUT_HASH_MISMATCH() +error L2_PUBLIC_INPUT_HASH_MISMATCH(bytes32 expected, bytes32 actual) ``` -### constructor +### L2_TOO_LATE ```solidity -constructor(address _addressManager) public +error L2_TOO_LATE() +``` + +### M1559_UNEXPECTED_CHANGE + +```solidity +error M1559_UNEXPECTED_CHANGE(uint64 expected, uint64 actual) +``` + +### M1559_OUT_OF_STOCK + +```solidity +error M1559_OUT_OF_STOCK() +``` + +### init + +```solidity +function init(address _addressManager, struct TaikoL2.EIP1559Params _param1559) external ``` ### anchor ```solidity -function anchor(uint256 l1Height, bytes32 l1Hash) external +function anchor(bytes32 l1Hash, bytes32 l1SignalRoot, uint64 l1Height, uint64 parentGasUsed) external ``` Persist the latest L1 block height and hash to L2 for cross-layer @@ -57,48 +144,69 @@ message verification (eg. bridging). This function will also check certain block-level global variables because they are not part of the Trie structure. -Note: This transaction shall be the first transaction in every L2 block. +A circuit will verify the integrity among: + +- l1Hash, l1SignalRoot, and l1SignalServiceAddress +- (l1Hash and l1SignalServiceAddress) are both hashed into of the + ZKP's instance. + +This transaction shall be the first transaction in every L2 block. #### Parameters -| Name | Type | Description | -| -------- | ------- | -------------------------------------------------------- | -| l1Height | uint256 | The latest L1 block height when this block was proposed. | -| l1Hash | bytes32 | The latest L1 block hash when this block was proposed. | +| Name | Type | Description | +| ------------- | ------- | --------------------------------------------------------- | +| l1Hash | bytes32 | The latest L1 block hash when this block was proposed. | +| l1SignalRoot | bytes32 | The latest value of the L1 "signal service storage root". | +| l1Height | uint64 | The latest L1 block height when this block was proposed. | +| parentGasUsed | uint64 | the gas used in the parent block. | + +### getBasefee + +```solidity +function getBasefee(uint32 timeSinceParent, uint64 gasLimit, uint64 parentGasUsed) public view returns (uint256 _basefee) +``` -### invalidateBlock +### getXchainBlockHash ```solidity -function invalidateBlock(bytes txList, enum LibInvalidTxList.Hint hint, uint256 txIdx) external +function getXchainBlockHash(uint256 number) public view returns (bytes32) ``` -Invalidate a L2 block by verifying its txList is not intrinsically valid. +Returns the cross-chain block hash at the given block number. #### Parameters -| Name | Type | Description | -| ------ | -------------------------- | ------------------------------------------------------------------------------------------------ | -| txList | bytes | The L2 block's txlist. | -| hint | enum LibInvalidTxList.Hint | A hint for this method to invalidate the txList. | -| txIdx | uint256 | If the hint is for a specific transaction in txList, txIdx specifies which transaction to check. | +| Name | Type | Description | +| ------ | ------- | --------------------------------------------- | +| number | uint256 | The block number. Use 0 for the latest block. | -### getConfig +#### Return Values -```solidity -function getConfig() public view virtual returns (struct TaikoData.Config config) -``` +| Name | Type | Description | +| ---- | ------- | --------------------------- | +| [0] | bytes32 | The cross-chain block hash. | -### getSyncedHeader +### getXchainSignalRoot ```solidity -function getSyncedHeader(uint256 number) public view returns (bytes32) +function getXchainSignalRoot(uint256 number) public view returns (bytes32) ``` -### getLatestSyncedHeader +Returns the cross-chain signal service storage root at the given +block number. -```solidity -function getLatestSyncedHeader() public view returns (bytes32) -``` +#### Parameters + +| Name | Type | Description | +| ------ | ------- | --------------------------------------------- | +| number | uint256 | The block number. Use 0 for the latest block. | + +#### Return Values + +| Name | Type | Description | +| ---- | ------- | -------------------------------------------- | +| [0] | bytes32 | The cross-chain signal service storage root. | ### getBlockHash diff --git a/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2Signer.md b/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2Signer.md new file mode 100644 index 00000000000..25017ebae24 --- /dev/null +++ b/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2Signer.md @@ -0,0 +1,25 @@ +## TaikoL2Signer + +### GOLDEN_TOUCH_ADDRESS + +```solidity +address GOLDEN_TOUCH_ADDRESS +``` + +### GOLDEN_TOUCH_PRIVATEKEY + +```solidity +uint256 GOLDEN_TOUCH_PRIVATEKEY +``` + +### L2_INVALID_GOLDEN_TOUCH_K + +```solidity +error L2_INVALID_GOLDEN_TOUCH_K() +``` + +### signAnchor + +```solidity +function signAnchor(bytes32 digest, uint8 k) public view returns (uint8 v, uint256 r, uint256 s) +``` diff --git a/packages/website/pages/docs/reference/contract-documentation/_meta.json b/packages/website/pages/docs/reference/contract-documentation/_meta.json deleted file mode 100644 index aef85b496d2..00000000000 --- a/packages/website/pages/docs/reference/contract-documentation/_meta.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "L1": { - "title": "L1" - }, - "L2": { - "title": "L2" - }, - "common": { - "title": "Common" - }, - "signal": { - "title": "Signal" - }, - "bridge": { - "title": "Bridge" - } -} diff --git a/packages/website/pages/docs/reference/contract-documentation/bridge/BridgeCustomErrors.md b/packages/website/pages/docs/reference/contract-documentation/bridge/BridgeCustomErrors.md deleted file mode 100644 index 52e6a13fb48..00000000000 --- a/packages/website/pages/docs/reference/contract-documentation/bridge/BridgeCustomErrors.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: BridgeCustomErrors ---- - -## BridgeCustomErrors - -### B_CANNOT_RECEIVE - -```solidity -error B_CANNOT_RECEIVE() -``` - -### B_DENIED - -```solidity -error B_DENIED() -``` - -### B_ERC20_CANNOT_RECEIVE - -```solidity -error B_ERC20_CANNOT_RECEIVE() -``` - -### B_ETHER_RELEASED_ALREADY - -```solidity -error B_ETHER_RELEASED_ALREADY() -``` - -### B_EV_DO_NOT_BURN - -```solidity -error B_EV_DO_NOT_BURN() -``` - -### B_EV_NOT_AUTHORIZED - -```solidity -error B_EV_NOT_AUTHORIZED() -``` - -### B_EV_PARAM - -```solidity -error B_EV_PARAM() -``` - -### B_FAILED_TRANSFER - -```solidity -error B_FAILED_TRANSFER() -``` - -### B_FORBIDDEN - -```solidity -error B_FORBIDDEN() -``` - -### B_GAS_LIMIT - -```solidity -error B_GAS_LIMIT() -``` - -### B_INCORRECT_VALUE - -```solidity -error B_INCORRECT_VALUE() -``` - -### B_INIT_PARAM_ERROR - -```solidity -error B_INIT_PARAM_ERROR() -``` - -### B_MSG_HASH_NULL - -```solidity -error B_MSG_HASH_NULL() -``` - -### B_MSG_NON_RETRIABLE - -```solidity -error B_MSG_NON_RETRIABLE() -``` - -### B_MSG_NOT_FAILED - -```solidity -error B_MSG_NOT_FAILED() -``` - -### B_NULL_APP_ADDR - -```solidity -error B_NULL_APP_ADDR() -``` - -### B_OWNER_IS_NULL - -```solidity -error B_OWNER_IS_NULL() -``` - -### B_SIGNAL_NOT_RECEIVED - -```solidity -error B_SIGNAL_NOT_RECEIVED() -``` - -### B_STATUS_MISMTACH - -```solidity -error B_STATUS_MISMTACH() -``` - -### B_WRONG_CHAIN_ID - -```solidity -error B_WRONG_CHAIN_ID() -``` - -### B_WRONG_TO_ADDRESS - -```solidity -error B_WRONG_TO_ADDRESS() -``` - -### B_ZERO_SIGNAL - -```solidity -error B_ZERO_SIGNAL() -``` diff --git a/packages/website/pages/docs/reference/contract-documentation/bridge/TokenVault.md b/packages/website/pages/docs/reference/contract-documentation/bridge/TokenVault.md index a41b923110d..552a8b53c7b 100644 --- a/packages/website/pages/docs/reference/contract-documentation/bridge/TokenVault.md +++ b/packages/website/pages/docs/reference/contract-documentation/bridge/TokenVault.md @@ -98,12 +98,6 @@ error TOKENVAULT_INVALID_TO() error TOKENVAULT_INVALID_VALUE() ``` -### TOKENVAULT_INVALID_CALL_VALUE - -```solidity -error TOKENVAULT_INVALID_CALL_VALUE() -``` - ### TOKENVAULT_INVALID_TOKEN ```solidity @@ -152,26 +146,6 @@ error TOKENVAULT_INVALID_SENDER() function init(address addressManager) external ``` -### sendEther - -```solidity -function sendEther(uint256 destChainId, address to, uint256 gasLimit, uint256 processingFee, address refundAddress, string memo) external payable -``` - -Receives Ether and constructs a Bridge message. Sends the Ether and -message along to the Bridge. - -#### Parameters - -| Name | Type | Description | -| ------------- | ------- | --------------------------- | -| destChainId | uint256 | @custom:see IBridge.Message | -| to | address | @custom:see IBridge.Message | -| gasLimit | uint256 | @custom:see IBridge.Message | -| processingFee | uint256 | @custom:see IBridge.Message | -| refundAddress | address | @custom:see IBridge.Message | -| memo | string | @custom:see IBridge.Message | - ### sendERC20 ```solidity diff --git a/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md b/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md new file mode 100644 index 00000000000..2f4acb7cd11 --- /dev/null +++ b/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md @@ -0,0 +1,93 @@ +## IAddressManager + +Interface to set and get an address for a name. + +### setAddress + +```solidity +function setAddress(uint256 domain, string name, address newAddress) external +``` + +Changes the address associated with a particular name. + +#### Parameters + +| Name | Type | Description | +| ---------- | ------- | -------------------------------------------- | +| domain | uint256 | Uint256 domain to assiciate an address with. | +| name | string | String name to associate an address with. | +| newAddress | address | Address to associate with the name. | + +### getAddress + +```solidity +function getAddress(uint256 domain, string name) external view returns (address) +``` + +Retrieves the address associated with a given name. + +#### Parameters + +| Name | Type | Description | +| ------ | ------- | --------------------------------- | +| domain | uint256 | Class to retrieve an address for. | +| name | string | Name to retrieve an address for. | + +#### Return Values + +| Name | Type | Description | +| ---- | ------- | --------------------------------------- | +| [0] | address | Address associated with the given name. | + +## AddressManager + +### AddressSet + +```solidity +event AddressSet(uint256 _domain, string _name, address _newAddress, address _oldAddress) +``` + +### init + +```solidity +function init() external +``` + +_Initializer to be called after being deployed behind a proxy._ + +### setAddress + +```solidity +function setAddress(uint256 domain, string name, address newAddress) external +``` + +Changes the address associated with a particular name. + +#### Parameters + +| Name | Type | Description | +| ---------- | ------- | -------------------------------------------- | +| domain | uint256 | Uint256 domain to assiciate an address with. | +| name | string | String name to associate an address with. | +| newAddress | address | Address to associate with the name. | + +### getAddress + +```solidity +function getAddress(uint256 domain, string name) external view returns (address addr) +``` + +Retrieves the address associated with a given name. + +#### Parameters + +| Name | Type | Description | +| ------ | ------- | --------------------------------- | +| domain | uint256 | Class to retrieve an address for. | +| name | string | Name to retrieve an address for. | + +#### Return Values + +| Name | Type | Description | +| ---- | ------- | --------------------------------------- | +| addr | address | Address associated with the given name. | diff --git a/packages/website/pages/docs/reference/contract-documentation/common/IAddressManager.md b/packages/website/pages/docs/reference/contract-documentation/common/IAddressManager.md deleted file mode 100644 index 3a664d206ec..00000000000 --- a/packages/website/pages/docs/reference/contract-documentation/common/IAddressManager.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: IAddressManager ---- - -## IAddressManager - -Interface to set and get an address for a name. - -### setAddress - -```solidity -function setAddress(string name, address addr) external -``` - -Associate an address to a name. - -_The original address associated with the name, if exists, will be -replaced._ - -#### Parameters - -| Name | Type | Description | -| ---- | ------- | -------------------------------------------------- | -| name | string | The name which an address will be associated with. | -| addr | address | The address to be associated with the given name. | - -### getAddress - -```solidity -function getAddress(string name) external view returns (address) -``` - -Returns the address associated with the given name. - -#### Parameters - -| Name | Type | Description | -| ---- | ------ | ----------------------------------------------- | -| name | string | The name for which an address will be returned. | - -#### Return Values - -| Name | Type | Description | -| ---- | ------- | -------------------------------------------------------------------------------------------------- | -| [0] | address | The address associated with the given name. If no address is found, `address(0)` will be returned. | diff --git a/packages/website/pages/docs/reference/contract-documentation/common/IHeaderSync.md b/packages/website/pages/docs/reference/contract-documentation/common/IHeaderSync.md deleted file mode 100644 index 4c5f827a760..00000000000 --- a/packages/website/pages/docs/reference/contract-documentation/common/IHeaderSync.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: IHeaderSync ---- - -## IHeaderSync - -Interface implemented by both the TaikoL1 and TaikoL2 contracts. It exposes -the methods needed to access the block hashes of the other chain. - -### HeaderSynced - -```solidity -event HeaderSynced(uint256 srcHeight, bytes32 srcHash) -``` - -### getSyncedHeader - -```solidity -function getSyncedHeader(uint256 number) external view returns (bytes32) -``` - -### getLatestSyncedHeader - -```solidity -function getLatestSyncedHeader() external view returns (bytes32) -``` diff --git a/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md b/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md new file mode 100644 index 00000000000..f7efb7e74ab --- /dev/null +++ b/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md @@ -0,0 +1,51 @@ +## IXchainSync + +Interface implemented by both the TaikoL1 and TaikoL2 contracts. It exposes +the methods needed to access the block hashes of the other chain. + +### XchainSynced + +```solidity +event XchainSynced(uint256 srcHeight, bytes32 blockHash, bytes32 signalRoot) +``` + +### getXchainBlockHash + +```solidity +function getXchainBlockHash(uint256 number) external view returns (bytes32) +``` + +Returns the cross-chain block hash at the given block number. + +#### Parameters + +| Name | Type | Description | +| ------ | ------- | --------------------------------------------- | +| number | uint256 | The block number. Use 0 for the latest block. | + +#### Return Values + +| Name | Type | Description | +| ---- | ------- | --------------------------- | +| [0] | bytes32 | The cross-chain block hash. | + +### getXchainSignalRoot + +```solidity +function getXchainSignalRoot(uint256 number) external view returns (bytes32) +``` + +Returns the cross-chain signal service storage root at the given +block number. + +#### Parameters + +| Name | Type | Description | +| ------ | ------- | --------------------------------------------- | +| number | uint256 | The block number. Use 0 for the latest block. | + +#### Return Values + +| Name | Type | Description | +| ---- | ------- | -------------------------------------------- | +| [0] | bytes32 | The cross-chain signal service storage root. | diff --git a/packages/website/pages/docs/reference/contract-documentation/signal/SignalService.md b/packages/website/pages/docs/reference/contract-documentation/signal/SignalService.md index c6c13eb467f..b8738414912 100644 --- a/packages/website/pages/docs/reference/contract-documentation/signal/SignalService.md +++ b/packages/website/pages/docs/reference/contract-documentation/signal/SignalService.md @@ -8,7 +8,7 @@ title: SignalService ```solidity struct SignalProof { - struct BlockHeader header; + uint256 height; bytes proof; } ``` diff --git a/packages/whitepaper/main.tex b/packages/whitepaper/main.tex index 85c0a0ea7a4..71b4cf266e8 100644 --- a/packages/whitepaper/main.tex +++ b/packages/whitepaper/main.tex @@ -78,7 +78,7 @@ \pagecolor{pagecolor} \begin{abstract} -An Ethereum-equivalent ZK-Rollup allows for scaling Ethereum without sacrificing security or compatibility. Advancements in Zero-Knowledge Proof cryptography and its application towards proving Ethereum Virtual Machine (EVM) execution have led to a flourishing of ZK-EVMs, now with further design decisions to choose from. Taiko aims to be a decentralized ZK-Rollup, prioritizing Ethereum-equivalence. Supporting all existing Ethereum applications, tooling, and infrastructure is the primary goal and benefit of this path. Besides the maximally compatible ZK-EVM component, which proves the correctness of EVM computation on the rollup, Taiko must implement a layer-2 blockchain architecture to support it. This architecture seeks to be as lightweight, decentralized, and permissionless as possible, and consists of Taiko nodes, provers, and smart contracts. Taiko nodes construct rollup blocks from users' L2 transactions and commit them to L1. Provers generate ZK-SNARK proofs asserting the validity of L2 transactions and blocks. A set of smart contracts deployed on Ethereum L1 acts as the data availability mechanism and verifier of the ZKPs. +An Ethereum-equivalent ZK-Rollup allows for scaling Ethereum without sacrificing security or compatibility. Advancements in Zero-Knowledge Proof cryptography and its application towards proving Ethereum Virtual Machine (EVM) execution have led to a flourishing of ZK-EVMs, now with further design decisions to choose from. Taiko aims to be a decentralized ZK-Rollup, prioritizing Ethereum-equivalence. Supporting all existing Ethereum applications, tooling, and infrastructure is the primary goal and benefit of this path. Besides the maximally compatible ZK-EVM component, which proves the correctness of EVM computation on the rollup, Taiko must implement a layer-2 blockchain architecture to support it. This architecture seeks to be as lightweight, decentralized, and permissionless as possible, and consists of Taiko nodes, provers, and smart contracts. Taiko nodes construct rollup blocks from users' L2 transactions and propose them to L1. Provers generate ZK-SNARK proofs asserting the validity of L2 transactions and blocks. A set of smart contracts deployed on Ethereum L1 acts as the data availability mechanism and verifier of the ZKPs. \end{abstract} @@ -150,7 +150,6 @@ \subsubsection{TaikoL1} Deployed on Ethereum. This contract on L1 is used to pro \item[numProposedBlocks] The total number of proposed blocks, and the ID for the next proposed block, formally $R_\mathrm{i}$. \item[proposedBlocks] The list of proposed blocks, formally $R_\mathrm{b}$. \item[lastVerifiedBlockId] The ID of the last verified block, formally $R_\mathrm{f}$. -\item [blockCommits] The mapping from the committed blocks' \emph{commit hashes} to their enclosed L1 blocks' block numbers, formally $R_\mathrm{c}$. If a block's commit hash is $h$, its number is $R_\mathrm{c}[h]$ (see Section \ref{sec:commit}). \item[forkChoices] The mapping from proposed block IDs to their \emph{Fork Choices}, formally $R_\mathrm{f}$. The fork choices for the $i$-th block is $R_\mathrm{f}[i]$. Fork Choices are discussed in detail in Section \ref{sec:proving}. \end{description} @@ -203,18 +202,11 @@ \subsubsection{Proposed Block Intrinsic Validity} \nonumber& & C_{\mathbf{t}} \ne 0 \quad \wedge \\ \nonumber& & C_{\mathbf{t}} = \texttt{KEC}(L) \quad \wedge \\ \nonumber& & C_{\mathbf{a}} = \texttt{NUMBER} - 1 \quad \wedge \\ -\nonumber& & C_{\mathbf{h}} = \texttt{BLOCKHASH}(C_{\mathbf{a}}) \quad \wedge \\ -\nonumber& & R_{\mathbf{c}}[\texttt{KEC}((C_{\mathbf{c}}, C_{\mathbf{t}}))] \ne 0 \quad \wedge \\ -\nonumber& & R_{\mathbf{c}}[\texttt{KEC}((C_{\mathbf{c}}, C_{\mathbf{t}}))] \le \\ -\nonumber& & \texttt{NUMBER} - K_{\mathrm{CommitDelayConfirms}} +\nonumber& & C_{\mathbf{h}} = \texttt{BLOCKHASH}(C_{\mathbf{a}}) \end{eqnarray} -Where $\texttt{KEC}((C_{\mathbf{c}}, C_{\mathbf{t}}))$ is called the block's \emph{Commit Hash}. - After passing the test, the proposed block is appended to the proposed block list $R_\mathrm{b}$ and $R_\mathrm{i}$ is incremented by one. -\subsubsection{Commit Hash}\label{sec:commit} The commit hash is the Keccak-256 hash of a proposed block's \textbf{beneficiary} and \textbf{txListHash}. The protocol requires that a block can be proposed only $K_{\mathrm{CommitDelayConfirms}}$ confirmations after its commit hash has been committed to \underline{TaikoL1}, which prevents other parties from inspecting the L1 mempool and submitting the same or a similar block, allowing them to collect the transaction fees and/or MEV \cite{mev}. - \subsection{Block Validation and Mapping } \label{sec:filtermap} The protocol filters proposed blocks using a \emph{txList Intrinsic Validity Function} $V^l$ on each block's txList $L$. If $V^l(L)$ returns \texttt{False}, the proposed block is dropped and ignored by L2 nodes; otherwise, the proposed block will map to an actual Taiko L2 block using the \emph{Block Mapping Function} $M(\dot{B})$. @@ -840,9 +832,6 @@ \section{Future Improvements}\label{sec:improvements} \subsection{Ethereum Data Blobs}\label{sec:datablobs} EIP-4844 \cite{eip4844} (or similar) on Ethereum will, once enabled, allow data to be stored on L1 in a more efficient manner. Instead of storing the txList data in the L1 transaction data we will instead be able to store the data in a data blob. This data will be read directly from the KZG commitment in the ZK-EVM circuits without ever needing to access the data in an L1 smart contract. -\subsection{VDF instead of Block Commitments}\label{sec:vdf} -A \emph{Verifiable Delay Function} (VDF) can be used to protect pending block proposals (see Section \ref{sec:commit}). This achieves the same goal as the block commitment scheme but without requiring an additional Ethereum transaction. Instead, some computational work is required before the block can be proposed. - \subsection{Block Validity Verification at Proposal Time}\label{sec:propose-proof} Currently we accept blocks at proposal time even if the transaction data is invalid. Afterwards, we depend on provers to generate a proof that shows the block is invalid (see Section \ref{sec:proving-invalid}). We do this because the work required to verify all requirements imposed on the transaction data is expensive to verify on L1. Instead, we can require a proof together with the proposed block attesting that the block data is valid. This requires computing a proof, and so the requirement for this improvement is that this proof can be generated efficiently enough so that it is not a potential bottleneck for proposing blocks. Because verifying a proof is still quite expensive, this proof should not be verified immediately at block proposal time but should be verified as part of the block proof. @@ -969,8 +958,6 @@ \section{Protocol Constants}\label{sec:constants1} $K_{\mathrm{MaxNumBlocks}}$ & The maximum number of slots for proposed blocks. \\ $K_{\mathrm{MaxVerificationsPerTx}}$ & The number of proven blocks that can be verified when a new block is\\ & proposed or a block is proven. \\ -$K_{\mathrm{CommitDelayConfirms}}$ & The number of confirmations to wait for before a block can be proposed\\ -& after its commit-hash has been written on Ethereum.\\ $K_{\mathrm{MaxProofsPerForkChoice}}$ & The maximum number of proofs per fork choice. \\ $K_{\mathrm{BlockMaxGasLimit}}$ & A Taiko block's max gas limit besides $K_{\mathrm{AnchorTxGasLimit}}$. \\ $K_{\mathrm{BlockMaxTxs}}$ & The maximum number of transactions in a Taiko block besides the anchor\\ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4b030db7d7a..028e6642eb5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,7 +14,7 @@ importers: dependencies: '@coinbase/wallet-sdk': specifier: ^3.6.3 - version: 3.6.3 + version: 3.6.3(@babel/core@7.21.4) '@ethersproject/experimental': specifier: ^5.7.0 version: 5.7.0 @@ -26,10 +26,10 @@ importers: version: 1.6.0 '@wagmi/connectors': specifier: ^0.1.1 - version: 0.1.1(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3) + version: 0.1.1(@babel/core@7.21.4)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3) '@wagmi/core': specifier: ^0.8.0 - version: 0.8.4(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(typescript@4.9.3) + version: 0.8.4(@babel/core@7.21.4)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.3) axios: specifier: ^1.2.0 version: 1.2.0 @@ -51,7 +51,7 @@ importers: devDependencies: '@babel/preset-env': specifier: ^7.16.0 - version: 7.20.2 + version: 7.20.2(@babel/core@7.21.4) '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 version: 1.3.1(svelte@3.53.1)(vite@3.2.4) @@ -75,10 +75,10 @@ importers: version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^5.16.0 - version: 5.44.0(@typescript-eslint/parser@5.44.0)(typescript@4.9.3) + version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.39.0)(typescript@4.9.3) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.44.0(typescript@4.9.3) + version: 5.44.0(eslint@8.39.0)(typescript@4.9.3) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 @@ -87,7 +87,7 @@ importers: version: 10.4.13(postcss@8.4.19) babel-jest: specifier: ^27.3.1 - version: 27.5.1 + version: 27.5.1(@babel/core@7.21.4) babel-plugin-transform-es2015-modules-commonjs: specifier: ^6.26.2 version: 6.26.2 @@ -96,13 +96,13 @@ importers: version: 1.16.6 eslint-plugin-jest: specifier: ^27.2.1 - version: 27.2.1(@typescript-eslint/eslint-plugin@5.44.0)(jest@27.5.1)(typescript@4.9.3) + version: 27.2.1(@typescript-eslint/eslint-plugin@5.44.0)(eslint@8.39.0)(jest@27.5.1)(typescript@4.9.3) eslint-plugin-simple-import-sort: specifier: ^10.0.0 - version: 10.0.0 + version: 10.0.0(eslint@8.39.0) eslint-plugin-svelte3: specifier: ^4.0.0 - version: 4.0.0(svelte@3.53.1) + version: 4.0.0(eslint@8.39.0)(svelte@3.53.1) jest: specifier: ^27.5.1 version: 27.5.1 @@ -120,7 +120,7 @@ importers: version: 7.1.2 postcss-loader: specifier: ^6.2.0 - version: 6.2.1(postcss@8.4.19) + version: 6.2.1(postcss@8.4.19)(webpack@5.80.0) prettier: specifier: 2.7.1 version: 2.7.1 @@ -132,13 +132,13 @@ importers: version: 2.1.2 rollup-plugin-polyfill-node: specifier: ^0.10.2 - version: 0.10.2 + version: 0.10.2(rollup@2.79.1) svelte: specifier: ^3.53.1 version: 3.53.1 svelte-check: specifier: ^2.8.0 - version: 2.9.2(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1) + version: 2.9.2(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1) svelte-heros-v2: specifier: ^0.3.10 version: 0.3.10 @@ -150,7 +150,7 @@ importers: version: 3.1.4(svelte@3.53.1) svelte-preprocess: specifier: ^4.10.7 - version: 4.10.7(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3) + version: 4.10.7(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3) tailwindcss: specifier: ^3.2.4 version: 3.2.4(postcss@8.4.19) @@ -159,13 +159,13 @@ importers: version: 2.2.0 ts-jest: specifier: ^27.0.7 - version: 27.1.5(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3) + version: 27.1.5(@babel/core@7.21.4)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3) ts-jest-mock-import-meta: specifier: ^0.12.0 version: 0.12.0(ts-jest@27.1.5) ts-loader: specifier: ^9.2.6 - version: 9.4.1(typescript@4.9.3) + version: 9.4.1(typescript@4.9.3)(webpack@5.80.0) tslib: specifier: ^2.4.0 version: 2.4.1 @@ -184,62 +184,65 @@ importers: packages/protocol: dependencies: '@gnosis.pm/zodiac': - specifier: ^1.0.7 + specifier: ^1.1.9 version: 1.1.9 '@openzeppelin/contracts': - specifier: ^4.5.0 - version: 4.8.0 + specifier: ^4.8.3 + version: 4.8.3 '@openzeppelin/contracts-upgradeable': - specifier: ^4.5.1 - version: 4.8.0 + specifier: ^4.8.3 + version: 4.8.3 channel-ts: specifier: ^0.1.2 version: 0.1.2 devDependencies: '@defi-wonderland/smock': - specifier: ^2.3.3 - version: 2.3.4(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.1)(ethers@5.7.2)(hardhat@2.12.2) + specifier: ^2.3.4 + version: 2.3.4(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3)(ethers@5.7.2)(hardhat@2.14.0) + '@foundry-rs/hardhat-forge': + specifier: ^0.1.17 + version: 0.1.17(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0) '@nomicfoundation/hardhat-network-helpers': - specifier: ^1.0.6 - version: 1.0.6(hardhat@2.12.2) + specifier: ^1.0.8 + version: 1.0.8(hardhat@2.14.0) '@nomiclabs/hardhat-ethers': - specifier: ^2.0.0 - version: 2.2.1(ethers@5.7.2)(hardhat@2.12.2) + specifier: ^2.2.3 + version: 2.2.3(ethers@5.7.2)(hardhat@2.14.0) '@nomiclabs/hardhat-etherscan': - specifier: ^3.1.0 - version: 3.1.2(hardhat@2.12.2) + specifier: ^3.1.7 + version: 3.1.7(hardhat@2.14.0) '@nomiclabs/hardhat-waffle': - specifier: ^2.0.0 - version: 2.0.3(@nomiclabs/hardhat-ethers@2.2.1)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.12.2) + specifier: ^2.0.5 + version: 2.0.5(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0) '@openzeppelin/hardhat-upgrades': - specifier: ^1.14.0 - version: 1.21.0(@nomiclabs/hardhat-ethers@2.2.1)(@nomiclabs/hardhat-etherscan@3.1.2)(ethers@5.7.2)(hardhat@2.12.2) + specifier: ^1.22.1 + version: 1.22.1(@nomiclabs/hardhat-ethers@2.2.3)(@nomiclabs/hardhat-etherscan@3.1.7)(ethers@5.7.2)(hardhat@2.14.0) '@typechain/ethers-v5': specifier: ^7.2.0 - version: 7.2.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@5.2.0)(typescript@4.9.3) + version: 7.2.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@5.2.0)(typescript@4.9.5) '@typechain/hardhat': specifier: ^2.3.1 - version: 2.3.1(hardhat@2.12.2)(lodash@4.17.21)(typechain@5.2.0) + version: 2.3.1(hardhat@2.14.0)(lodash@4.17.21)(typechain@5.2.0) '@types/chai': - specifier: ^4.3.0 + specifier: ^4.3.4 version: 4.3.4 '@types/glob': - specifier: ^8.0.1 - version: 8.0.1 + specifier: ^8.1.0 + version: 8.1.0 '@types/mocha': - specifier: ^9.1.0 + specifier: ^9.1.1 version: 9.1.1 '@types/node': - specifier: ^12.20.45 + specifier: ^12.20.55 version: 12.20.55 '@typescript-eslint/eslint-plugin': specifier: ^4.33.0 - version: 4.33.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0)(typescript@4.9.3) + version: 4.33.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^4.33.0 - version: 4.33.0(eslint@7.32.0)(typescript@4.9.3) + version: 4.33.0(eslint@7.32.0)(typescript@4.9.5) chai: - specifier: ^4.2.0 + specifier: ^4.3.7 version: 4.3.7 chalk: specifier: 4.1.2 @@ -251,80 +254,80 @@ importers: specifier: ^7.32.0 version: 7.32.0 eslint-config-prettier: - specifier: ^8.3.0 - version: 8.5.0(eslint@7.32.0) + specifier: ^8.8.0 + version: 8.8.0(eslint@7.32.0) eslint-config-standard: specifier: ^16.0.3 - version: 16.0.3(eslint-plugin-import@2.26.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@7.32.0) + version: 16.0.3(eslint-plugin-import@2.27.5)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@7.32.0) eslint-plugin-import: - specifier: ^2.25.4 - version: 2.26.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0) + specifier: ^2.27.5 + version: 2.27.5(@typescript-eslint/parser@4.33.0)(eslint@7.32.0) eslint-plugin-node: specifier: ^11.1.0 version: 11.1.0(eslint@7.32.0) eslint-plugin-prettier: specifier: ^3.4.1 - version: 3.4.1(eslint-config-prettier@8.5.0)(eslint@7.32.0)(prettier@2.8.0) + version: 3.4.1(eslint-config-prettier@8.8.0)(eslint@7.32.0)(prettier@2.8.8) eslint-plugin-promise: specifier: ^5.2.0 version: 5.2.0(eslint@7.32.0) ethereum-waffle: - specifier: ^3.0.0 - version: 3.4.4(typescript@4.9.3) + specifier: ^3.4.4 + version: 3.4.4(typescript@4.9.5) ethers: - specifier: ^5.0.0 + specifier: ^5.7.2 version: 5.7.2 glob: specifier: ^8.1.0 version: 8.1.0 hardhat: - specifier: ^2.8.3 - version: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + specifier: ^2.14.0 + version: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) hardhat-abi-exporter: - specifier: ^2.10.0 - version: 2.10.1(hardhat@2.12.2) + specifier: ^2.10.1 + version: 2.10.1(hardhat@2.14.0) hardhat-contract-sizer: specifier: ^2.8.0 - version: 2.8.0(hardhat@2.12.2) + version: 2.8.0(hardhat@2.14.0) hardhat-docgen: specifier: ^1.3.0 - version: 1.3.0(hardhat@2.12.2)(lodash@4.17.21) + version: 1.3.0(hardhat@2.14.0)(lodash@4.17.21) hardhat-gas-reporter: - specifier: ^1.0.7 - version: 1.0.9(hardhat@2.12.2) + specifier: ^1.0.9 + version: 1.0.9(hardhat@2.14.0) lint-staged: - specifier: ^12.3.4 + specifier: ^12.5.0 version: 12.5.0 merkle-patricia-tree: specifier: ^4.2.4 version: 4.2.4 prettier: - specifier: ^2.5.1 - version: 2.8.0 + specifier: ^2.8.8 + version: 2.8.8 prettier-plugin-solidity: - specifier: ^1.1.2 - version: 1.1.2(prettier@2.8.0) + specifier: ^1.1.3 + version: 1.1.3(prettier@2.8.8) rlp: specifier: ^3.0.0 version: 3.0.0 solhint: - specifier: ^3.4.0 - version: 3.4.0 + specifier: ^3.4.1 + version: 3.4.1 solidity-coverage: specifier: github:taikoxyz/solidity-coverage - version: github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5(hardhat@2.12.2) + version: github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5(hardhat@2.14.0) solidity-docgen: - specifier: ^0.6.0-beta.34 - version: 0.6.0-beta.34(hardhat@2.12.2) + specifier: 0.6.0-beta.35 + version: 0.6.0-beta.35(hardhat@2.14.0) ts-node: - specifier: ^10.5.0 - version: 10.9.1(@types/node@12.20.55)(typescript@4.9.3) + specifier: ^10.9.1 + version: 10.9.1(@types/node@12.20.55)(typescript@4.9.5) typechain: specifier: ^5.2.0 - version: 5.2.0(typescript@4.9.3) + version: 5.2.0(typescript@4.9.5) typescript: - specifier: ^4.5.5 - version: 4.9.3 + specifier: ^4.9.5 + version: 4.9.5 packages/relayer: {} @@ -332,7 +335,7 @@ importers: dependencies: '@coinbase/wallet-sdk': specifier: ^3.6.3 - version: 3.6.3(@babel/core@7.20.2) + version: 3.6.3(@babel/core@7.21.4) '@ethersproject/experimental': specifier: ^5.7.0 version: 5.7.0 @@ -344,10 +347,10 @@ importers: version: 1.6.0 '@wagmi/connectors': specifier: ^0.1.1 - version: 0.1.1(@babel/core@7.20.2)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.5) + version: 0.1.1(@babel/core@7.21.4)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.5) '@wagmi/core': specifier: ^0.8.0 - version: 0.8.4(@babel/core@7.20.2)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + version: 0.8.4(@babel/core@7.21.4)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) axios: specifier: ^1.2.0 version: 1.2.0 @@ -369,7 +372,7 @@ importers: devDependencies: '@babel/preset-env': specifier: ^7.16.0 - version: 7.20.2(@babel/core@7.20.2) + version: 7.20.2(@babel/core@7.21.4) '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 version: 1.3.1(svelte@3.53.1)(vite@3.2.4) @@ -393,10 +396,10 @@ importers: version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^5.16.0 - version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@7.32.0)(typescript@4.9.5) + version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.39.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.44.0(eslint@7.32.0)(typescript@4.9.5) + version: 5.44.0(eslint@8.39.0)(typescript@4.9.5) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 @@ -405,7 +408,7 @@ importers: version: 10.4.13(postcss@8.4.21) babel-jest: specifier: ^27.3.1 - version: 27.5.1(@babel/core@7.20.2) + version: 27.5.1(@babel/core@7.21.4) babel-plugin-transform-es2015-modules-commonjs: specifier: ^6.26.2 version: 6.26.2 @@ -426,7 +429,7 @@ importers: version: 7.1.2 postcss-loader: specifier: ^6.2.0 - version: 6.2.1(postcss@8.4.21)(webpack@5.75.0) + version: 6.2.1(postcss@8.4.21)(webpack@5.80.0) prettier: specifier: 2.7.1 version: 2.7.1 @@ -441,7 +444,7 @@ importers: version: 3.53.1 svelte-check: specifier: ^2.8.0 - version: 2.9.2(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1) + version: 2.9.2(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1) svelte-heros-v2: specifier: ^0.3.10 version: 0.3.10 @@ -453,7 +456,7 @@ importers: version: 3.1.4(svelte@3.53.1) svelte-preprocess: specifier: ^4.10.7 - version: 4.10.7(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1)(typescript@4.9.5) tailwindcss: specifier: ^3.2.4 version: 3.2.6(postcss@8.4.21) @@ -462,13 +465,13 @@ importers: version: 2.2.0 ts-jest: specifier: ^27.0.7 - version: 27.1.5(@babel/core@7.20.2)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.21.4)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.5) ts-jest-mock-import-meta: specifier: ^0.12.0 version: 0.12.0(ts-jest@27.1.5) ts-loader: specifier: ^9.2.6 - version: 9.4.1(typescript@4.9.5)(webpack@5.75.0) + version: 9.4.1(typescript@4.9.5)(webpack@5.80.0) tslib: specifier: ^2.4.0 version: 2.5.0 @@ -486,7 +489,7 @@ importers: dependencies: '@coinbase/wallet-sdk': specifier: ^3.6.3 - version: 3.6.3(@babel/core@7.20.2) + version: 3.6.3(@babel/core@7.21.4) '@ethersproject/experimental': specifier: ^5.7.0 version: 5.7.0 @@ -498,10 +501,10 @@ importers: version: 1.6.0 '@wagmi/connectors': specifier: ^0.1.1 - version: 0.1.1(@babel/core@7.20.2)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3) + version: 0.1.1(@babel/core@7.21.4)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3) '@wagmi/core': specifier: ^0.8.0 - version: 0.8.4(@babel/core@7.20.2)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.3) + version: 0.8.4(@babel/core@7.21.4)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.3) axios: specifier: ^1.2.0 version: 1.2.0 @@ -523,7 +526,7 @@ importers: devDependencies: '@babel/preset-env': specifier: ^7.16.0 - version: 7.20.2(@babel/core@7.20.2) + version: 7.20.2(@babel/core@7.21.4) '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 version: 1.3.1(svelte@3.53.1)(vite@3.2.4) @@ -547,10 +550,10 @@ importers: version: 2.6.2 '@typescript-eslint/eslint-plugin': specifier: ^5.16.0 - version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@7.32.0)(typescript@4.9.3) + version: 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.39.0)(typescript@4.9.3) '@typescript-eslint/parser': specifier: ^5.16.0 - version: 5.44.0(eslint@7.32.0)(typescript@4.9.3) + version: 5.44.0(eslint@8.39.0)(typescript@4.9.3) '@zerodevx/svelte-toast': specifier: ^0.6.3 version: 0.6.3 @@ -559,7 +562,7 @@ importers: version: 10.4.13(postcss@8.4.19) babel-jest: specifier: ^27.3.1 - version: 27.5.1(@babel/core@7.20.2) + version: 27.5.1(@babel/core@7.21.4) babel-plugin-transform-es2015-modules-commonjs: specifier: ^6.26.2 version: 6.26.2 @@ -580,7 +583,7 @@ importers: version: 7.1.2 postcss-loader: specifier: ^6.2.0 - version: 6.2.1(postcss@8.4.19)(webpack@5.75.0) + version: 6.2.1(postcss@8.4.19)(webpack@5.80.0) prettier: specifier: 2.7.1 version: 2.7.1 @@ -595,7 +598,7 @@ importers: version: 3.53.1 svelte-check: specifier: ^2.8.0 - version: 2.9.2(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1) + version: 2.9.2(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1) svelte-heros-v2: specifier: ^0.3.10 version: 0.3.10 @@ -607,7 +610,7 @@ importers: version: 3.1.4(svelte@3.53.1) svelte-preprocess: specifier: ^4.10.7 - version: 4.10.7(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3) + version: 4.10.7(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3) tailwindcss: specifier: ^3.2.4 version: 3.2.4(postcss@8.4.19) @@ -616,13 +619,13 @@ importers: version: 2.2.0 ts-jest: specifier: ^27.0.7 - version: 27.1.5(@babel/core@7.20.2)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3) + version: 27.1.5(@babel/core@7.21.4)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3) ts-jest-mock-import-meta: specifier: ^0.12.0 version: 0.12.0(ts-jest@27.1.5) ts-loader: specifier: ^9.2.6 - version: 9.4.1(typescript@4.9.3)(webpack@5.75.0) + version: 9.4.1(typescript@4.9.3)(webpack@5.80.0) tslib: specifier: ^2.4.0 version: 2.4.1 @@ -636,8 +639,6 @@ importers: specifier: ^0.12.0 version: 0.12.0(vite@3.2.4) - packages/tokenomics: {} - packages/website: dependencies: next: @@ -694,6 +695,14 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.1.1 '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 /@babel/code-frame@7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} @@ -706,11 +715,22 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 + dev: true + + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 /@babel/compat-data@7.20.1: resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==} engines: {node: '>=6.9.0'} + /@babel/compat-data@7.21.4: + resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} + engines: {node: '>=6.9.0'} + /@babel/core@7.20.2: resolution: {integrity: sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==} engines: {node: '>=6.9.0'} @@ -726,12 +746,35 @@ packages: '@babel/traverse': 7.20.1 '@babel/types': 7.20.2 convert-source-map: 1.9.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) gensync: 1.0.0-beta.2 json5: 2.2.1 semver: 6.3.0 transitivePeerDependencies: - supports-color + dev: true + + /@babel/core@7.21.4: + resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-module-transforms': 7.21.2 + '@babel/helpers': 7.21.0 + '@babel/parser': 7.21.4 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + convert-source-map: 1.9.0 + debug: 4.3.4(supports-color@9.3.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color /@babel/generator@7.20.4: resolution: {integrity: sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==} @@ -740,6 +783,16 @@ packages: '@babel/types': 7.20.2 '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 + dev: true + + /@babel/generator@7.21.4: + resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} @@ -756,53 +809,51 @@ packages: '@babel/types': 7.20.2 dev: true - /@babel/helper-compilation-targets@7.20.0: + /@babel/helper-compilation-targets@7.20.0(@babel/core@7.20.2): resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.20.1 + '@babel/core': 7.20.2 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.5 semver: 6.3.0 + dev: true - /@babel/helper-compilation-targets@7.20.0(@babel/core@7.20.2): + /@babel/helper-compilation-targets@7.20.0(@babel/core@7.21.4): resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.20.1 - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.5 semver: 6.3.0 - /@babel/helper-create-class-features-plugin@7.20.2: - resolution: {integrity: sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==} + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.18.9 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.19.1 - '@babel/helper-split-export-declaration': 7.18.6 - transitivePeerDependencies: - - supports-color - dev: true + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 - /@babel/helper-create-class-features-plugin@7.20.2(@babel/core@7.20.2): + /@babel/helper-create-class-features-plugin@7.20.2(@babel/core@7.21.4): resolution: {integrity: sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 @@ -814,50 +865,26 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin@7.19.0: - resolution: {integrity: sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/helper-annotate-as-pure': 7.18.6 - regexpu-core: 5.2.2 - dev: true - - /@babel/helper-create-regexp-features-plugin@7.19.0(@babel/core@7.20.2): + /@babel/helper-create-regexp-features-plugin@7.19.0(@babel/core@7.21.4): resolution: {integrity: sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.2.2 dev: true - /@babel/helper-define-polyfill-provider@0.3.3: - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} - peerDependencies: - '@babel/core': ^7.4.0-0 - dependencies: - '@babel/helper-compilation-targets': 7.20.0 - '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4 - lodash.debounce: 4.0.8 - resolve: 1.22.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.20.2): + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4): resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.2) + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) lodash.debounce: 4.0.8 resolve: 1.22.1 semver: 6.3.0 @@ -881,6 +908,14 @@ packages: dependencies: '@babel/template': 7.18.10 '@babel/types': 7.20.2 + dev: true + + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/types': 7.21.4 /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} @@ -901,6 +936,12 @@ packages: dependencies: '@babel/types': 7.20.2 + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + /@babel/helper-module-transforms@7.20.2: resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} engines: {node: '>=6.9.0'} @@ -915,6 +956,22 @@ packages: '@babel/types': 7.20.2 transitivePeerDependencies: - supports-color + dev: true + + /@babel/helper-module-transforms@7.21.2: + resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color /@babel/helper-optimise-call-expression@7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} @@ -927,27 +984,13 @@ packages: resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.18.9: - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.19.0 - '@babel/types': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.20.2): + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-wrap-function': 7.19.0 @@ -1000,6 +1043,10 @@ packages: resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + /@babel/helper-wrap-function@7.19.0: resolution: {integrity: sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==} engines: {node: '>=6.9.0'} @@ -1021,6 +1068,17 @@ packages: '@babel/types': 7.20.2 transitivePeerDependencies: - supports-color + dev: true + + /@babel/helpers@7.21.0: + resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} @@ -1036,863 +1094,333 @@ packages: hasBin: true dependencies: '@babel/types': 7.20.2 + dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6: - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + /@babel/parser@7.21.4: + resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} + engines: {node: '>=6.0.0'} + hasBin: true dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true + '@babel/types': 7.21.4 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.20.2): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9: - resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.18.9 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9(@babel/core@7.20.2): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.20.2) + '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-async-generator-functions@7.20.1: + /@babel/plugin-proposal-async-generator-functions@7.20.1(@babel/core@7.21.4): resolution: {integrity: sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9 - '@babel/plugin-syntax-async-generators': 7.8.4 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-async-generator-functions@7.20.1(@babel/core@7.20.2): - resolution: {integrity: sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==} + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-environment-visitor': 7.18.9 + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.2) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-properties@7.18.6: - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + /@babel/plugin-proposal-class-static-block@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.12.0 dependencies: - '@babel/helper-create-class-features-plugin': 7.20.2 + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.20.2) + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-class-static-block@7.18.6: - resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.12.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-create-class-features-plugin': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5 - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-class-static-block@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.12.0 + '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.20.2) + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.2) - transitivePeerDependencies: - - supports-color + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-dynamic-import@7.18.6: - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + /@babel/plugin-proposal-logical-assignment-operators@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-export-namespace-from@7.18.9: - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + /@babel/plugin-proposal-object-rest-spread@7.20.2(@babel/core@7.21.4): + resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/compat-data': 7.20.1 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-transform-parameters': 7.20.3(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-json-strings@7.18.6: - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + /@babel/plugin-proposal-optional-chaining@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) dev: true - /@babel/plugin-proposal-logical-assignment-operators@7.18.9: - resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-proposal-logical-assignment-operators@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} + /@babel/plugin-proposal-private-property-in-object@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6: - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3 dev: true - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.20.2): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.2) dev: true - /@babel/plugin-proposal-numeric-separator@7.18.6: - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4 dev: true - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.20.2): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.2) dev: true - /@babel/plugin-proposal-object-rest-spread@7.20.2: - resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 - '@babel/helper-compilation-targets': 7.20.0 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3 - '@babel/plugin-transform-parameters': 7.20.3 dev: true - /@babel/plugin-proposal-object-rest-spread@7.20.2(@babel/core@7.20.2): - resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.20.2): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 '@babel/core': 7.20.2 - '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.2) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.2) - '@babel/plugin-transform-parameters': 7.20.3(@babel/core@7.20.2) dev: true - /@babel/plugin-proposal-optional-catch-binding@7.18.6: - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3 dev: true - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.2) dev: true - /@babel/plugin-proposal-optional-chaining@7.18.9: - resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3 dev: true - /@babel/plugin-proposal-optional-chaining@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.2) dev: true - /@babel/plugin-proposal-private-methods@7.18.6: - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.4): + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-create-class-features-plugin': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.20.2): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 - '@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.20.2) '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-proposal-private-property-in-object@7.18.6: - resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-private-property-in-object@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.20.2(@babel/core@7.20.2) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.2) - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-proposal-unicode-property-regex@7.18.6: - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-create-regexp-features-plugin': 7.19.0 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.20.2) - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-async-generators@7.8.4: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.20.2): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-bigint@7.8.3: - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.20.2): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-class-properties@7.12.13: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.20.2): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-class-static-block@7.14.5: - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.20.2): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-dynamic-import@7.8.3: - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.20.2): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-export-namespace-from@7.8.3: - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.20.2): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-import-assertions@7.20.0: - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.20.2): - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-import-meta@7.10.4: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.20.2): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-json-strings@7.8.3: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.20.2): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-logical-assignment-operators@7.10.4: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.20.2): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.20.2): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-numeric-separator@7.10.4: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.20.2): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-object-rest-spread@7.8.3: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.20.2): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-optional-catch-binding@7.8.3: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.20.2): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-optional-chaining@7.8.3: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.20.2): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-private-property-in-object@7.14.5: - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.20.2): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-top-level-await@7.14.5: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.20.2): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.20.2): - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-arrow-functions@7.18.6: - resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-arrow-functions@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-async-to-generator@7.18.6: - resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-async-to-generator@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.2) - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-block-scoped-functions@7.18.6: - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-block-scoping@7.20.2: - resolution: {integrity: sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-block-scoping@7.20.2(@babel/core@7.20.2): - resolution: {integrity: sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-classes@7.20.2: - resolution: {integrity: sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.0 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 - '@babel/helper-split-export-declaration': 7.18.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-classes@7.20.2(@babel/core@7.20.2): - resolution: {integrity: sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.2) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 - '@babel/helper-split-export-declaration': 7.18.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-computed-properties@7.18.9: - resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-computed-properties@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-destructuring@7.20.2: - resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-destructuring@7.20.2(@babel/core@7.20.2): - resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.20.2): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1900,39 +1428,35 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-dotall-regex@7.18.6: - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-create-regexp-features-plugin': 7.19.0 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.20.2): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 - '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.20.2) '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-duplicate-keys@7.18.9: - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.20.2): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1940,39 +1464,35 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-exponentiation-operator@7.18.6: - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.20.2): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-for-of@7.18.8: - resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-for-of@7.18.8(@babel/core@7.20.2): - resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.20.2): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1980,41 +1500,35 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-function-name@7.18.9: - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-compilation-targets': 7.20.0 - '@babel/helper-function-name': 7.19.0 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.20.2): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 - '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.2) - '@babel/helper-function-name': 7.19.0 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-literals@7.18.9: - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-literals@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.20.2): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -2022,636 +1536,527 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-member-expression-literals@7.18.6: - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} - engines: {node: '>=6.9.0'} + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-modules-amd@7.19.6: - resolution: {integrity: sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==} + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-module-transforms': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-transform-modules-amd@7.19.6(@babel/core@7.20.2): - resolution: {integrity: sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.20.2): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 - '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-transform-modules-commonjs@7.19.6: - resolution: {integrity: sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==} + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-module-transforms': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-transform-modules-commonjs@7.19.6(@babel/core@7.20.2): - resolution: {integrity: sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==} + /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.20.2): + resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.2 - '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-transform-modules-systemjs@7.19.6: - resolution: {integrity: sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==} + /@babel/plugin-transform-arrow-functions@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-transform-modules-systemjs@7.19.6(@babel/core@7.20.2): - resolution: {integrity: sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==} + /@babel/plugin-transform-async-to-generator@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.20.2 + '@babel/core': 7.21.4 + '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-umd@7.18.6: - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-module-transforms': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + /@babel/plugin-transform-block-scoping@7.20.2(@babel/core@7.21.4): + resolution: {integrity: sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-module-transforms': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/plugin-transform-named-capturing-groups-regex@7.19.1: - resolution: {integrity: sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/helper-create-regexp-features-plugin': 7.19.0 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-named-capturing-groups-regex@7.19.1(@babel/core@7.20.2): - resolution: {integrity: sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.20.2) + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-new-target@7.18.6: - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + /@babel/plugin-transform-classes@7.20.2(@babel/core@7.21.4): + resolution: {integrity: sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.21.4) + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + /@babel/plugin-transform-computed-properties@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-object-super@7.18.6: - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + /@babel/plugin-transform-destructuring@7.20.2(@babel/core@7.21.4): + resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 - transitivePeerDependencies: - - supports-color dev: true - /@babel/plugin-transform-parameters@7.20.3: - resolution: {integrity: sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==} + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-parameters@7.20.3(@babel/core@7.20.2): - resolution: {integrity: sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==} + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-property-literals@7.18.6: - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + /@babel/plugin-transform-for-of@7.18.8(@babel/core@7.21.4): + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.21.4) + '@babel/helper-function-name': 7.19.0 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-regenerator@7.18.6: - resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - regenerator-transform: 0.15.1 dev: true - /@babel/plugin-transform-regenerator@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - regenerator-transform: 0.15.1 dev: true - /@babel/plugin-transform-reserved-words@7.18.6: - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + /@babel/plugin-transform-modules-amd@7.19.6(@babel/core@7.21.4): + resolution: {integrity: sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 + '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + /@babel/plugin-transform-modules-commonjs@7.19.6(@babel/core@7.21.4): + resolution: {integrity: sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 + '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.20.2 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-runtime@7.19.6: - resolution: {integrity: sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==} + /@babel/plugin-transform-modules-systemjs@7.19.6(@babel/core@7.21.4): + resolution: {integrity: sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-module-imports': 7.18.6 + '@babel/core': 7.21.4 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3 - babel-plugin-polyfill-corejs3: 0.6.0 - babel-plugin-polyfill-regenerator: 0.4.1 - semver: 6.3.0 + '@babel/helper-validator-identifier': 7.19.1 transitivePeerDependencies: - supports-color - dev: false + dev: true - /@babel/plugin-transform-runtime@7.19.6(@babel/core@7.20.2): - resolution: {integrity: sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==} + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-module-imports': 7.18.6 + '@babel/core': 7.21.4 + '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.2) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.2) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.2) - semver: 6.3.0 transitivePeerDependencies: - supports-color - dev: false + dev: true - /@babel/plugin-transform-shorthand-properties@7.18.6: - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + /@babel/plugin-transform-named-capturing-groups-regex@7.19.1(@babel/core@7.21.4): + resolution: {integrity: sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-spread@7.19.0: - resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-replace-supers': 7.19.1 + transitivePeerDependencies: + - supports-color dev: true - /@babel/plugin-transform-spread@7.19.0(@babel/core@7.20.2): - resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} + /@babel/plugin-transform-parameters@7.20.3(@babel/core@7.21.4): + resolution: {integrity: sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: true - /@babel/plugin-transform-sticky-regex@7.18.6: - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + /@babel/plugin-transform-regenerator@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 + regenerator-transform: 0.15.1 dev: true - /@babel/plugin-transform-template-literals@7.18.9: - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + /@babel/plugin-transform-runtime@7.19.6(@babel/core@7.21.4): + resolution: {integrity: sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 + '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - dev: true + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4) + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: false - /@babel/plugin-transform-typeof-symbol@7.18.9: - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.20.2): - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + /@babel/plugin-transform-spread@7.19.0(@babel/core@7.21.4): + resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: true - /@babel/plugin-transform-unicode-escapes@7.18.10: - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.20.2): - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-regex@7.18.6: - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-create-regexp-features-plugin': 7.19.0 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.20.2): - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.4): + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.20.2) + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/preset-env@7.20.2: - resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.1 - '@babel/helper-compilation-targets': 7.20.0 + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.19.0(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9 - '@babel/plugin-proposal-async-generator-functions': 7.20.1 - '@babel/plugin-proposal-class-properties': 7.18.6 - '@babel/plugin-proposal-class-static-block': 7.18.6 - '@babel/plugin-proposal-dynamic-import': 7.18.6 - '@babel/plugin-proposal-export-namespace-from': 7.18.9 - '@babel/plugin-proposal-json-strings': 7.18.6 - '@babel/plugin-proposal-logical-assignment-operators': 7.18.9 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6 - '@babel/plugin-proposal-numeric-separator': 7.18.6 - '@babel/plugin-proposal-object-rest-spread': 7.20.2 - '@babel/plugin-proposal-optional-catch-binding': 7.18.6 - '@babel/plugin-proposal-optional-chaining': 7.18.9 - '@babel/plugin-proposal-private-methods': 7.18.6 - '@babel/plugin-proposal-private-property-in-object': 7.18.6 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6 - '@babel/plugin-syntax-async-generators': 7.8.4 - '@babel/plugin-syntax-class-properties': 7.12.13 - '@babel/plugin-syntax-class-static-block': 7.14.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3 - '@babel/plugin-syntax-export-namespace-from': 7.8.3 - '@babel/plugin-syntax-import-assertions': 7.20.0 - '@babel/plugin-syntax-json-strings': 7.8.3 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3 - '@babel/plugin-syntax-numeric-separator': 7.10.4 - '@babel/plugin-syntax-object-rest-spread': 7.8.3 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3 - '@babel/plugin-syntax-optional-chaining': 7.8.3 - '@babel/plugin-syntax-private-property-in-object': 7.14.5 - '@babel/plugin-syntax-top-level-await': 7.14.5 - '@babel/plugin-transform-arrow-functions': 7.18.6 - '@babel/plugin-transform-async-to-generator': 7.18.6 - '@babel/plugin-transform-block-scoped-functions': 7.18.6 - '@babel/plugin-transform-block-scoping': 7.20.2 - '@babel/plugin-transform-classes': 7.20.2 - '@babel/plugin-transform-computed-properties': 7.18.9 - '@babel/plugin-transform-destructuring': 7.20.2 - '@babel/plugin-transform-dotall-regex': 7.18.6 - '@babel/plugin-transform-duplicate-keys': 7.18.9 - '@babel/plugin-transform-exponentiation-operator': 7.18.6 - '@babel/plugin-transform-for-of': 7.18.8 - '@babel/plugin-transform-function-name': 7.18.9 - '@babel/plugin-transform-literals': 7.18.9 - '@babel/plugin-transform-member-expression-literals': 7.18.6 - '@babel/plugin-transform-modules-amd': 7.19.6 - '@babel/plugin-transform-modules-commonjs': 7.19.6 - '@babel/plugin-transform-modules-systemjs': 7.19.6 - '@babel/plugin-transform-modules-umd': 7.18.6 - '@babel/plugin-transform-named-capturing-groups-regex': 7.19.1 - '@babel/plugin-transform-new-target': 7.18.6 - '@babel/plugin-transform-object-super': 7.18.6 - '@babel/plugin-transform-parameters': 7.20.3 - '@babel/plugin-transform-property-literals': 7.18.6 - '@babel/plugin-transform-regenerator': 7.18.6 - '@babel/plugin-transform-reserved-words': 7.18.6 - '@babel/plugin-transform-shorthand-properties': 7.18.6 - '@babel/plugin-transform-spread': 7.19.0 - '@babel/plugin-transform-sticky-regex': 7.18.6 - '@babel/plugin-transform-template-literals': 7.18.9 - '@babel/plugin-transform-typeof-symbol': 7.18.9 - '@babel/plugin-transform-unicode-escapes': 7.18.10 - '@babel/plugin-transform-unicode-regex': 7.18.6 - '@babel/preset-modules': 0.1.5 - '@babel/types': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3 - babel-plugin-polyfill-corejs3: 0.6.0 - babel-plugin-polyfill-regenerator: 0.4.1 - core-js-compat: 3.26.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color dev: true - /@babel/preset-env@7.20.2(@babel/core@7.20.2): + /@babel/preset-env@7.20.2(@babel/core@7.21.4): resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.20.1 - '@babel/core': 7.20.2 - '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.2) + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.20.2) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-class-static-block': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-logical-assignment-operators': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.20.2) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-private-property-in-object': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.20.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.2) - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.20.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.2) - '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-async-to-generator': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-block-scoping': 7.20.2(@babel/core@7.20.2) - '@babel/plugin-transform-classes': 7.20.2(@babel/core@7.20.2) - '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-transform-destructuring': 7.20.2(@babel/core@7.20.2) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-for-of': 7.18.8(@babel/core@7.20.2) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-modules-amd': 7.19.6(@babel/core@7.20.2) - '@babel/plugin-transform-modules-commonjs': 7.19.6(@babel/core@7.20.2) - '@babel/plugin-transform-modules-systemjs': 7.19.6(@babel/core@7.20.2) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.19.1(@babel/core@7.20.2) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-parameters': 7.20.3(@babel/core@7.20.2) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-regenerator': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.20.2) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.20.2) - '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.20.2) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.20.2) - '@babel/preset-modules': 0.1.5(@babel/core@7.20.2) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.21.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-class-static-block': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-logical-assignment-operators': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.21.4) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-private-property-in-object': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-async-to-generator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-block-scoping': 7.20.2(@babel/core@7.21.4) + '@babel/plugin-transform-classes': 7.20.2(@babel/core@7.21.4) + '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-destructuring': 7.20.2(@babel/core@7.21.4) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-for-of': 7.18.8(@babel/core@7.21.4) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-modules-amd': 7.19.6(@babel/core@7.21.4) + '@babel/plugin-transform-modules-commonjs': 7.19.6(@babel/core@7.21.4) + '@babel/plugin-transform-modules-systemjs': 7.19.6(@babel/core@7.21.4) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.19.1(@babel/core@7.21.4) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-parameters': 7.20.3(@babel/core@7.21.4) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-regenerator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.21.4) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.4) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.4) + '@babel/preset-modules': 0.1.5(@babel/core@7.21.4) '@babel/types': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.2) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.2) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.2) + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4) core-js-compat: 3.26.1 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.5: - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6 - '@babel/plugin-transform-dotall-regex': 7.18.6 - '@babel/types': 7.20.2 - esutils: 2.0.3 - dev: true - - /@babel/preset-modules@0.1.5(@babel/core@7.20.2): + /@babel/preset-modules@0.1.5(@babel/core@7.21.4): resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.2) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.2) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) '@babel/types': 7.20.2 esutils: 2.0.3 dev: true @@ -2676,6 +2081,15 @@ packages: '@babel/code-frame': 7.18.6 '@babel/parser': 7.20.3 '@babel/types': 7.20.2 + dev: true + + /@babel/template@7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 /@babel/traverse@7.20.1: resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==} @@ -2689,7 +2103,25 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/parser': 7.20.3 '@babel/types': 7.20.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/traverse@7.21.4: + resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 + debug: 4.3.4(supports-color@9.3.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -2702,40 +2134,50 @@ packages: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 + /@babel/types@7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@coinbase/wallet-sdk@3.6.3: - resolution: {integrity: sha512-XUR4poOJE+dKzwBTdlM693CdLFitr046oZOVY3iDnbFcRrrQswhbDji7q4CmUcD4HxbfViX7PFoIwl79YQcukg==} - engines: {node: '>= 10.0.0'} + /@chainsafe/as-sha256@0.3.1: + resolution: {integrity: sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==} + dev: true + + /@chainsafe/persistent-merkle-tree@0.4.2: + resolution: {integrity: sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ==} dependencies: - '@metamask/safe-event-emitter': 2.0.0 - '@solana/web3.js': 1.70.3 - bind-decorator: 1.0.11 - bn.js: 5.2.1 - buffer: 6.0.3 - clsx: 1.2.1 - eth-block-tracker: 4.4.3 - eth-json-rpc-filters: 4.2.2 - eth-rpc-errors: 4.0.2 - json-rpc-engine: 6.1.0 - keccak: 3.0.2 - preact: 10.11.3 - qs: 6.11.0 - rxjs: 6.6.7 - sha.js: 2.4.11 - stream-browserify: 3.0.0 - util: 0.12.5 - transitivePeerDependencies: - - '@babel/core' - - bufferutil - - encoding - - supports-color - - utf-8-validate - dev: false + '@chainsafe/as-sha256': 0.3.1 + dev: true + + /@chainsafe/persistent-merkle-tree@0.5.0: + resolution: {integrity: sha512-l0V1b5clxA3iwQLXP40zYjyZYospQLZXzBVIhhr9kDg/1qHZfzzHw0jj4VPBijfYCArZDlPkRi1wZaV2POKeuw==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + dev: true + + /@chainsafe/ssz@0.10.2: + resolution: {integrity: sha512-/NL3Lh8K+0q7A3LsiFq09YXS9fPE+ead2rr7vM2QK8PLzrNsw3uqrif9bpRX5UxgeRjM+vYi+boCM3+GM4ovXg==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + '@chainsafe/persistent-merkle-tree': 0.5.0 + dev: true + + /@chainsafe/ssz@0.9.4: + resolution: {integrity: sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + '@chainsafe/persistent-merkle-tree': 0.4.2 + case: 1.6.3 + dev: true - /@coinbase/wallet-sdk@3.6.3(@babel/core@7.20.2): + /@coinbase/wallet-sdk@3.6.3(@babel/core@7.21.4): resolution: {integrity: sha512-XUR4poOJE+dKzwBTdlM693CdLFitr046oZOVY3iDnbFcRrrQswhbDji7q4CmUcD4HxbfViX7PFoIwl79YQcukg==} engines: {node: '>= 10.0.0'} dependencies: @@ -2745,7 +2187,7 @@ packages: bn.js: 5.2.1 buffer: 6.0.3 clsx: 1.2.1 - eth-block-tracker: 4.4.3(@babel/core@7.20.2) + eth-block-tracker: 4.4.3(@babel/core@7.21.4) eth-json-rpc-filters: 4.2.2 eth-rpc-errors: 4.0.2 json-rpc-engine: 6.1.0 @@ -2778,7 +2220,7 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@defi-wonderland/smock@2.3.4(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.1)(ethers@5.7.2)(hardhat@2.12.2): + /@defi-wonderland/smock@2.3.4(@ethersproject/abi@5.7.0)(@ethersproject/abstract-provider@5.7.0)(@ethersproject/abstract-signer@5.7.0)(@nomiclabs/hardhat-ethers@2.2.3)(ethers@5.7.2)(hardhat@2.14.0): resolution: {integrity: sha512-VYJbsoCOdFRyGkAwvaQhQRrU6V8AjK3five8xdbo41DEE9n3qXzUNBUxyD9HhXB/dWWPFWT21IGw5Ztl6Qw3Ew==} peerDependencies: '@ethersproject/abi': ^5 @@ -2791,17 +2233,17 @@ packages: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 - '@nomicfoundation/ethereumjs-evm': 1.0.0 - '@nomicfoundation/ethereumjs-util': 8.0.0 - '@nomicfoundation/ethereumjs-vm': 6.0.0 - '@nomiclabs/hardhat-ethers': 2.2.1(ethers@5.7.2)(hardhat@2.12.2) + '@nomicfoundation/ethereumjs-evm': 1.3.2 + '@nomicfoundation/ethereumjs-util': 8.0.6 + '@nomicfoundation/ethereumjs-vm': 6.4.2 + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.14.0) diff: 5.1.0 ethers: 5.7.2 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) lodash.isequal: 4.5.0 lodash.isequalwith: 4.4.0 - rxjs: 7.5.7 - semver: 7.3.8 + rxjs: 7.8.0 + semver: 7.5.0 transitivePeerDependencies: - supports-color dev: true @@ -2814,7 +2256,7 @@ packages: eth-ens-namehash: 2.0.8 solc: 0.4.26 testrpc: 0.0.1 - web3-utils: 1.8.1 + web3-utils: 1.9.0 dev: true /@ensdomains/resolver@0.2.4: @@ -2840,14 +2282,29 @@ packages: dev: true optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.39.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.39.0 + eslint-visitor-keys: 3.4.0 + dev: true + + /@eslint-community/regexpp@4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint/eslintrc@0.4.3: resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) espree: 7.3.1 - globals: 13.18.0 + globals: 13.20.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.14.1 @@ -2857,6 +2314,28 @@ packages: - supports-color dev: true + /@eslint/eslintrc@2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@9.3.1) + espree: 9.5.1 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.39.0: + resolution: {integrity: sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@ethereum-waffle/chai@3.4.4: resolution: {integrity: sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==} engines: {node: '>=10.0'} @@ -2870,7 +2349,7 @@ packages: - utf-8-validate dev: true - /@ethereum-waffle/compiler@3.4.4(typescript@4.9.3): + /@ethereum-waffle/compiler@3.4.4(typescript@4.9.5): resolution: {integrity: sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==} engines: {node: '>=10.0'} dependencies: @@ -2878,13 +2357,13 @@ packages: '@resolver-engine/imports-fs': 0.3.3 '@typechain/ethers-v5': 2.0.0(ethers@5.7.2)(typechain@3.0.0) '@types/mkdirp': 0.5.2 - '@types/node-fetch': 2.6.2 + '@types/node-fetch': 2.6.3 ethers: 5.7.2 mkdirp: 0.5.6 - node-fetch: 2.6.7 + node-fetch: 2.6.9 solc: 0.6.12 ts-generator: 0.1.1 - typechain: 3.0.0(typescript@4.9.3) + typechain: 3.0.0(typescript@4.9.5) transitivePeerDependencies: - bufferutil - encoding @@ -2923,7 +2402,7 @@ packages: '@ethereum-waffle/ens': 3.4.4 ethers: 5.7.2 ganache-core: 2.13.2 - patch-package: 6.5.0 + patch-package: 6.5.1 postinstall-postinstall: 2.1.0 transitivePeerDependencies: - bufferutil @@ -3277,6 +2756,39 @@ packages: tslib: 2.5.0 dev: false + /@foundry-rs/easy-foundryup@0.1.3: + resolution: {integrity: sha512-Funb4hrSBeikKCmccFT/d3Ud5o92tlIZHTJeMCVk5b54/+CHZHr4g7MmtvO5xrGhxrOebQ0L+ojIj+VixgW7ug==} + dependencies: + command-exists: 1.2.9 + ts-interface-checker: 0.1.13 + dev: true + + /@foundry-rs/hardhat-forge@0.1.17(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0): + resolution: {integrity: sha512-2wxzxA12CQmT11PH/KigyVTNm/4vzsVtzVZow6gwCbC41fTyf73a5qbggHZFRR74JXfmvVSkX1BJitTmdzQvxw==} + peerDependencies: + '@nomiclabs/hardhat-ethers': ^2.0.0 + ethereum-waffle: ^3.2.0 + ethers: ^5.0.0 + hardhat: ^2.0.0 + dependencies: + '@foundry-rs/easy-foundryup': 0.1.3 + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.14.0) + '@nomiclabs/hardhat-waffle': 2.0.5(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0) + '@types/sinon-chai': 3.2.9 + '@types/web3': 1.0.19 + camelcase-keys: 7.0.2 + debug: 4.3.4(supports-color@9.3.1) + ethereum-waffle: 3.4.4(typescript@4.9.5) + ethers: 5.7.2 + fs-extra: 10.1.0 + glob: 7.2.0 + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) + true-case-path: 2.2.1 + ts-interface-checker: 0.1.13 + transitivePeerDependencies: + - supports-color + dev: true + /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true @@ -3298,13 +2810,13 @@ packages: dependencies: '@gnosis.pm/mock-contract': 4.0.0 '@gnosis.pm/safe-contracts': 1.3.0(ethers@5.7.2) - '@openzeppelin/contracts': 4.8.0 - '@openzeppelin/contracts-upgradeable': 4.8.0 + '@openzeppelin/contracts': 4.8.3 + '@openzeppelin/contracts-upgradeable': 4.8.3 argv: 0.0.2 dotenv: 16.0.3 ethers: 5.7.2 - solc: 0.8.17 - yargs: 17.6.2 + solc: 0.8.19 + yargs: 17.7.1 transitivePeerDependencies: - bufferutil - debug @@ -3331,17 +2843,33 @@ packages: react: 18.2.0 dev: true + /@humanwhocodes/config-array@0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4(supports-color@9.3.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /@humanwhocodes/config-array@0.5.0: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color dev: true + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true @@ -3388,7 +2916,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 18.13.0 + '@types/node': 18.15.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -3548,7 +3076,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.13.0 + '@types/node': 18.15.1 '@types/yargs': 16.0.4 chalk: 4.1.2 dev: true @@ -3559,6 +3087,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 + dev: true /@jridgewell/gen-mapping@0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} @@ -3567,36 +3096,60 @@ packages: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/trace-mapping': 0.3.17 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + /@jridgewell/source-map@0.3.3: + resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 dev: true /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@jridgewell/trace-mapping@0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + dev: true - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@json-rpc-tools/provider@1.7.6: @@ -3930,9 +3483,19 @@ packages: /@noble/hashes@1.1.2: resolution: {integrity: sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==} + dev: false + + /@noble/hashes@1.2.0: + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} + dev: true /@noble/secp256k1@1.6.3: resolution: {integrity: sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ==} + dev: false + + /@noble/secp256k1@1.7.1: + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + dev: true /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -3955,137 +3518,272 @@ packages: fastq: 1.15.0 dev: true - /@nomicfoundation/ethereumjs-block@4.0.0: - resolution: {integrity: sha512-bk8uP8VuexLgyIZAHExH1QEovqx0Lzhc9Ntm63nCRKLHXIZkobaFaeCVwTESV7YkPKUk7NiK11s8ryed4CS9yA==} + /@nomicfoundation/ethereumjs-block@4.2.2: + resolution: {integrity: sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-common': 3.1.2 + '@nomicfoundation/ethereumjs-rlp': 4.0.3 + '@nomicfoundation/ethereumjs-trie': 5.0.5 + '@nomicfoundation/ethereumjs-tx': 4.1.2 + '@nomicfoundation/ethereumjs-util': 8.0.6 + ethereum-cryptography: 0.1.3 + dev: true + + /@nomicfoundation/ethereumjs-block@5.0.1: + resolution: {integrity: sha512-u1Yioemi6Ckj3xspygu/SfFvm8vZEO8/Yx5a1QLzi6nVU0jz3Pg2OmHKJ5w+D9Ogk1vhwRiqEBAqcb0GVhCyHw==} engines: {node: '>=14'} 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-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.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-blockchain@6.0.0: - resolution: {integrity: sha512-pLFEoea6MWd81QQYSReLlLfH7N9v7lH66JC/NMPN848ySPPQA5renWnE7wPByfQFzNrPBuDDRFFULMDmj1C0xw==} + /@nomicfoundation/ethereumjs-blockchain@6.2.2: + resolution: {integrity: sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg==} engines: {node: '>=14'} 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-block': 4.2.2 + '@nomicfoundation/ethereumjs-common': 3.1.2 + '@nomicfoundation/ethereumjs-ethash': 2.0.5 + '@nomicfoundation/ethereumjs-rlp': 4.0.3 + '@nomicfoundation/ethereumjs-trie': 5.0.5 + '@nomicfoundation/ethereumjs-util': 8.0.6 abstract-level: 1.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) + ethereum-cryptography: 0.1.3 + level: 8.0.0 + lru-cache: 5.1.1 + memory-level: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@nomicfoundation/ethereumjs-blockchain@7.0.1: + resolution: {integrity: sha512-NhzndlGg829XXbqJEYrF1VeZhAwSPgsK/OB7TVrdzft3y918hW5KNd7gIZ85sn6peDZOdjBsAXIpXZ38oBYE5A==} + engines: {node: '>=14'} + 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.4(supports-color@9.3.1) ethereum-cryptography: 0.1.3 level: 8.0.0 lru-cache: 5.1.1 memory-level: 1.0.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate + dev: true + + /@nomicfoundation/ethereumjs-common@3.1.2: + resolution: {integrity: sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA==} + dependencies: + '@nomicfoundation/ethereumjs-util': 8.0.6 + crc-32: 1.2.2 dev: true - /@nomicfoundation/ethereumjs-common@3.0.0: - resolution: {integrity: sha512-WS7qSshQfxoZOpHG/XqlHEGRG1zmyjYrvmATvc4c62+gZXgre1ymYP8ZNgx/3FyZY0TWe9OjFlKOfLqmgOeYwA==} + /@nomicfoundation/ethereumjs-common@4.0.1: + resolution: {integrity: sha512-OBErlkfp54GpeiE06brBW/TTbtbuBJV5YI5Nz/aB2evTDo+KawyEzPjBlSr84z/8MFfj8wS2wxzQX1o32cev5g==} dependencies: - '@nomicfoundation/ethereumjs-util': 8.0.0 + '@nomicfoundation/ethereumjs-util': 9.0.1 crc-32: 1.2.2 dev: true - /@nomicfoundation/ethereumjs-ethash@2.0.0: - resolution: {integrity: sha512-WpDvnRncfDUuXdsAXlI4lXbqUDOA+adYRQaEezIkxqDkc+LDyYDbd/xairmY98GnQzo1zIqsIL6GB5MoMSJDew==} + /@nomicfoundation/ethereumjs-ethash@2.0.5: + resolution: {integrity: sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-block': 4.2.2 + '@nomicfoundation/ethereumjs-rlp': 4.0.3 + '@nomicfoundation/ethereumjs-util': 8.0.6 + abstract-level: 1.0.3 + bigint-crypto-utils: 3.2.2 + ethereum-cryptography: 0.1.3 + dev: true + + /@nomicfoundation/ethereumjs-ethash@3.0.1: + resolution: {integrity: sha512-KDjGIB5igzWOp8Ik5I6QiRH5DH+XgILlplsHR7TEuWANZA759G6krQ6o8bvj+tRUz08YygMQu/sGd9mJ1DYT8w==} engines: {node: '>=14'} 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.1.7 + bigint-crypto-utils: 3.2.2 ethereum-cryptography: 0.1.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-evm@1.0.0: - resolution: {integrity: sha512-hVS6qRo3V1PLKCO210UfcEQHvlG7GqR8iFzp0yyjTg2TmJQizcChKgWo8KFsdMw6AyoLgLhHGHw4HdlP8a4i+Q==} + /@nomicfoundation/ethereumjs-evm@1.3.2: + resolution: {integrity: sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-common': 3.0.0 - '@nomicfoundation/ethereumjs-util': 8.0.0 + '@nomicfoundation/ethereumjs-common': 3.1.2 + '@nomicfoundation/ethereumjs-util': 8.0.6 '@types/async-eventemitter': 0.2.1 async-eventemitter: 0.2.4 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) + ethereum-cryptography: 0.1.3 + mcl-wasm: 0.7.9 + rustbn.js: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@nomicfoundation/ethereumjs-evm@2.0.1: + resolution: {integrity: sha512-oL8vJcnk0Bx/onl+TgQOQ1t/534GKFaEG17fZmwtPFeH8S5soiBYPCLUrvANOl4sCp9elYxIMzIiTtMtNNN8EQ==} + engines: {node: '>=14'} + dependencies: + '@ethersproject/providers': 5.7.2 + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-tx': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + debug: 4.3.4(supports-color@9.3.1) ethereum-cryptography: 0.1.3 mcl-wasm: 0.7.9 rustbn.js: 0.2.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate + dev: true + + /@nomicfoundation/ethereumjs-rlp@4.0.3: + resolution: {integrity: sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA==} + engines: {node: '>=14'} + hasBin: true dev: true - /@nomicfoundation/ethereumjs-rlp@4.0.0: - resolution: {integrity: sha512-GaSOGk5QbUk4eBP5qFbpXoZoZUj/NrW7MRa0tKY4Ew4c2HAS0GXArEMAamtFrkazp0BO4K5p2ZCG3b2FmbShmw==} + /@nomicfoundation/ethereumjs-rlp@5.0.1: + resolution: {integrity: sha512-xtxrMGa8kP4zF5ApBQBtjlSbN5E2HI8m8FYgVSYAnO6ssUoY5pVPGy2H8+xdf/bmMa22Ce8nWMH3aEW8CcqMeQ==} engines: {node: '>=14'} hasBin: true dev: true - /@nomicfoundation/ethereumjs-statemanager@1.0.0: - resolution: {integrity: sha512-jCtqFjcd2QejtuAMjQzbil/4NHf5aAWxUc+CvS0JclQpl+7M0bxMofR2AJdtz+P3u0ke2euhYREDiE7iSO31vQ==} + /@nomicfoundation/ethereumjs-statemanager@1.0.5: + resolution: {integrity: sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA==} + dependencies: + '@nomicfoundation/ethereumjs-common': 3.1.2 + '@nomicfoundation/ethereumjs-rlp': 4.0.3 + '@nomicfoundation/ethereumjs-trie': 5.0.5 + '@nomicfoundation/ethereumjs-util': 8.0.6 + debug: 4.3.4(supports-color@9.3.1) + ethereum-cryptography: 0.1.3 + functional-red-black-tree: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@nomicfoundation/ethereumjs-statemanager@2.0.1: + resolution: {integrity: sha512-B5ApMOnlruVOR7gisBaYwFX+L/AP7i/2oAahatssjPIBVDF6wTX1K7Qpa39E/nzsH8iYuL3krkYeUFIdO3EMUQ==} + dependencies: + '@nomicfoundation/ethereumjs-common': 4.0.1 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + debug: 4.3.4(supports-color@9.3.1) + ethereum-cryptography: 0.1.3 + ethers: 5.7.2 + js-sdsl: 4.4.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /@nomicfoundation/ethereumjs-trie@5.0.5: + resolution: {integrity: sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-rlp': 4.0.3 + '@nomicfoundation/ethereumjs-util': 8.0.6 + ethereum-cryptography: 0.1.3 + readable-stream: 3.6.2 + dev: true + + /@nomicfoundation/ethereumjs-trie@6.0.1: + resolution: {integrity: sha512-A64It/IMpDVODzCgxDgAAla8jNjNtsoQZIzZUfIV5AY6Coi4nvn7+VReBn5itlxMiL2yaTlQr9TRWp3CSI6VoA==} + engines: {node: '>=14'} + dependencies: + '@nomicfoundation/ethereumjs-rlp': 5.0.1 + '@nomicfoundation/ethereumjs-util': 9.0.1 + '@types/readable-stream': 2.3.15 + ethereum-cryptography: 0.1.3 + readable-stream: 3.6.2 + dev: true + + /@nomicfoundation/ethereumjs-tx@4.1.2: + resolution: {integrity: sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ==} + engines: {node: '>=14'} 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 - debug: 4.3.4(supports-color@8.1.1) + '@nomicfoundation/ethereumjs-common': 3.1.2 + '@nomicfoundation/ethereumjs-rlp': 4.0.3 + '@nomicfoundation/ethereumjs-util': 8.0.6 ethereum-cryptography: 0.1.3 - functional-red-black-tree: 1.0.1 - transitivePeerDependencies: - - supports-color dev: true - /@nomicfoundation/ethereumjs-trie@5.0.0: - resolution: {integrity: sha512-LIj5XdE+s+t6WSuq/ttegJzZ1vliwg6wlb+Y9f4RlBpuK35B9K02bO7xU+E6Rgg9RGptkWd6TVLdedTI4eNc2A==} + /@nomicfoundation/ethereumjs-tx@5.0.1: + resolution: {integrity: sha512-0HwxUF2u2hrsIM1fsasjXvlbDOq1ZHFV2dd1yGq8CA+MEYhaxZr8OTScpVkkxqMwBcc5y83FyPl0J9MZn3kY0w==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-rlp': 4.0.0 - '@nomicfoundation/ethereumjs-util': 8.0.0 + '@chainsafe/ssz': 0.9.4 + '@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 - readable-stream: 3.6.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-tx@4.0.0: - resolution: {integrity: sha512-Gg3Lir2lNUck43Kp/3x6TfBNwcWC9Z1wYue9Nz3v4xjdcv6oDW9QSMJxqsKw9QEGoBBZ+gqwpW7+F05/rs/g1w==} + /@nomicfoundation/ethereumjs-util@8.0.6: + resolution: {integrity: sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-common': 3.0.0 - '@nomicfoundation/ethereumjs-rlp': 4.0.0 - '@nomicfoundation/ethereumjs-util': 8.0.0 + '@nomicfoundation/ethereumjs-rlp': 4.0.3 ethereum-cryptography: 0.1.3 dev: true - /@nomicfoundation/ethereumjs-util@8.0.0: - resolution: {integrity: sha512-2emi0NJ/HmTG+CGY58fa+DQuAoroFeSH9gKu9O6JnwTtlzJtgfTixuoOqLEgyyzZVvwfIpRueuePb8TonL1y+A==} + /@nomicfoundation/ethereumjs-util@9.0.1: + resolution: {integrity: sha512-TwbhOWQ8QoSCFhV/DDfSmyfFIHjPjFBj957219+V3jTZYZ2rf9PmDtNOeZWAE3p3vlp8xb02XGpd0v6nTUPbsA==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-rlp': 4.0.0 + '@chainsafe/ssz': 0.10.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.1 ethereum-cryptography: 0.1.3 dev: true - /@nomicfoundation/ethereumjs-vm@6.0.0: - resolution: {integrity: sha512-JMPxvPQ3fzD063Sg3Tp+UdwUkVxMoo1uML6KSzFhMH3hoQi/LMuXBoEHAoW83/vyNS9BxEe6jm6LmT5xdeEJ6w==} + /@nomicfoundation/ethereumjs-vm@6.4.2: + resolution: {integrity: sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g==} engines: {node: '>=14'} 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 + '@nomicfoundation/ethereumjs-block': 4.2.2 + '@nomicfoundation/ethereumjs-blockchain': 6.2.2 + '@nomicfoundation/ethereumjs-common': 3.1.2 + '@nomicfoundation/ethereumjs-evm': 1.3.2 + '@nomicfoundation/ethereumjs-rlp': 4.0.3 + '@nomicfoundation/ethereumjs-statemanager': 1.0.5 + '@nomicfoundation/ethereumjs-trie': 5.0.5 + '@nomicfoundation/ethereumjs-tx': 4.1.2 + '@nomicfoundation/ethereumjs-util': 8.0.6 '@types/async-eventemitter': 0.2.1 async-eventemitter: 0.2.4 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) ethereum-cryptography: 0.1.3 functional-red-black-tree: 1.0.1 mcl-wasm: 0.7.9 @@ -4094,17 +3792,40 @@ packages: - supports-color dev: true - /@nomicfoundation/hardhat-network-helpers@1.0.6(hardhat@2.12.2): - resolution: {integrity: sha512-a35iVD4ycF6AoTfllAnKm96IPIzzHpgKX/ep4oKc2bsUKFfMlacWdyntgC/7d5blyCTXfFssgNAvXDZfzNWVGQ==} + /@nomicfoundation/ethereumjs-vm@7.0.1: + resolution: {integrity: sha512-rArhyn0jPsS/D+ApFsz3yVJMQ29+pVzNZ0VJgkzAZ+7FqXSRtThl1C1prhmlVr3YNUlfpZ69Ak+RUT4g7VoOuQ==} + engines: {node: '>=14'} + 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.4(supports-color@9.3.1) + ethereum-cryptography: 0.1.3 + mcl-wasm: 0.7.9 + rustbn.js: 0.2.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /@nomicfoundation/hardhat-network-helpers@1.0.8(hardhat@2.14.0): + resolution: {integrity: sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==} peerDependencies: hardhat: ^2.9.5 dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true - /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.0: - resolution: {integrity: sha512-vEF3yKuuzfMHsZecHQcnkUrqm8mnTWfJeEVFHpg+cO+le96xQA4lAJYdUan8pXZohQxv1fSReQsn4QGNuBNuCw==} + /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1: + resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -4112,8 +3833,8 @@ packages: dev: true optional: true - /@nomicfoundation/solidity-analyzer-darwin-x64@0.1.0: - resolution: {integrity: sha512-dlHeIg0pTL4dB1l9JDwbi/JG6dHQaU1xpDK+ugYO8eJ1kxx9Dh2isEUtA4d02cQAl22cjOHTvifAk96A+ItEHA==} + /@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1: + resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -4121,8 +3842,8 @@ packages: dev: true optional: true - /@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.0: - resolution: {integrity: sha512-WFCZYMv86WowDA4GiJKnebMQRt3kCcFqHeIomW6NMyqiKqhK1kIZCxSLDYsxqlx396kKLPN1713Q1S8tu68GKg==} + /@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1: + resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -4130,48 +3851,44 @@ packages: dev: true optional: true - /@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.0: - resolution: {integrity: sha512-DTw6MNQWWlCgc71Pq7CEhEqkb7fZnS7oly13pujs4cMH1sR0JzNk90Mp1zpSCsCs4oKan2ClhMlLKtNat/XRKQ==} + /@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1: + resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [glibc] requiresBuild: true dev: true optional: true - /@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.0: - resolution: {integrity: sha512-wUpUnR/3GV5Da88MhrxXh/lhb9kxh9V3Jya2NpBEhKDIRCDmtXMSqPMXHZmOR9DfCwCvG6vLFPr/+YrPCnUN0w==} + /@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1: + resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - libc: [musl] requiresBuild: true dev: true optional: true - /@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.0: - resolution: {integrity: sha512-lR0AxK1x/MeKQ/3Pt923kPvwigmGX3OxeU5qNtQ9pj9iucgk4PzhbS3ruUeSpYhUxG50jN4RkIGwUMoev5lguw==} + /@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1: + resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [glibc] requiresBuild: true dev: true optional: true - /@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.0: - resolution: {integrity: sha512-A1he/8gy/JeBD3FKvmI6WUJrGrI5uWJNr5Xb9WdV+DK0F8msuOqpEByLlnTdLkXMwW7nSl3awvLezOs9xBHJEg==} + /@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1: + resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - libc: [musl] requiresBuild: true dev: true optional: true - /@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.0: - resolution: {integrity: sha512-7x5SXZ9R9H4SluJZZP8XPN+ju7Mx+XeUMWZw7ZAqkdhP5mK19I4vz3x0zIWygmfE8RT7uQ5xMap0/9NPsO+ykw==} + /@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1: + resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -4179,8 +3896,8 @@ packages: dev: true optional: true - /@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.0: - resolution: {integrity: sha512-m7w3xf+hnE774YRXu+2mGV7RiF3QJtUoiYU61FascCkQhX3QMQavh7saH/vzb2jN5D24nT/jwvaHYX/MAM9zUw==} + /@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1: + resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -4188,8 +3905,8 @@ packages: dev: true optional: true - /@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.0: - resolution: {integrity: sha512-xCuybjY0sLJQnJhupiFAXaek2EqF0AP0eBjgzaalPXSNvCEN6ZYHvUzdA50ENDVeSYFXcUsYf3+FsD3XKaeptA==} + /@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1: + resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -4197,66 +3914,64 @@ packages: dev: true optional: true - /@nomicfoundation/solidity-analyzer@0.1.0: - resolution: {integrity: sha512-xGWAiVCGOycvGiP/qrlf9f9eOn7fpNbyJygcB0P21a1MDuVPlKt0Srp7rvtBEutYQ48ouYnRXm33zlRnlTOPHg==} + /@nomicfoundation/solidity-analyzer@0.1.1: + resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} engines: {node: '>= 12'} 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 + '@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 dev: true - /@nomiclabs/hardhat-ethers@2.2.1(ethers@5.7.2)(hardhat@2.12.2): - resolution: {integrity: sha512-RHWYwnxryWR8hzRmU4Jm/q4gzvXpetUOJ4OPlwH2YARcDB+j79+yAYCwO0lN1SUOb4++oOTJEe6AWLEc42LIvg==} + /@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.2)(hardhat@2.14.0): + resolution: {integrity: sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg==} peerDependencies: ethers: ^5.0.0 hardhat: ^2.0.0 dependencies: ethers: 5.7.2 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true - /@nomiclabs/hardhat-etherscan@3.1.2(hardhat@2.12.2): - resolution: {integrity: sha512-IEikeOVq0C/7CY6aD74d8L4BpGoc/FNiN6ldiPVg0QIFIUSu4FSGA1dmtJZJKk1tjpwgrfTLQNWnigtEaN9REg==} + /@nomiclabs/hardhat-etherscan@3.1.7(hardhat@2.14.0): + resolution: {integrity: sha512-tZ3TvSgpvsQ6B6OGmo1/Au6u8BrAkvs1mIC/eURA3xgIfznUZBhmpne8hv7BXUzw9xNL3fXdpOYgOQlVMTcoHQ==} peerDependencies: hardhat: ^2.0.4 dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 - cbor: 5.2.0 + cbor: 8.1.0 chalk: 2.4.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) fs-extra: 7.0.1 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) lodash: 4.17.21 semver: 6.3.0 table: 6.8.1 - undici: 5.12.0 + undici: 5.22.0 transitivePeerDependencies: - supports-color dev: true - /@nomiclabs/hardhat-waffle@2.0.3(@nomiclabs/hardhat-ethers@2.2.1)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.12.2): - resolution: {integrity: sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==} + /@nomiclabs/hardhat-waffle@2.0.5(@nomiclabs/hardhat-ethers@2.2.3)(ethereum-waffle@3.4.4)(ethers@5.7.2)(hardhat@2.14.0): + resolution: {integrity: sha512-U1RH9OQ1mWYQfb+moX5aTgGjpVVlOcpiFI47wwnaGG4kLhcTy90cNiapoqZenxcRAITVbr0/+QSduINL5EsUIQ==} peerDependencies: '@nomiclabs/hardhat-ethers': ^2.0.0 - ethereum-waffle: ^3.2.0 + ethereum-waffle: '*' ethers: ^5.0.0 hardhat: ^2.0.0 dependencies: - '@nomiclabs/hardhat-ethers': 2.2.1(ethers@5.7.2)(hardhat@2.12.2) - '@types/sinon-chai': 3.2.9 - '@types/web3': 1.0.19 - ethereum-waffle: 3.4.4(typescript@4.9.3) + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.14.0) + ethereum-waffle: 3.4.4(typescript@4.9.5) ethers: 5.7.2 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true /@npmcli/fs@1.1.1: @@ -4275,16 +3990,16 @@ packages: rimraf: 3.0.2 dev: true - /@openzeppelin/contracts-upgradeable@4.8.0: - resolution: {integrity: sha512-5GeFgqMiDlqGT8EdORadp1ntGF0qzWZLmEY7Wbp/yVhN7/B3NNzCxujuI77ktlyG81N3CUZP8cZe3ZAQ/cW10w==} + /@openzeppelin/contracts-upgradeable@4.8.3: + resolution: {integrity: sha512-SXDRl7HKpl2WDoJpn7CK/M9U4Z8gNXDHHChAKh0Iz+Wew3wu6CmFYBeie3je8V0GSXZAIYYwUktSrnW/kwVPtg==} dev: false - /@openzeppelin/contracts@4.8.0: - resolution: {integrity: sha512-AGuwhRRL+NaKx73WKRNzeCxOCOCxpaqF+kp8TJ89QzAipSwZy/NoflkWaL9bywXFRhIzXt8j38sfF7KBKCPWLw==} + /@openzeppelin/contracts@4.8.3: + resolution: {integrity: sha512-bQHV8R9Me8IaJoJ2vPG4rXcL7seB7YVuskr4f+f5RyOStSZetwzkWtoqDMl5erkBJy0lDRUnIR2WIkPiC0GJlg==} dev: false - /@openzeppelin/hardhat-upgrades@1.21.0(@nomiclabs/hardhat-ethers@2.2.1)(@nomiclabs/hardhat-etherscan@3.1.2)(ethers@5.7.2)(hardhat@2.12.2): - resolution: {integrity: sha512-Kwl7IN0Hlhj4HluMTTl0DrtU90OI/Q6rG3sAyd2pv3fababe9EuZqs9DydOlkWM45JwTzC+eBzX3TgHsqI13eA==} + /@openzeppelin/hardhat-upgrades@1.22.1(@nomiclabs/hardhat-ethers@2.2.3)(@nomiclabs/hardhat-etherscan@3.1.7)(ethers@5.7.2)(hardhat@2.14.0): + resolution: {integrity: sha512-MdoitCTLl4zwMU8MeE/bCj+7JMWBEvd38XqJkw36PkJrXlbv6FedDVCPoumMAhpmtymm0nTwTYYklYG+L6WiiQ==} hasBin: true peerDependencies: '@nomiclabs/hardhat-ethers': ^2.0.0 @@ -4296,28 +4011,28 @@ packages: '@nomiclabs/harhdat-etherscan': optional: true dependencies: - '@nomiclabs/hardhat-ethers': 2.2.1(ethers@5.7.2)(hardhat@2.12.2) - '@nomiclabs/hardhat-etherscan': 3.1.2(hardhat@2.12.2) - '@openzeppelin/upgrades-core': 1.20.4 + '@nomiclabs/hardhat-ethers': 2.2.3(ethers@5.7.2)(hardhat@2.14.0) + '@nomiclabs/hardhat-etherscan': 3.1.7(hardhat@2.14.0) + '@openzeppelin/upgrades-core': 1.24.1 chalk: 4.1.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) ethers: 5.7.2 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) proper-lockfile: 4.1.2 transitivePeerDependencies: - supports-color dev: true - /@openzeppelin/upgrades-core@1.20.4: - resolution: {integrity: sha512-Y4/+BPIbnopfE6ZhPOE2CD0V5fnvDxKKm7+kryx5+WrcRCTW3B5DjbXL9xyyoviG8Rn5EXUh5Fk1GLbiYDfu0g==} + /@openzeppelin/upgrades-core@1.24.1: + resolution: {integrity: sha512-QhdIQDUykJ3vQauB6CheV7vk4zgn0e1iY+IDg7r1KqpA1m2bqIGjQCpzidW33K4bZc9zdJSPx2/Z6Um5KxCB7A==} dependencies: cbor: 8.1.0 chalk: 4.1.2 - compare-versions: 5.0.1 - debug: 4.3.4(supports-color@8.1.1) + compare-versions: 5.0.3 + debug: 4.3.4(supports-color@9.3.1) ethereumjs-util: 7.1.5 proper-lockfile: 4.1.2 - solidity-ast: 0.4.38 + solidity-ast: 0.4.46 transitivePeerDependencies: - supports-color dev: true @@ -4371,16 +4086,6 @@ packages: - supports-color dev: true - /@rollup/plugin-inject@4.0.4: - resolution: {integrity: sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0 - estree-walker: 2.0.2 - magic-string: 0.25.9 - dev: true - /@rollup/plugin-inject@4.0.4(rollup@2.79.1): resolution: {integrity: sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ==} peerDependencies: @@ -4392,17 +4097,6 @@ packages: rollup: 2.79.1 dev: true - /@rollup/pluginutils@3.1.0: - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - dev: true - /@rollup/pluginutils@3.1.0(rollup@2.79.1): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} @@ -4419,18 +4113,18 @@ packages: resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} dev: true - /@scure/bip32@1.1.0: - resolution: {integrity: sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q==} + /@scure/bip32@1.1.5: + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} dependencies: - '@noble/hashes': 1.1.2 - '@noble/secp256k1': 1.6.3 + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 '@scure/base': 1.1.1 dev: true - /@scure/bip39@1.1.0: - resolution: {integrity: sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==} + /@scure/bip39@1.1.1: + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} dependencies: - '@noble/hashes': 1.1.2 + '@noble/hashes': 1.2.0 '@scure/base': 1.1.1 dev: true @@ -4574,6 +4268,12 @@ packages: antlr4ts: 0.5.0-alpha.4 dev: true + /@solidity-parser/parser@0.16.0: + resolution: {integrity: sha512-ESipEcHyRHg4Np4SqBCfcXwyxxna1DgFVz69bgpLV8vzl/NP1DtcKsJ4dJZXWQhY/Z4J2LeKBiOkOVZn9ct33Q==} + dependencies: + antlr4ts: 0.5.0-alpha.4 + dev: true + /@sveltejs/vite-plugin-svelte@1.3.1(svelte@3.53.1)(vite@3.2.4): resolution: {integrity: sha512-2Uu2sDdIR+XQWF7QWOVSF2jR9EU6Ciw1yWfYnfLYj8HIgnNxkh/8g22Fw2pBUI8QNyW/KxtqJUWBI+8ypamSrQ==} engines: {node: ^14.18.0 || >= 16} @@ -4585,7 +4285,7 @@ packages: diff-match-patch: optional: true dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) deepmerge: 4.2.2 kleur: 4.1.5 magic-string: 0.26.7 @@ -4660,10 +4360,10 @@ packages: typechain: ^3.0.0 dependencies: ethers: 5.7.2 - typechain: 3.0.0(typescript@4.9.3) + typechain: 3.0.0(typescript@4.9.5) dev: true - /@typechain/ethers-v5@7.2.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@5.2.0)(typescript@4.9.3): + /@typechain/ethers-v5@7.2.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2)(ethers@5.7.2)(typechain@5.2.0)(typescript@4.9.5): resolution: {integrity: sha512-jfcmlTvaaJjng63QsT49MT6R1HFhtO/TBMWbyzPFSzMmVIqb2tL6prnKBs4ZJrSvmgIXWy+ttSjpaxCTq8D/Tw==} peerDependencies: '@ethersproject/abi': ^5.0.0 @@ -4678,12 +4378,12 @@ packages: '@ethersproject/providers': 5.7.2 ethers: 5.7.2 lodash: 4.17.21 - ts-essentials: 7.0.3(typescript@4.9.3) - typechain: 5.2.0(typescript@4.9.3) - typescript: 4.9.3 + ts-essentials: 7.0.3(typescript@4.9.5) + typechain: 5.2.0(typescript@4.9.5) + typescript: 4.9.5 dev: true - /@typechain/hardhat@2.3.1(hardhat@2.12.2)(lodash@4.17.21)(typechain@5.2.0): + /@typechain/hardhat@2.3.1(hardhat@2.14.0)(lodash@4.17.21)(typechain@5.2.0): resolution: {integrity: sha512-BQV8OKQi0KAzLXCdsPO0pZBNQQ6ra8A2ucC26uFX/kquRBtJu1yEyWnVSmtr07b5hyRoJRpzUeINLnyqz4/MAw==} peerDependencies: hardhat: ^2.0.10 @@ -4691,13 +4391,13 @@ packages: typechain: ^5.1.2 dependencies: fs-extra: 9.1.0 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) lodash: 4.17.21 - typechain: 5.2.0(typescript@4.9.3) + typechain: 5.2.0(typescript@4.9.5) dev: true - /@types/abstract-leveldown@7.2.0: - resolution: {integrity: sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==} + /@types/abstract-leveldown@7.2.1: + resolution: {integrity: sha512-YK8irIC+eMrrmtGx0H4ISn9GgzLd9dojZWJaMbjp1YHLl2VqqNFBNrL5Q3KjGf4VE3sf/4hmq6EhQZ7kZp1NoQ==} dev: true /@types/acorn@4.0.6: @@ -4742,12 +4442,12 @@ packages: /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 /@types/bn.js@5.1.1: resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 dev: true /@types/cacheable-request@6.0.3: @@ -4755,7 +4455,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.15.1 + '@types/node': 12.20.55 '@types/responselike': 1.0.0 dev: true optional: true @@ -4767,7 +4467,7 @@ packages: /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 dev: true /@types/connect@3.4.35: @@ -4785,8 +4485,15 @@ packages: /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: - '@types/eslint': 8.4.10 - '@types/estree': 1.0.0 + '@types/eslint': 8.37.0 + '@types/estree': 1.0.1 + dev: true + + /@types/eslint@8.37.0: + resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} + dependencies: + '@types/estree': 1.0.1 + '@types/json-schema': 7.0.11 dev: true /@types/eslint@8.4.10: @@ -4816,25 +4523,30 @@ packages: /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + dev: false + + /@types/estree@1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + dev: true /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.15.1 + '@types/node': 12.20.55 dev: true - /@types/glob@8.0.1: - resolution: {integrity: sha512-8bVUjXZvJacUFkJXHdyZ9iH1Eaj5V7I8c4NdH5sQJsdXkqT4CA5Dhb4yb4VE/3asyx4L9ayZr1NIhTsWHczmMw==} + /@types/glob@8.1.0: + resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.11.18 + '@types/node': 12.20.55 dev: true /@types/graceful-fs@4.1.5: @@ -4900,7 +4612,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 dev: true optional: true @@ -4911,9 +4623,9 @@ packages: /@types/levelup@4.3.3: resolution: {integrity: sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==} dependencies: - '@types/abstract-leveldown': 7.2.0 + '@types/abstract-leveldown': 7.2.1 '@types/level-errors': 3.0.0 - '@types/node': 18.13.0 + '@types/node': 12.20.55 dev: true /@types/lru-cache@5.1.1: @@ -4945,7 +4657,7 @@ packages: /@types/mkdirp@0.5.2: resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 dev: true /@types/mocha@9.1.1: @@ -4956,10 +4668,10 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: false - /@types/node-fetch@2.6.2: - resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} + /@types/node-fetch@2.6.3: + resolution: {integrity: sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 form-data: 3.0.1 dev: true @@ -4970,17 +4682,6 @@ packages: /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - /@types/node@18.11.18: - resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} - dev: true - - /@types/node@18.13.0: - resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} - dev: true - - /@types/node@18.14.2: - resolution: {integrity: sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==} - /@types/node@18.15.1: resolution: {integrity: sha512-U2TWca8AeHSmbpi314QBESRk7oPjSZjDsR+c+H4ECC1l+kFgpZf8Ydhv3SJpPy51VyZHHqxlb6mTTqYNNRVAIw==} @@ -4999,12 +4700,16 @@ packages: /@types/pbkdf2@3.1.0: resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} dependencies: - '@types/node': 18.14.2 + '@types/node': 18.15.1 /@types/prettier@2.7.1: resolution: {integrity: sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==} dev: true + /@types/prettier@2.7.2: + resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + dev: true + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} @@ -5023,16 +4728,23 @@ packages: '@types/scheduler': 0.16.2 csstype: 3.1.1 + /@types/readable-stream@2.3.15: + resolution: {integrity: sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==} + dependencies: + '@types/node': 12.20.55 + safe-buffer: 5.1.2 + dev: true + /@types/resolve@0.0.8: resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 dev: true /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 dev: true optional: true @@ -5054,7 +4766,7 @@ packages: /@types/secp256k1@4.0.3: resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} dependencies: - '@types/node': 18.14.2 + '@types/node': 18.15.1 /@types/semver@7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} @@ -5064,11 +4776,11 @@ packages: resolution: {integrity: sha512-/19t63pFYU0ikrdbXKBWj9PCdnKyTd0Qkz0X91Ta081cYsq90OxYdcWwK/dwEoDa6dtXgj2HJfmzgq+QZTHdmQ==} dependencies: '@types/chai': 4.3.4 - '@types/sinon': 10.0.13 + '@types/sinon': 10.0.14 dev: true - /@types/sinon@10.0.13: - resolution: {integrity: sha512-UVjDqJblVNQYvVNUsj0PuYYw0ELRmgt1Nt5Vk0pT5f16ROGfcKJY8o1HVuMOJOpD727RrGB9EGvoaTQE5tgxZQ==} + /@types/sinon@10.0.14: + resolution: {integrity: sha512-mn72up6cjaMyMuaPaa/AwKf6WtsSRysQC7wxFkCm1XcOKXPM1z+5Y4H5wjIVBz4gdAkjvZxVVfjA6ba1nHr5WQ==} dependencies: '@types/sinonjs__fake-timers': 8.1.2 dev: true @@ -5112,7 +4824,7 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@4.33.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0)(typescript@4.9.3): + /@typescript-eslint/eslint-plugin@4.33.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0)(typescript@4.9.5): resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -5123,22 +4835,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 4.33.0(eslint@7.32.0)(typescript@4.9.3) - '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.3) + '@typescript-eslint/experimental-utils': 4.33.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 4.33.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) eslint: 7.32.0 functional-red-black-tree: 1.0.1 - ignore: 5.2.0 + ignore: 5.2.4 regexpp: 3.2.0 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.9.3) - typescript: 4.9.3 + semver: 7.5.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@5.44.0(@typescript-eslint/parser@5.44.0)(eslint@7.32.0)(typescript@4.9.3): + /@typescript-eslint/eslint-plugin@5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.39.0)(typescript@4.9.3): resolution: {integrity: sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5149,12 +4861,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.44.0(eslint@7.32.0)(typescript@4.9.3) + '@typescript-eslint/parser': 5.44.0(eslint@8.39.0)(typescript@4.9.3) '@typescript-eslint/scope-manager': 5.44.0 - '@typescript-eslint/type-utils': 5.44.0(eslint@7.32.0)(typescript@4.9.3) - '@typescript-eslint/utils': 5.44.0(eslint@7.32.0)(typescript@4.9.3) - debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + '@typescript-eslint/type-utils': 5.44.0(eslint@8.39.0)(typescript@4.9.3) + '@typescript-eslint/utils': 5.44.0(eslint@8.39.0)(typescript@4.9.3) + debug: 4.3.4(supports-color@9.3.1) + eslint: 8.39.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 regexpp: 3.2.0 @@ -5165,7 +4877,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@5.44.0(@typescript-eslint/parser@5.44.0)(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.39.0)(typescript@4.9.5): resolution: {integrity: sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5176,12 +4888,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.44.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.44.0(eslint@8.39.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.44.0 - '@typescript-eslint/type-utils': 5.44.0(eslint@7.32.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.44.0(eslint@7.32.0)(typescript@4.9.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + '@typescript-eslint/type-utils': 5.44.0(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.44.0(eslint@8.39.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@9.3.1) + eslint: 8.39.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 regexpp: 3.2.0 @@ -5192,33 +4904,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@5.44.0(@typescript-eslint/parser@5.44.0)(typescript@4.9.3): - resolution: {integrity: sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/parser': 5.44.0(typescript@4.9.3) - '@typescript-eslint/scope-manager': 5.44.0 - '@typescript-eslint/type-utils': 5.44.0(typescript@4.9.3) - '@typescript-eslint/utils': 5.44.0(typescript@4.9.3) - debug: 4.3.4 - ignore: 5.2.0 - natural-compare-lite: 1.4.0 - regexpp: 3.2.0 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.9.3) - typescript: 4.9.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/experimental-utils@4.33.0(eslint@7.32.0)(typescript@4.9.3): + /@typescript-eslint/experimental-utils@4.33.0(eslint@7.32.0)(typescript@4.9.5): resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -5227,7 +4913,7 @@ packages: '@types/json-schema': 7.0.11 '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.3) + '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.5) eslint: 7.32.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0(eslint@7.32.0) @@ -5236,7 +4922,7 @@ packages: - typescript dev: true - /@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.3): + /@typescript-eslint/parser@4.33.0(eslint@7.32.0)(typescript@4.9.5): resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -5248,15 +4934,15 @@ packages: dependencies: '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 - '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.3) - debug: 4.3.4(supports-color@8.1.1) + '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.5) + debug: 4.3.4(supports-color@9.3.1) eslint: 7.32.0 - typescript: 4.9.3 + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.44.0(eslint@7.32.0)(typescript@4.9.3): + /@typescript-eslint/parser@5.44.0(eslint@8.39.0)(typescript@4.9.3): resolution: {integrity: sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5269,14 +4955,14 @@ packages: '@typescript-eslint/scope-manager': 5.44.0 '@typescript-eslint/types': 5.44.0 '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) - debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + debug: 4.3.4(supports-color@9.3.1) + eslint: 8.39.0 typescript: 4.9.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.44.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.44.0(eslint@8.39.0)(typescript@4.9.5): resolution: {integrity: sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5289,32 +4975,13 @@ packages: '@typescript-eslint/scope-manager': 5.44.0 '@typescript-eslint/types': 5.44.0 '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + debug: 4.3.4(supports-color@9.3.1) + eslint: 8.39.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.44.0(typescript@4.9.3): - resolution: {integrity: sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.44.0 - '@typescript-eslint/types': 5.44.0 - '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) - debug: 4.3.4 - typescript: 4.9.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@4.33.0: resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} @@ -5331,7 +4998,7 @@ packages: '@typescript-eslint/visitor-keys': 5.44.0 dev: true - /@typescript-eslint/type-utils@5.44.0(eslint@7.32.0)(typescript@4.9.3): + /@typescript-eslint/type-utils@5.44.0(eslint@8.39.0)(typescript@4.9.3): resolution: {integrity: sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5342,16 +5009,16 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) - '@typescript-eslint/utils': 5.44.0(eslint@7.32.0)(typescript@4.9.3) - debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + '@typescript-eslint/utils': 5.44.0(eslint@8.39.0)(typescript@4.9.3) + debug: 4.3.4(supports-color@9.3.1) + eslint: 8.39.0 tsutils: 3.21.0(typescript@4.9.3) typescript: 4.9.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@5.44.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@5.44.0(eslint@8.39.0)(typescript@4.9.5): resolution: {integrity: sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5362,34 +5029,15 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.44.0(eslint@7.32.0)(typescript@4.9.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 7.32.0 + '@typescript-eslint/utils': 5.44.0(eslint@8.39.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@9.3.1) + eslint: 8.39.0 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@5.44.0(typescript@4.9.3): - resolution: {integrity: sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) - '@typescript-eslint/utils': 5.44.0(typescript@4.9.3) - debug: 4.3.4 - tsutils: 3.21.0(typescript@4.9.3) - typescript: 4.9.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/types@4.33.0: resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} @@ -5400,7 +5048,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@4.33.0(typescript@4.9.3): + /@typescript-eslint/typescript-estree@4.33.0(typescript@4.9.5): resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -5411,12 +5059,12 @@ packages: dependencies: '@typescript-eslint/types': 4.33.0 '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.9.3) - typescript: 4.9.3 + semver: 7.5.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true @@ -5432,7 +5080,7 @@ packages: dependencies: '@typescript-eslint/types': 5.44.0 '@typescript-eslint/visitor-keys': 5.44.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 @@ -5453,7 +5101,7 @@ packages: dependencies: '@typescript-eslint/types': 5.44.0 '@typescript-eslint/visitor-keys': 5.44.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 @@ -5463,7 +5111,7 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.44.0(eslint@7.32.0)(typescript@4.9.3): + /@typescript-eslint/utils@5.44.0(eslint@8.39.0)(typescript@4.9.3): resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5474,16 +5122,16 @@ packages: '@typescript-eslint/scope-manager': 5.44.0 '@typescript-eslint/types': 5.44.0 '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) - eslint: 7.32.0 + eslint: 8.39.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@7.32.0) + eslint-utils: 3.0.0(eslint@8.39.0) semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@5.44.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.44.0(eslint@8.39.0)(typescript@4.9.5): resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5494,28 +5142,9 @@ packages: '@typescript-eslint/scope-manager': 5.44.0 '@typescript-eslint/types': 5.44.0 '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.5) - eslint: 7.32.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@7.32.0) - semver: 7.3.8 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/utils@5.44.0(typescript@4.9.3): - resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.44.0 - '@typescript-eslint/types': 5.44.0 - '@typescript-eslint/typescript-estree': 5.44.0(typescript@4.9.3) + eslint: 8.39.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0 + eslint-utils: 3.0.0(eslint@8.39.0) semver: 7.3.8 transitivePeerDependencies: - supports-color @@ -5541,8 +5170,8 @@ packages: /@vue/compiler-sfc@2.7.14: resolution: {integrity: sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==} dependencies: - '@babel/parser': 7.20.3 - postcss: 8.4.21 + '@babel/parser': 7.21.4 + postcss: 8.4.23 source-map: 0.6.1 dev: true @@ -5558,7 +5187,7 @@ packages: source-map: 0.6.1 vue-template-es2015-compiler: 1.9.1 optionalDependencies: - prettier: 2.7.1 + prettier: 2.8.8 transitivePeerDependencies: - arc-templates - atpl @@ -5619,7 +5248,7 @@ packages: resolution: {integrity: sha512-L+lUuyxsocjBB3fwak3t0miXxyMHuXntysgm/R+MIbBfidsZEHpeky44z4Qdft2TUlGtb08i5QSl+4eUEQGTNw==} dev: false - /@wagmi/connectors@0.1.1(@babel/core@7.20.2)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3): + /@wagmi/connectors@0.1.1(@babel/core@7.21.4)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3): resolution: {integrity: sha512-W9w73o9HCYzuBsDHuujwBT/nGGIu5qLBSqVqslXf/S1Q9OiWoudmuIs3opuYqxgw5MpWbMqhq6QaxA7Qcd6NrA==} peerDependencies: '@wagmi/core': 0.8.x @@ -5628,9 +5257,9 @@ packages: '@wagmi/core': optional: true dependencies: - '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.20.2) + '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.21.4) '@ledgerhq/connect-kit-loader': 1.0.1 - '@wagmi/core': 0.8.4(@babel/core@7.20.2)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.3) + '@wagmi/core': 0.8.4(@babel/core@7.21.4)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.3) '@walletconnect/ethereum-provider': 1.8.0 abitype: 0.1.8(typescript@4.9.3) ethers: 5.7.2 @@ -5645,7 +5274,7 @@ packages: - utf-8-validate dev: false - /@wagmi/connectors@0.1.1(@babel/core@7.20.2)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.5): + /@wagmi/connectors@0.1.1(@babel/core@7.21.4)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.5): resolution: {integrity: sha512-W9w73o9HCYzuBsDHuujwBT/nGGIu5qLBSqVqslXf/S1Q9OiWoudmuIs3opuYqxgw5MpWbMqhq6QaxA7Qcd6NrA==} peerDependencies: '@wagmi/core': 0.8.x @@ -5654,9 +5283,9 @@ packages: '@wagmi/core': optional: true dependencies: - '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.20.2) + '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.21.4) '@ledgerhq/connect-kit-loader': 1.0.1 - '@wagmi/core': 0.8.4(@babel/core@7.20.2)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) + '@wagmi/core': 0.8.4(@babel/core@7.21.4)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5) '@walletconnect/ethereum-provider': 1.8.0 abitype: 0.1.8(typescript@4.9.5) ethers: 5.7.2 @@ -5671,65 +5300,7 @@ packages: - utf-8-validate dev: false - /@wagmi/connectors@0.1.1(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3): - resolution: {integrity: sha512-W9w73o9HCYzuBsDHuujwBT/nGGIu5qLBSqVqslXf/S1Q9OiWoudmuIs3opuYqxgw5MpWbMqhq6QaxA7Qcd6NrA==} - peerDependencies: - '@wagmi/core': 0.8.x - ethers: ^5.0.0 - peerDependenciesMeta: - '@wagmi/core': - optional: true - dependencies: - '@coinbase/wallet-sdk': 3.6.3 - '@ledgerhq/connect-kit-loader': 1.0.1 - '@wagmi/core': 0.8.4(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(typescript@4.9.3) - '@walletconnect/ethereum-provider': 1.8.0 - abitype: 0.1.8(typescript@4.9.3) - ethers: 5.7.2 - eventemitter3: 4.0.7 - transitivePeerDependencies: - - '@babel/core' - - bufferutil - - debug - - encoding - - supports-color - - typescript - - utf-8-validate - dev: false - - /@wagmi/core@0.8.4(@babel/core@7.20.2)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.3): - resolution: {integrity: sha512-orFRGOei+ixH8fIU9DitjKFSnv7sEv4j0A32gin2aADLuyBsAqG7xD+5LzfVD8EarHzU98Mk9d4hmmIkMg8bXw==} - peerDependencies: - '@coinbase/wallet-sdk': '>=3.6.0' - '@walletconnect/ethereum-provider': '>=1.7.5' - ethers: '>=5.5.1' - peerDependenciesMeta: - '@coinbase/wallet-sdk': - optional: true - '@walletconnect/ethereum-provider': - optional: true - dependencies: - '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.20.2) - '@wagmi/chains': 0.1.3 - '@wagmi/connectors': 0.1.1(@babel/core@7.20.2)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3) - abitype: 0.2.5(typescript@4.9.3) - ethers: 5.7.2 - eventemitter3: 4.0.7 - zustand: 4.1.4(react@18.2.0) - transitivePeerDependencies: - - '@babel/core' - - bufferutil - - debug - - encoding - - immer - - react - - supports-color - - typescript - - utf-8-validate - - zod - dev: false - - /@wagmi/core@0.8.4(@babel/core@7.20.2)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): + /@wagmi/core@0.8.4(@babel/core@7.21.4)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.3): resolution: {integrity: sha512-orFRGOei+ixH8fIU9DitjKFSnv7sEv4j0A32gin2aADLuyBsAqG7xD+5LzfVD8EarHzU98Mk9d4hmmIkMg8bXw==} peerDependencies: '@coinbase/wallet-sdk': '>=3.6.0' @@ -5741,10 +5312,10 @@ packages: '@walletconnect/ethereum-provider': optional: true dependencies: - '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.20.2) + '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.21.4) '@wagmi/chains': 0.1.3 - '@wagmi/connectors': 0.1.1(@babel/core@7.20.2)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.5) - abitype: 0.2.5(typescript@4.9.5) + '@wagmi/connectors': 0.1.1(@babel/core@7.21.4)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3) + abitype: 0.2.5(typescript@4.9.3) ethers: 5.7.2 eventemitter3: 4.0.7 zustand: 4.1.4(react@18.2.0) @@ -5761,7 +5332,7 @@ packages: - zod dev: false - /@wagmi/core@0.8.4(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(typescript@4.9.3): + /@wagmi/core@0.8.4(@babel/core@7.21.4)(@coinbase/wallet-sdk@3.6.3)(ethers@5.7.2)(react@18.2.0)(typescript@4.9.5): resolution: {integrity: sha512-orFRGOei+ixH8fIU9DitjKFSnv7sEv4j0A32gin2aADLuyBsAqG7xD+5LzfVD8EarHzU98Mk9d4hmmIkMg8bXw==} peerDependencies: '@coinbase/wallet-sdk': '>=3.6.0' @@ -5773,13 +5344,13 @@ packages: '@walletconnect/ethereum-provider': optional: true dependencies: - '@coinbase/wallet-sdk': 3.6.3 + '@coinbase/wallet-sdk': 3.6.3(@babel/core@7.21.4) '@wagmi/chains': 0.1.3 - '@wagmi/connectors': 0.1.1(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.3) - abitype: 0.2.5(typescript@4.9.3) + '@wagmi/connectors': 0.1.1(@babel/core@7.21.4)(@wagmi/core@0.8.4)(ethers@5.7.2)(typescript@4.9.5) + abitype: 0.2.5(typescript@4.9.5) ethers: 5.7.2 eventemitter3: 4.0.7 - zustand: 4.1.4 + zustand: 4.1.4(react@18.2.0) transitivePeerDependencies: - '@babel/core' - bufferutil @@ -6006,109 +5577,109 @@ packages: '@walletconnect/window-getters': 1.0.1 dev: false - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + /@webassemblyjs/ast@1.11.5: + resolution: {integrity: sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==} dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-numbers': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 dev: true - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + /@webassemblyjs/floating-point-hex-parser@1.11.5: + resolution: {integrity: sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==} dev: true - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + /@webassemblyjs/helper-api-error@1.11.5: + resolution: {integrity: sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==} dev: true - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + /@webassemblyjs/helper-buffer@1.11.5: + resolution: {integrity: sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==} dev: true - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + /@webassemblyjs/helper-numbers@1.11.5: + resolution: {integrity: sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==} dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/floating-point-hex-parser': 1.11.5 + '@webassemblyjs/helper-api-error': 1.11.5 '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + /@webassemblyjs/helper-wasm-bytecode@1.11.5: + resolution: {integrity: sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==} dev: true - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + /@webassemblyjs/helper-wasm-section@1.11.5: + resolution: {integrity: sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-buffer': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + '@webassemblyjs/wasm-gen': 1.11.5 dev: true - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + /@webassemblyjs/ieee754@1.11.5: + resolution: {integrity: sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==} dependencies: '@xtuc/ieee754': 1.2.0 dev: true - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + /@webassemblyjs/leb128@1.11.5: + resolution: {integrity: sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==} dependencies: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + /@webassemblyjs/utf8@1.11.5: + resolution: {integrity: sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==} dev: true - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + /@webassemblyjs/wasm-edit@1.11.5: + resolution: {integrity: sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-buffer': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + '@webassemblyjs/helper-wasm-section': 1.11.5 + '@webassemblyjs/wasm-gen': 1.11.5 + '@webassemblyjs/wasm-opt': 1.11.5 + '@webassemblyjs/wasm-parser': 1.11.5 + '@webassemblyjs/wast-printer': 1.11.5 dev: true - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + /@webassemblyjs/wasm-gen@1.11.5: + resolution: {integrity: sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + '@webassemblyjs/ieee754': 1.11.5 + '@webassemblyjs/leb128': 1.11.5 + '@webassemblyjs/utf8': 1.11.5 dev: true - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + /@webassemblyjs/wasm-opt@1.11.5: + resolution: {integrity: sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-buffer': 1.11.5 + '@webassemblyjs/wasm-gen': 1.11.5 + '@webassemblyjs/wasm-parser': 1.11.5 dev: true - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + /@webassemblyjs/wasm-parser@1.11.5: + resolution: {integrity: sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-api-error': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + '@webassemblyjs/ieee754': 1.11.5 + '@webassemblyjs/leb128': 1.11.5 + '@webassemblyjs/utf8': 1.11.5 dev: true - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + /@webassemblyjs/wast-printer@1.11.5: + resolution: {integrity: sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==} dependencies: - '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/ast': 1.11.5 '@xtuc/long': 4.2.2 dev: true @@ -6278,12 +5849,12 @@ packages: acorn-walk: 7.2.0 dev: true - /acorn-import-assertions@1.8.0(acorn@8.8.1): + /acorn-import-assertions@1.8.0(acorn@8.8.2): resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.8.1 + acorn: 8.8.2 dev: true /acorn-jsx@5.3.2(acorn@7.4.1): @@ -6300,7 +5871,6 @@ packages: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.8.2 - dev: false /acorn-node@1.8.2: resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} @@ -6326,12 +5896,6 @@ packages: hasBin: true dev: true - /acorn@8.8.1: - resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -6357,7 +5921,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) transitivePeerDependencies: - supports-color dev: true @@ -6366,7 +5930,7 @@ packages: resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) depd: 1.1.2 humanize-ms: 1.2.1 transitivePeerDependencies: @@ -6397,8 +5961,8 @@ packages: uri-js: 4.4.1 dev: true - /ajv@8.11.2: - resolution: {integrity: sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==} + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -6518,7 +6082,7 @@ packages: engines: {node: '>=10'} dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 dev: true /are-we-there-yet@3.0.1: @@ -6526,7 +6090,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 dev: true /arg@1.0.0: @@ -6552,6 +6116,7 @@ packages: /argv@0.0.2: resolution: {integrity: sha512-dEamhpPEwRUBpLNHeuCm/v+g0anFByHahxodVO/BbAarHVBBg2MccCwf9K+o1Pof+2btdnkJelYVUWjW/VrATw==} engines: {node: '>=0.6.10'} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dev: false /arr-diff@4.0.0: @@ -6583,6 +6148,13 @@ packages: typical: 2.6.1 dev: true + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true @@ -6593,9 +6165,9 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 - get-intrinsic: 1.1.3 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.0 is-string: 1.0.7 dev: true @@ -6619,8 +6191,18 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 dev: true @@ -6629,8 +6211,8 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 + define-properties: 1.2.0 + es-abstract: 1.21.2 es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 dev: true @@ -6714,7 +6296,7 @@ packages: /async@2.6.2: resolution: {integrity: sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==} dependencies: - lodash: 4.17.21 + lodash: 4.17.20 dev: true /async@2.6.4: @@ -6760,8 +6342,8 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001458 + browserslist: 4.21.4 + caniuse-lite: 1.0.30001434 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -6788,7 +6370,6 @@ packages: /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - dev: false /aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} @@ -6801,7 +6382,7 @@ packages: /axios@0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.2(debug@4.3.4) transitivePeerDependencies: - debug dev: false @@ -6809,7 +6390,7 @@ packages: /axios@1.2.0: resolution: {integrity: sha512-zT7wZyNYu3N5Bu0wuZ6QccIf93Qk1eV8LOewxgjOZFd2DenOs98cJ7+Y6703d0wkaXGY6/nZd4EweJaHz9uzQw==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.2(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -6840,7 +6421,7 @@ packages: convert-source-map: 1.9.0 debug: 2.6.9 json5: 0.5.1 - lodash: 4.17.21 + lodash: 4.17.20 minimatch: 3.1.2 path-is-absolute: 1.0.1 private: 0.1.8 @@ -6858,7 +6439,7 @@ packages: babel-types: 6.26.0 detect-indent: 4.0.0 jsesc: 1.3.0 - lodash: 4.17.21 + lodash: 4.17.20 source-map: 0.5.7 trim-right: 1.0.1 dev: true @@ -6890,7 +6471,7 @@ packages: babel-helper-function-name: 6.24.1 babel-runtime: 6.26.0 babel-types: 6.26.0 - lodash: 4.17.21 + lodash: 4.17.20 transitivePeerDependencies: - supports-color dev: true @@ -6943,7 +6524,7 @@ packages: dependencies: babel-runtime: 6.26.0 babel-types: 6.26.0 - lodash: 4.17.21 + lodash: 4.17.20 dev: true /babel-helper-remap-async-to-generator@6.24.1: @@ -6980,17 +6561,18 @@ packages: - supports-color dev: true - /babel-jest@27.5.1: + /babel-jest@27.5.1(@babel/core@7.20.2): resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: + '@babel/core': 7.20.2 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__core': 7.1.20 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1 + babel-preset-jest: 27.5.1(@babel/core@7.20.2) chalk: 4.1.2 graceful-fs: 4.2.10 slash: 3.0.0 @@ -6998,18 +6580,18 @@ packages: - supports-color dev: true - /babel-jest@27.5.1(@babel/core@7.20.2): + /babel-jest@27.5.1(@babel/core@7.21.4): resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__core': 7.1.20 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.20.2) + babel-preset-jest: 27.5.1(@babel/core@7.21.4) chalk: 4.1.2 graceful-fs: 4.2.10 slash: 3.0.0 @@ -7052,66 +6634,36 @@ packages: '@types/babel__traverse': 7.18.2 dev: true - /babel-plugin-polyfill-corejs2@0.3.3: - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.20.1 - '@babel/helper-define-polyfill-provider': 0.3.3 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.20.2): + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.20.1 - '@babel/core': 7.20.2 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.2) + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) semver: 6.3.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.6.0: - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-define-polyfill-provider': 0.3.3 - core-js-compat: 3.26.1 - transitivePeerDependencies: - - supports-color - - /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.20.2): + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4): resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.2) + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) core-js-compat: 3.26.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.4.1: - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/helper-define-polyfill-provider': 0.3.3 - transitivePeerDependencies: - - supports-color - - /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.20.2): + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4): resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.2) + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) transitivePeerDependencies: - supports-color @@ -7156,7 +6708,7 @@ packages: babel-template: 6.26.0 babel-traverse: 6.26.0 babel-types: 6.26.0 - lodash: 4.17.21 + lodash: 4.17.20 transitivePeerDependencies: - supports-color dev: true @@ -7348,25 +6900,6 @@ packages: babel-types: 6.26.0 dev: true - /babel-preset-current-node-syntax@1.0.1: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/plugin-syntax-async-generators': 7.8.4 - '@babel/plugin-syntax-bigint': 7.8.3 - '@babel/plugin-syntax-class-properties': 7.12.13 - '@babel/plugin-syntax-import-meta': 7.10.4 - '@babel/plugin-syntax-json-strings': 7.8.3 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3 - '@babel/plugin-syntax-numeric-separator': 7.10.4 - '@babel/plugin-syntax-object-rest-spread': 7.8.3 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3 - '@babel/plugin-syntax-optional-chaining': 7.8.3 - '@babel/plugin-syntax-top-level-await': 7.14.5 - dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.20.2): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: @@ -7387,6 +6920,26 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.2) dev: true + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.4): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) + dev: true + /babel-preset-env@1.7.0: resolution: {integrity: sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==} dependencies: @@ -7424,25 +6977,26 @@ packages: - supports-color dev: true - /babel-preset-jest@27.5.1: + /babel-preset-jest@27.5.1(@babel/core@7.20.2): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: + '@babel/core': 7.20.2 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.2) dev: true - /babel-preset-jest@27.5.1(@babel/core@7.20.2): + /babel-preset-jest@27.5.1(@babel/core@7.21.4): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.20.2) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.4) dev: true /babel-register@6.26.0: @@ -7452,7 +7006,7 @@ packages: babel-runtime: 6.26.0 core-js: 2.6.12 home-or-tmp: 2.0.0 - lodash: 4.17.21 + lodash: 4.17.20 mkdirp: 0.5.6 source-map-support: 0.4.18 transitivePeerDependencies: @@ -7574,21 +7128,15 @@ packages: bindings: 1.5.0 dev: false - /bigint-crypto-utils@3.1.7: - resolution: {integrity: sha512-zpCQpIE2Oy5WIQpjC9iYZf8Uh9QqoS51ZCooAcNvzv1AQ3VWdT52D0ksr1+/faeK8HVIej1bxXcP75YcqH3KPA==} - engines: {node: '>=10.4.0'} - dependencies: - bigint-mod-arith: 3.1.2 - dev: true - - /bigint-mod-arith@3.1.2: - resolution: {integrity: sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ==} - engines: {node: '>=10.4.0'} + /bigint-crypto-utils@3.2.2: + resolution: {integrity: sha512-U1RbE3aX9ayCUVcIPHuPDPKcK3SFOXf93J1UK/iHlJuQB7bhagPIX06/CLpLEsDThJ7KA4Dhrnzynl+d2weTiw==} + engines: {node: '>=14.0.0'} dev: true - /bignumber.js@9.1.0: - resolution: {integrity: sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==} + /bignumber.js@9.1.1: + resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} dev: true + optional: true /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} @@ -7655,7 +7203,7 @@ packages: engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 - content-type: 1.0.4 + content-type: 1.0.5 debug: 2.6.9 depd: 2.0.0 destroy: 1.2.0 @@ -7671,6 +7219,27 @@ packages: dev: true optional: true + /body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true @@ -7793,7 +7362,7 @@ packages: elliptic: 6.5.4 inherits: 2.0.4 parse-asn1: 5.1.6 - readable-stream: 3.6.0 + readable-stream: 3.6.2 safe-buffer: 5.2.1 dev: true @@ -7801,8 +7370,8 @@ packages: resolution: {integrity: sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==} hasBin: true dependencies: - caniuse-lite: 1.0.30001451 - electron-to-chromium: 1.4.291 + caniuse-lite: 1.0.30001481 + electron-to-chromium: 1.4.369 dev: true /browserslist@4.21.4: @@ -7920,7 +7489,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.5.0 + node-gyp-build: 4.6.0 /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} @@ -8000,7 +7569,7 @@ packages: dependencies: clone-response: 1.0.3 get-stream: 5.2.0 - http-cache-semantics: 4.1.0 + http-cache-semantics: 4.1.1 keyv: 3.1.0 lowercase-keys: 2.0.0 normalize-url: 4.5.1 @@ -8014,7 +7583,7 @@ packages: dependencies: clone-response: 1.0.3 get-stream: 5.2.0 - http-cache-semantics: 4.1.0 + http-cache-semantics: 4.1.1 keyv: 4.5.2 lowercase-keys: 2.0.0 normalize-url: 6.1.0 @@ -8080,6 +7649,16 @@ packages: quick-lru: 4.0.1 dev: true + /camelcase-keys@7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} + dependencies: + camelcase: 6.3.0 + map-obj: 4.3.0 + quick-lru: 5.1.1 + type-fest: 1.4.0 + dev: true + /camelcase@3.0.0: resolution: {integrity: sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==} engines: {node: '>=0.10.0'} @@ -8101,16 +7680,17 @@ packages: /caniuse-lite@1.0.30001447: resolution: {integrity: sha512-bdKU1BQDPeEXe9A39xJnGtY0uRq/z5osrnXUw0TcK+EYno45Y+U7QU9HhHEyzvMDffpYadFXi3idnSNkcwLkTw==} - /caniuse-lite@1.0.30001451: - resolution: {integrity: sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==} - dev: true + /caniuse-lite@1.0.30001465: + resolution: {integrity: sha512-HvjgL3MYAJjceTDCcjRnQGjwUz/5qec9n7JPOzUursUoOTIsYCSDOb1l7RsnZE8mjbxG78zVRCKfrBXyvChBag==} - /caniuse-lite@1.0.30001458: - resolution: {integrity: sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w==} + /caniuse-lite@1.0.30001481: + resolution: {integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==} dev: true - /caniuse-lite@1.0.30001465: - resolution: {integrity: sha512-HvjgL3MYAJjceTDCcjRnQGjwUz/5qec9n7JPOzUursUoOTIsYCSDOb1l7RsnZE8mjbxG78zVRCKfrBXyvChBag==} + /case@1.6.3: + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} + dev: true /caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -8121,14 +7701,6 @@ packages: engines: {node: '>=6'} dev: true - /cbor@5.2.0: - resolution: {integrity: sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==} - engines: {node: '>=6.0.0'} - dependencies: - bignumber.js: 9.1.0 - nofilter: 1.0.4 - dev: true - /cbor@8.1.0: resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} engines: {node: '>=12.19'} @@ -8146,7 +7718,7 @@ packages: dependencies: assertion-error: 1.1.0 check-error: 1.0.2 - deep-eql: 4.1.2 + deep-eql: 4.1.3 get-func-name: 2.0.0 loupe: 2.3.6 pathval: 1.1.1 @@ -8318,20 +7890,20 @@ packages: static-extend: 0.1.2 dev: true - /classic-level@1.2.0: - resolution: {integrity: sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==} + /classic-level@1.3.0: + resolution: {integrity: sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg==} engines: {node: '>=12'} requiresBuild: true dependencies: abstract-level: 1.0.3 catering: 2.1.1 module-error: 1.0.2 - napi-macros: 2.0.0 - node-gyp-build: 4.5.0 + napi-macros: 2.2.2 + node-gyp-build: 4.6.0 dev: true - /clean-css@5.3.1: - resolution: {integrity: sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==} + /clean-css@5.3.2: + resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 @@ -8529,6 +8101,10 @@ packages: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + /colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} @@ -8556,8 +8132,8 @@ packages: typical: 2.6.1 dev: true - /commander@10.0.0: - resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} dev: true @@ -8572,13 +8148,13 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - /commander@9.4.1: - resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} dev: true - /compare-versions@5.0.1: - resolution: {integrity: sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ==} + /compare-versions@5.0.3: + resolution: {integrity: sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==} dev: true /component-emitter@1.3.0: @@ -8793,8 +8369,8 @@ packages: dev: true optional: true - /content-type@1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} dev: true optional: true @@ -8818,8 +8394,8 @@ packages: dev: true optional: true - /cookiejar@2.1.3: - resolution: {integrity: sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==} + /cookiejar@2.1.4: + resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} dev: true optional: true @@ -8839,8 +8415,8 @@ packages: dependencies: browserslist: 4.21.4 - /core-js-pure@3.26.1: - resolution: {integrity: sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==} + /core-js-pure@3.30.1: + resolution: {integrity: sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg==} requiresBuild: true dev: true @@ -8888,8 +8464,8 @@ packages: yaml: 1.10.2 dev: true - /cosmiconfig@8.0.0: - resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} + /cosmiconfig@8.1.3: + resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} engines: {node: '>=14'} dependencies: import-fresh: 3.3.0 @@ -8937,7 +8513,7 @@ packages: /cross-fetch@2.2.6: resolution: {integrity: sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA==} dependencies: - node-fetch: 2.6.7 + node-fetch: 2.6.9 whatwg-fetch: 2.0.4 transitivePeerDependencies: - encoding @@ -8999,21 +8575,21 @@ packages: randomfill: 1.0.4 dev: true - /css-loader@6.7.2(webpack@5.75.0): - resolution: {integrity: sha512-oqGbbVcBJkm8QwmnNzrFrWTnudnRZC+1eXikLJl0n4ljcfotgRifpg2a1lKy8jTrc4/d9A/ap1GFq1jDKG7J+Q==} + /css-loader@6.7.3(webpack@5.80.0): + resolution: {integrity: sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.21) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.21) - postcss-modules-scope: 3.0.0(postcss@8.4.21) - postcss-modules-values: 4.0.0(postcss@8.4.21) + icss-utils: 5.1.0(postcss@8.4.23) + postcss: 8.4.23 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.23) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.23) + postcss-modules-scope: 3.0.0(postcss@8.4.23) + postcss-modules-values: 4.0.0(postcss@8.4.23) postcss-value-parser: 4.2.0 - semver: 7.3.8 - webpack: 5.75.0 + semver: 7.5.0 + webpack: 5.80.0 dev: true /css-select@4.3.0: @@ -9055,6 +8631,10 @@ packages: /csstype@3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: true + /d@1.0.1: resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} dependencies: @@ -9109,7 +8689,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.3 + ms: 2.1.1 supports-color: 6.0.0 dev: true @@ -9124,17 +8704,6 @@ packages: ms: 2.1.3 dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -9146,8 +8715,9 @@ packages: dependencies: ms: 2.1.2 supports-color: 8.1.1 + dev: true - /debug@4.3.4(supports-color@9.2.3): + /debug@4.3.4(supports-color@9.3.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -9157,8 +8727,7 @@ packages: optional: true dependencies: ms: 2.1.2 - supports-color: 9.2.3 - dev: true + supports-color: 9.3.1 /decamelize-keys@1.1.1: resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} @@ -9190,6 +8759,12 @@ packages: /decode-uri-component@0.2.0: resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} engines: {node: '>=0.10'} + dev: false + + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true /decompress-response@3.3.0: resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} @@ -9209,8 +8784,8 @@ packages: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: true - /deep-eql@4.1.2: - resolution: {integrity: sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==} + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} dependencies: type-detect: 4.0.8 @@ -9224,7 +8799,7 @@ packages: is-regex: 1.1.4 object-is: 1.1.5 object-keys: 1.1.1 - regexp.prototype.flags: 1.4.3 + regexp.prototype.flags: 1.5.0 dev: true /deep-extend@0.6.0: @@ -9279,8 +8854,8 @@ packages: inherits: 2.0.4 dev: true - /define-properties@1.1.4: - resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} + /define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} dependencies: has-property-descriptors: 1.0.0 @@ -9400,7 +8975,7 @@ packages: hasBin: true dependencies: address: 1.2.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) transitivePeerDependencies: - supports-color dev: true @@ -9454,7 +9029,7 @@ packages: /difflib@0.2.4: resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} dependencies: - heap: 0.2.6 + heap: 0.2.7 dev: true /dijkstrajs@1.0.2: @@ -9588,13 +9163,13 @@ packages: /electron-to-chromium@1.4.284: resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} - /electron-to-chromium@1.4.291: - resolution: {integrity: sha512-8vk4rSMBh9LRfZKE6wcxOLmlfA4Xsa4v0RRwB6VJkAH703klC9XfZIocmTk2gLBzW31P6XbuNeMt1aB5aAu/2g==} - dev: true - /electron-to-chromium@1.4.328: resolution: {integrity: sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw==} + /electron-to-chromium@1.4.369: + resolution: {integrity: sha512-LfxbHXdA/S+qyoTEA4EbhxGjrxx7WK2h6yb5K2v0UCOufUKX+VZaHbl3svlzZfv9sGseym/g3Ne4DpsgRULmqg==} + dev: true + /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: @@ -9673,6 +9248,14 @@ packages: tapable: 2.2.1 dev: true + /enhanced-resolve@5.13.0: + resolution: {integrity: sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -9706,42 +9289,61 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract@1.20.4: - resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==} + /es-abstract@1.21.2: + resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} dependencies: + array-buffer-byte-length: 1.0.0 + available-typed-arrays: 1.0.5 call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 es-to-primitive: 1.2.1 - function-bind: 1.1.1 function.prototype.name: 1.1.5 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.0 get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 has: 1.0.3 has-property-descriptors: 1.0.0 + has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 + is-typed-array: 1.1.10 is-weakref: 1.0.2 - object-inspect: 1.12.2 + object-inspect: 1.12.3 object-keys: 1.1.1 object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 + regexp.prototype.flags: 1.5.0 safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 string.prototype.trimend: 1.0.6 string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 dev: true /es-array-method-boxes-properly@1.0.0: resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /es-module-lexer@1.2.1: + resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} + dev: true + + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + has-tostringtag: 1.0.0 dev: true /es-shim-unscopables@1.0.0: @@ -10068,8 +9670,8 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier@8.5.0(eslint@7.32.0): - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + /eslint-config-prettier@8.8.0(eslint@7.32.0): + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -10077,7 +9679,7 @@ packages: eslint: 7.32.0 dev: true - /eslint-config-standard@16.0.3(eslint-plugin-import@2.26.0)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@7.32.0): + /eslint-config-standard@16.0.3(eslint-plugin-import@2.27.5)(eslint-plugin-node@11.1.0)(eslint-plugin-promise@5.2.0)(eslint@7.32.0): resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} peerDependencies: eslint: ^7.12.1 @@ -10086,22 +9688,23 @@ packages: eslint-plugin-promise: ^4.2.1 || ^5.0.0 dependencies: eslint: 7.32.0 - eslint-plugin-import: 2.26.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@4.33.0)(eslint@7.32.0) eslint-plugin-node: 11.1.0(eslint@7.32.0) eslint-plugin-promise: 5.2.0(eslint@7.32.0) dev: true - /eslint-import-resolver-node@0.3.6: - resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} + /eslint-import-resolver-node@0.3.7: + resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} dependencies: debug: 3.2.7 - resolve: 1.22.1 + is-core-module: 2.12.0 + resolve: 1.22.2 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.7.4(@typescript-eslint/parser@4.33.0)(eslint-import-resolver-node@0.3.6)(eslint@7.32.0): - resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} + /eslint-module-utils@2.8.0(@typescript-eslint/parser@4.33.0)(eslint-import-resolver-node@0.3.7)(eslint@7.32.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -10121,10 +9724,10 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.3) + '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) debug: 3.2.7 eslint: 7.32.0 - eslint-import-resolver-node: 0.3.6 + eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color dev: true @@ -10140,8 +9743,8 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.26.0(@typescript-eslint/parser@4.33.0)(eslint@7.32.0): - resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@4.33.0)(eslint@7.32.0): + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -10150,28 +9753,30 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.3) + '@typescript-eslint/parser': 4.33.0(eslint@7.32.0)(typescript@4.9.5) array-includes: 3.1.6 array.prototype.flat: 1.3.1 - debug: 2.6.9 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 doctrine: 2.1.0 eslint: 7.32.0 - eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@4.33.0)(eslint-import-resolver-node@0.3.6)(eslint@7.32.0) + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@4.33.0)(eslint-import-resolver-node@0.3.7)(eslint@7.32.0) has: 1.0.3 - is-core-module: 2.11.0 + is-core-module: 2.12.0 is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.6 - resolve: 1.22.1 - tsconfig-paths: 3.14.1 + resolve: 1.22.2 + semver: 6.3.0 + tsconfig-paths: 3.14.2 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color dev: true - /eslint-plugin-jest@27.2.1(@typescript-eslint/eslint-plugin@5.44.0)(jest@27.5.1)(typescript@4.9.3): + /eslint-plugin-jest@27.2.1(@typescript-eslint/eslint-plugin@5.44.0)(eslint@8.39.0)(jest@27.5.1)(typescript@4.9.3): resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -10184,8 +9789,9 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.44.0(@typescript-eslint/parser@5.44.0)(typescript@4.9.3) - '@typescript-eslint/utils': 5.44.0(typescript@4.9.3) + '@typescript-eslint/eslint-plugin': 5.44.0(@typescript-eslint/parser@5.44.0)(eslint@8.39.0)(typescript@4.9.3) + '@typescript-eslint/utils': 5.44.0(eslint@8.39.0)(typescript@4.9.3) + eslint: 8.39.0 jest: 27.5.1 transitivePeerDependencies: - supports-color @@ -10201,13 +9807,13 @@ packages: eslint: 7.32.0 eslint-plugin-es: 3.0.1(eslint@7.32.0) eslint-utils: 2.1.0 - ignore: 5.2.0 + ignore: 5.2.4 minimatch: 3.1.2 - resolve: 1.22.1 + resolve: 1.22.2 semver: 6.3.0 dev: true - /eslint-plugin-prettier@3.4.1(eslint-config-prettier@8.5.0)(eslint@7.32.0)(prettier@2.8.0): + /eslint-plugin-prettier@3.4.1(eslint-config-prettier@8.8.0)(eslint@7.32.0)(prettier@2.8.8): resolution: {integrity: sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==} engines: {node: '>=6.0.0'} peerDependencies: @@ -10219,8 +9825,8 @@ packages: optional: true dependencies: eslint: 7.32.0 - eslint-config-prettier: 8.5.0(eslint@7.32.0) - prettier: 2.8.0 + eslint-config-prettier: 8.8.0(eslint@7.32.0) + prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true @@ -10233,18 +9839,21 @@ packages: eslint: 7.32.0 dev: true - /eslint-plugin-simple-import-sort@10.0.0: + /eslint-plugin-simple-import-sort@10.0.0(eslint@8.39.0): resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} peerDependencies: eslint: '>=5.0.0' + dependencies: + eslint: 8.39.0 dev: true - /eslint-plugin-svelte3@4.0.0(svelte@3.53.1): + /eslint-plugin-svelte3@4.0.0(eslint@8.39.0)(svelte@3.53.1): resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: + eslint: 8.39.0 svelte: 3.53.1 dev: true @@ -10256,6 +9865,14 @@ packages: estraverse: 4.3.0 dev: true + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -10263,22 +9880,23 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils@3.0.0: + /eslint-utils@3.0.0(eslint@7.32.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: + eslint: 7.32.0 eslint-visitor-keys: 2.1.0 dev: true - /eslint-utils@3.0.0(eslint@7.32.0): + /eslint-utils@3.0.0(eslint@8.39.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 7.32.0 + eslint: 8.39.0 eslint-visitor-keys: 2.1.0 dev: true @@ -10297,6 +9915,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /eslint-visitor-keys@3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint@7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -10308,40 +9931,89 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) + doctrine: 3.0.0 + enquirer: 2.3.6 + escape-string-regexp: 4.0.0 + eslint-scope: 5.1.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 2.1.0 + espree: 7.3.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 5.1.2 + globals: 13.20.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 3.14.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.5.0 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + table: 6.8.1 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint@8.39.0: + resolution: {integrity: sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.39.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@9.3.1) doctrine: 3.0.0 - enquirer: 2.3.6 escape-string-regexp: 4.0.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.1.0 - espree: 7.3.1 - esquery: 1.4.0 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 + esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 - globals: 13.18.0 - ignore: 4.0.6 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 - js-yaml: 3.14.1 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 + js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.1 - progress: 2.0.3 - regexpp: 3.2.0 - semver: 7.3.8 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 - table: 6.8.1 text-table: 0.2.0 - v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true @@ -10355,6 +10027,15 @@ packages: eslint-visitor-keys: 1.3.0 dev: true + /espree@9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.0 + dev: true + /esprima@2.7.3: resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} engines: {node: '>=0.10.0'} @@ -10366,8 +10047,8 @@ packages: engines: {node: '>=4'} hasBin: true - /esquery@1.4.0: - resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 @@ -10468,29 +10149,15 @@ packages: ethjs-util: 0.1.6 json-rpc-engine: 3.8.0 pify: 2.3.0 - tape: 4.16.1 + tape: 4.16.2 transitivePeerDependencies: - supports-color dev: true - /eth-block-tracker@4.4.3: - resolution: {integrity: sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==} - dependencies: - '@babel/plugin-transform-runtime': 7.19.6 - '@babel/runtime': 7.20.13 - eth-query: 2.1.2 - json-rpc-random-id: 1.0.1 - pify: 3.0.0 - safe-event-emitter: 1.0.1 - transitivePeerDependencies: - - '@babel/core' - - supports-color - dev: false - - /eth-block-tracker@4.4.3(@babel/core@7.20.2): + /eth-block-tracker@4.4.3(@babel/core@7.21.4): resolution: {integrity: sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==} dependencies: - '@babel/plugin-transform-runtime': 7.19.6(@babel/core@7.20.2) + '@babel/plugin-transform-runtime': 7.19.6(@babel/core@7.21.4) '@babel/runtime': 7.20.13 eth-query: 2.1.2 json-rpc-random-id: 1.0.1 @@ -10520,7 +10187,7 @@ packages: '@solidity-parser/parser': 0.14.5 cli-table3: 0.5.1 colors: 1.4.0 - ethereum-cryptography: 1.1.2 + ethereum-cryptography: 1.2.0 ethers: 4.0.49 fs-readdir-recursive: 1.1.0 lodash: 4.17.21 @@ -10561,7 +10228,7 @@ packages: /eth-json-rpc-middleware@1.6.0: resolution: {integrity: sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==} dependencies: - async: 2.6.4 + async: 2.6.2 eth-query: 2.1.2 eth-tx-summary: 3.2.4 ethereumjs-block: 1.7.1 @@ -10573,7 +10240,7 @@ packages: json-rpc-error: 2.0.0 json-stable-stringify: 1.0.2 promise-to-callback: 1.0.0 - tape: 4.16.1 + tape: 4.16.2 transitivePeerDependencies: - supports-color dev: true @@ -10661,7 +10328,7 @@ packages: /eth-tx-summary@3.2.4: resolution: {integrity: sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg==} dependencies: - async: 2.6.4 + async: 2.6.2 clone: 2.1.2 concat-stream: 1.6.2 end-of-stream: 1.4.4 @@ -10677,7 +10344,7 @@ packages: resolution: {integrity: sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw==} deprecated: 'New package name format for new versions: @ethereumjs/ethash. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 buffer-xor: 2.0.2 ethereumjs-util: 7.1.5 miller-rabin: 4.0.1 @@ -10716,22 +10383,22 @@ packages: secp256k1: 4.0.3 setimmediate: 1.0.5 - /ethereum-cryptography@1.1.2: - resolution: {integrity: sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ==} + /ethereum-cryptography@1.2.0: + resolution: {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 dev: true - /ethereum-waffle@3.4.4(typescript@4.9.3): + /ethereum-waffle@3.4.4(typescript@4.9.5): resolution: {integrity: sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==} engines: {node: '>=10.0'} hasBin: true dependencies: '@ethereum-waffle/chai': 3.4.4 - '@ethereum-waffle/compiler': 3.4.4(typescript@4.9.3) + '@ethereum-waffle/compiler': 3.4.4(typescript@4.9.5) '@ethereum-waffle/mock-contract': 3.4.4 '@ethereum-waffle/provider': 3.4.4 ethers: 5.7.2 @@ -10778,7 +10445,7 @@ packages: resolution: {integrity: sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==} deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethereum-common: 0.2.0 ethereumjs-tx: 1.3.7 ethereumjs-util: 5.2.1 @@ -10789,7 +10456,7 @@ packages: resolution: {integrity: sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg==} deprecated: 'New package name format for new versions: @ethereumjs/block. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethereumjs-common: 1.5.0 ethereumjs-tx: 2.1.2 ethereumjs-util: 5.2.1 @@ -10800,7 +10467,7 @@ packages: resolution: {integrity: sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ==} deprecated: 'New package name format for new versions: @ethereumjs/blockchain. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 ethashjs: 0.0.8 ethereumjs-block: 2.2.2 ethereumjs-common: 1.5.0 @@ -10880,7 +10547,7 @@ packages: resolution: {integrity: sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==} deprecated: 'New package name format for new versions: @ethereumjs/vm. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 async-eventemitter: 0.2.4 ethereumjs-account: 2.0.5 ethereumjs-block: 2.2.2 @@ -10897,9 +10564,9 @@ packages: resolution: {integrity: sha512-X6qqZbsY33p5FTuZqCnQ4+lo957iUJMM6Mpa6bL4UW0dxM6WmDSHuI4j/zOp1E2TDKImBGCJA9QPfc08PaNubA==} deprecated: 'New package name format for new versions: @ethereumjs/vm. Please update.' dependencies: - async: 2.6.4 + async: 2.6.2 async-eventemitter: 0.2.4 - core-js-pure: 3.26.1 + core-js-pure: 3.30.1 ethereumjs-account: 3.0.0 ethereumjs-block: 2.2.2 ethereumjs-blockchain: 4.0.4 @@ -10911,7 +10578,7 @@ packages: merkle-patricia-tree: 2.3.2 rustbn.js: 0.2.0 safe-buffer: 5.2.1 - util.promisify: 1.1.1 + util.promisify: 1.1.2 dev: true /ethereumjs-wallet@0.6.5: @@ -11098,7 +10765,7 @@ packages: array-flatten: 1.1.1 body-parser: 1.20.1 content-disposition: 0.5.4 - content-type: 1.0.4 + content-type: 1.0.5 cookie: 0.5.0 cookie-signature: 1.0.6 debug: 2.6.9 @@ -11377,16 +11044,6 @@ packages: resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} dev: false - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false - /follow-redirects@1.15.2(debug@4.3.4): resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} @@ -11396,7 +11053,7 @@ packages: debug: optional: true dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -11486,7 +11143,7 @@ packages: /fs-extra@0.30.0: resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 2.4.0 klaw: 1.3.1 path-is-absolute: 1.0.1 @@ -11505,7 +11162,7 @@ packages: /fs-extra@4.0.3: resolution: {integrity: sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 dev: true @@ -11514,7 +11171,7 @@ packages: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 dev: true @@ -11523,7 +11180,7 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 dev: true @@ -11533,7 +11190,7 @@ packages: engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -11585,8 +11242,8 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 + define-properties: 1.2.0 + es-abstract: 1.21.2 functions-have-names: 1.2.3 dev: true @@ -11707,6 +11364,14 @@ packages: has: 1.0.3 has-symbols: 1.0.3 + /get-intrinsic@1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: true + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -11758,7 +11423,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.0 dev: true /get-value@2.0.6: @@ -11869,7 +11534,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.0.1 + minimatch: 5.1.6 once: 1.4.0 dev: true @@ -11900,8 +11565,8 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals@13.18.0: - resolution: {integrity: sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==} + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -11912,6 +11577,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + dev: true + /globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} dev: false @@ -11924,7 +11596,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.2.12 - glob: 7.2.3 + glob: 7.2.0 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 @@ -11959,10 +11631,9 @@ packages: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.1.3 - dev: false - /got@11.8.5: - resolution: {integrity: sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==} + /got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} dependencies: '@sindresorhus/is': 4.6.0 @@ -12002,6 +11673,14 @@ packages: /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + /gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -12049,7 +11728,7 @@ packages: engines: {node: '>=6'} dev: true - /hardhat-abi-exporter@2.10.1(hardhat@2.12.2): + /hardhat-abi-exporter@2.10.1(hardhat@2.14.0): resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} engines: {node: '>=14.14.0'} peerDependencies: @@ -12057,34 +11736,34 @@ packages: dependencies: '@ethersproject/abi': 5.7.0 delete-empty: 3.0.0 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) dev: true - /hardhat-contract-sizer@2.8.0(hardhat@2.12.2): + /hardhat-contract-sizer@2.8.0(hardhat@2.14.0): resolution: {integrity: sha512-jXt2Si3uIDx5z99J+gvKa0yvIw156pE4dpH9X/PvTQv652BUd+qGj7WT93PXnHXGh5qhQLkjDYeZMYNOThfjFg==} peerDependencies: hardhat: ^2.0.0 dependencies: chalk: 4.1.2 cli-table3: 0.6.3 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) strip-ansi: 6.0.1 dev: true - /hardhat-docgen@1.3.0(hardhat@2.12.2)(lodash@4.17.21): + /hardhat-docgen@1.3.0(hardhat@2.14.0)(lodash@4.17.21): resolution: {integrity: sha512-paaiOHjJFLCLz2/qM1TQ7ZEG+Vy+LBvJL+SW4A64ZhBnVnyoZ/zv9DvEuawaWhqP5P7AOM6r22reVz4ecWgW7A==} engines: {node: '>=14.14.0'} peerDependencies: hardhat: ^2.0.0 dependencies: - css-loader: 6.7.2(webpack@5.75.0) - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) - html-webpack-plugin: 5.5.0(webpack@5.75.0) + css-loader: 6.7.3(webpack@5.80.0) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) + html-webpack-plugin: 5.5.1(webpack@5.80.0) vue: 2.7.14 - vue-loader: 15.10.1(css-loader@6.7.2)(lodash@4.17.21)(vue-template-compiler@2.7.14)(webpack@5.75.0) + vue-loader: 15.10.1(css-loader@6.7.3)(lodash@4.17.21)(vue-template-compiler@2.7.14)(webpack@5.80.0) vue-router: 3.6.5(vue@2.7.14) vue-template-compiler: 2.7.14 - webpack: 5.75.0 + webpack: 5.80.0 transitivePeerDependencies: - '@swc/core' - '@vue/compiler-sfc' @@ -12147,22 +11826,22 @@ packages: - whiskers dev: true - /hardhat-gas-reporter@1.0.9(hardhat@2.12.2): + /hardhat-gas-reporter@1.0.9(hardhat@2.14.0): resolution: {integrity: sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==} peerDependencies: hardhat: ^2.0.2 dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.25 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' dev: true - /hardhat@2.12.2(ts-node@10.9.1)(typescript@4.9.3): - resolution: {integrity: sha512-f3ZhzXy1uyQv0UXnAQ8GCBOWjzv++WJNb7bnm10SsyC3dB7vlPpsMWBNhq7aoRxKrNhX9tCev81KFV3i5BTeMQ==} - engines: {node: ^14.0.0 || ^16.0.0 || ^18.0.0} + /hardhat@2.14.0(ts-node@10.9.1)(typescript@4.9.5): + resolution: {integrity: sha512-73jsInY4zZahMSVFurSK+5TNCJTXMv+vemvGia0Ac34Mm19fYp6vEPVGF3sucbumszsYxiTT2TbS8Ii2dsDSoQ==} + engines: {node: '>=14.0.0'} hasBin: true peerDependencies: ts-node: '*' @@ -12175,17 +11854,17 @@ packages: dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 - '@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/solidity-analyzer': 0.1.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.1 '@sentry/node': 5.30.0 '@types/bn.js': 5.1.1 '@types/lru-cache': 5.1.1 @@ -12196,33 +11875,33 @@ packages: chalk: 2.4.2 chokidar: 3.5.3 ci-info: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) enquirer: 2.3.6 env-paths: 2.2.1 - ethereum-cryptography: 1.1.2 + ethereum-cryptography: 1.2.0 ethereumjs-abi: 0.6.8 find-up: 2.1.0 fp-ts: 1.19.3 fs-extra: 7.0.1 glob: 7.2.0 - immutable: 4.1.0 + immutable: 4.3.0 io-ts: 1.10.4 - keccak: 3.0.2 + keccak: 3.0.3 lodash: 4.17.21 mnemonist: 0.38.5 - mocha: 10.1.0 + mocha: 10.2.0 p-map: 4.0.0 - qs: 6.11.0 - raw-body: 2.5.1 + qs: 6.11.1 + raw-body: 2.5.2 resolve: 1.17.0 semver: 6.3.0 solc: 0.7.3(debug@4.3.4) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 - ts-node: 10.9.1(@types/node@12.20.55)(typescript@4.9.3) + ts-node: 10.9.1(@types/node@12.20.55)(typescript@4.9.5) tsort: 0.0.1 - typescript: 4.9.3 - undici: 5.12.0 + typescript: 4.9.5 + undici: 5.22.0 uuid: 8.3.2 ws: 7.5.9 transitivePeerDependencies: @@ -12259,11 +11938,17 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.0 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} dev: true /has-symbols@1.0.3: @@ -12322,7 +12007,7 @@ packages: engines: {node: '>=4'} dependencies: inherits: 2.0.4 - readable-stream: 3.6.0 + readable-stream: 3.6.2 safe-buffer: 5.2.1 /hash-obj@4.0.0: @@ -12430,6 +12115,10 @@ packages: resolution: {integrity: sha512-MzzWcnfB1e4EG2vHi3dXHoBupmuXNZzx6pY6HldVS55JKKBoq3xOyzfSaZRkJp37HIhEYC78knabHff3zc4dQQ==} dev: true + /heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + dev: true + /hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: @@ -12473,16 +12162,16 @@ packages: hasBin: true dependencies: camel-case: 4.1.2 - clean-css: 5.3.1 + clean-css: 5.3.2 commander: 8.3.0 he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.15.1 + terser: 5.17.1 dev: true - /html-webpack-plugin@5.5.0(webpack@5.75.0): - resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} + /html-webpack-plugin@5.5.1(webpack@5.80.0): + resolution: {integrity: sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA==} engines: {node: '>=10.13.0'} peerDependencies: webpack: ^5.20.0 @@ -12492,7 +12181,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.75.0 + webpack: 5.80.0 dev: true /htmlparser2@6.1.0: @@ -12518,6 +12207,11 @@ packages: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: true + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true + optional: true + /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -12540,7 +12234,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) transitivePeerDependencies: - supports-color dev: true @@ -12574,7 +12268,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) transitivePeerDependencies: - supports-color dev: true @@ -12609,13 +12303,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.21): + /icss-utils@5.1.0(postcss@8.4.23): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true /idb-wrapper@1.7.2: @@ -12659,8 +12353,8 @@ packages: resolution: {integrity: sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==} dev: true - /immutable@4.1.0: - resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} + /immutable@4.3.0: + resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==} dev: true /import-cwd@2.1.0: @@ -12737,11 +12431,11 @@ packages: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false - /internal-slot@1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.0 has: 1.0.3 side-channel: 1.0.4 dev: true @@ -12823,6 +12517,14 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-typed-array: 1.1.10 + dev: true + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true @@ -12876,6 +12578,12 @@ packages: dependencies: has: 1.0.3 + /is-core-module@2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} + dependencies: + has: 1.0.3 + dev: true + /is-data-descriptor@0.1.4: resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} engines: {node: '>=0.10.0'} @@ -13044,6 +12752,11 @@ packages: resolution: {integrity: sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==} dev: true + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -13137,7 +12850,6 @@ packages: for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.0 - dev: false /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -13187,7 +12899,6 @@ packages: /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: false /isbuffer@0.0.0: resolution: {integrity: sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==} @@ -13251,7 +12962,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: @@ -13693,7 +13404,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 18.13.0 + '@types/node': 18.15.1 chalk: 4.1.2 ci-info: 3.6.2 graceful-fs: 4.2.10 @@ -13729,7 +13440,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.15.1 + '@types/node': 12.20.55 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -13759,6 +13470,10 @@ packages: resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} dev: true + /js-sdsl@4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: true + /js-sha3@0.5.7: resolution: {integrity: sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==} dev: true @@ -13876,7 +13591,7 @@ packages: /json-rpc-engine@3.8.0: resolution: {integrity: sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==} dependencies: - async: 2.6.4 + async: 2.6.2 babel-preset-env: 1.7.0 babelify: 7.3.0 json-rpc-error: 2.0.0 @@ -13939,8 +13654,8 @@ packages: hasBin: true dev: true - /json5@1.0.1: - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 @@ -13950,6 +13665,12 @@ packages: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} engines: {node: '>=6'} hasBin: true + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} @@ -13958,13 +13679,13 @@ packages: /jsonfile@2.4.0: resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: @@ -13972,7 +13693,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /jsonify@0.0.1: @@ -14025,7 +13746,17 @@ packages: dependencies: node-addon-api: 2.0.2 node-gyp-build: 4.5.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 + + /keccak@3.0.3: + resolution: {integrity: sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==} + engines: {node: '>=10.0.0'} + requiresBuild: true + dependencies: + node-addon-api: 2.0.2 + node-gyp-build: 4.6.0 + readable-stream: 3.6.2 + dev: true /keyv@3.1.0: resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} @@ -14071,13 +13802,13 @@ packages: /klaw-sync@6.0.0: resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /klaw@1.3.1: resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /kleur@3.0.3: @@ -14182,7 +13913,7 @@ packages: engines: {node: '>=4'} dependencies: inherits: 2.0.4 - readable-stream: 2.3.7 + readable-stream: 2.3.8 xtend: 4.0.2 dev: true @@ -14191,7 +13922,7 @@ packages: engines: {node: '>=6'} dependencies: inherits: 2.0.4 - readable-stream: 2.3.7 + readable-stream: 2.3.8 xtend: 4.0.2 dev: true @@ -14200,7 +13931,7 @@ packages: engines: {node: '>=6'} dependencies: inherits: 2.0.4 - readable-stream: 3.6.0 + readable-stream: 3.6.2 xtend: 4.0.2 dev: true @@ -14256,7 +13987,7 @@ packages: /level-post@1.0.7: resolution: {integrity: sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==} dependencies: - ltgt: 2.2.1 + ltgt: 2.1.3 dev: true /level-sublevel@5.2.3: @@ -14278,7 +14009,7 @@ packages: ltgt: 2.1.3 pull-defer: 0.2.3 pull-level: 2.0.4 - pull-stream: 3.6.14 + pull-stream: 3.7.0 typewiselite: 1.0.0 xtend: 4.0.2 dev: true @@ -14315,7 +14046,7 @@ packages: engines: {node: '>=6'} dependencies: inherits: 2.0.4 - readable-stream: 2.3.7 + readable-stream: 2.3.8 xtend: 4.0.2 dev: true @@ -14324,7 +14055,7 @@ packages: engines: {node: '>=6'} dependencies: inherits: 2.0.4 - readable-stream: 3.6.0 + readable-stream: 3.6.2 xtend: 4.0.2 dev: true @@ -14333,7 +14064,7 @@ packages: engines: {node: '>=12'} dependencies: browser-level: 1.0.1 - classic-level: 1.2.0 + classic-level: 1.3.0 dev: true /levelup@0.18.6: @@ -14427,18 +14158,18 @@ packages: hasBin: true dependencies: cli-truncate: 3.1.0 - colorette: 2.0.19 - commander: 9.4.1 - debug: 4.3.4(supports-color@9.2.3) + colorette: 2.0.20 + commander: 9.5.0 + debug: 4.3.4(supports-color@9.3.1) execa: 5.1.1 lilconfig: 2.0.5 listr2: 4.0.5 micromatch: 4.0.5 normalize-path: 3.0.0 - object-inspect: 1.12.2 + object-inspect: 1.12.3 pidtree: 0.5.0 string-argv: 0.3.1 - supports-color: 9.2.3 + supports-color: 9.3.1 yaml: 1.10.2 transitivePeerDependencies: - enquirer @@ -14467,7 +14198,7 @@ packages: resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} engines: {node: '>=0.10.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 parse-json: 2.2.0 pify: 2.3.0 pinkie-promise: 2.0.1 @@ -14485,7 +14216,7 @@ packages: dependencies: big.js: 5.2.2 emojis-list: 3.0.0 - json5: 1.0.1 + json5: 1.0.2 dev: true /loader-utils@2.0.4: @@ -14658,7 +14389,6 @@ packages: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 - dev: true /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} @@ -15100,7 +14830,7 @@ packages: level-ws: 0.0.0 levelup: 1.3.9 memdown: 1.4.1 - readable-stream: 2.3.7 + readable-stream: 2.3.8 rlp: 2.2.7 semaphore: 1.1.0 dev: true @@ -15108,11 +14838,11 @@ packages: /merkle-patricia-tree@3.0.0: resolution: {integrity: sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ==} dependencies: - async: 2.6.4 + async: 2.6.2 ethereumjs-util: 5.2.1 level-mem: 3.0.1 level-ws: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 rlp: 2.2.7 semaphore: 1.1.0 dev: true @@ -15124,7 +14854,7 @@ packages: ethereumjs-util: 7.1.5 level-mem: 5.0.1 level-ws: 2.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 semaphore-async-await: 1.5.1 dev: true @@ -15458,7 +15188,7 @@ packages: resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} dependencies: '@types/debug': 4.1.7 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.0.6 micromark-factory-space: 1.0.0 @@ -15583,6 +15313,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -15592,10 +15329,6 @@ packages: kind-of: 6.0.3 dev: true - /minimist@1.2.7: - resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} - dev: true - /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -15685,7 +15418,7 @@ packages: engines: {node: '>=4'} deprecated: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that. dependencies: - mkdirp: 1.0.4 + mkdirp: 3.0.0 dev: true optional: true @@ -15709,14 +15442,21 @@ packages: hasBin: true dev: true + /mkdirp@3.0.0: + resolution: {integrity: sha512-7+JDnNsyCvZXoUJdkMR0oUE2AmAdsNXGTmRbiOjYIwQ6q+bL6NwrozGQdPcmYaNcrhH37F50HHBUzoaBV6FITQ==} + engines: {node: '>=10'} + hasBin: true + dev: true + optional: true + /mnemonist@0.38.5: resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} dependencies: obliterator: 2.0.4 dev: true - /mocha@10.1.0: - resolution: {integrity: sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==} + /mocha@10.2.0: + resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} engines: {node: '>= 14.0.0'} hasBin: true dependencies: @@ -15897,6 +15637,12 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /nanomatch@1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} @@ -15920,8 +15666,8 @@ packages: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} dev: false - /napi-macros@2.0.0: - resolution: {integrity: sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==} + /napi-macros@2.2.2: + resolution: {integrity: sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==} dev: true /natural-compare-lite@1.4.0: @@ -16126,7 +15872,7 @@ packages: /node-environment-flags@1.0.6: resolution: {integrity: sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==} dependencies: - object.getownpropertydescriptors: 2.1.5 + object.getownpropertydescriptors: 2.1.6 semver: 5.7.1 dev: true @@ -16147,11 +15893,28 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 + dev: false + + /node-fetch@2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true /node-gyp-build@4.5.0: resolution: {integrity: sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==} hasBin: true + /node-gyp-build@4.6.0: + resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + hasBin: true + /node-gyp@8.4.1: resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} engines: {node: '>= 10.12.0'} @@ -16208,11 +15971,6 @@ packages: - supports-color dev: true - /nofilter@1.0.4: - resolution: {integrity: sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==} - engines: {node: '>=8'} - dev: true - /nofilter@3.1.0: resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} engines: {node: '>=12.19'} @@ -16356,12 +16114,16 @@ packages: /object-inspect@1.12.2: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.0 dev: true /object-keys@0.2.0: @@ -16393,7 +16155,7 @@ packages: resolution: {integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==} engines: {node: '>= 0.4'} dependencies: - define-properties: 1.1.4 + define-properties: 1.2.0 function-bind: 1.1.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -16404,19 +16166,20 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.0 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true - /object.getownpropertydescriptors@2.1.5: - resolution: {integrity: sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==} + /object.getownpropertydescriptors@2.1.6: + resolution: {integrity: sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==} engines: {node: '>= 0.8'} dependencies: array.prototype.reduce: 1.0.5 call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 + define-properties: 1.2.0 + es-abstract: 1.21.2 + safe-array-concat: 1.0.0 dev: true /object.pick@1.3.0: @@ -16431,8 +16194,8 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 + define-properties: 1.2.0 + es-abstract: 1.21.2 dev: true /obliterator@2.0.4: @@ -16725,8 +16488,8 @@ packages: - supports-color dev: true - /patch-package@6.5.0: - resolution: {integrity: sha512-tC3EqJmo74yKqfsMzELaFwxOAu6FH6t+FzFOsnWAuARm7/n2xB5AOeOueE221eM9gtMuIKMKpF9tBy/X2mNP0Q==} + /patch-package@6.5.1: + resolution: {integrity: sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==} engines: {node: '>=10', npm: '>5'} hasBin: true dependencies: @@ -16734,7 +16497,7 @@ packages: chalk: 4.1.2 cross-spawn: 6.0.5 find-yarn-workspace-root: 2.0.0 - fs-extra: 7.0.1 + fs-extra: 9.1.0 is-ci: 2.0.0 klaw-sync: 6.0.0 minimist: 1.2.8 @@ -16797,7 +16560,7 @@ packages: resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} engines: {node: '>=0.10.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 pify: 2.3.0 pinkie-promise: 2.0.1 dev: true @@ -16993,7 +16756,7 @@ packages: ts-node: optional: true dependencies: - lilconfig: 2.0.6 + lilconfig: 2.1.0 postcss: 8.4.19 yaml: 1.10.2 dev: true @@ -17015,20 +16778,7 @@ packages: yaml: 1.10.2 dev: true - /postcss-loader@6.2.1(postcss@8.4.19): - resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - dependencies: - cosmiconfig: 7.1.0 - klona: 2.0.5 - postcss: 8.4.19 - semver: 7.3.8 - dev: true - - /postcss-loader@6.2.1(postcss@8.4.19)(webpack@5.75.0): + /postcss-loader@6.2.1(postcss@8.4.19)(webpack@5.80.0): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -17039,10 +16789,10 @@ packages: klona: 2.0.5 postcss: 8.4.19 semver: 7.3.8 - webpack: 5.75.0 + webpack: 5.80.0 dev: true - /postcss-loader@6.2.1(postcss@8.4.21)(webpack@5.75.0): + /postcss-loader@6.2.1(postcss@8.4.21)(webpack@5.80.0): resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -17053,48 +16803,48 @@ packages: klona: 2.0.5 postcss: 8.4.21 semver: 7.3.8 - webpack: 5.75.0 + webpack: 5.80.0 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.21): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.23): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /postcss-modules-local-by-default@4.0.0(postcss@8.4.21): + /postcss-modules-local-by-default@4.0.0(postcss@8.4.23): resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 + icss-utils: 5.1.0(postcss@8.4.23) + postcss: 8.4.23 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.21): + /postcss-modules-scope@3.0.0(postcss@8.4.23): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-selector-parser: 6.0.11 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.21): + /postcss-modules-values@4.0.0(postcss@8.4.23): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 + icss-utils: 5.1.0(postcss@8.4.23) + postcss: 8.4.23 dev: true /postcss-nested@6.0.0(postcss@8.4.19): @@ -17174,6 +16924,15 @@ packages: source-map-js: 1.0.2 dev: true + /postcss@8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /postinstall-postinstall@2.1.0: resolution: {integrity: sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==} requiresBuild: true @@ -17234,15 +16993,15 @@ packages: fast-diff: 1.2.0 dev: true - /prettier-plugin-solidity@1.1.2(prettier@2.8.0): - resolution: {integrity: sha512-KC5oNbFJfyBaFiO0kl56J6AXnDmr9tUlBV1iqo864x4KQrKYKaBZvW9jhT2oC0NHoNp7/GoMJNxqL8pp8k7C/g==} + /prettier-plugin-solidity@1.1.3(prettier@2.8.8): + resolution: {integrity: sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg==} engines: {node: '>=12'} peerDependencies: prettier: '>=2.3.0 || >=3.0.0-alpha.0' dependencies: - '@solidity-parser/parser': 0.15.0 - prettier: 2.8.0 - semver: 7.3.8 + '@solidity-parser/parser': 0.16.0 + prettier: 2.8.8 + semver: 7.5.0 solidity-comments-extractor: 0.0.7 dev: true @@ -17262,14 +17021,8 @@ packages: hasBin: true dev: true - /prettier@2.8.0: - resolution: {integrity: sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /prettier@2.8.4: - resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -17360,7 +17113,7 @@ packages: /proper-lockfile@4.1.2: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 retry: 0.12.0 signal-exit: 3.0.7 dev: true @@ -17427,7 +17180,7 @@ packages: pull-cat: 1.1.11 pull-live: 1.0.1 pull-pushable: 2.2.0 - pull-stream: 3.6.14 + pull-stream: 3.7.0 pull-window: 2.1.4 stream-to-pull-stream: 1.7.3 dev: true @@ -17436,15 +17189,15 @@ packages: resolution: {integrity: sha512-tkNz1QT5gId8aPhV5+dmwoIiA1nmfDOzJDlOOUpU5DNusj6neNd3EePybJ5+sITr2FwyCs/FVpx74YMCfc8YeA==} dependencies: pull-cat: 1.1.11 - pull-stream: 3.6.14 + pull-stream: 3.7.0 dev: true /pull-pushable@2.2.0: resolution: {integrity: sha512-M7dp95enQ2kaHvfCt2+DJfyzgCSpWVR2h2kWYnVsW6ZpxQBx5wOu0QWOvQPVoPnBLUZYitYP2y7HyHkLQNeGXg==} dev: true - /pull-stream@3.6.14: - resolution: {integrity: sha512-KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==} + /pull-stream@3.7.0: + resolution: {integrity: sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw==} dev: true /pull-window@2.1.4: @@ -17493,6 +17246,13 @@ packages: dependencies: side-channel: 1.0.4 + /qs@6.11.1: + resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + /qs@6.5.3: resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} engines: {node: '>=0.6'} @@ -17502,7 +17262,7 @@ packages: resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} engines: {node: '>=0.10.0'} dependencies: - decode-uri-component: 0.2.0 + decode-uri-component: 0.2.2 object-assign: 4.1.1 strict-uri-encode: 1.1.0 dev: true @@ -17568,6 +17328,17 @@ packages: iconv-lite: 0.4.24 unpipe: 1.0.0 dev: true + optional: true + + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} @@ -17662,13 +17433,17 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: + core-util-is: 1.0.3 inherits: 2.0.4 - string_decoder: 1.3.0 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 util-deprecate: 1.0.2 + dev: true /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} @@ -17677,7 +17452,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: false /readdirp@3.2.0: resolution: {integrity: sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==} @@ -17701,7 +17475,7 @@ packages: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} dependencies: - resolve: 1.22.1 + resolve: 1.22.2 dev: true /recursive-readdir@2.2.3: @@ -17759,12 +17533,12 @@ packages: safe-regex: 1.1.0 dev: true - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + /regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.0 functions-have-names: 1.2.3 dev: true @@ -18090,6 +17864,15 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + /responselike@1.0.2: resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} dependencies: @@ -18177,14 +17960,6 @@ packages: process-es6: 0.11.6 dev: true - /rollup-plugin-polyfill-node@0.10.2: - resolution: {integrity: sha512-5GMywXiLiuQP6ZzED/LO/Q0HyDi2W6b8VN+Zd3oB0opIjyRs494Me2ZMaqKWDNbGiW4jvvzl6L2n4zRgxS9cSQ==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/plugin-inject': 4.0.4 - dev: true - /rollup-plugin-polyfill-node@0.10.2(rollup@2.79.1): resolution: {integrity: sha512-5GMywXiLiuQP6ZzED/LO/Q0HyDi2W6b8VN+Zd3oB0opIjyRs494Me2ZMaqKWDNbGiW4jvvzl6L2n4zRgxS9cSQ==} peerDependencies: @@ -18243,12 +18018,28 @@ packages: tslib: 2.5.0 dev: true + /rxjs@7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + dependencies: + tslib: 2.5.0 + dev: true + /sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} dependencies: mri: 1.2.0 + /safe-array-concat@1.0.0: + resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true @@ -18270,7 +18061,7 @@ packages: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.3 + get-intrinsic: 1.2.0 is-regex: 1.1.4 dev: true @@ -18337,8 +18128,8 @@ packages: loose-envify: 1.4.0 dev: false - /schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + /schema-utils@3.1.2: + resolution: {integrity: sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==} engines: {node: '>= 10.13.0'} dependencies: '@types/json-schema': 7.0.11 @@ -18429,6 +18220,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.5.0: + resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -18457,6 +18256,12 @@ packages: randombytes: 2.1.0 dev: true + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + dev: true + /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} @@ -18474,7 +18279,7 @@ packages: resolution: {integrity: sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==} engines: {node: '>=6'} dependencies: - body-parser: 1.20.1 + body-parser: 1.20.2 cors: 2.8.5 express: 4.18.2 request: 2.88.2 @@ -18569,7 +18374,7 @@ packages: engines: {node: '>=4'} hasBin: true dependencies: - glob: 7.2.3 + glob: 7.2.0 interpret: 1.4.0 rechoir: 0.6.2 dev: true @@ -18705,7 +18510,7 @@ packages: engines: {node: '>= 10'} dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@9.3.1) socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -18763,8 +18568,8 @@ packages: - debug dev: true - /solc@0.8.17: - resolution: {integrity: sha512-Dtidk2XtTTmkB3IKdyeg6wLYopJnBVxdoykN8oP8VY3PQjN16BScYoUJTXFm2OP7P0hXNAqWiJNmmfuELtLf8g==} + /solc@0.8.19: + resolution: {integrity: sha512-yqurS3wzC4LdEvmMobODXqprV4MYJcVtinuxgrp61ac8K2zz40vXA0eSAskSHPgv8dQo7Nux39i3QBsHx4pqyA==} engines: {node: '>=10.0.0'} hasBin: true dependencies: @@ -18779,17 +18584,17 @@ packages: - debug dev: false - /solhint@3.4.0: - resolution: {integrity: sha512-FYEs/LoTxMsWFP/OGsEqR1CBDn3Bn7hrTWsgtjai17MzxITgearIdlo374KKZjjIycu8E2xBcJ+RSWeoBvQmkw==} + /solhint@3.4.1: + resolution: {integrity: sha512-pzZn2RlZhws1XwvLPVSsxfHrwsteFf5eySOhpAytzXwKQYbTCJV6z8EevYDiSVKMpWrvbKpEtJ055CuEmzp4Xg==} hasBin: true dependencies: - '@solidity-parser/parser': 0.15.0 + '@solidity-parser/parser': 0.16.0 ajv: 6.12.6 antlr4: 4.12.0 ast-parents: 0.0.1 chalk: 4.1.2 - commander: 10.0.0 - cosmiconfig: 8.0.0 + commander: 10.0.1 + cosmiconfig: 8.1.3 fast-diff: 1.2.0 glob: 8.1.0 ignore: 5.2.4 @@ -18801,25 +18606,25 @@ packages: table: 6.8.1 text-table: 0.2.0 optionalDependencies: - prettier: 2.8.4 + prettier: 2.8.8 dev: true - /solidity-ast@0.4.38: - resolution: {integrity: sha512-e7gT6g8l8M2rAzH648QA3/IihCNy/anFoWyChVD+T+zfX4FjXbT8AO2DB3wG1iEmIBib9/+vD+GvTElWWpdw+w==} + /solidity-ast@0.4.46: + resolution: {integrity: sha512-MlPZQfPhjWXqh7YxWcBGDXaPZIfMYCOHYoLEhGDWulNwEPIQQZuB7mA9eP17CU0jY/bGR4avCEUVVpvHtT2gbA==} dev: true /solidity-comments-extractor@0.0.7: resolution: {integrity: sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==} dev: true - /solidity-docgen@0.6.0-beta.34(hardhat@2.12.2): - resolution: {integrity: sha512-igdGrkg8gT1jn+B2NwzjEtSf+7NTrSi/jz88zO7MZWgETmcWbXaxgAsQP4BQeC4YFeH0Pie1NsLP7+9qDgvFtA==} + /solidity-docgen@0.6.0-beta.35(hardhat@2.14.0): + resolution: {integrity: sha512-9QdwK1THk/MWIdq1PEW/6dvtND0pUqpFTsbKwwU9YQIMYuRhH1lek9SsgnsGGYtdJ0VTrXXcVT30q20a8Y610A==} peerDependencies: hardhat: ^2.8.0 dependencies: handlebars: 4.7.7 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) - solidity-ast: 0.4.38 + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) + solidity-ast: 0.4.46 dev: true /sorcery@0.10.0: @@ -18848,7 +18653,7 @@ packages: deprecated: See https://github.com/lydell/source-map-resolve#deprecated dependencies: atob: 2.1.2 - decode-uri-component: 0.2.0 + decode-uri-component: 0.2.2 resolve-url: 0.2.1 source-map-url: 0.4.1 urix: 0.1.0 @@ -19013,14 +18818,14 @@ packages: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} dependencies: inherits: 2.0.4 - readable-stream: 3.6.0 + readable-stream: 3.6.2 dev: false /stream-to-pull-stream@1.7.3: resolution: {integrity: sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg==} dependencies: looper: 3.0.0 - pull-stream: 3.6.14 + pull-stream: 3.7.0 dev: true /streamsearch@1.1.0: @@ -19103,24 +18908,24 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 + define-properties: 1.2.0 + es-abstract: 1.21.2 dev: true /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 + define-properties: 1.2.0 + es-abstract: 1.21.2 dev: true /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.20.4 + define-properties: 1.2.0 + es-abstract: 1.21.2 dev: true /string_decoder@0.10.31: @@ -19303,11 +19108,11 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 + dev: true - /supports-color@9.2.3: - resolution: {integrity: sha512-aszYUX/DVK/ed5rFLb/dDinVJrQjG/vmU433wtqVSD800rYsJNWxh2R3USV90aLSU+UsyQkbNeffVLzc6B6foA==} + /supports-color@9.3.1: + resolution: {integrity: sha512-knBY82pjmnIzK3NifMo3RxEIRD9E0kIzV4BKcyTZ9+9kWgLMxd4PrsTSMoFQUabgRBbF8KOLRDCyKgNV+iK44Q==} engines: {node: '>=12'} - dev: true /supports-hyperlinks@2.3.0: resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} @@ -19321,35 +19126,7 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check@2.9.2(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1): - resolution: {integrity: sha512-DRi8HhnCiqiGR2YF9ervPGvtoYrheE09cXieCTEqeTPOTJzfoa54Py8rovIBv4bH4n5HgZYIyTQ3DDLHQLl2uQ==} - hasBin: true - peerDependencies: - svelte: ^3.24.0 - dependencies: - '@jridgewell/trace-mapping': 0.3.17 - chokidar: 3.5.3 - fast-glob: 3.2.12 - import-fresh: 3.3.0 - picocolors: 1.0.0 - sade: 1.8.1 - svelte: 3.53.1 - svelte-preprocess: 4.10.7(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3) - typescript: 4.9.3 - transitivePeerDependencies: - - '@babel/core' - - coffeescript - - less - - node-sass - - postcss - - postcss-load-config - - pug - - sass - - stylus - - sugarss - dev: true - - /svelte-check@2.9.2(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1): + /svelte-check@2.9.2(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1): resolution: {integrity: sha512-DRi8HhnCiqiGR2YF9ervPGvtoYrheE09cXieCTEqeTPOTJzfoa54Py8rovIBv4bH4n5HgZYIyTQ3DDLHQLl2uQ==} hasBin: true peerDependencies: @@ -19362,7 +19139,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.53.1 - svelte-preprocess: 4.10.7(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1)(typescript@4.9.3) + svelte-preprocess: 4.10.7(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3) typescript: 4.9.3 transitivePeerDependencies: - '@babel/core' @@ -19377,7 +19154,7 @@ packages: - sugarss dev: true - /svelte-check@2.9.2(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1): + /svelte-check@2.9.2(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1): resolution: {integrity: sha512-DRi8HhnCiqiGR2YF9ervPGvtoYrheE09cXieCTEqeTPOTJzfoa54Py8rovIBv4bH4n5HgZYIyTQ3DDLHQLl2uQ==} hasBin: true peerDependencies: @@ -19390,7 +19167,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.53.1 - svelte-preprocess: 4.10.7(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3) + svelte-preprocess: 4.10.7(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1)(typescript@4.9.3) typescript: 4.9.3 transitivePeerDependencies: - '@babel/core' @@ -19469,7 +19246,7 @@ packages: svelte-hmr: 0.14.12(svelte@3.53.1) dev: true - /svelte-preprocess@4.10.7(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3): + /svelte-preprocess@4.10.7(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3): resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -19510,7 +19287,7 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@types/pug': 2.0.6 '@types/sass': 1.43.1 detect-indent: 6.1.0 @@ -19523,7 +19300,7 @@ packages: typescript: 4.9.3 dev: true - /svelte-preprocess@4.10.7(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1)(typescript@4.9.3): + /svelte-preprocess@4.10.7(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1)(typescript@4.9.3): resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -19564,7 +19341,7 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@types/pug': 2.0.6 '@types/sass': 1.43.1 detect-indent: 6.1.0 @@ -19577,7 +19354,7 @@ packages: typescript: 4.9.3 dev: true - /svelte-preprocess@4.10.7(@babel/core@7.20.2)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1)(typescript@4.9.5): + /svelte-preprocess@4.10.7(@babel/core@7.21.4)(node-sass@7.0.3)(postcss@8.4.21)(svelte@3.53.1)(typescript@4.9.5): resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -19618,7 +19395,7 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@types/pug': 2.0.6 '@types/sass': 1.43.1 detect-indent: 6.1.0 @@ -19631,59 +19408,6 @@ packages: typescript: 4.9.5 dev: true - /svelte-preprocess@4.10.7(node-sass@7.0.3)(postcss@8.4.19)(svelte@3.53.1)(typescript@4.9.3): - resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} - engines: {node: '>= 9.11.2'} - requiresBuild: true - peerDependencies: - '@babel/core': ^7.10.2 - coffeescript: ^2.5.1 - less: ^3.11.3 || ^4.0.0 - node-sass: '*' - postcss: ^7 || ^8 - postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 - pug: ^3.0.0 - sass: ^1.26.8 - stylus: ^0.55.0 - sugarss: ^2.0.0 - svelte: ^3.23.0 - typescript: ^3.9.5 || ^4.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - coffeescript: - optional: true - less: - optional: true - node-sass: - optional: true - postcss: - optional: true - postcss-load-config: - optional: true - pug: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - typescript: - optional: true - dependencies: - '@types/pug': 2.0.6 - '@types/sass': 1.43.1 - detect-indent: 6.1.0 - magic-string: 0.25.9 - node-sass: 7.0.3 - postcss: 8.4.19 - sorcery: 0.10.0 - strip-indent: 3.0.0 - svelte: 3.53.1 - typescript: 4.9.3 - dev: true - /svelte-spa-router@3.3.0: resolution: {integrity: sha512-cwRNe7cxD43sCvSfEeaKiNZg3FCizGxeMcf7CPiWRP3jKXjEma3vxyyuDtPOam6nWbVxl9TNM3hlE/i87ZlqcQ==} dependencies: @@ -19701,7 +19425,7 @@ packages: buffer: 5.7.1 eth-lib: 0.1.29 fs-extra: 4.0.3 - got: 11.8.5 + got: 11.8.6 mime-types: 2.1.35 mkdirp-promise: 5.0.1 mock-fs: 4.14.0 @@ -19738,7 +19462,7 @@ packages: resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} engines: {node: '>=10.0.0'} dependencies: - ajv: 8.11.2 + ajv: 8.12.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 @@ -19852,8 +19576,8 @@ packages: engines: {node: '>=6'} dev: true - /tape@4.16.1: - resolution: {integrity: sha512-U4DWOikL5gBYUrlzx+J0oaRedm2vKLFbtA/+BRAXboGWpXO7bMP8ddxlq3Cse2bvXFQ0jZMOj6kk3546mvCdFg==} + /tape@4.16.2: + resolution: {integrity: sha512-TUChV+q0GxBBCEbfCYkGLkv8hDJYjMdSWdE0/Lr331sB389dsvFUHNV9ph5iQqKzt8Ss9drzcda/YeexclBFqg==} hasBin: true dependencies: call-bind: 1.0.2 @@ -19866,8 +19590,8 @@ packages: inherits: 2.0.4 is-regex: 1.1.4 minimist: 1.2.8 - object-inspect: 1.12.2 - resolve: 1.22.1 + object-inspect: 1.12.3 + resolve: 1.22.2 resumer: 0.0.0 string.prototype.trim: 1.2.7 through: 2.3.8 @@ -19927,8 +19651,8 @@ packages: supports-hyperlinks: 2.3.0 dev: true - /terser-webpack-plugin@5.3.6(webpack@5.75.0): - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} + /terser-webpack-plugin@5.3.7(webpack@5.80.0): + resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -19943,20 +19667,20 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.0 - terser: 5.15.1 - webpack: 5.75.0 + schema-utils: 3.1.2 + serialize-javascript: 6.0.1 + terser: 5.17.1 + webpack: 5.80.0 dev: true - /terser@5.15.1: - resolution: {integrity: sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==} + /terser@5.17.1: + resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.2 + '@jridgewell/source-map': 0.3.3 acorn: 8.8.2 commander: 2.20.3 source-map-support: 0.5.21 @@ -20010,7 +19734,7 @@ packages: http-basic: 8.1.3 http-response-object: 3.0.2 promise: 8.3.0 - qs: 6.11.0 + qs: 6.11.1 dev: true /throat@6.0.1: @@ -20020,7 +19744,7 @@ packages: /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: - readable-stream: 2.3.7 + readable-stream: 2.3.8 xtend: 4.0.2 dev: true @@ -20187,24 +19911,28 @@ packages: glob: 7.2.3 dev: true + /true-case-path@2.2.1: + resolution: {integrity: sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==} + dev: true + /ts-essentials@1.0.4: resolution: {integrity: sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==} dev: true - /ts-essentials@6.0.7(typescript@4.9.3): + /ts-essentials@6.0.7(typescript@4.9.5): resolution: {integrity: sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==} peerDependencies: typescript: '>=3.7.0' dependencies: - typescript: 4.9.3 + typescript: 4.9.5 dev: true - /ts-essentials@7.0.3(typescript@4.9.3): + /ts-essentials@7.0.3(typescript@4.9.5): resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==} peerDependencies: typescript: '>=3.7.0' dependencies: - typescript: 4.9.3 + typescript: 4.9.5 dev: true /ts-generator@0.1.1: @@ -20212,25 +19940,29 @@ packages: hasBin: true dependencies: '@types/mkdirp': 0.5.2 - '@types/prettier': 2.7.1 + '@types/prettier': 2.7.2 '@types/resolve': 0.0.8 chalk: 2.4.2 - glob: 7.2.3 + glob: 7.2.0 mkdirp: 0.5.6 - prettier: 2.8.4 - resolve: 1.22.1 + prettier: 2.8.8 + resolve: 1.22.2 ts-essentials: 1.0.4 dev: true + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + /ts-jest-mock-import-meta@0.12.0(ts-jest@27.1.5): resolution: {integrity: sha512-LfuetNsQ6CDEAPekFOtMpCPRBBAgoA322IQ95eCa3x0mR++GwhZddlsmjOUhxRPLF3utbXUZpCEZiW+HP8jkiA==} peerDependencies: ts-jest: '>=20.0.0' dependencies: - ts-jest: 27.1.5(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3) + ts-jest: 27.1.5(@babel/core@7.21.4)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3) dev: true - /ts-jest@27.1.5(@babel/core@7.20.2)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3): + /ts-jest@27.1.5(@babel/core@7.21.4)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3): resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -20251,9 +19983,9 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@types/jest': 27.5.2 - babel-jest: 27.5.1(@babel/core@7.20.2) + babel-jest: 27.5.1(@babel/core@7.21.4) bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 27.5.1 @@ -20266,7 +19998,7 @@ packages: yargs-parser: 20.2.4 dev: true - /ts-jest@27.1.5(@babel/core@7.20.2)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.5): + /ts-jest@27.1.5(@babel/core@7.21.4)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.5): resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -20287,9 +20019,9 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.21.4 '@types/jest': 27.5.2 - babel-jest: 27.5.1(@babel/core@7.20.2) + babel-jest: 27.5.1(@babel/core@7.21.4) bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 27.5.1 @@ -20302,56 +20034,7 @@ packages: yargs-parser: 20.2.4 dev: true - /ts-jest@27.1.5(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@27.5.1)(typescript@4.9.3): - resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@types/jest': ^27.0.0 - babel-jest: '>=27.0.0 <28' - esbuild: '*' - jest: ^27.0.0 - typescript: '>=3.8 <5.0' - peerDependenciesMeta: - '@babel/core': - optional: true - '@types/jest': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - '@types/jest': 27.5.2 - babel-jest: 27.5.1 - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - jest: 27.5.1 - jest-util: 27.5.1 - json5: 2.2.1 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.3.8 - typescript: 4.9.3 - yargs-parser: 20.2.4 - dev: true - - /ts-loader@9.4.1(typescript@4.9.3): - resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==} - engines: {node: '>=12.0.0'} - peerDependencies: - typescript: '*' - webpack: ^5.0.0 - dependencies: - chalk: 4.1.2 - enhanced-resolve: 5.12.0 - micromatch: 4.0.5 - semver: 7.3.8 - typescript: 4.9.3 - dev: true - - /ts-loader@9.4.1(typescript@4.9.3)(webpack@5.75.0): + /ts-loader@9.4.1(typescript@4.9.3)(webpack@5.80.0): resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -20363,10 +20046,10 @@ packages: micromatch: 4.0.5 semver: 7.3.8 typescript: 4.9.3 - webpack: 5.75.0 + webpack: 5.80.0 dev: true - /ts-loader@9.4.1(typescript@4.9.5)(webpack@5.75.0): + /ts-loader@9.4.1(typescript@4.9.5)(webpack@5.80.0): resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -20378,10 +20061,10 @@ packages: micromatch: 4.0.5 semver: 7.3.8 typescript: 4.9.5 - webpack: 5.75.0 + webpack: 5.80.0 dev: true - /ts-node@10.9.1(@types/node@12.20.55)(typescript@4.9.3): + /ts-node@10.9.1(@types/node@12.20.55)(typescript@4.9.5): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -20401,23 +20084,23 @@ packages: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 '@types/node': 12.20.55 - acorn: 8.8.1 + acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.3 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true - /tsconfig-paths@3.14.1: - resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: '@types/json5': 0.0.29 - json5: 1.0.1 - minimist: 1.2.7 + json5: 1.0.2 + minimist: 1.2.8 strip-bom: 3.0.0 dev: true @@ -20524,7 +20207,6 @@ packages: /type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} - dev: false /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} @@ -20541,43 +20223,51 @@ packages: /type@2.7.2: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - /typechain@3.0.0(typescript@4.9.3): + /typechain@3.0.0(typescript@4.9.5): resolution: {integrity: sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==} hasBin: true dependencies: command-line-args: 4.0.7 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) fs-extra: 7.0.1 js-sha3: 0.8.0 lodash: 4.17.21 - ts-essentials: 6.0.7(typescript@4.9.3) + ts-essentials: 6.0.7(typescript@4.9.5) ts-generator: 0.1.1 transitivePeerDependencies: - supports-color - typescript dev: true - /typechain@5.2.0(typescript@4.9.3): + /typechain@5.2.0(typescript@4.9.5): resolution: {integrity: sha512-0INirvQ+P+MwJOeMct+WLkUE4zov06QxC96D+i3uGFEHoiSkZN70MKDQsaj8zkL86wQwByJReI2e7fOUwECFuw==} hasBin: true peerDependencies: typescript: '>=4.1.0' dependencies: - '@types/prettier': 2.7.1 + '@types/prettier': 2.7.2 command-line-args: 4.0.7 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4(supports-color@9.3.1) fs-extra: 7.0.1 - glob: 7.2.3 + glob: 7.2.0 js-sha3: 0.8.0 lodash: 4.17.21 mkdirp: 1.0.4 - prettier: 2.8.0 - ts-essentials: 7.0.3(typescript@4.9.3) - typescript: 4.9.3 + prettier: 2.8.8 + ts-essentials: 7.0.3(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.10 + dev: true + /typedarray-to-buffer@1.0.4: resolution: {integrity: sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==} dev: true @@ -20646,9 +20336,9 @@ packages: dev: true optional: true - /undici@5.12.0: - resolution: {integrity: sha512-zMLamCG62PGjd9HHMpo05bSLvvwWOZgGeiWlN/vlqu3+lRo3elxktVGEyLMX+IO7c2eflLjcW74AlkhEZm15mg==} - engines: {node: '>=12.18'} + /undici@5.22.0: + resolution: {integrity: sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==} + engines: {node: '>=14.0'} dependencies: busboy: 1.6.0 dev: true @@ -20881,12 +20571,6 @@ packages: querystring: 0.2.0 dev: true - /use-sync-external-store@1.2.0: - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - dev: false - /use-sync-external-store@1.2.0(react@18.2.0): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: @@ -20905,7 +20589,7 @@ packages: engines: {node: '>=6.14.2'} requiresBuild: true dependencies: - node-gyp-build: 4.5.0 + node-gyp-build: 4.6.0 /utf8@3.0.0: resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} @@ -20914,14 +20598,16 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /util.promisify@1.1.1: - resolution: {integrity: sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==} + /util.promisify@1.1.2: + resolution: {integrity: sha512-PBdZ03m1kBnQ5cjjO0ZvJMJS+QsbyIcFwi4hY4U76OQsCO9JrOYjbCFgIF76ccFg9xnJo7ZHPkqyj1GqmdS7MA==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.4 + define-properties: 1.2.0 for-each: 0.3.3 + has-proto: 1.0.1 has-symbols: 1.0.3 - object.getownpropertydescriptors: 2.1.5 + object.getownpropertydescriptors: 2.1.6 + safe-array-concat: 1.0.0 dev: true /util@0.12.5: @@ -21121,7 +20807,7 @@ packages: resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} dev: true - /vue-loader@15.10.1(css-loader@6.7.2)(lodash@4.17.21)(vue-template-compiler@2.7.14)(webpack@5.75.0): + /vue-loader@15.10.1(css-loader@6.7.3)(lodash@4.17.21)(vue-template-compiler@2.7.14)(webpack@5.80.0): resolution: {integrity: sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==} peerDependencies: '@vue/compiler-sfc': ^3.0.8 @@ -21138,13 +20824,13 @@ packages: optional: true dependencies: '@vue/component-compiler-utils': 3.3.0(lodash@4.17.21) - css-loader: 6.7.2(webpack@5.75.0) + css-loader: 6.7.3(webpack@5.80.0) hash-sum: 1.0.2 loader-utils: 1.4.2 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.3 vue-template-compiler: 2.7.14 - webpack: 5.75.0 + webpack: 5.80.0 transitivePeerDependencies: - arc-templates - atpl @@ -21231,7 +20917,7 @@ packages: resolution: {integrity: sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==} dependencies: '@vue/compiler-sfc': 2.7.14 - csstype: 3.1.1 + csstype: 3.1.2 dev: true /w3c-hr-time@1.0.2: @@ -21259,7 +20945,7 @@ packages: engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true /web-namespaces@2.0.1: @@ -21342,7 +21028,7 @@ packages: dependencies: '@types/bn.js': 4.11.6 '@types/node': 12.20.55 - bignumber.js: 9.1.0 + bignumber.js: 9.1.1 web3-core-helpers: 1.2.11 web3-core-method: 1.2.11 web3-core-requestmanager: 1.2.11 @@ -21479,7 +21165,7 @@ packages: /web3-provider-engine@14.2.1: resolution: {integrity: sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw==} dependencies: - async: 2.6.4 + async: 2.6.2 backoff: 2.5.0 clone: 2.1.2 cross-fetch: 2.2.6 @@ -21493,7 +21179,7 @@ packages: json-rpc-error: 2.0.0 json-stable-stringify: 1.0.2 promise-to-callback: 1.0.0 - readable-stream: 2.3.7 + readable-stream: 2.3.8 request: 2.88.2 semaphore: 1.1.0 ws: 5.2.3 @@ -21566,8 +21252,8 @@ packages: dev: true optional: true - /web3-utils@1.8.1: - resolution: {integrity: sha512-LgnM9p6V7rHHUGfpMZod+NST8cRfGzJ1BTXAyNo7A9cJX9LczBfSRxJp+U/GInYe9mby40t3v22AJdlELibnsQ==} + /web3-utils@1.9.0: + resolution: {integrity: sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ==} engines: {node: '>=8.0.0'} dependencies: bn.js: 5.2.1 @@ -21616,8 +21302,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack@5.75.0: - resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} + /webpack@5.80.0: + resolution: {integrity: sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -21627,27 +21313,27 @@ packages: optional: true dependencies: '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.1 - acorn-import-assertions: 1.8.0(acorn@8.8.1) + '@types/estree': 1.0.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/wasm-edit': 1.11.5 + '@webassemblyjs/wasm-parser': 1.11.5 + acorn: 8.8.2 + acorn-import-assertions: 1.8.0(acorn@8.8.2) browserslist: 4.21.5 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 + enhanced-resolve: 5.13.0 + es-module-lexer: 1.2.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 3.1.1 + schema-utils: 3.1.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.6(webpack@5.75.0) + terser-webpack-plugin: 5.3.7(webpack@5.80.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -21726,7 +21412,6 @@ packages: gopd: 1.0.1 has-tostringtag: 1.0.0 is-typed-array: 1.1.10 - dev: false /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} @@ -21925,7 +21610,7 @@ packages: /xhr2-cookies@1.1.0: resolution: {integrity: sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g==} dependencies: - cookiejar: 2.1.3 + cookiejar: 2.1.4 dev: true optional: true @@ -22001,7 +21686,6 @@ packages: /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -22115,6 +21799,20 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 + dev: true + + /yargs@17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: false /yargs@4.8.1: resolution: {integrity: sha512-LqodLrnIDM3IFT+Hf/5sxBnEGECrfdC1uIbgZeJmESCSo4HoCAaKEus8MylXHAkdacGc0ye+Qa+dpkuom8uVYA==} @@ -22148,21 +21846,6 @@ packages: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false - /zustand@4.1.4: - resolution: {integrity: sha512-k2jVOlWo8p4R83mQ+/uyB8ILPO2PCJOf+QVjcL+1PbMCk1w5OoPYpAIxy9zd93FSfmJqoH6lGdwzzjwqJIRU5A==} - engines: {node: '>=12.7.0'} - peerDependencies: - immer: '>=9.0' - react: '>=16.8' - peerDependenciesMeta: - immer: - optional: true - react: - optional: true - dependencies: - use-sync-external-store: 1.2.0 - dev: false - /zustand@4.1.4(react@18.2.0): resolution: {integrity: sha512-k2jVOlWo8p4R83mQ+/uyB8ILPO2PCJOf+QVjcL+1PbMCk1w5OoPYpAIxy9zd93FSfmJqoH6lGdwzzjwqJIRU5A==} engines: {node: '>=12.7.0'} @@ -22191,7 +21874,7 @@ packages: bn.js: 4.12.0 ethereumjs-util: 6.2.1 - github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5(hardhat@2.12.2): + github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5(hardhat@2.14.0): resolution: {tarball: https://codeload.github.com/taikoxyz/solidity-coverage/tar.gz/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5} id: github.com/taikoxyz/solidity-coverage/ceb49fd1f6041e4fcd26079dfb0d3b0f58c812e5 name: solidity-coverage @@ -22210,7 +21893,7 @@ packages: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.14.0(ts-node@10.9.1)(typescript@4.9.5) jsonschema: 1.4.1 lodash: 4.17.21 mocha: 7.1.2 @@ -22218,9 +21901,9 @@ packages: pify: 4.0.1 recursive-readdir: 2.2.3 sc-istanbul: 0.4.6 - semver: 7.3.8 + semver: 7.5.0 shelljs: 0.8.5 - web3-utils: 1.8.1 + web3-utils: 1.9.0 transitivePeerDependencies: - supports-color dev: true From e40a852faa5be44bbfd9aadee2745e0c5706f987 Mon Sep 17 00:00:00 2001 From: Dani <51912515+adaki2004@users.noreply.github.com> Date: Mon, 24 Apr 2023 11:45:43 +0200 Subject: [PATCH 02/34] test(protocol): Add foundry tests for TaikoToken (#13641) --- packages/protocol/test/TaikoToken.t.sol | 202 ++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 packages/protocol/test/TaikoToken.t.sol diff --git a/packages/protocol/test/TaikoToken.t.sol b/packages/protocol/test/TaikoToken.t.sol new file mode 100644 index 00000000000..fcec7cef30e --- /dev/null +++ b/packages/protocol/test/TaikoToken.t.sol @@ -0,0 +1,202 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.18; + +import {Test} from "forge-std/Test.sol"; +import {console2} from "forge-std/console2.sol"; +import {AddressManager} from "../contracts/common/AddressManager.sol"; +import {AddressResolver} from "../contracts/common/AddressResolver.sol"; +import {TaikoErrors} from "../contracts/L1/TaikoErrors.sol"; +import {TaikoToken} from "../contracts/L1/TaikoToken.sol"; + +import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; + +contract TaikoTokenTest is Test { + AddressManager public addressManager; + TransparentUpgradeableProxy public tokenProxy; + TaikoToken public tko; + TaikoToken public tkoUpgradedImpl; + + bytes32 public constant GENESIS_BLOCK_HASH = + keccak256("GENESIS_BLOCK_HASH"); + + address public constant tokenAdmin = + 0x200C9b60e19634E12FC6D68B7FeA7Bfb26c2e418; + address public constant protoBroker = + 0x300C9b60E19634e12FC6D68B7FEa7bFB26c2E419; + address public constant TeamWallet = + 0x300C9b60E19634e12FC6D68B7FEa7bFB26c2E419; + address public constant DaoTreasury = + 0x400147C0Eb43D8D71b2B03037bB7B31f8f78EF5F; + address public constant Eve = 0x50081b12838240B1bA02b3177153Bca678a86078; + address public constant Dave = 0x50081b12838240B1ba02b3177153bCA678a86079; + + function setUp() public { + addressManager = new AddressManager(); + addressManager.init(); + registerAddress("proto_broker", protoBroker); + + tko = new TaikoToken(); + + address[] memory premintRecipients = new address[](2); + premintRecipients[0] = TeamWallet; + premintRecipients[1] = DaoTreasury; + + uint256[] memory premintAmounts = new uint256[](2); + premintAmounts[0] = 5 ether; + premintAmounts[1] = 5 ether; + + tokenProxy = deployViaProxy( + address(tko), + bytes.concat( + tko.init.selector, + abi.encode( + address(addressManager), + "Taiko Token", + "TKO", + premintRecipients, + premintAmounts + ) + ) + ); + + tko = TaikoToken(address(tokenProxy)); + } + + function test_proper_premint() public { + assertEq(tko.balanceOf(TeamWallet), 5 ether); + + assertEq(tko.balanceOf(DaoTreasury), 5 ether); + } + + function test_upgrade() public { + tkoUpgradedImpl = new TaikoToken(); + + vm.prank(tokenAdmin); + tokenProxy.upgradeTo(address(tkoUpgradedImpl)); + + // Check if balance is still same + assertEq(tko.balanceOf(TeamWallet), 5 ether); + assertEq(tko.balanceOf(DaoTreasury), 5 ether); + } + + function test_upgrade_without_admin_rights() public { + tkoUpgradedImpl = new TaikoToken(); + + vm.expectRevert(); + tokenProxy.upgradeTo(address(tkoUpgradedImpl)); + } + + function test_mint() public { + assertEq(tko.balanceOf(Eve), 0 ether); + + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + } + + function test_mint_invalid_amount() public { + vm.prank(protoBroker); + vm.expectRevert(TaikoToken.TKO_MINT_DISALLOWED.selector); + tko.mint(Eve, 1000 ether); + } + + function test_mint_invalid_address() public { + vm.prank(protoBroker); + vm.expectRevert(TaikoToken.TKO_INVALID_ADDR.selector); + tko.mint(address(0), 1 ether); + } + + function test_mint_not_proto_broker() public { + vm.expectRevert(AddressResolver.RESOLVER_DENIED.selector); + tko.mint(Eve, 1 ether); + } + + function test_burn() public { + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(protoBroker); + tko.burn(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), 0); + } + + function test_burn_invalid_address() public { + vm.prank(protoBroker); + vm.expectRevert(TaikoToken.TKO_INVALID_ADDR.selector); + tko.burn(address(0), 1 ether); + } + + function test_burn_not_proto_broker() public { + vm.expectRevert(AddressResolver.RESOLVER_DENIED.selector); + tko.burn(address(0), 1 ether); + } + + function test_burn_amount_exceeded() public { + uint256 amountToMint = 1 ether; + uint256 amountToBurn = 2 ether; + + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(protoBroker); + vm.expectRevert("ERC20: burn amount exceeds balance"); + tko.burn(Eve, amountToBurn); + assertEq(tko.balanceOf(Eve), amountToMint); + } + + function test_transfer() public { + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(Eve); + tko.transfer(Dave, amountToMint); + + assertEq(tko.balanceOf(Eve), 0); + assertEq(tko.balanceOf(Dave), amountToMint); + } + + function test_transfer_invalid_address() public { + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(Eve); + vm.expectRevert(TaikoToken.TKO_INVALID_ADDR.selector); + tko.transfer(address(tko), amountToMint); + } + + function test_transfer_amount_exceeded() public { + uint256 amountToMint = 1 ether; + uint256 amountToTransfer = 2 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(Eve); + vm.expectRevert(); + tko.transfer(address(tko), amountToTransfer); + assertEq(tko.balanceOf(Eve), amountToMint); + } + + function registerAddress(string memory name, address addr) internal { + addressManager.setAddress(block.chainid, name, addr); + } + + function deployViaProxy( + address implementation, + bytes memory data + ) internal returns (TransparentUpgradeableProxy proxy) { + proxy = new TransparentUpgradeableProxy( + implementation, + tokenAdmin, + data + ); + } +} From 5ee7788b0d4160abf0b653c02164a02c15edcb88 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Mon, 24 Apr 2023 20:50:42 +0800 Subject: [PATCH 03/34] do some cleanup --- .../protocol/contracts/L1/TaikoConfig.sol | 3 +- packages/protocol/contracts/L1/TaikoData.sol | 1 - .../protocol/contracts/L1/TaikoErrors.sol | 8 ---- .../contracts/L1/libs/LibProposing.sol | 12 ------ .../contracts/L1/libs/LibTokenomics.sol | 1 - .../contracts/L1/libs/LibVerifying.sol | 1 - packages/protocol/contracts/L2/TaikoL2.sol | 2 + packages/protocol/script/DeployOnL1.s.sol | 3 -- packages/protocol/script/test_deploy_on_l1.sh | 1 - packages/protocol/test/TaikoL1.sim.sol | 1 - packages/protocol/test/TaikoL1.t.sol | 1 - .../test/TaikoL1LibTokenomicsMainnet.t.sol | 1 - .../test/TaikoL1LibTokenomicsTestnet.t.sol | 1 - packages/protocol/test/TaikoL1_Oracle.sol | 1 - .../contract-documentation/L1/TaikoConfig.md | 4 ++ .../contract-documentation/L1/TaikoData.md | 1 - .../contract-documentation/L1/TaikoErrors.md | 40 ++----------------- .../contract-documentation/L2/LibL2Consts.md | 4 ++ .../L2/TaikoL2Signer.md | 4 ++ .../common/AddressManager.md | 8 ++++ .../common/IXchainSync.md | 4 ++ 21 files changed, 31 insertions(+), 71 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoConfig.sol b/packages/protocol/contracts/L1/TaikoConfig.sol index f8708b832b8..63bde3f4d77 100644 --- a/packages/protocol/contracts/L1/TaikoConfig.sol +++ b/packages/protocol/contracts/L1/TaikoConfig.sol @@ -39,8 +39,7 @@ library TaikoConfig { txListCacheExpiry: 0, proofTimeTarget: 1800, // 85s based on A2 testnet status, or set to 1800 for 30mins (mainnet mock) adjustmentQuotient: 16, - relaySignalRoot: false, - enableSoloProposer: false + relaySignalRoot: false }); } } diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index c490728e9e4..ea939c457f2 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -28,7 +28,6 @@ library TaikoData { uint64 proofTimeTarget; uint8 adjustmentQuotient; bool relaySignalRoot; - bool enableSoloProposer; } struct StateVariables { diff --git a/packages/protocol/contracts/L1/TaikoErrors.sol b/packages/protocol/contracts/L1/TaikoErrors.sol index 32bc0d06e86..7849251178c 100644 --- a/packages/protocol/contracts/L1/TaikoErrors.sol +++ b/packages/protocol/contracts/L1/TaikoErrors.sol @@ -8,26 +8,18 @@ pragma solidity ^0.8.18; abstract contract TaikoErrors { // The following custom errors must match the definitions in other V1 libraries. - error L1_1559_X_SCALE_TOO_LARGE(); - error L1_1559_Y_SCALE_TOO_LARGE(); error L1_ALREADY_PROVEN(); error L1_BLOCK_ID(); - error L1_CONTRACT_NOT_ALLOWED(); error L1_EVIDENCE_MISMATCH(bytes32 expected, bytes32 actual); error L1_FORK_CHOICE_NOT_FOUND(); - error L1_INSUFFICIENT_ETHER(); error L1_INSUFFICIENT_TOKEN(); error L1_INVALID_CONFIG(); error L1_INVALID_ETH_DEPOSIT(); error L1_INVALID_EVIDENCE(); - error L1_INVALID_L21559_PARAMS(); error L1_INVALID_METADATA(); - error L1_INVALID_PARAM(); error L1_INVALID_PROOF(); - error L1_NOT_ORACLE_PROVER(); - error L1_NOT_SOLO_PROPOSER(); error L1_ORACLE_DISABLED(); error L1_TOO_MANY_BLOCKS(); error L1_TX_LIST_NOT_EXIST(); diff --git a/packages/protocol/contracts/L1/libs/LibProposing.sol b/packages/protocol/contracts/L1/libs/LibProposing.sol index 060f70df549..0ef46466f99 100644 --- a/packages/protocol/contracts/L1/libs/LibProposing.sol +++ b/packages/protocol/contracts/L1/libs/LibProposing.sol @@ -25,10 +25,8 @@ library LibProposing { event BlockProposed(uint256 indexed id, TaikoData.BlockMetadata meta); error L1_BLOCK_ID(); - error L1_INSUFFICIENT_ETHER(); error L1_INSUFFICIENT_TOKEN(); error L1_INVALID_METADATA(); - error L1_NOT_SOLO_PROPOSER(); error L1_TOO_MANY_BLOCKS(); error L1_TX_LIST_NOT_EXIST(); error L1_TX_LIST_HASH(); @@ -45,7 +43,6 @@ library LibProposing { uint8 cacheTxListInfo = _validateBlock({ state: state, config: config, - resolver: resolver, input: input, txList: txList }); @@ -120,18 +117,9 @@ library LibProposing { function _validateBlock( TaikoData.State storage state, TaikoData.Config memory config, - AddressResolver resolver, TaikoData.BlockMetadataInput memory input, bytes calldata txList ) private view returns (uint8 cacheTxListInfo) { - // For alpha-2 testnet, the network only allows an special address - // to propose but anyone to prove. This is the first step of testing - // the tokenomics. - if ( - config.enableSoloProposer && - msg.sender != resolver.resolve("solo_proposer", false) - ) revert L1_NOT_SOLO_PROPOSER(); - if ( input.beneficiary == address(0) || input.gasLimit == 0 || diff --git a/packages/protocol/contracts/L1/libs/LibTokenomics.sol b/packages/protocol/contracts/L1/libs/LibTokenomics.sol index b1c6c3a495a..5c86509f050 100644 --- a/packages/protocol/contracts/L1/libs/LibTokenomics.sol +++ b/packages/protocol/contracts/L1/libs/LibTokenomics.sol @@ -21,7 +21,6 @@ library LibTokenomics { using LibMath for uint256; error L1_INSUFFICIENT_TOKEN(); - error L1_INVALID_PARAM(); function withdrawTaikoToken( TaikoData.State storage state, diff --git a/packages/protocol/contracts/L1/libs/LibVerifying.sol b/packages/protocol/contracts/L1/libs/LibVerifying.sol index 0fe877d8eee..1f44e1e4e15 100644 --- a/packages/protocol/contracts/L1/libs/LibVerifying.sol +++ b/packages/protocol/contracts/L1/libs/LibVerifying.sol @@ -20,7 +20,6 @@ library LibVerifying { using LibUtils for TaikoData.State; error L1_INVALID_CONFIG(); - error L1_INVALID_L21559_PARAMS(); event BlockVerified(uint256 indexed id, bytes32 blockHash); event XchainSynced( diff --git a/packages/protocol/contracts/L2/TaikoL2.sol b/packages/protocol/contracts/L2/TaikoL2.sol index 9730f61dd19..73077d46b11 100644 --- a/packages/protocol/contracts/L2/TaikoL2.sol +++ b/packages/protocol/contracts/L2/TaikoL2.sol @@ -190,6 +190,8 @@ contract TaikoL2 is EssentialContract, TaikoL2Signer, IXchainSync { ); } + // On L2, basefee is not burnt, but sent to a treasure instead. + // TODO(daniel): how to verify the tresasure address in protocol? if (block.basefee != basefee) revert L2_BASEFEE_MISMATCH(uint64(basefee), uint64(block.basefee)); diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol index 407e9ff3599..4881b63bdc5 100644 --- a/packages/protocol/script/DeployOnL1.s.sol +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -35,8 +35,6 @@ contract DeployOnL1 is Script { address public oracleProver = vm.envAddress("ORACLE_PROVER"); - address public soloProposer = vm.envAddress("SOLO_PROPOSER"); - address public sharedSignalService = vm.envAddress("SHARED_SIGNAL_SERVICE"); address public treasure = vm.envAddress("TREASURE"); @@ -88,7 +86,6 @@ contract DeployOnL1 is Script { setAddress(l2ChainId, "taiko", taikoL2Address); setAddress(l2ChainId, "signal_service", l2SignalService); setAddress("oracle_prover", oracleProver); - setAddress("solo_proposer", soloProposer); setAddress(l2ChainId, "treasure", treasure); // TaikoToken diff --git a/packages/protocol/script/test_deploy_on_l1.sh b/packages/protocol/script/test_deploy_on_l1.sh index 0fd8981c688..2ee979d3584 100755 --- a/packages/protocol/script/test_deploy_on_l1.sh +++ b/packages/protocol/script/test_deploy_on_l1.sh @@ -6,7 +6,6 @@ set -e PRIVATE_KEY=ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \ SHARED_SIGNAL_SERVICE=0x0000000000000000000000000000000000000000 \ ORACLE_PROVER=0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 \ -SOLO_PROPOSER=0xa0Ee7A142d267C1f36714E4a8F75612F20a79720 \ OWNER=0x70997970C51812dc3A010C7d01b50e0d17dc79C8 \ TAIKO_L2_ADDRESS=0x0000777700000000000000000000000000000001 \ L2_SIGNAL_SERVICE=0x0000777700000000000000000000000000000007 \ diff --git a/packages/protocol/test/TaikoL1.sim.sol b/packages/protocol/test/TaikoL1.sim.sol index 19dfaf6b825..fde9822a060 100644 --- a/packages/protocol/test/TaikoL1.sim.sol +++ b/packages/protocol/test/TaikoL1.sim.sol @@ -23,7 +23,6 @@ contract TaikoL1_b is TaikoL1 { config = TaikoConfig.getConfig(); config.txListCacheExpiry = 0; - config.enableSoloProposer = false; config.maxNumProposedBlocks = 36; config.ringBufferSize = 40; config.maxVerificationsPerTx = 5; diff --git a/packages/protocol/test/TaikoL1.t.sol b/packages/protocol/test/TaikoL1.t.sol index 880eb74bcdc..a31994df1ad 100644 --- a/packages/protocol/test/TaikoL1.t.sol +++ b/packages/protocol/test/TaikoL1.t.sol @@ -23,7 +23,6 @@ contract TaikoL1_NoCooldown is TaikoL1 { config.txListCacheExpiry = 5 minutes; config.maxVerificationsPerTx = 0; - config.enableSoloProposer = false; config.maxNumProposedBlocks = 10; config.ringBufferSize = 12; config.proofCooldownPeriod = 0; diff --git a/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol b/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol index a31c4d0235b..3b9e73496d5 100644 --- a/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol +++ b/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol @@ -26,7 +26,6 @@ contract TaikoL1MainnetMockConfig is TaikoL1 { config.txListCacheExpiry = 5 minutes; config.maxVerificationsPerTx = 1; - config.enableSoloProposer = false; config.maxNumProposedBlocks = 200; config.ringBufferSize = 240; config.proofCooldownPeriod = 0; diff --git a/packages/protocol/test/TaikoL1LibTokenomicsTestnet.t.sol b/packages/protocol/test/TaikoL1LibTokenomicsTestnet.t.sol index 5ced9c71d93..dd390dac0da 100644 --- a/packages/protocol/test/TaikoL1LibTokenomicsTestnet.t.sol +++ b/packages/protocol/test/TaikoL1LibTokenomicsTestnet.t.sol @@ -25,7 +25,6 @@ contract TaikoL1WithTestnetConfig is TaikoL1 { config.txListCacheExpiry = 5 minutes; config.maxVerificationsPerTx = 0; - config.enableSoloProposer = false; config.proofCooldownPeriod = 0; config.maxNumProposedBlocks = 40; config.ringBufferSize = 48; diff --git a/packages/protocol/test/TaikoL1_Oracle.sol b/packages/protocol/test/TaikoL1_Oracle.sol index cabc4b96619..40c43c7b365 100644 --- a/packages/protocol/test/TaikoL1_Oracle.sol +++ b/packages/protocol/test/TaikoL1_Oracle.sol @@ -24,7 +24,6 @@ contract TaikoL1_Oracle is TaikoL1 { config.txListCacheExpiry = 5 minutes; config.maxVerificationsPerTx = 0; - config.enableSoloProposer = false; config.maxNumProposedBlocks = 10; config.ringBufferSize = 12; config.proofCooldownPeriod = 5 minutes; diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoConfig.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoConfig.md index c62f7f74720..2d7603215ee 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoConfig.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoConfig.md @@ -1,3 +1,7 @@ +--- +title: TaikoConfig +--- + ## TaikoConfig ### getConfig diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md index f39822ec20b..b1bdf884d20 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md @@ -26,7 +26,6 @@ struct Config { uint64 proofTimeTarget; uint8 adjustmentQuotient; bool relaySignalRoot; - bool enableSoloProposer; } ``` diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md index 24582eac189..213bad94c97 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md @@ -1,16 +1,8 @@ -## TaikoErrors - -### L1_1559_X_SCALE_TOO_LARGE +--- +title: TaikoErrors +--- -```solidity -error L1_1559_X_SCALE_TOO_LARGE() -``` - -### L1_1559_Y_SCALE_TOO_LARGE - -```solidity -error L1_1559_Y_SCALE_TOO_LARGE() -``` +## TaikoErrors ### L1_ALREADY_PROVEN @@ -24,12 +16,6 @@ error L1_ALREADY_PROVEN() error L1_BLOCK_ID() ``` -### L1_CONTRACT_NOT_ALLOWED - -```solidity -error L1_CONTRACT_NOT_ALLOWED() -``` - ### L1_EVIDENCE_MISMATCH ```solidity @@ -42,12 +28,6 @@ error L1_EVIDENCE_MISMATCH(bytes32 expected, bytes32 actual) error L1_FORK_CHOICE_NOT_FOUND() ``` -### L1_INSUFFICIENT_ETHER - -```solidity -error L1_INSUFFICIENT_ETHER() -``` - ### L1_INSUFFICIENT_TOKEN ```solidity @@ -72,12 +52,6 @@ error L1_INVALID_ETH_DEPOSIT() error L1_INVALID_EVIDENCE() ``` -### L1_INVALID_L21559_PARAMS - -```solidity -error L1_INVALID_L21559_PARAMS() -``` - ### L1_INVALID_METADATA ```solidity @@ -102,12 +76,6 @@ error L1_INVALID_PROOF() error L1_NOT_ORACLE_PROVER() ``` -### L1_NOT_SOLO_PROPOSER - -```solidity -error L1_NOT_SOLO_PROPOSER() -``` - ### L1_ORACLE_DISABLED ```solidity diff --git a/packages/website/pages/docs/reference/contract-documentation/L2/LibL2Consts.md b/packages/website/pages/docs/reference/contract-documentation/L2/LibL2Consts.md index bc1878d609a..ab814286e09 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L2/LibL2Consts.md +++ b/packages/website/pages/docs/reference/contract-documentation/L2/LibL2Consts.md @@ -1,3 +1,7 @@ +--- +title: LibL2Consts +--- + ## LibL2Consts ### ANCHOR_GAS_COST diff --git a/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2Signer.md b/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2Signer.md index 25017ebae24..f918f32a6e2 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2Signer.md +++ b/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2Signer.md @@ -1,3 +1,7 @@ +--- +title: TaikoL2Signer +--- + ## TaikoL2Signer ### GOLDEN_TOUCH_ADDRESS diff --git a/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md b/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md index 2f4acb7cd11..4f3dfa739e2 100644 --- a/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md +++ b/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md @@ -1,3 +1,7 @@ +--- +title: IAddressManager +--- + ## IAddressManager Interface to set and get an address for a name. @@ -39,6 +43,10 @@ Retrieves the address associated with a given name. | ---- | ------- | --------------------------------------- | | [0] | address | Address associated with the given name. | +--- + +## title: AddressManager + ## AddressManager ### AddressSet diff --git a/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md b/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md index f7efb7e74ab..f704bb9afec 100644 --- a/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md +++ b/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md @@ -1,3 +1,7 @@ +--- +title: IXchainSync +--- + ## IXchainSync Interface implemented by both the TaikoL1 and TaikoL2 contracts. It exposes From 8eb9f1a66b3c00cc922961277b1ae96f823cedba Mon Sep 17 00:00:00 2001 From: Dani <51912515+adaki2004@users.noreply.github.com> Date: Mon, 24 Apr 2023 16:26:23 +0200 Subject: [PATCH 04/34] test(protocol): More tests and remove redundant revert statement (#13642) --- packages/protocol/contracts/L1/TaikoToken.sol | 2 - packages/protocol/test/TaikoL1.t.sol | 67 ++++++++++++++ packages/protocol/test/TaikoToken.t.sol | 87 ++++++++++++++++++- 3 files changed, 152 insertions(+), 4 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoToken.sol b/packages/protocol/contracts/L1/TaikoToken.sol index 9b2159f73a8..8a0d4d1c44e 100644 --- a/packages/protocol/contracts/L1/TaikoToken.sol +++ b/packages/protocol/contracts/L1/TaikoToken.sol @@ -98,7 +98,6 @@ contract TaikoToken is EssentialContract, ERC20Upgradeable, IMintableERC20 { address account, uint256 amount ) public onlyFromNamed("proto_broker") { - if (account == address(0)) revert TKO_INVALID_ADDR(); _mint(account, amount); emit Mint(account, amount); } @@ -113,7 +112,6 @@ contract TaikoToken is EssentialContract, ERC20Upgradeable, IMintableERC20 { address account, uint256 amount ) public onlyFromNamed("proto_broker") { - if (account == address(0)) revert TKO_INVALID_ADDR(); _burn(account, amount); emit Burn(account, amount); } diff --git a/packages/protocol/test/TaikoL1.t.sol b/packages/protocol/test/TaikoL1.t.sol index a31994df1ad..10898664a7b 100644 --- a/packages/protocol/test/TaikoL1.t.sol +++ b/packages/protocol/test/TaikoL1.t.sol @@ -233,4 +233,71 @@ contract TaikoL1Test is TaikoL1TestBase { console2.log("gas per eth deposit:", gasPerEthDeposit); console2.log("maxEthDepositsPerBlock:", count); } + + /// @dev getXchainBlockHash tests + function test_getXchainBlockHash0() external { + bytes32 genHash = L1.getXchainBlockHash(0); + assertEq(GENESIS_BLOCK_HASH, genHash); + + // Not yet avail. + genHash = L1.getXchainBlockHash(1); + assertEq(bytes32(0), genHash); + } + + /// @dev getXchainSignalRoot tests + function test_getXchainSignalRoot() external { + uint256 iterationCnt = 10; + // Declare here so that block prop/prove/verif. can be used in 1 place + TaikoData.BlockMetadata memory meta; + TaikoData.ForkChoice memory fk; + bytes32 blockHash; + bytes32 signalRoot; + bytes32[] memory parentHashes = new bytes32[](iterationCnt); + parentHashes[0] = GENESIS_BLOCK_HASH; + + depositTaikoToken(Alice, 1E6 * 1E8, 100000 ether); + + // Propose blocks + for (uint256 blockId = 1; blockId < iterationCnt; blockId++) { + //printVariables("before propose"); + meta = proposeBlock(Alice, 1000000, 1024); + mine(5); + + blockHash = bytes32(1E10 + blockId); + signalRoot = bytes32(1E9 + blockId); + + proveBlock( + Bob, + meta, + parentHashes[blockId - 1], + blockId == 1 ? 0 : 1000000, + 1000000, + blockHash, + signalRoot, + false + ); + verifyBlock(Carol, 1); + + // Querying written blockhash + bytes32 genHash = L1.getXchainBlockHash(blockId); + assertEq(blockHash, genHash); + + mine(5); + parentHashes[blockId] = blockHash; + } + + // 1st + uint256 queriedBlockId = 1; + bytes32 expectedSR = bytes32(1E9 + queriedBlockId); + + assertEq(expectedSR, L1.getXchainSignalRoot(queriedBlockId)); + + // 2nd + queriedBlockId = 2; + expectedSR = bytes32(1E9 + queriedBlockId); + assertEq(expectedSR, L1.getXchainSignalRoot(queriedBlockId)); + + // Not found + assertEq(bytes32(0), L1.getXchainSignalRoot((iterationCnt + 1))); + } } diff --git a/packages/protocol/test/TaikoToken.t.sol b/packages/protocol/test/TaikoToken.t.sol index fcec7cef30e..e40b57d4be1 100644 --- a/packages/protocol/test/TaikoToken.t.sol +++ b/packages/protocol/test/TaikoToken.t.sol @@ -103,7 +103,7 @@ contract TaikoTokenTest is Test { function test_mint_invalid_address() public { vm.prank(protoBroker); - vm.expectRevert(TaikoToken.TKO_INVALID_ADDR.selector); + vm.expectRevert("ERC20: mint to the zero address"); tko.mint(address(0), 1 ether); } @@ -125,7 +125,7 @@ contract TaikoTokenTest is Test { function test_burn_invalid_address() public { vm.prank(protoBroker); - vm.expectRevert(TaikoToken.TKO_INVALID_ADDR.selector); + vm.expectRevert("ERC20: burn from the zero address"); tko.burn(address(0), 1 ether); } @@ -167,6 +167,17 @@ contract TaikoTokenTest is Test { tko.mint(Eve, amountToMint); assertEq(tko.balanceOf(Eve), amountToMint); + vm.prank(Eve); + vm.expectRevert("ERC20: transfer to the zero address"); + tko.transfer(address(0), amountToMint); + } + + function test_transfer_to_contract_address() public { + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + vm.prank(Eve); vm.expectRevert(TaikoToken.TKO_INVALID_ADDR.selector); tko.transfer(address(tko), amountToMint); @@ -185,6 +196,78 @@ contract TaikoTokenTest is Test { assertEq(tko.balanceOf(Eve), amountToMint); } + function test_transferFrom() public { + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(Eve); + tko.approve(Dave, 1 ether); + + vm.prank(Dave); + tko.transferFrom(Eve, Dave, amountToMint); + + assertEq(tko.balanceOf(Eve), 0); + assertEq(tko.balanceOf(Dave), amountToMint); + } + + function test_transferFrom_to_is_invalid() public { + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(Eve); + tko.approve(Dave, 1 ether); + + vm.prank(Dave); + vm.expectRevert("ERC20: transfer to the zero address"); + tko.transferFrom(Eve, address(0), amountToMint); + } + + function test_transferFrom_to_is_the_contract() public { + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(Eve); + tko.approve(Dave, 1 ether); + + vm.prank(Dave); + vm.expectRevert(TaikoToken.TKO_INVALID_ADDR.selector); + tko.transferFrom(Eve, address(tko), amountToMint); + } + + function test_transferFrom_from_is_invalid() public { + uint256 amountToMint = 1 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(Eve); + tko.approve(Dave, 1 ether); + + vm.prank(Dave); + // transferFrom(address(0)) will always throw has no allowance + vm.expectRevert("ERC20: insufficient allowance"); + tko.transferFrom(address(0), Dave, amountToMint); + } + + function test_transferFrom_amount_exceeded() public { + uint256 amountToMint = 1 ether; + uint256 amountToTransfer = 2 ether; + vm.prank(protoBroker); + tko.mint(Eve, amountToMint); + assertEq(tko.balanceOf(Eve), amountToMint); + + vm.prank(Eve); + vm.expectRevert(); + tko.transfer(address(tko), amountToTransfer); + assertEq(tko.balanceOf(Eve), amountToMint); + } + function registerAddress(string memory name, address addr) internal { addressManager.setAddress(block.chainid, name, addr); } From 572153bce3abd7131353e76bda1ab5e50c78f50f Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Mon, 24 Apr 2023 22:48:32 +0800 Subject: [PATCH 05/34] do some cleanup --- .../protocol/contracts/L1/TaikoConfig.sol | 5 +- packages/protocol/contracts/L1/TaikoData.sol | 2 + .../contracts/L1/libs/LibEthDepositing.sol | 23 ++++----- .../contracts/L1/libs/LibProposing.sol | 2 +- .../contracts/L1/libs/LibTokenomics.sol | 4 +- .../protocol/contracts/L1/libs/LibUtils.sol | 17 +------ .../contracts/L1/libs/LibVerifying.sol | 48 +++++++++---------- packages/protocol/contracts/L2/TaikoL2.sol | 2 +- .../bridge/libs/LibBridgeRelease.sol | 4 +- .../contracts/test/erc20/FreeMintERC20.sol | 4 +- .../test/erc20/MayFailFreeMintERC20.sol | 4 +- packages/protocol/test/SignalService.t.sol | 2 +- packages/protocol/test/TaikoL1TestBase.t.sol | 2 +- .../test/genesis/GenerateGenesis.g.sol | 6 +-- .../contract-documentation/L1/TaikoData.md | 2 + 15 files changed, 58 insertions(+), 69 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoConfig.sol b/packages/protocol/contracts/L1/TaikoConfig.sol index 63bde3f4d77..c20423bfa69 100644 --- a/packages/protocol/contracts/L1/TaikoConfig.sol +++ b/packages/protocol/contracts/L1/TaikoConfig.sol @@ -36,8 +36,11 @@ library TaikoConfig { maxBytesPerTxList: 120000, minTxGasLimit: 21000, proofCooldownPeriod: 5 minutes, + ethDepositGas: 21000, + ethDepositMaxFee: 1 ether / 10, txListCacheExpiry: 0, - proofTimeTarget: 1800, // 85s based on A2 testnet status, or set to 1800 for 30mins (mainnet mock) + // 85s based on A2 testnet status, or set to 1800 for 30mins (mainnet mock) + proofTimeTarget: 1800, adjustmentQuotient: 16, relaySignalRoot: false }); diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index ea939c457f2..064ea03f251 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -21,6 +21,8 @@ library TaikoData { uint256 minTxGasLimit; uint256 txListCacheExpiry; uint256 proofCooldownPeriod; + uint256 ethDepositGas; + uint256 ethDepositMaxFee; uint64 minEthDepositsPerBlock; uint64 maxEthDepositsPerBlock; uint96 maxEthDepositAmount; diff --git a/packages/protocol/contracts/L1/libs/LibEthDepositing.sol b/packages/protocol/contracts/L1/libs/LibEthDepositing.sol index 5eed33594f2..950e0746957 100644 --- a/packages/protocol/contracts/L1/libs/LibEthDepositing.sol +++ b/packages/protocol/contracts/L1/libs/LibEthDepositing.sol @@ -19,24 +19,15 @@ library LibEthDepositing { using LibMath for uint256; using SafeCastUpgradeable for uint256; - // When maxEthDepositsPerBlock is 32, the average gas cost per - // EthDeposit is about 2700 gas. We use 21000 so the proposer may - // earn a small profit if there are 32 deposits included - // in the block; if there are less EthDeposit to process, the - // proposer may suffer a loss so the proposer should simply wait - // for more EthDeposit be become available. - uint256 public constant GAS_PER_ETH_DEPOSIT = 21000; - uint256 public constant MAX_FEE_PER_ETH_DEPOSIT = 1 ether / 10; // 0.1 Ether. + event EthDeposited(TaikoData.EthDeposit deposit); error L1_INVALID_ETH_DEPOSIT(); - event EthDeposited(TaikoData.EthDeposit deposit); - function depositEtherToL2( TaikoData.State storage state, TaikoData.Config memory config, AddressResolver resolver - ) public { + ) internal { if ( msg.value < config.minEthDepositAmount || msg.value > config.maxEthDepositAmount @@ -79,9 +70,15 @@ library LibEthDepositing { state.nextEthDepositToProcess + config.minEthDepositsPerBlock ) { unchecked { + // When maxEthDepositsPerBlock is 32, the average gas cost per + // EthDeposit is about 2700 gas. We use 21000 so the proposer may + // earn a small profit if there are 32 deposits included + // in the block; if there are less EthDeposit to process, the + // proposer may suffer a loss so the proposer should simply wait + // for more EthDeposit be become available. uint96 feePerDeposit = uint96( - MAX_FEE_PER_ETH_DEPOSIT.min( - block.basefee * GAS_PER_ETH_DEPOSIT + config.ethDepositMaxFee.min( + block.basefee * config.ethDepositGas ) ); uint96 totalFee; diff --git a/packages/protocol/contracts/L1/libs/LibProposing.sol b/packages/protocol/contracts/L1/libs/LibProposing.sol index 0ef46466f99..7c51b5c3974 100644 --- a/packages/protocol/contracts/L1/libs/LibProposing.sol +++ b/packages/protocol/contracts/L1/libs/LibProposing.sol @@ -75,7 +75,7 @@ library LibProposing { meta.timestamp = uint64(block.timestamp); meta.l1Height = uint64(block.number - 1); meta.l1Hash = blockhash(block.number - 1); - meta.mixHash = bytes32(block.prevrandao * state.numBlocks); + meta.mixHash = bytes32(block.difficulty * state.numBlocks); } TaikoData.Block storage blk = state.blocks[ diff --git a/packages/protocol/contracts/L1/libs/LibTokenomics.sol b/packages/protocol/contracts/L1/libs/LibTokenomics.sol index 5c86509f050..94af8c35fca 100644 --- a/packages/protocol/contracts/L1/libs/LibTokenomics.sol +++ b/packages/protocol/contracts/L1/libs/LibTokenomics.sol @@ -77,8 +77,8 @@ library LibTokenomics { block.timestamp - state.accProposedAt ); - // If block timestamp is equal to state.accProposedAt (not really, but theoretically possible) - // there will be division by 0 error + // If block timestamp is equal to state.accProposedAt (not really, + // but theoretically possible) there will be division by 0 error if (totalNumProvingSeconds == 0) { totalNumProvingSeconds = 1; } diff --git a/packages/protocol/contracts/L1/libs/LibUtils.sol b/packages/protocol/contracts/L1/libs/LibUtils.sol index 08499ae1ec5..51869b70e16 100644 --- a/packages/protocol/contracts/L1/libs/LibUtils.sol +++ b/packages/protocol/contracts/L1/libs/LibUtils.sol @@ -78,21 +78,6 @@ library LibUtils { return _ma > 0 ? _ma : maValue; } - struct BlockMetadata { - uint64 id; - uint64 timestamp; - uint64 l1Height; - uint64 basefee; - bytes32 l1Hash; - bytes32 mixHash; - bytes32 txListHash; - uint24 txListByteStart; - uint24 txListByteEnd; - uint32 gasLimit; - address beneficiary; - address treasure; - } - function hashMetadata( TaikoData.BlockMetadata memory meta ) internal pure returns (bytes32 hash) { @@ -138,7 +123,7 @@ library LibUtils { } } - function getVerifierName(uint16 id) public pure returns (string memory) { + function getVerifierName(uint16 id) internal pure returns (string memory) { return string(bytes.concat(bytes("verifier_"), bytes2(id))); } } diff --git a/packages/protocol/contracts/L1/libs/LibVerifying.sol b/packages/protocol/contracts/L1/libs/LibVerifying.sol index 1f44e1e4e15..ad1a295172b 100644 --- a/packages/protocol/contracts/L1/libs/LibVerifying.sol +++ b/packages/protocol/contracts/L1/libs/LibVerifying.sol @@ -19,15 +19,16 @@ library LibVerifying { using SafeCastUpgradeable for uint256; using LibUtils for TaikoData.State; - error L1_INVALID_CONFIG(); - event BlockVerified(uint256 indexed id, bytes32 blockHash); + event XchainSynced( uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot ); + error L1_INVALID_CONFIG(); + function init( TaikoData.State storage state, TaikoData.Config memory config, @@ -35,7 +36,27 @@ library LibVerifying { uint64 initBasefee, uint64 initProofTimeIssued ) internal { - _checkConfig(config); + if ( + config.chainId <= 1 || + config.maxNumProposedBlocks == 1 || + config.ringBufferSize <= config.maxNumProposedBlocks + 1 || + config.maxNumVerifiedBlocks == 0 || + config.blockMaxGasLimit == 0 || + config.maxTransactionsPerBlock == 0 || + config.maxBytesPerTxList == 0 || + // EIP-4844 blob size up to 128K + config.maxBytesPerTxList > 128 * 1024 || + config.minTxGasLimit == 0 || + config.maxEthDepositsPerBlock == 0 || + config.maxEthDepositsPerBlock < config.minEthDepositsPerBlock || + // EIP-4844 blob deleted after 30 days + config.txListCacheExpiry > 30 * 24 hours || + config.ethDepositGas == 0 || + config.ethDepositMaxFee == 0 || + config.ethDepositMaxFee >= type(uint96).max || + config.proofTimeTarget == 0 || + config.adjustmentQuotient == 0 + ) revert L1_INVALID_CONFIG(); uint64 timeNow = uint64(block.timestamp); state.genesisHeight = uint64(block.number); @@ -164,25 +185,4 @@ library LibVerifying { emit BlockVerified(blk.blockId, fc.blockHash); } - - function _checkConfig(TaikoData.Config memory config) private pure { - if ( - config.chainId <= 1 || - config.maxNumProposedBlocks == 1 || - config.ringBufferSize <= config.maxNumProposedBlocks + 1 || - config.maxNumVerifiedBlocks == 0 || - config.blockMaxGasLimit == 0 || - config.maxTransactionsPerBlock == 0 || - config.maxBytesPerTxList == 0 || - // EIP-4844 blob size up to 128K - config.maxBytesPerTxList > 128 * 1024 || - config.minTxGasLimit == 0 || - config.maxEthDepositsPerBlock == 0 || - config.maxEthDepositsPerBlock < config.minEthDepositsPerBlock || - // EIP-4844 blob deleted after 30 days - config.txListCacheExpiry > 30 * 24 hours || - config.proofTimeTarget == 0 || - config.adjustmentQuotient == 0 - ) revert L1_INVALID_CONFIG(); - } } diff --git a/packages/protocol/contracts/L2/TaikoL2.sol b/packages/protocol/contracts/L2/TaikoL2.sol index 73077d46b11..03fd376f507 100644 --- a/packages/protocol/contracts/L2/TaikoL2.sol +++ b/packages/protocol/contracts/L2/TaikoL2.sol @@ -206,7 +206,7 @@ contract TaikoL2 is EssentialContract, TaikoL2Signer, IXchainSync { gaslimit: uint64(block.gaslimit), timestamp: uint64(block.timestamp), parentHash: parentHash, - prevrandao: block.prevrandao, + prevrandao: block.difficulty, coinbase: block.coinbase, chainid: uint32(block.chainid) }); diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeRelease.sol b/packages/protocol/contracts/bridge/libs/LibBridgeRelease.sol index 6be97cb6ed2..02d7d202411 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeRelease.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeRelease.sol @@ -15,14 +15,14 @@ import {LibBridgeStatus} from "./LibBridgeStatus.sol"; library LibBridgeRelease { using LibBridgeData for IBridge.Message; + event EtherReleased(bytes32 indexed msgHash, address to, uint256 amount); + error B_ETHER_RELEASED_ALREADY(); error B_FAILED_TRANSFER(); error B_MSG_NOT_FAILED(); error B_OWNER_IS_NULL(); error B_WRONG_CHAIN_ID(); - event EtherReleased(bytes32 indexed msgHash, address to, uint256 amount); - /** * Release Ether to the message owner, only if the Taiko Bridge state says: * - Ether for this message has not been released before. diff --git a/packages/protocol/contracts/test/erc20/FreeMintERC20.sol b/packages/protocol/contracts/test/erc20/FreeMintERC20.sol index 2c6bc266240..80fd103c4d0 100644 --- a/packages/protocol/contracts/test/erc20/FreeMintERC20.sol +++ b/packages/protocol/contracts/test/erc20/FreeMintERC20.sol @@ -11,10 +11,10 @@ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; // An ERC20 Token with a mint function anyone can call, for free, to receive // 5 tokens. contract FreeMintERC20 is ERC20 { - error HasMinted(); - mapping(address minter => bool hasMinted) public minters; + error HasMinted(); + constructor(string memory name, string memory symbol) ERC20(name, symbol) {} function mint(address to) public { diff --git a/packages/protocol/contracts/test/erc20/MayFailFreeMintERC20.sol b/packages/protocol/contracts/test/erc20/MayFailFreeMintERC20.sol index 98df1dc9f20..e3812e06403 100644 --- a/packages/protocol/contracts/test/erc20/MayFailFreeMintERC20.sol +++ b/packages/protocol/contracts/test/erc20/MayFailFreeMintERC20.sol @@ -12,10 +12,10 @@ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; // This token has 50% of failure on transfers so we can // test the bridge's error handling. contract MayFailFreeMintERC20 is ERC20 { - error HasMinted(); - mapping(address minter => bool hasMinted) public minters; + error HasMinted(); + constructor(string memory name, string memory symbol) ERC20(name, symbol) {} function mint(address to) public { diff --git a/packages/protocol/test/SignalService.t.sol b/packages/protocol/test/SignalService.t.sol index 026e3ab538c..17963cb59db 100644 --- a/packages/protocol/test/SignalService.t.sol +++ b/packages/protocol/test/SignalService.t.sol @@ -115,7 +115,7 @@ contract TestSignalService is Test { { vm.startPrank(Alice); for (uint8 i = 1; i < 100; i++) { - bytes32 signal = bytes32(block.prevrandao + i); + bytes32 signal = bytes32(block.difficulty + i); signalService.sendSignal(signal); bool isSent = signalService.isSignalSent(Alice, signal); diff --git a/packages/protocol/test/TaikoL1TestBase.t.sol b/packages/protocol/test/TaikoL1TestBase.t.sol index 54c025de115..328214c99a1 100644 --- a/packages/protocol/test/TaikoL1TestBase.t.sol +++ b/packages/protocol/test/TaikoL1TestBase.t.sol @@ -119,7 +119,7 @@ abstract contract TaikoL1TestBase is Test { uint256 _mixHash; unchecked { - _mixHash = block.prevrandao * variables.numBlocks; + _mixHash = block.difficulty * variables.numBlocks; } meta.id = variables.numBlocks; diff --git a/packages/protocol/test/genesis/GenerateGenesis.g.sol b/packages/protocol/test/genesis/GenerateGenesis.g.sol index 800432ef98d..c806e220b6c 100644 --- a/packages/protocol/test/genesis/GenerateGenesis.g.sol +++ b/packages/protocol/test/genesis/GenerateGenesis.g.sol @@ -75,8 +75,8 @@ contract TestGenerateGenesis is Test, AddressResolver { uint256 gasLeftBefore = gasleft(); taikoL2.anchor( - bytes32(block.prevrandao), - bytes32(block.prevrandao), + bytes32(block.difficulty), + bytes32(block.difficulty), i, i + LibL2Consts.ANCHOR_GAS_COST ); @@ -159,7 +159,7 @@ contract TestGenerateGenesis is Test, AddressResolver { assertEq(owner, signalService.owner()); - signalService.sendSignal(bytes32(block.prevrandao)); + signalService.sendSignal(bytes32(block.difficulty)); } function testERC20() public { diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md index b1bdf884d20..3b71e954af9 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md @@ -19,6 +19,8 @@ struct Config { uint256 minTxGasLimit; uint256 txListCacheExpiry; uint256 proofCooldownPeriod; + uint256 ethDepositGas; + uint256 ethDepositMaxFee; uint64 minEthDepositsPerBlock; uint64 maxEthDepositsPerBlock; uint96 maxEthDepositAmount; From ee8e875cddfd270cbf9458044336449799752a91 Mon Sep 17 00:00:00 2001 From: jeff <113397187+cyberhorsey@users.noreply.github.com> Date: Mon, 24 Apr 2023 14:37:44 -0700 Subject: [PATCH 06/34] feat(protocol): eventindexer/relayer/status-page/bridge-ui caught up to major protocol upgrade (#13643) Co-authored-by: David --- .../Transactions/Transaction.svelte | 4 +- .../abi/{HeaderSync.ts => IXchainSync.ts} | 22 +- .../bridge-ui/src/proof/ProofService.spec.ts | 2 +- packages/bridge-ui/src/proof/ProofService.ts | 4 +- .../eventindexer/contracts/taikol1/TaikoL1.go | 1104 ++++++++--------- packages/relayer/IXchainSync.json | 65 + packages/relayer/TaikoL1.json | 820 ++++++------ packages/relayer/TokenVault.json | 43 - packages/relayer/abigen.sh | 4 +- .../contracts/iheadersync/IHeaderSync.go | 388 ------ .../contracts/ixchainsync/IXchainSync.go | 389 ++++++ packages/relayer/contracts/taikol1/TaikoL1.go | 1104 ++++++++--------- packages/relayer/contracts/taikol2/TaikoL2.go | 1006 ++++++++++++--- .../contracts/tokenvault/TokenVault.go | 23 +- packages/relayer/header_syncer.go | 8 +- packages/relayer/indexer/service.go | 4 +- packages/relayer/message/process_message.go | 3 +- packages/relayer/message/processor_test.go | 22 +- .../relayer/message/wait_header_synced.go | 7 +- packages/relayer/mock/header_syncer.go | 3 +- .../src/components/StatusIndicator.svelte | 2 +- .../src/constants/abi/HeaderSync.ts | 53 - .../status-page/src/constants/abi/TaikoL1.ts | 844 ++++++------- .../status-page/src/pages/home/Home.svelte | 139 +-- .../src/utils/getAvailableSlots.ts | 7 +- packages/status-page/src/utils/getConfig.ts | 4 +- .../src/utils/getLastVerifiedBlockId.ts | 2 +- .../src/utils/getLatestSyncedHeader.ts | 3 +- .../status-page/src/utils/getNextBlockId.ts | 2 +- .../status-page/src/utils/getPendingBlocks.ts | 4 +- .../status-page/src/utils/getProofReward.ts | 2 +- .../src/utils/getStateVariables.ts | 3 +- .../src/utils/watchHeaderSynced.ts | 4 +- 33 files changed, 3420 insertions(+), 2674 deletions(-) rename packages/bridge-ui/src/constants/abi/{HeaderSync.ts => IXchainSync.ts} (68%) create mode 100644 packages/relayer/IXchainSync.json delete mode 100644 packages/relayer/contracts/iheadersync/IHeaderSync.go create mode 100644 packages/relayer/contracts/ixchainsync/IXchainSync.go delete mode 100644 packages/status-page/src/constants/abi/HeaderSync.ts diff --git a/packages/bridge-ui/src/components/Transactions/Transaction.svelte b/packages/bridge-ui/src/components/Transactions/Transaction.svelte index 4566f313060..6abc5ce8c8b 100644 --- a/packages/bridge-ui/src/components/Transactions/Transaction.svelte +++ b/packages/bridge-ui/src/components/Transactions/Transaction.svelte @@ -13,7 +13,7 @@ import { LottiePlayer } from '@lottiefiles/svelte-lottie-player'; import { errorToast, successToast } from '../Toast.svelte'; - import HeaderSyncABI from '../../constants/abi/HeaderSync'; + import HeaderSyncABI from '../../constants/abi/IXchainSync'; import BridgeABI from '../../constants/abi/Bridge'; import ButtonWithTooltip from '../ButtonWithTooltip.svelte'; import TokenVaultABI from '../../constants/abi/TokenVault'; @@ -180,7 +180,7 @@ providers[chains[transaction.toChainId].id], ); - const latestSyncedHeader = await contract.getLatestSyncedHeader(); + const latestSyncedHeader = await contract.getXchainBlockHash(0); const srcBlock = await providers[ chains[transaction.fromChainId].id ].getBlock(latestSyncedHeader); diff --git a/packages/bridge-ui/src/constants/abi/HeaderSync.ts b/packages/bridge-ui/src/constants/abi/IXchainSync.ts similarity index 68% rename from packages/bridge-ui/src/constants/abi/HeaderSync.ts rename to packages/bridge-ui/src/constants/abi/IXchainSync.ts index 8c1a756d7e4..86468508928 100644 --- a/packages/bridge-ui/src/constants/abi/HeaderSync.ts +++ b/packages/bridge-ui/src/constants/abi/IXchainSync.ts @@ -11,16 +11,28 @@ export default [ { indexed: false, internalType: 'bytes32', - name: 'srcHash', + name: 'blockHash', + type: 'bytes32', + }, + { + indexed: false, + internalType: 'bytes32', + name: 'signalRoot', type: 'bytes32', }, ], - name: 'HeaderSynced', + name: 'XchainSynced', type: 'event', }, { - inputs: [], - name: 'getLatestSyncedHeader', + inputs: [ + { + internalType: 'uint256', + name: 'number', + type: 'uint256', + }, + ], + name: 'getXchainBlockHash', outputs: [ { internalType: 'bytes32', @@ -39,7 +51,7 @@ export default [ type: 'uint256', }, ], - name: 'getSyncedHeader', + name: 'getXchainSignalRoot', outputs: [ { internalType: 'bytes32', diff --git a/packages/bridge-ui/src/proof/ProofService.spec.ts b/packages/bridge-ui/src/proof/ProofService.spec.ts index 3d6bc517bdc..d24bf1f4461 100644 --- a/packages/bridge-ui/src/proof/ProofService.spec.ts +++ b/packages/bridge-ui/src/proof/ProofService.spec.ts @@ -7,7 +7,7 @@ const mockProvider = { }; const mockContract = { - getLatestSyncedHeader: jest.fn(), + getXchainBlockHash: jest.fn(), }; jest.mock('ethers', () => ({ diff --git a/packages/bridge-ui/src/proof/ProofService.ts b/packages/bridge-ui/src/proof/ProofService.ts index dee7ba67cd5..4fc62d8ab71 100644 --- a/packages/bridge-ui/src/proof/ProofService.ts +++ b/packages/bridge-ui/src/proof/ProofService.ts @@ -1,6 +1,6 @@ import { Contract, ethers } from 'ethers'; import { RLP } from 'ethers/lib/utils.js'; -import HeaderSyncABI from '../constants/abi/HeaderSync'; +import HeaderSyncABI from '../constants/abi/IXchainSync'; import type { Block, BlockHeader } from '../domain/block'; import type { Prover, @@ -36,7 +36,7 @@ export class ProofService implements Prover { contract: ethers.Contract, provider: ethers.providers.StaticJsonRpcProvider, ): Promise<{ block: Block; blockHeader: BlockHeader }> { - const latestSyncedHeader = await contract.getLatestSyncedHeader(); + const latestSyncedHeader = await contract.getXchainBlockHash(0); const block: Block = await provider.send('eth_getBlockByHash', [ latestSyncedHeader, diff --git a/packages/eventindexer/contracts/taikol1/TaikoL1.go b/packages/eventindexer/contracts/taikol1/TaikoL1.go index 536a40aa63a..7f5b3a16a0f 100644 --- a/packages/eventindexer/contracts/taikol1/TaikoL1.go +++ b/packages/eventindexer/contracts/taikol1/TaikoL1.go @@ -29,81 +29,80 @@ var ( _ = abi.ConvertType ) -// LibUtilsStateVariables is an auto generated low-level Go binding around an user-defined struct. -type LibUtilsStateVariables struct { - FeeBase *big.Int - GenesisHeight uint64 - GenesisTimestamp uint64 - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 -} - // TaikoDataBlockMetadata is an auto generated low-level Go binding around an user-defined struct. type TaikoDataBlockMetadata struct { - Id *big.Int - L1Height *big.Int - L1Hash [32]byte - Beneficiary common.Address - TxListHash [32]byte - MixHash [32]byte - ExtraData []byte - GasLimit uint64 - Timestamp uint64 - CommitHeight uint64 - CommitSlot uint64 + Id uint64 + Timestamp uint64 + L1Height uint64 + L1Hash [32]byte + MixHash [32]byte + DepositsRoot [32]byte + TxListHash [32]byte + TxListByteStart *big.Int + TxListByteEnd *big.Int + GasLimit uint32 + Beneficiary common.Address + CacheTxListInfo uint8 + Treasure common.Address + DepositsProcessed []TaikoDataEthDeposit } // TaikoDataConfig is an auto generated low-level Go binding around an user-defined struct. type TaikoDataConfig struct { - ChainId *big.Int - MaxNumBlocks *big.Int - BlockHashHistory *big.Int - MaxVerificationsPerTx *big.Int - CommitConfirmations *big.Int - BlockMaxGasLimit *big.Int - MaxTransactionsPerBlock *big.Int - MaxBytesPerTxList *big.Int - MinTxGasLimit *big.Int - AnchorTxGasLimit *big.Int - SlotSmoothingFactor *big.Int - RewardBurnBips *big.Int - ProposerDepositPctg *big.Int - FeeBaseMAF *big.Int - BlockTimeMAF *big.Int - ProofTimeMAF *big.Int - RewardMultiplierPctg uint64 - FeeGracePeriodPctg uint64 - FeeMaxPeriodPctg uint64 - BlockTimeCap uint64 - ProofTimeCap uint64 - BootstrapDiscountHalvingPeriod uint64 - EnableTokenomics bool - EnablePublicInputsCheck bool - EnableAnchorValidation bool + ChainId *big.Int + MaxNumProposedBlocks *big.Int + RingBufferSize *big.Int + MaxNumVerifiedBlocks *big.Int + MaxVerificationsPerTx *big.Int + BlockMaxGasLimit *big.Int + MaxTransactionsPerBlock *big.Int + MaxBytesPerTxList *big.Int + MinTxGasLimit *big.Int + TxListCacheExpiry *big.Int + ProofCooldownPeriod *big.Int + MinEthDepositsPerBlock uint64 + MaxEthDepositsPerBlock uint64 + MaxEthDepositAmount *big.Int + MinEthDepositAmount *big.Int + ProofTimeTarget uint64 + AdjustmentQuotient uint8 + RelaySignalRoot bool + EnableSoloProposer bool +} + +// TaikoDataEthDeposit is an auto generated low-level Go binding around an user-defined struct. +type TaikoDataEthDeposit struct { + Recipient common.Address + Amount *big.Int } // TaikoDataForkChoice is an auto generated low-level Go binding around an user-defined struct. type TaikoDataForkChoice struct { - BlockHash [32]byte - Prover common.Address - ProvenAt uint64 + Key [32]byte + BlockHash [32]byte + SignalRoot [32]byte + ProvenAt uint64 + Prover common.Address + GasUsed uint32 } -// TaikoDataProposedBlock is an auto generated low-level Go binding around an user-defined struct. -type TaikoDataProposedBlock struct { - MetaHash [32]byte - Deposit *big.Int - Proposer common.Address - ProposedAt uint64 +// TaikoDataStateVariables is an auto generated low-level Go binding around an user-defined struct. +type TaikoDataStateVariables struct { + Basefee uint64 + AccBlockFees uint64 + GenesisHeight uint64 + GenesisTimestamp uint64 + NumBlocks uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + AccProposedAt uint64 + NextEthDepositToProcess uint64 + NumEthDeposits uint64 } // TaikoL1MetaData contains all meta data concerning the TaikoL1 contract. var TaikoL1MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"L1_0_FEE_BASE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_0_FEE_BASE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_CALLDATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_DEST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_ADDR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_LOGS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_TOPICS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_R\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_S\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TX_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TYPE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CANNOT_BE_FIRST_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONFLICT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_DUP_PROVERS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_EXTRA_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INPUT_SIZE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_METADATA_FIELD\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_META_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROOF_LENGTH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ZKP\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"BlockCommitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"commitBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockHashHistory\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slotSmoothingFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeBaseMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rewardMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getProposedBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ProposedBlock\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getRewardBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"feeBase\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"}],\"internalType\":\"structLibUtils.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_feeBase\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commitSlot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitHeight\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"isCommitValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proposeBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlockInvalid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"k\",\"type\":\"uint8\"}],\"name\":\"signWithGoldenTouch\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"r\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA1\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA2\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"feeBase\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__avgGasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedC1\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[],\"name\":\"L1_1559_X_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_1559_Y_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_ETHER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_ETH_DEPOSIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_L21559_PARAMS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit\",\"name\":\"deposit\",\"type\":\"tuple\"}],\"name\":\"EthDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"XchainSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositEtherToL2\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getBlock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_proposedAt\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ringBufferSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"txListCacheExpiry\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofCooldownPeriod\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"maxEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"minEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeTarget\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"adjustmentQuotient\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"relaySignalRoot\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableSoloProposer\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"parentGasUsed\",\"type\":\"uint32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"gasUsed\",\"type\":\"uint32\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEthDeposits\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTaikoTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"id\",\"type\":\"uint16\"}],\"name\":\"getVerifierName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getXchainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getXchainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_initBasefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_initProofTimeIssued\",\"type\":\"uint64\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"}],\"name\":\"proposeBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"staticRefs\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved71\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved72\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved91\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", } // TaikoL1ABI is the input ABI used to generate the binding from. @@ -283,18 +282,73 @@ func (_TaikoL1 *TaikoL1CallerSession) AddressManager() (common.Address, error) { return _TaikoL1.Contract.AddressManager(&_TaikoL1.CallOpts) } +// GetBlock is a free data retrieval call binding the contract method 0x04c07569. +// +// Solidity: function getBlock(uint256 blockId) view returns(bytes32 _metaHash, uint256 _deposit, address _proposer, uint64 _proposedAt) +func (_TaikoL1 *TaikoL1Caller) GetBlock(opts *bind.CallOpts, blockId *big.Int) (struct { + MetaHash [32]byte + Deposit *big.Int + Proposer common.Address + ProposedAt uint64 +}, error) { + var out []interface{} + err := _TaikoL1.contract.Call(opts, &out, "getBlock", blockId) + + outstruct := new(struct { + MetaHash [32]byte + Deposit *big.Int + Proposer common.Address + ProposedAt uint64 + }) + if err != nil { + return *outstruct, err + } + + outstruct.MetaHash = *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + outstruct.Deposit = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.Proposer = *abi.ConvertType(out[2], new(common.Address)).(*common.Address) + outstruct.ProposedAt = *abi.ConvertType(out[3], new(uint64)).(*uint64) + + return *outstruct, err + +} + +// GetBlock is a free data retrieval call binding the contract method 0x04c07569. +// +// Solidity: function getBlock(uint256 blockId) view returns(bytes32 _metaHash, uint256 _deposit, address _proposer, uint64 _proposedAt) +func (_TaikoL1 *TaikoL1Session) GetBlock(blockId *big.Int) (struct { + MetaHash [32]byte + Deposit *big.Int + Proposer common.Address + ProposedAt uint64 +}, error) { + return _TaikoL1.Contract.GetBlock(&_TaikoL1.CallOpts, blockId) +} + +// GetBlock is a free data retrieval call binding the contract method 0x04c07569. +// +// Solidity: function getBlock(uint256 blockId) view returns(bytes32 _metaHash, uint256 _deposit, address _proposer, uint64 _proposedAt) +func (_TaikoL1 *TaikoL1CallerSession) GetBlock(blockId *big.Int) (struct { + MetaHash [32]byte + Deposit *big.Int + Proposer common.Address + ProposedAt uint64 +}, error) { + return _TaikoL1.Contract.GetBlock(&_TaikoL1.CallOpts, blockId) +} + // GetBlockFee is a free data retrieval call binding the contract method 0x7baf0bc7. // -// Solidity: function getBlockFee() view returns(uint256) -func (_TaikoL1 *TaikoL1Caller) GetBlockFee(opts *bind.CallOpts) (*big.Int, error) { +// Solidity: function getBlockFee() view returns(uint64) +func (_TaikoL1 *TaikoL1Caller) GetBlockFee(opts *bind.CallOpts) (uint64, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "getBlockFee") if err != nil { - return *new(*big.Int), err + return *new(uint64), err } - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) return out0, err @@ -302,21 +356,21 @@ func (_TaikoL1 *TaikoL1Caller) GetBlockFee(opts *bind.CallOpts) (*big.Int, error // GetBlockFee is a free data retrieval call binding the contract method 0x7baf0bc7. // -// Solidity: function getBlockFee() view returns(uint256) -func (_TaikoL1 *TaikoL1Session) GetBlockFee() (*big.Int, error) { +// Solidity: function getBlockFee() view returns(uint64) +func (_TaikoL1 *TaikoL1Session) GetBlockFee() (uint64, error) { return _TaikoL1.Contract.GetBlockFee(&_TaikoL1.CallOpts) } // GetBlockFee is a free data retrieval call binding the contract method 0x7baf0bc7. // -// Solidity: function getBlockFee() view returns(uint256) -func (_TaikoL1 *TaikoL1CallerSession) GetBlockFee() (*big.Int, error) { +// Solidity: function getBlockFee() view returns(uint64) +func (_TaikoL1 *TaikoL1CallerSession) GetBlockFee() (uint64, error) { return _TaikoL1.Contract.GetBlockFee(&_TaikoL1.CallOpts) } // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool)) +// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint96,uint96,uint64,uint8,bool,bool)) func (_TaikoL1 *TaikoL1Caller) GetConfig(opts *bind.CallOpts) (TaikoDataConfig, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "getConfig") @@ -333,24 +387,24 @@ func (_TaikoL1 *TaikoL1Caller) GetConfig(opts *bind.CallOpts) (TaikoDataConfig, // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool)) +// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint96,uint96,uint64,uint8,bool,bool)) func (_TaikoL1 *TaikoL1Session) GetConfig() (TaikoDataConfig, error) { return _TaikoL1.Contract.GetConfig(&_TaikoL1.CallOpts) } // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool)) +// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint96,uint96,uint64,uint8,bool,bool)) func (_TaikoL1 *TaikoL1CallerSession) GetConfig() (TaikoDataConfig, error) { return _TaikoL1.Contract.GetConfig(&_TaikoL1.CallOpts) } -// GetForkChoice is a free data retrieval call binding the contract method 0xe00ea1e1. +// GetForkChoice is a free data retrieval call binding the contract method 0x7163e0ed. // -// Solidity: function getForkChoice(uint256 id, bytes32 parentHash) view returns((bytes32,address,uint64)) -func (_TaikoL1 *TaikoL1Caller) GetForkChoice(opts *bind.CallOpts, id *big.Int, parentHash [32]byte) (TaikoDataForkChoice, error) { +// Solidity: function getForkChoice(uint256 blockId, bytes32 parentHash, uint32 parentGasUsed) view returns((bytes32,bytes32,bytes32,uint64,address,uint32)) +func (_TaikoL1 *TaikoL1Caller) GetForkChoice(opts *bind.CallOpts, blockId *big.Int, parentHash [32]byte, parentGasUsed uint32) (TaikoDataForkChoice, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getForkChoice", id, parentHash) + err := _TaikoL1.contract.Call(opts, &out, "getForkChoice", blockId, parentHash, parentGasUsed) if err != nil { return *new(TaikoDataForkChoice), err @@ -362,63 +416,32 @@ func (_TaikoL1 *TaikoL1Caller) GetForkChoice(opts *bind.CallOpts, id *big.Int, p } -// GetForkChoice is a free data retrieval call binding the contract method 0xe00ea1e1. -// -// Solidity: function getForkChoice(uint256 id, bytes32 parentHash) view returns((bytes32,address,uint64)) -func (_TaikoL1 *TaikoL1Session) GetForkChoice(id *big.Int, parentHash [32]byte) (TaikoDataForkChoice, error) { - return _TaikoL1.Contract.GetForkChoice(&_TaikoL1.CallOpts, id, parentHash) -} - -// GetForkChoice is a free data retrieval call binding the contract method 0xe00ea1e1. -// -// Solidity: function getForkChoice(uint256 id, bytes32 parentHash) view returns((bytes32,address,uint64)) -func (_TaikoL1 *TaikoL1CallerSession) GetForkChoice(id *big.Int, parentHash [32]byte) (TaikoDataForkChoice, error) { - return _TaikoL1.Contract.GetForkChoice(&_TaikoL1.CallOpts, id, parentHash) -} - -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. -// -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL1 *TaikoL1Caller) GetLatestSyncedHeader(opts *bind.CallOpts) ([32]byte, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getLatestSyncedHeader") - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. +// GetForkChoice is a free data retrieval call binding the contract method 0x7163e0ed. // -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL1 *TaikoL1Session) GetLatestSyncedHeader() ([32]byte, error) { - return _TaikoL1.Contract.GetLatestSyncedHeader(&_TaikoL1.CallOpts) +// Solidity: function getForkChoice(uint256 blockId, bytes32 parentHash, uint32 parentGasUsed) view returns((bytes32,bytes32,bytes32,uint64,address,uint32)) +func (_TaikoL1 *TaikoL1Session) GetForkChoice(blockId *big.Int, parentHash [32]byte, parentGasUsed uint32) (TaikoDataForkChoice, error) { + return _TaikoL1.Contract.GetForkChoice(&_TaikoL1.CallOpts, blockId, parentHash, parentGasUsed) } -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. +// GetForkChoice is a free data retrieval call binding the contract method 0x7163e0ed. // -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL1 *TaikoL1CallerSession) GetLatestSyncedHeader() ([32]byte, error) { - return _TaikoL1.Contract.GetLatestSyncedHeader(&_TaikoL1.CallOpts) +// Solidity: function getForkChoice(uint256 blockId, bytes32 parentHash, uint32 parentGasUsed) view returns((bytes32,bytes32,bytes32,uint64,address,uint32)) +func (_TaikoL1 *TaikoL1CallerSession) GetForkChoice(blockId *big.Int, parentHash [32]byte, parentGasUsed uint32) (TaikoDataForkChoice, error) { + return _TaikoL1.Contract.GetForkChoice(&_TaikoL1.CallOpts, blockId, parentHash, parentGasUsed) } // GetProofReward is a free data retrieval call binding the contract method 0x4ee56f9e. // -// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint256 reward) -func (_TaikoL1 *TaikoL1Caller) GetProofReward(opts *bind.CallOpts, provenAt uint64, proposedAt uint64) (*big.Int, error) { +// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint64) +func (_TaikoL1 *TaikoL1Caller) GetProofReward(opts *bind.CallOpts, provenAt uint64, proposedAt uint64) (uint64, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "getProofReward", provenAt, proposedAt) if err != nil { - return *new(*big.Int), err + return *new(uint64), err } - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) return out0, err @@ -426,55 +449,55 @@ func (_TaikoL1 *TaikoL1Caller) GetProofReward(opts *bind.CallOpts, provenAt uint // GetProofReward is a free data retrieval call binding the contract method 0x4ee56f9e. // -// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint256 reward) -func (_TaikoL1 *TaikoL1Session) GetProofReward(provenAt uint64, proposedAt uint64) (*big.Int, error) { +// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint64) +func (_TaikoL1 *TaikoL1Session) GetProofReward(provenAt uint64, proposedAt uint64) (uint64, error) { return _TaikoL1.Contract.GetProofReward(&_TaikoL1.CallOpts, provenAt, proposedAt) } // GetProofReward is a free data retrieval call binding the contract method 0x4ee56f9e. // -// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint256 reward) -func (_TaikoL1 *TaikoL1CallerSession) GetProofReward(provenAt uint64, proposedAt uint64) (*big.Int, error) { +// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint64) +func (_TaikoL1 *TaikoL1CallerSession) GetProofReward(provenAt uint64, proposedAt uint64) (uint64, error) { return _TaikoL1.Contract.GetProofReward(&_TaikoL1.CallOpts, provenAt, proposedAt) } -// GetProposedBlock is a free data retrieval call binding the contract method 0x8972b10c. +// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getProposedBlock(uint256 id) view returns((bytes32,uint256,address,uint64)) -func (_TaikoL1 *TaikoL1Caller) GetProposedBlock(opts *bind.CallOpts, id *big.Int) (TaikoDataProposedBlock, error) { +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) +func (_TaikoL1 *TaikoL1Caller) GetStateVariables(opts *bind.CallOpts) (TaikoDataStateVariables, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getProposedBlock", id) + err := _TaikoL1.contract.Call(opts, &out, "getStateVariables") if err != nil { - return *new(TaikoDataProposedBlock), err + return *new(TaikoDataStateVariables), err } - out0 := *abi.ConvertType(out[0], new(TaikoDataProposedBlock)).(*TaikoDataProposedBlock) + out0 := *abi.ConvertType(out[0], new(TaikoDataStateVariables)).(*TaikoDataStateVariables) return out0, err } -// GetProposedBlock is a free data retrieval call binding the contract method 0x8972b10c. +// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getProposedBlock(uint256 id) view returns((bytes32,uint256,address,uint64)) -func (_TaikoL1 *TaikoL1Session) GetProposedBlock(id *big.Int) (TaikoDataProposedBlock, error) { - return _TaikoL1.Contract.GetProposedBlock(&_TaikoL1.CallOpts, id) +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) +func (_TaikoL1 *TaikoL1Session) GetStateVariables() (TaikoDataStateVariables, error) { + return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) } -// GetProposedBlock is a free data retrieval call binding the contract method 0x8972b10c. +// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getProposedBlock(uint256 id) view returns((bytes32,uint256,address,uint64)) -func (_TaikoL1 *TaikoL1CallerSession) GetProposedBlock(id *big.Int) (TaikoDataProposedBlock, error) { - return _TaikoL1.Contract.GetProposedBlock(&_TaikoL1.CallOpts, id) +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) +func (_TaikoL1 *TaikoL1CallerSession) GetStateVariables() (TaikoDataStateVariables, error) { + return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) } -// GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. +// GetTaikoTokenBalance is a free data retrieval call binding the contract method 0x8dff9cea. // -// Solidity: function getRewardBalance(address addr) view returns(uint256) -func (_TaikoL1 *TaikoL1Caller) GetRewardBalance(opts *bind.CallOpts, addr common.Address) (*big.Int, error) { +// Solidity: function getTaikoTokenBalance(address addr) view returns(uint256) +func (_TaikoL1 *TaikoL1Caller) GetTaikoTokenBalance(opts *bind.CallOpts, addr common.Address) (*big.Int, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getRewardBalance", addr) + err := _TaikoL1.contract.Call(opts, &out, "getTaikoTokenBalance", addr) if err != nil { return *new(*big.Int), err @@ -486,57 +509,57 @@ func (_TaikoL1 *TaikoL1Caller) GetRewardBalance(opts *bind.CallOpts, addr common } -// GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. +// GetTaikoTokenBalance is a free data retrieval call binding the contract method 0x8dff9cea. // -// Solidity: function getRewardBalance(address addr) view returns(uint256) -func (_TaikoL1 *TaikoL1Session) GetRewardBalance(addr common.Address) (*big.Int, error) { - return _TaikoL1.Contract.GetRewardBalance(&_TaikoL1.CallOpts, addr) +// Solidity: function getTaikoTokenBalance(address addr) view returns(uint256) +func (_TaikoL1 *TaikoL1Session) GetTaikoTokenBalance(addr common.Address) (*big.Int, error) { + return _TaikoL1.Contract.GetTaikoTokenBalance(&_TaikoL1.CallOpts, addr) } -// GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. +// GetTaikoTokenBalance is a free data retrieval call binding the contract method 0x8dff9cea. // -// Solidity: function getRewardBalance(address addr) view returns(uint256) -func (_TaikoL1 *TaikoL1CallerSession) GetRewardBalance(addr common.Address) (*big.Int, error) { - return _TaikoL1.Contract.GetRewardBalance(&_TaikoL1.CallOpts, addr) +// Solidity: function getTaikoTokenBalance(address addr) view returns(uint256) +func (_TaikoL1 *TaikoL1CallerSession) GetTaikoTokenBalance(addr common.Address) (*big.Int, error) { + return _TaikoL1.Contract.GetTaikoTokenBalance(&_TaikoL1.CallOpts, addr) } -// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. +// GetVerifierName is a free data retrieval call binding the contract method 0x0372303d. // -// Solidity: function getStateVariables() view returns((uint256,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) -func (_TaikoL1 *TaikoL1Caller) GetStateVariables(opts *bind.CallOpts) (LibUtilsStateVariables, error) { +// Solidity: function getVerifierName(uint16 id) pure returns(string) +func (_TaikoL1 *TaikoL1Caller) GetVerifierName(opts *bind.CallOpts, id uint16) (string, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getStateVariables") + err := _TaikoL1.contract.Call(opts, &out, "getVerifierName", id) if err != nil { - return *new(LibUtilsStateVariables), err + return *new(string), err } - out0 := *abi.ConvertType(out[0], new(LibUtilsStateVariables)).(*LibUtilsStateVariables) + out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } -// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. +// GetVerifierName is a free data retrieval call binding the contract method 0x0372303d. // -// Solidity: function getStateVariables() view returns((uint256,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) -func (_TaikoL1 *TaikoL1Session) GetStateVariables() (LibUtilsStateVariables, error) { - return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) +// Solidity: function getVerifierName(uint16 id) pure returns(string) +func (_TaikoL1 *TaikoL1Session) GetVerifierName(id uint16) (string, error) { + return _TaikoL1.Contract.GetVerifierName(&_TaikoL1.CallOpts, id) } -// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. +// GetVerifierName is a free data retrieval call binding the contract method 0x0372303d. // -// Solidity: function getStateVariables() view returns((uint256,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) -func (_TaikoL1 *TaikoL1CallerSession) GetStateVariables() (LibUtilsStateVariables, error) { - return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) +// Solidity: function getVerifierName(uint16 id) pure returns(string) +func (_TaikoL1 *TaikoL1CallerSession) GetVerifierName(id uint16) (string, error) { + return _TaikoL1.Contract.GetVerifierName(&_TaikoL1.CallOpts, id) } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL1 *TaikoL1Caller) GetSyncedHeader(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { +// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Caller) GetXchainBlockHash(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getSyncedHeader", number) + err := _TaikoL1.contract.Call(opts, &out, "getXchainBlockHash", blockId) if err != nil { return *new([32]byte), err @@ -548,49 +571,49 @@ func (_TaikoL1 *TaikoL1Caller) GetSyncedHeader(opts *bind.CallOpts, number *big. } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL1 *TaikoL1Session) GetSyncedHeader(number *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetSyncedHeader(&_TaikoL1.CallOpts, number) +// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Session) GetXchainBlockHash(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetXchainBlockHash(&_TaikoL1.CallOpts, blockId) } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL1 *TaikoL1CallerSession) GetSyncedHeader(number *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetSyncedHeader(&_TaikoL1.CallOpts, number) +// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1CallerSession) GetXchainBlockHash(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetXchainBlockHash(&_TaikoL1.CallOpts, blockId) } -// IsCommitValid is a free data retrieval call binding the contract method 0x340d9599. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function isCommitValid(uint256 commitSlot, uint256 commitHeight, bytes32 commitHash) view returns(bool) -func (_TaikoL1 *TaikoL1Caller) IsCommitValid(opts *bind.CallOpts, commitSlot *big.Int, commitHeight *big.Int, commitHash [32]byte) (bool, error) { +// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Caller) GetXchainSignalRoot(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "isCommitValid", commitSlot, commitHeight, commitHash) + err := _TaikoL1.contract.Call(opts, &out, "getXchainSignalRoot", blockId) if err != nil { - return *new(bool), err + return *new([32]byte), err } - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } -// IsCommitValid is a free data retrieval call binding the contract method 0x340d9599. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function isCommitValid(uint256 commitSlot, uint256 commitHeight, bytes32 commitHash) view returns(bool) -func (_TaikoL1 *TaikoL1Session) IsCommitValid(commitSlot *big.Int, commitHeight *big.Int, commitHash [32]byte) (bool, error) { - return _TaikoL1.Contract.IsCommitValid(&_TaikoL1.CallOpts, commitSlot, commitHeight, commitHash) +// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Session) GetXchainSignalRoot(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetXchainSignalRoot(&_TaikoL1.CallOpts, blockId) } -// IsCommitValid is a free data retrieval call binding the contract method 0x340d9599. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function isCommitValid(uint256 commitSlot, uint256 commitHeight, bytes32 commitHash) view returns(bool) -func (_TaikoL1 *TaikoL1CallerSession) IsCommitValid(commitSlot *big.Int, commitHeight *big.Int, commitHash [32]byte) (bool, error) { - return _TaikoL1.Contract.IsCommitValid(&_TaikoL1.CallOpts, commitSlot, commitHeight, commitHash) +// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1CallerSession) GetXchainSignalRoot(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetXchainSignalRoot(&_TaikoL1.CallOpts, blockId) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. @@ -686,109 +709,59 @@ func (_TaikoL1 *TaikoL1CallerSession) Resolve0(chainId *big.Int, name string, al return _TaikoL1.Contract.Resolve0(&_TaikoL1.CallOpts, chainId, name, allowZeroAddress) } -// SignWithGoldenTouch is a free data retrieval call binding the contract method 0xdadec12a. -// -// Solidity: function signWithGoldenTouch(bytes32 hash, uint8 k) view returns(uint8 v, uint256 r, uint256 s) -func (_TaikoL1 *TaikoL1Caller) SignWithGoldenTouch(opts *bind.CallOpts, hash [32]byte, k uint8) (struct { - V uint8 - R *big.Int - S *big.Int -}, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "signWithGoldenTouch", hash, k) - - outstruct := new(struct { - V uint8 - R *big.Int - S *big.Int - }) - if err != nil { - return *outstruct, err - } - - outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.R = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) - outstruct.S = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) - - return *outstruct, err - -} - -// SignWithGoldenTouch is a free data retrieval call binding the contract method 0xdadec12a. -// -// Solidity: function signWithGoldenTouch(bytes32 hash, uint8 k) view returns(uint8 v, uint256 r, uint256 s) -func (_TaikoL1 *TaikoL1Session) SignWithGoldenTouch(hash [32]byte, k uint8) (struct { - V uint8 - R *big.Int - S *big.Int -}, error) { - return _TaikoL1.Contract.SignWithGoldenTouch(&_TaikoL1.CallOpts, hash, k) -} - -// SignWithGoldenTouch is a free data retrieval call binding the contract method 0xdadec12a. -// -// Solidity: function signWithGoldenTouch(bytes32 hash, uint8 k) view returns(uint8 v, uint256 r, uint256 s) -func (_TaikoL1 *TaikoL1CallerSession) SignWithGoldenTouch(hash [32]byte, k uint8) (struct { - V uint8 - R *big.Int - S *big.Int -}, error) { - return _TaikoL1.Contract.SignWithGoldenTouch(&_TaikoL1.CallOpts, hash, k) -} - // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 feeBase, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 latestVerifiedId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(bytes32 staticRefs, uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reserved71, uint64 __reserved72, uint64 accProposedAt, uint64 accBlockFees, uint64 numBlocks, uint64 nextEthDepositToProcess, uint64 basefee, uint64 proofTimeIssued, uint64 lastVerifiedBlockId, uint64 __reserved91) func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { - GenesisHeight uint64 - GenesisTimestamp uint64 - ReservedA1 uint64 - ReservedA2 uint64 - FeeBase *big.Int - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - AvgGasLimit uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 - ReservedC1 uint64 + StaticRefs [32]byte + GenesisHeight uint64 + GenesisTimestamp uint64 + Reserved71 uint64 + Reserved72 uint64 + AccProposedAt uint64 + AccBlockFees uint64 + NumBlocks uint64 + NextEthDepositToProcess uint64 + Basefee uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + Reserved91 uint64 }, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "state") outstruct := new(struct { - GenesisHeight uint64 - GenesisTimestamp uint64 - ReservedA1 uint64 - ReservedA2 uint64 - FeeBase *big.Int - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - AvgGasLimit uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 - ReservedC1 uint64 + StaticRefs [32]byte + GenesisHeight uint64 + GenesisTimestamp uint64 + Reserved71 uint64 + Reserved72 uint64 + AccProposedAt uint64 + AccBlockFees uint64 + NumBlocks uint64 + NextEthDepositToProcess uint64 + Basefee uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + Reserved91 uint64 }) if err != nil { return *outstruct, err } - outstruct.GenesisHeight = *abi.ConvertType(out[0], new(uint64)).(*uint64) - outstruct.GenesisTimestamp = *abi.ConvertType(out[1], new(uint64)).(*uint64) - outstruct.ReservedA1 = *abi.ConvertType(out[2], new(uint64)).(*uint64) - outstruct.ReservedA2 = *abi.ConvertType(out[3], new(uint64)).(*uint64) - outstruct.FeeBase = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) - outstruct.NextBlockId = *abi.ConvertType(out[5], new(uint64)).(*uint64) - outstruct.LastProposedAt = *abi.ConvertType(out[6], new(uint64)).(*uint64) - outstruct.AvgBlockTime = *abi.ConvertType(out[7], new(uint64)).(*uint64) - outstruct.AvgGasLimit = *abi.ConvertType(out[8], new(uint64)).(*uint64) - outstruct.LatestVerifiedHeight = *abi.ConvertType(out[9], new(uint64)).(*uint64) - outstruct.LatestVerifiedId = *abi.ConvertType(out[10], new(uint64)).(*uint64) - outstruct.AvgProofTime = *abi.ConvertType(out[11], new(uint64)).(*uint64) - outstruct.ReservedC1 = *abi.ConvertType(out[12], new(uint64)).(*uint64) + outstruct.StaticRefs = *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + outstruct.GenesisHeight = *abi.ConvertType(out[1], new(uint64)).(*uint64) + outstruct.GenesisTimestamp = *abi.ConvertType(out[2], new(uint64)).(*uint64) + outstruct.Reserved71 = *abi.ConvertType(out[3], new(uint64)).(*uint64) + outstruct.Reserved72 = *abi.ConvertType(out[4], new(uint64)).(*uint64) + outstruct.AccProposedAt = *abi.ConvertType(out[5], new(uint64)).(*uint64) + outstruct.AccBlockFees = *abi.ConvertType(out[6], new(uint64)).(*uint64) + outstruct.NumBlocks = *abi.ConvertType(out[7], new(uint64)).(*uint64) + outstruct.NextEthDepositToProcess = *abi.ConvertType(out[8], new(uint64)).(*uint64) + outstruct.Basefee = *abi.ConvertType(out[9], new(uint64)).(*uint64) + outstruct.ProofTimeIssued = *abi.ConvertType(out[10], new(uint64)).(*uint64) + outstruct.LastVerifiedBlockId = *abi.ConvertType(out[11], new(uint64)).(*uint64) + outstruct.Reserved91 = *abi.ConvertType(out[12], new(uint64)).(*uint64) return *outstruct, err @@ -796,149 +769,149 @@ func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 feeBase, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 latestVerifiedId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(bytes32 staticRefs, uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reserved71, uint64 __reserved72, uint64 accProposedAt, uint64 accBlockFees, uint64 numBlocks, uint64 nextEthDepositToProcess, uint64 basefee, uint64 proofTimeIssued, uint64 lastVerifiedBlockId, uint64 __reserved91) func (_TaikoL1 *TaikoL1Session) State() (struct { - GenesisHeight uint64 - GenesisTimestamp uint64 - ReservedA1 uint64 - ReservedA2 uint64 - FeeBase *big.Int - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - AvgGasLimit uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 - ReservedC1 uint64 + StaticRefs [32]byte + GenesisHeight uint64 + GenesisTimestamp uint64 + Reserved71 uint64 + Reserved72 uint64 + AccProposedAt uint64 + AccBlockFees uint64 + NumBlocks uint64 + NextEthDepositToProcess uint64 + Basefee uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + Reserved91 uint64 }, error) { return _TaikoL1.Contract.State(&_TaikoL1.CallOpts) } // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 feeBase, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 latestVerifiedId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(bytes32 staticRefs, uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reserved71, uint64 __reserved72, uint64 accProposedAt, uint64 accBlockFees, uint64 numBlocks, uint64 nextEthDepositToProcess, uint64 basefee, uint64 proofTimeIssued, uint64 lastVerifiedBlockId, uint64 __reserved91) func (_TaikoL1 *TaikoL1CallerSession) State() (struct { - GenesisHeight uint64 - GenesisTimestamp uint64 - ReservedA1 uint64 - ReservedA2 uint64 - FeeBase *big.Int - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - AvgGasLimit uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 - ReservedC1 uint64 + StaticRefs [32]byte + GenesisHeight uint64 + GenesisTimestamp uint64 + Reserved71 uint64 + Reserved72 uint64 + AccProposedAt uint64 + AccBlockFees uint64 + NumBlocks uint64 + NextEthDepositToProcess uint64 + Basefee uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + Reserved91 uint64 }, error) { return _TaikoL1.Contract.State(&_TaikoL1.CallOpts) } -// CommitBlock is a paid mutator transaction binding the contract method 0x7e7a262c. +// DepositEtherToL2 is a paid mutator transaction binding the contract method 0xa22f7670. // -// Solidity: function commitBlock(uint64 commitSlot, bytes32 commitHash) returns() -func (_TaikoL1 *TaikoL1Transactor) CommitBlock(opts *bind.TransactOpts, commitSlot uint64, commitHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "commitBlock", commitSlot, commitHash) +// Solidity: function depositEtherToL2() payable returns() +func (_TaikoL1 *TaikoL1Transactor) DepositEtherToL2(opts *bind.TransactOpts) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "depositEtherToL2") } -// CommitBlock is a paid mutator transaction binding the contract method 0x7e7a262c. +// DepositEtherToL2 is a paid mutator transaction binding the contract method 0xa22f7670. // -// Solidity: function commitBlock(uint64 commitSlot, bytes32 commitHash) returns() -func (_TaikoL1 *TaikoL1Session) CommitBlock(commitSlot uint64, commitHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.CommitBlock(&_TaikoL1.TransactOpts, commitSlot, commitHash) +// Solidity: function depositEtherToL2() payable returns() +func (_TaikoL1 *TaikoL1Session) DepositEtherToL2() (*types.Transaction, error) { + return _TaikoL1.Contract.DepositEtherToL2(&_TaikoL1.TransactOpts) } -// CommitBlock is a paid mutator transaction binding the contract method 0x7e7a262c. +// DepositEtherToL2 is a paid mutator transaction binding the contract method 0xa22f7670. // -// Solidity: function commitBlock(uint64 commitSlot, bytes32 commitHash) returns() -func (_TaikoL1 *TaikoL1TransactorSession) CommitBlock(commitSlot uint64, commitHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.CommitBlock(&_TaikoL1.TransactOpts, commitSlot, commitHash) +// Solidity: function depositEtherToL2() payable returns() +func (_TaikoL1 *TaikoL1TransactorSession) DepositEtherToL2() (*types.Transaction, error) { + return _TaikoL1.Contract.DepositEtherToL2(&_TaikoL1.TransactOpts) } -// Init is a paid mutator transaction binding the contract method 0x9c5e9f06. +// DepositTaikoToken is a paid mutator transaction binding the contract method 0x98f39aba. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _feeBase) returns() -func (_TaikoL1 *TaikoL1Transactor) Init(opts *bind.TransactOpts, _addressManager common.Address, _genesisBlockHash [32]byte, _feeBase *big.Int) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "init", _addressManager, _genesisBlockHash, _feeBase) +// Solidity: function depositTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1Transactor) DepositTaikoToken(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "depositTaikoToken", amount) } -// Init is a paid mutator transaction binding the contract method 0x9c5e9f06. +// DepositTaikoToken is a paid mutator transaction binding the contract method 0x98f39aba. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _feeBase) returns() -func (_TaikoL1 *TaikoL1Session) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _feeBase *big.Int) (*types.Transaction, error) { - return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _feeBase) +// Solidity: function depositTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1Session) DepositTaikoToken(amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.DepositTaikoToken(&_TaikoL1.TransactOpts, amount) } -// Init is a paid mutator transaction binding the contract method 0x9c5e9f06. +// DepositTaikoToken is a paid mutator transaction binding the contract method 0x98f39aba. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _feeBase) returns() -func (_TaikoL1 *TaikoL1TransactorSession) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _feeBase *big.Int) (*types.Transaction, error) { - return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _feeBase) +// Solidity: function depositTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1TransactorSession) DepositTaikoToken(amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.DepositTaikoToken(&_TaikoL1.TransactOpts, amount) } -// ProposeBlock is a paid mutator transaction binding the contract method 0xa043dbdf. +// Init is a paid mutator transaction binding the contract method 0x578c65a4. // -// Solidity: function proposeBlock(bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Transactor) ProposeBlock(opts *bind.TransactOpts, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "proposeBlock", inputs) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBasefee, uint64 _initProofTimeIssued) returns() +func (_TaikoL1 *TaikoL1Transactor) Init(opts *bind.TransactOpts, _addressManager common.Address, _genesisBlockHash [32]byte, _initBasefee uint64, _initProofTimeIssued uint64) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "init", _addressManager, _genesisBlockHash, _initBasefee, _initProofTimeIssued) } -// ProposeBlock is a paid mutator transaction binding the contract method 0xa043dbdf. +// Init is a paid mutator transaction binding the contract method 0x578c65a4. // -// Solidity: function proposeBlock(bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Session) ProposeBlock(inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, inputs) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBasefee, uint64 _initProofTimeIssued) returns() +func (_TaikoL1 *TaikoL1Session) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _initBasefee uint64, _initProofTimeIssued uint64) (*types.Transaction, error) { + return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _initBasefee, _initProofTimeIssued) } -// ProposeBlock is a paid mutator transaction binding the contract method 0xa043dbdf. +// Init is a paid mutator transaction binding the contract method 0x578c65a4. // -// Solidity: function proposeBlock(bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1TransactorSession) ProposeBlock(inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, inputs) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBasefee, uint64 _initProofTimeIssued) returns() +func (_TaikoL1 *TaikoL1TransactorSession) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _initBasefee uint64, _initProofTimeIssued uint64) (*types.Transaction, error) { + return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _initBasefee, _initProofTimeIssued) } -// ProveBlock is a paid mutator transaction binding the contract method 0x8ed7b3be. +// ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proveBlock(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Transactor) ProveBlock(opts *bind.TransactOpts, blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "proveBlock", blockId, inputs) +// Solidity: function proposeBlock(bytes input, bytes txList) returns((uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) +func (_TaikoL1 *TaikoL1Transactor) ProposeBlock(opts *bind.TransactOpts, input []byte, txList []byte) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "proposeBlock", input, txList) } -// ProveBlock is a paid mutator transaction binding the contract method 0x8ed7b3be. +// ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proveBlock(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Session) ProveBlock(blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, inputs) +// Solidity: function proposeBlock(bytes input, bytes txList) returns((uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) +func (_TaikoL1 *TaikoL1Session) ProposeBlock(input []byte, txList []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, input, txList) } -// ProveBlock is a paid mutator transaction binding the contract method 0x8ed7b3be. +// ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proveBlock(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1TransactorSession) ProveBlock(blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, inputs) +// Solidity: function proposeBlock(bytes input, bytes txList) returns((uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) +func (_TaikoL1 *TaikoL1TransactorSession) ProposeBlock(input []byte, txList []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, input, txList) } -// ProveBlockInvalid is a paid mutator transaction binding the contract method 0xa279cec7. +// ProveBlock is a paid mutator transaction binding the contract method 0xf3840f60. // -// Solidity: function proveBlockInvalid(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Transactor) ProveBlockInvalid(opts *bind.TransactOpts, blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "proveBlockInvalid", blockId, inputs) +// Solidity: function proveBlock(uint256 blockId, bytes input) returns() +func (_TaikoL1 *TaikoL1Transactor) ProveBlock(opts *bind.TransactOpts, blockId *big.Int, input []byte) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "proveBlock", blockId, input) } -// ProveBlockInvalid is a paid mutator transaction binding the contract method 0xa279cec7. +// ProveBlock is a paid mutator transaction binding the contract method 0xf3840f60. // -// Solidity: function proveBlockInvalid(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Session) ProveBlockInvalid(blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlockInvalid(&_TaikoL1.TransactOpts, blockId, inputs) +// Solidity: function proveBlock(uint256 blockId, bytes input) returns() +func (_TaikoL1 *TaikoL1Session) ProveBlock(blockId *big.Int, input []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, input) } -// ProveBlockInvalid is a paid mutator transaction binding the contract method 0xa279cec7. +// ProveBlock is a paid mutator transaction binding the contract method 0xf3840f60. // -// Solidity: function proveBlockInvalid(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1TransactorSession) ProveBlockInvalid(blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlockInvalid(&_TaikoL1.TransactOpts, blockId, inputs) +// Solidity: function proveBlock(uint256 blockId, bytes input) returns() +func (_TaikoL1 *TaikoL1TransactorSession) ProveBlock(blockId *big.Int, input []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, input) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. @@ -1004,160 +977,46 @@ func (_TaikoL1 *TaikoL1TransactorSession) VerifyBlocks(maxBlocks *big.Int) (*typ return _TaikoL1.Contract.VerifyBlocks(&_TaikoL1.TransactOpts, maxBlocks) } -// WithdrawBalance is a paid mutator transaction binding the contract method 0x5fd8c710. +// WithdrawTaikoToken is a paid mutator transaction binding the contract method 0x5043f059. // -// Solidity: function withdrawBalance() returns() -func (_TaikoL1 *TaikoL1Transactor) WithdrawBalance(opts *bind.TransactOpts) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "withdrawBalance") +// Solidity: function withdrawTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1Transactor) WithdrawTaikoToken(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "withdrawTaikoToken", amount) } -// WithdrawBalance is a paid mutator transaction binding the contract method 0x5fd8c710. +// WithdrawTaikoToken is a paid mutator transaction binding the contract method 0x5043f059. // -// Solidity: function withdrawBalance() returns() -func (_TaikoL1 *TaikoL1Session) WithdrawBalance() (*types.Transaction, error) { - return _TaikoL1.Contract.WithdrawBalance(&_TaikoL1.TransactOpts) +// Solidity: function withdrawTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1Session) WithdrawTaikoToken(amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.WithdrawTaikoToken(&_TaikoL1.TransactOpts, amount) } -// WithdrawBalance is a paid mutator transaction binding the contract method 0x5fd8c710. +// WithdrawTaikoToken is a paid mutator transaction binding the contract method 0x5043f059. // -// Solidity: function withdrawBalance() returns() -func (_TaikoL1 *TaikoL1TransactorSession) WithdrawBalance() (*types.Transaction, error) { - return _TaikoL1.Contract.WithdrawBalance(&_TaikoL1.TransactOpts) -} - -// TaikoL1BlockCommittedIterator is returned from FilterBlockCommitted and is used to iterate over the raw logs and unpacked data for BlockCommitted events raised by the TaikoL1 contract. -type TaikoL1BlockCommittedIterator struct { - Event *TaikoL1BlockCommitted // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TaikoL1BlockCommittedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TaikoL1BlockCommitted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TaikoL1BlockCommitted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1BlockCommittedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TaikoL1BlockCommittedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TaikoL1BlockCommitted represents a BlockCommitted event raised by the TaikoL1 contract. -type TaikoL1BlockCommitted struct { - CommitSlot uint64 - CommitHash [32]byte - Raw types.Log // Blockchain specific contextual infos +// Solidity: function withdrawTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1TransactorSession) WithdrawTaikoToken(amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.WithdrawTaikoToken(&_TaikoL1.TransactOpts, amount) } -// FilterBlockCommitted is a free log retrieval operation binding the contract event 0x51264991e22d808f3bcbb1cbffa82b752eae327c24055259a5c455c0aa5b7136. +// Receive is a paid mutator transaction binding the contract receive function. // -// Solidity: event BlockCommitted(uint64 commitSlot, bytes32 commitHash) -func (_TaikoL1 *TaikoL1Filterer) FilterBlockCommitted(opts *bind.FilterOpts) (*TaikoL1BlockCommittedIterator, error) { - - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockCommitted") - if err != nil { - return nil, err - } - return &TaikoL1BlockCommittedIterator{contract: _TaikoL1.contract, event: "BlockCommitted", logs: logs, sub: sub}, nil +// Solidity: receive() payable returns() +func (_TaikoL1 *TaikoL1Transactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) { + return _TaikoL1.contract.RawTransact(opts, nil) // calldata is disallowed for receive function } -// WatchBlockCommitted is a free log subscription operation binding the contract event 0x51264991e22d808f3bcbb1cbffa82b752eae327c24055259a5c455c0aa5b7136. +// Receive is a paid mutator transaction binding the contract receive function. // -// Solidity: event BlockCommitted(uint64 commitSlot, bytes32 commitHash) -func (_TaikoL1 *TaikoL1Filterer) WatchBlockCommitted(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockCommitted) (event.Subscription, error) { - - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockCommitted") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TaikoL1BlockCommitted) - if err := _TaikoL1.contract.UnpackLog(event, "BlockCommitted", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil +// Solidity: receive() payable returns() +func (_TaikoL1 *TaikoL1Session) Receive() (*types.Transaction, error) { + return _TaikoL1.Contract.Receive(&_TaikoL1.TransactOpts) } -// ParseBlockCommitted is a log parse operation binding the contract event 0x51264991e22d808f3bcbb1cbffa82b752eae327c24055259a5c455c0aa5b7136. +// Receive is a paid mutator transaction binding the contract receive function. // -// Solidity: event BlockCommitted(uint64 commitSlot, bytes32 commitHash) -func (_TaikoL1 *TaikoL1Filterer) ParseBlockCommitted(log types.Log) (*TaikoL1BlockCommitted, error) { - event := new(TaikoL1BlockCommitted) - if err := _TaikoL1.contract.UnpackLog(event, "BlockCommitted", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil +// Solidity: receive() payable returns() +func (_TaikoL1 *TaikoL1TransactorSession) Receive() (*types.Transaction, error) { + return _TaikoL1.Contract.Receive(&_TaikoL1.TransactOpts) } // TaikoL1BlockProposedIterator is returned from FilterBlockProposed and is used to iterate over the raw logs and unpacked data for BlockProposed events raised by the TaikoL1 contract. @@ -1234,9 +1093,9 @@ type TaikoL1BlockProposed struct { Raw types.Log // Blockchain specific contextual infos } -// FilterBlockProposed is a free log retrieval operation binding the contract event 0x344fc5d5f80c4a29bd7e06ad7c28a0c8c9c08d682129da3a31936d5982e4f044. +// FilterBlockProposed is a free log retrieval operation binding the contract event 0x31cc3eebb5aea55796fe5ba252fe1833fd17d063cb6e83634758fa58e7181535. // -// Solidity: event BlockProposed(uint256 indexed id, (uint256,uint256,bytes32,address,bytes32,bytes32,bytes,uint64,uint64,uint64,uint64) meta) +// Solidity: event BlockProposed(uint256 indexed id, (uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) func (_TaikoL1 *TaikoL1Filterer) FilterBlockProposed(opts *bind.FilterOpts, id []*big.Int) (*TaikoL1BlockProposedIterator, error) { var idRule []interface{} @@ -1251,9 +1110,9 @@ func (_TaikoL1 *TaikoL1Filterer) FilterBlockProposed(opts *bind.FilterOpts, id [ return &TaikoL1BlockProposedIterator{contract: _TaikoL1.contract, event: "BlockProposed", logs: logs, sub: sub}, nil } -// WatchBlockProposed is a free log subscription operation binding the contract event 0x344fc5d5f80c4a29bd7e06ad7c28a0c8c9c08d682129da3a31936d5982e4f044. +// WatchBlockProposed is a free log subscription operation binding the contract event 0x31cc3eebb5aea55796fe5ba252fe1833fd17d063cb6e83634758fa58e7181535. // -// Solidity: event BlockProposed(uint256 indexed id, (uint256,uint256,bytes32,address,bytes32,bytes32,bytes,uint64,uint64,uint64,uint64) meta) +// Solidity: event BlockProposed(uint256 indexed id, (uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockProposed, id []*big.Int) (event.Subscription, error) { var idRule []interface{} @@ -1293,9 +1152,9 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed(opts *bind.WatchOpts, sink c }), nil } -// ParseBlockProposed is a log parse operation binding the contract event 0x344fc5d5f80c4a29bd7e06ad7c28a0c8c9c08d682129da3a31936d5982e4f044. +// ParseBlockProposed is a log parse operation binding the contract event 0x31cc3eebb5aea55796fe5ba252fe1833fd17d063cb6e83634758fa58e7181535. // -// Solidity: event BlockProposed(uint256 indexed id, (uint256,uint256,bytes32,address,bytes32,bytes32,bytes,uint64,uint64,uint64,uint64) meta) +// Solidity: event BlockProposed(uint256 indexed id, (uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) func (_TaikoL1 *TaikoL1Filterer) ParseBlockProposed(log types.Log) (*TaikoL1BlockProposed, error) { event := new(TaikoL1BlockProposed) if err := _TaikoL1.contract.UnpackLog(event, "BlockProposed", log); err != nil { @@ -1377,14 +1236,14 @@ type TaikoL1BlockProven struct { Id *big.Int ParentHash [32]byte BlockHash [32]byte + SignalRoot [32]byte Prover common.Address - ProvenAt uint64 Raw types.Log // Blockchain specific contextual infos } -// FilterBlockProven is a free log retrieval operation binding the contract event 0x45848a3b2a67571e5876283456675aa3e05880e4f5a73447bd86cef5a181db38. +// FilterBlockProven is a free log retrieval operation binding the contract event 0xd93fde3ea1bb11dcd7a4e66320a05fc5aa63983b6447eff660084c4b1b1b499b. // -// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, address prover, uint64 provenAt) +// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, bytes32 signalRoot, address prover) func (_TaikoL1 *TaikoL1Filterer) FilterBlockProven(opts *bind.FilterOpts, id []*big.Int) (*TaikoL1BlockProvenIterator, error) { var idRule []interface{} @@ -1399,9 +1258,9 @@ func (_TaikoL1 *TaikoL1Filterer) FilterBlockProven(opts *bind.FilterOpts, id []* return &TaikoL1BlockProvenIterator{contract: _TaikoL1.contract, event: "BlockProven", logs: logs, sub: sub}, nil } -// WatchBlockProven is a free log subscription operation binding the contract event 0x45848a3b2a67571e5876283456675aa3e05880e4f5a73447bd86cef5a181db38. +// WatchBlockProven is a free log subscription operation binding the contract event 0xd93fde3ea1bb11dcd7a4e66320a05fc5aa63983b6447eff660084c4b1b1b499b. // -// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, address prover, uint64 provenAt) +// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, bytes32 signalRoot, address prover) func (_TaikoL1 *TaikoL1Filterer) WatchBlockProven(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockProven, id []*big.Int) (event.Subscription, error) { var idRule []interface{} @@ -1441,9 +1300,9 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockProven(opts *bind.WatchOpts, sink cha }), nil } -// ParseBlockProven is a log parse operation binding the contract event 0x45848a3b2a67571e5876283456675aa3e05880e4f5a73447bd86cef5a181db38. +// ParseBlockProven is a log parse operation binding the contract event 0xd93fde3ea1bb11dcd7a4e66320a05fc5aa63983b6447eff660084c4b1b1b499b. // -// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, address prover, uint64 provenAt) +// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, bytes32 signalRoot, address prover) func (_TaikoL1 *TaikoL1Filterer) ParseBlockProven(log types.Log) (*TaikoL1BlockProven, error) { event := new(TaikoL1BlockProven) if err := _TaikoL1.contract.UnpackLog(event, "BlockProven", log); err != nil { @@ -1598,9 +1457,9 @@ func (_TaikoL1 *TaikoL1Filterer) ParseBlockVerified(log types.Log) (*TaikoL1Bloc return event, nil } -// TaikoL1HeaderSyncedIterator is returned from FilterHeaderSynced and is used to iterate over the raw logs and unpacked data for HeaderSynced events raised by the TaikoL1 contract. -type TaikoL1HeaderSyncedIterator struct { - Event *TaikoL1HeaderSynced // Event containing the contract specifics and raw log +// TaikoL1EthDepositedIterator is returned from FilterEthDeposited and is used to iterate over the raw logs and unpacked data for EthDeposited events raised by the TaikoL1 contract. +type TaikoL1EthDepositedIterator struct { + Event *TaikoL1EthDeposited // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1614,7 +1473,7 @@ type TaikoL1HeaderSyncedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1HeaderSyncedIterator) Next() bool { +func (it *TaikoL1EthDepositedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1623,7 +1482,7 @@ func (it *TaikoL1HeaderSyncedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1HeaderSynced) + it.Event = new(TaikoL1EthDeposited) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1638,7 +1497,7 @@ func (it *TaikoL1HeaderSyncedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1HeaderSynced) + it.Event = new(TaikoL1EthDeposited) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1654,52 +1513,41 @@ func (it *TaikoL1HeaderSyncedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1HeaderSyncedIterator) Error() error { +func (it *TaikoL1EthDepositedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1HeaderSyncedIterator) Close() error { +func (it *TaikoL1EthDepositedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1HeaderSynced represents a HeaderSynced event raised by the TaikoL1 contract. -type TaikoL1HeaderSynced struct { - SrcHeight *big.Int - SrcHash [32]byte - Raw types.Log // Blockchain specific contextual infos +// TaikoL1EthDeposited represents a EthDeposited event raised by the TaikoL1 contract. +type TaikoL1EthDeposited struct { + Deposit TaikoDataEthDeposit + Raw types.Log // Blockchain specific contextual infos } -// FilterHeaderSynced is a free log retrieval operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// FilterEthDeposited is a free log retrieval operation binding the contract event 0x1c146ddfc652d3b24f1c37ed1cabbb690bf0e198aea624f49211500467182eba. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL1 *TaikoL1Filterer) FilterHeaderSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL1HeaderSyncedIterator, error) { - - var srcHeightRule []interface{} - for _, srcHeightItem := range srcHeight { - srcHeightRule = append(srcHeightRule, srcHeightItem) - } +// Solidity: event EthDeposited((address,uint96) deposit) +func (_TaikoL1 *TaikoL1Filterer) FilterEthDeposited(opts *bind.FilterOpts) (*TaikoL1EthDepositedIterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "HeaderSynced", srcHeightRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "EthDeposited") if err != nil { return nil, err } - return &TaikoL1HeaderSyncedIterator{contract: _TaikoL1.contract, event: "HeaderSynced", logs: logs, sub: sub}, nil + return &TaikoL1EthDepositedIterator{contract: _TaikoL1.contract, event: "EthDeposited", logs: logs, sub: sub}, nil } -// WatchHeaderSynced is a free log subscription operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// WatchEthDeposited is a free log subscription operation binding the contract event 0x1c146ddfc652d3b24f1c37ed1cabbb690bf0e198aea624f49211500467182eba. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL1 *TaikoL1Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1HeaderSynced, srcHeight []*big.Int) (event.Subscription, error) { +// Solidity: event EthDeposited((address,uint96) deposit) +func (_TaikoL1 *TaikoL1Filterer) WatchEthDeposited(opts *bind.WatchOpts, sink chan<- *TaikoL1EthDeposited) (event.Subscription, error) { - var srcHeightRule []interface{} - for _, srcHeightItem := range srcHeight { - srcHeightRule = append(srcHeightRule, srcHeightItem) - } - - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "HeaderSynced", srcHeightRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "EthDeposited") if err != nil { return nil, err } @@ -1709,8 +1557,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink ch select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1HeaderSynced) - if err := _TaikoL1.contract.UnpackLog(event, "HeaderSynced", log); err != nil { + event := new(TaikoL1EthDeposited) + if err := _TaikoL1.contract.UnpackLog(event, "EthDeposited", log); err != nil { return err } event.Raw = log @@ -1731,12 +1579,12 @@ func (_TaikoL1 *TaikoL1Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink ch }), nil } -// ParseHeaderSynced is a log parse operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// ParseEthDeposited is a log parse operation binding the contract event 0x1c146ddfc652d3b24f1c37ed1cabbb690bf0e198aea624f49211500467182eba. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL1 *TaikoL1Filterer) ParseHeaderSynced(log types.Log) (*TaikoL1HeaderSynced, error) { - event := new(TaikoL1HeaderSynced) - if err := _TaikoL1.contract.UnpackLog(event, "HeaderSynced", log); err != nil { +// Solidity: event EthDeposited((address,uint96) deposit) +func (_TaikoL1 *TaikoL1Filterer) ParseEthDeposited(log types.Log) (*TaikoL1EthDeposited, error) { + event := new(TaikoL1EthDeposited) + if err := _TaikoL1.contract.UnpackLog(event, "EthDeposited", log); err != nil { return nil, err } event.Raw = log @@ -2029,3 +1877,149 @@ func (_TaikoL1 *TaikoL1Filterer) ParseOwnershipTransferred(log types.Log) (*Taik event.Raw = log return event, nil } + +// TaikoL1XchainSyncedIterator is returned from FilterXchainSynced and is used to iterate over the raw logs and unpacked data for XchainSynced events raised by the TaikoL1 contract. +type TaikoL1XchainSyncedIterator struct { + Event *TaikoL1XchainSynced // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *TaikoL1XchainSyncedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(TaikoL1XchainSynced) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(TaikoL1XchainSynced) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *TaikoL1XchainSyncedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *TaikoL1XchainSyncedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// TaikoL1XchainSynced represents a XchainSynced event raised by the TaikoL1 contract. +type TaikoL1XchainSynced struct { + SrcHeight *big.Int + BlockHash [32]byte + SignalRoot [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterXchainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) FilterXchainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL1XchainSyncedIterator, error) { + + var srcHeightRule []interface{} + for _, srcHeightItem := range srcHeight { + srcHeightRule = append(srcHeightRule, srcHeightItem) + } + + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "XchainSynced", srcHeightRule) + if err != nil { + return nil, err + } + return &TaikoL1XchainSyncedIterator{contract: _TaikoL1.contract, event: "XchainSynced", logs: logs, sub: sub}, nil +} + +// WatchXchainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1XchainSynced, srcHeight []*big.Int) (event.Subscription, error) { + + var srcHeightRule []interface{} + for _, srcHeightItem := range srcHeight { + srcHeightRule = append(srcHeightRule, srcHeightItem) + } + + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "XchainSynced", srcHeightRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(TaikoL1XchainSynced) + if err := _TaikoL1.contract.UnpackLog(event, "XchainSynced", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseXchainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) ParseXchainSynced(log types.Log) (*TaikoL1XchainSynced, error) { + event := new(TaikoL1XchainSynced) + if err := _TaikoL1.contract.UnpackLog(event, "XchainSynced", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/packages/relayer/IXchainSync.json b/packages/relayer/IXchainSync.json new file mode 100644 index 00000000000..67d717a6c08 --- /dev/null +++ b/packages/relayer/IXchainSync.json @@ -0,0 +1,65 @@ +[ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "srcHeight", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "signalRoot", + "type": "bytes32" + } + ], + "name": "XchainSynced", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "getXchainBlockHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "number", + "type": "uint256" + } + ], + "name": "getXchainSignalRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + } +] diff --git a/packages/relayer/TaikoL1.json b/packages/relayer/TaikoL1.json index 49d131b5910..42b98e1c439 100644 --- a/packages/relayer/TaikoL1.json +++ b/packages/relayer/TaikoL1.json @@ -1,12 +1,12 @@ [ { "inputs": [], - "name": "L1_0_FEE_BASE", + "name": "L1_1559_X_SCALE_TOO_LARGE", "type": "error" }, { "inputs": [], - "name": "L1_0_FEE_BASE", + "name": "L1_1559_Y_SCALE_TOO_LARGE", "type": "error" }, { @@ -16,217 +16,240 @@ }, { "inputs": [], - "name": "L1_ANCHOR_CALLDATA", + "name": "L1_ALREADY_PROVEN", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_DEST", + "name": "L1_BLOCK_ID", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_GAS_LIMIT", + "name": "L1_BLOCK_ID", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_RECEIPT_ADDR", + "name": "L1_BLOCK_ID", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_RECEIPT_DATA", + "name": "L1_CONTRACT_NOT_ALLOWED", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "L1_EVIDENCE_MISMATCH", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "expected", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "actual", + "type": "bytes32" + } + ], + "name": "L1_EVIDENCE_MISMATCH", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_RECEIPT_LOGS", + "name": "L1_FORK_CHOICE_NOT_FOUND", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_RECEIPT_PROOF", + "name": "L1_FORK_CHOICE_NOT_FOUND", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_RECEIPT_STATUS", + "name": "L1_INSUFFICIENT_ETHER", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_RECEIPT_TOPICS", + "name": "L1_INSUFFICIENT_TOKEN", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_SIG_R", + "name": "L1_INSUFFICIENT_TOKEN", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_SIG_S", + "name": "L1_INSUFFICIENT_TOKEN", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_TX_PROOF", + "name": "L1_INVALID_CONFIG", "type": "error" }, { "inputs": [], - "name": "L1_ANCHOR_TYPE", + "name": "L1_INVALID_CONFIG", "type": "error" }, { "inputs": [], - "name": "L1_BLOCK_NUMBER", + "name": "L1_INVALID_ETH_DEPOSIT", "type": "error" }, { "inputs": [], - "name": "L1_BLOCK_NUMBER", + "name": "L1_INVALID_EVIDENCE", "type": "error" }, { "inputs": [], - "name": "L1_CANNOT_BE_FIRST_PROVER", + "name": "L1_INVALID_EVIDENCE", "type": "error" }, { "inputs": [], - "name": "L1_COMMITTED", + "name": "L1_INVALID_L21559_PARAMS", "type": "error" }, { "inputs": [], - "name": "L1_CONTRACT_NOT_ALLOWED", + "name": "L1_INVALID_METADATA", "type": "error" }, { "inputs": [], - "name": "L1_DUP_PROVERS", + "name": "L1_INVALID_METADATA", "type": "error" }, { "inputs": [], - "name": "L1_EXTRA_DATA", + "name": "L1_INVALID_PARAM", "type": "error" }, { "inputs": [], - "name": "L1_GAS_LIMIT", + "name": "L1_INVALID_PROOF", "type": "error" }, { "inputs": [], - "name": "L1_ID", + "name": "L1_INVALID_PROOF", "type": "error" }, { "inputs": [], - "name": "L1_ID", + "name": "L1_NOT_ORACLE_PROVER", "type": "error" }, { "inputs": [], - "name": "L1_INPUT_SIZE", + "name": "L1_NOT_ORACLE_PROVER", "type": "error" }, { "inputs": [], - "name": "L1_INVALID_CONFIG", + "name": "L1_NOT_SOLO_PROPOSER", "type": "error" }, { "inputs": [], - "name": "L1_INVALID_CONFIG", + "name": "L1_NOT_SOLO_PROPOSER", "type": "error" }, { "inputs": [], - "name": "L1_INVALID_PARAM", + "name": "L1_ORACLE_DISABLED", "type": "error" }, { "inputs": [], - "name": "L1_METADATA_FIELD", + "name": "L1_ORACLE_DISABLED", "type": "error" }, { "inputs": [], - "name": "L1_META_MISMATCH", + "name": "L1_TOO_MANY_BLOCKS", "type": "error" }, { "inputs": [], - "name": "L1_NOT_COMMITTED", + "name": "L1_TOO_MANY_BLOCKS", "type": "error" }, { "inputs": [], - "name": "L1_NOT_ORACLE_PROVER", + "name": "L1_TX_LIST", "type": "error" }, { "inputs": [], - "name": "L1_PROOF_LENGTH", + "name": "L1_TX_LIST", "type": "error" }, { "inputs": [], - "name": "L1_PROVER", + "name": "L1_TX_LIST_HASH", "type": "error" }, { "inputs": [], - "name": "L1_SOLO_PROPOSER", + "name": "L1_TX_LIST_HASH", "type": "error" }, { "inputs": [], - "name": "L1_TOO_MANY_BLOCKS", + "name": "L1_TX_LIST_NOT_EXIST", "type": "error" }, { "inputs": [], - "name": "L1_TX_LIST", + "name": "L1_TX_LIST_NOT_EXIST", "type": "error" }, { "inputs": [], - "name": "L1_ZKP", + "name": "L1_TX_LIST_RANGE", "type": "error" }, { "inputs": [], - "name": "RESOLVER_DENIED", + "name": "L1_TX_LIST_RANGE", "type": "error" }, { "inputs": [], - "name": "RESOLVER_INVALID_ADDR", + "name": "Overflow", "type": "error" }, { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint64", - "name": "commitSlot", - "type": "uint64" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "commitHash", - "type": "bytes32" - } - ], - "name": "BlockCommitted", - "type": "event" + "inputs": [], + "name": "RESOLVER_DENIED", + "type": "error" + }, + { + "inputs": [], + "name": "RESOLVER_INVALID_ADDR", + "type": "error" }, { "anonymous": false, @@ -240,14 +263,19 @@ { "components": [ { - "internalType": "uint256", + "internalType": "uint64", "name": "id", - "type": "uint256" + "type": "uint64" }, { - "internalType": "uint256", + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "internalType": "uint64", "name": "l1Height", - "type": "uint256" + "type": "uint64" }, { "internalType": "bytes32", @@ -255,44 +283,66 @@ "type": "bytes32" }, { - "internalType": "address", - "name": "beneficiary", - "type": "address" + "internalType": "bytes32", + "name": "mixHash", + "type": "bytes32" }, { "internalType": "bytes32", - "name": "txListHash", + "name": "depositsRoot", "type": "bytes32" }, { "internalType": "bytes32", - "name": "mixHash", + "name": "txListHash", "type": "bytes32" }, { - "internalType": "bytes", - "name": "extraData", - "type": "bytes" + "internalType": "uint24", + "name": "txListByteStart", + "type": "uint24" }, { - "internalType": "uint64", + "internalType": "uint24", + "name": "txListByteEnd", + "type": "uint24" + }, + { + "internalType": "uint32", "name": "gasLimit", - "type": "uint64" + "type": "uint32" }, { - "internalType": "uint64", - "name": "timestamp", - "type": "uint64" + "internalType": "address", + "name": "beneficiary", + "type": "address" }, { - "internalType": "uint64", - "name": "commitHeight", - "type": "uint64" + "internalType": "uint8", + "name": "cacheTxListInfo", + "type": "uint8" }, { - "internalType": "uint64", - "name": "commitSlot", - "type": "uint64" + "internalType": "address", + "name": "treasure", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint96", + "name": "amount", + "type": "uint96" + } + ], + "internalType": "struct TaikoData.EthDeposit[]", + "name": "depositsProcessed", + "type": "tuple[]" } ], "indexed": false, @@ -327,15 +377,15 @@ }, { "indexed": false, - "internalType": "address", - "name": "prover", - "type": "address" + "internalType": "bytes32", + "name": "signalRoot", + "type": "bytes32" }, { "indexed": false, - "internalType": "uint64", - "name": "provenAt", - "type": "uint64" + "internalType": "address", + "name": "prover", + "type": "address" } ], "name": "BlockProven", @@ -364,19 +414,25 @@ "anonymous": false, "inputs": [ { - "indexed": true, - "internalType": "uint256", - "name": "srcHeight", - "type": "uint256" - }, - { + "components": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint96", + "name": "amount", + "type": "uint96" + } + ], "indexed": false, - "internalType": "bytes32", - "name": "srcHash", - "type": "bytes32" + "internalType": "struct TaikoData.EthDeposit", + "name": "deposit", + "type": "tuple" } ], - "name": "HeaderSynced", + "name": "EthDeposited", "type": "event" }, { @@ -411,6 +467,31 @@ "name": "OwnershipTransferred", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "srcHeight", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "blockHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "signalRoot", + "type": "bytes32" + } + ], + "name": "XchainSynced", + "type": "event" + }, { "inputs": [], "name": "addressManager", @@ -424,22 +505,58 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "depositEtherToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, { "inputs": [ { - "internalType": "uint64", - "name": "commitSlot", - "type": "uint64" - }, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "depositTaikoToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "blockId", + "type": "uint256" + } + ], + "name": "getBlock", + "outputs": [ { "internalType": "bytes32", - "name": "commitHash", + "name": "_metaHash", "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_deposit", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_proposer", + "type": "address" + }, + { + "internalType": "uint64", + "name": "_proposedAt", + "type": "uint64" } ], - "name": "commitBlock", - "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { @@ -447,9 +564,9 @@ "name": "getBlockFee", "outputs": [ { - "internalType": "uint256", + "internalType": "uint64", "name": "", - "type": "uint256" + "type": "uint64" } ], "stateMutability": "view", @@ -473,17 +590,17 @@ }, { "internalType": "uint256", - "name": "maxNumVerifiedBlocks", + "name": "ringBufferSize", "type": "uint256" }, { "internalType": "uint256", - "name": "maxVerificationsPerTx", + "name": "maxNumVerifiedBlocks", "type": "uint256" }, { "internalType": "uint256", - "name": "commitConfirmations", + "name": "maxVerificationsPerTx", "type": "uint256" }, { @@ -508,77 +625,52 @@ }, { "internalType": "uint256", - "name": "anchorTxGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "slotSmoothingFactor", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "proposerDepositPctg", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "basefeeMAF", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blockTimeMAF", + "name": "txListCacheExpiry", "type": "uint256" }, { "internalType": "uint256", - "name": "proofTimeMAF", + "name": "proofCooldownPeriod", "type": "uint256" }, { "internalType": "uint64", - "name": "feeMultiplierPctg", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "feeGracePeriodPctg", + "name": "minEthDepositsPerBlock", "type": "uint64" }, { "internalType": "uint64", - "name": "feeMaxPctg", + "name": "maxEthDepositsPerBlock", "type": "uint64" }, { - "internalType": "uint64", - "name": "blockTimeCap", - "type": "uint64" + "internalType": "uint96", + "name": "maxEthDepositAmount", + "type": "uint96" }, { - "internalType": "uint64", - "name": "proofTimeCap", - "type": "uint64" + "internalType": "uint96", + "name": "minEthDepositAmount", + "type": "uint96" }, { "internalType": "uint64", - "name": "bootstrapDiscountHalvingPeriod", + "name": "proofTimeTarget", "type": "uint64" }, { - "internalType": "bool", - "name": "enableTokenomics", - "type": "bool" + "internalType": "uint8", + "name": "adjustmentQuotient", + "type": "uint8" }, { "internalType": "bool", - "name": "enablePublicInputsCheck", + "name": "relaySignalRoot", "type": "bool" }, { "internalType": "bool", - "name": "enableAnchorValidation", + "name": "enableSoloProposer", "type": "bool" } ], @@ -594,33 +686,53 @@ "inputs": [ { "internalType": "uint256", - "name": "id", + "name": "blockId", "type": "uint256" }, { "internalType": "bytes32", "name": "parentHash", "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "parentGasUsed", + "type": "uint32" } ], "name": "getForkChoice", "outputs": [ { "components": [ + { + "internalType": "bytes32", + "name": "key", + "type": "bytes32" + }, { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" }, { - "internalType": "address", - "name": "prover", - "type": "address" + "internalType": "bytes32", + "name": "signalRoot", + "type": "bytes32" }, { "internalType": "uint64", "name": "provenAt", "type": "uint64" + }, + { + "internalType": "address", + "name": "prover", + "type": "address" + }, + { + "internalType": "uint32", + "name": "gasUsed", + "type": "uint32" } ], "internalType": "struct TaikoData.ForkChoice", @@ -632,20 +744,7 @@ "type": "function" }, { - "inputs": [], - "name": "getLatestSyncedHeader", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ + "inputs": [ { "internalType": "uint64", "name": "provenAt", @@ -660,69 +759,9 @@ "name": "getProofReward", "outputs": [ { - "internalType": "uint256", - "name": "reward", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getProposedBlock", - "outputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "metaHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "deposit", - "type": "uint256" - }, - { - "internalType": "address", - "name": "proposer", - "type": "address" - }, - { - "internalType": "uint64", - "name": "proposedAt", - "type": "uint64" - } - ], - "internalType": "struct TaikoData.ProposedBlock", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - } - ], - "name": "getBalance", - "outputs": [ - { - "internalType": "uint256", + "internalType": "uint64", "name": "", - "type": "uint256" + "type": "uint64" } ], "stateMutability": "view", @@ -735,9 +774,14 @@ { "components": [ { - "internalType": "uint256", + "internalType": "uint64", "name": "basefee", - "type": "uint256" + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "accBlockFees", + "type": "uint64" }, { "internalType": "uint64", @@ -751,36 +795,36 @@ }, { "internalType": "uint64", - "name": "nextBlockId", + "name": "numBlocks", "type": "uint64" }, { "internalType": "uint64", - "name": "lastProposedAt", + "name": "proofTimeIssued", "type": "uint64" }, { "internalType": "uint64", - "name": "avgBlockTime", + "name": "lastVerifiedBlockId", "type": "uint64" }, { "internalType": "uint64", - "name": "latestVerifiedHeight", + "name": "accProposedAt", "type": "uint64" }, { "internalType": "uint64", - "name": "lastBlockId", + "name": "nextEthDepositToProcess", "type": "uint64" }, { "internalType": "uint64", - "name": "avgProofTime", + "name": "numEthDeposits", "type": "uint64" } ], - "internalType": "struct LibUtils.StateVariables", + "internalType": "struct TaikoData.StateVariables", "name": "", "type": "tuple" } @@ -791,17 +835,17 @@ { "inputs": [ { - "internalType": "uint256", - "name": "number", - "type": "uint256" + "internalType": "address", + "name": "addr", + "type": "address" } ], - "name": "getSyncedHeader", + "name": "getTaikoTokenBalance", "outputs": [ { - "internalType": "bytes32", + "internalType": "uint256", "name": "", - "type": "bytes32" + "type": "uint256" } ], "stateMutability": "view", @@ -810,63 +854,55 @@ { "inputs": [ { - "internalType": "address", - "name": "_addressManager", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_genesisBlockHash", - "type": "bytes32" - }, + "internalType": "uint16", + "name": "id", + "type": "uint16" + } + ], + "name": "getVerifierName", + "outputs": [ { - "internalType": "uint256", - "name": "_basefee", - "type": "uint256" + "internalType": "string", + "name": "", + "type": "string" } ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", - "name": "commitSlot", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "commitHeight", + "name": "blockId", "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "commitHash", - "type": "bytes32" } ], - "name": "isCommitValid", + "name": "getXchainBlockHash", "outputs": [ { - "internalType": "bool", + "internalType": "bytes32", "name": "", - "type": "bool" + "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { - "inputs": [], - "name": "owner", + "inputs": [ + { + "internalType": "uint256", + "name": "blockId", + "type": "uint256" + } + ], + "name": "getXchainSignalRoot", "outputs": [ { - "internalType": "address", + "internalType": "bytes32", "name": "", - "type": "address" + "type": "bytes32" } ], "stateMutability": "view", @@ -875,31 +911,149 @@ { "inputs": [ { - "internalType": "bytes[]", - "name": "inputs", - "type": "bytes[]" + "internalType": "address", + "name": "_addressManager", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_genesisBlockHash", + "type": "bytes32" + }, + { + "internalType": "uint64", + "name": "_initBasefee", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "_initProofTimeIssued", + "type": "uint64" } ], - "name": "proposeBlock", + "name": "init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { - "internalType": "uint256", - "name": "blockId", - "type": "uint256" + "internalType": "bytes", + "name": "input", + "type": "bytes" }, { - "internalType": "bytes[]", - "name": "inputs", - "type": "bytes[]" + "internalType": "bytes", + "name": "txList", + "type": "bytes" + } + ], + "name": "proposeBlock", + "outputs": [ + { + "components": [ + { + "internalType": "uint64", + "name": "id", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "timestamp", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "l1Height", + "type": "uint64" + }, + { + "internalType": "bytes32", + "name": "l1Hash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "mixHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "depositsRoot", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "txListHash", + "type": "bytes32" + }, + { + "internalType": "uint24", + "name": "txListByteStart", + "type": "uint24" + }, + { + "internalType": "uint24", + "name": "txListByteEnd", + "type": "uint24" + }, + { + "internalType": "uint32", + "name": "gasLimit", + "type": "uint32" + }, + { + "internalType": "address", + "name": "beneficiary", + "type": "address" + }, + { + "internalType": "uint8", + "name": "cacheTxListInfo", + "type": "uint8" + }, + { + "internalType": "address", + "name": "treasure", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint96", + "name": "amount", + "type": "uint96" + } + ], + "internalType": "struct TaikoData.EthDeposit[]", + "name": "depositsProcessed", + "type": "tuple[]" + } + ], + "internalType": "struct TaikoData.BlockMetadata", + "name": "meta", + "type": "tuple" } ], - "name": "proveBlock", - "outputs": [], "stateMutability": "nonpayable", "type": "function" }, @@ -911,12 +1065,12 @@ "type": "uint256" }, { - "internalType": "bytes[]", - "name": "inputs", - "type": "bytes[]" + "internalType": "bytes", + "name": "input", + "type": "bytes" } ], - "name": "proveBlockInvalid", + "name": "proveBlock", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -982,43 +1136,14 @@ "type": "function" }, { - "inputs": [ + "inputs": [], + "name": "state", + "outputs": [ { "internalType": "bytes32", - "name": "hash", + "name": "staticRefs", "type": "bytes32" }, - { - "internalType": "uint8", - "name": "k", - "type": "uint8" - } - ], - "name": "signWithGoldenTouch", - "outputs": [ - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "r", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "s", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "state", - "outputs": [ { "internalType": "uint64", "name": "genesisHeight", @@ -1031,57 +1156,52 @@ }, { "internalType": "uint64", - "name": "__reservedA1", + "name": "__reserved71", "type": "uint64" }, { "internalType": "uint64", - "name": "__reservedA2", + "name": "__reserved72", "type": "uint64" }, - { - "internalType": "uint256", - "name": "basefee", - "type": "uint256" - }, { "internalType": "uint64", - "name": "nextBlockId", + "name": "accProposedAt", "type": "uint64" }, { "internalType": "uint64", - "name": "lastProposedAt", + "name": "accBlockFees", "type": "uint64" }, { "internalType": "uint64", - "name": "avgBlockTime", + "name": "numBlocks", "type": "uint64" }, { "internalType": "uint64", - "name": "__avgGasLimit", + "name": "nextEthDepositToProcess", "type": "uint64" }, { "internalType": "uint64", - "name": "latestVerifiedHeight", + "name": "basefee", "type": "uint64" }, { "internalType": "uint64", - "name": "lastBlockId", + "name": "proofTimeIssued", "type": "uint64" }, { "internalType": "uint64", - "name": "avgProofTime", + "name": "lastVerifiedBlockId", "type": "uint64" }, { "internalType": "uint64", - "name": "__reservedC1", + "name": "__reserved91", "type": "uint64" } ], @@ -1115,10 +1235,20 @@ "type": "function" }, { - "inputs": [], - "name": "withdrawBalance", + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdrawTaikoToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" } ] diff --git a/packages/relayer/TokenVault.json b/packages/relayer/TokenVault.json index b2e073ee30f..c300e68d278 100644 --- a/packages/relayer/TokenVault.json +++ b/packages/relayer/TokenVault.json @@ -19,11 +19,6 @@ "name": "TOKENVAULT_INVALID_AMOUNT", "type": "error" }, - { - "inputs": [], - "name": "TOKENVAULT_INVALID_CALL_VALUE", - "type": "error" - }, { "inputs": [], "name": "TOKENVAULT_INVALID_OWNER", @@ -681,44 +676,6 @@ "stateMutability": "payable", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "destChainId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "processingFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - }, - { - "internalType": "string", - "name": "memo", - "type": "string" - } - ], - "name": "sendEther", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, { "inputs": [ { diff --git a/packages/relayer/abigen.sh b/packages/relayer/abigen.sh index be749e32307..9b1918aa35e 100755 --- a/packages/relayer/abigen.sh +++ b/packages/relayer/abigen.sh @@ -5,9 +5,9 @@ if [ ! -d "../protocol/artifacts" ]; then exit 1 fi -paths=("bridge/TokenVault.sol" "bridge/Bridge.sol" "common/IHeaderSync.sol" "L2/TaikoL2.sol" "L1/TaikoL1.sol") +paths=("bridge/TokenVault.sol" "bridge/Bridge.sol" "common/IXchainSync.sol" "L2/TaikoL2.sol" "L1/TaikoL1.sol") -names=("TokenVault" "Bridge" "IHeaderSync" "TaikoL2" "TaikoL1") +names=("TokenVault" "Bridge" "IXchainSync" "TaikoL2" "TaikoL1") for (( i = 0; i < ${#paths[@]}; ++i )); do diff --git a/packages/relayer/contracts/iheadersync/IHeaderSync.go b/packages/relayer/contracts/iheadersync/IHeaderSync.go deleted file mode 100644 index 01161ba5fb6..00000000000 --- a/packages/relayer/contracts/iheadersync/IHeaderSync.go +++ /dev/null @@ -1,388 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package iheadersync - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IHeaderSyncMetaData contains all meta data concerning the IHeaderSync contract. -var IHeaderSyncMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", -} - -// IHeaderSyncABI is the input ABI used to generate the binding from. -// Deprecated: Use IHeaderSyncMetaData.ABI instead. -var IHeaderSyncABI = IHeaderSyncMetaData.ABI - -// IHeaderSync is an auto generated Go binding around an Ethereum contract. -type IHeaderSync struct { - IHeaderSyncCaller // Read-only binding to the contract - IHeaderSyncTransactor // Write-only binding to the contract - IHeaderSyncFilterer // Log filterer for contract events -} - -// IHeaderSyncCaller is an auto generated read-only Go binding around an Ethereum contract. -type IHeaderSyncCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IHeaderSyncTransactor is an auto generated write-only Go binding around an Ethereum contract. -type IHeaderSyncTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IHeaderSyncFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IHeaderSyncFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IHeaderSyncSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IHeaderSyncSession struct { - Contract *IHeaderSync // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IHeaderSyncCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IHeaderSyncCallerSession struct { - Contract *IHeaderSyncCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IHeaderSyncTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IHeaderSyncTransactorSession struct { - Contract *IHeaderSyncTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IHeaderSyncRaw is an auto generated low-level Go binding around an Ethereum contract. -type IHeaderSyncRaw struct { - Contract *IHeaderSync // Generic contract binding to access the raw methods on -} - -// IHeaderSyncCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IHeaderSyncCallerRaw struct { - Contract *IHeaderSyncCaller // Generic read-only contract binding to access the raw methods on -} - -// IHeaderSyncTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IHeaderSyncTransactorRaw struct { - Contract *IHeaderSyncTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewIHeaderSync creates a new instance of IHeaderSync, bound to a specific deployed contract. -func NewIHeaderSync(address common.Address, backend bind.ContractBackend) (*IHeaderSync, error) { - contract, err := bindIHeaderSync(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IHeaderSync{IHeaderSyncCaller: IHeaderSyncCaller{contract: contract}, IHeaderSyncTransactor: IHeaderSyncTransactor{contract: contract}, IHeaderSyncFilterer: IHeaderSyncFilterer{contract: contract}}, nil -} - -// NewIHeaderSyncCaller creates a new read-only instance of IHeaderSync, bound to a specific deployed contract. -func NewIHeaderSyncCaller(address common.Address, caller bind.ContractCaller) (*IHeaderSyncCaller, error) { - contract, err := bindIHeaderSync(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IHeaderSyncCaller{contract: contract}, nil -} - -// NewIHeaderSyncTransactor creates a new write-only instance of IHeaderSync, bound to a specific deployed contract. -func NewIHeaderSyncTransactor(address common.Address, transactor bind.ContractTransactor) (*IHeaderSyncTransactor, error) { - contract, err := bindIHeaderSync(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IHeaderSyncTransactor{contract: contract}, nil -} - -// NewIHeaderSyncFilterer creates a new log filterer instance of IHeaderSync, bound to a specific deployed contract. -func NewIHeaderSyncFilterer(address common.Address, filterer bind.ContractFilterer) (*IHeaderSyncFilterer, error) { - contract, err := bindIHeaderSync(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IHeaderSyncFilterer{contract: contract}, nil -} - -// bindIHeaderSync binds a generic wrapper to an already deployed contract. -func bindIHeaderSync(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IHeaderSyncMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IHeaderSync *IHeaderSyncRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IHeaderSync.Contract.IHeaderSyncCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IHeaderSync *IHeaderSyncRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IHeaderSync.Contract.IHeaderSyncTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IHeaderSync *IHeaderSyncRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IHeaderSync.Contract.IHeaderSyncTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IHeaderSync *IHeaderSyncCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IHeaderSync.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IHeaderSync *IHeaderSyncTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IHeaderSync.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IHeaderSync *IHeaderSyncTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IHeaderSync.Contract.contract.Transact(opts, method, params...) -} - -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. -// -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_IHeaderSync *IHeaderSyncCaller) GetLatestSyncedHeader(opts *bind.CallOpts) ([32]byte, error) { - var out []interface{} - err := _IHeaderSync.contract.Call(opts, &out, "getLatestSyncedHeader") - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. -// -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_IHeaderSync *IHeaderSyncSession) GetLatestSyncedHeader() ([32]byte, error) { - return _IHeaderSync.Contract.GetLatestSyncedHeader(&_IHeaderSync.CallOpts) -} - -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. -// -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_IHeaderSync *IHeaderSyncCallerSession) GetLatestSyncedHeader() ([32]byte, error) { - return _IHeaderSync.Contract.GetLatestSyncedHeader(&_IHeaderSync.CallOpts) -} - -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. -// -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_IHeaderSync *IHeaderSyncCaller) GetSyncedHeader(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { - var out []interface{} - err := _IHeaderSync.contract.Call(opts, &out, "getSyncedHeader", number) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. -// -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_IHeaderSync *IHeaderSyncSession) GetSyncedHeader(number *big.Int) ([32]byte, error) { - return _IHeaderSync.Contract.GetSyncedHeader(&_IHeaderSync.CallOpts, number) -} - -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. -// -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_IHeaderSync *IHeaderSyncCallerSession) GetSyncedHeader(number *big.Int) ([32]byte, error) { - return _IHeaderSync.Contract.GetSyncedHeader(&_IHeaderSync.CallOpts, number) -} - -// IHeaderSyncHeaderSyncedIterator is returned from FilterHeaderSynced and is used to iterate over the raw logs and unpacked data for HeaderSynced events raised by the IHeaderSync contract. -type IHeaderSyncHeaderSyncedIterator struct { - Event *IHeaderSyncHeaderSynced // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IHeaderSyncHeaderSyncedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IHeaderSyncHeaderSynced) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IHeaderSyncHeaderSynced) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IHeaderSyncHeaderSyncedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IHeaderSyncHeaderSyncedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IHeaderSyncHeaderSynced represents a HeaderSynced event raised by the IHeaderSync contract. -type IHeaderSyncHeaderSynced struct { - SrcHeight *big.Int - SrcHash [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterHeaderSynced is a free log retrieval operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. -// -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_IHeaderSync *IHeaderSyncFilterer) FilterHeaderSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*IHeaderSyncHeaderSyncedIterator, error) { - - var srcHeightRule []interface{} - for _, srcHeightItem := range srcHeight { - srcHeightRule = append(srcHeightRule, srcHeightItem) - } - - logs, sub, err := _IHeaderSync.contract.FilterLogs(opts, "HeaderSynced", srcHeightRule) - if err != nil { - return nil, err - } - return &IHeaderSyncHeaderSyncedIterator{contract: _IHeaderSync.contract, event: "HeaderSynced", logs: logs, sub: sub}, nil -} - -// WatchHeaderSynced is a free log subscription operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. -// -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_IHeaderSync *IHeaderSyncFilterer) WatchHeaderSynced(opts *bind.WatchOpts, sink chan<- *IHeaderSyncHeaderSynced, srcHeight []*big.Int) (event.Subscription, error) { - - var srcHeightRule []interface{} - for _, srcHeightItem := range srcHeight { - srcHeightRule = append(srcHeightRule, srcHeightItem) - } - - logs, sub, err := _IHeaderSync.contract.WatchLogs(opts, "HeaderSynced", srcHeightRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IHeaderSyncHeaderSynced) - if err := _IHeaderSync.contract.UnpackLog(event, "HeaderSynced", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseHeaderSynced is a log parse operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. -// -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_IHeaderSync *IHeaderSyncFilterer) ParseHeaderSynced(log types.Log) (*IHeaderSyncHeaderSynced, error) { - event := new(IHeaderSyncHeaderSynced) - if err := _IHeaderSync.contract.UnpackLog(event, "HeaderSynced", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/packages/relayer/contracts/ixchainsync/IXchainSync.go b/packages/relayer/contracts/ixchainsync/IXchainSync.go new file mode 100644 index 00000000000..d6b36d27399 --- /dev/null +++ b/packages/relayer/contracts/ixchainsync/IXchainSync.go @@ -0,0 +1,389 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package ixchainsync + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription + _ = abi.ConvertType +) + +// IXchainSyncMetaData contains all meta data concerning the IXchainSync contract. +var IXchainSyncMetaData = &bind.MetaData{ + ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"XchainSynced\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getXchainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getXchainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", +} + +// IXchainSyncABI is the input ABI used to generate the binding from. +// Deprecated: Use IXchainSyncMetaData.ABI instead. +var IXchainSyncABI = IXchainSyncMetaData.ABI + +// IXchainSync is an auto generated Go binding around an Ethereum contract. +type IXchainSync struct { + IXchainSyncCaller // Read-only binding to the contract + IXchainSyncTransactor // Write-only binding to the contract + IXchainSyncFilterer // Log filterer for contract events +} + +// IXchainSyncCaller is an auto generated read-only Go binding around an Ethereum contract. +type IXchainSyncCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// IXchainSyncTransactor is an auto generated write-only Go binding around an Ethereum contract. +type IXchainSyncTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// IXchainSyncFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type IXchainSyncFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// IXchainSyncSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type IXchainSyncSession struct { + Contract *IXchainSync // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// IXchainSyncCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type IXchainSyncCallerSession struct { + Contract *IXchainSyncCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// IXchainSyncTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type IXchainSyncTransactorSession struct { + Contract *IXchainSyncTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// IXchainSyncRaw is an auto generated low-level Go binding around an Ethereum contract. +type IXchainSyncRaw struct { + Contract *IXchainSync // Generic contract binding to access the raw methods on +} + +// IXchainSyncCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type IXchainSyncCallerRaw struct { + Contract *IXchainSyncCaller // Generic read-only contract binding to access the raw methods on +} + +// IXchainSyncTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type IXchainSyncTransactorRaw struct { + Contract *IXchainSyncTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewIXchainSync creates a new instance of IXchainSync, bound to a specific deployed contract. +func NewIXchainSync(address common.Address, backend bind.ContractBackend) (*IXchainSync, error) { + contract, err := bindIXchainSync(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &IXchainSync{IXchainSyncCaller: IXchainSyncCaller{contract: contract}, IXchainSyncTransactor: IXchainSyncTransactor{contract: contract}, IXchainSyncFilterer: IXchainSyncFilterer{contract: contract}}, nil +} + +// NewIXchainSyncCaller creates a new read-only instance of IXchainSync, bound to a specific deployed contract. +func NewIXchainSyncCaller(address common.Address, caller bind.ContractCaller) (*IXchainSyncCaller, error) { + contract, err := bindIXchainSync(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &IXchainSyncCaller{contract: contract}, nil +} + +// NewIXchainSyncTransactor creates a new write-only instance of IXchainSync, bound to a specific deployed contract. +func NewIXchainSyncTransactor(address common.Address, transactor bind.ContractTransactor) (*IXchainSyncTransactor, error) { + contract, err := bindIXchainSync(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &IXchainSyncTransactor{contract: contract}, nil +} + +// NewIXchainSyncFilterer creates a new log filterer instance of IXchainSync, bound to a specific deployed contract. +func NewIXchainSyncFilterer(address common.Address, filterer bind.ContractFilterer) (*IXchainSyncFilterer, error) { + contract, err := bindIXchainSync(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &IXchainSyncFilterer{contract: contract}, nil +} + +// bindIXchainSync binds a generic wrapper to an already deployed contract. +func bindIXchainSync(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := IXchainSyncMetaData.GetAbi() + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_IXchainSync *IXchainSyncRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _IXchainSync.Contract.IXchainSyncCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_IXchainSync *IXchainSyncRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _IXchainSync.Contract.IXchainSyncTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_IXchainSync *IXchainSyncRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _IXchainSync.Contract.IXchainSyncTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_IXchainSync *IXchainSyncCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _IXchainSync.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_IXchainSync *IXchainSyncTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _IXchainSync.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_IXchainSync *IXchainSyncTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _IXchainSync.Contract.contract.Transact(opts, method, params...) +} + +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// +// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) +func (_IXchainSync *IXchainSyncCaller) GetXchainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { + var out []interface{} + err := _IXchainSync.contract.Call(opts, &out, "getXchainBlockHash", number) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// +// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) +func (_IXchainSync *IXchainSyncSession) GetXchainBlockHash(number *big.Int) ([32]byte, error) { + return _IXchainSync.Contract.GetXchainBlockHash(&_IXchainSync.CallOpts, number) +} + +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// +// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) +func (_IXchainSync *IXchainSyncCallerSession) GetXchainBlockHash(number *big.Int) ([32]byte, error) { + return _IXchainSync.Contract.GetXchainBlockHash(&_IXchainSync.CallOpts, number) +} + +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// +// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) +func (_IXchainSync *IXchainSyncCaller) GetXchainSignalRoot(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { + var out []interface{} + err := _IXchainSync.contract.Call(opts, &out, "getXchainSignalRoot", number) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// +// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) +func (_IXchainSync *IXchainSyncSession) GetXchainSignalRoot(number *big.Int) ([32]byte, error) { + return _IXchainSync.Contract.GetXchainSignalRoot(&_IXchainSync.CallOpts, number) +} + +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// +// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) +func (_IXchainSync *IXchainSyncCallerSession) GetXchainSignalRoot(number *big.Int) ([32]byte, error) { + return _IXchainSync.Contract.GetXchainSignalRoot(&_IXchainSync.CallOpts, number) +} + +// IXchainSyncXchainSyncedIterator is returned from FilterXchainSynced and is used to iterate over the raw logs and unpacked data for XchainSynced events raised by the IXchainSync contract. +type IXchainSyncXchainSyncedIterator struct { + Event *IXchainSyncXchainSynced // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *IXchainSyncXchainSyncedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(IXchainSyncXchainSynced) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(IXchainSyncXchainSynced) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *IXchainSyncXchainSyncedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *IXchainSyncXchainSyncedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// IXchainSyncXchainSynced represents a XchainSynced event raised by the IXchainSync contract. +type IXchainSyncXchainSynced struct { + SrcHeight *big.Int + BlockHash [32]byte + SignalRoot [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterXchainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_IXchainSync *IXchainSyncFilterer) FilterXchainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*IXchainSyncXchainSyncedIterator, error) { + + var srcHeightRule []interface{} + for _, srcHeightItem := range srcHeight { + srcHeightRule = append(srcHeightRule, srcHeightItem) + } + + logs, sub, err := _IXchainSync.contract.FilterLogs(opts, "XchainSynced", srcHeightRule) + if err != nil { + return nil, err + } + return &IXchainSyncXchainSyncedIterator{contract: _IXchainSync.contract, event: "XchainSynced", logs: logs, sub: sub}, nil +} + +// WatchXchainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_IXchainSync *IXchainSyncFilterer) WatchXchainSynced(opts *bind.WatchOpts, sink chan<- *IXchainSyncXchainSynced, srcHeight []*big.Int) (event.Subscription, error) { + + var srcHeightRule []interface{} + for _, srcHeightItem := range srcHeight { + srcHeightRule = append(srcHeightRule, srcHeightItem) + } + + logs, sub, err := _IXchainSync.contract.WatchLogs(opts, "XchainSynced", srcHeightRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(IXchainSyncXchainSynced) + if err := _IXchainSync.contract.UnpackLog(event, "XchainSynced", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseXchainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_IXchainSync *IXchainSyncFilterer) ParseXchainSynced(log types.Log) (*IXchainSyncXchainSynced, error) { + event := new(IXchainSyncXchainSynced) + if err := _IXchainSync.contract.UnpackLog(event, "XchainSynced", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/packages/relayer/contracts/taikol1/TaikoL1.go b/packages/relayer/contracts/taikol1/TaikoL1.go index f1ae8e258aa..7f5b3a16a0f 100644 --- a/packages/relayer/contracts/taikol1/TaikoL1.go +++ b/packages/relayer/contracts/taikol1/TaikoL1.go @@ -29,81 +29,80 @@ var ( _ = abi.ConvertType ) -// LibUtilsStateVariables is an auto generated low-level Go binding around an user-defined struct. -type LibUtilsStateVariables struct { - Basefee *big.Int - GenesisHeight uint64 - GenesisTimestamp uint64 - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 -} - // TaikoDataBlockMetadata is an auto generated low-level Go binding around an user-defined struct. type TaikoDataBlockMetadata struct { - Id *big.Int - L1Height *big.Int - L1Hash [32]byte - Beneficiary common.Address - TxListHash [32]byte - MixHash [32]byte - ExtraData []byte - GasLimit uint64 - Timestamp uint64 - CommitHeight uint64 - CommitSlot uint64 + Id uint64 + Timestamp uint64 + L1Height uint64 + L1Hash [32]byte + MixHash [32]byte + DepositsRoot [32]byte + TxListHash [32]byte + TxListByteStart *big.Int + TxListByteEnd *big.Int + GasLimit uint32 + Beneficiary common.Address + CacheTxListInfo uint8 + Treasure common.Address + DepositsProcessed []TaikoDataEthDeposit } // TaikoDataConfig is an auto generated low-level Go binding around an user-defined struct. type TaikoDataConfig struct { - ChainId *big.Int - MaxNumBlocks *big.Int - BlockHashHistory *big.Int - MaxVerificationsPerTx *big.Int - CommitConfirmations *big.Int - BlockMaxGasLimit *big.Int - MaxTransactionsPerBlock *big.Int - MaxBytesPerTxList *big.Int - MinTxGasLimit *big.Int - AnchorTxGasLimit *big.Int - SlotSmoothingFactor *big.Int - RewardBurnBips *big.Int - ProposerDepositPctg *big.Int - BasefeeMAF *big.Int - BlockTimeMAF *big.Int - ProofTimeMAF *big.Int - RewardMultiplierPctg uint64 - FeeGracePeriodPctg uint64 - FeeMaxPeriodPctg uint64 - BlockTimeCap uint64 - ProofTimeCap uint64 - BootstrapDiscountHalvingPeriod uint64 - EnableTokenomics bool - EnablePublicInputsCheck bool - EnableAnchorValidation bool + ChainId *big.Int + MaxNumProposedBlocks *big.Int + RingBufferSize *big.Int + MaxNumVerifiedBlocks *big.Int + MaxVerificationsPerTx *big.Int + BlockMaxGasLimit *big.Int + MaxTransactionsPerBlock *big.Int + MaxBytesPerTxList *big.Int + MinTxGasLimit *big.Int + TxListCacheExpiry *big.Int + ProofCooldownPeriod *big.Int + MinEthDepositsPerBlock uint64 + MaxEthDepositsPerBlock uint64 + MaxEthDepositAmount *big.Int + MinEthDepositAmount *big.Int + ProofTimeTarget uint64 + AdjustmentQuotient uint8 + RelaySignalRoot bool + EnableSoloProposer bool +} + +// TaikoDataEthDeposit is an auto generated low-level Go binding around an user-defined struct. +type TaikoDataEthDeposit struct { + Recipient common.Address + Amount *big.Int } // TaikoDataForkChoice is an auto generated low-level Go binding around an user-defined struct. type TaikoDataForkChoice struct { - BlockHash [32]byte - Prover common.Address - ProvenAt uint64 + Key [32]byte + BlockHash [32]byte + SignalRoot [32]byte + ProvenAt uint64 + Prover common.Address + GasUsed uint32 } -// TaikoDataProposedBlock is an auto generated low-level Go binding around an user-defined struct. -type TaikoDataProposedBlock struct { - MetaHash [32]byte - Deposit *big.Int - Proposer common.Address - ProposedAt uint64 +// TaikoDataStateVariables is an auto generated low-level Go binding around an user-defined struct. +type TaikoDataStateVariables struct { + Basefee uint64 + AccBlockFees uint64 + GenesisHeight uint64 + GenesisTimestamp uint64 + NumBlocks uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + AccProposedAt uint64 + NextEthDepositToProcess uint64 + NumEthDeposits uint64 } // TaikoL1MetaData contains all meta data concerning the TaikoL1 contract. var TaikoL1MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"L1_0_FEE_BASE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_CALLDATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_DEST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_ADDR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_LOGS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_TOPICS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_R\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_S\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TX_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TYPE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CANNOT_BE_FIRST_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONFLICT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_DUP_PROVERS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_EXTRA_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INPUT_SIZE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_METADATA_FIELD\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_META_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROOF_LENGTH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ZKP\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"BlockCommitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"commitBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slotSmoothingFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basefeeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"feeMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getProposedBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ProposedBlock\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"}],\"internalType\":\"structLibUtils.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_basefee\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commitSlot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitHeight\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"isCommitValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proposeBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlockInvalid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"k\",\"type\":\"uint8\"}],\"name\":\"signWithGoldenTouch\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"r\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA1\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA2\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__avgGasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedC1\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[],\"name\":\"L1_1559_X_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_1559_Y_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_ETHER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_ETH_DEPOSIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_L21559_PARAMS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit\",\"name\":\"deposit\",\"type\":\"tuple\"}],\"name\":\"EthDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"XchainSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositEtherToL2\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getBlock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_proposedAt\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ringBufferSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"txListCacheExpiry\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofCooldownPeriod\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"maxEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"minEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeTarget\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"adjustmentQuotient\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"relaySignalRoot\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableSoloProposer\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"parentGasUsed\",\"type\":\"uint32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"gasUsed\",\"type\":\"uint32\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEthDeposits\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTaikoTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"id\",\"type\":\"uint16\"}],\"name\":\"getVerifierName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getXchainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getXchainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_initBasefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_initProofTimeIssued\",\"type\":\"uint64\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"}],\"name\":\"proposeBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"staticRefs\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved71\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved72\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved91\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", } // TaikoL1ABI is the input ABI used to generate the binding from. @@ -283,18 +282,73 @@ func (_TaikoL1 *TaikoL1CallerSession) AddressManager() (common.Address, error) { return _TaikoL1.Contract.AddressManager(&_TaikoL1.CallOpts) } +// GetBlock is a free data retrieval call binding the contract method 0x04c07569. +// +// Solidity: function getBlock(uint256 blockId) view returns(bytes32 _metaHash, uint256 _deposit, address _proposer, uint64 _proposedAt) +func (_TaikoL1 *TaikoL1Caller) GetBlock(opts *bind.CallOpts, blockId *big.Int) (struct { + MetaHash [32]byte + Deposit *big.Int + Proposer common.Address + ProposedAt uint64 +}, error) { + var out []interface{} + err := _TaikoL1.contract.Call(opts, &out, "getBlock", blockId) + + outstruct := new(struct { + MetaHash [32]byte + Deposit *big.Int + Proposer common.Address + ProposedAt uint64 + }) + if err != nil { + return *outstruct, err + } + + outstruct.MetaHash = *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + outstruct.Deposit = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.Proposer = *abi.ConvertType(out[2], new(common.Address)).(*common.Address) + outstruct.ProposedAt = *abi.ConvertType(out[3], new(uint64)).(*uint64) + + return *outstruct, err + +} + +// GetBlock is a free data retrieval call binding the contract method 0x04c07569. +// +// Solidity: function getBlock(uint256 blockId) view returns(bytes32 _metaHash, uint256 _deposit, address _proposer, uint64 _proposedAt) +func (_TaikoL1 *TaikoL1Session) GetBlock(blockId *big.Int) (struct { + MetaHash [32]byte + Deposit *big.Int + Proposer common.Address + ProposedAt uint64 +}, error) { + return _TaikoL1.Contract.GetBlock(&_TaikoL1.CallOpts, blockId) +} + +// GetBlock is a free data retrieval call binding the contract method 0x04c07569. +// +// Solidity: function getBlock(uint256 blockId) view returns(bytes32 _metaHash, uint256 _deposit, address _proposer, uint64 _proposedAt) +func (_TaikoL1 *TaikoL1CallerSession) GetBlock(blockId *big.Int) (struct { + MetaHash [32]byte + Deposit *big.Int + Proposer common.Address + ProposedAt uint64 +}, error) { + return _TaikoL1.Contract.GetBlock(&_TaikoL1.CallOpts, blockId) +} + // GetBlockFee is a free data retrieval call binding the contract method 0x7baf0bc7. // -// Solidity: function getBlockFee() view returns(uint256) -func (_TaikoL1 *TaikoL1Caller) GetBlockFee(opts *bind.CallOpts) (*big.Int, error) { +// Solidity: function getBlockFee() view returns(uint64) +func (_TaikoL1 *TaikoL1Caller) GetBlockFee(opts *bind.CallOpts) (uint64, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "getBlockFee") if err != nil { - return *new(*big.Int), err + return *new(uint64), err } - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) return out0, err @@ -302,21 +356,21 @@ func (_TaikoL1 *TaikoL1Caller) GetBlockFee(opts *bind.CallOpts) (*big.Int, error // GetBlockFee is a free data retrieval call binding the contract method 0x7baf0bc7. // -// Solidity: function getBlockFee() view returns(uint256) -func (_TaikoL1 *TaikoL1Session) GetBlockFee() (*big.Int, error) { +// Solidity: function getBlockFee() view returns(uint64) +func (_TaikoL1 *TaikoL1Session) GetBlockFee() (uint64, error) { return _TaikoL1.Contract.GetBlockFee(&_TaikoL1.CallOpts) } // GetBlockFee is a free data retrieval call binding the contract method 0x7baf0bc7. // -// Solidity: function getBlockFee() view returns(uint256) -func (_TaikoL1 *TaikoL1CallerSession) GetBlockFee() (*big.Int, error) { +// Solidity: function getBlockFee() view returns(uint64) +func (_TaikoL1 *TaikoL1CallerSession) GetBlockFee() (uint64, error) { return _TaikoL1.Contract.GetBlockFee(&_TaikoL1.CallOpts) } // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool)) +// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint96,uint96,uint64,uint8,bool,bool)) func (_TaikoL1 *TaikoL1Caller) GetConfig(opts *bind.CallOpts) (TaikoDataConfig, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "getConfig") @@ -333,24 +387,24 @@ func (_TaikoL1 *TaikoL1Caller) GetConfig(opts *bind.CallOpts) (TaikoDataConfig, // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool)) +// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint96,uint96,uint64,uint8,bool,bool)) func (_TaikoL1 *TaikoL1Session) GetConfig() (TaikoDataConfig, error) { return _TaikoL1.Contract.GetConfig(&_TaikoL1.CallOpts) } // GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. // -// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool)) +// Solidity: function getConfig() pure returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint96,uint96,uint64,uint8,bool,bool)) func (_TaikoL1 *TaikoL1CallerSession) GetConfig() (TaikoDataConfig, error) { return _TaikoL1.Contract.GetConfig(&_TaikoL1.CallOpts) } -// GetForkChoice is a free data retrieval call binding the contract method 0xe00ea1e1. +// GetForkChoice is a free data retrieval call binding the contract method 0x7163e0ed. // -// Solidity: function getForkChoice(uint256 id, bytes32 parentHash) view returns((bytes32,address,uint64)) -func (_TaikoL1 *TaikoL1Caller) GetForkChoice(opts *bind.CallOpts, id *big.Int, parentHash [32]byte) (TaikoDataForkChoice, error) { +// Solidity: function getForkChoice(uint256 blockId, bytes32 parentHash, uint32 parentGasUsed) view returns((bytes32,bytes32,bytes32,uint64,address,uint32)) +func (_TaikoL1 *TaikoL1Caller) GetForkChoice(opts *bind.CallOpts, blockId *big.Int, parentHash [32]byte, parentGasUsed uint32) (TaikoDataForkChoice, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getForkChoice", id, parentHash) + err := _TaikoL1.contract.Call(opts, &out, "getForkChoice", blockId, parentHash, parentGasUsed) if err != nil { return *new(TaikoDataForkChoice), err @@ -362,63 +416,32 @@ func (_TaikoL1 *TaikoL1Caller) GetForkChoice(opts *bind.CallOpts, id *big.Int, p } -// GetForkChoice is a free data retrieval call binding the contract method 0xe00ea1e1. -// -// Solidity: function getForkChoice(uint256 id, bytes32 parentHash) view returns((bytes32,address,uint64)) -func (_TaikoL1 *TaikoL1Session) GetForkChoice(id *big.Int, parentHash [32]byte) (TaikoDataForkChoice, error) { - return _TaikoL1.Contract.GetForkChoice(&_TaikoL1.CallOpts, id, parentHash) -} - -// GetForkChoice is a free data retrieval call binding the contract method 0xe00ea1e1. -// -// Solidity: function getForkChoice(uint256 id, bytes32 parentHash) view returns((bytes32,address,uint64)) -func (_TaikoL1 *TaikoL1CallerSession) GetForkChoice(id *big.Int, parentHash [32]byte) (TaikoDataForkChoice, error) { - return _TaikoL1.Contract.GetForkChoice(&_TaikoL1.CallOpts, id, parentHash) -} - -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. -// -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL1 *TaikoL1Caller) GetLatestSyncedHeader(opts *bind.CallOpts) ([32]byte, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getLatestSyncedHeader") - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. +// GetForkChoice is a free data retrieval call binding the contract method 0x7163e0ed. // -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL1 *TaikoL1Session) GetLatestSyncedHeader() ([32]byte, error) { - return _TaikoL1.Contract.GetLatestSyncedHeader(&_TaikoL1.CallOpts) +// Solidity: function getForkChoice(uint256 blockId, bytes32 parentHash, uint32 parentGasUsed) view returns((bytes32,bytes32,bytes32,uint64,address,uint32)) +func (_TaikoL1 *TaikoL1Session) GetForkChoice(blockId *big.Int, parentHash [32]byte, parentGasUsed uint32) (TaikoDataForkChoice, error) { + return _TaikoL1.Contract.GetForkChoice(&_TaikoL1.CallOpts, blockId, parentHash, parentGasUsed) } -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. +// GetForkChoice is a free data retrieval call binding the contract method 0x7163e0ed. // -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL1 *TaikoL1CallerSession) GetLatestSyncedHeader() ([32]byte, error) { - return _TaikoL1.Contract.GetLatestSyncedHeader(&_TaikoL1.CallOpts) +// Solidity: function getForkChoice(uint256 blockId, bytes32 parentHash, uint32 parentGasUsed) view returns((bytes32,bytes32,bytes32,uint64,address,uint32)) +func (_TaikoL1 *TaikoL1CallerSession) GetForkChoice(blockId *big.Int, parentHash [32]byte, parentGasUsed uint32) (TaikoDataForkChoice, error) { + return _TaikoL1.Contract.GetForkChoice(&_TaikoL1.CallOpts, blockId, parentHash, parentGasUsed) } // GetProofReward is a free data retrieval call binding the contract method 0x4ee56f9e. // -// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint256 reward) -func (_TaikoL1 *TaikoL1Caller) GetProofReward(opts *bind.CallOpts, provenAt uint64, proposedAt uint64) (*big.Int, error) { +// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint64) +func (_TaikoL1 *TaikoL1Caller) GetProofReward(opts *bind.CallOpts, provenAt uint64, proposedAt uint64) (uint64, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "getProofReward", provenAt, proposedAt) if err != nil { - return *new(*big.Int), err + return *new(uint64), err } - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) return out0, err @@ -426,55 +449,55 @@ func (_TaikoL1 *TaikoL1Caller) GetProofReward(opts *bind.CallOpts, provenAt uint // GetProofReward is a free data retrieval call binding the contract method 0x4ee56f9e. // -// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint256 reward) -func (_TaikoL1 *TaikoL1Session) GetProofReward(provenAt uint64, proposedAt uint64) (*big.Int, error) { +// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint64) +func (_TaikoL1 *TaikoL1Session) GetProofReward(provenAt uint64, proposedAt uint64) (uint64, error) { return _TaikoL1.Contract.GetProofReward(&_TaikoL1.CallOpts, provenAt, proposedAt) } // GetProofReward is a free data retrieval call binding the contract method 0x4ee56f9e. // -// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint256 reward) -func (_TaikoL1 *TaikoL1CallerSession) GetProofReward(provenAt uint64, proposedAt uint64) (*big.Int, error) { +// Solidity: function getProofReward(uint64 provenAt, uint64 proposedAt) view returns(uint64) +func (_TaikoL1 *TaikoL1CallerSession) GetProofReward(provenAt uint64, proposedAt uint64) (uint64, error) { return _TaikoL1.Contract.GetProofReward(&_TaikoL1.CallOpts, provenAt, proposedAt) } -// GetProposedBlock is a free data retrieval call binding the contract method 0x8972b10c. +// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getProposedBlock(uint256 id) view returns((bytes32,uint256,address,uint64)) -func (_TaikoL1 *TaikoL1Caller) GetProposedBlock(opts *bind.CallOpts, id *big.Int) (TaikoDataProposedBlock, error) { +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) +func (_TaikoL1 *TaikoL1Caller) GetStateVariables(opts *bind.CallOpts) (TaikoDataStateVariables, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getProposedBlock", id) + err := _TaikoL1.contract.Call(opts, &out, "getStateVariables") if err != nil { - return *new(TaikoDataProposedBlock), err + return *new(TaikoDataStateVariables), err } - out0 := *abi.ConvertType(out[0], new(TaikoDataProposedBlock)).(*TaikoDataProposedBlock) + out0 := *abi.ConvertType(out[0], new(TaikoDataStateVariables)).(*TaikoDataStateVariables) return out0, err } -// GetProposedBlock is a free data retrieval call binding the contract method 0x8972b10c. +// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getProposedBlock(uint256 id) view returns((bytes32,uint256,address,uint64)) -func (_TaikoL1 *TaikoL1Session) GetProposedBlock(id *big.Int) (TaikoDataProposedBlock, error) { - return _TaikoL1.Contract.GetProposedBlock(&_TaikoL1.CallOpts, id) +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) +func (_TaikoL1 *TaikoL1Session) GetStateVariables() (TaikoDataStateVariables, error) { + return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) } -// GetProposedBlock is a free data retrieval call binding the contract method 0x8972b10c. +// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. // -// Solidity: function getProposedBlock(uint256 id) view returns((bytes32,uint256,address,uint64)) -func (_TaikoL1 *TaikoL1CallerSession) GetProposedBlock(id *big.Int) (TaikoDataProposedBlock, error) { - return _TaikoL1.Contract.GetProposedBlock(&_TaikoL1.CallOpts, id) +// Solidity: function getStateVariables() view returns((uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) +func (_TaikoL1 *TaikoL1CallerSession) GetStateVariables() (TaikoDataStateVariables, error) { + return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) } -// GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. +// GetTaikoTokenBalance is a free data retrieval call binding the contract method 0x8dff9cea. // -// Solidity: function getBalance(address addr) view returns(uint256) -func (_TaikoL1 *TaikoL1Caller) GetRewardBalance(opts *bind.CallOpts, addr common.Address) (*big.Int, error) { +// Solidity: function getTaikoTokenBalance(address addr) view returns(uint256) +func (_TaikoL1 *TaikoL1Caller) GetTaikoTokenBalance(opts *bind.CallOpts, addr common.Address) (*big.Int, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getBalance", addr) + err := _TaikoL1.contract.Call(opts, &out, "getTaikoTokenBalance", addr) if err != nil { return *new(*big.Int), err @@ -486,57 +509,57 @@ func (_TaikoL1 *TaikoL1Caller) GetRewardBalance(opts *bind.CallOpts, addr common } -// GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. +// GetTaikoTokenBalance is a free data retrieval call binding the contract method 0x8dff9cea. // -// Solidity: function getBalance(address addr) view returns(uint256) -func (_TaikoL1 *TaikoL1Session) GetRewardBalance(addr common.Address) (*big.Int, error) { - return _TaikoL1.Contract.GetRewardBalance(&_TaikoL1.CallOpts, addr) +// Solidity: function getTaikoTokenBalance(address addr) view returns(uint256) +func (_TaikoL1 *TaikoL1Session) GetTaikoTokenBalance(addr common.Address) (*big.Int, error) { + return _TaikoL1.Contract.GetTaikoTokenBalance(&_TaikoL1.CallOpts, addr) } -// GetRewardBalance is a free data retrieval call binding the contract method 0xd5a849e9. +// GetTaikoTokenBalance is a free data retrieval call binding the contract method 0x8dff9cea. // -// Solidity: function getBalance(address addr) view returns(uint256) -func (_TaikoL1 *TaikoL1CallerSession) GetRewardBalance(addr common.Address) (*big.Int, error) { - return _TaikoL1.Contract.GetRewardBalance(&_TaikoL1.CallOpts, addr) +// Solidity: function getTaikoTokenBalance(address addr) view returns(uint256) +func (_TaikoL1 *TaikoL1CallerSession) GetTaikoTokenBalance(addr common.Address) (*big.Int, error) { + return _TaikoL1.Contract.GetTaikoTokenBalance(&_TaikoL1.CallOpts, addr) } -// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. +// GetVerifierName is a free data retrieval call binding the contract method 0x0372303d. // -// Solidity: function getStateVariables() view returns((uint256,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) -func (_TaikoL1 *TaikoL1Caller) GetStateVariables(opts *bind.CallOpts) (LibUtilsStateVariables, error) { +// Solidity: function getVerifierName(uint16 id) pure returns(string) +func (_TaikoL1 *TaikoL1Caller) GetVerifierName(opts *bind.CallOpts, id uint16) (string, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getStateVariables") + err := _TaikoL1.contract.Call(opts, &out, "getVerifierName", id) if err != nil { - return *new(LibUtilsStateVariables), err + return *new(string), err } - out0 := *abi.ConvertType(out[0], new(LibUtilsStateVariables)).(*LibUtilsStateVariables) + out0 := *abi.ConvertType(out[0], new(string)).(*string) return out0, err } -// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. +// GetVerifierName is a free data retrieval call binding the contract method 0x0372303d. // -// Solidity: function getStateVariables() view returns((uint256,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) -func (_TaikoL1 *TaikoL1Session) GetStateVariables() (LibUtilsStateVariables, error) { - return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) +// Solidity: function getVerifierName(uint16 id) pure returns(string) +func (_TaikoL1 *TaikoL1Session) GetVerifierName(id uint16) (string, error) { + return _TaikoL1.Contract.GetVerifierName(&_TaikoL1.CallOpts, id) } -// GetStateVariables is a free data retrieval call binding the contract method 0xdde89cf5. +// GetVerifierName is a free data retrieval call binding the contract method 0x0372303d. // -// Solidity: function getStateVariables() view returns((uint256,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)) -func (_TaikoL1 *TaikoL1CallerSession) GetStateVariables() (LibUtilsStateVariables, error) { - return _TaikoL1.Contract.GetStateVariables(&_TaikoL1.CallOpts) +// Solidity: function getVerifierName(uint16 id) pure returns(string) +func (_TaikoL1 *TaikoL1CallerSession) GetVerifierName(id uint16) (string, error) { + return _TaikoL1.Contract.GetVerifierName(&_TaikoL1.CallOpts, id) } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL1 *TaikoL1Caller) GetSyncedHeader(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { +// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Caller) GetXchainBlockHash(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getSyncedHeader", number) + err := _TaikoL1.contract.Call(opts, &out, "getXchainBlockHash", blockId) if err != nil { return *new([32]byte), err @@ -548,49 +571,49 @@ func (_TaikoL1 *TaikoL1Caller) GetSyncedHeader(opts *bind.CallOpts, number *big. } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL1 *TaikoL1Session) GetSyncedHeader(number *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetSyncedHeader(&_TaikoL1.CallOpts, number) +// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Session) GetXchainBlockHash(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetXchainBlockHash(&_TaikoL1.CallOpts, blockId) } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL1 *TaikoL1CallerSession) GetSyncedHeader(number *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetSyncedHeader(&_TaikoL1.CallOpts, number) +// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1CallerSession) GetXchainBlockHash(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetXchainBlockHash(&_TaikoL1.CallOpts, blockId) } -// IsCommitValid is a free data retrieval call binding the contract method 0x340d9599. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function isCommitValid(uint256 commitSlot, uint256 commitHeight, bytes32 commitHash) view returns(bool) -func (_TaikoL1 *TaikoL1Caller) IsCommitValid(opts *bind.CallOpts, commitSlot *big.Int, commitHeight *big.Int, commitHash [32]byte) (bool, error) { +// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Caller) GetXchainSignalRoot(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "isCommitValid", commitSlot, commitHeight, commitHash) + err := _TaikoL1.contract.Call(opts, &out, "getXchainSignalRoot", blockId) if err != nil { - return *new(bool), err + return *new([32]byte), err } - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } -// IsCommitValid is a free data retrieval call binding the contract method 0x340d9599. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function isCommitValid(uint256 commitSlot, uint256 commitHeight, bytes32 commitHash) view returns(bool) -func (_TaikoL1 *TaikoL1Session) IsCommitValid(commitSlot *big.Int, commitHeight *big.Int, commitHash [32]byte) (bool, error) { - return _TaikoL1.Contract.IsCommitValid(&_TaikoL1.CallOpts, commitSlot, commitHeight, commitHash) +// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Session) GetXchainSignalRoot(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetXchainSignalRoot(&_TaikoL1.CallOpts, blockId) } -// IsCommitValid is a free data retrieval call binding the contract method 0x340d9599. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function isCommitValid(uint256 commitSlot, uint256 commitHeight, bytes32 commitHash) view returns(bool) -func (_TaikoL1 *TaikoL1CallerSession) IsCommitValid(commitSlot *big.Int, commitHeight *big.Int, commitHash [32]byte) (bool, error) { - return _TaikoL1.Contract.IsCommitValid(&_TaikoL1.CallOpts, commitSlot, commitHeight, commitHash) +// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1CallerSession) GetXchainSignalRoot(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetXchainSignalRoot(&_TaikoL1.CallOpts, blockId) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. @@ -686,109 +709,59 @@ func (_TaikoL1 *TaikoL1CallerSession) Resolve0(chainId *big.Int, name string, al return _TaikoL1.Contract.Resolve0(&_TaikoL1.CallOpts, chainId, name, allowZeroAddress) } -// SignWithGoldenTouch is a free data retrieval call binding the contract method 0xdadec12a. -// -// Solidity: function signWithGoldenTouch(bytes32 hash, uint8 k) view returns(uint8 v, uint256 r, uint256 s) -func (_TaikoL1 *TaikoL1Caller) SignWithGoldenTouch(opts *bind.CallOpts, hash [32]byte, k uint8) (struct { - V uint8 - R *big.Int - S *big.Int -}, error) { - var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "signWithGoldenTouch", hash, k) - - outstruct := new(struct { - V uint8 - R *big.Int - S *big.Int - }) - if err != nil { - return *outstruct, err - } - - outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.R = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) - outstruct.S = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) - - return *outstruct, err - -} - -// SignWithGoldenTouch is a free data retrieval call binding the contract method 0xdadec12a. -// -// Solidity: function signWithGoldenTouch(bytes32 hash, uint8 k) view returns(uint8 v, uint256 r, uint256 s) -func (_TaikoL1 *TaikoL1Session) SignWithGoldenTouch(hash [32]byte, k uint8) (struct { - V uint8 - R *big.Int - S *big.Int -}, error) { - return _TaikoL1.Contract.SignWithGoldenTouch(&_TaikoL1.CallOpts, hash, k) -} - -// SignWithGoldenTouch is a free data retrieval call binding the contract method 0xdadec12a. -// -// Solidity: function signWithGoldenTouch(bytes32 hash, uint8 k) view returns(uint8 v, uint256 r, uint256 s) -func (_TaikoL1 *TaikoL1CallerSession) SignWithGoldenTouch(hash [32]byte, k uint8) (struct { - V uint8 - R *big.Int - S *big.Int -}, error) { - return _TaikoL1.Contract.SignWithGoldenTouch(&_TaikoL1.CallOpts, hash, k) -} - // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 basefee, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 lastBlockId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(bytes32 staticRefs, uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reserved71, uint64 __reserved72, uint64 accProposedAt, uint64 accBlockFees, uint64 numBlocks, uint64 nextEthDepositToProcess, uint64 basefee, uint64 proofTimeIssued, uint64 lastVerifiedBlockId, uint64 __reserved91) func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { - GenesisHeight uint64 - GenesisTimestamp uint64 - ReservedA1 uint64 - ReservedA2 uint64 - Basefee *big.Int - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - AvgGasLimit uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 - ReservedC1 uint64 + StaticRefs [32]byte + GenesisHeight uint64 + GenesisTimestamp uint64 + Reserved71 uint64 + Reserved72 uint64 + AccProposedAt uint64 + AccBlockFees uint64 + NumBlocks uint64 + NextEthDepositToProcess uint64 + Basefee uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + Reserved91 uint64 }, error) { var out []interface{} err := _TaikoL1.contract.Call(opts, &out, "state") outstruct := new(struct { - GenesisHeight uint64 - GenesisTimestamp uint64 - ReservedA1 uint64 - ReservedA2 uint64 - Basefee *big.Int - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - AvgGasLimit uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 - ReservedC1 uint64 + StaticRefs [32]byte + GenesisHeight uint64 + GenesisTimestamp uint64 + Reserved71 uint64 + Reserved72 uint64 + AccProposedAt uint64 + AccBlockFees uint64 + NumBlocks uint64 + NextEthDepositToProcess uint64 + Basefee uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + Reserved91 uint64 }) if err != nil { return *outstruct, err } - outstruct.GenesisHeight = *abi.ConvertType(out[0], new(uint64)).(*uint64) - outstruct.GenesisTimestamp = *abi.ConvertType(out[1], new(uint64)).(*uint64) - outstruct.ReservedA1 = *abi.ConvertType(out[2], new(uint64)).(*uint64) - outstruct.ReservedA2 = *abi.ConvertType(out[3], new(uint64)).(*uint64) - outstruct.Basefee = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) - outstruct.NextBlockId = *abi.ConvertType(out[5], new(uint64)).(*uint64) - outstruct.LastProposedAt = *abi.ConvertType(out[6], new(uint64)).(*uint64) - outstruct.AvgBlockTime = *abi.ConvertType(out[7], new(uint64)).(*uint64) - outstruct.AvgGasLimit = *abi.ConvertType(out[8], new(uint64)).(*uint64) - outstruct.LatestVerifiedHeight = *abi.ConvertType(out[9], new(uint64)).(*uint64) - outstruct.LatestVerifiedId = *abi.ConvertType(out[10], new(uint64)).(*uint64) - outstruct.AvgProofTime = *abi.ConvertType(out[11], new(uint64)).(*uint64) - outstruct.ReservedC1 = *abi.ConvertType(out[12], new(uint64)).(*uint64) + outstruct.StaticRefs = *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + outstruct.GenesisHeight = *abi.ConvertType(out[1], new(uint64)).(*uint64) + outstruct.GenesisTimestamp = *abi.ConvertType(out[2], new(uint64)).(*uint64) + outstruct.Reserved71 = *abi.ConvertType(out[3], new(uint64)).(*uint64) + outstruct.Reserved72 = *abi.ConvertType(out[4], new(uint64)).(*uint64) + outstruct.AccProposedAt = *abi.ConvertType(out[5], new(uint64)).(*uint64) + outstruct.AccBlockFees = *abi.ConvertType(out[6], new(uint64)).(*uint64) + outstruct.NumBlocks = *abi.ConvertType(out[7], new(uint64)).(*uint64) + outstruct.NextEthDepositToProcess = *abi.ConvertType(out[8], new(uint64)).(*uint64) + outstruct.Basefee = *abi.ConvertType(out[9], new(uint64)).(*uint64) + outstruct.ProofTimeIssued = *abi.ConvertType(out[10], new(uint64)).(*uint64) + outstruct.LastVerifiedBlockId = *abi.ConvertType(out[11], new(uint64)).(*uint64) + outstruct.Reserved91 = *abi.ConvertType(out[12], new(uint64)).(*uint64) return *outstruct, err @@ -796,149 +769,149 @@ func (_TaikoL1 *TaikoL1Caller) State(opts *bind.CallOpts) (struct { // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 basefee, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 lastBlockId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(bytes32 staticRefs, uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reserved71, uint64 __reserved72, uint64 accProposedAt, uint64 accBlockFees, uint64 numBlocks, uint64 nextEthDepositToProcess, uint64 basefee, uint64 proofTimeIssued, uint64 lastVerifiedBlockId, uint64 __reserved91) func (_TaikoL1 *TaikoL1Session) State() (struct { - GenesisHeight uint64 - GenesisTimestamp uint64 - ReservedA1 uint64 - ReservedA2 uint64 - Basefee *big.Int - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - AvgGasLimit uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 - ReservedC1 uint64 + StaticRefs [32]byte + GenesisHeight uint64 + GenesisTimestamp uint64 + Reserved71 uint64 + Reserved72 uint64 + AccProposedAt uint64 + AccBlockFees uint64 + NumBlocks uint64 + NextEthDepositToProcess uint64 + Basefee uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + Reserved91 uint64 }, error) { return _TaikoL1.Contract.State(&_TaikoL1.CallOpts) } // State is a free data retrieval call binding the contract method 0xc19d93fb. // -// Solidity: function state() view returns(uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reservedA1, uint64 __reservedA2, uint256 basefee, uint64 nextBlockId, uint64 lastProposedAt, uint64 avgBlockTime, uint64 __avgGasLimit, uint64 latestVerifiedHeight, uint64 lastBlockId, uint64 avgProofTime, uint64 __reservedC1) +// Solidity: function state() view returns(bytes32 staticRefs, uint64 genesisHeight, uint64 genesisTimestamp, uint64 __reserved71, uint64 __reserved72, uint64 accProposedAt, uint64 accBlockFees, uint64 numBlocks, uint64 nextEthDepositToProcess, uint64 basefee, uint64 proofTimeIssued, uint64 lastVerifiedBlockId, uint64 __reserved91) func (_TaikoL1 *TaikoL1CallerSession) State() (struct { - GenesisHeight uint64 - GenesisTimestamp uint64 - ReservedA1 uint64 - ReservedA2 uint64 - Basefee *big.Int - NextBlockId uint64 - LastProposedAt uint64 - AvgBlockTime uint64 - AvgGasLimit uint64 - LatestVerifiedHeight uint64 - LatestVerifiedId uint64 - AvgProofTime uint64 - ReservedC1 uint64 + StaticRefs [32]byte + GenesisHeight uint64 + GenesisTimestamp uint64 + Reserved71 uint64 + Reserved72 uint64 + AccProposedAt uint64 + AccBlockFees uint64 + NumBlocks uint64 + NextEthDepositToProcess uint64 + Basefee uint64 + ProofTimeIssued uint64 + LastVerifiedBlockId uint64 + Reserved91 uint64 }, error) { return _TaikoL1.Contract.State(&_TaikoL1.CallOpts) } -// CommitBlock is a paid mutator transaction binding the contract method 0x7e7a262c. +// DepositEtherToL2 is a paid mutator transaction binding the contract method 0xa22f7670. // -// Solidity: function commitBlock(uint64 commitSlot, bytes32 commitHash) returns() -func (_TaikoL1 *TaikoL1Transactor) CommitBlock(opts *bind.TransactOpts, commitSlot uint64, commitHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "commitBlock", commitSlot, commitHash) +// Solidity: function depositEtherToL2() payable returns() +func (_TaikoL1 *TaikoL1Transactor) DepositEtherToL2(opts *bind.TransactOpts) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "depositEtherToL2") } -// CommitBlock is a paid mutator transaction binding the contract method 0x7e7a262c. +// DepositEtherToL2 is a paid mutator transaction binding the contract method 0xa22f7670. // -// Solidity: function commitBlock(uint64 commitSlot, bytes32 commitHash) returns() -func (_TaikoL1 *TaikoL1Session) CommitBlock(commitSlot uint64, commitHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.CommitBlock(&_TaikoL1.TransactOpts, commitSlot, commitHash) +// Solidity: function depositEtherToL2() payable returns() +func (_TaikoL1 *TaikoL1Session) DepositEtherToL2() (*types.Transaction, error) { + return _TaikoL1.Contract.DepositEtherToL2(&_TaikoL1.TransactOpts) } -// CommitBlock is a paid mutator transaction binding the contract method 0x7e7a262c. +// DepositEtherToL2 is a paid mutator transaction binding the contract method 0xa22f7670. // -// Solidity: function commitBlock(uint64 commitSlot, bytes32 commitHash) returns() -func (_TaikoL1 *TaikoL1TransactorSession) CommitBlock(commitSlot uint64, commitHash [32]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.CommitBlock(&_TaikoL1.TransactOpts, commitSlot, commitHash) +// Solidity: function depositEtherToL2() payable returns() +func (_TaikoL1 *TaikoL1TransactorSession) DepositEtherToL2() (*types.Transaction, error) { + return _TaikoL1.Contract.DepositEtherToL2(&_TaikoL1.TransactOpts) } -// Init is a paid mutator transaction binding the contract method 0x9c5e9f06. +// DepositTaikoToken is a paid mutator transaction binding the contract method 0x98f39aba. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _basefee) returns() -func (_TaikoL1 *TaikoL1Transactor) Init(opts *bind.TransactOpts, _addressManager common.Address, _genesisBlockHash [32]byte, _basefee *big.Int) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "init", _addressManager, _genesisBlockHash, _basefee) +// Solidity: function depositTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1Transactor) DepositTaikoToken(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "depositTaikoToken", amount) } -// Init is a paid mutator transaction binding the contract method 0x9c5e9f06. +// DepositTaikoToken is a paid mutator transaction binding the contract method 0x98f39aba. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _basefee) returns() -func (_TaikoL1 *TaikoL1Session) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _basefee *big.Int) (*types.Transaction, error) { - return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _basefee) +// Solidity: function depositTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1Session) DepositTaikoToken(amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.DepositTaikoToken(&_TaikoL1.TransactOpts, amount) } -// Init is a paid mutator transaction binding the contract method 0x9c5e9f06. +// DepositTaikoToken is a paid mutator transaction binding the contract method 0x98f39aba. // -// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint256 _basefee) returns() -func (_TaikoL1 *TaikoL1TransactorSession) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _basefee *big.Int) (*types.Transaction, error) { - return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _basefee) +// Solidity: function depositTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1TransactorSession) DepositTaikoToken(amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.DepositTaikoToken(&_TaikoL1.TransactOpts, amount) } -// ProposeBlock is a paid mutator transaction binding the contract method 0xa043dbdf. +// Init is a paid mutator transaction binding the contract method 0x578c65a4. // -// Solidity: function proposeBlock(bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Transactor) ProposeBlock(opts *bind.TransactOpts, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "proposeBlock", inputs) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBasefee, uint64 _initProofTimeIssued) returns() +func (_TaikoL1 *TaikoL1Transactor) Init(opts *bind.TransactOpts, _addressManager common.Address, _genesisBlockHash [32]byte, _initBasefee uint64, _initProofTimeIssued uint64) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "init", _addressManager, _genesisBlockHash, _initBasefee, _initProofTimeIssued) } -// ProposeBlock is a paid mutator transaction binding the contract method 0xa043dbdf. +// Init is a paid mutator transaction binding the contract method 0x578c65a4. // -// Solidity: function proposeBlock(bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Session) ProposeBlock(inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, inputs) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBasefee, uint64 _initProofTimeIssued) returns() +func (_TaikoL1 *TaikoL1Session) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _initBasefee uint64, _initProofTimeIssued uint64) (*types.Transaction, error) { + return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _initBasefee, _initProofTimeIssued) } -// ProposeBlock is a paid mutator transaction binding the contract method 0xa043dbdf. +// Init is a paid mutator transaction binding the contract method 0x578c65a4. // -// Solidity: function proposeBlock(bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1TransactorSession) ProposeBlock(inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, inputs) +// Solidity: function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBasefee, uint64 _initProofTimeIssued) returns() +func (_TaikoL1 *TaikoL1TransactorSession) Init(_addressManager common.Address, _genesisBlockHash [32]byte, _initBasefee uint64, _initProofTimeIssued uint64) (*types.Transaction, error) { + return _TaikoL1.Contract.Init(&_TaikoL1.TransactOpts, _addressManager, _genesisBlockHash, _initBasefee, _initProofTimeIssued) } -// ProveBlock is a paid mutator transaction binding the contract method 0x8ed7b3be. +// ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proveBlock(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Transactor) ProveBlock(opts *bind.TransactOpts, blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "proveBlock", blockId, inputs) +// Solidity: function proposeBlock(bytes input, bytes txList) returns((uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) +func (_TaikoL1 *TaikoL1Transactor) ProposeBlock(opts *bind.TransactOpts, input []byte, txList []byte) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "proposeBlock", input, txList) } -// ProveBlock is a paid mutator transaction binding the contract method 0x8ed7b3be. +// ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proveBlock(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Session) ProveBlock(blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, inputs) +// Solidity: function proposeBlock(bytes input, bytes txList) returns((uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) +func (_TaikoL1 *TaikoL1Session) ProposeBlock(input []byte, txList []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, input, txList) } -// ProveBlock is a paid mutator transaction binding the contract method 0x8ed7b3be. +// ProposeBlock is a paid mutator transaction binding the contract method 0xef16e845. // -// Solidity: function proveBlock(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1TransactorSession) ProveBlock(blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, inputs) +// Solidity: function proposeBlock(bytes input, bytes txList) returns((uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) +func (_TaikoL1 *TaikoL1TransactorSession) ProposeBlock(input []byte, txList []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProposeBlock(&_TaikoL1.TransactOpts, input, txList) } -// ProveBlockInvalid is a paid mutator transaction binding the contract method 0xa279cec7. +// ProveBlock is a paid mutator transaction binding the contract method 0xf3840f60. // -// Solidity: function proveBlockInvalid(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Transactor) ProveBlockInvalid(opts *bind.TransactOpts, blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "proveBlockInvalid", blockId, inputs) +// Solidity: function proveBlock(uint256 blockId, bytes input) returns() +func (_TaikoL1 *TaikoL1Transactor) ProveBlock(opts *bind.TransactOpts, blockId *big.Int, input []byte) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "proveBlock", blockId, input) } -// ProveBlockInvalid is a paid mutator transaction binding the contract method 0xa279cec7. +// ProveBlock is a paid mutator transaction binding the contract method 0xf3840f60. // -// Solidity: function proveBlockInvalid(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1Session) ProveBlockInvalid(blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlockInvalid(&_TaikoL1.TransactOpts, blockId, inputs) +// Solidity: function proveBlock(uint256 blockId, bytes input) returns() +func (_TaikoL1 *TaikoL1Session) ProveBlock(blockId *big.Int, input []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, input) } -// ProveBlockInvalid is a paid mutator transaction binding the contract method 0xa279cec7. +// ProveBlock is a paid mutator transaction binding the contract method 0xf3840f60. // -// Solidity: function proveBlockInvalid(uint256 blockId, bytes[] inputs) returns() -func (_TaikoL1 *TaikoL1TransactorSession) ProveBlockInvalid(blockId *big.Int, inputs [][]byte) (*types.Transaction, error) { - return _TaikoL1.Contract.ProveBlockInvalid(&_TaikoL1.TransactOpts, blockId, inputs) +// Solidity: function proveBlock(uint256 blockId, bytes input) returns() +func (_TaikoL1 *TaikoL1TransactorSession) ProveBlock(blockId *big.Int, input []byte) (*types.Transaction, error) { + return _TaikoL1.Contract.ProveBlock(&_TaikoL1.TransactOpts, blockId, input) } // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. @@ -1004,160 +977,46 @@ func (_TaikoL1 *TaikoL1TransactorSession) VerifyBlocks(maxBlocks *big.Int) (*typ return _TaikoL1.Contract.VerifyBlocks(&_TaikoL1.TransactOpts, maxBlocks) } -// WithdrawBalance is a paid mutator transaction binding the contract method 0x5fd8c710. +// WithdrawTaikoToken is a paid mutator transaction binding the contract method 0x5043f059. // -// Solidity: function withdrawBalance() returns() -func (_TaikoL1 *TaikoL1Transactor) WithdrawBalance(opts *bind.TransactOpts) (*types.Transaction, error) { - return _TaikoL1.contract.Transact(opts, "withdrawBalance") +// Solidity: function withdrawTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1Transactor) WithdrawTaikoToken(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.contract.Transact(opts, "withdrawTaikoToken", amount) } -// WithdrawBalance is a paid mutator transaction binding the contract method 0x5fd8c710. +// WithdrawTaikoToken is a paid mutator transaction binding the contract method 0x5043f059. // -// Solidity: function withdrawBalance() returns() -func (_TaikoL1 *TaikoL1Session) WithdrawBalance() (*types.Transaction, error) { - return _TaikoL1.Contract.WithdrawBalance(&_TaikoL1.TransactOpts) +// Solidity: function withdrawTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1Session) WithdrawTaikoToken(amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.WithdrawTaikoToken(&_TaikoL1.TransactOpts, amount) } -// WithdrawBalance is a paid mutator transaction binding the contract method 0x5fd8c710. +// WithdrawTaikoToken is a paid mutator transaction binding the contract method 0x5043f059. // -// Solidity: function withdrawBalance() returns() -func (_TaikoL1 *TaikoL1TransactorSession) WithdrawBalance() (*types.Transaction, error) { - return _TaikoL1.Contract.WithdrawBalance(&_TaikoL1.TransactOpts) -} - -// TaikoL1BlockCommittedIterator is returned from FilterBlockCommitted and is used to iterate over the raw logs and unpacked data for BlockCommitted events raised by the TaikoL1 contract. -type TaikoL1BlockCommittedIterator struct { - Event *TaikoL1BlockCommitted // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TaikoL1BlockCommittedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TaikoL1BlockCommitted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TaikoL1BlockCommitted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1BlockCommittedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TaikoL1BlockCommittedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TaikoL1BlockCommitted represents a BlockCommitted event raised by the TaikoL1 contract. -type TaikoL1BlockCommitted struct { - CommitSlot uint64 - CommitHash [32]byte - Raw types.Log // Blockchain specific contextual infos +// Solidity: function withdrawTaikoToken(uint256 amount) returns() +func (_TaikoL1 *TaikoL1TransactorSession) WithdrawTaikoToken(amount *big.Int) (*types.Transaction, error) { + return _TaikoL1.Contract.WithdrawTaikoToken(&_TaikoL1.TransactOpts, amount) } -// FilterBlockCommitted is a free log retrieval operation binding the contract event 0x51264991e22d808f3bcbb1cbffa82b752eae327c24055259a5c455c0aa5b7136. +// Receive is a paid mutator transaction binding the contract receive function. // -// Solidity: event BlockCommitted(uint64 commitSlot, bytes32 commitHash) -func (_TaikoL1 *TaikoL1Filterer) FilterBlockCommitted(opts *bind.FilterOpts) (*TaikoL1BlockCommittedIterator, error) { - - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "BlockCommitted") - if err != nil { - return nil, err - } - return &TaikoL1BlockCommittedIterator{contract: _TaikoL1.contract, event: "BlockCommitted", logs: logs, sub: sub}, nil +// Solidity: receive() payable returns() +func (_TaikoL1 *TaikoL1Transactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) { + return _TaikoL1.contract.RawTransact(opts, nil) // calldata is disallowed for receive function } -// WatchBlockCommitted is a free log subscription operation binding the contract event 0x51264991e22d808f3bcbb1cbffa82b752eae327c24055259a5c455c0aa5b7136. +// Receive is a paid mutator transaction binding the contract receive function. // -// Solidity: event BlockCommitted(uint64 commitSlot, bytes32 commitHash) -func (_TaikoL1 *TaikoL1Filterer) WatchBlockCommitted(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockCommitted) (event.Subscription, error) { - - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "BlockCommitted") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TaikoL1BlockCommitted) - if err := _TaikoL1.contract.UnpackLog(event, "BlockCommitted", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil +// Solidity: receive() payable returns() +func (_TaikoL1 *TaikoL1Session) Receive() (*types.Transaction, error) { + return _TaikoL1.Contract.Receive(&_TaikoL1.TransactOpts) } -// ParseBlockCommitted is a log parse operation binding the contract event 0x51264991e22d808f3bcbb1cbffa82b752eae327c24055259a5c455c0aa5b7136. +// Receive is a paid mutator transaction binding the contract receive function. // -// Solidity: event BlockCommitted(uint64 commitSlot, bytes32 commitHash) -func (_TaikoL1 *TaikoL1Filterer) ParseBlockCommitted(log types.Log) (*TaikoL1BlockCommitted, error) { - event := new(TaikoL1BlockCommitted) - if err := _TaikoL1.contract.UnpackLog(event, "BlockCommitted", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil +// Solidity: receive() payable returns() +func (_TaikoL1 *TaikoL1TransactorSession) Receive() (*types.Transaction, error) { + return _TaikoL1.Contract.Receive(&_TaikoL1.TransactOpts) } // TaikoL1BlockProposedIterator is returned from FilterBlockProposed and is used to iterate over the raw logs and unpacked data for BlockProposed events raised by the TaikoL1 contract. @@ -1234,9 +1093,9 @@ type TaikoL1BlockProposed struct { Raw types.Log // Blockchain specific contextual infos } -// FilterBlockProposed is a free log retrieval operation binding the contract event 0x344fc5d5f80c4a29bd7e06ad7c28a0c8c9c08d682129da3a31936d5982e4f044. +// FilterBlockProposed is a free log retrieval operation binding the contract event 0x31cc3eebb5aea55796fe5ba252fe1833fd17d063cb6e83634758fa58e7181535. // -// Solidity: event BlockProposed(uint256 indexed id, (uint256,uint256,bytes32,address,bytes32,bytes32,bytes,uint64,uint64,uint64,uint64) meta) +// Solidity: event BlockProposed(uint256 indexed id, (uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) func (_TaikoL1 *TaikoL1Filterer) FilterBlockProposed(opts *bind.FilterOpts, id []*big.Int) (*TaikoL1BlockProposedIterator, error) { var idRule []interface{} @@ -1251,9 +1110,9 @@ func (_TaikoL1 *TaikoL1Filterer) FilterBlockProposed(opts *bind.FilterOpts, id [ return &TaikoL1BlockProposedIterator{contract: _TaikoL1.contract, event: "BlockProposed", logs: logs, sub: sub}, nil } -// WatchBlockProposed is a free log subscription operation binding the contract event 0x344fc5d5f80c4a29bd7e06ad7c28a0c8c9c08d682129da3a31936d5982e4f044. +// WatchBlockProposed is a free log subscription operation binding the contract event 0x31cc3eebb5aea55796fe5ba252fe1833fd17d063cb6e83634758fa58e7181535. // -// Solidity: event BlockProposed(uint256 indexed id, (uint256,uint256,bytes32,address,bytes32,bytes32,bytes,uint64,uint64,uint64,uint64) meta) +// Solidity: event BlockProposed(uint256 indexed id, (uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockProposed, id []*big.Int) (event.Subscription, error) { var idRule []interface{} @@ -1293,9 +1152,9 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockProposed(opts *bind.WatchOpts, sink c }), nil } -// ParseBlockProposed is a log parse operation binding the contract event 0x344fc5d5f80c4a29bd7e06ad7c28a0c8c9c08d682129da3a31936d5982e4f044. +// ParseBlockProposed is a log parse operation binding the contract event 0x31cc3eebb5aea55796fe5ba252fe1833fd17d063cb6e83634758fa58e7181535. // -// Solidity: event BlockProposed(uint256 indexed id, (uint256,uint256,bytes32,address,bytes32,bytes32,bytes,uint64,uint64,uint64,uint64) meta) +// Solidity: event BlockProposed(uint256 indexed id, (uint64,uint64,uint64,bytes32,bytes32,bytes32,bytes32,uint24,uint24,uint32,address,uint8,address,(address,uint96)[]) meta) func (_TaikoL1 *TaikoL1Filterer) ParseBlockProposed(log types.Log) (*TaikoL1BlockProposed, error) { event := new(TaikoL1BlockProposed) if err := _TaikoL1.contract.UnpackLog(event, "BlockProposed", log); err != nil { @@ -1377,14 +1236,14 @@ type TaikoL1BlockProven struct { Id *big.Int ParentHash [32]byte BlockHash [32]byte + SignalRoot [32]byte Prover common.Address - ProvenAt uint64 Raw types.Log // Blockchain specific contextual infos } -// FilterBlockProven is a free log retrieval operation binding the contract event 0x45848a3b2a67571e5876283456675aa3e05880e4f5a73447bd86cef5a181db38. +// FilterBlockProven is a free log retrieval operation binding the contract event 0xd93fde3ea1bb11dcd7a4e66320a05fc5aa63983b6447eff660084c4b1b1b499b. // -// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, address prover, uint64 provenAt) +// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, bytes32 signalRoot, address prover) func (_TaikoL1 *TaikoL1Filterer) FilterBlockProven(opts *bind.FilterOpts, id []*big.Int) (*TaikoL1BlockProvenIterator, error) { var idRule []interface{} @@ -1399,9 +1258,9 @@ func (_TaikoL1 *TaikoL1Filterer) FilterBlockProven(opts *bind.FilterOpts, id []* return &TaikoL1BlockProvenIterator{contract: _TaikoL1.contract, event: "BlockProven", logs: logs, sub: sub}, nil } -// WatchBlockProven is a free log subscription operation binding the contract event 0x45848a3b2a67571e5876283456675aa3e05880e4f5a73447bd86cef5a181db38. +// WatchBlockProven is a free log subscription operation binding the contract event 0xd93fde3ea1bb11dcd7a4e66320a05fc5aa63983b6447eff660084c4b1b1b499b. // -// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, address prover, uint64 provenAt) +// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, bytes32 signalRoot, address prover) func (_TaikoL1 *TaikoL1Filterer) WatchBlockProven(opts *bind.WatchOpts, sink chan<- *TaikoL1BlockProven, id []*big.Int) (event.Subscription, error) { var idRule []interface{} @@ -1441,9 +1300,9 @@ func (_TaikoL1 *TaikoL1Filterer) WatchBlockProven(opts *bind.WatchOpts, sink cha }), nil } -// ParseBlockProven is a log parse operation binding the contract event 0x45848a3b2a67571e5876283456675aa3e05880e4f5a73447bd86cef5a181db38. +// ParseBlockProven is a log parse operation binding the contract event 0xd93fde3ea1bb11dcd7a4e66320a05fc5aa63983b6447eff660084c4b1b1b499b. // -// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, address prover, uint64 provenAt) +// Solidity: event BlockProven(uint256 indexed id, bytes32 parentHash, bytes32 blockHash, bytes32 signalRoot, address prover) func (_TaikoL1 *TaikoL1Filterer) ParseBlockProven(log types.Log) (*TaikoL1BlockProven, error) { event := new(TaikoL1BlockProven) if err := _TaikoL1.contract.UnpackLog(event, "BlockProven", log); err != nil { @@ -1598,9 +1457,9 @@ func (_TaikoL1 *TaikoL1Filterer) ParseBlockVerified(log types.Log) (*TaikoL1Bloc return event, nil } -// TaikoL1HeaderSyncedIterator is returned from FilterHeaderSynced and is used to iterate over the raw logs and unpacked data for HeaderSynced events raised by the TaikoL1 contract. -type TaikoL1HeaderSyncedIterator struct { - Event *TaikoL1HeaderSynced // Event containing the contract specifics and raw log +// TaikoL1EthDepositedIterator is returned from FilterEthDeposited and is used to iterate over the raw logs and unpacked data for EthDeposited events raised by the TaikoL1 contract. +type TaikoL1EthDepositedIterator struct { + Event *TaikoL1EthDeposited // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1614,7 +1473,7 @@ type TaikoL1HeaderSyncedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1HeaderSyncedIterator) Next() bool { +func (it *TaikoL1EthDepositedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1623,7 +1482,7 @@ func (it *TaikoL1HeaderSyncedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1HeaderSynced) + it.Event = new(TaikoL1EthDeposited) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1638,7 +1497,7 @@ func (it *TaikoL1HeaderSyncedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1HeaderSynced) + it.Event = new(TaikoL1EthDeposited) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1654,52 +1513,41 @@ func (it *TaikoL1HeaderSyncedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1HeaderSyncedIterator) Error() error { +func (it *TaikoL1EthDepositedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1HeaderSyncedIterator) Close() error { +func (it *TaikoL1EthDepositedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1HeaderSynced represents a HeaderSynced event raised by the TaikoL1 contract. -type TaikoL1HeaderSynced struct { - SrcHeight *big.Int - SrcHash [32]byte - Raw types.Log // Blockchain specific contextual infos +// TaikoL1EthDeposited represents a EthDeposited event raised by the TaikoL1 contract. +type TaikoL1EthDeposited struct { + Deposit TaikoDataEthDeposit + Raw types.Log // Blockchain specific contextual infos } -// FilterHeaderSynced is a free log retrieval operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// FilterEthDeposited is a free log retrieval operation binding the contract event 0x1c146ddfc652d3b24f1c37ed1cabbb690bf0e198aea624f49211500467182eba. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL1 *TaikoL1Filterer) FilterHeaderSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL1HeaderSyncedIterator, error) { - - var srcHeightRule []interface{} - for _, srcHeightItem := range srcHeight { - srcHeightRule = append(srcHeightRule, srcHeightItem) - } +// Solidity: event EthDeposited((address,uint96) deposit) +func (_TaikoL1 *TaikoL1Filterer) FilterEthDeposited(opts *bind.FilterOpts) (*TaikoL1EthDepositedIterator, error) { - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "HeaderSynced", srcHeightRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "EthDeposited") if err != nil { return nil, err } - return &TaikoL1HeaderSyncedIterator{contract: _TaikoL1.contract, event: "HeaderSynced", logs: logs, sub: sub}, nil + return &TaikoL1EthDepositedIterator{contract: _TaikoL1.contract, event: "EthDeposited", logs: logs, sub: sub}, nil } -// WatchHeaderSynced is a free log subscription operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// WatchEthDeposited is a free log subscription operation binding the contract event 0x1c146ddfc652d3b24f1c37ed1cabbb690bf0e198aea624f49211500467182eba. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL1 *TaikoL1Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1HeaderSynced, srcHeight []*big.Int) (event.Subscription, error) { +// Solidity: event EthDeposited((address,uint96) deposit) +func (_TaikoL1 *TaikoL1Filterer) WatchEthDeposited(opts *bind.WatchOpts, sink chan<- *TaikoL1EthDeposited) (event.Subscription, error) { - var srcHeightRule []interface{} - for _, srcHeightItem := range srcHeight { - srcHeightRule = append(srcHeightRule, srcHeightItem) - } - - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "HeaderSynced", srcHeightRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "EthDeposited") if err != nil { return nil, err } @@ -1709,8 +1557,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink ch select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1HeaderSynced) - if err := _TaikoL1.contract.UnpackLog(event, "HeaderSynced", log); err != nil { + event := new(TaikoL1EthDeposited) + if err := _TaikoL1.contract.UnpackLog(event, "EthDeposited", log); err != nil { return err } event.Raw = log @@ -1731,12 +1579,12 @@ func (_TaikoL1 *TaikoL1Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink ch }), nil } -// ParseHeaderSynced is a log parse operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// ParseEthDeposited is a log parse operation binding the contract event 0x1c146ddfc652d3b24f1c37ed1cabbb690bf0e198aea624f49211500467182eba. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL1 *TaikoL1Filterer) ParseHeaderSynced(log types.Log) (*TaikoL1HeaderSynced, error) { - event := new(TaikoL1HeaderSynced) - if err := _TaikoL1.contract.UnpackLog(event, "HeaderSynced", log); err != nil { +// Solidity: event EthDeposited((address,uint96) deposit) +func (_TaikoL1 *TaikoL1Filterer) ParseEthDeposited(log types.Log) (*TaikoL1EthDeposited, error) { + event := new(TaikoL1EthDeposited) + if err := _TaikoL1.contract.UnpackLog(event, "EthDeposited", log); err != nil { return nil, err } event.Raw = log @@ -2029,3 +1877,149 @@ func (_TaikoL1 *TaikoL1Filterer) ParseOwnershipTransferred(log types.Log) (*Taik event.Raw = log return event, nil } + +// TaikoL1XchainSyncedIterator is returned from FilterXchainSynced and is used to iterate over the raw logs and unpacked data for XchainSynced events raised by the TaikoL1 contract. +type TaikoL1XchainSyncedIterator struct { + Event *TaikoL1XchainSynced // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *TaikoL1XchainSyncedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(TaikoL1XchainSynced) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(TaikoL1XchainSynced) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *TaikoL1XchainSyncedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *TaikoL1XchainSyncedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// TaikoL1XchainSynced represents a XchainSynced event raised by the TaikoL1 contract. +type TaikoL1XchainSynced struct { + SrcHeight *big.Int + BlockHash [32]byte + SignalRoot [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterXchainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) FilterXchainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL1XchainSyncedIterator, error) { + + var srcHeightRule []interface{} + for _, srcHeightItem := range srcHeight { + srcHeightRule = append(srcHeightRule, srcHeightItem) + } + + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "XchainSynced", srcHeightRule) + if err != nil { + return nil, err + } + return &TaikoL1XchainSyncedIterator{contract: _TaikoL1.contract, event: "XchainSynced", logs: logs, sub: sub}, nil +} + +// WatchXchainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1XchainSynced, srcHeight []*big.Int) (event.Subscription, error) { + + var srcHeightRule []interface{} + for _, srcHeightItem := range srcHeight { + srcHeightRule = append(srcHeightRule, srcHeightItem) + } + + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "XchainSynced", srcHeightRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(TaikoL1XchainSynced) + if err := _TaikoL1.contract.UnpackLog(event, "XchainSynced", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseXchainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) ParseXchainSynced(log types.Log) (*TaikoL1XchainSynced, error) { + event := new(TaikoL1XchainSynced) + if err := _TaikoL1.contract.UnpackLog(event, "XchainSynced", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/packages/relayer/contracts/taikol2/TaikoL2.go b/packages/relayer/contracts/taikol2/TaikoL2.go index 041a57d5296..2628be06054 100644 --- a/packages/relayer/contracts/taikol2/TaikoL2.go +++ b/packages/relayer/contracts/taikol2/TaikoL2.go @@ -29,42 +29,23 @@ var ( _ = abi.ConvertType ) -// TaikoDataConfig is an auto generated low-level Go binding around an user-defined struct. -type TaikoDataConfig struct { - ChainId *big.Int - MaxNumBlocks *big.Int - BlockHashHistory *big.Int - MaxVerificationsPerTx *big.Int - CommitConfirmations *big.Int - BlockMaxGasLimit *big.Int - MaxTransactionsPerBlock *big.Int - MaxBytesPerTxList *big.Int - MinTxGasLimit *big.Int - AnchorTxGasLimit *big.Int - SlotSmoothingFactor *big.Int - RewardBurnBips *big.Int - ProposerDepositPctg *big.Int - BasefeeMAF *big.Int - BlockTimeMAF *big.Int - ProofTimeMAF *big.Int - RewardMultiplierPctg uint64 - FeeGracePeriodPctg uint64 - FeeMaxPeriodPctg uint64 - BlockTimeCap uint64 - ProofTimeCap uint64 - BootstrapDiscountHalvingPeriod uint64 - EnableTokenomics bool - EnablePublicInputsCheck bool - EnableAnchorValidation bool +// TaikoL2EIP1559Params is an auto generated low-level Go binding around an user-defined struct. +type TaikoL2EIP1559Params struct { + Basefee uint64 + GasIssuedPerSecond uint64 + GasExcessMax uint64 + GasTarget uint64 + Ratio2x1x uint64 } // TaikoL2MetaData contains all meta data concerning the TaikoL2 contract. var TaikoL2MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ERR_INVALID_HINT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_INVALID_TX_IDX\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_PARAMS_NOT_DEFAULTS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERR_VERIFICAITON_FAILURE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_CHAIN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_GAS_PRICE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_SENDER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_PUBLIC_INPUT_HASH_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"}],\"name\":\"BlockInvalidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"}],\"name\":\"anchor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slotSmoothingFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basefeeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"rewardMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"},{\"internalType\":\"enumLibInvalidTxList.Hint\",\"name\":\"hint\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"txIdx\",\"type\":\"uint256\"}],\"name\":\"invalidateBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestSyncedL1Height\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"L2_BASEFEE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_1559_PARAMS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_CHAIN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_GOLDEN_TOUCH_K\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_SENDER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L2_PUBLIC_INPUT_HASH_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_TOO_LATE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"M1559_OUT_OF_STOCK\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"M1559_OUT_OF_STOCK\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"M1559_UNEXPECTED_CHANGE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"M1559_UNEXPECTED_CHANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"number\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"gaslimit\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"prevrandao\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"chainid\",\"type\":\"uint32\"}],\"name\":\"Anchored\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"XchainSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"GOLDEN_TOUCH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOLDEN_TOUCH_PRIVATEKEY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"__reserved1\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"l1SignalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"parentGasUsed\",\"type\":\"uint64\"}],\"name\":\"anchor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasExcess\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasIssuedPerSecond\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"timeSinceParent\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"parentGasUsed\",\"type\":\"uint64\"}],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getXchainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getXchainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasIssuedPerSecond\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasExcessMax\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTarget\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"ratio2x1x\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoL2.EIP1559Params\",\"name\":\"_param1559\",\"type\":\"tuple\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestSyncedL1Height\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"parentTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publicInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"k\",\"type\":\"uint8\"}],\"name\":\"signAnchor\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"r\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xscale\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"yscale\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", } // TaikoL2ABI is the input ABI used to generate the binding from. -const TaikoL2ABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"}],\"name\":\"BlockInvalidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"}],\"name\":\"anchor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"zkProofsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxProofsPerForkChoice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feePremiumLamda\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basefeeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"feeMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initialUncleDelay\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"config\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"},{\"internalType\":\"enumLibInvalidTxList.Reason\",\"name\":\"hint\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"txIdx\",\"type\":\"uint256\"}],\"name\":\"invalidateBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestSyncedL1Height\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publicInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]" +// Deprecated: Use TaikoL2MetaData.ABI instead. +var TaikoL2ABI = TaikoL2MetaData.ABI // TaikoL2 is an auto generated Go binding around an Ethereum contract. type TaikoL2 struct { @@ -208,6 +189,99 @@ func (_TaikoL2 *TaikoL2TransactorRaw) Transact(opts *bind.TransactOpts, method s return _TaikoL2.Contract.contract.Transact(opts, method, params...) } +// GOLDENTOUCHADDRESS is a free data retrieval call binding the contract method 0x9ee512f2. +// +// Solidity: function GOLDEN_TOUCH_ADDRESS() view returns(address) +func (_TaikoL2 *TaikoL2Caller) GOLDENTOUCHADDRESS(opts *bind.CallOpts) (common.Address, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "GOLDEN_TOUCH_ADDRESS") + + if err != nil { + return *new(common.Address), err + } + + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) + + return out0, err + +} + +// GOLDENTOUCHADDRESS is a free data retrieval call binding the contract method 0x9ee512f2. +// +// Solidity: function GOLDEN_TOUCH_ADDRESS() view returns(address) +func (_TaikoL2 *TaikoL2Session) GOLDENTOUCHADDRESS() (common.Address, error) { + return _TaikoL2.Contract.GOLDENTOUCHADDRESS(&_TaikoL2.CallOpts) +} + +// GOLDENTOUCHADDRESS is a free data retrieval call binding the contract method 0x9ee512f2. +// +// Solidity: function GOLDEN_TOUCH_ADDRESS() view returns(address) +func (_TaikoL2 *TaikoL2CallerSession) GOLDENTOUCHADDRESS() (common.Address, error) { + return _TaikoL2.Contract.GOLDENTOUCHADDRESS(&_TaikoL2.CallOpts) +} + +// GOLDENTOUCHPRIVATEKEY is a free data retrieval call binding the contract method 0x10da3738. +// +// Solidity: function GOLDEN_TOUCH_PRIVATEKEY() view returns(uint256) +func (_TaikoL2 *TaikoL2Caller) GOLDENTOUCHPRIVATEKEY(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "GOLDEN_TOUCH_PRIVATEKEY") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// GOLDENTOUCHPRIVATEKEY is a free data retrieval call binding the contract method 0x10da3738. +// +// Solidity: function GOLDEN_TOUCH_PRIVATEKEY() view returns(uint256) +func (_TaikoL2 *TaikoL2Session) GOLDENTOUCHPRIVATEKEY() (*big.Int, error) { + return _TaikoL2.Contract.GOLDENTOUCHPRIVATEKEY(&_TaikoL2.CallOpts) +} + +// GOLDENTOUCHPRIVATEKEY is a free data retrieval call binding the contract method 0x10da3738. +// +// Solidity: function GOLDEN_TOUCH_PRIVATEKEY() view returns(uint256) +func (_TaikoL2 *TaikoL2CallerSession) GOLDENTOUCHPRIVATEKEY() (*big.Int, error) { + return _TaikoL2.Contract.GOLDENTOUCHPRIVATEKEY(&_TaikoL2.CallOpts) +} + +// Reserved1 is a free data retrieval call binding the contract method 0xf5d11edc. +// +// Solidity: function __reserved1() view returns(uint64) +func (_TaikoL2 *TaikoL2Caller) Reserved1(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "__reserved1") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// Reserved1 is a free data retrieval call binding the contract method 0xf5d11edc. +// +// Solidity: function __reserved1() view returns(uint64) +func (_TaikoL2 *TaikoL2Session) Reserved1() (uint64, error) { + return _TaikoL2.Contract.Reserved1(&_TaikoL2.CallOpts) +} + +// Reserved1 is a free data retrieval call binding the contract method 0xf5d11edc. +// +// Solidity: function __reserved1() view returns(uint64) +func (_TaikoL2 *TaikoL2CallerSession) Reserved1() (uint64, error) { + return _TaikoL2.Contract.Reserved1(&_TaikoL2.CallOpts) +} + // AddressManager is a free data retrieval call binding the contract method 0x3ab76e9f. // // Solidity: function addressManager() view returns(address) @@ -239,6 +313,99 @@ func (_TaikoL2 *TaikoL2CallerSession) AddressManager() (common.Address, error) { return _TaikoL2.Contract.AddressManager(&_TaikoL2.CallOpts) } +// GasExcess is a free data retrieval call binding the contract method 0xf535bd56. +// +// Solidity: function gasExcess() view returns(uint64) +func (_TaikoL2 *TaikoL2Caller) GasExcess(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "gasExcess") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// GasExcess is a free data retrieval call binding the contract method 0xf535bd56. +// +// Solidity: function gasExcess() view returns(uint64) +func (_TaikoL2 *TaikoL2Session) GasExcess() (uint64, error) { + return _TaikoL2.Contract.GasExcess(&_TaikoL2.CallOpts) +} + +// GasExcess is a free data retrieval call binding the contract method 0xf535bd56. +// +// Solidity: function gasExcess() view returns(uint64) +func (_TaikoL2 *TaikoL2CallerSession) GasExcess() (uint64, error) { + return _TaikoL2.Contract.GasExcess(&_TaikoL2.CallOpts) +} + +// GasIssuedPerSecond is a free data retrieval call binding the contract method 0x210c9fe8. +// +// Solidity: function gasIssuedPerSecond() view returns(uint64) +func (_TaikoL2 *TaikoL2Caller) GasIssuedPerSecond(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "gasIssuedPerSecond") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// GasIssuedPerSecond is a free data retrieval call binding the contract method 0x210c9fe8. +// +// Solidity: function gasIssuedPerSecond() view returns(uint64) +func (_TaikoL2 *TaikoL2Session) GasIssuedPerSecond() (uint64, error) { + return _TaikoL2.Contract.GasIssuedPerSecond(&_TaikoL2.CallOpts) +} + +// GasIssuedPerSecond is a free data retrieval call binding the contract method 0x210c9fe8. +// +// Solidity: function gasIssuedPerSecond() view returns(uint64) +func (_TaikoL2 *TaikoL2CallerSession) GasIssuedPerSecond() (uint64, error) { + return _TaikoL2.Contract.GasIssuedPerSecond(&_TaikoL2.CallOpts) +} + +// GetBasefee is a free data retrieval call binding the contract method 0xe1848cb0. +// +// Solidity: function getBasefee(uint32 timeSinceParent, uint64 gasLimit, uint64 parentGasUsed) view returns(uint256 _basefee) +func (_TaikoL2 *TaikoL2Caller) GetBasefee(opts *bind.CallOpts, timeSinceParent uint32, gasLimit uint64, parentGasUsed uint64) (*big.Int, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "getBasefee", timeSinceParent, gasLimit, parentGasUsed) + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// GetBasefee is a free data retrieval call binding the contract method 0xe1848cb0. +// +// Solidity: function getBasefee(uint32 timeSinceParent, uint64 gasLimit, uint64 parentGasUsed) view returns(uint256 _basefee) +func (_TaikoL2 *TaikoL2Session) GetBasefee(timeSinceParent uint32, gasLimit uint64, parentGasUsed uint64) (*big.Int, error) { + return _TaikoL2.Contract.GetBasefee(&_TaikoL2.CallOpts, timeSinceParent, gasLimit, parentGasUsed) +} + +// GetBasefee is a free data retrieval call binding the contract method 0xe1848cb0. +// +// Solidity: function getBasefee(uint32 timeSinceParent, uint64 gasLimit, uint64 parentGasUsed) view returns(uint256 _basefee) +func (_TaikoL2 *TaikoL2CallerSession) GetBasefee(timeSinceParent uint32, gasLimit uint64, parentGasUsed uint64) (*big.Int, error) { + return _TaikoL2.Contract.GetBasefee(&_TaikoL2.CallOpts, timeSinceParent, gasLimit, parentGasUsed) +} + // GetBlockHash is a free data retrieval call binding the contract method 0xee82ac5e. // // Solidity: function getBlockHash(uint256 number) view returns(bytes32) @@ -270,43 +437,43 @@ func (_TaikoL2 *TaikoL2CallerSession) GetBlockHash(number *big.Int) ([32]byte, e return _TaikoL2.Contract.GetBlockHash(&_TaikoL2.CallOpts, number) } -// GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getConfig() view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool) config) -func (_TaikoL2 *TaikoL2Caller) GetConfig(opts *bind.CallOpts) (TaikoDataConfig, error) { +// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2Caller) GetXchainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL2.contract.Call(opts, &out, "getConfig") + err := _TaikoL2.contract.Call(opts, &out, "getXchainBlockHash", number) if err != nil { - return *new(TaikoDataConfig), err + return *new([32]byte), err } - out0 := *abi.ConvertType(out[0], new(TaikoDataConfig)).(*TaikoDataConfig) + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) return out0, err } -// GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getConfig() view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool) config) -func (_TaikoL2 *TaikoL2Session) GetConfig() (TaikoDataConfig, error) { - return _TaikoL2.Contract.GetConfig(&_TaikoL2.CallOpts) +// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2Session) GetXchainBlockHash(number *big.Int) ([32]byte, error) { + return _TaikoL2.Contract.GetXchainBlockHash(&_TaikoL2.CallOpts, number) } -// GetConfig is a free data retrieval call binding the contract method 0xc3f909d4. +// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getConfig() view returns((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint64,uint64,uint64,uint64,bool,bool,bool) config) -func (_TaikoL2 *TaikoL2CallerSession) GetConfig() (TaikoDataConfig, error) { - return _TaikoL2.Contract.GetConfig(&_TaikoL2.CallOpts) +// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2CallerSession) GetXchainBlockHash(number *big.Int) ([32]byte, error) { + return _TaikoL2.Contract.GetXchainBlockHash(&_TaikoL2.CallOpts, number) } -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL2 *TaikoL2Caller) GetLatestSyncedHeader(opts *bind.CallOpts) ([32]byte, error) { +// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2Caller) GetXchainSignalRoot(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL2.contract.Call(opts, &out, "getLatestSyncedHeader") + err := _TaikoL2.contract.Call(opts, &out, "getXchainSignalRoot", number) if err != nil { return *new([32]byte), err @@ -318,80 +485,142 @@ func (_TaikoL2 *TaikoL2Caller) GetLatestSyncedHeader(opts *bind.CallOpts) ([32]b } -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL2 *TaikoL2Session) GetLatestSyncedHeader() ([32]byte, error) { - return _TaikoL2.Contract.GetLatestSyncedHeader(&_TaikoL2.CallOpts) +// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2Session) GetXchainSignalRoot(number *big.Int) ([32]byte, error) { + return _TaikoL2.Contract.GetXchainSignalRoot(&_TaikoL2.CallOpts, number) } -// GetLatestSyncedHeader is a free data retrieval call binding the contract method 0x5155ce9f. +// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getLatestSyncedHeader() view returns(bytes32) -func (_TaikoL2 *TaikoL2CallerSession) GetLatestSyncedHeader() ([32]byte, error) { - return _TaikoL2.Contract.GetLatestSyncedHeader(&_TaikoL2.CallOpts) +// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2CallerSession) GetXchainSignalRoot(number *big.Int) ([32]byte, error) { + return _TaikoL2.Contract.GetXchainSignalRoot(&_TaikoL2.CallOpts, number) } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// LatestSyncedL1Height is a free data retrieval call binding the contract method 0xc7b96908. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2Caller) GetSyncedHeader(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { +// Solidity: function latestSyncedL1Height() view returns(uint64) +func (_TaikoL2 *TaikoL2Caller) LatestSyncedL1Height(opts *bind.CallOpts) (uint64, error) { var out []interface{} - err := _TaikoL2.contract.Call(opts, &out, "getSyncedHeader", number) + err := _TaikoL2.contract.Call(opts, &out, "latestSyncedL1Height") if err != nil { - return *new([32]byte), err + return *new(uint64), err } - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) return out0, err } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// LatestSyncedL1Height is a free data retrieval call binding the contract method 0xc7b96908. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2Session) GetSyncedHeader(number *big.Int) ([32]byte, error) { - return _TaikoL2.Contract.GetSyncedHeader(&_TaikoL2.CallOpts, number) +// Solidity: function latestSyncedL1Height() view returns(uint64) +func (_TaikoL2 *TaikoL2Session) LatestSyncedL1Height() (uint64, error) { + return _TaikoL2.Contract.LatestSyncedL1Height(&_TaikoL2.CallOpts) } -// GetSyncedHeader is a free data retrieval call binding the contract method 0x25bf86f2. +// LatestSyncedL1Height is a free data retrieval call binding the contract method 0xc7b96908. // -// Solidity: function getSyncedHeader(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2CallerSession) GetSyncedHeader(number *big.Int) ([32]byte, error) { - return _TaikoL2.Contract.GetSyncedHeader(&_TaikoL2.CallOpts, number) +// Solidity: function latestSyncedL1Height() view returns(uint64) +func (_TaikoL2 *TaikoL2CallerSession) LatestSyncedL1Height() (uint64, error) { + return _TaikoL2.Contract.LatestSyncedL1Height(&_TaikoL2.CallOpts) } -// LatestSyncedL1Height is a free data retrieval call binding the contract method 0xc7b96908. +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // -// Solidity: function latestSyncedL1Height() view returns(uint256) -func (_TaikoL2 *TaikoL2Caller) LatestSyncedL1Height(opts *bind.CallOpts) (*big.Int, error) { +// Solidity: function owner() view returns(address) +func (_TaikoL2 *TaikoL2Caller) Owner(opts *bind.CallOpts) (common.Address, error) { var out []interface{} - err := _TaikoL2.contract.Call(opts, &out, "latestSyncedL1Height") + err := _TaikoL2.contract.Call(opts, &out, "owner") if err != nil { - return *new(*big.Int), err + return *new(common.Address), err } - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) return out0, err } -// LatestSyncedL1Height is a free data retrieval call binding the contract method 0xc7b96908. +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // -// Solidity: function latestSyncedL1Height() view returns(uint256) -func (_TaikoL2 *TaikoL2Session) LatestSyncedL1Height() (*big.Int, error) { - return _TaikoL2.Contract.LatestSyncedL1Height(&_TaikoL2.CallOpts) +// Solidity: function owner() view returns(address) +func (_TaikoL2 *TaikoL2Session) Owner() (common.Address, error) { + return _TaikoL2.Contract.Owner(&_TaikoL2.CallOpts) } -// LatestSyncedL1Height is a free data retrieval call binding the contract method 0xc7b96908. +// Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // -// Solidity: function latestSyncedL1Height() view returns(uint256) -func (_TaikoL2 *TaikoL2CallerSession) LatestSyncedL1Height() (*big.Int, error) { - return _TaikoL2.Contract.LatestSyncedL1Height(&_TaikoL2.CallOpts) +// Solidity: function owner() view returns(address) +func (_TaikoL2 *TaikoL2CallerSession) Owner() (common.Address, error) { + return _TaikoL2.Contract.Owner(&_TaikoL2.CallOpts) +} + +// ParentTimestamp is a free data retrieval call binding the contract method 0x539b8ade. +// +// Solidity: function parentTimestamp() view returns(uint64) +func (_TaikoL2 *TaikoL2Caller) ParentTimestamp(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "parentTimestamp") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// ParentTimestamp is a free data retrieval call binding the contract method 0x539b8ade. +// +// Solidity: function parentTimestamp() view returns(uint64) +func (_TaikoL2 *TaikoL2Session) ParentTimestamp() (uint64, error) { + return _TaikoL2.Contract.ParentTimestamp(&_TaikoL2.CallOpts) +} + +// ParentTimestamp is a free data retrieval call binding the contract method 0x539b8ade. +// +// Solidity: function parentTimestamp() view returns(uint64) +func (_TaikoL2 *TaikoL2CallerSession) ParentTimestamp() (uint64, error) { + return _TaikoL2.Contract.ParentTimestamp(&_TaikoL2.CallOpts) +} + +// PublicInputHash is a free data retrieval call binding the contract method 0xdac5df78. +// +// Solidity: function publicInputHash() view returns(bytes32) +func (_TaikoL2 *TaikoL2Caller) PublicInputHash(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "publicInputHash") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// PublicInputHash is a free data retrieval call binding the contract method 0xdac5df78. +// +// Solidity: function publicInputHash() view returns(bytes32) +func (_TaikoL2 *TaikoL2Session) PublicInputHash() ([32]byte, error) { + return _TaikoL2.Contract.PublicInputHash(&_TaikoL2.CallOpts) +} + +// PublicInputHash is a free data retrieval call binding the contract method 0xdac5df78. +// +// Solidity: function publicInputHash() view returns(bytes32) +func (_TaikoL2 *TaikoL2CallerSession) PublicInputHash() ([32]byte, error) { + return _TaikoL2.Contract.PublicInputHash(&_TaikoL2.CallOpts) } // Resolve is a free data retrieval call binding the contract method 0x0ca4dffd. @@ -456,51 +685,205 @@ func (_TaikoL2 *TaikoL2CallerSession) Resolve0(chainId *big.Int, name string, al return _TaikoL2.Contract.Resolve0(&_TaikoL2.CallOpts, chainId, name, allowZeroAddress) } -// Anchor is a paid mutator transaction binding the contract method 0xa0ca2d08. +// SignAnchor is a free data retrieval call binding the contract method 0x591aad8a. +// +// Solidity: function signAnchor(bytes32 digest, uint8 k) view returns(uint8 v, uint256 r, uint256 s) +func (_TaikoL2 *TaikoL2Caller) SignAnchor(opts *bind.CallOpts, digest [32]byte, k uint8) (struct { + V uint8 + R *big.Int + S *big.Int +}, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "signAnchor", digest, k) + + outstruct := new(struct { + V uint8 + R *big.Int + S *big.Int + }) + if err != nil { + return *outstruct, err + } + + outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) + outstruct.R = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) + outstruct.S = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) + + return *outstruct, err + +} + +// SignAnchor is a free data retrieval call binding the contract method 0x591aad8a. +// +// Solidity: function signAnchor(bytes32 digest, uint8 k) view returns(uint8 v, uint256 r, uint256 s) +func (_TaikoL2 *TaikoL2Session) SignAnchor(digest [32]byte, k uint8) (struct { + V uint8 + R *big.Int + S *big.Int +}, error) { + return _TaikoL2.Contract.SignAnchor(&_TaikoL2.CallOpts, digest, k) +} + +// SignAnchor is a free data retrieval call binding the contract method 0x591aad8a. +// +// Solidity: function signAnchor(bytes32 digest, uint8 k) view returns(uint8 v, uint256 r, uint256 s) +func (_TaikoL2 *TaikoL2CallerSession) SignAnchor(digest [32]byte, k uint8) (struct { + V uint8 + R *big.Int + S *big.Int +}, error) { + return _TaikoL2.Contract.SignAnchor(&_TaikoL2.CallOpts, digest, k) +} + +// Xscale is a free data retrieval call binding the contract method 0xf5c97740. +// +// Solidity: function xscale() view returns(uint64) +func (_TaikoL2 *TaikoL2Caller) Xscale(opts *bind.CallOpts) (uint64, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "xscale") + + if err != nil { + return *new(uint64), err + } + + out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) + + return out0, err + +} + +// Xscale is a free data retrieval call binding the contract method 0xf5c97740. +// +// Solidity: function xscale() view returns(uint64) +func (_TaikoL2 *TaikoL2Session) Xscale() (uint64, error) { + return _TaikoL2.Contract.Xscale(&_TaikoL2.CallOpts) +} + +// Xscale is a free data retrieval call binding the contract method 0xf5c97740. +// +// Solidity: function xscale() view returns(uint64) +func (_TaikoL2 *TaikoL2CallerSession) Xscale() (uint64, error) { + return _TaikoL2.Contract.Xscale(&_TaikoL2.CallOpts) +} + +// Yscale is a free data retrieval call binding the contract method 0x3fa85350. // -// Solidity: function anchor(uint256 l1Height, bytes32 l1Hash) returns() -func (_TaikoL2 *TaikoL2Transactor) Anchor(opts *bind.TransactOpts, l1Height *big.Int, l1Hash [32]byte) (*types.Transaction, error) { - return _TaikoL2.contract.Transact(opts, "anchor", l1Height, l1Hash) +// Solidity: function yscale() view returns(uint128) +func (_TaikoL2 *TaikoL2Caller) Yscale(opts *bind.CallOpts) (*big.Int, error) { + var out []interface{} + err := _TaikoL2.contract.Call(opts, &out, "yscale") + + if err != nil { + return *new(*big.Int), err + } + + out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) + + return out0, err + +} + +// Yscale is a free data retrieval call binding the contract method 0x3fa85350. +// +// Solidity: function yscale() view returns(uint128) +func (_TaikoL2 *TaikoL2Session) Yscale() (*big.Int, error) { + return _TaikoL2.Contract.Yscale(&_TaikoL2.CallOpts) +} + +// Yscale is a free data retrieval call binding the contract method 0x3fa85350. +// +// Solidity: function yscale() view returns(uint128) +func (_TaikoL2 *TaikoL2CallerSession) Yscale() (*big.Int, error) { + return _TaikoL2.Contract.Yscale(&_TaikoL2.CallOpts) +} + +// Anchor is a paid mutator transaction binding the contract method 0x3d384a4b. +// +// Solidity: function anchor(bytes32 l1Hash, bytes32 l1SignalRoot, uint64 l1Height, uint64 parentGasUsed) returns() +func (_TaikoL2 *TaikoL2Transactor) Anchor(opts *bind.TransactOpts, l1Hash [32]byte, l1SignalRoot [32]byte, l1Height uint64, parentGasUsed uint64) (*types.Transaction, error) { + return _TaikoL2.contract.Transact(opts, "anchor", l1Hash, l1SignalRoot, l1Height, parentGasUsed) +} + +// Anchor is a paid mutator transaction binding the contract method 0x3d384a4b. +// +// Solidity: function anchor(bytes32 l1Hash, bytes32 l1SignalRoot, uint64 l1Height, uint64 parentGasUsed) returns() +func (_TaikoL2 *TaikoL2Session) Anchor(l1Hash [32]byte, l1SignalRoot [32]byte, l1Height uint64, parentGasUsed uint64) (*types.Transaction, error) { + return _TaikoL2.Contract.Anchor(&_TaikoL2.TransactOpts, l1Hash, l1SignalRoot, l1Height, parentGasUsed) } -// Anchor is a paid mutator transaction binding the contract method 0xa0ca2d08. +// Anchor is a paid mutator transaction binding the contract method 0x3d384a4b. // -// Solidity: function anchor(uint256 l1Height, bytes32 l1Hash) returns() -func (_TaikoL2 *TaikoL2Session) Anchor(l1Height *big.Int, l1Hash [32]byte) (*types.Transaction, error) { - return _TaikoL2.Contract.Anchor(&_TaikoL2.TransactOpts, l1Height, l1Hash) +// Solidity: function anchor(bytes32 l1Hash, bytes32 l1SignalRoot, uint64 l1Height, uint64 parentGasUsed) returns() +func (_TaikoL2 *TaikoL2TransactorSession) Anchor(l1Hash [32]byte, l1SignalRoot [32]byte, l1Height uint64, parentGasUsed uint64) (*types.Transaction, error) { + return _TaikoL2.Contract.Anchor(&_TaikoL2.TransactOpts, l1Hash, l1SignalRoot, l1Height, parentGasUsed) } -// Anchor is a paid mutator transaction binding the contract method 0xa0ca2d08. +// Init is a paid mutator transaction binding the contract method 0x8f3ca30d. // -// Solidity: function anchor(uint256 l1Height, bytes32 l1Hash) returns() -func (_TaikoL2 *TaikoL2TransactorSession) Anchor(l1Height *big.Int, l1Hash [32]byte) (*types.Transaction, error) { - return _TaikoL2.Contract.Anchor(&_TaikoL2.TransactOpts, l1Height, l1Hash) +// Solidity: function init(address _addressManager, (uint64,uint64,uint64,uint64,uint64) _param1559) returns() +func (_TaikoL2 *TaikoL2Transactor) Init(opts *bind.TransactOpts, _addressManager common.Address, _param1559 TaikoL2EIP1559Params) (*types.Transaction, error) { + return _TaikoL2.contract.Transact(opts, "init", _addressManager, _param1559) } -// InvalidateBlock is a paid mutator transaction binding the contract method 0x975e09a0. +// Init is a paid mutator transaction binding the contract method 0x8f3ca30d. // -// Solidity: function invalidateBlock(bytes txList, uint8 hint, uint256 txIdx) returns() -func (_TaikoL2 *TaikoL2Transactor) InvalidateBlock(opts *bind.TransactOpts, txList []byte, hint uint8, txIdx *big.Int) (*types.Transaction, error) { - return _TaikoL2.contract.Transact(opts, "invalidateBlock", txList, hint, txIdx) +// Solidity: function init(address _addressManager, (uint64,uint64,uint64,uint64,uint64) _param1559) returns() +func (_TaikoL2 *TaikoL2Session) Init(_addressManager common.Address, _param1559 TaikoL2EIP1559Params) (*types.Transaction, error) { + return _TaikoL2.Contract.Init(&_TaikoL2.TransactOpts, _addressManager, _param1559) } -// InvalidateBlock is a paid mutator transaction binding the contract method 0x975e09a0. +// Init is a paid mutator transaction binding the contract method 0x8f3ca30d. // -// Solidity: function invalidateBlock(bytes txList, uint8 hint, uint256 txIdx) returns() -func (_TaikoL2 *TaikoL2Session) InvalidateBlock(txList []byte, hint uint8, txIdx *big.Int) (*types.Transaction, error) { - return _TaikoL2.Contract.InvalidateBlock(&_TaikoL2.TransactOpts, txList, hint, txIdx) +// Solidity: function init(address _addressManager, (uint64,uint64,uint64,uint64,uint64) _param1559) returns() +func (_TaikoL2 *TaikoL2TransactorSession) Init(_addressManager common.Address, _param1559 TaikoL2EIP1559Params) (*types.Transaction, error) { + return _TaikoL2.Contract.Init(&_TaikoL2.TransactOpts, _addressManager, _param1559) } -// InvalidateBlock is a paid mutator transaction binding the contract method 0x975e09a0. +// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // -// Solidity: function invalidateBlock(bytes txList, uint8 hint, uint256 txIdx) returns() -func (_TaikoL2 *TaikoL2TransactorSession) InvalidateBlock(txList []byte, hint uint8, txIdx *big.Int) (*types.Transaction, error) { - return _TaikoL2.Contract.InvalidateBlock(&_TaikoL2.TransactOpts, txList, hint, txIdx) +// Solidity: function renounceOwnership() returns() +func (_TaikoL2 *TaikoL2Transactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { + return _TaikoL2.contract.Transact(opts, "renounceOwnership") } -// TaikoL2BlockInvalidatedIterator is returned from FilterBlockInvalidated and is used to iterate over the raw logs and unpacked data for BlockInvalidated events raised by the TaikoL2 contract. -type TaikoL2BlockInvalidatedIterator struct { - Event *TaikoL2BlockInvalidated // Event containing the contract specifics and raw log +// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. +// +// Solidity: function renounceOwnership() returns() +func (_TaikoL2 *TaikoL2Session) RenounceOwnership() (*types.Transaction, error) { + return _TaikoL2.Contract.RenounceOwnership(&_TaikoL2.TransactOpts) +} + +// RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. +// +// Solidity: function renounceOwnership() returns() +func (_TaikoL2 *TaikoL2TransactorSession) RenounceOwnership() (*types.Transaction, error) { + return _TaikoL2.Contract.RenounceOwnership(&_TaikoL2.TransactOpts) +} + +// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. +// +// Solidity: function transferOwnership(address newOwner) returns() +func (_TaikoL2 *TaikoL2Transactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { + return _TaikoL2.contract.Transact(opts, "transferOwnership", newOwner) +} + +// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. +// +// Solidity: function transferOwnership(address newOwner) returns() +func (_TaikoL2 *TaikoL2Session) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { + return _TaikoL2.Contract.TransferOwnership(&_TaikoL2.TransactOpts, newOwner) +} + +// TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. +// +// Solidity: function transferOwnership(address newOwner) returns() +func (_TaikoL2 *TaikoL2TransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { + return _TaikoL2.Contract.TransferOwnership(&_TaikoL2.TransactOpts, newOwner) +} + +// TaikoL2AnchoredIterator is returned from FilterAnchored and is used to iterate over the raw logs and unpacked data for Anchored events raised by the TaikoL2 contract. +type TaikoL2AnchoredIterator struct { + Event *TaikoL2Anchored // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -514,7 +897,7 @@ type TaikoL2BlockInvalidatedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL2BlockInvalidatedIterator) Next() bool { +func (it *TaikoL2AnchoredIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -523,7 +906,7 @@ func (it *TaikoL2BlockInvalidatedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL2BlockInvalidated) + it.Event = new(TaikoL2Anchored) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -538,7 +921,7 @@ func (it *TaikoL2BlockInvalidatedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL2BlockInvalidated) + it.Event = new(TaikoL2Anchored) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -554,51 +937,335 @@ func (it *TaikoL2BlockInvalidatedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL2BlockInvalidatedIterator) Error() error { +func (it *TaikoL2AnchoredIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL2BlockInvalidatedIterator) Close() error { +func (it *TaikoL2AnchoredIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL2BlockInvalidated represents a BlockInvalidated event raised by the TaikoL2 contract. -type TaikoL2BlockInvalidated struct { - TxListHash [32]byte +// TaikoL2Anchored represents a Anchored event raised by the TaikoL2 contract. +type TaikoL2Anchored struct { + Number uint64 + Basefee uint64 + Gaslimit uint64 + Timestamp uint64 + ParentHash [32]byte + Prevrandao *big.Int + Coinbase common.Address + Chainid uint32 Raw types.Log // Blockchain specific contextual infos } -// FilterBlockInvalidated is a free log retrieval operation binding the contract event 0x64b299ff9f8ba674288abb53380419048a4271dda03b837ecba6b40e6ddea4a2. +// FilterAnchored is a free log retrieval operation binding the contract event 0x4dcb01f99c4a2c27a16ab38d00ec92434f8231be81fa62e058f260d3c7156029. +// +// Solidity: event Anchored(uint64 number, uint64 basefee, uint64 gaslimit, uint64 timestamp, bytes32 parentHash, uint256 prevrandao, address coinbase, uint32 chainid) +func (_TaikoL2 *TaikoL2Filterer) FilterAnchored(opts *bind.FilterOpts) (*TaikoL2AnchoredIterator, error) { + + logs, sub, err := _TaikoL2.contract.FilterLogs(opts, "Anchored") + if err != nil { + return nil, err + } + return &TaikoL2AnchoredIterator{contract: _TaikoL2.contract, event: "Anchored", logs: logs, sub: sub}, nil +} + +// WatchAnchored is a free log subscription operation binding the contract event 0x4dcb01f99c4a2c27a16ab38d00ec92434f8231be81fa62e058f260d3c7156029. +// +// Solidity: event Anchored(uint64 number, uint64 basefee, uint64 gaslimit, uint64 timestamp, bytes32 parentHash, uint256 prevrandao, address coinbase, uint32 chainid) +func (_TaikoL2 *TaikoL2Filterer) WatchAnchored(opts *bind.WatchOpts, sink chan<- *TaikoL2Anchored) (event.Subscription, error) { + + logs, sub, err := _TaikoL2.contract.WatchLogs(opts, "Anchored") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(TaikoL2Anchored) + if err := _TaikoL2.contract.UnpackLog(event, "Anchored", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseAnchored is a log parse operation binding the contract event 0x4dcb01f99c4a2c27a16ab38d00ec92434f8231be81fa62e058f260d3c7156029. +// +// Solidity: event Anchored(uint64 number, uint64 basefee, uint64 gaslimit, uint64 timestamp, bytes32 parentHash, uint256 prevrandao, address coinbase, uint32 chainid) +func (_TaikoL2 *TaikoL2Filterer) ParseAnchored(log types.Log) (*TaikoL2Anchored, error) { + event := new(TaikoL2Anchored) + if err := _TaikoL2.contract.UnpackLog(event, "Anchored", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// TaikoL2InitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the TaikoL2 contract. +type TaikoL2InitializedIterator struct { + Event *TaikoL2Initialized // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *TaikoL2InitializedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(TaikoL2Initialized) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(TaikoL2Initialized) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *TaikoL2InitializedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *TaikoL2InitializedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// TaikoL2Initialized represents a Initialized event raised by the TaikoL2 contract. +type TaikoL2Initialized struct { + Version uint8 + Raw types.Log // Blockchain specific contextual infos +} + +// FilterInitialized is a free log retrieval operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_TaikoL2 *TaikoL2Filterer) FilterInitialized(opts *bind.FilterOpts) (*TaikoL2InitializedIterator, error) { + + logs, sub, err := _TaikoL2.contract.FilterLogs(opts, "Initialized") + if err != nil { + return nil, err + } + return &TaikoL2InitializedIterator{contract: _TaikoL2.contract, event: "Initialized", logs: logs, sub: sub}, nil +} + +// WatchInitialized is a free log subscription operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_TaikoL2 *TaikoL2Filterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *TaikoL2Initialized) (event.Subscription, error) { + + logs, sub, err := _TaikoL2.contract.WatchLogs(opts, "Initialized") + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(TaikoL2Initialized) + if err := _TaikoL2.contract.UnpackLog(event, "Initialized", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseInitialized is a log parse operation binding the contract event 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. +// +// Solidity: event Initialized(uint8 version) +func (_TaikoL2 *TaikoL2Filterer) ParseInitialized(log types.Log) (*TaikoL2Initialized, error) { + event := new(TaikoL2Initialized) + if err := _TaikoL2.contract.UnpackLog(event, "Initialized", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// TaikoL2OwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the TaikoL2 contract. +type TaikoL2OwnershipTransferredIterator struct { + Event *TaikoL2OwnershipTransferred // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *TaikoL2OwnershipTransferredIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(TaikoL2OwnershipTransferred) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(TaikoL2OwnershipTransferred) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *TaikoL2OwnershipTransferredIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *TaikoL2OwnershipTransferredIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// TaikoL2OwnershipTransferred represents a OwnershipTransferred event raised by the TaikoL2 contract. +type TaikoL2OwnershipTransferred struct { + PreviousOwner common.Address + NewOwner common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // -// Solidity: event BlockInvalidated(bytes32 indexed txListHash) -func (_TaikoL2 *TaikoL2Filterer) FilterBlockInvalidated(opts *bind.FilterOpts, txListHash [][32]byte) (*TaikoL2BlockInvalidatedIterator, error) { +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_TaikoL2 *TaikoL2Filterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*TaikoL2OwnershipTransferredIterator, error) { - var txListHashRule []interface{} - for _, txListHashItem := range txListHash { - txListHashRule = append(txListHashRule, txListHashItem) + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) } - logs, sub, err := _TaikoL2.contract.FilterLogs(opts, "BlockInvalidated", txListHashRule) + logs, sub, err := _TaikoL2.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } - return &TaikoL2BlockInvalidatedIterator{contract: _TaikoL2.contract, event: "BlockInvalidated", logs: logs, sub: sub}, nil + return &TaikoL2OwnershipTransferredIterator{contract: _TaikoL2.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil } -// WatchBlockInvalidated is a free log subscription operation binding the contract event 0x64b299ff9f8ba674288abb53380419048a4271dda03b837ecba6b40e6ddea4a2. +// WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // -// Solidity: event BlockInvalidated(bytes32 indexed txListHash) -func (_TaikoL2 *TaikoL2Filterer) WatchBlockInvalidated(opts *bind.WatchOpts, sink chan<- *TaikoL2BlockInvalidated, txListHash [][32]byte) (event.Subscription, error) { +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_TaikoL2 *TaikoL2Filterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *TaikoL2OwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { - var txListHashRule []interface{} - for _, txListHashItem := range txListHash { - txListHashRule = append(txListHashRule, txListHashItem) + var previousOwnerRule []interface{} + for _, previousOwnerItem := range previousOwner { + previousOwnerRule = append(previousOwnerRule, previousOwnerItem) + } + var newOwnerRule []interface{} + for _, newOwnerItem := range newOwner { + newOwnerRule = append(newOwnerRule, newOwnerItem) } - logs, sub, err := _TaikoL2.contract.WatchLogs(opts, "BlockInvalidated", txListHashRule) + logs, sub, err := _TaikoL2.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) if err != nil { return nil, err } @@ -608,8 +1275,8 @@ func (_TaikoL2 *TaikoL2Filterer) WatchBlockInvalidated(opts *bind.WatchOpts, sin select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL2BlockInvalidated) - if err := _TaikoL2.contract.UnpackLog(event, "BlockInvalidated", log); err != nil { + event := new(TaikoL2OwnershipTransferred) + if err := _TaikoL2.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return err } event.Raw = log @@ -630,21 +1297,21 @@ func (_TaikoL2 *TaikoL2Filterer) WatchBlockInvalidated(opts *bind.WatchOpts, sin }), nil } -// ParseBlockInvalidated is a log parse operation binding the contract event 0x64b299ff9f8ba674288abb53380419048a4271dda03b837ecba6b40e6ddea4a2. +// ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. // -// Solidity: event BlockInvalidated(bytes32 indexed txListHash) -func (_TaikoL2 *TaikoL2Filterer) ParseBlockInvalidated(log types.Log) (*TaikoL2BlockInvalidated, error) { - event := new(TaikoL2BlockInvalidated) - if err := _TaikoL2.contract.UnpackLog(event, "BlockInvalidated", log); err != nil { +// Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) +func (_TaikoL2 *TaikoL2Filterer) ParseOwnershipTransferred(log types.Log) (*TaikoL2OwnershipTransferred, error) { + event := new(TaikoL2OwnershipTransferred) + if err := _TaikoL2.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { return nil, err } event.Raw = log return event, nil } -// TaikoL2HeaderSyncedIterator is returned from FilterHeaderSynced and is used to iterate over the raw logs and unpacked data for HeaderSynced events raised by the TaikoL2 contract. -type TaikoL2HeaderSyncedIterator struct { - Event *TaikoL2HeaderSynced // Event containing the contract specifics and raw log +// TaikoL2XchainSyncedIterator is returned from FilterXchainSynced and is used to iterate over the raw logs and unpacked data for XchainSynced events raised by the TaikoL2 contract. +type TaikoL2XchainSyncedIterator struct { + Event *TaikoL2XchainSynced // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -658,7 +1325,7 @@ type TaikoL2HeaderSyncedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL2HeaderSyncedIterator) Next() bool { +func (it *TaikoL2XchainSyncedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -667,7 +1334,7 @@ func (it *TaikoL2HeaderSyncedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL2HeaderSynced) + it.Event = new(TaikoL2XchainSynced) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -682,7 +1349,7 @@ func (it *TaikoL2HeaderSyncedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL2HeaderSynced) + it.Event = new(TaikoL2XchainSynced) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -698,52 +1365,53 @@ func (it *TaikoL2HeaderSyncedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL2HeaderSyncedIterator) Error() error { +func (it *TaikoL2XchainSyncedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL2HeaderSyncedIterator) Close() error { +func (it *TaikoL2XchainSyncedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL2HeaderSynced represents a HeaderSynced event raised by the TaikoL2 contract. -type TaikoL2HeaderSynced struct { - SrcHeight *big.Int - SrcHash [32]byte - Raw types.Log // Blockchain specific contextual infos +// TaikoL2XchainSynced represents a XchainSynced event raised by the TaikoL2 contract. +type TaikoL2XchainSynced struct { + SrcHeight *big.Int + BlockHash [32]byte + SignalRoot [32]byte + Raw types.Log // Blockchain specific contextual infos } -// FilterHeaderSynced is a free log retrieval operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// FilterXchainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL2 *TaikoL2Filterer) FilterHeaderSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL2HeaderSyncedIterator, error) { +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL2 *TaikoL2Filterer) FilterXchainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL2XchainSyncedIterator, error) { var srcHeightRule []interface{} for _, srcHeightItem := range srcHeight { srcHeightRule = append(srcHeightRule, srcHeightItem) } - logs, sub, err := _TaikoL2.contract.FilterLogs(opts, "HeaderSynced", srcHeightRule) + logs, sub, err := _TaikoL2.contract.FilterLogs(opts, "XchainSynced", srcHeightRule) if err != nil { return nil, err } - return &TaikoL2HeaderSyncedIterator{contract: _TaikoL2.contract, event: "HeaderSynced", logs: logs, sub: sub}, nil + return &TaikoL2XchainSyncedIterator{contract: _TaikoL2.contract, event: "XchainSynced", logs: logs, sub: sub}, nil } -// WatchHeaderSynced is a free log subscription operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// WatchXchainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL2 *TaikoL2Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink chan<- *TaikoL2HeaderSynced, srcHeight []*big.Int) (event.Subscription, error) { +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL2 *TaikoL2Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL2XchainSynced, srcHeight []*big.Int) (event.Subscription, error) { var srcHeightRule []interface{} for _, srcHeightItem := range srcHeight { srcHeightRule = append(srcHeightRule, srcHeightItem) } - logs, sub, err := _TaikoL2.contract.WatchLogs(opts, "HeaderSynced", srcHeightRule) + logs, sub, err := _TaikoL2.contract.WatchLogs(opts, "XchainSynced", srcHeightRule) if err != nil { return nil, err } @@ -753,8 +1421,8 @@ func (_TaikoL2 *TaikoL2Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink ch select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL2HeaderSynced) - if err := _TaikoL2.contract.UnpackLog(event, "HeaderSynced", log); err != nil { + event := new(TaikoL2XchainSynced) + if err := _TaikoL2.contract.UnpackLog(event, "XchainSynced", log); err != nil { return err } event.Raw = log @@ -775,12 +1443,12 @@ func (_TaikoL2 *TaikoL2Filterer) WatchHeaderSynced(opts *bind.WatchOpts, sink ch }), nil } -// ParseHeaderSynced is a log parse operation binding the contract event 0x58313b60ec6c5bfc381e52f0de3ede0faac3cdffea26f7d6bcc3d09b61018691. +// ParseXchainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event HeaderSynced(uint256 indexed srcHeight, bytes32 srcHash) -func (_TaikoL2 *TaikoL2Filterer) ParseHeaderSynced(log types.Log) (*TaikoL2HeaderSynced, error) { - event := new(TaikoL2HeaderSynced) - if err := _TaikoL2.contract.UnpackLog(event, "HeaderSynced", log); err != nil { +// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL2 *TaikoL2Filterer) ParseXchainSynced(log types.Log) (*TaikoL2XchainSynced, error) { + event := new(TaikoL2XchainSynced) + if err := _TaikoL2.contract.UnpackLog(event, "XchainSynced", log); err != nil { return nil, err } event.Raw = log diff --git a/packages/relayer/contracts/tokenvault/TokenVault.go b/packages/relayer/contracts/tokenvault/TokenVault.go index 41241571a6f..b56959e55c2 100644 --- a/packages/relayer/contracts/tokenvault/TokenVault.go +++ b/packages/relayer/contracts/tokenvault/TokenVault.go @@ -57,7 +57,7 @@ type TokenVaultCanonicalERC20 struct { // TokenVaultMetaData contains all meta data concerning the TokenVault contract. var TokenVaultMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_CANONICAL_TOKEN_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_AMOUNT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_CALL_VALUE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_SENDER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_SRC_CHAIN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_TO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_VALUE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_MESSAGE_NOT_FAILED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcChainId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"canonicalToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bridgedToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"canonicalTokenSymbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"canonicalTokenName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"canonicalTokenDecimal\",\"type\":\"uint8\"}],\"name\":\"BridgedERC20Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"srcChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Released\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Sent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EtherSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bridgedAddress\",\"type\":\"address\"}],\"name\":\"bridgedToCanonical\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"canonicalAddress\",\"type\":\"address\"}],\"name\":\"canonicalToBridged\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bridgedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addressManager\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"isBridgedToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBridged\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"messageDeposits\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"internalType\":\"structTokenVault.CanonicalERC20\",\"name\":\"canonicalToken\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"receiveERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"srcChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"depositValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"processingFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"releaseERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"processingFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"sendERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"processingFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"sendEther\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_CANONICAL_TOKEN_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_AMOUNT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_SENDER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_SRC_CHAIN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_TO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_INVALID_VALUE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENVAULT_MESSAGE_NOT_FAILED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcChainId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"canonicalToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"bridgedToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"canonicalTokenSymbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"canonicalTokenName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"canonicalTokenDecimal\",\"type\":\"uint8\"}],\"name\":\"BridgedERC20Deployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"srcChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Received\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Released\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Sent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EtherSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"bridgedAddress\",\"type\":\"address\"}],\"name\":\"bridgedToCanonical\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"canonicalAddress\",\"type\":\"address\"}],\"name\":\"canonicalToBridged\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bridgedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addressManager\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"isBridgedToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBridged\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"messageDeposits\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"internalType\":\"structTokenVault.CanonicalERC20\",\"name\":\"canonicalToken\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"receiveERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"srcChainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"depositValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"processingFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"structIBridge.Message\",\"name\":\"message\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"releaseERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"destChainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"processingFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"sendERC20\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", } // TokenVaultABI is the input ABI used to generate the binding from. @@ -602,27 +602,6 @@ func (_TokenVault *TokenVaultTransactorSession) SendERC20(destChainId *big.Int, return _TokenVault.Contract.SendERC20(&_TokenVault.TransactOpts, destChainId, to, token, amount, gasLimit, processingFee, refundAddress, memo) } -// SendEther is a paid mutator transaction binding the contract method 0x39da33ba. -// -// Solidity: function sendEther(uint256 destChainId, address to, uint256 gasLimit, uint256 processingFee, address refundAddress, string memo) payable returns() -func (_TokenVault *TokenVaultTransactor) SendEther(opts *bind.TransactOpts, destChainId *big.Int, to common.Address, gasLimit *big.Int, processingFee *big.Int, refundAddress common.Address, memo string) (*types.Transaction, error) { - return _TokenVault.contract.Transact(opts, "sendEther", destChainId, to, gasLimit, processingFee, refundAddress, memo) -} - -// SendEther is a paid mutator transaction binding the contract method 0x39da33ba. -// -// Solidity: function sendEther(uint256 destChainId, address to, uint256 gasLimit, uint256 processingFee, address refundAddress, string memo) payable returns() -func (_TokenVault *TokenVaultSession) SendEther(destChainId *big.Int, to common.Address, gasLimit *big.Int, processingFee *big.Int, refundAddress common.Address, memo string) (*types.Transaction, error) { - return _TokenVault.Contract.SendEther(&_TokenVault.TransactOpts, destChainId, to, gasLimit, processingFee, refundAddress, memo) -} - -// SendEther is a paid mutator transaction binding the contract method 0x39da33ba. -// -// Solidity: function sendEther(uint256 destChainId, address to, uint256 gasLimit, uint256 processingFee, address refundAddress, string memo) payable returns() -func (_TokenVault *TokenVaultTransactorSession) SendEther(destChainId *big.Int, to common.Address, gasLimit *big.Int, processingFee *big.Int, refundAddress common.Address, memo string) (*types.Transaction, error) { - return _TokenVault.Contract.SendEther(&_TokenVault.TransactOpts, destChainId, to, gasLimit, processingFee, refundAddress, memo) -} - // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() diff --git a/packages/relayer/header_syncer.go b/packages/relayer/header_syncer.go index 069feb37c6d..66210e9dc38 100644 --- a/packages/relayer/header_syncer.go +++ b/packages/relayer/header_syncer.go @@ -1,7 +1,11 @@ package relayer -import "github.com/ethereum/go-ethereum/accounts/abi/bind" +import ( + "math/big" + + "github.com/ethereum/go-ethereum/accounts/abi/bind" +) type HeaderSyncer interface { - GetLatestSyncedHeader(opts *bind.CallOpts) ([32]byte, error) + GetXchainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) } diff --git a/packages/relayer/indexer/service.go b/packages/relayer/indexer/service.go index 181f5f2eb3f..99adee651fa 100644 --- a/packages/relayer/indexer/service.go +++ b/packages/relayer/indexer/service.go @@ -15,7 +15,7 @@ import ( "github.com/ethereum/go-ethereum/rpc" "github.com/taikoxyz/taiko-mono/packages/relayer" "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/bridge" - "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/iheadersync" + "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/ixchainsync" "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/taikol1" "github.com/taikoxyz/taiko-mono/packages/relayer/message" "github.com/taikoxyz/taiko-mono/packages/relayer/proof" @@ -137,7 +137,7 @@ func NewService(opts NewServiceOpts) (*Service, error) { return nil, errors.Wrap(err, "proof.New") } - destHeaderSyncer, err := iheadersync.NewIHeaderSync(opts.DestTaikoAddress, opts.DestEthClient) + destHeaderSyncer, err := ixchainsync.NewIXchainSync(opts.DestTaikoAddress, opts.DestEthClient) if err != nil { return nil, errors.Wrap(err, "contracts.NewTaikoL2") } diff --git a/packages/relayer/message/process_message.go b/packages/relayer/message/process_message.go index c2cee038e59..0c0397dd10a 100644 --- a/packages/relayer/message/process_message.go +++ b/packages/relayer/message/process_message.go @@ -4,6 +4,7 @@ import ( "context" "encoding/hex" "fmt" + "math/big" "strings" "github.com/ethereum/go-ethereum/accounts/abi" @@ -41,7 +42,7 @@ func (p *Processor) ProcessMessage( // get latest synced header since not every header is synced from L1 => L2, // and later blocks still have the storage trie proof from previous blocks. - latestSyncedHeader, err := p.destHeaderSyncer.GetLatestSyncedHeader(&bind.CallOpts{}) + latestSyncedHeader, err := p.destHeaderSyncer.GetXchainBlockHash(&bind.CallOpts{}, big.NewInt(0)) if err != nil { return errors.Wrap(err, "taiko.GetSyncedHeader") } diff --git a/packages/relayer/message/processor_test.go b/packages/relayer/message/processor_test.go index 200bf271c58..cff682d2952 100644 --- a/packages/relayer/message/processor_test.go +++ b/packages/relayer/message/processor_test.go @@ -10,7 +10,7 @@ import ( "github.com/ethereum/go-ethereum/rpc" "github.com/taikoxyz/taiko-mono/packages/relayer" "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/bridge" - "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/iheadersync" + "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/ixchainsync" "github.com/taikoxyz/taiko-mono/packages/relayer/mock" "github.com/taikoxyz/taiko-mono/packages/relayer/proof" "github.com/taikoxyz/taiko-mono/packages/relayer/repo" @@ -57,7 +57,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -73,7 +73,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, Confirmations: 1, }, relayer.ErrInvalidConfirmationsTimeoutInSeconds, @@ -88,7 +88,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, ConfirmationsTimeoutInSeconds: 900, }, relayer.ErrInvalidConfirmations, @@ -102,7 +102,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -118,7 +118,7 @@ func Test_NewProcessor(t *testing.T) { DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, Confirmations: 1, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, ConfirmationsTimeoutInSeconds: 900, }, relayer.ErrNoProver, @@ -133,7 +133,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -148,7 +148,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -163,7 +163,7 @@ func Test_NewProcessor(t *testing.T) { SrcETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -178,7 +178,7 @@ func Test_NewProcessor(t *testing.T) { SrcETHClient: ðclient.Client{}, DestETHClient: ðclient.Client{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -193,7 +193,7 @@ func Test_NewProcessor(t *testing.T) { SrcETHClient: ðclient.Client{}, DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, - DestHeaderSyncer: &iheadersync.IHeaderSync{}, + DestHeaderSyncer: &ixchainsync.IXchainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, diff --git a/packages/relayer/message/wait_header_synced.go b/packages/relayer/message/wait_header_synced.go index 9c9cdd79c78..b9c91de7796 100644 --- a/packages/relayer/message/wait_header_synced.go +++ b/packages/relayer/message/wait_header_synced.go @@ -2,6 +2,7 @@ package message import ( "context" + "math/big" "time" "github.com/ethereum/go-ethereum/accounts/abi/bind" @@ -28,14 +29,14 @@ func (p *Processor) waitHeaderSynced(ctx context.Context, event *bridge.BridgeMe ) // get latest synced header since not every header is synced from L1 => L2, // and later blocks still have the storage trie proof from previous blocks. - latestSyncedHeader, err := p.destHeaderSyncer.GetLatestSyncedHeader(&bind.CallOpts{}) + latestSyncedHeader, err := p.destHeaderSyncer.GetXchainBlockHash(&bind.CallOpts{}, big.NewInt(0)) if err != nil { - return errors.Wrap(err, "p.destHeaderSyncer.GetLatestSyncedHeader") + return errors.Wrap(err, "p.destHeaderSyncer.GetXchainBlockHash") } header, err := p.srcEthClient.HeaderByHash(ctx, latestSyncedHeader) if err != nil { - return errors.Wrap(err, "p.destHeaderSyncer.GetLatestSyncedHeader") + return errors.Wrap(err, "p.destHeaderSyncer.GetXchainBlockHash") } // header is caught up and processible diff --git a/packages/relayer/mock/header_syncer.go b/packages/relayer/mock/header_syncer.go index c5fe29a77cb..5944b85d86f 100644 --- a/packages/relayer/mock/header_syncer.go +++ b/packages/relayer/mock/header_syncer.go @@ -2,6 +2,7 @@ package mock import ( "errors" + "math/big" "github.com/ethereum/go-ethereum/accounts/abi/bind" ) @@ -12,7 +13,7 @@ type HeaderSyncer struct { Fail bool } -func (h *HeaderSyncer) GetLatestSyncedHeader(opts *bind.CallOpts) ([32]byte, error) { +func (h *HeaderSyncer) GetXchainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { if h.Fail { return [32]byte{}, errors.New("fail") } diff --git a/packages/status-page/src/components/StatusIndicator.svelte b/packages/status-page/src/components/StatusIndicator.svelte index e0861151180..6164708b82a 100644 --- a/packages/status-page/src/components/StatusIndicator.svelte +++ b/packages/status-page/src/components/StatusIndicator.svelte @@ -67,7 +67,7 @@ try { statusValue = await statusFunc(provider, contractAddress); } catch (e) { - console.error(e); + console.error(header, e); } }, intervalInMs); } diff --git a/packages/status-page/src/constants/abi/HeaderSync.ts b/packages/status-page/src/constants/abi/HeaderSync.ts deleted file mode 100644 index 2b47742c0cd..00000000000 --- a/packages/status-page/src/constants/abi/HeaderSync.ts +++ /dev/null @@ -1,53 +0,0 @@ -export default [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "srcHeight", - type: "uint256", - }, - { - indexed: false, - internalType: "bytes32", - name: "srcHash", - type: "bytes32", - }, - ], - name: "HeaderSynced", - type: "event", - }, - { - inputs: [], - name: "getLatestSyncedHeader", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "number", - type: "uint256", - }, - ], - name: "getSyncedHeader", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, -]; diff --git a/packages/status-page/src/constants/abi/TaikoL1.ts b/packages/status-page/src/constants/abi/TaikoL1.ts index 2220bc4637f..e07e3e101ff 100644 --- a/packages/status-page/src/constants/abi/TaikoL1.ts +++ b/packages/status-page/src/constants/abi/TaikoL1.ts @@ -1,12 +1,7 @@ export default [ { inputs: [], - name: "L1_0_FEE_BASE", - type: "error", - }, - { - inputs: [], - name: "L1_0_FEE_BASE", + name: "L1_1559_X_SCALE_TOO_LARGE", type: "error", }, { @@ -16,92 +11,7 @@ export default [ }, { inputs: [], - name: "L1_ANCHOR_CALLDATA", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_DEST", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_GAS_LIMIT", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_RECEIPT_ADDR", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_RECEIPT_DATA", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_RECEIPT_LOGS", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_RECEIPT_PROOF", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_RECEIPT_STATUS", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_RECEIPT_TOPICS", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_SIG_R", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_SIG_S", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_TX_PROOF", - type: "error", - }, - { - inputs: [], - name: "L1_ANCHOR_TYPE", - type: "error", - }, - { - inputs: [], - name: "L1_BLOCK_NUMBER", - type: "error", - }, - { - inputs: [], - name: "L1_BLOCK_NUMBER", - type: "error", - }, - { - inputs: [], - name: "L1_CANNOT_BE_FIRST_PROVER", - type: "error", - }, - { - inputs: [], - name: "L1_COMMITTED", - type: "error", - }, - { - inputs: [], - name: "L1_CONFLICT_PROOF", + name: "L1_BLOCK_ID", type: "error", }, { @@ -110,43 +20,54 @@ export default [ type: "error", }, { - inputs: [], - name: "L1_DUP_PROVERS", + inputs: [ + { + internalType: "bytes32", + name: "expected", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "actual", + type: "bytes32", + }, + ], + name: "L1_EVIDENCE_MISMATCH", type: "error", }, { inputs: [], - name: "L1_EXTRA_DATA", + name: "L1_FORK_CHOICE_NOT_FOUND", type: "error", }, { inputs: [], - name: "L1_GAS_LIMIT", + name: "L1_INSUFFICIENT_TOKEN", type: "error", }, { inputs: [], - name: "L1_ID", + name: "L1_INVALID_CONFIG", type: "error", }, { inputs: [], - name: "L1_ID", + name: "L1_INVALID_ETH_DEPOSIT", type: "error", }, { inputs: [], - name: "L1_INPUT_SIZE", + name: "L1_INVALID_EVIDENCE", type: "error", }, { inputs: [], - name: "L1_INVALID_CONFIG", + name: "L1_INVALID_L21559_PARAMS", type: "error", }, { inputs: [], - name: "L1_INVALID_CONFIG", + name: "L1_INVALID_METADATA", type: "error", }, { @@ -156,52 +77,52 @@ export default [ }, { inputs: [], - name: "L1_METADATA_FIELD", + name: "L1_INVALID_PROOF", type: "error", }, { inputs: [], - name: "L1_META_MISMATCH", + name: "L1_NOT_ORACLE_PROVER", type: "error", }, { inputs: [], - name: "L1_NOT_COMMITTED", + name: "L1_NOT_SOLO_PROPOSER", type: "error", }, { inputs: [], - name: "L1_NOT_ORACLE_PROVER", + name: "L1_ORACLE_DISABLED", type: "error", }, { inputs: [], - name: "L1_PROOF_LENGTH", + name: "L1_TOO_MANY_BLOCKS", type: "error", }, { inputs: [], - name: "L1_PROVER", + name: "L1_TX_LIST", type: "error", }, { inputs: [], - name: "L1_SOLO_PROPOSER", + name: "L1_TX_LIST_HASH", type: "error", }, { inputs: [], - name: "L1_TOO_MANY_BLOCKS", + name: "L1_TX_LIST_NOT_EXIST", type: "error", }, { inputs: [], - name: "L1_TX_LIST", + name: "L1_TX_LIST_RANGE", type: "error", }, { inputs: [], - name: "L1_ZKP", + name: "Overflow", type: "error", }, { @@ -214,25 +135,6 @@ export default [ name: "RESOLVER_INVALID_ADDR", type: "error", }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint64", - name: "commitSlot", - type: "uint64", - }, - { - indexed: false, - internalType: "bytes32", - name: "commitHash", - type: "bytes32", - }, - ], - name: "BlockCommitted", - type: "event", - }, { anonymous: false, inputs: [ @@ -245,14 +147,19 @@ export default [ { components: [ { - internalType: "uint256", + internalType: "uint64", name: "id", - type: "uint256", + type: "uint64", }, { - internalType: "uint256", + internalType: "uint64", + name: "timestamp", + type: "uint64", + }, + { + internalType: "uint64", name: "l1Height", - type: "uint256", + type: "uint64", }, { internalType: "bytes32", @@ -260,44 +167,66 @@ export default [ type: "bytes32", }, { - internalType: "address", - name: "beneficiary", - type: "address", + internalType: "bytes32", + name: "mixHash", + type: "bytes32", }, { internalType: "bytes32", - name: "txListHash", + name: "depositsRoot", type: "bytes32", }, { internalType: "bytes32", - name: "mixHash", + name: "txListHash", type: "bytes32", }, { - internalType: "bytes", - name: "extraData", - type: "bytes", + internalType: "uint24", + name: "txListByteStart", + type: "uint24", }, { - internalType: "uint64", + internalType: "uint24", + name: "txListByteEnd", + type: "uint24", + }, + { + internalType: "uint32", name: "gasLimit", - type: "uint64", + type: "uint32", }, { - internalType: "uint64", - name: "timestamp", - type: "uint64", + internalType: "address", + name: "beneficiary", + type: "address", }, { - internalType: "uint64", - name: "commitHeight", - type: "uint64", + internalType: "uint8", + name: "cacheTxListInfo", + type: "uint8", }, { - internalType: "uint64", - name: "commitSlot", - type: "uint64", + internalType: "address", + name: "treasure", + type: "address", + }, + { + components: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint96", + name: "amount", + type: "uint96", + }, + ], + internalType: "struct TaikoData.EthDeposit[]", + name: "depositsProcessed", + type: "tuple[]", }, ], indexed: false, @@ -332,15 +261,15 @@ export default [ }, { indexed: false, - internalType: "address", - name: "prover", - type: "address", + internalType: "bytes32", + name: "signalRoot", + type: "bytes32", }, { indexed: false, - internalType: "uint64", - name: "provenAt", - type: "uint64", + internalType: "address", + name: "prover", + type: "address", }, ], name: "BlockProven", @@ -369,19 +298,25 @@ export default [ anonymous: false, inputs: [ { - indexed: true, - internalType: "uint256", - name: "srcHeight", - type: "uint256", - }, - { + components: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint96", + name: "amount", + type: "uint96", + }, + ], indexed: false, - internalType: "bytes32", - name: "srcHash", - type: "bytes32", + internalType: "struct TaikoData.EthDeposit", + name: "deposit", + type: "tuple", }, ], - name: "HeaderSynced", + name: "EthDeposited", type: "event", }, { @@ -416,6 +351,31 @@ export default [ name: "OwnershipTransferred", type: "event", }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "srcHeight", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes32", + name: "blockHash", + type: "bytes32", + }, + { + indexed: false, + internalType: "bytes32", + name: "signalRoot", + type: "bytes32", + }, + ], + name: "XchainSynced", + type: "event", + }, { inputs: [], name: "addressManager", @@ -429,22 +389,58 @@ export default [ stateMutability: "view", type: "function", }, + { + inputs: [], + name: "depositEtherToL2", + outputs: [], + stateMutability: "payable", + type: "function", + }, { inputs: [ { - internalType: "uint64", - name: "commitSlot", - type: "uint64", + internalType: "uint256", + name: "amount", + type: "uint256", }, + ], + name: "depositTaikoToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "blockId", + type: "uint256", + }, + ], + name: "getBlock", + outputs: [ { internalType: "bytes32", - name: "commitHash", + name: "_metaHash", type: "bytes32", }, + { + internalType: "uint256", + name: "_deposit", + type: "uint256", + }, + { + internalType: "address", + name: "_proposer", + type: "address", + }, + { + internalType: "uint64", + name: "_proposedAt", + type: "uint64", + }, ], - name: "commitBlock", - outputs: [], - stateMutability: "nonpayable", + stateMutability: "view", type: "function", }, { @@ -452,9 +448,9 @@ export default [ name: "getBlockFee", outputs: [ { - internalType: "uint256", + internalType: "uint64", name: "", - type: "uint256", + type: "uint64", }, ], stateMutability: "view", @@ -478,17 +474,17 @@ export default [ }, { internalType: "uint256", - name: "maxNumVerifiedBlocks", + name: "ringBufferSize", type: "uint256", }, { internalType: "uint256", - name: "maxVerificationsPerTx", + name: "maxNumVerifiedBlocks", type: "uint256", }, { internalType: "uint256", - name: "commitConfirmations", + name: "maxVerificationsPerTx", type: "uint256", }, { @@ -513,82 +509,52 @@ export default [ }, { internalType: "uint256", - name: "anchorTxGasLimit", + name: "txListCacheExpiry", type: "uint256", }, { internalType: "uint256", - name: "slotSmoothingFactor", + name: "proofCooldownPeriod", type: "uint256", }, { - internalType: "uint256", - name: "rewardBurnBips", - type: "uint256", + internalType: "uint64", + name: "minEthDepositsPerBlock", + type: "uint64", }, { - internalType: "uint256", - name: "proposerDepositPctg", - type: "uint256", + internalType: "uint64", + name: "maxEthDepositsPerBlock", + type: "uint64", }, { - internalType: "uint256", - name: "basefeeMAF", - type: "uint256", + internalType: "uint96", + name: "maxEthDepositAmount", + type: "uint96", }, { - internalType: "uint256", - name: "blockTimeMAF", - type: "uint256", - }, - { - internalType: "uint256", - name: "proofTimeMAF", - type: "uint256", - }, - { - internalType: "uint64", - name: "feeMultiplierPctg", - type: "uint64", - }, - { - internalType: "uint64", - name: "feeGracePeriodPctg", - type: "uint64", - }, - { - internalType: "uint64", - name: "feeMaxPctg", - type: "uint64", - }, - { - internalType: "uint64", - name: "blockTimeCap", - type: "uint64", - }, - { - internalType: "uint64", - name: "proofTimeCap", - type: "uint64", + internalType: "uint96", + name: "minEthDepositAmount", + type: "uint96", }, { internalType: "uint64", - name: "bootstrapDiscountHalvingPeriod", + name: "proofTimeTarget", type: "uint64", }, { - internalType: "bool", - name: "enableTokenomics", - type: "bool", + internalType: "uint8", + name: "adjustmentQuotient", + type: "uint8", }, { internalType: "bool", - name: "enablePublicInputsCheck", + name: "relaySignalRoot", type: "bool", }, { internalType: "bool", - name: "enableAnchorValidation", + name: "enableSoloProposer", type: "bool", }, ], @@ -604,7 +570,7 @@ export default [ inputs: [ { internalType: "uint256", - name: "id", + name: "blockId", type: "uint256", }, { @@ -612,26 +578,46 @@ export default [ name: "parentHash", type: "bytes32", }, + { + internalType: "uint32", + name: "parentGasUsed", + type: "uint32", + }, ], name: "getForkChoice", outputs: [ { components: [ + { + internalType: "bytes32", + name: "key", + type: "bytes32", + }, { internalType: "bytes32", name: "blockHash", type: "bytes32", }, { - internalType: "address", - name: "prover", - type: "address", + internalType: "bytes32", + name: "signalRoot", + type: "bytes32", }, { internalType: "uint64", name: "provenAt", type: "uint64", }, + { + internalType: "address", + name: "prover", + type: "address", + }, + { + internalType: "uint32", + name: "gasUsed", + type: "uint32", + }, ], internalType: "struct TaikoData.ForkChoice", name: "", @@ -641,19 +627,6 @@ export default [ stateMutability: "view", type: "function", }, - { - inputs: [], - name: "getLatestSyncedHeader", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [ { @@ -670,69 +643,9 @@ export default [ name: "getProofReward", outputs: [ { - internalType: "uint256", - name: "reward", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "getProposedBlock", - outputs: [ - { - components: [ - { - internalType: "bytes32", - name: "metaHash", - type: "bytes32", - }, - { - internalType: "uint256", - name: "deposit", - type: "uint256", - }, - { - internalType: "address", - name: "proposer", - type: "address", - }, - { - internalType: "uint64", - name: "proposedAt", - type: "uint64", - }, - ], - internalType: "struct TaikoData.ProposedBlock", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - name: "getRewardBalance", - outputs: [ - { - internalType: "uint256", + internalType: "uint64", name: "", - type: "uint256", + type: "uint64", }, ], stateMutability: "view", @@ -745,9 +658,14 @@ export default [ { components: [ { - internalType: "uint256", + internalType: "uint64", name: "basefee", - type: "uint256", + type: "uint64", + }, + { + internalType: "uint64", + name: "accBlockFees", + type: "uint64", }, { internalType: "uint64", @@ -761,36 +679,36 @@ export default [ }, { internalType: "uint64", - name: "nextBlockId", + name: "numBlocks", type: "uint64", }, { internalType: "uint64", - name: "lastProposedAt", + name: "proofTimeIssued", type: "uint64", }, { internalType: "uint64", - name: "avgBlockTime", + name: "lastVerifiedBlockId", type: "uint64", }, { internalType: "uint64", - name: "latestVerifiedHeight", + name: "accProposedAt", type: "uint64", }, { internalType: "uint64", - name: "latestVerifiedId", + name: "nextEthDepositToProcess", type: "uint64", }, { internalType: "uint64", - name: "avgProofTime", + name: "numEthDeposits", type: "uint64", }, ], - internalType: "struct LibUtils.StateVariables", + internalType: "struct TaikoData.StateVariables", name: "", type: "tuple", }, @@ -801,17 +719,17 @@ export default [ { inputs: [ { - internalType: "uint256", - name: "number", - type: "uint256", + internalType: "address", + name: "addr", + type: "address", }, ], - name: "getSyncedHeader", + name: "getTaikoTokenBalance", outputs: [ { - internalType: "bytes32", + internalType: "uint256", name: "", - type: "bytes32", + type: "uint256", }, ], stateMutability: "view", @@ -820,53 +738,86 @@ export default [ { inputs: [ { - internalType: "address", - name: "_addressManager", - type: "address", + internalType: "uint16", + name: "id", + type: "uint16", }, + ], + name: "getVerifierName", + outputs: [ { - internalType: "bytes32", - name: "_genesisBlockHash", - type: "bytes32", + internalType: "string", + name: "", + type: "string", }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ { internalType: "uint256", - name: "_basefee", + name: "blockId", type: "uint256", }, ], - name: "init", - outputs: [], - stateMutability: "nonpayable", + name: "getXchainBlockHash", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", - name: "commitSlot", + name: "blockId", type: "uint256", }, + ], + name: "getXchainSignalRoot", + outputs: [ { - internalType: "uint256", - name: "commitHeight", - type: "uint256", + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_addressManager", + type: "address", }, { internalType: "bytes32", - name: "commitHash", + name: "_genesisBlockHash", type: "bytes32", }, - ], - name: "isCommitValid", - outputs: [ { - internalType: "bool", - name: "", - type: "bool", + internalType: "uint64", + name: "_initBasefee", + type: "uint64", + }, + { + internalType: "uint64", + name: "_initProofTimeIssued", + type: "uint64", }, ], - stateMutability: "view", + name: "init", + outputs: [], + stateMutability: "nonpayable", type: "function", }, { @@ -885,31 +836,108 @@ export default [ { inputs: [ { - internalType: "bytes[]", - name: "inputs", - type: "bytes[]", + internalType: "bytes", + name: "input", + type: "bytes", }, - ], - name: "proposeBlock", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ { - internalType: "uint256", - name: "blockId", - type: "uint256", + internalType: "bytes", + name: "txList", + type: "bytes", }, + ], + name: "proposeBlock", + outputs: [ { - internalType: "bytes[]", - name: "inputs", - type: "bytes[]", + components: [ + { + internalType: "uint64", + name: "id", + type: "uint64", + }, + { + internalType: "uint64", + name: "timestamp", + type: "uint64", + }, + { + internalType: "uint64", + name: "l1Height", + type: "uint64", + }, + { + internalType: "bytes32", + name: "l1Hash", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "mixHash", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "depositsRoot", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "txListHash", + type: "bytes32", + }, + { + internalType: "uint24", + name: "txListByteStart", + type: "uint24", + }, + { + internalType: "uint24", + name: "txListByteEnd", + type: "uint24", + }, + { + internalType: "uint32", + name: "gasLimit", + type: "uint32", + }, + { + internalType: "address", + name: "beneficiary", + type: "address", + }, + { + internalType: "uint8", + name: "cacheTxListInfo", + type: "uint8", + }, + { + internalType: "address", + name: "treasure", + type: "address", + }, + { + components: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint96", + name: "amount", + type: "uint96", + }, + ], + internalType: "struct TaikoData.EthDeposit[]", + name: "depositsProcessed", + type: "tuple[]", + }, + ], + internalType: "struct TaikoData.BlockMetadata", + name: "meta", + type: "tuple", }, ], - name: "proveBlock", - outputs: [], stateMutability: "nonpayable", type: "function", }, @@ -921,12 +949,12 @@ export default [ type: "uint256", }, { - internalType: "bytes[]", - name: "inputs", - type: "bytes[]", + internalType: "bytes", + name: "input", + type: "bytes", }, ], - name: "proveBlockInvalid", + name: "proveBlock", outputs: [], stateMutability: "nonpayable", type: "function", @@ -992,43 +1020,14 @@ export default [ type: "function", }, { - inputs: [ + inputs: [], + name: "state", + outputs: [ { internalType: "bytes32", - name: "hash", + name: "staticRefs", type: "bytes32", }, - { - internalType: "uint8", - name: "k", - type: "uint8", - }, - ], - name: "signWithGoldenTouch", - outputs: [ - { - internalType: "uint8", - name: "v", - type: "uint8", - }, - { - internalType: "uint256", - name: "r", - type: "uint256", - }, - { - internalType: "uint256", - name: "s", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "state", - outputs: [ { internalType: "uint64", name: "genesisHeight", @@ -1041,57 +1040,52 @@ export default [ }, { internalType: "uint64", - name: "__reservedA1", + name: "__reserved71", type: "uint64", }, { internalType: "uint64", - name: "__reservedA2", + name: "__reserved72", type: "uint64", }, - { - internalType: "uint256", - name: "basefee", - type: "uint256", - }, { internalType: "uint64", - name: "nextBlockId", + name: "accProposedAt", type: "uint64", }, { internalType: "uint64", - name: "lastProposedAt", + name: "accBlockFees", type: "uint64", }, { internalType: "uint64", - name: "avgBlockTime", + name: "numBlocks", type: "uint64", }, { internalType: "uint64", - name: "__avgGasLimit", + name: "nextEthDepositToProcess", type: "uint64", }, { internalType: "uint64", - name: "latestVerifiedHeight", + name: "basefee", type: "uint64", }, { internalType: "uint64", - name: "latestVerifiedId", + name: "proofTimeIssued", type: "uint64", }, { internalType: "uint64", - name: "avgProofTime", + name: "lastVerifiedBlockId", type: "uint64", }, { internalType: "uint64", - name: "__reservedC1", + name: "__reserved91", type: "uint64", }, ], @@ -1125,10 +1119,20 @@ export default [ type: "function", }, { - inputs: [], - name: "withdrawBalance", + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawTaikoToken", outputs: [], stateMutability: "nonpayable", type: "function", }, + { + stateMutability: "payable", + type: "receive", + }, ]; diff --git a/packages/status-page/src/pages/home/Home.svelte b/packages/status-page/src/pages/home/Home.svelte index 0cb3f766e0a..41ba828ee67 100644 --- a/packages/status-page/src/pages/home/Home.svelte +++ b/packages/status-page/src/pages/home/Home.svelte @@ -177,7 +177,7 @@ watchStatusFunc: null, provider: l1Provider, contractAddress: l1TaikoAddress, - header: "Pending Blocks", + header: "Unverified Blocks", intervalInMs: 20000, colorFunc: (value: Status) => { if (BigNumber.from(value).eq(0)) { @@ -207,57 +207,57 @@ ]; onMount(async () => { - try { - // statusIndicators.push({ - // statusFunc: getBlockFee, - // watchStatusFunc: null, - // provider: l1Provider, - // contractAddress: l1TaikoAddress, - // header: "Block Fee", - // intervalInMs: 15000, - // colorFunc: function (status: Status) { - // return "green"; // todo: whats green, yellow, red? - // }, - // tooltip: - // "The current fee to propose a block to the TaikoL1 smart contract.", - // }); - // statusIndicators.push({ - // statusFunc: getProofReward, - // watchStatusFunc: null, - // provider: l1Provider, - // contractAddress: l1TaikoAddress, - // header: "Proof Reward", - // intervalInMs: 15000, - // colorFunc: function (status: Status) { - // return "green"; // todo: whats green, yellow, red? - // }, - // tooltip: - // "The current reward for successfully submitting a proof for a proposed block on the TaikoL1 smart contract.", - // }); - } catch (e) { - console.error(e); - } - try { statusIndicators.push({ + statusFunc: getBlockFee, + watchStatusFunc: null, provider: l1Provider, contractAddress: l1TaikoAddress, - header: "Latest Proposal", - intervalInMs: 5 * 1000, - statusFunc: async ( - provider: ethers.providers.JsonRpcProvider, - address: string - ) => { - const stateVars = await getStateVariables(provider, address); - return new Date( - stateVars.lastProposedAt.toNumber() * 1000 - ).toString(); + header: "Block Fee", + intervalInMs: 15000, + colorFunc: function (status: Status) { + return "green"; // todo: whats green, yellow, red? }, + tooltip: + "The current fee to propose a block to the TaikoL1 smart contract.", + }); + statusIndicators.push({ + statusFunc: getProofReward, + watchStatusFunc: null, + provider: l1Provider, + contractAddress: l1TaikoAddress, + header: "Proof Reward", + intervalInMs: 15000, colorFunc: function (status: Status) { return "green"; // todo: whats green, yellow, red? }, - tooltip: "The most recent block proposal on TaikoL1 contract.", + tooltip: + "The current reward for successfully submitting a proof for a proposed block on the TaikoL1 smart contract.", }); + } catch (e) { + console.error(e); + } + + try { + // statusIndicators.push({ + // provider: l1Provider, + // contractAddress: l1TaikoAddress, + // header: "Latest Proposal", + // intervalInMs: 5 * 1000, + // statusFunc: async ( + // provider: ethers.providers.JsonRpcProvider, + // address: string + // ) => { + // const stateVars = await getStateVariables(provider, address); + // return new Date( + // stateVars.lastProposedAt.toNumber() * 1000 + // ).toString(); + // }, + // colorFunc: function (status: Status) { + // return "green"; // todo: whats green, yellow, red? + // }, + // tooltip: "The most recent block proposal on TaikoL1 contract.", + // }); statusIndicators.push({ provider: l1Provider, @@ -273,12 +273,18 @@ const contract = new Contract(address, TaikoL1, provider); contract.on( "BlockProven", - (id, parentHash, blockHash, prover, provenAt, ...args) => { + ( + id, + parentHash, + blockHash, + signalRoot, + prover, + provenAt, + ...args + ) => { // ignore oracle prover if (prover.toLowerCase() !== oracleProverAddress.toLowerCase()) { - if (!provenAt.eq(0)) { - onEvent(new Date(provenAt.toNumber() * 1000).toString()); - } + onEvent(new Date().getTime().toString()); } } ); @@ -297,7 +303,7 @@ address: string ) => { const stateVars = await getStateVariables(provider, address); - return `${stateVars.avgProofTime.toNumber()} seconds`; + return `${stateVars.proofTimeIssued.toNumber() / 1000} seconds`; }, colorFunc: function (status: Status) { return "green"; // todo: whats green, yellow, red? @@ -308,44 +314,23 @@ "The current average proof time, updated when a block is successfully proven.", }); - statusIndicators.push({ - provider: l1Provider, - contractAddress: l1TaikoAddress, - header: "Average Block Time", - intervalInMs: 5 * 1000, - colorFunc: function (status: Status) { - return "green"; // todo: whats green, yellow, red? - }, - statusFunc: async ( - provider: ethers.providers.JsonRpcProvider, - address: string - ) => { - const stateVars = await getStateVariables(provider, address); - return `${stateVars.avgBlockTime.toNumber()} seconds`; - }, - tooltip: - "The current average block time, updated when a block is successfully proposed.", - }); - // statusIndicators.push({ // provider: l1Provider, // contractAddress: l1TaikoAddress, - // header: "Fee Base", - // intervalInMs: 0, + // header: "Average Block Time", + // intervalInMs: 5 * 1000, + // colorFunc: function (status: Status) { + // return "green"; // todo: whats green, yellow, red? + // }, // statusFunc: async ( // provider: ethers.providers.JsonRpcProvider, // address: string // ) => { // const stateVars = await getStateVariables(provider, address); - // return `${truncateString( - // ethers.utils.formatEther(stateVars.feeBase), - // 6 - // )} ${feeTokenSymbol}`; + // return `${stateVars.avgBlockTime.toNumber()} seconds`; // }, - // colorFunc: function (status: Status) { - // return "green"; // todo: whats green, yellow, red? - // }, - // tooltip: "The current fee base for proposing and rewarding", + // tooltip: + // "The current average block time, updated when a block is successfully proposed.", // }); } catch (e) { console.error(e); diff --git a/packages/status-page/src/utils/getAvailableSlots.ts b/packages/status-page/src/utils/getAvailableSlots.ts index 777792a2bbb..5a5fc6a8dcb 100644 --- a/packages/status-page/src/utils/getAvailableSlots.ts +++ b/packages/status-page/src/utils/getAvailableSlots.ts @@ -10,8 +10,9 @@ export const getAvailableSlots = async ( const stateVariables = await contract.getStateVariables(); const config = await getConfig(provider, contractAddress); - const nextBlockId = stateVariables.nextBlockId; - const latestVerifiedId = stateVariables.latestVerifiedId; + const nextBlockId = stateVariables.numBlocks; + const latestVerifiedId = stateVariables.lastVerifiedBlockId; const pendingBlocks = nextBlockId - latestVerifiedId - 1; - return Math.abs(pendingBlocks - config.maxNumBlocks); + + return Math.abs(pendingBlocks - config.maxNumProposedBlocks); }; diff --git a/packages/status-page/src/utils/getConfig.ts b/packages/status-page/src/utils/getConfig.ts index 6eb7c4a76b1..b5ead51a136 100644 --- a/packages/status-page/src/utils/getConfig.ts +++ b/packages/status-page/src/utils/getConfig.ts @@ -6,5 +6,7 @@ export const getConfig = async ( contractAddress: string ) => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - return await contract.getConfig(); + const config = await contract.getConfig(); + console.log(config); + return config; }; diff --git a/packages/status-page/src/utils/getLastVerifiedBlockId.ts b/packages/status-page/src/utils/getLastVerifiedBlockId.ts index a8a3564420d..84c1ae2457f 100644 --- a/packages/status-page/src/utils/getLastVerifiedBlockId.ts +++ b/packages/status-page/src/utils/getLastVerifiedBlockId.ts @@ -7,6 +7,6 @@ export const getLastVerifiedBlockId = async ( ): Promise => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); const stateVariables = await contract.getStateVariables(); - const lastBlockId = stateVariables.lastBlockId; + const lastBlockId = stateVariables.lastVerifiedBlockId; return BigNumber.from(lastBlockId).toNumber(); }; diff --git a/packages/status-page/src/utils/getLatestSyncedHeader.ts b/packages/status-page/src/utils/getLatestSyncedHeader.ts index 292fafc29b6..b62be97eef9 100644 --- a/packages/status-page/src/utils/getLatestSyncedHeader.ts +++ b/packages/status-page/src/utils/getLatestSyncedHeader.ts @@ -6,6 +6,5 @@ export const getLatestSyncedHeader = async ( contractAddress: string ): Promise => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - const header = await contract.getLatestSyncedHeader(); - return header; + return await contract.getXchainBlockHash(0); }; diff --git a/packages/status-page/src/utils/getNextBlockId.ts b/packages/status-page/src/utils/getNextBlockId.ts index faf225bb936..39a104aaf68 100644 --- a/packages/status-page/src/utils/getNextBlockId.ts +++ b/packages/status-page/src/utils/getNextBlockId.ts @@ -7,6 +7,6 @@ export const getNextBlockId = async ( ): Promise => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); const stateVariables = await contract.getStateVariables(); - const nextBlockId = stateVariables.nextBlockId; + const nextBlockId = stateVariables.numBlocks; return BigNumber.from(nextBlockId).toNumber(); }; diff --git a/packages/status-page/src/utils/getPendingBlocks.ts b/packages/status-page/src/utils/getPendingBlocks.ts index fcaa01a9468..553ae86cb06 100644 --- a/packages/status-page/src/utils/getPendingBlocks.ts +++ b/packages/status-page/src/utils/getPendingBlocks.ts @@ -7,7 +7,7 @@ export const getPendingBlocks = async ( ): Promise => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); const stateVariables = await contract.getStateVariables(); - const nextBlockId = stateVariables.nextBlockId; - const lastBlockId = stateVariables.lastBlockId; + const nextBlockId = stateVariables.numBlocks; + const lastBlockId = stateVariables.lastVerifiedBlockId; return nextBlockId - lastBlockId - 1; }; diff --git a/packages/status-page/src/utils/getProofReward.ts b/packages/status-page/src/utils/getProofReward.ts index 02553fe3747..77feb982797 100644 --- a/packages/status-page/src/utils/getProofReward.ts +++ b/packages/status-page/src/utils/getProofReward.ts @@ -10,7 +10,7 @@ export const getProofReward = async ( const state = await contract.getStateVariables(); const fee = await contract.getProofReward( ~~(new Date().getTime() / 1000), - state.lastProposedAt + ~~(new Date().getTime() / 1000) - 1200 ); return `${truncateString(ethers.utils.formatEther(fee), 8)} ${ import.meta.env.VITE_FEE_TOKEN_SYMBOL ?? "TKO" diff --git a/packages/status-page/src/utils/getStateVariables.ts b/packages/status-page/src/utils/getStateVariables.ts index 8d38c22430e..d194a10bf36 100644 --- a/packages/status-page/src/utils/getStateVariables.ts +++ b/packages/status-page/src/utils/getStateVariables.ts @@ -6,5 +6,6 @@ export const getStateVariables = async ( contractAddress: string ) => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - return await contract.getStateVariables(); + const vars = await contract.getStateVariables(); + return vars; }; diff --git a/packages/status-page/src/utils/watchHeaderSynced.ts b/packages/status-page/src/utils/watchHeaderSynced.ts index 127f32a98ad..4699f626fe2 100644 --- a/packages/status-page/src/utils/watchHeaderSynced.ts +++ b/packages/status-page/src/utils/watchHeaderSynced.ts @@ -7,7 +7,7 @@ export const watchHeaderSynced = async ( onEvent: (value: string | number | boolean) => void ) => { const contract: Contract = new Contract(taikoL1Address, TaikoL1, provider); - contract.on("HeaderSynced", (srcHeight, srcHash) => { - onEvent(srcHash); + contract.on("XchainSynced", (lastVerifiedBlockId, blockHash, signalRoot) => { + onEvent(blockHash); }); }; From 38497a5142cced36171c38082c9163b0bbc3d101 Mon Sep 17 00:00:00 2001 From: David Date: Tue, 25 Apr 2023 13:56:49 +0800 Subject: [PATCH 07/34] feat(protocol): update `ANCHOR_GAS_COST` (#13645) --- packages/protocol/contracts/L2/LibL2Consts.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L2/LibL2Consts.sol b/packages/protocol/contracts/L2/LibL2Consts.sol index b24997851c4..fa9cc92c193 100644 --- a/packages/protocol/contracts/L2/LibL2Consts.sol +++ b/packages/protocol/contracts/L2/LibL2Consts.sol @@ -7,5 +7,5 @@ pragma solidity ^0.8.18; library LibL2Consts { - uint64 public constant ANCHOR_GAS_COST = 150000; // owner:david + uint64 public constant ANCHOR_GAS_COST = 180000; // owner:david } From 8ebd2ce010b3a1f5af1886ffb8c2f984d98a5336 Mon Sep 17 00:00:00 2001 From: jeff <113397187+cyberhorsey@users.noreply.github.com> Date: Tue, 25 Apr 2023 03:26:31 -0700 Subject: [PATCH 08/34] fix(protocol): Rm unused config (#13644) Co-authored-by: Daniel Wang <99078276+dantaik@users.noreply.github.com> --- packages/protocol/contracts/L1/TaikoConfig.sol | 1 - packages/protocol/contracts/L1/TaikoData.sol | 1 - packages/protocol/contracts/L1/libs/LibVerifying.sol | 1 - packages/relayer/TaikoL1.json | 7 +------ packages/relayer/contracts/taikol1/TaikoL1.go | 2 +- packages/status-page/src/constants/abi/TaikoL1.ts | 7 +------ 6 files changed, 3 insertions(+), 16 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoConfig.sol b/packages/protocol/contracts/L1/TaikoConfig.sol index c20423bfa69..9ea80036433 100644 --- a/packages/protocol/contracts/L1/TaikoConfig.sol +++ b/packages/protocol/contracts/L1/TaikoConfig.sol @@ -16,7 +16,6 @@ library TaikoConfig { // Two weeks if avg block time is 10 seconds maxNumProposedBlocks: 120960, ringBufferSize: 120960 + 10, - maxNumVerifiedBlocks: 4096, // Each time one more block is verified, there will be ~20k // more gas cost. maxVerificationsPerTx: 10, diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index 064ea03f251..0beff5a8524 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -11,7 +11,6 @@ library TaikoData { uint256 chainId; uint256 maxNumProposedBlocks; uint256 ringBufferSize; - uint256 maxNumVerifiedBlocks; // This number is calculated from maxNumProposedBlocks to make // the 'the maximum value of the multiplier' close to 20.0 uint256 maxVerificationsPerTx; diff --git a/packages/protocol/contracts/L1/libs/LibVerifying.sol b/packages/protocol/contracts/L1/libs/LibVerifying.sol index ad1a295172b..9fcfcdf9bcc 100644 --- a/packages/protocol/contracts/L1/libs/LibVerifying.sol +++ b/packages/protocol/contracts/L1/libs/LibVerifying.sol @@ -40,7 +40,6 @@ library LibVerifying { config.chainId <= 1 || config.maxNumProposedBlocks == 1 || config.ringBufferSize <= config.maxNumProposedBlocks + 1 || - config.maxNumVerifiedBlocks == 0 || config.blockMaxGasLimit == 0 || config.maxTransactionsPerBlock == 0 || config.maxBytesPerTxList == 0 || diff --git a/packages/relayer/TaikoL1.json b/packages/relayer/TaikoL1.json index 42b98e1c439..cec0b5af49a 100644 --- a/packages/relayer/TaikoL1.json +++ b/packages/relayer/TaikoL1.json @@ -590,12 +590,7 @@ }, { "internalType": "uint256", - "name": "ringBufferSize", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxNumVerifiedBlocks", + "name": "maxVerificationsPerTx", "type": "uint256" }, { diff --git a/packages/relayer/contracts/taikol1/TaikoL1.go b/packages/relayer/contracts/taikol1/TaikoL1.go index 7f5b3a16a0f..d4a556d4734 100644 --- a/packages/relayer/contracts/taikol1/TaikoL1.go +++ b/packages/relayer/contracts/taikol1/TaikoL1.go @@ -102,7 +102,7 @@ type TaikoDataStateVariables struct { // TaikoL1MetaData contains all meta data concerning the TaikoL1 contract. var TaikoL1MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"L1_1559_X_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_1559_Y_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_ETHER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_ETH_DEPOSIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_L21559_PARAMS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit\",\"name\":\"deposit\",\"type\":\"tuple\"}],\"name\":\"EthDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"XchainSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositEtherToL2\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getBlock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_proposedAt\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ringBufferSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"txListCacheExpiry\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofCooldownPeriod\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"maxEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"minEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeTarget\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"adjustmentQuotient\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"relaySignalRoot\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableSoloProposer\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"parentGasUsed\",\"type\":\"uint32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"gasUsed\",\"type\":\"uint32\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEthDeposits\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTaikoTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"id\",\"type\":\"uint16\"}],\"name\":\"getVerifierName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getXchainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getXchainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_initBasefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_initProofTimeIssued\",\"type\":\"uint64\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"}],\"name\":\"proposeBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"staticRefs\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved71\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved72\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved91\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", + ABI: "[{\"inputs\":[],\"name\":\"L1_0_FEE_BASE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_CALLDATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_DEST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_ADDR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_LOGS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_STATUS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_RECEIPT_TOPICS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_R\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_SIG_S\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TX_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ANCHOR_TYPE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_NUMBER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CANNOT_BE_FIRST_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONFLICT_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_DUP_PROVERS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_EXTRA_DATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_GAS_LIMIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INPUT_SIZE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_METADATA_FIELD\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_META_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_COMMITTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROOF_LENGTH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ZKP\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"BlockCommitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"l1Height\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"srcHash\",\"type\":\"bytes32\"}],\"name\":\"HeaderSynced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"commitSlot\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"commitBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitConfirmations\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"anchorTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"slotSmoothingFactor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rewardBurnBips\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposerDepositPctg\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basefeeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofTimeMAF\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"feeMultiplierPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeGracePeriodPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"feeMaxPctg\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"blockTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeCap\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"bootstrapDiscountHalvingPeriod\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"enableTokenomics\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enablePublicInputsCheck\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableAnchorValidation\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getProposedBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.ProposedBlock\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"}],\"internalType\":\"structLibUtils.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getSyncedHeader\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_basefee\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"commitSlot\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"commitHeight\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"commitHash\",\"type\":\"bytes32\"}],\"name\":\"isCommitValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proposeBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"inputs\",\"type\":\"bytes[]\"}],\"name\":\"proveBlockInvalid\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"k\",\"type\":\"uint8\"}],\"name\":\"signWithGoldenTouch\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"r\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA1\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedA2\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgBlockTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__avgGasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"latestVerifiedHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"avgProofTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reservedC1\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", } // TaikoL1ABI is the input ABI used to generate the binding from. diff --git a/packages/status-page/src/constants/abi/TaikoL1.ts b/packages/status-page/src/constants/abi/TaikoL1.ts index e07e3e101ff..ed2b84a494b 100644 --- a/packages/status-page/src/constants/abi/TaikoL1.ts +++ b/packages/status-page/src/constants/abi/TaikoL1.ts @@ -474,12 +474,7 @@ export default [ }, { internalType: "uint256", - name: "ringBufferSize", - type: "uint256", - }, - { - internalType: "uint256", - name: "maxNumVerifiedBlocks", + name: "maxVerificationsPerTx", type: "uint256", }, { From a1fc8b17b520b9e44461d54bc1612e1ec8d1297f Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Tue, 25 Apr 2023 20:35:41 +0800 Subject: [PATCH 09/34] refactor(protocol): additional cleaning up (#13646) --- packages/protocol/contracts/L1/TaikoData.sol | 4 +- packages/protocol/contracts/L1/TaikoL1.sol | 8 ++-- .../contracts/L1/libs/LibProposing.sol | 6 +-- .../contracts/L1/libs/LibTokenomics.sol | 39 +++---------------- .../protocol/contracts/L1/libs/LibUtils.sol | 2 +- .../contracts/L1/libs/LibVerifying.sol | 8 ++-- packages/protocol/contracts/L2/TaikoL2.sol | 3 +- packages/protocol/test/TaikoL1.sim.sol | 4 +- packages/protocol/test/TaikoL1.t.sol | 1 - .../contract-documentation/L1/TaikoData.md | 5 +-- .../contract-documentation/L1/TaikoL1.md | 4 +- 11 files changed, 28 insertions(+), 56 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index 0beff5a8524..56abb81810b 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -32,7 +32,7 @@ library TaikoData { } struct StateVariables { - uint64 basefee; + uint64 blockFee; uint64 accBlockFees; uint64 genesisHeight; uint64 genesisTimestamp; @@ -142,7 +142,7 @@ library TaikoData { uint64 numBlocks; uint64 nextEthDepositToProcess; // Slot 9 - uint64 basefee; + uint64 blockFee; uint64 proofTimeIssued; uint64 lastVerifiedBlockId; uint64 __reserved91; diff --git a/packages/protocol/contracts/L1/TaikoL1.sol b/packages/protocol/contracts/L1/TaikoL1.sol index 7689ae0571f..9a8dd356c5b 100644 --- a/packages/protocol/contracts/L1/TaikoL1.sol +++ b/packages/protocol/contracts/L1/TaikoL1.sol @@ -35,13 +35,13 @@ contract TaikoL1 is EssentialContract, IXchainSync, TaikoEvents, TaikoErrors { * * @param _addressManager The AddressManager address. * @param _genesisBlockHash The block hash of the genesis block. - * @param _initBasefee Initial (reasonable) basefee value. + * @param _initBlockFee Initial (reasonable) block fee value. * @param _initProofTimeIssued Initial proof time which keeps the inflow/outflow in balance */ function init( address _addressManager, bytes32 _genesisBlockHash, - uint64 _initBasefee, + uint64 _initBlockFee, uint64 _initProofTimeIssued ) external initializer { EssentialContract._init(_addressManager); @@ -49,7 +49,7 @@ contract TaikoL1 is EssentialContract, IXchainSync, TaikoEvents, TaikoErrors { state: state, config: getConfig(), genesisBlockHash: _genesisBlockHash, - initBasefee: _initBasefee, + initBlockFee: _initBlockFee, initProofTimeIssued: _initProofTimeIssued }); } @@ -152,7 +152,7 @@ contract TaikoL1 is EssentialContract, IXchainSync, TaikoEvents, TaikoErrors { } function getBlockFee() public view returns (uint64) { - return state.basefee; + return state.blockFee; } function getProofReward( diff --git a/packages/protocol/contracts/L1/libs/LibProposing.sol b/packages/protocol/contracts/L1/libs/LibProposing.sol index 7c51b5c3974..682e5eec968 100644 --- a/packages/protocol/contracts/L1/libs/LibProposing.sol +++ b/packages/protocol/contracts/L1/libs/LibProposing.sol @@ -90,12 +90,12 @@ library LibProposing { blk.metaHash = LibUtils.hashMetadata(meta); blk.proposer = msg.sender; - if (state.taikoTokenBalances[msg.sender] < state.basefee) + if (state.taikoTokenBalances[msg.sender] < state.blockFee) revert L1_INSUFFICIENT_TOKEN(); unchecked { - state.taikoTokenBalances[msg.sender] -= state.basefee; - state.accBlockFees += state.basefee; + state.taikoTokenBalances[msg.sender] -= state.blockFee; + state.accBlockFees += state.blockFee; state.accProposedAt += meta.timestamp; } diff --git a/packages/protocol/contracts/L1/libs/LibTokenomics.sol b/packages/protocol/contracts/L1/libs/LibTokenomics.sol index 94af8c35fca..9dc1fb054b9 100644 --- a/packages/protocol/contracts/L1/libs/LibTokenomics.sol +++ b/packages/protocol/contracts/L1/libs/LibTokenomics.sol @@ -55,7 +55,7 @@ library LibTokenomics { } /** - * Update the baseFee for proofs + * Update the block reward for proofs * * @param state The actual state data * @param proofTime The actual proof time @@ -92,19 +92,19 @@ library LibTokenomics { } /** - * Calculate the newProofTimeIssued and newBasefee + * Calculate the newProofTimeIssued and BlockFee * * @param state The actual state data * @param config Config data * @param proofTime The actual proof time * @return newProofTimeIssued Accumulated proof time - * @return newBasefee New basefee + * @return BlockFee New block fee */ - function getNewBaseFeeandProofTimeIssued( + function getNewBlockFeeAndProofTimeIssued( TaikoData.State storage state, TaikoData.Config memory config, uint64 proofTime - ) internal view returns (uint64 newProofTimeIssued, uint64 newBasefee) { + ) internal view returns (uint64 newProofTimeIssued, uint64 BlockFee) { newProofTimeIssued = (state.proofTimeIssued > config.proofTimeTarget) ? state.proofTimeIssued - config.proofTimeTarget : uint64(0); @@ -121,33 +121,6 @@ library LibTokenomics { Math.SCALING_FACTOR_1E18) / (config.proofTimeTarget * config.adjustmentQuotient); - newBasefee = uint64(result.min(type(uint64).max)); - } - - /** - * Calculating the exponential smoothened with (target/quotient) - * - * @param value Result of cumulativeProofTime - * @param target Target proof time - * @param quotient Quotient - * @return uint64 Calculated new basefee - */ - function _calcBasefee( - uint256 value, - uint256 target, - uint256 quotient - ) private pure returns (uint64) { - uint256 x = (value * Math.SCALING_FACTOR_1E18) / (target * quotient); - - if (Math.MAX_EXP_INPUT <= x) { - x = Math.MAX_EXP_INPUT; - } - - uint256 result = (uint256(Math.exp(int256(x))) / - Math.SCALING_FACTOR_1E18) / (target * quotient); - - if (result > type(uint64).max) return type(uint64).max; - - return uint64(result); + BlockFee = uint64(result.min(type(uint64).max)); } } diff --git a/packages/protocol/contracts/L1/libs/LibUtils.sol b/packages/protocol/contracts/L1/libs/LibUtils.sol index 51869b70e16..d2c5d17f902 100644 --- a/packages/protocol/contracts/L1/libs/LibUtils.sol +++ b/packages/protocol/contracts/L1/libs/LibUtils.sol @@ -53,7 +53,7 @@ library LibUtils { ) internal view returns (TaikoData.StateVariables memory) { return TaikoData.StateVariables({ - basefee: state.basefee, + blockFee: state.blockFee, accBlockFees: state.accBlockFees, genesisHeight: state.genesisHeight, genesisTimestamp: state.genesisTimestamp, diff --git a/packages/protocol/contracts/L1/libs/LibVerifying.sol b/packages/protocol/contracts/L1/libs/LibVerifying.sol index 9fcfcdf9bcc..33c9e1b1f81 100644 --- a/packages/protocol/contracts/L1/libs/LibVerifying.sol +++ b/packages/protocol/contracts/L1/libs/LibVerifying.sol @@ -33,7 +33,7 @@ library LibVerifying { TaikoData.State storage state, TaikoData.Config memory config, bytes32 genesisBlockHash, - uint64 initBasefee, + uint64 initBlockFee, uint64 initProofTimeIssued ) internal { if ( @@ -61,7 +61,7 @@ library LibVerifying { state.genesisHeight = uint64(block.number); state.genesisTimestamp = timeNow; - state.basefee = initBasefee; + state.blockFee = initBlockFee; state.proofTimeIssued = initProofTimeIssued; state.numBlocks = 1; @@ -160,8 +160,8 @@ library LibVerifying { uint64 reward = LibTokenomics.getProofReward(state, proofTime); - (state.proofTimeIssued, state.basefee) = LibTokenomics - .getNewBaseFeeandProofTimeIssued(state, config, proofTime); + (state.proofTimeIssued, state.blockFee) = LibTokenomics + .getNewBlockFeeAndProofTimeIssued(state, config, proofTime); unchecked { state.accBlockFees -= reward; diff --git a/packages/protocol/contracts/L2/TaikoL2.sol b/packages/protocol/contracts/L2/TaikoL2.sol index 03fd376f507..346f0175c46 100644 --- a/packages/protocol/contracts/L2/TaikoL2.sol +++ b/packages/protocol/contracts/L2/TaikoL2.sol @@ -191,7 +191,8 @@ contract TaikoL2 is EssentialContract, TaikoL2Signer, IXchainSync { } // On L2, basefee is not burnt, but sent to a treasure instead. - // TODO(daniel): how to verify the tresasure address in protocol? + // The circuits will need to verify the basefee recipient is the deginated + // address. if (block.basefee != basefee) revert L2_BASEFEE_MISMATCH(uint64(basefee), uint64(block.basefee)); diff --git a/packages/protocol/test/TaikoL1.sim.sol b/packages/protocol/test/TaikoL1.sim.sol index fde9822a060..30f64b736e5 100644 --- a/packages/protocol/test/TaikoL1.sim.sol +++ b/packages/protocol/test/TaikoL1.sim.sol @@ -131,7 +131,7 @@ contract TaikoL1Simulation is TaikoL1TestBase, FoundryRandom { "time,", "lastVerifiedBlockId,", "numBlocks,", - "baseFee,", + "blockFee,", "accProposedAt" ); console2.log(str); @@ -149,7 +149,7 @@ contract TaikoL1Simulation is TaikoL1TestBase, FoundryRandom { ",", Strings.toString(vars.numBlocks), ",", - Strings.toString(vars.basefee), + Strings.toString(vars.blockFee), ",", Strings.toString(vars.accProposedAt) ); diff --git a/packages/protocol/test/TaikoL1.t.sol b/packages/protocol/test/TaikoL1.t.sol index 10898664a7b..26ea0f93fb0 100644 --- a/packages/protocol/test/TaikoL1.t.sol +++ b/packages/protocol/test/TaikoL1.t.sol @@ -249,7 +249,6 @@ contract TaikoL1Test is TaikoL1TestBase { uint256 iterationCnt = 10; // Declare here so that block prop/prove/verif. can be used in 1 place TaikoData.BlockMetadata memory meta; - TaikoData.ForkChoice memory fk; bytes32 blockHash; bytes32 signalRoot; bytes32[] memory parentHashes = new bytes32[](iterationCnt); diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md index 3b71e954af9..052b440ffd0 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md @@ -11,7 +11,6 @@ struct Config { uint256 chainId; uint256 maxNumProposedBlocks; uint256 ringBufferSize; - uint256 maxNumVerifiedBlocks; uint256 maxVerificationsPerTx; uint256 blockMaxGasLimit; uint256 maxTransactionsPerBlock; @@ -35,7 +34,7 @@ struct Config { ```solidity struct StateVariables { - uint64 basefee; + uint64 blockFee; uint64 accBlockFees; uint64 genesisHeight; uint64 genesisTimestamp; @@ -163,7 +162,7 @@ struct State { uint64 accBlockFees; uint64 numBlocks; uint64 nextEthDepositToProcess; - uint64 basefee; + uint64 blockFee; uint64 proofTimeIssued; uint64 lastVerifiedBlockId; uint64 __reserved91; diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md index 6f177e79e3f..7cb87988e33 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md @@ -19,7 +19,7 @@ receive() external payable ### init ```solidity -function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBasefee, uint64 _initProofTimeIssued) external +function init(address _addressManager, bytes32 _genesisBlockHash, uint64 _initBlockFee, uint64 _initProofTimeIssued) external ``` Initialize the rollup. @@ -30,7 +30,7 @@ Initialize the rollup. | --------------------- | ------- | ------------------------------------------------------------ | | \_addressManager | address | The AddressManager address. | | \_genesisBlockHash | bytes32 | The block hash of the genesis block. | -| \_initBasefee | uint64 | Initial (reasonable) basefee value. | +| \_initBlockFee | uint64 | Initial (reasonable) block fee value. | | \_initProofTimeIssued | uint64 | Initial proof time which keeps the inflow/outflow in balance | ### proposeBlock From f33878303919e35eb6b4646d6884500a1a444e71 Mon Sep 17 00:00:00 2001 From: Jeffery Walsh Date: Tue, 25 Apr 2023 13:07:53 -0700 Subject: [PATCH 10/34] oracle prover bug --- .../protocol/contracts/L1/libs/LibProving.sol | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index fc5115ddd0d..4fcb6e29355 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -64,28 +64,28 @@ library LibProving { address oracleProver = resolver.resolve("oracle_prover", true); if (oracleProver == address(0)) revert L1_ORACLE_DISABLED(); if (msg.sender != oracleProver) { - if (evidence.proof.length == 64) { - uint8 v = uint8(evidence.verifierId); - bytes32 r; - bytes32 s; - bytes memory data = evidence.proof; - assembly { - r := mload(add(data, 32)) - s := mload(add(data, 64)) - } - - // clear the proof before hasing evidence - evidence.verifierId = 0; - evidence.proof = new bytes(0); - - if ( - oracleProver != - ecrecover(keccak256(abi.encode(evidence)), v, r, s) - ) revert L1_NOT_ORACLE_PROVER(); - } - } else { revert L1_NOT_ORACLE_PROVER(); } + + if (evidence.proof.length == 64) { + uint8 v = uint8(evidence.verifierId); + bytes32 r; + bytes32 s; + bytes memory data = evidence.proof; + assembly { + r := mload(add(data, 32)) + s := mload(add(data, 64)) + } + + // clear the proof before hasing evidence + evidence.verifierId = 0; + evidence.proof = new bytes(0); + + if ( + oracleProver != + ecrecover(keccak256(abi.encode(evidence)), v, r, s) + ) revert L1_NOT_ORACLE_PROVER(); + } } TaikoData.ForkChoice storage fc; From 848fa3654e3308f971efe84ca9444150b07e3383 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Wed, 26 Apr 2023 13:40:39 +0800 Subject: [PATCH 11/34] Revert "oracle prover bug" This reverts commit f33878303919e35eb6b4646d6884500a1a444e71. --- .../protocol/contracts/L1/libs/LibProving.sol | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index 4fcb6e29355..fc5115ddd0d 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -64,27 +64,27 @@ library LibProving { address oracleProver = resolver.resolve("oracle_prover", true); if (oracleProver == address(0)) revert L1_ORACLE_DISABLED(); if (msg.sender != oracleProver) { - revert L1_NOT_ORACLE_PROVER(); - } - - if (evidence.proof.length == 64) { - uint8 v = uint8(evidence.verifierId); - bytes32 r; - bytes32 s; - bytes memory data = evidence.proof; - assembly { - r := mload(add(data, 32)) - s := mload(add(data, 64)) + if (evidence.proof.length == 64) { + uint8 v = uint8(evidence.verifierId); + bytes32 r; + bytes32 s; + bytes memory data = evidence.proof; + assembly { + r := mload(add(data, 32)) + s := mload(add(data, 64)) + } + + // clear the proof before hasing evidence + evidence.verifierId = 0; + evidence.proof = new bytes(0); + + if ( + oracleProver != + ecrecover(keccak256(abi.encode(evidence)), v, r, s) + ) revert L1_NOT_ORACLE_PROVER(); } - - // clear the proof before hasing evidence - evidence.verifierId = 0; - evidence.proof = new bytes(0); - - if ( - oracleProver != - ecrecover(keccak256(abi.encode(evidence)), v, r, s) - ) revert L1_NOT_ORACLE_PROVER(); + } else { + revert L1_NOT_ORACLE_PROVER(); } } From bd800a34cd85d5e2a2aef5b92575edd3695bb869 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Wed, 26 Apr 2023 13:42:21 +0800 Subject: [PATCH 12/34] fix oracle proving bug --- packages/protocol/contracts/L1/libs/LibProving.sol | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index fc5115ddd0d..ddf9ef2552d 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -63,8 +63,11 @@ library LibProving { if (isOracleProof) { address oracleProver = resolver.resolve("oracle_prover", true); if (oracleProver == address(0)) revert L1_ORACLE_DISABLED(); + if (msg.sender != oracleProver) { - if (evidence.proof.length == 64) { + if (evidence.proof.length != 64) { + revert L1_NOT_ORACLE_PROVER(); + } else { uint8 v = uint8(evidence.verifierId); bytes32 r; bytes32 s; @@ -83,8 +86,6 @@ library LibProving { ecrecover(keccak256(abi.encode(evidence)), v, r, s) ) revert L1_NOT_ORACLE_PROVER(); } - } else { - revert L1_NOT_ORACLE_PROVER(); } } From eee153c016419a81f1c05050fa06a42c41a33760 Mon Sep 17 00:00:00 2001 From: Dani <51912515+adaki2004@users.noreply.github.com> Date: Wed, 26 Apr 2023 09:41:03 +0200 Subject: [PATCH 13/34] feat(protocol): Remove non-working FoundryRandom and implement a custom one (#13651) Co-authored-by: Daniel Wang <99078276+dantaik@users.noreply.github.com> --- .gitmodules | 4 - packages/protocol/foundry.toml | 1 + packages/protocol/lib/foundry-random | 1 - packages/protocol/package.json | 2 +- packages/protocol/remappings.txt | 1 - packages/protocol/test/TaikoL1.sim.sol | 89 ++++++++++++++----- .../test/TaikoL1LibTokenomicsMainnet.t.sol | 3 +- 7 files changed, 68 insertions(+), 33 deletions(-) delete mode 160000 packages/protocol/lib/foundry-random diff --git a/.gitmodules b/.gitmodules index d4741407013..d075cf60403 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,7 +14,3 @@ path = packages/protocol/lib/forge-std url = https://github.com/foundry-rs/forge-std branch = chore/v1.5.1 -[submodule "packages/protocol/lib/foundry-random"] - path = packages/protocol/lib/foundry-random - url = https://github.com/joejordan/foundry-random - branch = v1.0.2 diff --git a/packages/protocol/foundry.toml b/packages/protocol/foundry.toml index fdf3fa04279..73305cb8f54 100644 --- a/packages/protocol/foundry.toml +++ b/packages/protocol/foundry.toml @@ -10,6 +10,7 @@ optimizer = true optimizer_runs = 200 ffi = true gas_limit = '18446744073709551615' +memory_limit = 1073741824 # Do not change the block_gas_limit value, TaikoL2.t.sol depends on it. block_gas_limit = 30000000 #30M diff --git a/packages/protocol/lib/foundry-random b/packages/protocol/lib/foundry-random deleted file mode 160000 index e39ad2c18c4..00000000000 --- a/packages/protocol/lib/foundry-random +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e39ad2c18c4ff57c6231799f40c787e41eb2dad0 diff --git a/packages/protocol/package.json b/packages/protocol/package.json index d973a2c9c3c..3c355288c5f 100644 --- a/packages/protocol/package.json +++ b/packages/protocol/package.json @@ -14,7 +14,7 @@ "test": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.t.sol", "snapshot": "forge snapshot --match-path test/**/*.t.sol", "test:coverage": "forge coverage --report lcov", - "test:sim": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 30000000000 --memory-limit 1073741824", + "test:sim": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 30000000000", "generate:genesis": "ts-node ./utils/generate_genesis/main.ts", "test:genesis": "./test/genesis/generate_genesis.test.sh", "deploy:foundry": "./script/download_solc.sh && ./script/test_deploy_on_l1.sh", diff --git a/packages/protocol/remappings.txt b/packages/protocol/remappings.txt index 452ac282ef1..271c7272700 100644 --- a/packages/protocol/remappings.txt +++ b/packages/protocol/remappings.txt @@ -1,6 +1,5 @@ forge-std/=lib/forge-std/src/ solmate/=lib/solmate/src/ ds-test/=lib/forge-std/lib/ds-test/src/ -foundry-random/=lib/foundry-random/src/ @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ \ No newline at end of file diff --git a/packages/protocol/test/TaikoL1.sim.sol b/packages/protocol/test/TaikoL1.sim.sol index 30f64b736e5..7174bd7757a 100644 --- a/packages/protocol/test/TaikoL1.sim.sol +++ b/packages/protocol/test/TaikoL1.sim.sol @@ -3,7 +3,6 @@ pragma solidity ^0.8.18; import {Test} from "forge-std/Test.sol"; import {console2} from "forge-std/console2.sol"; -import {FoundryRandom} from "foundry-random/FoundryRandom.sol"; import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; import {TaikoData} from "../contracts/L1/TaikoData.sol"; import {TaikoL1} from "../contracts/L1/TaikoL1.sol"; @@ -37,7 +36,10 @@ contract Verifier { } } -contract TaikoL1Simulation is TaikoL1TestBase, FoundryRandom { +contract TaikoL1Simulation is TaikoL1TestBase { + // Initial salt for semi-random generation + uint256 salt = 2195684615613153; + function deployTaikoL1() internal override returns (TaikoL1 taikoL1) { taikoL1 = new TaikoL1_b(); } @@ -73,35 +75,73 @@ contract TaikoL1Simulation is TaikoL1TestBase, FoundryRandom { uint256 avgBlockTime = 10 seconds; for (uint256 blockId = 1; blockId < blocksToSimulate; blockId++) { - time += randomNumber(avgBlockTime * 2); + uint256 newRandomWithoutSalt = uint256( + keccak256(abi.encodePacked(time, msg.sender, block.timestamp)) + ); + + time += pickRandomNumber( + newRandomWithoutSalt, + avgBlockTime, + (avgBlockTime * 2 - avgBlockTime + 1) + ); + //Regenerate salt every time used at pickRandomNumber + salt = uint256(keccak256(abi.encodePacked(time, salt))); while ((time / 12) * 12 > block.timestamp) { vm.warp(block.timestamp + 12); vm.roll(block.number + 1); } - uint32 gasLimit = uint32(randomNumber(100E3, 30E6)); // 100K to 30M - uint32 gasUsed = uint32(randomNumber(gasLimit / 2, gasLimit)); - uint24 txListSize = uint24(randomNumber(1, conf.maxBytesPerTxList)); - bytes32 blockHash = bytes32(randomNumber(type(uint256).max)); - bytes32 signalRoot = bytes32(randomNumber(type(uint256).max)); + uint32 gasLimit = uint32( + pickRandomNumber( + newRandomWithoutSalt, + 100E3, + (3000000 - 100000 + 1) + ) + ); // 100K to 30M + salt = uint256(keccak256(abi.encodePacked(gasLimit, salt))); + + uint32 gasUsed = uint32( + pickRandomNumber( + newRandomWithoutSalt, + (gasLimit / 2), + ((gasLimit / 2) + 1) + ) + ); + salt = uint256(keccak256(abi.encodePacked(gasUsed, salt))); + + uint24 txListSize = uint24( + pickRandomNumber( + newRandomWithoutSalt, + 1, + conf.maxBytesPerTxList + ) //Actually (conf.maxBytesPerTxList-1)+1 but that's the same + ); + salt = uint256(keccak256(abi.encodePacked(txListSize, salt))); + + bytes32 blockHash = bytes32( + pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + ); + salt = uint256(keccak256(abi.encodePacked(blockHash, salt))); + + bytes32 signalRoot = bytes32( + pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + ); + salt = uint256(keccak256(abi.encodePacked(signalRoot, salt))); TaikoData.BlockMetadata memory meta = proposeBlock( Alice, gasLimit, txListSize ); + // Here we need to have some time elapsed between propose and prove // Realistically lets make it somewhere 160-240 sec, it is realistic - // for a testnet. Created this function because randomNumber seems to - // be non-working properly. - uint8 proveTimeCnt = pickRandomProveTime( - uint256( - keccak256( - abi.encodePacked(time, msg.sender, block.timestamp) - ) - ) - ); + // for a testnet. + uint256 proveTimeCnt = pickRandomNumber(newRandomWithoutSalt, 8, 5); + + salt = uint256(keccak256(abi.encodePacked(proveTimeCnt, salt))); + //console2.log("salt:", salt); mine(proveTimeCnt); @@ -156,12 +196,13 @@ contract TaikoL1Simulation is TaikoL1TestBase, FoundryRandom { console2.log(str); } - function pickRandomProveTime( - uint256 randomNum - ) internal pure returns (uint8) { - // Result shall be between 8-12 (inclusive) - // so that it will result in a 160-240s proof time - // while the proof time target is 200s - return uint8(8 + (randomNum % 5)); + // Semi-random number generator + function pickRandomNumber( + uint256 randomNum, + uint256 lowerLimit, + uint256 diffBtwLowerAndUpperLimit + ) internal view returns (uint256) { + randomNum = uint256(keccak256(abi.encodePacked(randomNum, salt))); + return (lowerLimit + (randomNum % diffBtwLowerAndUpperLimit)); } } diff --git a/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol b/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol index 3b9e73496d5..e43e166d25f 100644 --- a/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol +++ b/packages/protocol/test/TaikoL1LibTokenomicsMainnet.t.sol @@ -4,7 +4,6 @@ pragma solidity ^0.8.18; // Uncomment if you want to compare fee/vs reward import {Test} from "forge-std/Test.sol"; import {console2} from "forge-std/console2.sol"; -import {FoundryRandom} from "foundry-random/FoundryRandom.sol"; import {AddressManager} from "../contracts/common/AddressManager.sol"; import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; import {TaikoData} from "../contracts/L1/TaikoData.sol"; @@ -33,7 +32,7 @@ contract TaikoL1MainnetMockConfig is TaikoL1 { } } -contract TaikoL1LibTokenomicsMainnet is TaikoL1TestBase, FoundryRandom { +contract TaikoL1LibTokenomicsMainnet is TaikoL1TestBase { // To avoid stack too deep error // Can play to adjust uint32 iterationCnt = 5000; From 89439bb5dc8a1b1b9d9c77755dd339f9ea211b23 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Wed, 26 Apr 2023 17:21:03 +0800 Subject: [PATCH 14/34] test(protocol): fix unit test naming issue (all unit tests must use *.t.sol) (#13653) --- .../protocol/test/{Lib1559Math.sol => Lib1559Math.t.sol} | 0 .../test/{SignalServiceCalc.sol => SignalServiceCalc.t.sol} | 0 .../test/{TaikoL1_Oracle.sol => TaikoL1Oracle.t.sol} | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) rename packages/protocol/test/{Lib1559Math.sol => Lib1559Math.t.sol} (100%) rename packages/protocol/test/{SignalServiceCalc.sol => SignalServiceCalc.t.sol} (100%) rename packages/protocol/test/{TaikoL1_Oracle.sol => TaikoL1Oracle.t.sol} (98%) diff --git a/packages/protocol/test/Lib1559Math.sol b/packages/protocol/test/Lib1559Math.t.sol similarity index 100% rename from packages/protocol/test/Lib1559Math.sol rename to packages/protocol/test/Lib1559Math.t.sol diff --git a/packages/protocol/test/SignalServiceCalc.sol b/packages/protocol/test/SignalServiceCalc.t.sol similarity index 100% rename from packages/protocol/test/SignalServiceCalc.sol rename to packages/protocol/test/SignalServiceCalc.t.sol diff --git a/packages/protocol/test/TaikoL1_Oracle.sol b/packages/protocol/test/TaikoL1Oracle.t.sol similarity index 98% rename from packages/protocol/test/TaikoL1_Oracle.sol rename to packages/protocol/test/TaikoL1Oracle.t.sol index 40c43c7b365..14e4570eb91 100644 --- a/packages/protocol/test/TaikoL1_Oracle.sol +++ b/packages/protocol/test/TaikoL1Oracle.t.sol @@ -13,7 +13,7 @@ import {SignalService} from "../contracts/signal/SignalService.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {TaikoL1TestBase} from "./TaikoL1TestBase.t.sol"; -contract TaikoL1_Oracle is TaikoL1 { +contract TaikoL1Oracle is TaikoL1 { function getConfig() public pure @@ -36,9 +36,9 @@ contract Verifier { } } -contract TaikoL1_OracleTest is TaikoL1TestBase { +contract TaikoL1OracleTest is TaikoL1TestBase { function deployTaikoL1() internal override returns (TaikoL1 taikoL1) { - taikoL1 = new TaikoL1_Oracle(); + taikoL1 = new TaikoL1Oracle(); } function setUp() public override { From 57f06cbe46810f384ad9079504290e9e4bea9fa7 Mon Sep 17 00:00:00 2001 From: Francisco Ramos Date: Thu, 27 Apr 2023 00:37:33 +0200 Subject: [PATCH 15/34] fix(bridge-ui): fix claim eth message processed (#13656) --- packages/bridge-ui/src/bridge/ERC20Bridge.ts | 1 + packages/bridge-ui/src/bridge/ETHBridge.ts | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/packages/bridge-ui/src/bridge/ERC20Bridge.ts b/packages/bridge-ui/src/bridge/ERC20Bridge.ts index e00a1e35813..691521cd763 100644 --- a/packages/bridge-ui/src/bridge/ERC20Bridge.ts +++ b/packages/bridge-ui/src/bridge/ERC20Bridge.ts @@ -162,6 +162,7 @@ export class ERC20Bridge implements Bridge { messageStatus === MessageStatus.Done || messageStatus === MessageStatus.Failed ) { + // TODO: should be throw a different error when status is Failed? throw Error('message already processed'); } diff --git a/packages/bridge-ui/src/bridge/ETHBridge.ts b/packages/bridge-ui/src/bridge/ETHBridge.ts index c82f6407ab5..258b08087f5 100644 --- a/packages/bridge-ui/src/bridge/ETHBridge.ts +++ b/packages/bridge-ui/src/bridge/ETHBridge.ts @@ -104,12 +104,18 @@ export class ETHBridge implements Bridge { throw Error('message already processed'); } + if (messageStatus === MessageStatus.Failed) { + throw Error('user can not process this, message has failed'); + } + const signerAddress = await opts.signer.getAddress(); if (opts.message.owner.toLowerCase() !== signerAddress.toLowerCase()) { throw Error('user can not process this, it is not their message'); } + // TODO: up to here we share same logic as ERC20Bridge + if (messageStatus === MessageStatus.New) { const proofOpts = { srcChain: opts.message.srcChainId, From 81614b1c9f015c1d7022f96ef4866e0e31b180b9 Mon Sep 17 00:00:00 2001 From: jeff <113397187+cyberhorsey@users.noreply.github.com> Date: Wed, 26 Apr 2023 21:26:26 -0700 Subject: [PATCH 16/34] feat(status-page): ETH Deposit info (#13658) --- .../status-page/src/pages/home/Home.svelte | 32 +++++++++++++++++++ .../src/utils/getAvailableSlots.ts | 7 ++-- .../status-page/src/utils/getEthDeposits.ts | 10 ++++++ .../src/utils/getLastVerifiedBlockId.ts | 7 ++-- .../status-page/src/utils/getNextBlockId.ts | 7 ++-- .../src/utils/getNextEthDepositToProcess.ts | 11 +++++++ .../status-page/src/utils/getPendingBlocks.ts | 6 ++-- .../status-page/src/utils/getProofReward.ts | 1 - .../src/utils/getStateVariables.ts | 16 ++++++++++ 9 files changed, 81 insertions(+), 16 deletions(-) create mode 100644 packages/status-page/src/utils/getEthDeposits.ts create mode 100644 packages/status-page/src/utils/getNextEthDepositToProcess.ts diff --git a/packages/status-page/src/pages/home/Home.svelte b/packages/status-page/src/pages/home/Home.svelte index 41ba828ee67..98248f1092f 100644 --- a/packages/status-page/src/pages/home/Home.svelte +++ b/packages/status-page/src/pages/home/Home.svelte @@ -21,6 +21,8 @@ import { getNumProposers } from "../../utils/getNumProposers"; import DetailsModal from "../../components/DetailsModal.svelte"; import { addressSubsection } from "../../utils/addressSubsection"; + import { getEthDeposits } from "../../utils/getEthDeposits"; + import { getNextEthDepositToProcess } from "../../utils/getNextEthDepositToProcess"; export let l1Provider: ethers.providers.JsonRpcProvider; export let l1TaikoAddress: string; @@ -191,6 +193,36 @@ tooltip: "The amount of pending proposed blocks that have not been proven on the TaikoL1 smart contract.", }, + { + statusFunc: getEthDeposits, + watchStatusFunc: null, + provider: l1Provider, + contractAddress: l1TaikoAddress, + header: "ETH Deposits", + intervalInMs: 20000, + colorFunc: (value: Status) => { + if (BigNumber.from(value).eq(0)) { + return "green"; + } else if (BigNumber.from(value).lt(32)) { + return "yellow"; + } else { + return "red"; + } + }, + tooltip: "The number of pending ETH deposits for L1 => L2", + }, + { + statusFunc: getNextEthDepositToProcess, + watchStatusFunc: null, + provider: l1Provider, + contractAddress: l1TaikoAddress, + header: "Next ETH Deposit", + intervalInMs: 20000, + colorFunc: (value: Status) => { + return "green"; + }, + tooltip: "The next ETH deposit that will be processed", + }, { statusFunc: getGasPrice, watchStatusFunc: null, diff --git a/packages/status-page/src/utils/getAvailableSlots.ts b/packages/status-page/src/utils/getAvailableSlots.ts index 5a5fc6a8dcb..8a03c04c96c 100644 --- a/packages/status-page/src/utils/getAvailableSlots.ts +++ b/packages/status-page/src/utils/getAvailableSlots.ts @@ -1,13 +1,12 @@ -import { Contract, ethers } from "ethers"; -import TaikoL1 from "../constants/abi/TaikoL1"; +import type { ethers } from "ethers"; import { getConfig } from "./getConfig"; +import { getStateVariables } from "./getStateVariables"; export const getAvailableSlots = async ( provider: ethers.providers.JsonRpcProvider, contractAddress: string ): Promise => { - const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - const stateVariables = await contract.getStateVariables(); + const stateVariables = await getStateVariables(provider, contractAddress); const config = await getConfig(provider, contractAddress); const nextBlockId = stateVariables.numBlocks; diff --git a/packages/status-page/src/utils/getEthDeposits.ts b/packages/status-page/src/utils/getEthDeposits.ts new file mode 100644 index 00000000000..c2b2307ead8 --- /dev/null +++ b/packages/status-page/src/utils/getEthDeposits.ts @@ -0,0 +1,10 @@ +import type { ethers } from "ethers"; +import { getStateVariables } from "./getStateVariables"; + +export const getEthDeposits = async ( + provider: ethers.providers.JsonRpcProvider, + contractAddress: string +): Promise => { + const stateVariables = await getStateVariables(provider, contractAddress); + return stateVariables.numEthDeposits; +}; diff --git a/packages/status-page/src/utils/getLastVerifiedBlockId.ts b/packages/status-page/src/utils/getLastVerifiedBlockId.ts index 84c1ae2457f..8986cce0f1a 100644 --- a/packages/status-page/src/utils/getLastVerifiedBlockId.ts +++ b/packages/status-page/src/utils/getLastVerifiedBlockId.ts @@ -1,12 +1,11 @@ -import { BigNumber, Contract, ethers } from "ethers"; -import TaikoL1 from "../constants/abi/TaikoL1"; +import { BigNumber, ethers } from "ethers"; +import { getStateVariables } from "./getStateVariables"; export const getLastVerifiedBlockId = async ( provider: ethers.providers.JsonRpcProvider, contractAddress: string ): Promise => { - const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - const stateVariables = await contract.getStateVariables(); + const stateVariables = await getStateVariables(provider, contractAddress); const lastBlockId = stateVariables.lastVerifiedBlockId; return BigNumber.from(lastBlockId).toNumber(); }; diff --git a/packages/status-page/src/utils/getNextBlockId.ts b/packages/status-page/src/utils/getNextBlockId.ts index 39a104aaf68..aac8abc43e4 100644 --- a/packages/status-page/src/utils/getNextBlockId.ts +++ b/packages/status-page/src/utils/getNextBlockId.ts @@ -1,12 +1,11 @@ -import { BigNumber, Contract, ethers } from "ethers"; -import TaikoL1 from "../constants/abi/TaikoL1"; +import { BigNumber, ethers } from "ethers"; +import { getStateVariables } from "./getStateVariables"; export const getNextBlockId = async ( provider: ethers.providers.JsonRpcProvider, contractAddress: string ): Promise => { - const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - const stateVariables = await contract.getStateVariables(); + const stateVariables = await getStateVariables(provider, contractAddress); const nextBlockId = stateVariables.numBlocks; return BigNumber.from(nextBlockId).toNumber(); }; diff --git a/packages/status-page/src/utils/getNextEthDepositToProcess.ts b/packages/status-page/src/utils/getNextEthDepositToProcess.ts new file mode 100644 index 00000000000..fd8ace3a771 --- /dev/null +++ b/packages/status-page/src/utils/getNextEthDepositToProcess.ts @@ -0,0 +1,11 @@ +import { Contract, ethers } from "ethers"; +import TaikoL1 from "../constants/abi/TaikoL1"; + +export const getNextEthDepositToProcess = async ( + provider: ethers.providers.JsonRpcProvider, + contractAddress: string +): Promise => { + const contract: Contract = new Contract(contractAddress, TaikoL1, provider); + const stateVariables = await contract.getStateVariables(); + return stateVariables.nextEthDepositToProcess; +}; diff --git a/packages/status-page/src/utils/getPendingBlocks.ts b/packages/status-page/src/utils/getPendingBlocks.ts index 553ae86cb06..9e0958d83ec 100644 --- a/packages/status-page/src/utils/getPendingBlocks.ts +++ b/packages/status-page/src/utils/getPendingBlocks.ts @@ -1,12 +1,12 @@ -import { Contract, ethers } from "ethers"; +import type { ethers } from "ethers"; import TaikoL1 from "../constants/abi/TaikoL1"; +import { getStateVariables } from "./getStateVariables"; export const getPendingBlocks = async ( provider: ethers.providers.JsonRpcProvider, contractAddress: string ): Promise => { - const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - const stateVariables = await contract.getStateVariables(); + const stateVariables = await getStateVariables(provider, contractAddress); const nextBlockId = stateVariables.numBlocks; const lastBlockId = stateVariables.lastVerifiedBlockId; return nextBlockId - lastBlockId - 1; diff --git a/packages/status-page/src/utils/getProofReward.ts b/packages/status-page/src/utils/getProofReward.ts index 77feb982797..1c25218dda5 100644 --- a/packages/status-page/src/utils/getProofReward.ts +++ b/packages/status-page/src/utils/getProofReward.ts @@ -7,7 +7,6 @@ export const getProofReward = async ( contractAddress: string ): Promise => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - const state = await contract.getStateVariables(); const fee = await contract.getProofReward( ~~(new Date().getTime() / 1000), ~~(new Date().getTime() / 1000) - 1200 diff --git a/packages/status-page/src/utils/getStateVariables.ts b/packages/status-page/src/utils/getStateVariables.ts index d194a10bf36..d0b83e0b7b5 100644 --- a/packages/status-page/src/utils/getStateVariables.ts +++ b/packages/status-page/src/utils/getStateVariables.ts @@ -1,11 +1,27 @@ import { BigNumber, Contract, ethers } from "ethers"; import TaikoL1 from "../constants/abi/TaikoL1"; +const cacheTime = 1000 * 15; // 15 seconds +type StateVarsCache = { + cachedAt: number; + stateVars: any; +}; + +let stateVarsCache: StateVarsCache; + export const getStateVariables = async ( provider: ethers.providers.JsonRpcProvider, contractAddress: string ) => { + if (stateVarsCache && stateVarsCache.cachedAt + cacheTime > Date.now()) { + return stateVarsCache.stateVars; + } + const contract: Contract = new Contract(contractAddress, TaikoL1, provider); const vars = await contract.getStateVariables(); + stateVarsCache = { + stateVars: vars, + cachedAt: Date.now(), + }; return vars; }; From b21dff9c63ad5b4df2ef03578f3caf66d1795e71 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:31:48 +0800 Subject: [PATCH 17/34] refactor(protocol): optimize address manager impl (#13668) --- packages/protocol/contracts/L1/TaikoL1.sol | 2 +- .../contracts/L1/libs/LibTokenomics.sol | 8 ++-- .../protocol/contracts/L1/libs/LibUtils.sol | 4 +- .../contracts/common/AddressManager.sol | 36 ++++++----------- .../contracts/common/AddressResolver.sol | 8 ++-- .../test/ExampleStaticAddressManager.sol | 39 +++++++++++++++++++ packages/protocol/script/DeployOnL1.s.sol | 32 ++++++--------- packages/protocol/test/TaikoL1TestBase.t.sol | 12 +++--- packages/protocol/test/TaikoToken.t.sol | 4 +- .../test/genesis/GenerateGenesis.g.sol | 4 +- .../contract-documentation/L1/TaikoL1.md | 2 +- .../common/AddressManager.md | 18 ++++----- .../common/AddressResolver.md | 16 ++++---- 13 files changed, 102 insertions(+), 83 deletions(-) create mode 100644 packages/protocol/contracts/test/ExampleStaticAddressManager.sol diff --git a/packages/protocol/contracts/L1/TaikoL1.sol b/packages/protocol/contracts/L1/TaikoL1.sol index 9a8dd356c5b..d8b91dd62e7 100644 --- a/packages/protocol/contracts/L1/TaikoL1.sol +++ b/packages/protocol/contracts/L1/TaikoL1.sol @@ -245,7 +245,7 @@ contract TaikoL1 is EssentialContract, IXchainSync, TaikoEvents, TaikoErrors { return TaikoConfig.getConfig(); } - function getVerifierName(uint16 id) public pure returns (string memory) { + function getVerifierName(uint16 id) public pure returns (bytes32) { return LibUtils.getVerifierName(id); } } diff --git a/packages/protocol/contracts/L1/libs/LibTokenomics.sol b/packages/protocol/contracts/L1/libs/LibTokenomics.sol index 9dc1fb054b9..aa5ad830eee 100644 --- a/packages/protocol/contracts/L1/libs/LibTokenomics.sol +++ b/packages/protocol/contracts/L1/libs/LibTokenomics.sol @@ -92,19 +92,19 @@ library LibTokenomics { } /** - * Calculate the newProofTimeIssued and BlockFee + * Calculate the newProofTimeIssued and blockFee * * @param state The actual state data * @param config Config data * @param proofTime The actual proof time * @return newProofTimeIssued Accumulated proof time - * @return BlockFee New block fee + * @return blockFee New block fee */ function getNewBlockFeeAndProofTimeIssued( TaikoData.State storage state, TaikoData.Config memory config, uint64 proofTime - ) internal view returns (uint64 newProofTimeIssued, uint64 BlockFee) { + ) internal view returns (uint64 newProofTimeIssued, uint64 blockFee) { newProofTimeIssued = (state.proofTimeIssued > config.proofTimeTarget) ? state.proofTimeIssued - config.proofTimeTarget : uint64(0); @@ -121,6 +121,6 @@ library LibTokenomics { Math.SCALING_FACTOR_1E18) / (config.proofTimeTarget * config.adjustmentQuotient); - BlockFee = uint64(result.min(type(uint64).max)); + blockFee = uint64(result.min(type(uint64).max)); } } diff --git a/packages/protocol/contracts/L1/libs/LibUtils.sol b/packages/protocol/contracts/L1/libs/LibUtils.sol index d2c5d17f902..1262b3c2578 100644 --- a/packages/protocol/contracts/L1/libs/LibUtils.sol +++ b/packages/protocol/contracts/L1/libs/LibUtils.sol @@ -123,7 +123,7 @@ library LibUtils { } } - function getVerifierName(uint16 id) internal pure returns (string memory) { - return string(bytes.concat(bytes("verifier_"), bytes2(id))); + function getVerifierName(uint16 id) internal pure returns (bytes32) { + return bytes32(uint256(0x1000000) + id); } } diff --git a/packages/protocol/contracts/common/AddressManager.sol b/packages/protocol/contracts/common/AddressManager.sol index fc37b76dd4d..f0db7876037 100644 --- a/packages/protocol/contracts/common/AddressManager.sol +++ b/packages/protocol/contracts/common/AddressManager.sol @@ -18,12 +18,12 @@ interface IAddressManager { /** * Changes the address associated with a particular name. * @param domain Uint256 domain to assiciate an address with. - * @param name String name to associate an address with. + * @param name Name to associate an address with. * @param newAddress Address to associate with the name. */ function setAddress( uint256 domain, - string memory name, + bytes32 name, address newAddress ) external; @@ -35,7 +35,7 @@ interface IAddressManager { */ function getAddress( uint256 domain, - string memory name + bytes32 name ) external view returns (address); } @@ -43,12 +43,12 @@ interface IAddressManager { * @title AddressManager */ contract AddressManager is OwnableUpgradeable, IAddressManager { - mapping(uint256 domain => mapping(bytes32 nameHash => address addr)) + mapping(uint256 domain => mapping(bytes32 name => address addr)) private addresses; event AddressSet( uint256 indexed _domain, - string indexed _name, + bytes32 indexed _name, address _newAddress, address _oldAddress ); @@ -60,30 +60,18 @@ contract AddressManager is OwnableUpgradeable, IAddressManager { function setAddress( uint256 domain, - string memory name, + bytes32 name, address newAddress - ) external onlyOwner { - address oldAddress = addresses[domain][_stringToBytes32(name)]; - addresses[domain][_stringToBytes32(name)] = newAddress; + ) external virtual onlyOwner { + address oldAddress = addresses[domain][name]; + addresses[domain][name] = newAddress; emit AddressSet(domain, name, newAddress, oldAddress); } function getAddress( uint256 domain, - string memory name - ) external view returns (address addr) { - addr = addresses[domain][_stringToBytes32(name)]; - } - - function _stringToBytes32( - string memory source - ) private pure returns (bytes32 result) { - if (bytes(source).length == 0) { - return 0x0; - } - - assembly { - result := mload(add(source, 32)) - } + bytes32 name + ) external view virtual returns (address addr) { + addr = addresses[domain][name]; } } diff --git a/packages/protocol/contracts/common/AddressResolver.sol b/packages/protocol/contracts/common/AddressResolver.sol index 668429f0ea0..ec2d862386a 100644 --- a/packages/protocol/contracts/common/AddressResolver.sol +++ b/packages/protocol/contracts/common/AddressResolver.sol @@ -23,7 +23,7 @@ abstract contract AddressResolver { error RESOLVER_DENIED(); error RESOLVER_INVALID_ADDR(); - modifier onlyFromNamed(string memory name) { + modifier onlyFromNamed(bytes32 name) { if (msg.sender != resolve(name, false)) revert RESOLVER_DENIED(); _; } @@ -37,7 +37,7 @@ abstract contract AddressResolver { * @return The name's corresponding address. */ function resolve( - string memory name, + bytes32 name, bool allowZeroAddress ) public view virtual returns (address payable) { return _resolve(block.chainid, name, allowZeroAddress); @@ -54,7 +54,7 @@ abstract contract AddressResolver { */ function resolve( uint256 chainId, - string memory name, + bytes32 name, bool allowZeroAddress ) public view virtual returns (address payable) { return _resolve(chainId, name, allowZeroAddress); @@ -76,7 +76,7 @@ abstract contract AddressResolver { function _resolve( uint256 chainId, - string memory name, + bytes32 name, bool allowZeroAddress ) private view returns (address payable addr) { addr = payable(_addressManager.getAddress(chainId, name)); diff --git a/packages/protocol/contracts/test/ExampleStaticAddressManager.sol b/packages/protocol/contracts/test/ExampleStaticAddressManager.sol new file mode 100644 index 00000000000..f9c28342c0b --- /dev/null +++ b/packages/protocol/contracts/test/ExampleStaticAddressManager.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: MIT +// _____ _ _ _ _ +// |_ _|_ _(_) |_____ | | __ _| |__ ___ +// | |/ _` | | / / _ \ | |__/ _` | '_ (_-< +// |_|\__,_|_|_\_\___/ |____\__,_|_.__/__/ + +pragma solidity ^0.8.18; + +/* External Imports */ +import {AddressManager} from "../common/AddressManager.sol"; + +/** + * @title ExampleStaticAddressManager + * Such a static lookup AddressManager can be used to replace + * existing storage-based lookup AddressManager so we can avoid + * SSLOAD easily. + */ +contract ExampleStaticAddressManager is AddressManager { + function setAddress( + uint256 /*domain*/, + bytes32 /*nameHash*/, + address /*newAddress*/ + ) external pure override { + revert(""); + } + + /// @dev This function must be a pure function in order to avoid + /// reading from storage. + function getAddress( + uint256 domain, + bytes32 nameHash + ) external pure override returns (address addr) { + if (domain == 1) { + if (nameHash == "ether_vault") addr = address(0x123); + } else if (domain == 167) { + if (nameHash == "taiko") addr = address(0x456); + } + } +} diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol index 4881b63bdc5..18f547c9259 100644 --- a/packages/protocol/script/DeployOnL1.s.sol +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -113,12 +113,12 @@ contract DeployOnL1 is Script { // HorseToken && BullToken address horseToken = address(new FreeMintERC20("Horse Token", "HORSE")); - console.log("HorseToken", horseToken); + console2.log("HorseToken", horseToken); address bullToken = address( new MayFailFreeMintERC20("Bull Token", "BLL") ); - console.log("BullToken", bullToken); + console2.log("BullToken", bullToken); uint64 feeBase = 1 ** 8; // Taiko Token's decimals is 8, not 18 @@ -177,7 +177,7 @@ contract DeployOnL1 is Script { ) ); } else { - console.log( + console2.log( "Warining: using shared signal service: ", sharedSignalService ); @@ -227,13 +227,13 @@ contract DeployOnL1 is Script { if (deployedAddress == address(0)) revert FAILED_TO_DEPLOY_PLONK_VERIFIER(contractPath); - console.log(contractPath, deployedAddress); + console2.log(contractPath, deployedAddress); return deployedAddress; } function deployProxy( - string memory name, + bytes32 name, address implementation, bytes memory data ) private returns (address proxy) { @@ -241,33 +241,25 @@ contract DeployOnL1 is Script { new TransparentUpgradeableProxy(implementation, owner, data) ); - console.log(name, "(impl) ->", implementation); - console.log(name, "(proxy) ->", proxy); + console2.log(vm.toString(name), "(impl) ->", implementation); + console2.log(vm.toString(name), "(proxy) ->", proxy); if (addressManagerProxy != address(0)) { - AddressManager(addressManagerProxy).setAddress( - block.chainid, - name, - proxy - ); + setAddress(block.chainid, name, proxy); } vm.writeJson( - vm.serializeAddress("deployment", name, proxy), + vm.serializeAddress("deployment", vm.toString(name), proxy), string.concat(vm.projectRoot(), "/deployments/deploy_l1.json") ); } - function setAddress(string memory name, address addr) private { + function setAddress(bytes32 name, address addr) private { setAddress(block.chainid, name, addr); } - function setAddress( - uint256 chainId, - string memory name, - address addr - ) private { - console.log(chainId, name, "--->", addr); + function setAddress(uint256 chainId, bytes32 name, address addr) private { + console2.log(chainId, uint256(name), "--->", addr); if (addr != address(0)) { AddressManager(addressManagerProxy).setAddress(chainId, name, addr); } diff --git a/packages/protocol/test/TaikoL1TestBase.t.sol b/packages/protocol/test/TaikoL1TestBase.t.sol index 328214c99a1..4cb69077efb 100644 --- a/packages/protocol/test/TaikoL1TestBase.t.sol +++ b/packages/protocol/test/TaikoL1TestBase.t.sol @@ -170,14 +170,14 @@ abstract contract TaikoL1TestBase is Test { L1.verifyBlocks(count); } - function registerAddress(string memory name, address addr) internal { - addressManager.setAddress(block.chainid, name, addr); - console2.log(block.chainid, name, unicode"→", addr); + function registerAddress(bytes32 nameHash, address addr) internal { + addressManager.setAddress(block.chainid, nameHash, addr); + console2.log(block.chainid, uint256(nameHash), unicode"→", addr); } - function registerL2Address(string memory name, address addr) internal { - addressManager.setAddress(conf.chainId, name, addr); - console2.log(conf.chainId, name, unicode"→", addr); + function registerL2Address(bytes32 nameHash, address addr) internal { + addressManager.setAddress(conf.chainId, nameHash, addr); + console2.log(conf.chainId, uint256(nameHash), unicode"→", addr); } function depositTaikoToken( diff --git a/packages/protocol/test/TaikoToken.t.sol b/packages/protocol/test/TaikoToken.t.sol index e40b57d4be1..4a805e2e017 100644 --- a/packages/protocol/test/TaikoToken.t.sol +++ b/packages/protocol/test/TaikoToken.t.sol @@ -268,8 +268,8 @@ contract TaikoTokenTest is Test { assertEq(tko.balanceOf(Eve), amountToMint); } - function registerAddress(string memory name, address addr) internal { - addressManager.setAddress(block.chainid, name, addr); + function registerAddress(bytes32 nameHash, address addr) internal { + addressManager.setAddress(block.chainid, nameHash, addr); } function deployViaProxy( diff --git a/packages/protocol/test/genesis/GenerateGenesis.g.sol b/packages/protocol/test/genesis/GenerateGenesis.g.sol index c806e220b6c..b1d6241f767 100644 --- a/packages/protocol/test/genesis/GenerateGenesis.g.sol +++ b/packages/protocol/test/genesis/GenerateGenesis.g.sol @@ -192,11 +192,11 @@ contract TestGenerateGenesis is Test, AddressResolver { function checkSavedAddress( AddressManager addressManager, string memory contractName, - string memory key + bytes32 name ) private { assertEq( getPredeployedContractAddress(contractName), - addressManager.getAddress(block.chainid, key) + addressManager.getAddress(block.chainid, name) ); } } diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md index 7cb87988e33..449856b7192 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md @@ -153,5 +153,5 @@ function getConfig() public pure virtual returns (struct TaikoData.Config) ### getVerifierName ```solidity -function getVerifierName(uint16 id) public pure returns (string) +function getVerifierName(uint16 id) public pure returns (bytes32) ``` diff --git a/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md b/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md index 4f3dfa739e2..d41a9352aa9 100644 --- a/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md +++ b/packages/website/pages/docs/reference/contract-documentation/common/AddressManager.md @@ -9,7 +9,7 @@ Interface to set and get an address for a name. ### setAddress ```solidity -function setAddress(uint256 domain, string name, address newAddress) external +function setAddress(uint256 domain, bytes32 name, address newAddress) external ``` Changes the address associated with a particular name. @@ -19,13 +19,13 @@ Changes the address associated with a particular name. | Name | Type | Description | | ---------- | ------- | -------------------------------------------- | | domain | uint256 | Uint256 domain to assiciate an address with. | -| name | string | String name to associate an address with. | +| name | bytes32 | Name to associate an address with. | | newAddress | address | Address to associate with the name. | ### getAddress ```solidity -function getAddress(uint256 domain, string name) external view returns (address) +function getAddress(uint256 domain, bytes32 name) external view returns (address) ``` Retrieves the address associated with a given name. @@ -35,7 +35,7 @@ Retrieves the address associated with a given name. | Name | Type | Description | | ------ | ------- | --------------------------------- | | domain | uint256 | Class to retrieve an address for. | -| name | string | Name to retrieve an address for. | +| name | bytes32 | Name to retrieve an address for. | #### Return Values @@ -52,7 +52,7 @@ Retrieves the address associated with a given name. ### AddressSet ```solidity -event AddressSet(uint256 _domain, string _name, address _newAddress, address _oldAddress) +event AddressSet(uint256 _domain, bytes32 _name, address _newAddress, address _oldAddress) ``` ### init @@ -66,7 +66,7 @@ _Initializer to be called after being deployed behind a proxy._ ### setAddress ```solidity -function setAddress(uint256 domain, string name, address newAddress) external +function setAddress(uint256 domain, bytes32 name, address newAddress) external virtual ``` Changes the address associated with a particular name. @@ -76,13 +76,13 @@ Changes the address associated with a particular name. | Name | Type | Description | | ---------- | ------- | -------------------------------------------- | | domain | uint256 | Uint256 domain to assiciate an address with. | -| name | string | String name to associate an address with. | +| name | bytes32 | Name to associate an address with. | | newAddress | address | Address to associate with the name. | ### getAddress ```solidity -function getAddress(uint256 domain, string name) external view returns (address addr) +function getAddress(uint256 domain, bytes32 name) external view virtual returns (address addr) ``` Retrieves the address associated with a given name. @@ -92,7 +92,7 @@ Retrieves the address associated with a given name. | Name | Type | Description | | ------ | ------- | --------------------------------- | | domain | uint256 | Class to retrieve an address for. | -| name | string | Name to retrieve an address for. | +| name | bytes32 | Name to retrieve an address for. | #### Return Values diff --git a/packages/website/pages/docs/reference/contract-documentation/common/AddressResolver.md b/packages/website/pages/docs/reference/contract-documentation/common/AddressResolver.md index 94bf6628bbc..cc43712df40 100644 --- a/packages/website/pages/docs/reference/contract-documentation/common/AddressResolver.md +++ b/packages/website/pages/docs/reference/contract-documentation/common/AddressResolver.md @@ -28,13 +28,13 @@ error RESOLVER_INVALID_ADDR() ### onlyFromNamed ```solidity -modifier onlyFromNamed(string name) +modifier onlyFromNamed(bytes32 name) ``` ### resolve ```solidity -function resolve(string name, bool allowZeroAddress) public view virtual returns (address payable) +function resolve(bytes32 name, bool allowZeroAddress) public view virtual returns (address payable) ``` Resolves a name to an address on the current chain. @@ -43,10 +43,10 @@ _This function will throw if the resolved address is `address(0)`._ #### Parameters -| Name | Type | Description | -| ---------------- | ------ | ------------------------------------------ | -| name | string | The name to resolve. | -| allowZeroAddress | bool | True to allow zero address to be returned. | +| Name | Type | Description | +| ---------------- | ------- | ------------------------------------------ | +| name | bytes32 | The name to resolve. | +| allowZeroAddress | bool | True to allow zero address to be returned. | #### Return Values @@ -57,7 +57,7 @@ _This function will throw if the resolved address is `address(0)`._ ### resolve ```solidity -function resolve(uint256 chainId, string name, bool allowZeroAddress) public view virtual returns (address payable) +function resolve(uint256 chainId, bytes32 name, bool allowZeroAddress) public view virtual returns (address payable) ``` Resolves a name to an address on the specified chain. @@ -69,7 +69,7 @@ _This function will throw if the resolved address is `address(0)`._ | Name | Type | Description | | ---------------- | ------- | ------------------------------------------ | | chainId | uint256 | The chainId. | -| name | string | The name to resolve. | +| name | bytes32 | The name to resolve. | | allowZeroAddress | bool | True to allow zero address to be returned. | #### Return Values From 779cf80556a33796c4ae2f5c89eaa14c7cbd6d3a Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Thu, 27 Apr 2023 15:33:46 +0800 Subject: [PATCH 18/34] Update TaikoConfig.sol --- packages/protocol/contracts/L1/TaikoConfig.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L1/TaikoConfig.sol b/packages/protocol/contracts/L1/TaikoConfig.sol index 9ea80036433..516437eab28 100644 --- a/packages/protocol/contracts/L1/TaikoConfig.sol +++ b/packages/protocol/contracts/L1/TaikoConfig.sol @@ -34,7 +34,7 @@ library TaikoConfig { // transactions list calldata, 8K for the remaining tx fields. maxBytesPerTxList: 120000, minTxGasLimit: 21000, - proofCooldownPeriod: 5 minutes, + proofCooldownPeriod: 30 minutes, ethDepositGas: 21000, ethDepositMaxFee: 1 ether / 10, txListCacheExpiry: 0, From dddb4489b5c619c793ca2e2b69be5744946d5192 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 27 Apr 2023 17:25:15 +0800 Subject: [PATCH 19/34] fix(protocol): fix contract names in `DeployOnL1` script output (#13670) --- packages/protocol/script/DeployOnL1.s.sol | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/protocol/script/DeployOnL1.s.sol b/packages/protocol/script/DeployOnL1.s.sol index 18f547c9259..ab1d4f1c2cd 100644 --- a/packages/protocol/script/DeployOnL1.s.sol +++ b/packages/protocol/script/DeployOnL1.s.sol @@ -233,7 +233,7 @@ contract DeployOnL1 is Script { } function deployProxy( - bytes32 name, + string memory name, address implementation, bytes memory data ) private returns (address proxy) { @@ -241,15 +241,15 @@ contract DeployOnL1 is Script { new TransparentUpgradeableProxy(implementation, owner, data) ); - console2.log(vm.toString(name), "(impl) ->", implementation); - console2.log(vm.toString(name), "(proxy) ->", proxy); + console2.log(name, "(impl) ->", implementation); + console2.log(name, "(proxy) ->", proxy); if (addressManagerProxy != address(0)) { - setAddress(block.chainid, name, proxy); + setAddress(block.chainid, bytes32(bytes(name)), proxy); } vm.writeJson( - vm.serializeAddress("deployment", vm.toString(name), proxy), + vm.serializeAddress("deployment", name, proxy), string.concat(vm.projectRoot(), "/deployments/deploy_l1.json") ); } From 7bf8e01d4da0e8529ceec9e6d493babb55494147 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Fri, 28 Apr 2023 14:21:01 +0800 Subject: [PATCH 20/34] feat(protocol): need one real ZKP every N blocks (#13673) --- packages/protocol/contracts/L1/TaikoConfig.sol | 4 ++++ packages/protocol/contracts/L1/TaikoData.sol | 1 + packages/protocol/contracts/L1/libs/LibProving.sol | 10 ++++++++++ packages/protocol/test/TaikoL1.sim.sol | 1 + packages/protocol/test/TaikoL1Oracle.t.sol | 1 + .../reference/contract-documentation/L1/TaikoData.md | 1 + 6 files changed, 18 insertions(+) diff --git a/packages/protocol/contracts/L1/TaikoConfig.sol b/packages/protocol/contracts/L1/TaikoConfig.sol index 516437eab28..070ce1436dd 100644 --- a/packages/protocol/contracts/L1/TaikoConfig.sol +++ b/packages/protocol/contracts/L1/TaikoConfig.sol @@ -35,6 +35,10 @@ library TaikoConfig { maxBytesPerTxList: 120000, minTxGasLimit: 21000, proofCooldownPeriod: 30 minutes, + // Only need 1 real zkp per 10 blocks. + // If block number is N, then only when N % 10 == 0, the real ZKP + // is needed. For mainnet, this must be 0 or 1. + realProofSkipSize: 10, ethDepositGas: 21000, ethDepositMaxFee: 1 ether / 10, txListCacheExpiry: 0, diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index 56abb81810b..5f084bb9fdc 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -20,6 +20,7 @@ library TaikoData { uint256 minTxGasLimit; uint256 txListCacheExpiry; uint256 proofCooldownPeriod; + uint256 realProofSkipSize; uint256 ethDepositGas; uint256 ethDepositMaxFee; uint64 minEthDepositsPerBlock; diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index ddf9ef2552d..bae5f2042cf 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -87,6 +87,16 @@ library LibProving { ) revert L1_NOT_ORACLE_PROVER(); } } + + if ( + config.realProofSkipSize > 1 && + blockId % config.realProofSkipSize != 0 + ) { + // For this block, real ZKP is not necessary, so the oracle + // proof will be treated as a real proof (by setting the prover + // to a non-zero value) + evidence.prover = address(1); + } } TaikoData.ForkChoice storage fc; diff --git a/packages/protocol/test/TaikoL1.sim.sol b/packages/protocol/test/TaikoL1.sim.sol index 7174bd7757a..dac7f1015ec 100644 --- a/packages/protocol/test/TaikoL1.sim.sol +++ b/packages/protocol/test/TaikoL1.sim.sol @@ -27,6 +27,7 @@ contract TaikoL1_b is TaikoL1 { config.maxVerificationsPerTx = 5; config.proofCooldownPeriod = 1 minutes; config.proofTimeTarget = 200; + config.realProofSkipSize = 0; } } diff --git a/packages/protocol/test/TaikoL1Oracle.t.sol b/packages/protocol/test/TaikoL1Oracle.t.sol index 14e4570eb91..92e9510cb73 100644 --- a/packages/protocol/test/TaikoL1Oracle.t.sol +++ b/packages/protocol/test/TaikoL1Oracle.t.sol @@ -27,6 +27,7 @@ contract TaikoL1Oracle is TaikoL1 { config.maxNumProposedBlocks = 10; config.ringBufferSize = 12; config.proofCooldownPeriod = 5 minutes; + config.realProofSkipSize = 0; } } diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md index 052b440ffd0..5907f61073d 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md @@ -18,6 +18,7 @@ struct Config { uint256 minTxGasLimit; uint256 txListCacheExpiry; uint256 proofCooldownPeriod; + uint256 realProofSkipSize; uint256 ethDepositGas; uint256 ethDepositMaxFee; uint64 minEthDepositsPerBlock; From 20a0926a9da3ae0916c2ad67d3107632fcfabe3c Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Fri, 28 Apr 2023 15:35:31 +0800 Subject: [PATCH 21/34] fix: use msg.sender instead of address(1) for special proofs --- packages/protocol/contracts/L1/libs/LibProving.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index bae5f2042cf..8bd37f61f61 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -95,7 +95,7 @@ library LibProving { // For this block, real ZKP is not necessary, so the oracle // proof will be treated as a real proof (by setting the prover // to a non-zero value) - evidence.prover = address(1); + evidence.prover = msg.sender; } } From 7ac3848d72b38b01e26497bccd5446e01b404547 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Fri, 28 Apr 2023 15:36:57 +0800 Subject: [PATCH 22/34] fix: use oracleProver instead of address(1) for special proofs --- packages/protocol/contracts/L1/libs/LibProving.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index 8bd37f61f61..0c290323679 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -95,7 +95,7 @@ library LibProving { // For this block, real ZKP is not necessary, so the oracle // proof will be treated as a real proof (by setting the prover // to a non-zero value) - evidence.prover = msg.sender; + evidence.prover = oracleProver; } } From e907c790f0fa277ad8f970e5b9fb957db69c548b Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Sat, 29 Apr 2023 10:47:39 +0800 Subject: [PATCH 23/34] feat(protocol): ensure non-zero 1559 basefee (#13672) --- packages/protocol/contracts/L2/TaikoL2.sol | 5 +++++ packages/protocol/test/TaikoL2.t.sol | 1 + 2 files changed, 6 insertions(+) diff --git a/packages/protocol/contracts/L2/TaikoL2.sol b/packages/protocol/contracts/L2/TaikoL2.sol index 346f0175c46..660dc3de69e 100644 --- a/packages/protocol/contracts/L2/TaikoL2.sol +++ b/packages/protocol/contracts/L2/TaikoL2.sol @@ -301,5 +301,10 @@ contract TaikoL2 is EssentialContract, TaikoL2Signer, IXchainSync { xExcess: _gasExcess, xPurchase: gasLimit }); + if (_basefee == 0) { + // To make sure when 1559 is enabled, the basefee is non-zero + // (geth never use 0 values for basefee) + _basefee = 1; + } } } diff --git a/packages/protocol/test/TaikoL2.t.sol b/packages/protocol/test/TaikoL2.t.sol index b2c5070896f..584eef4aa18 100644 --- a/packages/protocol/test/TaikoL2.t.sol +++ b/packages/protocol/test/TaikoL2.t.sol @@ -168,6 +168,7 @@ contract TestTaikoL2 is Test { Strings.toString(parentGasUsed) ); _basefee = L2.getBasefee(timeSinceParent, gasLimit, parentGasUsed); + assertTrue(_basefee != 0); _msg = string.concat( _msg, From 7dfce0f9afb8530f4737463e584474b50bb257df Mon Sep 17 00:00:00 2001 From: Dani <51912515+adaki2004@users.noreply.github.com> Date: Sat, 29 Apr 2023 12:53:35 +0200 Subject: [PATCH 24/34] feat(protocol): simulate protocol and tokenomics (#13657) Co-authored-by: Daniel Wang <99078276+dantaik@users.noreply.github.com> Co-authored-by: Daniel Wang --- packages/protocol/foundry.toml | 2 +- packages/protocol/package.json | 3 +- packages/protocol/simulation/README.md | 103 + .../exports/simulation_data_1682692028.txt | 14285 +++++++++++++++ .../exports/simulation_data_1682692255.txt | 14287 +++++++++++++++ .../exports/simulation_data_1682693127.txt | 14285 +++++++++++++++ .../exports/simulation_data_1682760421.txt | 14299 ++++++++++++++++ .../exports/simulation_data_1682760720.txt | 14299 ++++++++++++++++ .../exports/simulation_data_1682761401.txt | 14263 +++++++++++++++ .../exports/simulation_data_1682761622.txt | 14263 +++++++++++++++ .../exports/simulation_data_1682761795.txt | 14263 +++++++++++++++ .../plots/1682692028_blockfee_with_time.png | Bin 0 -> 46120 bytes .../plots/1682692028_proof_time_per_block.png | Bin 0 -> 64544 bytes ...028_prop_and_verified_blocks_with_time.png | Bin 0 -> 61289 bytes .../plots/1682692255_blockfee_with_time.png | Bin 0 -> 59117 bytes .../plots/1682692255_proof_time_per_block.png | Bin 0 -> 64434 bytes ...255_prop_and_verified_blocks_with_time.png | Bin 0 -> 61187 bytes .../plots/1682760421_blockfee_with_time.png | Bin 0 -> 36779 bytes .../plots/1682760421_proof_time_per_block.png | Bin 0 -> 51254 bytes ...421_prop_and_verified_blocks_with_time.png | Bin 0 -> 61149 bytes .../plots/1682760720_blockfee_with_time.png | Bin 0 -> 60250 bytes .../plots/1682760720_proof_time_per_block.png | Bin 0 -> 51433 bytes ...720_prop_and_verified_blocks_with_time.png | Bin 0 -> 61331 bytes .../plots/1682761401_blockfee_with_time.png | Bin 0 -> 33443 bytes .../plots/1682761401_proof_time_per_block.png | Bin 0 -> 50080 bytes ...401_prop_and_verified_blocks_with_time.png | Bin 0 -> 60943 bytes .../plots/1682761622_blockfee_with_time.png | Bin 0 -> 50183 bytes .../plots/1682761622_proof_time_per_block.png | Bin 0 -> 50214 bytes ...622_prop_and_verified_blocks_with_time.png | Bin 0 -> 61079 bytes .../plots/1682761795_blockfee_with_time.png | Bin 0 -> 53028 bytes .../plots/1682761795_proof_time_per_block.png | Bin 0 -> 50285 bytes ...795_prop_and_verified_blocks_with_time.png | Bin 0 -> 61147 bytes packages/protocol/simulation/requirements.txt | 15 + .../simulation/simulation_data_parser.py | 183 + packages/protocol/test/TaikoL1.sim.sol | 818 +- 35 files changed, 115286 insertions(+), 82 deletions(-) create mode 100644 packages/protocol/simulation/README.md create mode 100644 packages/protocol/simulation/exports/simulation_data_1682692028.txt create mode 100644 packages/protocol/simulation/exports/simulation_data_1682692255.txt create mode 100644 packages/protocol/simulation/exports/simulation_data_1682693127.txt create mode 100644 packages/protocol/simulation/exports/simulation_data_1682760421.txt create mode 100644 packages/protocol/simulation/exports/simulation_data_1682760720.txt create mode 100644 packages/protocol/simulation/exports/simulation_data_1682761401.txt create mode 100644 packages/protocol/simulation/exports/simulation_data_1682761622.txt create mode 100644 packages/protocol/simulation/exports/simulation_data_1682761795.txt create mode 100644 packages/protocol/simulation/plots/1682692028_blockfee_with_time.png create mode 100644 packages/protocol/simulation/plots/1682692028_proof_time_per_block.png create mode 100644 packages/protocol/simulation/plots/1682692028_prop_and_verified_blocks_with_time.png create mode 100644 packages/protocol/simulation/plots/1682692255_blockfee_with_time.png create mode 100644 packages/protocol/simulation/plots/1682692255_proof_time_per_block.png create mode 100644 packages/protocol/simulation/plots/1682692255_prop_and_verified_blocks_with_time.png create mode 100644 packages/protocol/simulation/plots/1682760421_blockfee_with_time.png create mode 100644 packages/protocol/simulation/plots/1682760421_proof_time_per_block.png create mode 100644 packages/protocol/simulation/plots/1682760421_prop_and_verified_blocks_with_time.png create mode 100644 packages/protocol/simulation/plots/1682760720_blockfee_with_time.png create mode 100644 packages/protocol/simulation/plots/1682760720_proof_time_per_block.png create mode 100644 packages/protocol/simulation/plots/1682760720_prop_and_verified_blocks_with_time.png create mode 100644 packages/protocol/simulation/plots/1682761401_blockfee_with_time.png create mode 100644 packages/protocol/simulation/plots/1682761401_proof_time_per_block.png create mode 100644 packages/protocol/simulation/plots/1682761401_prop_and_verified_blocks_with_time.png create mode 100644 packages/protocol/simulation/plots/1682761622_blockfee_with_time.png create mode 100644 packages/protocol/simulation/plots/1682761622_proof_time_per_block.png create mode 100644 packages/protocol/simulation/plots/1682761622_prop_and_verified_blocks_with_time.png create mode 100644 packages/protocol/simulation/plots/1682761795_blockfee_with_time.png create mode 100644 packages/protocol/simulation/plots/1682761795_proof_time_per_block.png create mode 100644 packages/protocol/simulation/plots/1682761795_prop_and_verified_blocks_with_time.png create mode 100644 packages/protocol/simulation/requirements.txt create mode 100644 packages/protocol/simulation/simulation_data_parser.py diff --git a/packages/protocol/foundry.toml b/packages/protocol/foundry.toml index 73305cb8f54..bb352750f24 100644 --- a/packages/protocol/foundry.toml +++ b/packages/protocol/foundry.toml @@ -10,7 +10,7 @@ optimizer = true optimizer_runs = 200 ffi = true gas_limit = '18446744073709551615' -memory_limit = 1073741824 +memory_limit = 2073741824 # Do not change the block_gas_limit value, TaikoL2.t.sol depends on it. block_gas_limit = 30000000 #30M diff --git a/packages/protocol/package.json b/packages/protocol/package.json index 3c355288c5f..28166db202e 100644 --- a/packages/protocol/package.json +++ b/packages/protocol/package.json @@ -14,7 +14,8 @@ "test": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.t.sol", "snapshot": "forge snapshot --match-path test/**/*.t.sol", "test:coverage": "forge coverage --report lcov", - "test:sim": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 30000000000", + "test:sim": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000", + "test:sim_export": "pnpm test:sim > simulation/exports/simulation_data_$(date +%s).txt", "generate:genesis": "ts-node ./utils/generate_genesis/main.ts", "test:genesis": "./test/genesis/generate_genesis.test.sh", "deploy:foundry": "./script/download_solc.sh && ./script/test_deploy_on_l1.sh", diff --git a/packages/protocol/simulation/README.md b/packages/protocol/simulation/README.md new file mode 100644 index 00000000000..8f4180ce1e5 --- /dev/null +++ b/packages/protocol/simulation/README.md @@ -0,0 +1,103 @@ +# Simulation and Exported Data Parser and Visualization + +**Simulation and exported data parser+visu is ready to be (ab)used!** + +## How to use + +### Prerequisites + +For running the `simulation_data_parser.py`, you need to install the required plugins: `(python3 -m pip install -r requirements.txt)` + +*(Currently, every parameter set in the `TaikoL1.sim.sol` is an approximation of a possible mainnet scenario, so you can just run the commands below to get familiar with the outcome and plots.)* + +1. Run `pnpm test:sim_export` - It will export the data into `simulation/exports` folder with a timestamp. +2. Go to `simulation` folder and run `python3 simulation_data_parser.py ./exports/simulation_data_XXXXXXXXXX.txt` +3. It will create 3 plots / exported data: + - 4.1: Blockfee over time + - 4.2: How many blocks proposed and verified + - 4.3: Proof time respective to each block + +**Note**: Every plot will have labels such like this: +`image` + +So, the `XXXXXXXXXX_proof_time_per_block.png` figure will be definitely crowded if we run for 4000 blocks, but you will see the average (as the label shows above) OR what you could do is to change the `blocksToSimulate` in the `TaikoL1.sim.sol` to a lower number (let's say 100-200-300) but keep in mind then you should change the `startBlockProposeTime` and `upperDevToBlockProveTime` variable to a lower amount as well (imitating a test-net scenario) because proofs might not come for them (since it is set to come between 1600 and 2400). + +## Parameters to tweak + +- `PROOF_TIME_TARGET` -> Obvious. This is the target we have to set. +- `blocksToSimulate` -> How many blocks we would like to simulate. +- `nextBlockTime` and `minDiffToBlockPropTime` -> Currently they are set to 12 an 24 (The latter indirectly means 12+12) respectively. It means 12 is the least minimum between 2 blocks, but might be possible that not every Ethereum block will have Taiko block, but let's say on average 18s we have a Taiko block. (Sometimes 12, sometimes 24, averaging out to a 18 time.) +- `startBlockProposeTime` and `upperDevToBlockProveTime` -> It means, when should proofs come? 1600 + 800 means, somewhere between 1600 - 2400 respective to each block proposal. (If you set the `blocksToSimulate` to a small number, don't forget to change these + `PROOF_TIME_TARGET` to a reasonable level - like a testnet scenario - e.g.: 180 - 240 sec / proof) + +## Observations + +- Tokenomics works as expected but small deviations (between proofTimeTarget and actual proof time average) can have huge effects on the long term. + - For example, if deviation is small, and averages around the proof time target (but below), fees will shrink. + - If averages above the target, fees will grow. +- But since proof times are 'randomized' now (pseudo-random), it does not really reflect real mainnet (even testnet scenario) where provers might organize themselves in a way - to stop proving if not profitable. +- I think we need to communicate this clearly towards the provers so that they know what to expect. + + +# Added More Tests and Observations + +Added more tests (and also plots under `simulation/plots`) according to the **90%-10% rule**. A possibility to have 90% quick proof and 10% slow and the other way around (90% slow, 10% quick). + +## Tested Scenarios and Observations + +Block number under test: 4000 + +### Test Scenario 1 + +- 90% slow (normal) proof time and 10% quick (1-5 mins) +- `proofTimeTarget` is set to approx 33 min. + +**Results**: The overall average is reduced very much, so the fees converging towards zero. + +See graphs starting with: `1682760421` + +### Test Scenario 2 + +- 90% slow (normal) proof time and 10% quick (1-5 mins) +- `proofTimeTarget` is set to the previously defined average (average of test scenario 1). + +(Thanks to pseudo-randomness, I was able to run the tests to get the same ‘randomly’ generated values) + +**Results**: Fulfilling it averages out and fluctuates between 0.9 - 1.6 TKO ‘long term’ - meaning 4000 blocks. + +See graphs starting with: `1682760720` + +### Test Scenario 3 + +- 90% quick (1-5minsl) proof time and 10% slow (around 30mins) +- `proofTimeTarget` is set to approx. 33 mins. + +**Results**: The overall average is reduced very much (even more drastically than the scenario 1), so the fees converging towards zero even quicker. + +See graphs starting with: `1682761401` + +### Test Scenario 4 + +- 90% quick (1-5minsl) proof time and 10% slow (around 30mins) +- `proofTimeTarget` is set to the average of test scenario 3. + +**Results**: Fluctuates but slightly in an increasing trend over 4000 blocks - still kind of reasonable. Basically from 1 TKO to 2 TKO over the amount of blocks. + +See graphs starting with: `1682761622` + +### Test Scenario 5 + +- Same as Test scenario 3 except that `proofTimeTarget` is set to the average of test scenario 3 + 1 sec. + +**Results**: Fluctuates but within a reasonable range and around 1 TKO after 4000 blocks. + +See graphs starting with: `1682761795` + +## Conclusion + +We will be able to handle such cases where we manipulate (differ big time) the proofs time with X%, but in order to be within a reasonable range, the best would be to: + +1. Define exactly the numbers on our side, like: every 10 blocks = 10% is quick / slow and stick to it. +2. Try to be as narrow with the timing intervals of those as possible (as small intervals as we can define, like not 1-5 mins, but maybe 1-2 mins). +3. When we have the numbers, approximate (simulate) the overall average. +4. Set the `proofTimeTarget` just slightly above the average, so that provers could adjust their behavior to raise the average if necessary. +5. Communicate transparently towards the provers that: this is our target proof time for you (NOT the same as `targetProofTime` because that is the overall average, with us proving quick/slow - so somewhere above that one - need to be calculated OFC) so that they could know 'what up'. diff --git a/packages/protocol/simulation/exports/simulation_data_1682692028.txt b/packages/protocol/simulation/exports/simulation_data_1682692028.txt new file mode 100644 index 00000000000..2bec2a0bb84 --- /dev/null +++ b/packages/protocol/simulation/exports/simulation_data_1682692028.txt @@ -0,0 +1,14285 @@ + +> @taiko/protocol@0.6.1 test:sim /Users/keszeyd/work/taiko_major_upgrade_ref/taiko-mono/packages/protocol +> forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000 + +No files changed, compilation skipped + +Running 1 test for test/TaikoL1.sim.sol:TaikoL1Simulation +[PASS] testGeneratingManyRandomBlocksNonConsecutive() (gas: 1249485045704) +Logs: + 31337 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0x72384992222BE015DE0146a6D7E5dA0E19d2Ba49 + 31337 45889272483043749622685123383852074881457604843399824532951312269642964140032 → 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5 + 167 52670410704698717800542732036128729340597328726126075889694804077029212815360 → 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb + 167 52640402180712775100801168841838825813708635172629202311207512447469335085056 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 167 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C + 167 52640402180752029697201414225623803055489816253066935491057410734051802742784 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 31337 16777316 → 0x08526067985167EcFcB1F9720C72DbBF36c96018 + 31337 52640402180752042938242321556083758872323763589890511990531751287648111558656 → 0x0F8458E544c9D4C7C25A881240727209caae20B8 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0x34A1D3fff3958843C43aD80F30b94c510645C316 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0xFEfC6BAF87cF3684058D62Da40Ff3A795946Ab06 + 0:[0→1] fee:100000000 nextEthDepositToProcess:0 numEthDeposits:0 // init + 31337 16777316 → 0x4d04375eCD86c2B81eb0F55B37aA3fAb41CeCBc4 + BlockId, ProofTime + 1 ; 1713 + 2 ; 2383 + 3 ; 1892 + 4 ; 1665 + 5 ; 1677 + 6 ; 1872 + 7 ; 1907 + 8 ; 2221 + 9 ; 1886 + 10 ; 1859 + 11 ; 2069 + 12 ; 1626 + 13 ; 1725 + 14 ; 2090 + 15 ; 2084 + 16 ; 2066 + 17 ; 2324 + 18 ; 1800 + 19 ; 1861 + 20 ; 2214 + 21 ; 1619 + 22 ; 1949 + 23 ; 2249 + 24 ; 2295 + 25 ; 2306 + 26 ; 2056 + 27 ; 1732 + 28 ; 1684 + 29 ; 2032 + 30 ; 2051 + 31 ; 2128 + 32 ; 1625 + 33 ; 2224 + 34 ; 2135 + 35 ; 2078 + 36 ; 1829 + 37 ; 1763 + 38 ; 1773 + 39 ; 1711 + 40 ; 1878 + 41 ; 1940 + 42 ; 1631 + 43 ; 2238 + 44 ; 1900 + 45 ; 2255 + 46 ; 1628 + 47 ; 2248 + 48 ; 2051 + 49 ; 2263 + 50 ; 1687 + 51 ; 1688 + 52 ; 1971 + 53 ; 2005 + 54 ; 2394 + 55 ; 2401 + 56 ; 1961 + 57 ; 2190 + 58 ; 1919 + 59 ; 2403 + 60 ; 2222 + 61 ; 2403 + 62 ; 1749 + 63 ; 2076 + 64 ; 2213 + 65 ; 1792 + 66 ; 1711 + 67 ; 1700 + 68 ; 1878 + 69 ; 2365 + 70 ; 2146 + 71 ; 2326 + 72 ; 1719 + 73 ; 1663 + 74 ; 1927 + 75 ; 2192 + 76 ; 2179 + 77 ; 2359 + 78 ; 2316 + 79 ; 2142 + 80 ; 2350 + 81 ; 1624 + 82 ; 2253 + 83 ; 2240 + 84 ; 1732 + 85 ; 2185 + 86 ; 1636 + 87 ; 2209 + 88 ; 1693 + 89 ; 2378 + 90 ; 1882 + 91 ; 1997 + 92 ; 1819 + 93 ; 1962 + 94 ; 1735 + 95 ; 1716 + 96 ; 2258 + 97 ; 1894 + 98 ; 2197 + 99 ; 2107 + 100 ; 2142 + 101 ; 2102 + 102 ; 1856 + 103 ; 2296 + 104 ; 2056 + 105 ; 1897 + 106 ; 1815 + 107 ; 1837 + 108 ; 1981 + 109 ; 2265 + 110 ; 1627 + 111 ; 1713 + 112 ; 1868 + 113 ; 2253 + 114 ; 2328 + 115 ; 2088 + 116 ; 1858 + 117 ; 1793 + 118 ; 1804 + 119 ; 2257 + 120 ; 2370 + 121 ; 2219 + 122 ; 1820 + 123 ; 2355 + 124 ; 2110 + 125 ; 2195 + 126 ; 1987 + 127 ; 2135 + 128 ; 2326 + 129 ; 1889 + 130 ; 1954 + 131 ; 2408 + 132 ; 1921 + 133 ; 2108 + 134 ; 2085 + 135 ; 1870 + 136 ; 1791 + 137 ; 2358 + 138 ; 2179 + 139 ; 2199 + 140 ; 2314 + 141 ; 1676 + 142 ; 1949 + 143 ; 2166 + 144 ; 1934 + 145 ; 1622 + 146 ; 1745 + 147 ; 2082 + 148 ; 2083 + 149 ; 1742 + 150 ; 2063 + 151 ; 2248 + 152 ; 1901 + 153 ; 2374 + 154 ; 2220 + 155 ; 2284 + 156 ; 1820 + 157 ; 2127 + 158 ; 2029 + 159 ; 1809 + 160 ; 2036 + 161 ; 1953 + 162 ; 2347 + 163 ; 1940 + 164 ; 1997 + 165 ; 2299 + 166 ; 1912 + 167 ; 2254 + 168 ; 1718 + 169 ; 1851 + 170 ; 1935 + 171 ; 2330 + 172 ; 1823 + 173 ; 1922 + 174 ; 1993 + 175 ; 2214 + 176 ; 1636 + 177 ; 2234 + 178 ; 2083 + 179 ; 1909 + 180 ; 1787 + 181 ; 1936 + 182 ; 1846 + 183 ; 2019 + 184 ; 1805 + 185 ; 2222 + 186 ; 1719 + 187 ; 1894 + 188 ; 1932 + 189 ; 1892 + 190 ; 1644 + 191 ; 2137 + 192 ; 1764 + 193 ; 1793 + 194 ; 1748 + 195 ; 1619 + 196 ; 1986 + 197 ; 1640 + 198 ; 2121 + 199 ; 2257 + 200 ; 1625 + 201 ; 2063 + 202 ; 1623 + 203 ; 2163 + 204 ; 1881 + 205 ; 1759 + 206 ; 1718 + 207 ; 1730 + 208 ; 1629 + 209 ; 2286 + 210 ; 1777 + 211 ; 1683 + 212 ; 2262 + 213 ; 2400 + 214 ; 2348 + 215 ; 2080 + 216 ; 2393 + 217 ; 2294 + 218 ; 1650 + 219 ; 1969 + 220 ; 2207 + 221 ; 1841 + 222 ; 2118 + 223 ; 1993 + 224 ; 1716 + 225 ; 1829 + 226 ; 2274 + 227 ; 1794 + 228 ; 1693 + 229 ; 1637 + 230 ; 2202 + 231 ; 1839 + 232 ; 1990 + 233 ; 2071 + 234 ; 2218 + 235 ; 2049 + 236 ; 1852 + 237 ; 1783 + 238 ; 2092 + 239 ; 2228 + 240 ; 1965 + 241 ; 2222 + 242 ; 1791 + 243 ; 2125 + 244 ; 1691 + 245 ; 1657 + 246 ; 2407 + 247 ; 1701 + 248 ; 1780 + 249 ; 2335 + 250 ; 2278 + 251 ; 1632 + 252 ; 1961 + 253 ; 2072 + 254 ; 1918 + 255 ; 2193 + 256 ; 1686 + 257 ; 1739 + 258 ; 1707 + 259 ; 1881 + 260 ; 2017 + 261 ; 2375 + 262 ; 1723 + 263 ; 2142 + 264 ; 1680 + 265 ; 1861 + 266 ; 2216 + 267 ; 2332 + 268 ; 1685 + 269 ; 2148 + 270 ; 1995 + 271 ; 1893 + 272 ; 2339 + 273 ; 2176 + 274 ; 2154 + 275 ; 1776 + 276 ; 2387 + 277 ; 2109 + 278 ; 1802 + 279 ; 2010 + 280 ; 2314 + 281 ; 1726 + 282 ; 2259 + 283 ; 2146 + 284 ; 1999 + 285 ; 1801 + 286 ; 2079 + 287 ; 2166 + 288 ; 1843 + 289 ; 2028 + 290 ; 2200 + 291 ; 2332 + 292 ; 2142 + 293 ; 2124 + 294 ; 2026 + 295 ; 1966 + 296 ; 2041 + 297 ; 2292 + 298 ; 1736 + 299 ; 2272 + 300 ; 2024 + 301 ; 1628 + 302 ; 1751 + 303 ; 2375 + 304 ; 1933 + 305 ; 1922 + 306 ; 2334 + 307 ; 2261 + 308 ; 1709 + 309 ; 2128 + 310 ; 1735 + 311 ; 1923 + 312 ; 1797 + 313 ; 1931 + 314 ; 1801 + 315 ; 1663 + 316 ; 2038 + 317 ; 1774 + 318 ; 2381 + 319 ; 1739 + 320 ; 1781 + 321 ; 2077 + 322 ; 1799 + 323 ; 2382 + 324 ; 2389 + 325 ; 1984 + 326 ; 2227 + 327 ; 1618 + 328 ; 2341 + 329 ; 1981 + 330 ; 2400 + 331 ; 2285 + 332 ; 2370 + 333 ; 2292 + 334 ; 1796 + 335 ; 1666 + 336 ; 1881 + 337 ; 1895 + 338 ; 1802 + 339 ; 1697 + 340 ; 2411 + 341 ; 2124 + 342 ; 2104 + 343 ; 1627 + 344 ; 2178 + 345 ; 1949 + 346 ; 1956 + 347 ; 2120 + 348 ; 2032 + 349 ; 1972 + 350 ; 1741 + 351 ; 2202 + 352 ; 2159 + 353 ; 1908 + 354 ; 2166 + 355 ; 2358 + 356 ; 2360 + 357 ; 2047 + 358 ; 1664 + 359 ; 1659 + 360 ; 1771 + 361 ; 1982 + 362 ; 1765 + 363 ; 2089 + 364 ; 2303 + 365 ; 1705 + 366 ; 2184 + 367 ; 2166 + 368 ; 1684 + 369 ; 1660 + 370 ; 2391 + 371 ; 1882 + 372 ; 2130 + 373 ; 1752 + 374 ; 2104 + 375 ; 1954 + 376 ; 1666 + 377 ; 2208 + 378 ; 2314 + 379 ; 2050 + 380 ; 1640 + 381 ; 1772 + 382 ; 1947 + 383 ; 2265 + 384 ; 1742 + 385 ; 2318 + 386 ; 2116 + 387 ; 2412 + 388 ; 2294 + 389 ; 1889 + 390 ; 2018 + 391 ; 1966 + 392 ; 1998 + 393 ; 2090 + 394 ; 2010 + 395 ; 1851 + 396 ; 2135 + 397 ; 2358 + 398 ; 2162 + 399 ; 1805 + 400 ; 1818 + 401 ; 1878 + 402 ; 2234 + 403 ; 1673 + 404 ; 1949 + 405 ; 2274 + 406 ; 2087 + 407 ; 2033 + 408 ; 1919 + 409 ; 1875 + 410 ; 2137 + 411 ; 1906 + 412 ; 2320 + 413 ; 2103 + 414 ; 1843 + 415 ; 1897 + 416 ; 2348 + 417 ; 1632 + 418 ; 1748 + 419 ; 2026 + 420 ; 2217 + 421 ; 2140 + 422 ; 2340 + 423 ; 1650 + 424 ; 2345 + 425 ; 2212 + 426 ; 2054 + 427 ; 1670 + 428 ; 2315 + 429 ; 1902 + 430 ; 2273 + 431 ; 2153 + 432 ; 2082 + 433 ; 2125 + 434 ; 1713 + 435 ; 1866 + 436 ; 2245 + 437 ; 1815 + 438 ; 2249 + 439 ; 2125 + 440 ; 1640 + 441 ; 2194 + 442 ; 2248 + 443 ; 2230 + 444 ; 2351 + 445 ; 1813 + 446 ; 2090 + 447 ; 1879 + 448 ; 1835 + 449 ; 2362 + 450 ; 1777 + 451 ; 2070 + 452 ; 1860 + 453 ; 1654 + 454 ; 1991 + 455 ; 1815 + 456 ; 2212 + 457 ; 2010 + 458 ; 2046 + 459 ; 2061 + 460 ; 1869 + 461 ; 1955 + 462 ; 2112 + 463 ; 2286 + 464 ; 1754 + 465 ; 1769 + 466 ; 1640 + 467 ; 1822 + 468 ; 2148 + 469 ; 2301 + 470 ; 2009 + 471 ; 1989 + 472 ; 1763 + 473 ; 1628 + 474 ; 1736 + 475 ; 1943 + 476 ; 2338 + 477 ; 1950 + 478 ; 2271 + 479 ; 1631 + 480 ; 2382 + 481 ; 2263 + 482 ; 2134 + 483 ; 1757 + 484 ; 1997 + 485 ; 1647 + 486 ; 1679 + 487 ; 2006 + 488 ; 1822 + 489 ; 2114 + 490 ; 1874 + 491 ; 2329 + 492 ; 2116 + 493 ; 1863 + 494 ; 2021 + 495 ; 2226 + 496 ; 1661 + 497 ; 1718 + 498 ; 2188 + 499 ; 2087 + 500 ; 2202 + 501 ; 1945 + 502 ; 1848 + 503 ; 1654 + 504 ; 1614 + 505 ; 2110 + 506 ; 1974 + 507 ; 2412 + 508 ; 2304 + 509 ; 2405 + 510 ; 1914 + 511 ; 1981 + 512 ; 1903 + 513 ; 2220 + 514 ; 1616 + 515 ; 1647 + 516 ; 1657 + 517 ; 1984 + 518 ; 2100 + 519 ; 1620 + 520 ; 1758 + 521 ; 2399 + 522 ; 1752 + 523 ; 1658 + 524 ; 2243 + 525 ; 2212 + 526 ; 2112 + 527 ; 2387 + 528 ; 2151 + 529 ; 2364 + 530 ; 1908 + 531 ; 1641 + 532 ; 2271 + 533 ; 2272 + 534 ; 2041 + 535 ; 2210 + 536 ; 2353 + 537 ; 1744 + 538 ; 1758 + 539 ; 1813 + 540 ; 1734 + 541 ; 1912 + 542 ; 2335 + 543 ; 1837 + 544 ; 1730 + 545 ; 1644 + 546 ; 1711 + 547 ; 2308 + 548 ; 2194 + 549 ; 1892 + 550 ; 1757 + 551 ; 1811 + 552 ; 2412 + 553 ; 2342 + 554 ; 1834 + 555 ; 1982 + 556 ; 2164 + 557 ; 1989 + 558 ; 2008 + 559 ; 1969 + 560 ; 2257 + 561 ; 2067 + 562 ; 2167 + 563 ; 2289 + 564 ; 2388 + 565 ; 2224 + 566 ; 1966 + 567 ; 1718 + 568 ; 2123 + 569 ; 2087 + 570 ; 1993 + 571 ; 2392 + 572 ; 1880 + 573 ; 2087 + 574 ; 2098 + 575 ; 1741 + 576 ; 1905 + 577 ; 2326 + 578 ; 2018 + 579 ; 2246 + 580 ; 2340 + 581 ; 1777 + 582 ; 1845 + 583 ; 2233 + 584 ; 1689 + 585 ; 1776 + 586 ; 1994 + 587 ; 2328 + 588 ; 2014 + 589 ; 2079 + 590 ; 2373 + 591 ; 2219 + 592 ; 2262 + 593 ; 2393 + 594 ; 2052 + 595 ; 2235 + 596 ; 1917 + 597 ; 2257 + 598 ; 1817 + 599 ; 2378 + 600 ; 2258 + 601 ; 1693 + 602 ; 2351 + 603 ; 1620 + 604 ; 2146 + 605 ; 1805 + 606 ; 2136 + 607 ; 2008 + 608 ; 1728 + 609 ; 1703 + 610 ; 2213 + 611 ; 1723 + 612 ; 2123 + 613 ; 1754 + 614 ; 2030 + 615 ; 1793 + 616 ; 2191 + 617 ; 2191 + 618 ; 2133 + 619 ; 2332 + 620 ; 2083 + 621 ; 1929 + 622 ; 2256 + 623 ; 1612 + 624 ; 1698 + 625 ; 2284 + 626 ; 1809 + 627 ; 2361 + 628 ; 1993 + 629 ; 1777 + 630 ; 1748 + 631 ; 2195 + 632 ; 2408 + 633 ; 2374 + 634 ; 2264 + 635 ; 2146 + 636 ; 2339 + 637 ; 1778 + 638 ; 2192 + 639 ; 2102 + 640 ; 1676 + 641 ; 2290 + 642 ; 1762 + 643 ; 1975 + 644 ; 1652 + 645 ; 1824 + 646 ; 1616 + 647 ; 2264 + 648 ; 2352 + 649 ; 2311 + 650 ; 2077 + 651 ; 2196 + 652 ; 1717 + 653 ; 2293 + 654 ; 2141 + 655 ; 1884 + 656 ; 1957 + 657 ; 1870 + 658 ; 1938 + 659 ; 1812 + 660 ; 2336 + 661 ; 1875 + 662 ; 2185 + 663 ; 1719 + 664 ; 2014 + 665 ; 1947 + 666 ; 2265 + 667 ; 2283 + 668 ; 2410 + 669 ; 2287 + 670 ; 2412 + 671 ; 1888 + 672 ; 1741 + 673 ; 1805 + 674 ; 1704 + 675 ; 1740 + 676 ; 1654 + 677 ; 2374 + 678 ; 1661 + 679 ; 1792 + 680 ; 1728 + 681 ; 2245 + 682 ; 1920 + 683 ; 2400 + 684 ; 2134 + 685 ; 1661 + 686 ; 2181 + 687 ; 1901 + 688 ; 1793 + 689 ; 2117 + 690 ; 2335 + 691 ; 1649 + 692 ; 2226 + 693 ; 1620 + 694 ; 1991 + 695 ; 2059 + 696 ; 1868 + 697 ; 1963 + 698 ; 1734 + 699 ; 1627 + 700 ; 2354 + 701 ; 1831 + 702 ; 1865 + 703 ; 2135 + 704 ; 2249 + 705 ; 1755 + 706 ; 1758 + 707 ; 1851 + 708 ; 1966 + 709 ; 1733 + 710 ; 1870 + 711 ; 2388 + 712 ; 2265 + 713 ; 2351 + 714 ; 1818 + 715 ; 1676 + 716 ; 2366 + 717 ; 1807 + 718 ; 1966 + 719 ; 1733 + 720 ; 1947 + 721 ; 2294 + 722 ; 2166 + 723 ; 1982 + 724 ; 1747 + 725 ; 2192 + 726 ; 2079 + 727 ; 2206 + 728 ; 1647 + 729 ; 2326 + 730 ; 2265 + 731 ; 2010 + 732 ; 2396 + 733 ; 1661 + 734 ; 2023 + 735 ; 1890 + 736 ; 2362 + 737 ; 2263 + 738 ; 2217 + 739 ; 2163 + 740 ; 2128 + 741 ; 1881 + 742 ; 2147 + 743 ; 2122 + 744 ; 1988 + 745 ; 2079 + 746 ; 1913 + 747 ; 2126 + 748 ; 2307 + 749 ; 1753 + 750 ; 2031 + 751 ; 2198 + 752 ; 2144 + 753 ; 2089 + 754 ; 2286 + 755 ; 1873 + 756 ; 2344 + 757 ; 2125 + 758 ; 1830 + 759 ; 1716 + 760 ; 2116 + 761 ; 1685 + 762 ; 2151 + 763 ; 2384 + 764 ; 2011 + 765 ; 1798 + 766 ; 2349 + 767 ; 2259 + 768 ; 1845 + 769 ; 2133 + 770 ; 2100 + 771 ; 1848 + 772 ; 1962 + 773 ; 2387 + 774 ; 2335 + 775 ; 2167 + 776 ; 2412 + 777 ; 2053 + 778 ; 2210 + 779 ; 1656 + 780 ; 1744 + 781 ; 1829 + 782 ; 1733 + 783 ; 2179 + 784 ; 2152 + 785 ; 1676 + 786 ; 1995 + 787 ; 2048 + 788 ; 2111 + 789 ; 2407 + 790 ; 1680 + 791 ; 2076 + 792 ; 2273 + 793 ; 1934 + 794 ; 2345 + 795 ; 1698 + 796 ; 1830 + 797 ; 2068 + 798 ; 1975 + 799 ; 2350 + 800 ; 2084 + 801 ; 2248 + 802 ; 2175 + 803 ; 1685 + 804 ; 2276 + 805 ; 1769 + 806 ; 2318 + 807 ; 1617 + 808 ; 1919 + 809 ; 1765 + 810 ; 2148 + 811 ; 2362 + 812 ; 1851 + 813 ; 2288 + 814 ; 1638 + 815 ; 2088 + 816 ; 2120 + 817 ; 2109 + 818 ; 1909 + 819 ; 2318 + 820 ; 2320 + 821 ; 2214 + 822 ; 1949 + 823 ; 1945 + 824 ; 2012 + 825 ; 1941 + 826 ; 2363 + 827 ; 1641 + 828 ; 1906 + 829 ; 1853 + 830 ; 2082 + 831 ; 1629 + 832 ; 1790 + 833 ; 1878 + 834 ; 2196 + 835 ; 2101 + 836 ; 2063 + 837 ; 1688 + 838 ; 2185 + 839 ; 2111 + 840 ; 2370 + 841 ; 2139 + 842 ; 2270 + 843 ; 2079 + 844 ; 1986 + 845 ; 1703 + 846 ; 1931 + 847 ; 1874 + 848 ; 1891 + 849 ; 2236 + 850 ; 2314 + 851 ; 1830 + 852 ; 2307 + 853 ; 1616 + 854 ; 1811 + 855 ; 1829 + 856 ; 2016 + 857 ; 2357 + 858 ; 1641 + 859 ; 1797 + 860 ; 1823 + 861 ; 1974 + 862 ; 1941 + 863 ; 2146 + 864 ; 2327 + 865 ; 1699 + 866 ; 1763 + 867 ; 2364 + 868 ; 2219 + 869 ; 1711 + 870 ; 2135 + 871 ; 2151 + 872 ; 1785 + 873 ; 1968 + 874 ; 2370 + 875 ; 2288 + 876 ; 2135 + 877 ; 2126 + 878 ; 1827 + 879 ; 1871 + 880 ; 2013 + 881 ; 2074 + 882 ; 2176 + 883 ; 2257 + 884 ; 1838 + 885 ; 2027 + 886 ; 1831 + 887 ; 2226 + 888 ; 1969 + 889 ; 1617 + 890 ; 2401 + 891 ; 1979 + 892 ; 2074 + 893 ; 1703 + 894 ; 1724 + 895 ; 2003 + 896 ; 2136 + 897 ; 2246 + 898 ; 2314 + 899 ; 2026 + 900 ; 1679 + 901 ; 1801 + 902 ; 2135 + 903 ; 1864 + 904 ; 2211 + 905 ; 1648 + 906 ; 2221 + 907 ; 2057 + 908 ; 2397 + 909 ; 1689 + 910 ; 1921 + 911 ; 2130 + 912 ; 1751 + 913 ; 2100 + 914 ; 2376 + 915 ; 1726 + 916 ; 2098 + 917 ; 2261 + 918 ; 2360 + 919 ; 1783 + 920 ; 2277 + 921 ; 1813 + 922 ; 1860 + 923 ; 1912 + 924 ; 2340 + 925 ; 2193 + 926 ; 1715 + 927 ; 1725 + 928 ; 1983 + 929 ; 2297 + 930 ; 2283 + 931 ; 1748 + 932 ; 2252 + 933 ; 1627 + 934 ; 1796 + 935 ; 2240 + 936 ; 1673 + 937 ; 1767 + 938 ; 2011 + 939 ; 2041 + 940 ; 2186 + 941 ; 1654 + 942 ; 1884 + 943 ; 1963 + 944 ; 2303 + 945 ; 2277 + 946 ; 2068 + 947 ; 1926 + 948 ; 1658 + 949 ; 1686 + 950 ; 1736 + 951 ; 1835 + 952 ; 1637 + 953 ; 1898 + 954 ; 1767 + 955 ; 2370 + 956 ; 1915 + 957 ; 2332 + 958 ; 1983 + 959 ; 2345 + 960 ; 1703 + 961 ; 1961 + 962 ; 2322 + 963 ; 2132 + 964 ; 1826 + 965 ; 1699 + 966 ; 2371 + 967 ; 2117 + 968 ; 2156 + 969 ; 2089 + 970 ; 1664 + 971 ; 1785 + 972 ; 1974 + 973 ; 1649 + 974 ; 2281 + 975 ; 1777 + 976 ; 2320 + 977 ; 2135 + 978 ; 2352 + 979 ; 1717 + 980 ; 2087 + 981 ; 1695 + 982 ; 2236 + 983 ; 2215 + 984 ; 1704 + 985 ; 2039 + 986 ; 2121 + 987 ; 2352 + 988 ; 2064 + 989 ; 2010 + 990 ; 2101 + 991 ; 2028 + 992 ; 2119 + 993 ; 2403 + 994 ; 2372 + 995 ; 2409 + 996 ; 1873 + 997 ; 1627 + 998 ; 1843 + 999 ; 2279 + 1000 ; 1969 + 1001 ; 1987 + 1002 ; 1838 + 1003 ; 2100 + 1004 ; 1983 + 1005 ; 2058 + 1006 ; 1668 + 1007 ; 1844 + 1008 ; 2362 + 1009 ; 2104 + 1010 ; 1680 + 1011 ; 1726 + 1012 ; 1685 + 1013 ; 1800 + 1014 ; 1933 + 1015 ; 2086 + 1016 ; 2264 + 1017 ; 2364 + 1018 ; 1941 + 1019 ; 2396 + 1020 ; 2215 + 1021 ; 2378 + 1022 ; 2199 + 1023 ; 2245 + 1024 ; 1936 + 1025 ; 2138 + 1026 ; 2283 + 1027 ; 2308 + 1028 ; 1874 + 1029 ; 1732 + 1030 ; 1765 + 1031 ; 1891 + 1032 ; 2275 + 1033 ; 1914 + 1034 ; 2254 + 1035 ; 2388 + 1036 ; 2375 + 1037 ; 2303 + 1038 ; 2384 + 1039 ; 2130 + 1040 ; 2060 + 1041 ; 2015 + 1042 ; 2102 + 1043 ; 2227 + 1044 ; 2024 + 1045 ; 2270 + 1046 ; 2223 + 1047 ; 2356 + 1048 ; 2236 + 1049 ; 1679 + 1050 ; 1793 + 1051 ; 2215 + 1052 ; 2335 + 1053 ; 1990 + 1054 ; 1626 + 1055 ; 2138 + 1056 ; 2218 + 1057 ; 2410 + 1058 ; 2396 + 1059 ; 1911 + 1060 ; 1683 + 1061 ; 2407 + 1062 ; 1771 + 1063 ; 1679 + 1064 ; 1619 + 1065 ; 1818 + 1066 ; 2132 + 1067 ; 2410 + 1068 ; 1631 + 1069 ; 2106 + 1070 ; 2142 + 1071 ; 2258 + 1072 ; 2141 + 1073 ; 1692 + 1074 ; 2135 + 1075 ; 2336 + 1076 ; 2299 + 1077 ; 1835 + 1078 ; 1850 + 1079 ; 2191 + 1080 ; 2329 + 1081 ; 2071 + 1082 ; 2148 + 1083 ; 1912 + 1084 ; 2176 + 1085 ; 1957 + 1086 ; 2085 + 1087 ; 2235 + 1088 ; 1999 + 1089 ; 1736 + 1090 ; 1612 + 1091 ; 1947 + 1092 ; 1916 + 1093 ; 1816 + 1094 ; 1850 + 1095 ; 2171 + 1096 ; 1770 + 1097 ; 1851 + 1098 ; 2258 + 1099 ; 2358 + 1100 ; 2315 + 1101 ; 2208 + 1102 ; 1909 + 1103 ; 1732 + 1104 ; 2042 + 1105 ; 1800 + 1106 ; 1911 + 1107 ; 1656 + 1108 ; 2353 + 1109 ; 2118 + 1110 ; 2385 + 1111 ; 1754 + 1112 ; 2218 + 1113 ; 2268 + 1114 ; 1741 + 1115 ; 2137 + 1116 ; 1774 + 1117 ; 1972 + 1118 ; 1906 + 1119 ; 1628 + 1120 ; 1870 + 1121 ; 2061 + 1122 ; 2409 + 1123 ; 2036 + 1124 ; 1767 + 1125 ; 1634 + 1126 ; 1628 + 1127 ; 2046 + 1128 ; 2317 + 1129 ; 2153 + 1130 ; 1716 + 1131 ; 2142 + 1132 ; 1702 + 1133 ; 1866 + 1134 ; 2231 + 1135 ; 2124 + 1136 ; 1947 + 1137 ; 1988 + 1138 ; 2297 + 1139 ; 2013 + 1140 ; 1723 + 1141 ; 1689 + 1142 ; 1793 + 1143 ; 2021 + 1144 ; 2007 + 1145 ; 2268 + 1146 ; 2040 + 1147 ; 2212 + 1148 ; 2387 + 1149 ; 2228 + 1150 ; 1868 + 1151 ; 2089 + 1152 ; 1942 + 1153 ; 1993 + 1154 ; 2329 + 1155 ; 2095 + 1156 ; 1921 + 1157 ; 2227 + 1158 ; 1747 + 1159 ; 2096 + 1160 ; 1764 + 1161 ; 2056 + 1162 ; 2268 + 1163 ; 1839 + 1164 ; 2370 + 1165 ; 2268 + 1166 ; 1983 + 1167 ; 2240 + 1168 ; 1637 + 1169 ; 1675 + 1170 ; 1687 + 1171 ; 1862 + 1172 ; 2203 + 1173 ; 1798 + 1174 ; 1722 + 1175 ; 2129 + 1176 ; 2000 + 1177 ; 1725 + 1178 ; 2117 + 1179 ; 2389 + 1180 ; 2168 + 1181 ; 2343 + 1182 ; 2103 + 1183 ; 1938 + 1184 ; 2014 + 1185 ; 2027 + 1186 ; 2053 + 1187 ; 1882 + 1188 ; 1614 + 1189 ; 1759 + 1190 ; 2072 + 1191 ; 1704 + 1192 ; 1927 + 1193 ; 1678 + 1194 ; 2351 + 1195 ; 2273 + 1196 ; 2135 + 1197 ; 2404 + 1198 ; 2032 + 1199 ; 1708 + 1200 ; 2168 + 1201 ; 1940 + 1202 ; 1636 + 1203 ; 2149 + 1204 ; 1648 + 1205 ; 1750 + 1206 ; 1900 + 1207 ; 1873 + 1208 ; 1844 + 1209 ; 2009 + 1210 ; 2382 + 1211 ; 1631 + 1212 ; 1793 + 1213 ; 2309 + 1214 ; 1787 + 1215 ; 1980 + 1216 ; 2138 + 1217 ; 2354 + 1218 ; 2132 + 1219 ; 1782 + 1220 ; 1738 + 1221 ; 2016 + 1222 ; 1828 + 1223 ; 1751 + 1224 ; 1872 + 1225 ; 1869 + 1226 ; 2362 + 1227 ; 1982 + 1228 ; 1791 + 1229 ; 1976 + 1230 ; 2114 + 1231 ; 2163 + 1232 ; 2006 + 1233 ; 2000 + 1234 ; 2374 + 1235 ; 1633 + 1236 ; 1933 + 1237 ; 1873 + 1238 ; 2184 + 1239 ; 1767 + 1240 ; 1939 + 1241 ; 1837 + 1242 ; 2124 + 1243 ; 1961 + 1244 ; 2316 + 1245 ; 1960 + 1246 ; 2263 + 1247 ; 2147 + 1248 ; 1946 + 1249 ; 1737 + 1250 ; 1838 + 1251 ; 2064 + 1252 ; 2119 + 1253 ; 1724 + 1254 ; 2229 + 1255 ; 2215 + 1256 ; 1665 + 1257 ; 2281 + 1258 ; 2206 + 1259 ; 1947 + 1260 ; 1817 + 1261 ; 1677 + 1262 ; 2357 + 1263 ; 2296 + 1264 ; 2197 + 1265 ; 2258 + 1266 ; 1733 + 1267 ; 2242 + 1268 ; 1674 + 1269 ; 1868 + 1270 ; 1616 + 1271 ; 1708 + 1272 ; 1936 + 1273 ; 2021 + 1274 ; 2086 + 1275 ; 1722 + 1276 ; 2144 + 1277 ; 1790 + 1278 ; 2010 + 1279 ; 1803 + 1280 ; 1937 + 1281 ; 2000 + 1282 ; 1771 + 1283 ; 2355 + 1284 ; 2201 + 1285 ; 2145 + 1286 ; 2379 + 1287 ; 2141 + 1288 ; 1959 + 1289 ; 2211 + 1290 ; 2014 + 1291 ; 2212 + 1292 ; 2050 + 1293 ; 2032 + 1294 ; 2055 + 1295 ; 2025 + 1296 ; 1858 + 1297 ; 2162 + 1298 ; 1701 + 1299 ; 1933 + 1300 ; 2089 + 1301 ; 2310 + 1302 ; 1745 + 1303 ; 1710 + 1304 ; 2104 + 1305 ; 1626 + 1306 ; 2265 + 1307 ; 2203 + 1308 ; 1843 + 1309 ; 1849 + 1310 ; 2309 + 1311 ; 1844 + 1312 ; 2231 + 1313 ; 1761 + 1314 ; 2135 + 1315 ; 1825 + 1316 ; 1696 + 1317 ; 1668 + 1318 ; 1878 + 1319 ; 1832 + 1320 ; 2223 + 1321 ; 1733 + 1322 ; 1922 + 1323 ; 1937 + 1324 ; 1738 + 1325 ; 1859 + 1326 ; 2033 + 1327 ; 1735 + 1328 ; 2185 + 1329 ; 2276 + 1330 ; 1661 + 1331 ; 2243 + 1332 ; 1691 + 1333 ; 2212 + 1334 ; 2070 + 1335 ; 1983 + 1336 ; 1905 + 1337 ; 2322 + 1338 ; 1858 + 1339 ; 1829 + 1340 ; 2374 + 1341 ; 2011 + 1342 ; 2026 + 1343 ; 1866 + 1344 ; 1681 + 1345 ; 2370 + 1346 ; 2139 + 1347 ; 2364 + 1348 ; 1965 + 1349 ; 2394 + 1350 ; 1942 + 1351 ; 2108 + 1352 ; 2097 + 1353 ; 1934 + 1354 ; 1687 + 1355 ; 2161 + 1356 ; 1701 + 1357 ; 1683 + 1358 ; 2184 + 1359 ; 1841 + 1360 ; 2165 + 1361 ; 1818 + 1362 ; 2272 + 1363 ; 1911 + 1364 ; 2092 + 1365 ; 1620 + 1366 ; 1719 + 1367 ; 1762 + 1368 ; 2264 + 1369 ; 2161 + 1370 ; 2215 + 1371 ; 2174 + 1372 ; 1967 + 1373 ; 2193 + 1374 ; 2114 + 1375 ; 1710 + 1376 ; 1634 + 1377 ; 2193 + 1378 ; 1757 + 1379 ; 1668 + 1380 ; 1769 + 1381 ; 1853 + 1382 ; 1993 + 1383 ; 2052 + 1384 ; 1736 + 1385 ; 2259 + 1386 ; 2047 + 1387 ; 2102 + 1388 ; 2105 + 1389 ; 2243 + 1390 ; 2248 + 1391 ; 2174 + 1392 ; 2114 + 1393 ; 1682 + 1394 ; 1653 + 1395 ; 1640 + 1396 ; 1809 + 1397 ; 1868 + 1398 ; 1774 + 1399 ; 2226 + 1400 ; 1878 + 1401 ; 2258 + 1402 ; 2027 + 1403 ; 2321 + 1404 ; 1943 + 1405 ; 1664 + 1406 ; 2091 + 1407 ; 1957 + 1408 ; 2306 + 1409 ; 1900 + 1410 ; 2310 + 1411 ; 1963 + 1412 ; 2213 + 1413 ; 2075 + 1414 ; 1742 + 1415 ; 2034 + 1416 ; 1881 + 1417 ; 2357 + 1418 ; 1969 + 1419 ; 2267 + 1420 ; 1759 + 1421 ; 1924 + 1422 ; 2036 + 1423 ; 2324 + 1424 ; 2105 + 1425 ; 1812 + 1426 ; 1983 + 1427 ; 2091 + 1428 ; 2218 + 1429 ; 1683 + 1430 ; 1969 + 1431 ; 1953 + 1432 ; 2367 + 1433 ; 2183 + 1434 ; 2037 + 1435 ; 1742 + 1436 ; 1647 + 1437 ; 1898 + 1438 ; 2313 + 1439 ; 1829 + 1440 ; 1953 + 1441 ; 1741 + 1442 ; 2002 + 1443 ; 2102 + 1444 ; 1755 + 1445 ; 1841 + 1446 ; 1775 + 1447 ; 2269 + 1448 ; 1764 + 1449 ; 2243 + 1450 ; 1960 + 1451 ; 1637 + 1452 ; 1878 + 1453 ; 2075 + 1454 ; 2131 + 1455 ; 1772 + 1456 ; 2366 + 1457 ; 2090 + 1458 ; 2300 + 1459 ; 2309 + 1460 ; 2095 + 1461 ; 1681 + 1462 ; 2205 + 1463 ; 1674 + 1464 ; 2194 + 1465 ; 2342 + 1466 ; 1946 + 1467 ; 2255 + 1468 ; 2300 + 1469 ; 1878 + 1470 ; 1637 + 1471 ; 2112 + 1472 ; 2007 + 1473 ; 1625 + 1474 ; 1749 + 1475 ; 1886 + 1476 ; 2316 + 1477 ; 2145 + 1478 ; 2051 + 1479 ; 1685 + 1480 ; 1924 + 1481 ; 2117 + 1482 ; 2338 + 1483 ; 1772 + 1484 ; 2401 + 1485 ; 2249 + 1486 ; 2376 + 1487 ; 1924 + 1488 ; 1628 + 1489 ; 1953 + 1490 ; 2033 + 1491 ; 2211 + 1492 ; 2275 + 1493 ; 2062 + 1494 ; 2256 + 1495 ; 2212 + 1496 ; 2350 + 1497 ; 1734 + 1498 ; 1812 + 1499 ; 1648 + 1500 ; 2015 + 1501 ; 1865 + 1502 ; 2293 + 1503 ; 1795 + 1504 ; 1671 + 1505 ; 2236 + 1506 ; 1976 + 1507 ; 1965 + 1508 ; 2105 + 1509 ; 1754 + 1510 ; 2187 + 1511 ; 2402 + 1512 ; 1707 + 1513 ; 2214 + 1514 ; 1745 + 1515 ; 1770 + 1516 ; 1708 + 1517 ; 2057 + 1518 ; 2268 + 1519 ; 1670 + 1520 ; 2315 + 1521 ; 2019 + 1522 ; 1731 + 1523 ; 2140 + 1524 ; 1877 + 1525 ; 1639 + 1526 ; 2301 + 1527 ; 2059 + 1528 ; 2007 + 1529 ; 1981 + 1530 ; 1666 + 1531 ; 2188 + 1532 ; 2391 + 1533 ; 1908 + 1534 ; 1865 + 1535 ; 2266 + 1536 ; 1883 + 1537 ; 2245 + 1538 ; 2057 + 1539 ; 1766 + 1540 ; 2244 + 1541 ; 1747 + 1542 ; 2368 + 1543 ; 2163 + 1544 ; 2357 + 1545 ; 2250 + 1546 ; 2271 + 1547 ; 2104 + 1548 ; 1992 + 1549 ; 2106 + 1550 ; 2302 + 1551 ; 1850 + 1552 ; 2327 + 1553 ; 2281 + 1554 ; 2012 + 1555 ; 2236 + 1556 ; 1903 + 1557 ; 2350 + 1558 ; 2270 + 1559 ; 2182 + 1560 ; 1892 + 1561 ; 1709 + 1562 ; 1749 + 1563 ; 2003 + 1564 ; 1846 + 1565 ; 2284 + 1566 ; 1683 + 1567 ; 1853 + 1568 ; 1992 + 1569 ; 1634 + 1570 ; 2359 + 1571 ; 2099 + 1572 ; 2270 + 1573 ; 2274 + 1574 ; 1917 + 1575 ; 2260 + 1576 ; 1826 + 1577 ; 2031 + 1578 ; 2000 + 1579 ; 1869 + 1580 ; 1702 + 1581 ; 1963 + 1582 ; 1758 + 1583 ; 2005 + 1584 ; 2022 + 1585 ; 2388 + 1586 ; 2124 + 1587 ; 2072 + 1588 ; 2129 + 1589 ; 2359 + 1590 ; 2256 + 1591 ; 2008 + 1592 ; 2133 + 1593 ; 2349 + 1594 ; 1992 + 1595 ; 2348 + 1596 ; 1918 + 1597 ; 2373 + 1598 ; 1759 + 1599 ; 2081 + 1600 ; 2251 + 1601 ; 1666 + 1602 ; 1914 + 1603 ; 2168 + 1604 ; 2035 + 1605 ; 1856 + 1606 ; 1744 + 1607 ; 2134 + 1608 ; 1803 + 1609 ; 2082 + 1610 ; 2106 + 1611 ; 1833 + 1612 ; 1926 + 1613 ; 1683 + 1614 ; 2331 + 1615 ; 2166 + 1616 ; 1756 + 1617 ; 2210 + 1618 ; 2255 + 1619 ; 1956 + 1620 ; 1802 + 1621 ; 2009 + 1622 ; 1619 + 1623 ; 2065 + 1624 ; 1777 + 1625 ; 2385 + 1626 ; 2244 + 1627 ; 2379 + 1628 ; 1869 + 1629 ; 1998 + 1630 ; 2078 + 1631 ; 2211 + 1632 ; 2266 + 1633 ; 2003 + 1634 ; 1861 + 1635 ; 2256 + 1636 ; 2079 + 1637 ; 2257 + 1638 ; 1839 + 1639 ; 2209 + 1640 ; 2229 + 1641 ; 2095 + 1642 ; 1831 + 1643 ; 2236 + 1644 ; 2159 + 1645 ; 2159 + 1646 ; 2039 + 1647 ; 2300 + 1648 ; 1702 + 1649 ; 2136 + 1650 ; 1868 + 1651 ; 2285 + 1652 ; 1860 + 1653 ; 1747 + 1654 ; 2290 + 1655 ; 2364 + 1656 ; 1792 + 1657 ; 2148 + 1658 ; 2147 + 1659 ; 1896 + 1660 ; 2188 + 1661 ; 1685 + 1662 ; 2146 + 1663 ; 1937 + 1664 ; 1991 + 1665 ; 2289 + 1666 ; 1992 + 1667 ; 1891 + 1668 ; 2022 + 1669 ; 2001 + 1670 ; 2065 + 1671 ; 1645 + 1672 ; 2165 + 1673 ; 1771 + 1674 ; 1824 + 1675 ; 2013 + 1676 ; 1667 + 1677 ; 2185 + 1678 ; 1956 + 1679 ; 2322 + 1680 ; 2018 + 1681 ; 1832 + 1682 ; 1720 + 1683 ; 1928 + 1684 ; 1709 + 1685 ; 1798 + 1686 ; 2253 + 1687 ; 2053 + 1688 ; 1623 + 1689 ; 2285 + 1690 ; 2377 + 1691 ; 2173 + 1692 ; 1948 + 1693 ; 1862 + 1694 ; 1883 + 1695 ; 2196 + 1696 ; 1926 + 1697 ; 2040 + 1698 ; 2130 + 1699 ; 2032 + 1700 ; 1762 + 1701 ; 2312 + 1702 ; 1669 + 1703 ; 1622 + 1704 ; 1777 + 1705 ; 1783 + 1706 ; 1995 + 1707 ; 2224 + 1708 ; 2390 + 1709 ; 2185 + 1710 ; 2091 + 1711 ; 1910 + 1712 ; 1981 + 1713 ; 2291 + 1714 ; 2187 + 1715 ; 2159 + 1716 ; 2192 + 1717 ; 2210 + 1718 ; 1871 + 1719 ; 1962 + 1720 ; 2150 + 1721 ; 2094 + 1722 ; 1696 + 1723 ; 2239 + 1724 ; 2260 + 1725 ; 1771 + 1726 ; 1795 + 1727 ; 1738 + 1728 ; 1791 + 1729 ; 2000 + 1730 ; 1763 + 1731 ; 2151 + 1732 ; 2164 + 1733 ; 2063 + 1734 ; 2305 + 1735 ; 1897 + 1736 ; 2018 + 1737 ; 1732 + 1738 ; 2068 + 1739 ; 2206 + 1740 ; 1666 + 1741 ; 1971 + 1742 ; 1732 + 1743 ; 2354 + 1744 ; 1813 + 1745 ; 2382 + 1746 ; 1947 + 1747 ; 2351 + 1748 ; 2378 + 1749 ; 2291 + 1750 ; 1835 + 1751 ; 1853 + 1752 ; 2379 + 1753 ; 1982 + 1754 ; 1731 + 1755 ; 1924 + 1756 ; 1740 + 1757 ; 2327 + 1758 ; 2108 + 1759 ; 2314 + 1760 ; 2203 + 1761 ; 1985 + 1762 ; 2322 + 1763 ; 2353 + 1764 ; 2237 + 1765 ; 1659 + 1766 ; 2190 + 1767 ; 1930 + 1768 ; 2033 + 1769 ; 2016 + 1770 ; 2177 + 1771 ; 1743 + 1772 ; 1717 + 1773 ; 1761 + 1774 ; 1677 + 1775 ; 2289 + 1776 ; 2103 + 1777 ; 2276 + 1778 ; 2304 + 1779 ; 2389 + 1780 ; 2347 + 1781 ; 1947 + 1782 ; 1708 + 1783 ; 1969 + 1784 ; 1778 + 1785 ; 1764 + 1786 ; 2364 + 1787 ; 1647 + 1788 ; 2194 + 1789 ; 2002 + 1790 ; 2325 + 1791 ; 2327 + 1792 ; 2075 + 1793 ; 2249 + 1794 ; 1714 + 1795 ; 2240 + 1796 ; 2265 + 1797 ; 2325 + 1798 ; 2112 + 1799 ; 1939 + 1800 ; 2260 + 1801 ; 2385 + 1802 ; 2137 + 1803 ; 1973 + 1804 ; 2047 + 1805 ; 1831 + 1806 ; 1676 + 1807 ; 2215 + 1808 ; 2074 + 1809 ; 1842 + 1810 ; 1975 + 1811 ; 2269 + 1812 ; 1783 + 1813 ; 2032 + 1814 ; 2086 + 1815 ; 2137 + 1816 ; 2241 + 1817 ; 1791 + 1818 ; 1797 + 1819 ; 2099 + 1820 ; 2087 + 1821 ; 2148 + 1822 ; 1703 + 1823 ; 2284 + 1824 ; 2270 + 1825 ; 1796 + 1826 ; 1665 + 1827 ; 1874 + 1828 ; 2139 + 1829 ; 1764 + 1830 ; 1791 + 1831 ; 1639 + 1832 ; 1715 + 1833 ; 1740 + 1834 ; 2214 + 1835 ; 2148 + 1836 ; 2410 + 1837 ; 1998 + 1838 ; 2396 + 1839 ; 1797 + 1840 ; 2373 + 1841 ; 2201 + 1842 ; 2259 + 1843 ; 1996 + 1844 ; 2254 + 1845 ; 2380 + 1846 ; 1832 + 1847 ; 2198 + 1848 ; 2337 + 1849 ; 2356 + 1850 ; 1707 + 1851 ; 2194 + 1852 ; 1980 + 1853 ; 2276 + 1854 ; 2167 + 1855 ; 1936 + 1856 ; 2268 + 1857 ; 1738 + 1858 ; 2044 + 1859 ; 2069 + 1860 ; 1741 + 1861 ; 1819 + 1862 ; 2389 + 1863 ; 2046 + 1864 ; 2101 + 1865 ; 2277 + 1866 ; 1759 + 1867 ; 1778 + 1868 ; 1655 + 1869 ; 1703 + 1870 ; 1850 + 1871 ; 1664 + 1872 ; 2206 + 1873 ; 1722 + 1874 ; 2152 + 1875 ; 1902 + 1876 ; 1702 + 1877 ; 2014 + 1878 ; 2267 + 1879 ; 1764 + 1880 ; 1833 + 1881 ; 2248 + 1882 ; 2270 + 1883 ; 1613 + 1884 ; 1890 + 1885 ; 1736 + 1886 ; 1667 + 1887 ; 2122 + 1888 ; 2161 + 1889 ; 2146 + 1890 ; 1792 + 1891 ; 2071 + 1892 ; 1879 + 1893 ; 2263 + 1894 ; 2151 + 1895 ; 1615 + 1896 ; 2137 + 1897 ; 1876 + 1898 ; 1947 + 1899 ; 2160 + 1900 ; 2184 + 1901 ; 2019 + 1902 ; 1777 + 1903 ; 1659 + 1904 ; 2288 + 1905 ; 2159 + 1906 ; 1700 + 1907 ; 1764 + 1908 ; 2195 + 1909 ; 1781 + 1910 ; 1756 + 1911 ; 2310 + 1912 ; 1821 + 1913 ; 1688 + 1914 ; 2310 + 1915 ; 2232 + 1916 ; 1655 + 1917 ; 2206 + 1918 ; 1806 + 1919 ; 2045 + 1920 ; 2204 + 1921 ; 1934 + 1922 ; 1800 + 1923 ; 2225 + 1924 ; 1731 + 1925 ; 2144 + 1926 ; 1944 + 1927 ; 2037 + 1928 ; 2268 + 1929 ; 2329 + 1930 ; 1728 + 1931 ; 1684 + 1932 ; 1906 + 1933 ; 1725 + 1934 ; 1961 + 1935 ; 1907 + 1936 ; 2157 + 1937 ; 1948 + 1938 ; 2141 + 1939 ; 1741 + 1940 ; 2073 + 1941 ; 2220 + 1942 ; 2272 + 1943 ; 1724 + 1944 ; 1924 + 1945 ; 2096 + 1946 ; 2103 + 1947 ; 1649 + 1948 ; 1732 + 1949 ; 1927 + 1950 ; 1988 + 1951 ; 1663 + 1952 ; 2357 + 1953 ; 1986 + 1954 ; 2153 + 1955 ; 2335 + 1956 ; 1646 + 1957 ; 1626 + 1958 ; 2022 + 1959 ; 1627 + 1960 ; 2361 + 1961 ; 1810 + 1962 ; 1827 + 1963 ; 1757 + 1964 ; 1669 + 1965 ; 2293 + 1966 ; 2177 + 1967 ; 2377 + 1968 ; 1811 + 1969 ; 1706 + 1970 ; 1758 + 1971 ; 1634 + 1972 ; 2295 + 1973 ; 1685 + 1974 ; 2299 + 1975 ; 2017 + 1976 ; 2378 + 1977 ; 2076 + 1978 ; 1992 + 1979 ; 1715 + 1980 ; 2146 + 1981 ; 2051 + 1982 ; 2219 + 1983 ; 1905 + 1984 ; 2200 + 1985 ; 1657 + 1986 ; 2337 + 1987 ; 2254 + 1988 ; 2132 + 1989 ; 1871 + 1990 ; 2322 + 1991 ; 2358 + 1992 ; 2298 + 1993 ; 1672 + 1994 ; 2364 + 1995 ; 2329 + 1996 ; 2003 + 1997 ; 2220 + 1998 ; 2069 + 1999 ; 1878 + 2000 ; 1908 + 2001 ; 1779 + 2002 ; 1952 + 2003 ; 1721 + 2004 ; 1934 + 2005 ; 2143 + 2006 ; 2126 + 2007 ; 1890 + 2008 ; 2147 + 2009 ; 2294 + 2010 ; 2292 + 2011 ; 1818 + 2012 ; 2391 + 2013 ; 2132 + 2014 ; 2344 + 2015 ; 2406 + 2016 ; 1901 + 2017 ; 1846 + 2018 ; 2337 + 2019 ; 1949 + 2020 ; 2330 + 2021 ; 1874 + 2022 ; 1759 + 2023 ; 1775 + 2024 ; 1973 + 2025 ; 2033 + 2026 ; 1791 + 2027 ; 2108 + 2028 ; 2204 + 2029 ; 2100 + 2030 ; 1706 + 2031 ; 2203 + 2032 ; 1686 + 2033 ; 2254 + 2034 ; 1763 + 2035 ; 1802 + 2036 ; 2100 + 2037 ; 2158 + 2038 ; 2406 + 2039 ; 1901 + 2040 ; 2324 + 2041 ; 2125 + 2042 ; 2359 + 2043 ; 2091 + 2044 ; 1641 + 2045 ; 1678 + 2046 ; 1860 + 2047 ; 2136 + 2048 ; 2006 + 2049 ; 1928 + 2050 ; 2258 + 2051 ; 1786 + 2052 ; 1764 + 2053 ; 1988 + 2054 ; 1725 + 2055 ; 2287 + 2056 ; 2187 + 2057 ; 2191 + 2058 ; 2298 + 2059 ; 2092 + 2060 ; 1883 + 2061 ; 1910 + 2062 ; 2207 + 2063 ; 1629 + 2064 ; 1783 + 2065 ; 1838 + 2066 ; 2184 + 2067 ; 1829 + 2068 ; 2397 + 2069 ; 1671 + 2070 ; 1840 + 2071 ; 2000 + 2072 ; 2144 + 2073 ; 1869 + 2074 ; 2047 + 2075 ; 1954 + 2076 ; 2021 + 2077 ; 2180 + 2078 ; 2042 + 2079 ; 1725 + 2080 ; 2079 + 2081 ; 1803 + 2082 ; 2241 + 2083 ; 2196 + 2084 ; 2035 + 2085 ; 2002 + 2086 ; 2085 + 2087 ; 1678 + 2088 ; 2244 + 2089 ; 1833 + 2090 ; 2300 + 2091 ; 2232 + 2092 ; 2121 + 2093 ; 1916 + 2094 ; 2154 + 2095 ; 2410 + 2096 ; 2070 + 2097 ; 1993 + 2098 ; 2337 + 2099 ; 1681 + 2100 ; 1898 + 2101 ; 1972 + 2102 ; 2137 + 2103 ; 1887 + 2104 ; 1767 + 2105 ; 1876 + 2106 ; 2080 + 2107 ; 1905 + 2108 ; 1852 + 2109 ; 2370 + 2110 ; 1910 + 2111 ; 1709 + 2112 ; 2157 + 2113 ; 2165 + 2114 ; 2269 + 2115 ; 1764 + 2116 ; 2252 + 2117 ; 1713 + 2118 ; 1739 + 2119 ; 2206 + 2120 ; 2395 + 2121 ; 2399 + 2122 ; 2194 + 2123 ; 1645 + 2124 ; 1975 + 2125 ; 1960 + 2126 ; 1764 + 2127 ; 1623 + 2128 ; 2232 + 2129 ; 2241 + 2130 ; 2321 + 2131 ; 1873 + 2132 ; 1676 + 2133 ; 1658 + 2134 ; 2252 + 2135 ; 2337 + 2136 ; 1739 + 2137 ; 1891 + 2138 ; 2091 + 2139 ; 2379 + 2140 ; 2375 + 2141 ; 2282 + 2142 ; 1941 + 2143 ; 1801 + 2144 ; 1728 + 2145 ; 2210 + 2146 ; 2130 + 2147 ; 2049 + 2148 ; 1847 + 2149 ; 2162 + 2150 ; 1969 + 2151 ; 1898 + 2152 ; 2247 + 2153 ; 2403 + 2154 ; 2287 + 2155 ; 2304 + 2156 ; 1627 + 2157 ; 2175 + 2158 ; 2252 + 2159 ; 2105 + 2160 ; 1970 + 2161 ; 1776 + 2162 ; 1920 + 2163 ; 2327 + 2164 ; 2080 + 2165 ; 2101 + 2166 ; 2212 + 2167 ; 2366 + 2168 ; 1890 + 2169 ; 2239 + 2170 ; 2253 + 2171 ; 2357 + 2172 ; 1711 + 2173 ; 1882 + 2174 ; 2094 + 2175 ; 1653 + 2176 ; 2142 + 2177 ; 2234 + 2178 ; 2411 + 2179 ; 2213 + 2180 ; 2377 + 2181 ; 2108 + 2182 ; 2072 + 2183 ; 1818 + 2184 ; 2110 + 2185 ; 2190 + 2186 ; 1741 + 2187 ; 2043 + 2188 ; 2128 + 2189 ; 1907 + 2190 ; 2237 + 2191 ; 1899 + 2192 ; 2215 + 2193 ; 1646 + 2194 ; 1817 + 2195 ; 1681 + 2196 ; 1789 + 2197 ; 2027 + 2198 ; 2368 + 2199 ; 2334 + 2200 ; 2311 + 2201 ; 2056 + 2202 ; 1662 + 2203 ; 2149 + 2204 ; 2364 + 2205 ; 1917 + 2206 ; 1834 + 2207 ; 2273 + 2208 ; 1860 + 2209 ; 2406 + 2210 ; 2040 + 2211 ; 2275 + 2212 ; 1770 + 2213 ; 1832 + 2214 ; 1630 + 2215 ; 2362 + 2216 ; 2258 + 2217 ; 2296 + 2218 ; 1904 + 2219 ; 1989 + 2220 ; 2178 + 2221 ; 1746 + 2222 ; 1768 + 2223 ; 1990 + 2224 ; 2038 + 2225 ; 1958 + 2226 ; 1801 + 2227 ; 1790 + 2228 ; 1796 + 2229 ; 1677 + 2230 ; 1639 + 2231 ; 2152 + 2232 ; 2206 + 2233 ; 2262 + 2234 ; 2328 + 2235 ; 1826 + 2236 ; 2375 + 2237 ; 1930 + 2238 ; 1976 + 2239 ; 2044 + 2240 ; 1810 + 2241 ; 1922 + 2242 ; 2042 + 2243 ; 2404 + 2244 ; 2380 + 2245 ; 2278 + 2246 ; 1890 + 2247 ; 1894 + 2248 ; 1972 + 2249 ; 1873 + 2250 ; 1874 + 2251 ; 1717 + 2252 ; 1940 + 2253 ; 2336 + 2254 ; 2155 + 2255 ; 1896 + 2256 ; 1773 + 2257 ; 2219 + 2258 ; 1984 + 2259 ; 2143 + 2260 ; 2205 + 2261 ; 1807 + 2262 ; 1777 + 2263 ; 2086 + 2264 ; 1825 + 2265 ; 2361 + 2266 ; 2161 + 2267 ; 1755 + 2268 ; 2215 + 2269 ; 2040 + 2270 ; 1740 + 2271 ; 2320 + 2272 ; 1935 + 2273 ; 2071 + 2274 ; 2173 + 2275 ; 2097 + 2276 ; 1654 + 2277 ; 2364 + 2278 ; 1987 + 2279 ; 1891 + 2280 ; 2393 + 2281 ; 2210 + 2282 ; 1754 + 2283 ; 1756 + 2284 ; 1945 + 2285 ; 1696 + 2286 ; 2315 + 2287 ; 1948 + 2288 ; 2074 + 2289 ; 1972 + 2290 ; 2071 + 2291 ; 1994 + 2292 ; 2078 + 2293 ; 2039 + 2294 ; 2023 + 2295 ; 1827 + 2296 ; 1971 + 2297 ; 1875 + 2298 ; 1750 + 2299 ; 1765 + 2300 ; 1732 + 2301 ; 1655 + 2302 ; 2349 + 2303 ; 2017 + 2304 ; 1891 + 2305 ; 2067 + 2306 ; 2398 + 2307 ; 1903 + 2308 ; 2008 + 2309 ; 2032 + 2310 ; 1842 + 2311 ; 2272 + 2312 ; 1722 + 2313 ; 2093 + 2314 ; 1739 + 2315 ; 2390 + 2316 ; 1690 + 2317 ; 2371 + 2318 ; 2285 + 2319 ; 2397 + 2320 ; 2055 + 2321 ; 1716 + 2322 ; 2074 + 2323 ; 1931 + 2324 ; 1838 + 2325 ; 1739 + 2326 ; 1920 + 2327 ; 2350 + 2328 ; 1700 + 2329 ; 1716 + 2330 ; 1937 + 2331 ; 1933 + 2332 ; 2060 + 2333 ; 2340 + 2334 ; 2287 + 2335 ; 1833 + 2336 ; 1926 + 2337 ; 2304 + 2338 ; 1826 + 2339 ; 1998 + 2340 ; 2070 + 2341 ; 1875 + 2342 ; 1843 + 2343 ; 1623 + 2344 ; 1773 + 2345 ; 2315 + 2346 ; 1878 + 2347 ; 2151 + 2348 ; 1809 + 2349 ; 2143 + 2350 ; 2173 + 2351 ; 1914 + 2352 ; 2229 + 2353 ; 1981 + 2354 ; 1849 + 2355 ; 1885 + 2356 ; 2189 + 2357 ; 2036 + 2358 ; 2165 + 2359 ; 2273 + 2360 ; 2129 + 2361 ; 1753 + 2362 ; 1959 + 2363 ; 1890 + 2364 ; 1963 + 2365 ; 2216 + 2366 ; 2073 + 2367 ; 2372 + 2368 ; 1899 + 2369 ; 1754 + 2370 ; 1913 + 2371 ; 1777 + 2372 ; 1785 + 2373 ; 1785 + 2374 ; 1987 + 2375 ; 2315 + 2376 ; 2287 + 2377 ; 2186 + 2378 ; 1878 + 2379 ; 2079 + 2380 ; 2155 + 2381 ; 2008 + 2382 ; 1868 + 2383 ; 2176 + 2384 ; 1622 + 2385 ; 2225 + 2386 ; 1817 + 2387 ; 2273 + 2388 ; 2353 + 2389 ; 1682 + 2390 ; 2302 + 2391 ; 1973 + 2392 ; 1887 + 2393 ; 2078 + 2394 ; 1901 + 2395 ; 1900 + 2396 ; 1768 + 2397 ; 1650 + 2398 ; 1869 + 2399 ; 2034 + 2400 ; 2158 + 2401 ; 1654 + 2402 ; 1826 + 2403 ; 2180 + 2404 ; 2070 + 2405 ; 2149 + 2406 ; 1825 + 2407 ; 1664 + 2408 ; 2363 + 2409 ; 2250 + 2410 ; 2342 + 2411 ; 2011 + 2412 ; 2298 + 2413 ; 1831 + 2414 ; 2212 + 2415 ; 1828 + 2416 ; 2335 + 2417 ; 1879 + 2418 ; 2005 + 2419 ; 1889 + 2420 ; 1993 + 2421 ; 2069 + 2422 ; 1859 + 2423 ; 1690 + 2424 ; 2341 + 2425 ; 1908 + 2426 ; 1935 + 2427 ; 2303 + 2428 ; 2044 + 2429 ; 1930 + 2430 ; 1821 + 2431 ; 1793 + 2432 ; 2321 + 2433 ; 2104 + 2434 ; 1728 + 2435 ; 1638 + 2436 ; 2106 + 2437 ; 2036 + 2438 ; 1814 + 2439 ; 1794 + 2440 ; 2184 + 2441 ; 1645 + 2442 ; 1698 + 2443 ; 1948 + 2444 ; 1788 + 2445 ; 2287 + 2446 ; 1822 + 2447 ; 1747 + 2448 ; 2157 + 2449 ; 1881 + 2450 ; 1834 + 2451 ; 2182 + 2452 ; 2024 + 2453 ; 1891 + 2454 ; 1902 + 2455 ; 2284 + 2456 ; 2310 + 2457 ; 2288 + 2458 ; 2365 + 2459 ; 1772 + 2460 ; 2072 + 2461 ; 2289 + 2462 ; 1797 + 2463 ; 1905 + 2464 ; 2065 + 2465 ; 1785 + 2466 ; 2334 + 2467 ; 2067 + 2468 ; 2169 + 2469 ; 1961 + 2470 ; 1877 + 2471 ; 2277 + 2472 ; 2361 + 2473 ; 1921 + 2474 ; 1802 + 2475 ; 2146 + 2476 ; 1626 + 2477 ; 1918 + 2478 ; 2137 + 2479 ; 2267 + 2480 ; 1731 + 2481 ; 2137 + 2482 ; 2096 + 2483 ; 1970 + 2484 ; 1768 + 2485 ; 2288 + 2486 ; 1829 + 2487 ; 1933 + 2488 ; 2265 + 2489 ; 2235 + 2490 ; 2404 + 2491 ; 2238 + 2492 ; 2022 + 2493 ; 2130 + 2494 ; 2343 + 2495 ; 1881 + 2496 ; 2084 + 2497 ; 1786 + 2498 ; 1896 + 2499 ; 2294 + 2500 ; 2245 + 2501 ; 2252 + 2502 ; 2032 + 2503 ; 2248 + 2504 ; 1984 + 2505 ; 1641 + 2506 ; 1958 + 2507 ; 2080 + 2508 ; 2092 + 2509 ; 1831 + 2510 ; 1704 + 2511 ; 1683 + 2512 ; 1951 + 2513 ; 2123 + 2514 ; 2384 + 2515 ; 2100 + 2516 ; 1915 + 2517 ; 1777 + 2518 ; 2334 + 2519 ; 1795 + 2520 ; 1924 + 2521 ; 1744 + 2522 ; 2345 + 2523 ; 2162 + 2524 ; 1628 + 2525 ; 2184 + 2526 ; 2273 + 2527 ; 2222 + 2528 ; 1774 + 2529 ; 2046 + 2530 ; 2079 + 2531 ; 1959 + 2532 ; 1787 + 2533 ; 2210 + 2534 ; 2045 + 2535 ; 1651 + 2536 ; 1714 + 2537 ; 1769 + 2538 ; 1958 + 2539 ; 2253 + 2540 ; 1714 + 2541 ; 1863 + 2542 ; 1909 + 2543 ; 2052 + 2544 ; 1641 + 2545 ; 1668 + 2546 ; 1847 + 2547 ; 2307 + 2548 ; 1856 + 2549 ; 2303 + 2550 ; 2239 + 2551 ; 2284 + 2552 ; 1978 + 2553 ; 2288 + 2554 ; 2109 + 2555 ; 1975 + 2556 ; 1781 + 2557 ; 2062 + 2558 ; 1981 + 2559 ; 1737 + 2560 ; 2387 + 2561 ; 1776 + 2562 ; 2400 + 2563 ; 2218 + 2564 ; 2194 + 2565 ; 2306 + 2566 ; 2043 + 2567 ; 2385 + 2568 ; 2291 + 2569 ; 1885 + 2570 ; 2108 + 2571 ; 1925 + 2572 ; 2391 + 2573 ; 1678 + 2574 ; 2092 + 2575 ; 1766 + 2576 ; 1880 + 2577 ; 2221 + 2578 ; 2202 + 2579 ; 2251 + 2580 ; 2313 + 2581 ; 1916 + 2582 ; 2339 + 2583 ; 2118 + 2584 ; 2183 + 2585 ; 1918 + 2586 ; 2227 + 2587 ; 2294 + 2588 ; 1762 + 2589 ; 1993 + 2590 ; 2123 + 2591 ; 1673 + 2592 ; 2337 + 2593 ; 1978 + 2594 ; 1707 + 2595 ; 2293 + 2596 ; 2235 + 2597 ; 2406 + 2598 ; 1943 + 2599 ; 2082 + 2600 ; 2343 + 2601 ; 2242 + 2602 ; 2136 + 2603 ; 1711 + 2604 ; 2372 + 2605 ; 1878 + 2606 ; 2165 + 2607 ; 1752 + 2608 ; 1805 + 2609 ; 2297 + 2610 ; 1970 + 2611 ; 1755 + 2612 ; 1642 + 2613 ; 2376 + 2614 ; 1976 + 2615 ; 2342 + 2616 ; 2389 + 2617 ; 1776 + 2618 ; 2196 + 2619 ; 1756 + 2620 ; 2348 + 2621 ; 1969 + 2622 ; 1632 + 2623 ; 1802 + 2624 ; 1933 + 2625 ; 1974 + 2626 ; 2266 + 2627 ; 2278 + 2628 ; 1831 + 2629 ; 1760 + 2630 ; 1976 + 2631 ; 1994 + 2632 ; 2377 + 2633 ; 2033 + 2634 ; 2240 + 2635 ; 2315 + 2636 ; 1920 + 2637 ; 1779 + 2638 ; 2048 + 2639 ; 2295 + 2640 ; 1628 + 2641 ; 2268 + 2642 ; 2034 + 2643 ; 1815 + 2644 ; 2086 + 2645 ; 2247 + 2646 ; 2224 + 2647 ; 1815 + 2648 ; 1743 + 2649 ; 2297 + 2650 ; 1878 + 2651 ; 2305 + 2652 ; 2211 + 2653 ; 2160 + 2654 ; 1946 + 2655 ; 2173 + 2656 ; 1660 + 2657 ; 1717 + 2658 ; 1687 + 2659 ; 1862 + 2660 ; 1813 + 2661 ; 1848 + 2662 ; 1700 + 2663 ; 2097 + 2664 ; 2067 + 2665 ; 2233 + 2666 ; 2016 + 2667 ; 2207 + 2668 ; 1809 + 2669 ; 2043 + 2670 ; 2069 + 2671 ; 1807 + 2672 ; 1940 + 2673 ; 1849 + 2674 ; 2212 + 2675 ; 1982 + 2676 ; 2038 + 2677 ; 1650 + 2678 ; 2232 + 2679 ; 1886 + 2680 ; 2126 + 2681 ; 2231 + 2682 ; 1869 + 2683 ; 1654 + 2684 ; 2390 + 2685 ; 1620 + 2686 ; 1912 + 2687 ; 2018 + 2688 ; 2041 + 2689 ; 2380 + 2690 ; 2212 + 2691 ; 2359 + 2692 ; 2344 + 2693 ; 2385 + 2694 ; 1839 + 2695 ; 1738 + 2696 ; 2175 + 2697 ; 1841 + 2698 ; 1615 + 2699 ; 1687 + 2700 ; 1826 + 2701 ; 2402 + 2702 ; 1845 + 2703 ; 1803 + 2704 ; 1876 + 2705 ; 2146 + 2706 ; 2166 + 2707 ; 1806 + 2708 ; 2361 + 2709 ; 1794 + 2710 ; 2171 + 2711 ; 2327 + 2712 ; 1832 + 2713 ; 2139 + 2714 ; 1846 + 2715 ; 2042 + 2716 ; 2331 + 2717 ; 1884 + 2718 ; 1936 + 2719 ; 2080 + 2720 ; 2165 + 2721 ; 2412 + 2722 ; 1991 + 2723 ; 2190 + 2724 ; 1958 + 2725 ; 1849 + 2726 ; 2188 + 2727 ; 1709 + 2728 ; 1713 + 2729 ; 1847 + 2730 ; 2256 + 2731 ; 1735 + 2732 ; 1875 + 2733 ; 1784 + 2734 ; 1880 + 2735 ; 2306 + 2736 ; 1735 + 2737 ; 1826 + 2738 ; 2120 + 2739 ; 1973 + 2740 ; 2096 + 2741 ; 1672 + 2742 ; 2205 + 2743 ; 1628 + 2744 ; 2050 + 2745 ; 2351 + 2746 ; 1971 + 2747 ; 1736 + 2748 ; 1806 + 2749 ; 2191 + 2750 ; 2295 + 2751 ; 2269 + 2752 ; 2095 + 2753 ; 2390 + 2754 ; 2368 + 2755 ; 2215 + 2756 ; 1782 + 2757 ; 2350 + 2758 ; 2084 + 2759 ; 2220 + 2760 ; 1765 + 2761 ; 2078 + 2762 ; 2260 + 2763 ; 1808 + 2764 ; 1664 + 2765 ; 1949 + 2766 ; 1624 + 2767 ; 1773 + 2768 ; 1888 + 2769 ; 2370 + 2770 ; 2271 + 2771 ; 1841 + 2772 ; 2033 + 2773 ; 2060 + 2774 ; 1907 + 2775 ; 1802 + 2776 ; 1985 + 2777 ; 2276 + 2778 ; 2316 + 2779 ; 1908 + 2780 ; 2244 + 2781 ; 2270 + 2782 ; 1892 + 2783 ; 2287 + 2784 ; 2037 + 2785 ; 2200 + 2786 ; 1628 + 2787 ; 1951 + 2788 ; 2253 + 2789 ; 1888 + 2790 ; 2076 + 2791 ; 1705 + 2792 ; 2055 + 2793 ; 1819 + 2794 ; 2033 + 2795 ; 2386 + 2796 ; 2015 + 2797 ; 2169 + 2798 ; 2138 + 2799 ; 1927 + 2800 ; 2375 + 2801 ; 1914 + 2802 ; 2121 + 2803 ; 2244 + 2804 ; 1840 + 2805 ; 2162 + 2806 ; 2102 + 2807 ; 1635 + 2808 ; 1748 + 2809 ; 1713 + 2810 ; 1833 + 2811 ; 1925 + 2812 ; 2226 + 2813 ; 1624 + 2814 ; 2212 + 2815 ; 2273 + 2816 ; 1660 + 2817 ; 2306 + 2818 ; 1779 + 2819 ; 2078 + 2820 ; 1837 + 2821 ; 1779 + 2822 ; 2296 + 2823 ; 2056 + 2824 ; 1625 + 2825 ; 2086 + 2826 ; 1973 + 2827 ; 1751 + 2828 ; 2054 + 2829 ; 1642 + 2830 ; 1957 + 2831 ; 1841 + 2832 ; 2064 + 2833 ; 1856 + 2834 ; 1889 + 2835 ; 2084 + 2836 ; 2072 + 2837 ; 2119 + 2838 ; 2234 + 2839 ; 1742 + 2840 ; 2146 + 2841 ; 2365 + 2842 ; 1836 + 2843 ; 1769 + 2844 ; 2302 + 2845 ; 1970 + 2846 ; 2099 + 2847 ; 2239 + 2848 ; 2200 + 2849 ; 1704 + 2850 ; 2174 + 2851 ; 1771 + 2852 ; 2083 + 2853 ; 2386 + 2854 ; 1824 + 2855 ; 1656 + 2856 ; 1727 + 2857 ; 1951 + 2858 ; 1960 + 2859 ; 2230 + 2860 ; 1704 + 2861 ; 1803 + 2862 ; 2049 + 2863 ; 1644 + 2864 ; 1807 + 2865 ; 2121 + 2866 ; 1966 + 2867 ; 1805 + 2868 ; 1884 + 2869 ; 2385 + 2870 ; 1692 + 2871 ; 2309 + 2872 ; 1644 + 2873 ; 1737 + 2874 ; 2100 + 2875 ; 2057 + 2876 ; 1666 + 2877 ; 1725 + 2878 ; 1863 + 2879 ; 2031 + 2880 ; 2027 + 2881 ; 1972 + 2882 ; 2075 + 2883 ; 2364 + 2884 ; 2373 + 2885 ; 1675 + 2886 ; 1688 + 2887 ; 1720 + 2888 ; 1664 + 2889 ; 2240 + 2890 ; 1713 + 2891 ; 1928 + 2892 ; 2334 + 2893 ; 2266 + 2894 ; 2053 + 2895 ; 1813 + 2896 ; 1858 + 2897 ; 2286 + 2898 ; 2118 + 2899 ; 2055 + 2900 ; 2319 + 2901 ; 2109 + 2902 ; 1836 + 2903 ; 2083 + 2904 ; 2117 + 2905 ; 2398 + 2906 ; 1655 + 2907 ; 1761 + 2908 ; 2400 + 2909 ; 1989 + 2910 ; 1849 + 2911 ; 2067 + 2912 ; 2237 + 2913 ; 1974 + 2914 ; 2368 + 2915 ; 2105 + 2916 ; 1667 + 2917 ; 1657 + 2918 ; 1706 + 2919 ; 2113 + 2920 ; 1945 + 2921 ; 1783 + 2922 ; 1968 + 2923 ; 2246 + 2924 ; 2227 + 2925 ; 1945 + 2926 ; 2326 + 2927 ; 2254 + 2928 ; 1744 + 2929 ; 1945 + 2930 ; 1918 + 2931 ; 2353 + 2932 ; 1855 + 2933 ; 1807 + 2934 ; 1800 + 2935 ; 2261 + 2936 ; 2014 + 2937 ; 1966 + 2938 ; 2008 + 2939 ; 2336 + 2940 ; 1833 + 2941 ; 2176 + 2942 ; 1959 + 2943 ; 2021 + 2944 ; 1696 + 2945 ; 1776 + 2946 ; 1811 + 2947 ; 2187 + 2948 ; 2274 + 2949 ; 2006 + 2950 ; 1985 + 2951 ; 2345 + 2952 ; 1640 + 2953 ; 1797 + 2954 ; 2034 + 2955 ; 1753 + 2956 ; 2310 + 2957 ; 1709 + 2958 ; 2340 + 2959 ; 2372 + 2960 ; 2155 + 2961 ; 1715 + 2962 ; 1942 + 2963 ; 1978 + 2964 ; 1688 + 2965 ; 1786 + 2966 ; 1955 + 2967 ; 1805 + 2968 ; 2015 + 2969 ; 1649 + 2970 ; 2355 + 2971 ; 2047 + 2972 ; 2223 + 2973 ; 1624 + 2974 ; 1672 + 2975 ; 1910 + 2976 ; 1654 + 2977 ; 1743 + 2978 ; 1969 + 2979 ; 1614 + 2980 ; 1937 + 2981 ; 1797 + 2982 ; 1714 + 2983 ; 2095 + 2984 ; 1767 + 2985 ; 1974 + 2986 ; 1836 + 2987 ; 1735 + 2988 ; 1813 + 2989 ; 2100 + 2990 ; 1882 + 2991 ; 2231 + 2992 ; 2049 + 2993 ; 2396 + 2994 ; 2333 + 2995 ; 1894 + 2996 ; 2169 + 2997 ; 2373 + 2998 ; 2237 + 2999 ; 2072 + 3000 ; 1997 + 3001 ; 2246 + 3002 ; 2412 + 3003 ; 2406 + 3004 ; 1824 + 3005 ; 1883 + 3006 ; 2263 + 3007 ; 2404 + 3008 ; 1640 + 3009 ; 1940 + 3010 ; 2130 + 3011 ; 1784 + 3012 ; 1687 + 3013 ; 2074 + 3014 ; 2346 + 3015 ; 2332 + 3016 ; 1817 + 3017 ; 2266 + 3018 ; 1781 + 3019 ; 2367 + 3020 ; 1846 + 3021 ; 1861 + 3022 ; 1752 + 3023 ; 2013 + 3024 ; 1651 + 3025 ; 1677 + 3026 ; 1916 + 3027 ; 1801 + 3028 ; 1956 + 3029 ; 2353 + 3030 ; 2139 + 3031 ; 1753 + 3032 ; 2314 + 3033 ; 2262 + 3034 ; 1837 + 3035 ; 2025 + 3036 ; 1904 + 3037 ; 1731 + 3038 ; 2397 + 3039 ; 2223 + 3040 ; 2228 + 3041 ; 2265 + 3042 ; 1629 + 3043 ; 1901 + 3044 ; 1717 + 3045 ; 1953 + 3046 ; 1624 + 3047 ; 1785 + 3048 ; 2263 + 3049 ; 1664 + 3050 ; 2047 + 3051 ; 2148 + 3052 ; 2057 + 3053 ; 1751 + 3054 ; 1901 + 3055 ; 2133 + 3056 ; 1875 + 3057 ; 2168 + 3058 ; 2332 + 3059 ; 2300 + 3060 ; 1724 + 3061 ; 2059 + 3062 ; 1871 + 3063 ; 2002 + 3064 ; 2133 + 3065 ; 2080 + 3066 ; 2088 + 3067 ; 1747 + 3068 ; 1722 + 3069 ; 1725 + 3070 ; 1722 + 3071 ; 1827 + 3072 ; 2128 + 3073 ; 2195 + 3074 ; 2075 + 3075 ; 1962 + 3076 ; 1715 + 3077 ; 1908 + 3078 ; 1714 + 3079 ; 1665 + 3080 ; 1964 + 3081 ; 2109 + 3082 ; 1959 + 3083 ; 1867 + 3084 ; 1857 + 3085 ; 2331 + 3086 ; 2164 + 3087 ; 1822 + 3088 ; 1841 + 3089 ; 2212 + 3090 ; 2315 + 3091 ; 2277 + 3092 ; 1737 + 3093 ; 1789 + 3094 ; 2169 + 3095 ; 1855 + 3096 ; 2249 + 3097 ; 2412 + 3098 ; 2394 + 3099 ; 1873 + 3100 ; 2081 + 3101 ; 2058 + 3102 ; 1879 + 3103 ; 1850 + 3104 ; 2114 + 3105 ; 2281 + 3106 ; 2176 + 3107 ; 1921 + 3108 ; 2176 + 3109 ; 1973 + 3110 ; 2109 + 3111 ; 2335 + 3112 ; 1791 + 3113 ; 1826 + 3114 ; 1661 + 3115 ; 2204 + 3116 ; 2185 + 3117 ; 1854 + 3118 ; 2220 + 3119 ; 1658 + 3120 ; 2316 + 3121 ; 2087 + 3122 ; 1749 + 3123 ; 1951 + 3124 ; 1923 + 3125 ; 2340 + 3126 ; 2178 + 3127 ; 2026 + 3128 ; 1739 + 3129 ; 2089 + 3130 ; 1977 + 3131 ; 1666 + 3132 ; 2378 + 3133 ; 1897 + 3134 ; 2074 + 3135 ; 1652 + 3136 ; 2085 + 3137 ; 2401 + 3138 ; 2192 + 3139 ; 2349 + 3140 ; 2149 + 3141 ; 2022 + 3142 ; 2063 + 3143 ; 2395 + 3144 ; 2347 + 3145 ; 2230 + 3146 ; 1964 + 3147 ; 2139 + 3148 ; 2284 + 3149 ; 1774 + 3150 ; 2322 + 3151 ; 1755 + 3152 ; 2074 + 3153 ; 1644 + 3154 ; 2046 + 3155 ; 2157 + 3156 ; 1785 + 3157 ; 1837 + 3158 ; 2190 + 3159 ; 1756 + 3160 ; 1867 + 3161 ; 2250 + 3162 ; 1830 + 3163 ; 1640 + 3164 ; 2137 + 3165 ; 2172 + 3166 ; 1968 + 3167 ; 2023 + 3168 ; 1940 + 3169 ; 2400 + 3170 ; 2085 + 3171 ; 2224 + 3172 ; 1842 + 3173 ; 2049 + 3174 ; 1941 + 3175 ; 1981 + 3176 ; 1767 + 3177 ; 2324 + 3178 ; 1951 + 3179 ; 2075 + 3180 ; 1976 + 3181 ; 1660 + 3182 ; 1829 + 3183 ; 2392 + 3184 ; 1714 + 3185 ; 1873 + 3186 ; 2053 + 3187 ; 2045 + 3188 ; 2095 + 3189 ; 1871 + 3190 ; 1721 + 3191 ; 1806 + 3192 ; 1942 + 3193 ; 1843 + 3194 ; 1873 + 3195 ; 2076 + 3196 ; 2188 + 3197 ; 2114 + 3198 ; 1897 + 3199 ; 2389 + 3200 ; 2062 + 3201 ; 1947 + 3202 ; 1759 + 3203 ; 2094 + 3204 ; 2141 + 3205 ; 1915 + 3206 ; 1969 + 3207 ; 2229 + 3208 ; 2087 + 3209 ; 1807 + 3210 ; 1678 + 3211 ; 2327 + 3212 ; 1782 + 3213 ; 1741 + 3214 ; 2152 + 3215 ; 1705 + 3216 ; 2133 + 3217 ; 1625 + 3218 ; 1708 + 3219 ; 2393 + 3220 ; 2047 + 3221 ; 1730 + 3222 ; 2121 + 3223 ; 1884 + 3224 ; 2223 + 3225 ; 1613 + 3226 ; 1840 + 3227 ; 2197 + 3228 ; 1808 + 3229 ; 1876 + 3230 ; 2401 + 3231 ; 2058 + 3232 ; 1669 + 3233 ; 2295 + 3234 ; 1695 + 3235 ; 1771 + 3236 ; 1612 + 3237 ; 2073 + 3238 ; 1950 + 3239 ; 1937 + 3240 ; 1744 + 3241 ; 2322 + 3242 ; 1859 + 3243 ; 2227 + 3244 ; 2286 + 3245 ; 2106 + 3246 ; 1969 + 3247 ; 1722 + 3248 ; 2180 + 3249 ; 1636 + 3250 ; 1828 + 3251 ; 2218 + 3252 ; 2139 + 3253 ; 1954 + 3254 ; 2203 + 3255 ; 2119 + 3256 ; 2246 + 3257 ; 1630 + 3258 ; 2038 + 3259 ; 2128 + 3260 ; 1834 + 3261 ; 1917 + 3262 ; 1774 + 3263 ; 1805 + 3264 ; 1911 + 3265 ; 1688 + 3266 ; 1735 + 3267 ; 1928 + 3268 ; 1888 + 3269 ; 2095 + 3270 ; 2232 + 3271 ; 1879 + 3272 ; 1853 + 3273 ; 1990 + 3274 ; 2365 + 3275 ; 2292 + 3276 ; 1717 + 3277 ; 1792 + 3278 ; 1905 + 3279 ; 2410 + 3280 ; 2098 + 3281 ; 2103 + 3282 ; 2037 + 3283 ; 1852 + 3284 ; 1777 + 3285 ; 1917 + 3286 ; 2027 + 3287 ; 1756 + 3288 ; 1697 + 3289 ; 1838 + 3290 ; 1725 + 3291 ; 1850 + 3292 ; 2005 + 3293 ; 2023 + 3294 ; 1721 + 3295 ; 2233 + 3296 ; 1975 + 3297 ; 1809 + 3298 ; 2061 + 3299 ; 2329 + 3300 ; 1837 + 3301 ; 1828 + 3302 ; 1754 + 3303 ; 2340 + 3304 ; 2191 + 3305 ; 1724 + 3306 ; 1799 + 3307 ; 1989 + 3308 ; 2061 + 3309 ; 2349 + 3310 ; 2153 + 3311 ; 1641 + 3312 ; 1788 + 3313 ; 1995 + 3314 ; 2155 + 3315 ; 1770 + 3316 ; 2224 + 3317 ; 1696 + 3318 ; 2327 + 3319 ; 1669 + 3320 ; 1743 + 3321 ; 1771 + 3322 ; 2191 + 3323 ; 1854 + 3324 ; 1968 + 3325 ; 1753 + 3326 ; 2234 + 3327 ; 1950 + 3328 ; 2185 + 3329 ; 1618 + 3330 ; 2031 + 3331 ; 1869 + 3332 ; 2054 + 3333 ; 2287 + 3334 ; 2092 + 3335 ; 2110 + 3336 ; 1644 + 3337 ; 1830 + 3338 ; 1666 + 3339 ; 1974 + 3340 ; 1728 + 3341 ; 2397 + 3342 ; 2408 + 3343 ; 1974 + 3344 ; 2386 + 3345 ; 1786 + 3346 ; 2112 + 3347 ; 2056 + 3348 ; 2294 + 3349 ; 1803 + 3350 ; 2025 + 3351 ; 1929 + 3352 ; 1818 + 3353 ; 2019 + 3354 ; 1840 + 3355 ; 1658 + 3356 ; 2108 + 3357 ; 2343 + 3358 ; 2100 + 3359 ; 2090 + 3360 ; 1851 + 3361 ; 2140 + 3362 ; 1916 + 3363 ; 1929 + 3364 ; 2170 + 3365 ; 2175 + 3366 ; 2233 + 3367 ; 1984 + 3368 ; 1713 + 3369 ; 2268 + 3370 ; 1752 + 3371 ; 1997 + 3372 ; 2390 + 3373 ; 2075 + 3374 ; 1982 + 3375 ; 1979 + 3376 ; 1956 + 3377 ; 1941 + 3378 ; 2035 + 3379 ; 2324 + 3380 ; 1993 + 3381 ; 2204 + 3382 ; 1867 + 3383 ; 2318 + 3384 ; 1704 + 3385 ; 2367 + 3386 ; 2037 + 3387 ; 2106 + 3388 ; 2106 + 3389 ; 2075 + 3390 ; 1817 + 3391 ; 2201 + 3392 ; 1759 + 3393 ; 2101 + 3394 ; 1998 + 3395 ; 2272 + 3396 ; 1978 + 3397 ; 2233 + 3398 ; 1816 + 3399 ; 1667 + 3400 ; 1916 + 3401 ; 1955 + 3402 ; 1931 + 3403 ; 2031 + 3404 ; 1992 + 3405 ; 2362 + 3406 ; 1772 + 3407 ; 1781 + 3408 ; 1944 + 3409 ; 2404 + 3410 ; 1926 + 3411 ; 2206 + 3412 ; 1864 + 3413 ; 2326 + 3414 ; 2243 + 3415 ; 1631 + 3416 ; 2064 + 3417 ; 2081 + 3418 ; 1745 + 3419 ; 2209 + 3420 ; 2390 + 3421 ; 1644 + 3422 ; 1626 + 3423 ; 2268 + 3424 ; 2035 + 3425 ; 1744 + 3426 ; 2024 + 3427 ; 2080 + 3428 ; 1972 + 3429 ; 1930 + 3430 ; 2250 + 3431 ; 1791 + 3432 ; 2375 + 3433 ; 2382 + 3434 ; 2391 + 3435 ; 1729 + 3436 ; 1911 + 3437 ; 1892 + 3438 ; 1875 + 3439 ; 1962 + 3440 ; 2152 + 3441 ; 1973 + 3442 ; 1822 + 3443 ; 2096 + 3444 ; 2045 + 3445 ; 2164 + 3446 ; 1998 + 3447 ; 1967 + 3448 ; 2349 + 3449 ; 1835 + 3450 ; 1786 + 3451 ; 1664 + 3452 ; 2328 + 3453 ; 2238 + 3454 ; 1617 + 3455 ; 2343 + 3456 ; 1914 + 3457 ; 2178 + 3458 ; 2210 + 3459 ; 2007 + 3460 ; 2186 + 3461 ; 1760 + 3462 ; 1871 + 3463 ; 1805 + 3464 ; 1737 + 3465 ; 2395 + 3466 ; 1888 + 3467 ; 1862 + 3468 ; 2239 + 3469 ; 2221 + 3470 ; 1991 + 3471 ; 1939 + 3472 ; 1977 + 3473 ; 2378 + 3474 ; 2123 + 3475 ; 2090 + 3476 ; 2399 + 3477 ; 1992 + 3478 ; 1639 + 3479 ; 1818 + 3480 ; 2122 + 3481 ; 2054 + 3482 ; 1853 + 3483 ; 2277 + 3484 ; 1640 + 3485 ; 1815 + 3486 ; 1756 + 3487 ; 1721 + 3488 ; 1768 + 3489 ; 2156 + 3490 ; 1839 + 3491 ; 2058 + 3492 ; 2193 + 3493 ; 1910 + 3494 ; 1808 + 3495 ; 1938 + 3496 ; 1736 + 3497 ; 1814 + 3498 ; 2400 + 3499 ; 2248 + 3500 ; 1636 + 3501 ; 1974 + 3502 ; 2260 + 3503 ; 2025 + 3504 ; 1794 + 3505 ; 2335 + 3506 ; 1619 + 3507 ; 2035 + 3508 ; 1666 + 3509 ; 1997 + 3510 ; 2058 + 3511 ; 1851 + 3512 ; 1855 + 3513 ; 1730 + 3514 ; 2219 + 3515 ; 1914 + 3516 ; 1619 + 3517 ; 2141 + 3518 ; 2082 + 3519 ; 1895 + 3520 ; 2018 + 3521 ; 2089 + 3522 ; 2277 + 3523 ; 2401 + 3524 ; 2128 + 3525 ; 2202 + 3526 ; 1679 + 3527 ; 1888 + 3528 ; 2331 + 3529 ; 2007 + 3530 ; 2262 + 3531 ; 2307 + 3532 ; 2077 + 3533 ; 2078 + 3534 ; 1884 + 3535 ; 2032 + 3536 ; 2146 + 3537 ; 1874 + 3538 ; 1809 + 3539 ; 1919 + 3540 ; 2212 + 3541 ; 1721 + 3542 ; 1899 + 3543 ; 2367 + 3544 ; 2288 + 3545 ; 2180 + 3546 ; 2030 + 3547 ; 2040 + 3548 ; 2221 + 3549 ; 2239 + 3550 ; 2302 + 3551 ; 1975 + 3552 ; 1801 + 3553 ; 2192 + 3554 ; 1843 + 3555 ; 1848 + 3556 ; 2246 + 3557 ; 1729 + 3558 ; 1815 + 3559 ; 2081 + 3560 ; 1935 + 3561 ; 1833 + 3562 ; 2196 + 3563 ; 2019 + 3564 ; 1870 + 3565 ; 1849 + 3566 ; 1935 + 3567 ; 2049 + 3568 ; 2282 + 3569 ; 1862 + 3570 ; 2251 + 3571 ; 2134 + 3572 ; 2313 + 3573 ; 1919 + 3574 ; 1640 + 3575 ; 1824 + 3576 ; 1785 + 3577 ; 2150 + 3578 ; 2010 + 3579 ; 2220 + 3580 ; 2354 + 3581 ; 1724 + 3582 ; 1912 + 3583 ; 2167 + 3584 ; 2076 + 3585 ; 2177 + 3586 ; 1781 + 3587 ; 1917 + 3588 ; 2057 + 3589 ; 2162 + 3590 ; 2167 + 3591 ; 2033 + 3592 ; 1657 + 3593 ; 2386 + 3594 ; 2362 + 3595 ; 2212 + 3596 ; 2372 + 3597 ; 1792 + 3598 ; 2098 + 3599 ; 2274 + 3600 ; 2036 + 3601 ; 2378 + 3602 ; 1851 + 3603 ; 2361 + 3604 ; 2385 + 3605 ; 2408 + 3606 ; 1728 + 3607 ; 2036 + 3608 ; 2292 + 3609 ; 2275 + 3610 ; 1953 + 3611 ; 2056 + 3612 ; 2289 + 3613 ; 1755 + 3614 ; 2083 + 3615 ; 1770 + 3616 ; 2199 + 3617 ; 1779 + 3618 ; 1636 + 3619 ; 1740 + 3620 ; 1807 + 3621 ; 2389 + 3622 ; 2008 + 3623 ; 2371 + 3624 ; 2095 + 3625 ; 1744 + 3626 ; 2004 + 3627 ; 2193 + 3628 ; 2369 + 3629 ; 2409 + 3630 ; 2022 + 3631 ; 1988 + 3632 ; 2301 + 3633 ; 1629 + 3634 ; 1859 + 3635 ; 1946 + 3636 ; 2179 + 3637 ; 2372 + 3638 ; 2012 + 3639 ; 1681 + 3640 ; 2291 + 3641 ; 1780 + 3642 ; 1815 + 3643 ; 1754 + 3644 ; 1842 + 3645 ; 2224 + 3646 ; 1954 + 3647 ; 2217 + 3648 ; 2088 + 3649 ; 2214 + 3650 ; 2315 + 3651 ; 2194 + 3652 ; 2108 + 3653 ; 1628 + 3654 ; 1678 + 3655 ; 2244 + 3656 ; 2283 + 3657 ; 1894 + 3658 ; 1840 + 3659 ; 2231 + 3660 ; 2197 + 3661 ; 1709 + 3662 ; 2177 + 3663 ; 2226 + 3664 ; 2028 + 3665 ; 2233 + 3666 ; 2057 + 3667 ; 1794 + 3668 ; 1618 + 3669 ; 2358 + 3670 ; 1771 + 3671 ; 1764 + 3672 ; 1733 + 3673 ; 1998 + 3674 ; 1923 + 3675 ; 2085 + 3676 ; 2237 + 3677 ; 1727 + 3678 ; 1711 + 3679 ; 2185 + 3680 ; 1709 + 3681 ; 2332 + 3682 ; 2342 + 3683 ; 1682 + 3684 ; 1806 + 3685 ; 2232 + 3686 ; 1774 + 3687 ; 2096 + 3688 ; 1754 + 3689 ; 1742 + 3690 ; 1974 + 3691 ; 2142 + 3692 ; 1705 + 3693 ; 1931 + 3694 ; 1781 + 3695 ; 2128 + 3696 ; 2006 + 3697 ; 1724 + 3698 ; 2105 + 3699 ; 2021 + 3700 ; 2097 + 3701 ; 1619 + 3702 ; 1751 + 3703 ; 2265 + 3704 ; 2401 + 3705 ; 2268 + 3706 ; 1735 + 3707 ; 1913 + 3708 ; 1648 + 3709 ; 2048 + 3710 ; 2226 + 3711 ; 1807 + 3712 ; 2376 + 3713 ; 2261 + 3714 ; 1789 + 3715 ; 2375 + 3716 ; 2359 + 3717 ; 2408 + 3718 ; 2095 + 3719 ; 1899 + 3720 ; 2342 + 3721 ; 2152 + 3722 ; 2009 + 3723 ; 2206 + 3724 ; 2152 + 3725 ; 2084 + 3726 ; 2368 + 3727 ; 2163 + 3728 ; 1872 + 3729 ; 1732 + 3730 ; 1805 + 3731 ; 1626 + 3732 ; 2037 + 3733 ; 1751 + 3734 ; 1886 + 3735 ; 1668 + 3736 ; 2196 + 3737 ; 2252 + 3738 ; 2406 + 3739 ; 2243 + 3740 ; 2247 + 3741 ; 1707 + 3742 ; 2326 + 3743 ; 2191 + 3744 ; 2283 + 3745 ; 1805 + 3746 ; 2277 + 3747 ; 2033 + 3748 ; 1951 + 3749 ; 1955 + 3750 ; 2093 + 3751 ; 2315 + 3752 ; 2137 + 3753 ; 1963 + 3754 ; 2231 + 3755 ; 2216 + 3756 ; 1963 + 3757 ; 2190 + 3758 ; 1823 + 3759 ; 2282 + 3760 ; 1983 + 3761 ; 1622 + 3762 ; 2244 + 3763 ; 1901 + 3764 ; 1801 + 3765 ; 2293 + 3766 ; 1656 + 3767 ; 1893 + 3768 ; 2300 + 3769 ; 2097 + 3770 ; 1897 + 3771 ; 1690 + 3772 ; 1789 + 3773 ; 1908 + 3774 ; 1923 + 3775 ; 2185 + 3776 ; 1907 + 3777 ; 2028 + 3778 ; 2330 + 3779 ; 1784 + 3780 ; 1820 + 3781 ; 1625 + 3782 ; 1905 + 3783 ; 1707 + 3784 ; 2005 + 3785 ; 2044 + 3786 ; 1749 + 3787 ; 1634 + 3788 ; 1767 + 3789 ; 1913 + 3790 ; 2256 + 3791 ; 2088 + 3792 ; 2389 + 3793 ; 2252 + 3794 ; 2291 + 3795 ; 2349 + 3796 ; 1983 + 3797 ; 1629 + 3798 ; 1750 + 3799 ; 2369 + 3800 ; 2374 + 3801 ; 2294 + 3802 ; 1771 + 3803 ; 1847 + 3804 ; 2071 + 3805 ; 1769 + 3806 ; 2143 + 3807 ; 2095 + 3808 ; 2269 + 3809 ; 2203 + 3810 ; 1809 + 3811 ; 2386 + 3812 ; 1793 + 3813 ; 1711 + 3814 ; 2087 + 3815 ; 2207 + 3816 ; 2160 + 3817 ; 1947 + 3818 ; 1731 + 3819 ; 1879 + 3820 ; 1990 + 3821 ; 2001 + 3822 ; 2125 + 3823 ; 2097 + 3824 ; 2011 + 3825 ; 2045 + 3826 ; 1727 + 3827 ; 2287 + 3828 ; 2377 + 3829 ; 2082 + 3830 ; 2088 + 3831 ; 2304 + 3832 ; 1838 + 3833 ; 1664 + 3834 ; 1882 + 3835 ; 1774 + 3836 ; 1879 + 3837 ; 2386 + 3838 ; 2153 + 3839 ; 1809 + 3840 ; 1787 + 3841 ; 1688 + 3842 ; 2270 + 3843 ; 1672 + 3844 ; 2201 + 3845 ; 1872 + 3846 ; 2363 + 3847 ; 2127 + 3848 ; 1991 + 3849 ; 1932 + 3850 ; 2116 + 3851 ; 1939 + 3852 ; 2405 + 3853 ; 2328 + 3854 ; 2227 + 3855 ; 1850 + 3856 ; 2273 + 3857 ; 2383 + 3858 ; 1936 + 3859 ; 1652 + 3860 ; 1845 + 3861 ; 1897 + 3862 ; 2188 + 3863 ; 2040 + 3864 ; 2397 + 3865 ; 2183 + 3866 ; 2137 + 3867 ; 1671 + 3868 ; 1909 + 3869 ; 1677 + 3870 ; 2358 + 3871 ; 1894 + 3872 ; 2219 + 3873 ; 1758 + 3874 ; 1637 + 3875 ; 1749 + 3876 ; 2326 + 3877 ; 2394 + 3878 ; 2125 + 3879 ; 1842 + 3880 ; 1642 + 3881 ; 2394 + 3882 ; 1794 + 3883 ; 2364 + 3884 ; 2060 + 3885 ; 2087 + 3886 ; 1911 + 3887 ; 2218 + 3888 ; 2279 + 3889 ; 2316 + 3890 ; 2286 + 3891 ; 2220 + 3892 ; 1627 + 3893 ; 2248 + 3894 ; 1874 + 3895 ; 2088 + 3896 ; 2344 + 3897 ; 2068 + 3898 ; 1876 + 3899 ; 1858 + 3900 ; 1711 + 3901 ; 1689 + 3902 ; 2121 + 3903 ; 2315 + 3904 ; 1794 + 3905 ; 2238 + 3906 ; 2191 + 3907 ; 2142 + 3908 ; 2217 + 3909 ; 2046 + 3910 ; 1759 + 3911 ; 1927 + 3912 ; 1725 + 3913 ; 1684 + 3914 ; 2178 + 3915 ; 1869 + 3916 ; 2086 + 3917 ; 2344 + 3918 ; 2321 + 3919 ; 1986 + 3920 ; 1636 + 3921 ; 2257 + 3922 ; 1978 + 3923 ; 2072 + 3924 ; 2083 + 3925 ; 1995 + 3926 ; 2035 + 3927 ; 2379 + 3928 ; 1961 + 3929 ; 1849 + 3930 ; 1714 + 3931 ; 2389 + 3932 ; 1761 + 3933 ; 2198 + 3934 ; 1640 + 3935 ; 2179 + 3936 ; 2046 + 3937 ; 2021 + 3938 ; 2329 + 3939 ; 2262 + 3940 ; 1626 + 3941 ; 2280 + 3942 ; 1654 + 3943 ; 1944 + 3944 ; 1685 + 3945 ; 2288 + 3946 ; 2180 + 3947 ; 2152 + 3948 ; 1891 + 3949 ; 1776 + 3950 ; 1811 + 3951 ; 2120 + 3952 ; 1664 + 3953 ; 1998 + 3954 ; 2366 + 3955 ; 1949 + 3956 ; 2103 + 3957 ; 1806 + 3958 ; 1844 + 3959 ; 2068 + 3960 ; 2194 + 3961 ; 2183 + 3962 ; 1749 + 3963 ; 2258 + 3964 ; 1630 + 3965 ; 2242 + 3966 ; 2328 + 3967 ; 1890 + 3968 ; 2158 + 3969 ; 1764 + 3970 ; 2016 + 3971 ; 1971 + 3972 ; 2388 + 3973 ; 1841 + 3974 ; 2030 + 3975 ; 2155 + 3976 ; 2052 + 3977 ; 2288 + 3978 ; 2064 + 3979 ; 2000 + 3980 ; 1934 + 3981 ; 2041 + 3982 ; 1630 + 3983 ; 2031 + 3984 ; 2404 + 3985 ; 1833 + 3986 ; 2047 + 3987 ; 2369 + 3988 ; 1628 + 3989 ; 1721 + 3990 ; 1677 + 3991 ; 1723 + 3992 ; 2072 + 3993 ; 2291 + 3994 ; 1740 + 3995 ; 2159 + 3996 ; 2286 + 3997 ; 2265 + 3998 ; 1846 + 3999 ; 2039 + 4000 ; 1768 + Last second: 74373 + Proof time target: 2000 + Average proposal time: 18 + Average proof time: 2013 + +logCount,time,lastVerifiedBlockId,numBlocks,blockFee,accProposedAt + !----------------------------- + 1;1;0;1;100000000;0 + 2;12;0;1;100000000;0 + 3;20;0;2;100000000;20 + 4;24;0;2;100000000;20 + 5;36;0;2;100000000;20 + 6;43;0;3;100000000;63 + 7;48;0;3;100000000;63 + 8;57;0;4;100000000;120 + 9;60;0;4;100000000;120 + 10;69;0;5;100000000;189 + 11;72;0;5;100000000;189 + 12;84;0;5;100000000;189 + 13;92;0;6;100000000;281 + 14;96;0;6;100000000;281 + 15;104;0;7;100000000;385 + 16;108;0;7;100000000;385 + 17;120;0;7;100000000;385 + 18;126;0;8;100000000;511 + 19;132;0;8;100000000;511 + 20;143;0;9;100000000;654 + 21;144;0;9;100000000;654 + 22;156;0;9;100000000;654 + 23;156;0;10;100000000;810 + 24;168;0;10;100000000;810 + 25;176;0;11;100000000;986 + 26;180;0;11;100000000;986 + 27;192;0;11;100000000;986 + 28;199;0;12;100000000;1185 + 29;204;0;12;100000000;1185 + 30;215;0;13;100000000;1400 + 31;216;0;13;100000000;1400 + 32;228;0;13;100000000;1400 + 33;234;0;14;100000000;1634 + 34;240;0;14;100000000;1634 + 35;250;0;15;100000000;1884 + 36;252;0;15;100000000;1884 + 37;264;0;15;100000000;1884 + 38;269;0;16;100000000;2153 + 39;276;0;16;100000000;2153 + 40;283;0;17;100000000;2436 + 41;288;0;17;100000000;2436 + 42;296;0;18;100000000;2732 + 43;300;0;18;100000000;2732 + 44;312;0;18;100000000;2732 + 45;315;0;19;100000000;3047 + 46;324;0;19;100000000;3047 + 47;331;0;20;100000000;3378 + 48;336;0;20;100000000;3378 + 49;348;0;20;100000000;3378 + 50;354;0;21;100000000;3732 + 51;360;0;21;100000000;3732 + 52;372;0;21;100000000;3732 + 53;376;0;22;100000000;4108 + 54;384;0;22;100000000;4108 + 55;391;0;23;100000000;4499 + 56;396;0;23;100000000;4499 + 57;408;0;23;100000000;4499 + 58;413;0;24;100000000;4912 + 59;420;0;24;100000000;4912 + 60;429;0;25;100000000;5341 + 61;432;0;25;100000000;5341 + 62;444;0;25;100000000;5341 + 63;452;0;26;100000000;5793 + 64;456;0;26;100000000;5793 + 65;468;0;26;100000000;5793 + 66;470;0;27;100000000;6263 + 67;480;0;27;100000000;6263 + 68;492;0;27;100000000;6263 + 69;494;0;28;100000000;6757 + 70;504;0;28;100000000;6757 + 71;509;0;29;100000000;7266 + 72;516;0;29;100000000;7266 + 73;528;0;29;100000000;7266 + 74;533;0;30;100000000;7799 + 75;540;0;30;100000000;7799 + 76;552;0;30;100000000;7799 + 77;555;0;31;100000000;8354 + 78;564;0;31;100000000;8354 + 79;569;0;32;100000000;8923 + 80;576;0;32;100000000;8923 + 81;583;0;33;100000000;9506 + 82;588;0;33;100000000;9506 + 83;600;0;33;100000000;9506 + 84;600;0;34;100000000;10106 + 85;612;0;34;100000000;10106 + 86;622;0;35;100000000;10728 + 87;624;0;35;100000000;10728 + 88;636;0;35;100000000;10728 + 89;641;0;36;100000000;11369 + 90;648;0;36;100000000;11369 + 91;658;0;37;100000000;12027 + 92;660;0;37;100000000;12027 + 93;670;0;38;100000000;12697 + 94;672;0;38;100000000;12697 + 95;684;0;38;100000000;12697 + 96;688;0;39;100000000;13385 + 97;696;0;39;100000000;13385 + 98;708;0;39;100000000;13385 + 99;712;0;40;100000000;14097 + 100;720;0;40;100000000;14097 + 101;730;0;41;100000000;14827 + 102;732;0;41;100000000;14827 + 103;744;0;41;100000000;14827 + 104;746;0;42;100000000;15573 + 105;756;0;42;100000000;15573 + 106;768;0;42;100000000;15573 + 107;770;0;43;100000000;16343 + 108;780;0;43;100000000;16343 + 109;790;0;44;100000000;17133 + 110;792;0;44;100000000;17133 + 111;804;0;44;100000000;17133 + 112;811;0;45;100000000;17944 + 113;816;0;45;100000000;17944 + 114;826;0;46;100000000;18770 + 115;828;0;46;100000000;18770 + 116;840;0;46;100000000;18770 + 117;842;0;47;100000000;19612 + 118;852;0;47;100000000;19612 + 119;859;0;48;100000000;20471 + 120;864;0;48;100000000;20471 + 121;872;0;49;100000000;21343 + 122;876;0;49;100000000;21343 + 123;888;0;49;100000000;21343 + 124;893;0;50;100000000;22236 + 125;900;0;50;100000000;22236 + 126;912;0;50;100000000;22236 + 127;914;0;51;100000000;23150 + 128;924;0;51;100000000;23150 + 129;935;0;52;100000000;24085 + 130;936;0;52;100000000;24085 + 131;948;0;52;100000000;24085 + 132;959;0;53;100000000;25044 + 133;960;0;53;100000000;25044 + 134;972;0;53;100000000;25044 + 135;972;0;54;100000000;26016 + 136;984;0;54;100000000;26016 + 137;986;0;55;100000000;27002 + 138;996;0;55;100000000;27002 + 139;1007;0;56;100000000;28009 + 140;1008;0;56;100000000;28009 + 141;1020;0;56;100000000;28009 + 142;1031;0;57;100000000;29040 + 143;1032;0;57;100000000;29040 + 144;1044;0;57;100000000;29040 + 145;1055;0;58;100000000;30095 + 146;1056;0;58;100000000;30095 + 147;1068;0;58;100000000;30095 + 148;1069;0;59;100000000;31164 + 149;1080;0;59;100000000;31164 + 150;1081;0;60;100000000;32245 + 151;1092;0;60;100000000;32245 + 152;1104;0;60;100000000;32245 + 153;1104;0;61;100000000;33349 + 154;1116;0;61;100000000;33349 + 155;1117;0;62;100000000;34466 + 156;1128;0;62;100000000;34466 + 157;1140;0;62;100000000;34466 + 158;1141;0;63;100000000;35607 + 159;1152;0;63;100000000;35607 + 160;1158;0;64;100000000;36765 + 161;1164;0;64;100000000;36765 + 162;1176;0;64;100000000;36765 + 163;1181;0;65;100000000;37946 + 164;1188;0;65;100000000;37946 + 165;1199;0;66;100000000;39145 + 166;1200;0;66;100000000;39145 + 167;1212;0;66;100000000;39145 + 168;1212;0;67;100000000;40357 + 169;1224;0;67;100000000;40357 + 170;1226;0;68;100000000;41583 + 171;1236;0;68;100000000;41583 + 172;1243;0;69;100000000;42826 + 173;1248;0;69;100000000;42826 + 174;1257;0;70;100000000;44083 + 175;1260;0;70;100000000;44083 + 176;1272;0;70;100000000;44083 + 177;1276;0;71;100000000;45359 + 178;1284;0;71;100000000;45359 + 179;1293;0;72;100000000;46652 + 180;1296;0;72;100000000;46652 + 181;1306;0;73;100000000;47958 + 182;1308;0;73;100000000;47958 + 183;1320;0;73;100000000;47958 + 184;1320;0;74;100000000;49278 + 185;1332;0;74;100000000;49278 + 186;1333;0;75;100000000;50611 + 187;1344;0;75;100000000;50611 + 188;1349;0;76;100000000;51960 + 189;1356;0;76;100000000;51960 + 190;1368;0;76;100000000;51960 + 191;1373;0;77;100000000;53333 + 192;1380;0;77;100000000;53333 + 193;1387;0;78;100000000;54720 + 194;1392;0;78;100000000;54720 + 195;1404;0;78;100000000;54720 + 196;1404;0;79;100000000;56124 + 197;1416;0;79;100000000;56124 + 198;1427;0;80;100000000;57551 + 199;1428;0;80;100000000;57551 + 200;1440;0;80;100000000;57551 + 201;1449;0;81;100000000;59000 + 202;1452;0;81;100000000;59000 + 203;1464;0;81;100000000;59000 + 204;1465;0;82;100000000;60465 + 205;1476;0;82;100000000;60465 + 206;1477;0;83;100000000;61942 + 207;1488;0;83;100000000;61942 + 208;1495;0;84;100000000;63437 + 209;1500;0;84;100000000;63437 + 210;1512;0;84;100000000;63437 + 211;1513;0;85;100000000;64950 + 212;1524;0;85;100000000;64950 + 213;1528;0;86;100000000;66478 + 214;1536;0;86;100000000;66478 + 215;1548;0;86;100000000;66478 + 216;1549;0;87;100000000;68027 + 217;1560;0;87;100000000;68027 + 218;1566;0;88;100000000;69593 + 219;1572;0;88;100000000;69593 + 220;1583;0;89;100000000;71176 + 221;1584;0;89;100000000;71176 + 222;1596;0;89;100000000;71176 + 223;1605;0;90;100000000;72781 + 224;1608;0;90;100000000;72781 + 225;1620;0;90;100000000;72781 + 226;1620;0;91;100000000;74401 + 227;1632;0;91;100000000;74401 + 228;1638;0;92;100000000;76039 + 229;1644;0;92;100000000;76039 + 230;1656;0;92;100000000;76039 + 231;1658;0;93;100000000;77697 + 232;1668;0;93;100000000;77697 + 233;1673;0;94;100000000;79370 + 234;1680;0;94;100000000;79370 + 235;1687;0;95;100000000;81057 + 236;1692;0;95;100000000;81057 + 237;1699;0;96;100000000;82756 + 238;1704;0;96;100000000;82756 + 239;1716;0;96;100000000;82756 + 240;1722;0;97;100000000;84478 + 241;1728;0;97;100000000;84478 + 242;1734;0;98;100000000;86212 + 243;1740;0;98;100000000;86212 + 244;1752;0;98;100000000;86212 + 245;1753;0;99;100000000;87965 + 246;1764;0;99;100000000;87965 + 247;1768;0;100;100000000;89733 + 248;1776;0;100;100000000;89733 + 249;1787;0;101;100000000;91520 + 250;1788;0;101;100000000;91520 + 251;1800;0;101;100000000;91520 + 252;1803;1;102;99105581;93303 + 253;1812;1;102;99105581;93303 + 254;1816;1;103;99105581;95119 + 255;1824;1;103;99105581;95119 + 256;1833;1;104;99105581;96952 + 257;1836;1;104;99105581;96952 + 258;1848;1;104;99105581;96952 + 259;1850;1;105;99105581;98802 + 260;1860;1;105;99105581;98802 + 261;1871;1;106;99105581;100673 + 262;1872;1;106;99105581;100673 + 263;1884;1;106;99105581;100673 + 264;1889;1;107;99105581;102562 + 265;1896;1;107;99105581;102562 + 266;1901;1;108;99105581;104463 + 267;1908;1;108;99105581;104463 + 268;1920;1;108;99105581;104463 + 269;1922;1;109;99105581;106385 + 270;1932;1;109;99105581;106385 + 271;1937;1;110;99105581;108322 + 272;1944;1;110;99105581;108322 + 273;1956;1;110;99105581;108322 + 274;1957;1;111;99105581;110279 + 275;1968;1;111;99105581;110279 + 276;1972;1;112;99105581;112251 + 277;1980;1;112;99105581;112251 + 278;1984;1;113;99105581;114235 + 279;1992;1;113;99105581;114235 + 280;2004;1;113;99105581;114235 + 281;2005;1;114;99105581;116240 + 282;2016;1;114;99105581;116240 + 283;2023;1;115;99105581;118263 + 284;2028;1;115;99105581;118263 + 285;2039;1;116;99105581;120302 + 286;2040;1;116;99105581;120302 + 287;2052;1;116;99105581;120302 + 288;2061;1;117;99105581;122363 + 289;2064;1;117;99105581;122363 + 290;2076;1;117;99105581;122363 + 291;2081;1;118;99105581;124444 + 292;2088;1;118;99105581;124444 + 293;2100;1;118;99105581;124444 + 294;2105;1;119;99105581;126549 + 295;2112;1;119;99105581;126549 + 296;2118;1;120;99105581;128667 + 297;2124;1;120;99105581;128667 + 298;2135;1;121;99105581;130802 + 299;2136;1;121;99105581;130802 + 300;2148;1;121;99105581;130802 + 301;2148;1;122;99105581;132950 + 302;2160;1;122;99105581;132950 + 303;2163;1;123;99105581;135113 + 304;2172;1;123;99105581;135113 + 305;2179;1;124;99105581;137292 + 306;2184;1;124;99105581;137292 + 307;2196;1;124;99105581;137292 + 308;2196;1;125;99105581;139488 + 309;2208;1;125;99105581;139488 + 310;2211;1;126;99105581;141699 + 311;2220;1;126;99105581;141699 + 312;2232;1;126;99105581;141699 + 313;2232;1;127;99105581;143931 + 314;2244;1;127;99105581;143931 + 315;2245;1;128;99105581;146176 + 316;2256;1;128;99105581;146176 + 317;2260;1;129;99105581;148436 + 318;2268;1;129;99105581;148436 + 319;2280;1;129;99105581;148436 + 320;2282;1;130;99105581;150718 + 321;2292;1;130;99105581;150718 + 322;2298;1;131;99105581;153016 + 323;2304;1;131;99105581;153016 + 324;2316;1;131;99105581;153016 + 325;2322;1;132;99105581;155338 + 326;2328;1;132;99105581;155338 + 327;2334;1;133;99105581;157672 + 328;2340;1;133;99105581;157672 + 329;2352;1;133;99105581;157672 + 330;2358;1;134;99105581;160030 + 331;2364;1;134;99105581;160030 + 332;2375;1;135;99105581;162405 + 333;2376;1;135;99105581;162405 + 334;2388;1;135;99105581;162405 + 335;2388;1;136;99105581;164793 + 336;2400;1;136;99105581;164793 + 337;2407;1;137;99105581;167200 + 338;2412;1;137;99105581;167200 + 339;2419;1;138;99105581;169619 + 340;2424;1;138;99105581;169619 + 341;2436;1;138;99105581;169619 + 342;2436;1;139;99105581;172055 + 343;2448;1;139;99105581;172055 + 344;2460;1;139;99105581;172055 + 345;2460;1;140;99105581;174515 + 346;2472;1;140;99105581;174515 + 347;2480;1;141;99105581;176995 + 348;2484;1;141;99105581;176995 + 349;2493;16;142;96122484;177072 + 350;2496;16;142;96122484;177072 + 351;2508;16;142;96122484;177072 + 352;2514;16;143;96122484;179586 + 353;2520;16;143;96122484;179586 + 354;2532;16;143;96122484;179586 + 355;2538;16;144;96122484;182124 + 356;2544;16;144;96122484;182124 + 357;2554;16;145;96122484;184678 + 358;2556;16;145;96122484;184678 + 359;2568;16;145;96122484;184678 + 360;2575;16;146;96122484;187253 + 361;2580;16;146;96122484;187253 + 362;2592;16;146;96122484;187253 + 363;2598;16;147;96122484;189851 + 364;2604;16;147;96122484;189851 + 365;2616;16;147;96122484;189851 + 366;2617;16;148;96122484;192468 + 367;2628;16;148;96122484;192468 + 368;2630;16;149;96122484;195098 + 369;2640;16;149;96122484;195098 + 370;2644;16;150;96122484;197742 + 371;2652;16;150;96122484;197742 + 372;2661;16;151;96122484;200403 + 373;2664;16;151;96122484;200403 + 374;2676;16;151;96122484;200403 + 375;2677;16;152;96122484;203080 + 376;2688;22;152;95425134;201017 + 377;2700;22;152;95425134;201017 + 378;2700;22;153;95425134;203717 + 379;2712;22;153;95425134;203717 + 380;2724;22;153;95425134;203717 + 381;2724;23;154;96170557;206028 + 382;2736;23;154;96170557;206028 + 383;2741;23;155;96170557;208769 + 384;2748;23;155;96170557;208769 + 385;2753;23;156;96170557;211522 + 386;2760;23;156;96170557;211522 + 387;2772;23;156;96170557;211522 + 388;2775;23;157;96170557;214297 + 389;2784;23;157;96170557;214297 + 390;2790;24;158;97061229;216658 + 391;2796;24;158;97061229;216658 + 392;2808;24;158;97061229;216658 + 393;2810;24;159;97061229;219468 + 394;2820;24;159;97061229;219468 + 395;2826;32;160;95897461;218129 + 396;2832;32;160;95897461;218129 + 397;2839;32;161;95897461;220968 + 398;2844;32;161;95897461;220968 + 399;2856;32;161;95897461;220968 + 400;2856;32;162;95897461;223824 + 401;2868;32;162;95897461;223824 + 402;2876;32;163;95897461;226700 + 403;2880;32;163;95897461;226700 + 404;2889;42;164;92836697;222752 + 405;2892;42;164;92836697;222752 + 406;2904;42;164;92836697;222752 + 407;2910;42;165;92836697;225662 + 408;2916;42;165;92836697;225662 + 409;2928;42;165;92836697;225662 + 410;2933;42;166;92836697;228595 + 411;2940;42;166;92836697;228595 + 412;2952;42;166;92836697;228595 + 413;2954;42;167;92836697;231549 + 414;2964;42;167;92836697;231549 + 415;2976;42;167;92836697;231549 + 416;2978;42;168;92836697;234527 + 417;2988;42;168;92836697;234527 + 418;2994;42;169;92836697;237521 + 419;3000;42;169;92836697;237521 + 420;3008;42;170;92836697;240529 + 421;3012;42;170;92836697;240529 + 422;3024;42;170;92836697;240529 + 423;3028;42;171;92836697;243557 + 424;3036;42;171;92836697;243557 + 425;3048;42;171;92836697;243557 + 426;3049;42;172;92836697;246606 + 427;3060;42;172;92836697;246606 + 428;3066;42;173;92836697;249672 + 429;3072;42;173;92836697;249672 + 430;3084;42;173;92836697;249672 + 431;3088;44;174;93237920;251159 + 432;3096;44;174;93237920;251159 + 433;3108;44;174;93237920;251159 + 434;3110;44;175;93237920;254269 + 435;3120;44;175;93237920;254269 + 436;3124;44;176;93237920;257393 + 437;3132;44;176;93237920;257393 + 438;3138;44;177;93237920;260531 + 439;3144;44;177;93237920;260531 + 440;3150;46;178;92897641;262013 + 441;3156;46;178;92897641;262013 + 442;3165;46;179;92897641;265178 + 443;3168;46;179;92897641;265178 + 444;3178;48;180;93769721;266625 + 445;3180;48;180;93769721;266625 + 446;3192;48;180;93769721;266625 + 447;3196;48;181;93769721;269821 + 448;3204;48;181;93769721;269821 + 449;3212;48;182;93769721;273033 + 450;3216;48;182;93769721;273033 + 451;3227;53;183;92645419;271587 + 452;3228;53;183;92645419;271587 + 453;3240;53;183;92645419;271587 + 454;3242;53;184;92645419;274829 + 455;3252;53;184;92645419;274829 + 456;3255;53;185;92645419;278084 + 457;3264;53;185;92645419;278084 + 458;3272;53;186;92645419;281356 + 459;3276;53;186;92645419;281356 + 460;3288;53;186;92645419;281356 + 461;3294;53;187;92645419;284650 + 462;3300;53;187;92645419;284650 + 463;3312;53;187;92645419;284650 + 464;3312;53;188;92645419;287962 + 465;3324;53;188;92645419;287962 + 466;3334;53;189;92645419;291296 + 467;3336;53;189;92645419;291296 + 468;3348;53;189;92645419;291296 + 469;3353;53;190;92645419;294649 + 470;3360;53;190;92645419;294649 + 471;3368;53;191;92645419;298017 + 472;3372;53;191;92645419;298017 + 473;3382;53;192;92645419;301399 + 474;3384;53;192;92645419;301399 + 475;3396;53;192;92645419;301399 + 476;3404;53;193;92645419;304803 + 477;3408;53;193;92645419;304803 + 478;3420;53;193;92645419;304803 + 479;3426;53;194;92645419;308229 + 480;3432;53;194;92645419;308229 + 481;3444;53;194;92645419;308229 + 482;3444;54;195;93793167;310687 + 483;3456;54;195;93793167;310687 + 484;3457;54;196;93793167;314144 + 485;3468;54;196;93793167;314144 + 486;3480;58;196;95183895;309982 + 487;3481;58;197;95183895;313463 + 488;3492;58;197;95183895;313463 + 489;3503;58;198;95183895;316966 + 490;3504;58;198;95183895;316966 + 491;3516;58;198;95183895;316966 + 492;3517;58;199;95183895;320483 + 493;3528;58;199;95183895;320483 + 494;3540;58;199;95183895;320483 + 495;3540;58;200;95183895;324023 + 496;3552;58;200;95183895;324023 + 497;3553;60;201;97061229;325391 + 498;3564;60;201;97061229;325391 + 499;3576;60;201;97061229;325391 + 500;3577;60;202;97061229;328968 + 501;3588;68;202;95622152;319491 + 502;3589;68;203;95622152;323080 + 503;3600;68;203;95622152;323080 + 504;3605;68;204;95622152;326685 + 505;3612;68;204;95622152;326685 + 506;3624;68;204;95622152;326685 + 507;3627;68;205;95622152;330312 + 508;3636;68;205;95622152;330312 + 509;3648;68;205;95622152;330312 + 510;3650;68;206;95622152;333962 + 511;3660;68;206;95622152;333962 + 512;3662;68;207;95622152;337624 + 513;3672;68;207;95622152;337624 + 514;3682;76;208;97179594;330799 + 515;3684;76;208;97179594;330799 + 516;3696;76;208;97179594;330799 + 517;3698;76;209;97179594;334497 + 518;3708;76;209;97179594;334497 + 519;3720;76;209;97179594;334497 + 520;3720;76;210;97179594;338217 + 521;3732;76;210;97179594;338217 + 522;3743;76;211;97179594;341960 + 523;3744;76;211;97179594;341960 + 524;3756;76;211;97179594;341960 + 525;3759;76;212;97179594;345719 + 526;3768;76;212;97179594;345719 + 527;3778;76;213;97179594;349497 + 528;3780;76;213;97179594;349497 + 529;3790;76;214;97179594;353287 + 530;3792;76;214;97179594;353287 + 531;3804;76;214;97179594;353287 + 532;3806;79;215;99692655;352875 + 533;3816;79;215;99692655;352875 + 534;3818;79;216;99692655;356693 + 535;3828;79;216;99692655;356693 + 536;3839;79;217;99692655;360532 + 537;3840;79;217;99692655;360532 + 538;3852;79;217;99692655;360532 + 539;3857;79;218;99692655;364389 + 540;3864;79;218;99692655;364389 + 541;3875;88;219;99449950;354639 + 542;3876;88;219;99449950;354639 + 543;3888;88;219;99449950;354639 + 544;3892;88;220;99449950;358531 + 545;3900;88;220;99449950;358531 + 546;3907;88;221;99449950;362438 + 547;3912;88;221;99449950;362438 + 548;3924;88;221;99449950;362438 + 549;3929;88;222;99449950;366367 + 550;3936;88;222;99449950;366367 + 551;3943;88;223;99449950;370310 + 552;3948;88;223;99449950;370310 + 553;3960;88;223;99449950;370310 + 554;3962;88;224;99449950;374272 + 555;3972;88;224;99449950;374272 + 556;3974;88;225;99449950;378246 + 557;3984;88;225;99449950;378246 + 558;3996;88;225;99449950;378246 + 559;3996;88;226;99449950;382242 + 560;4008;88;226;99449950;382242 + 561;4012;88;227;99449950;386254 + 562;4020;88;227;99449950;386254 + 563;4028;88;228;99449950;390282 + 564;4032;88;228;99449950;390282 + 565;4043;98;229;98947757;377536 + 566;4044;98;229;98947757;377536 + 567;4056;98;229;98947757;377536 + 568;4056;102;230;99589900;374418 + 569;4068;102;230;99589900;374418 + 570;4080;102;230;99589900;374418 + 571;4080;102;231;99589900;378498 + 572;4092;102;231;99589900;378498 + 573;4097;102;232;99589900;382595 + 574;4104;102;232;99589900;382595 + 575;4116;102;232;99589900;382595 + 576;4116;102;233;99589900;386711 + 577;4128;102;233;99589900;386711 + 578;4136;102;234;99589900;390847 + 579;4140;102;234;99589900;390847 + 580;4152;102;234;99589900;390847 + 581;4160;102;235;99589900;395007 + 582;4164;102;235;99589900;395007 + 583;4176;102;235;99589900;395007 + 584;4178;102;236;99589900;399185 + 585;4188;102;236;99589900;399185 + 586;4198;108;237;99223339;392117 + 587;4200;108;237;99223339;392117 + 588;4211;108;238;99223339;396328 + 589;4212;108;238;99223339;396328 + 590;4223;108;239;99223339;400551 + 591;4224;108;239;99223339;400551 + 592;4236;108;239;99223339;400551 + 593;4247;108;240;99223339;404798 + 594;4248;108;240;99223339;404798 + 595;4260;108;240;99223339;404798 + 596;4269;112;241;97602636;401217 + 597;4272;112;241;97602636;401217 + 598;4284;112;241;97602636;401217 + 599;4291;112;242;97602636;405508 + 600;4296;112;242;97602636;405508 + 601;4303;112;243;97602636;409811 + 602;4308;112;243;97602636;409811 + 603;4318;113;244;98377366;412124 + 604;4320;113;244;98377366;412124 + 605;4332;113;244;98377366;412124 + 606;4339;113;245;98377366;416463 + 607;4344;113;245;98377366;416463 + 608;4353;113;246;98377366;420816 + 609;4356;113;246;98377366;420816 + 610;4368;113;246;98377366;420816 + 611;4368;113;247;98377366;425184 + 612;4380;113;247;98377366;425184 + 613;4389;113;248;98377366;429573 + 614;4392;113;248;98377366;429573 + 615;4403;113;249;98377366;433976 + 616;4404;113;249;98377366;433976 + 617;4416;113;249;98377366;433976 + 618;4418;118;250;97981580;428085 + 619;4428;118;250;97981580;428085 + 620;4440;118;250;97981580;428085 + 621;4440;119;251;98771663;430407 + 622;4452;119;251;98771663;430407 + 623;4459;119;252;98771663;434866 + 624;4464;119;252;98771663;434866 + 625;4473;119;253;98771663;439339 + 626;4476;119;253;98771663;439339 + 627;4486;119;254;98771663;443825 + 628;4488;119;254;98771663;443825 + 629;4500;119;254;98771663;443825 + 630;4504;119;255;98771663;448329 + 631;4512;119;255;98771663;448329 + 632;4524;119;255;98771663;448329 + 633;4527;119;256;98771663;452856 + 634;4536;119;256;98771663;452856 + 635;4548;119;256;98771663;452856 + 636;4548;119;257;98771663;457404 + 637;4560;119;257;98771663;457404 + 638;4562;119;258;98771663;461966 + 639;4572;119;258;98771663;461966 + 640;4581;122;259;100042191;460101 + 641;4584;122;259;100042191;460101 + 642;4594;127;260;102517089;453632 + 643;4596;127;260;102517089;453632 + 644;4608;127;260;102517089;453632 + 645;4610;127;261;102517089;458242 + 646;4620;127;261;102517089;458242 + 647;4623;127;262;102517089;462865 + 648;4632;127;262;102517089;462865 + 649;4640;127;263;102517089;467505 + 650;4644;127;263;102517089;467505 + 651;4656;127;263;102517089;467505 + 652;4660;130;264;103059939;465325 + 653;4668;130;264;103059939;465325 + 654;4680;130;264;103059939;465325 + 655;4682;130;265;103059939;470007 + 656;4692;130;265;103059939;470007 + 657;4695;130;266;103059939;474702 + 658;4704;130;266;103059939;474702 + 659;4716;130;266;103059939;474702 + 660;4719;130;267;103059939;479421 + 661;4728;130;267;103059939;479421 + 662;4740;130;267;103059939;479421 + 663;4742;130;268;103059939;484163 + 664;4752;130;268;103059939;484163 + 665;4762;130;269;103059939;488925 + 666;4764;130;269;103059939;488925 + 667;4776;130;269;103059939;488925 + 668;4777;130;270;103059939;493702 + 669;4788;130;270;103059939;493702 + 670;4796;136;271;103651002;484314 + 671;4800;136;271;103651002;484314 + 672;4812;136;271;103651002;484314 + 673;4812;136;272;103651002;489126 + 674;4824;136;272;103651002;489126 + 675;4829;136;273;103651002;493955 + 676;4836;136;273;103651002;493955 + 677;4848;139;273;106062602;486640 + 678;4850;139;274;106062602;491490 + 679;4860;149;274;103809839;465847 + 680;4866;150;275;104014416;468052 + 681;4872;150;275;104014416;468052 + 682;4881;150;276;104014416;472933 + 683;4884;150;276;104014416;472933 + 684;4896;150;276;104014416;472933 + 685;4900;150;277;104014416;477833 + 686;4908;150;277;104014416;477833 + 687;4914;150;278;104014416;482747 + 688;4920;150;278;104014416;482747 + 689;4932;150;278;104014416;482747 + 690;4934;150;279;104014416;487681 + 691;4944;150;279;104014416;487681 + 692;4955;150;280;104014416;492636 + 693;4956;150;280;104014416;492636 + 694;4968;150;280;104014416;492636 + 695;4972;150;281;104014416;497608 + 696;4980;150;281;104014416;497608 + 697;4989;152;282;104499862;497220 + 698;4992;152;282;104499862;497220 + 699;5004;152;282;104499862;497220 + 700;5013;152;283;104499862;502233 + 701;5016;152;283;104499862;502233 + 702;5026;152;284;104499862;507259 + 703;5028;152;284;104499862;507259 + 704;5040;152;284;104499862;507259 + 705;5047;152;285;104499862;512306 + 706;5052;152;285;104499862;512306 + 707;5064;152;285;104499862;512306 + 708;5066;152;286;104499862;517372 + 709;5076;152;286;104499862;517372 + 710;5088;152;286;104499862;517372 + 711;5089;152;287;104499862;522461 + 712;5100;152;287;104499862;522461 + 713;5112;152;287;104499862;522461 + 714;5112;152;288;104499862;527573 + 715;5124;152;288;104499862;527573 + 716;5128;152;289;104499862;532701 + 717;5136;152;289;104499862;532701 + 718;5148;152;289;104499862;532701 + 719;5151;152;290;104499862;537852 + 720;5160;152;290;104499862;537852 + 721;5163;161;291;106650886;517901 + 722;5172;161;291;106650886;517901 + 723;5178;161;292;106650886;523079 + 724;5184;161;292;106650886;523079 + 725;5194;161;293;106650886;528273 + 726;5196;161;293;106650886;528273 + 727;5208;161;293;106650886;528273 + 728;5212;161;294;106650886;533485 + 729;5220;161;294;106650886;533485 + 730;5224;161;295;106650886;538709 + 731;5232;161;295;106650886;538709 + 732;5244;161;295;106650886;538709 + 733;5245;161;296;106650886;543954 + 734;5256;161;296;106650886;543954 + 735;5262;161;297;106650886;549216 + 736;5268;161;297;106650886;549216 + 737;5280;161;297;106650886;549216 + 738;5285;164;298;107601626;545826 + 739;5292;164;298;107601626;545826 + 740;5302;170;299;107497437;533233 + 741;5304;170;299;107497437;533233 + 742;5314;170;300;107497437;538547 + 743;5316;170;300;107497437;538547 + 744;5328;170;300;107497437;538547 + 745;5331;170;301;107497437;543878 + 746;5340;170;301;107497437;543878 + 747;5348;170;302;107497437;549226 + 748;5352;170;302;107497437;549226 + 749;5364;170;302;107497437;549226 + 750;5366;170;303;107497437;554592 + 751;5376;170;303;107497437;554592 + 752;5381;170;304;107497437;559973 + 753;5388;170;304;107497437;559973 + 754;5400;170;304;107497437;559973 + 755;5404;170;305;107497437;565377 + 756;5412;170;305;107497437;565377 + 757;5424;170;305;107497437;565377 + 758;5428;170;306;107497437;570805 + 759;5436;170;306;107497437;570805 + 760;5448;176;306;107222327;552230 + 761;5450;184;307;105953281;532055 + 762;5460;184;307;105953281;532055 + 763;5470;184;308;105953281;537525 + 764;5472;184;308;105953281;537525 + 765;5484;184;308;105953281;537525 + 766;5485;184;309;105953281;543010 + 767;5496;184;309;105953281;543010 + 768;5504;184;310;105953281;548514 + 769;5508;184;310;105953281;548514 + 770;5520;184;310;105953281;548514 + 771;5520;184;311;105953281;554034 + 772;5532;184;311;105953281;554034 + 773;5544;184;311;105953281;554034 + 774;5544;184;312;105953281;559578 + 775;5556;184;312;105953281;559578 + 776;5565;190;313;103670438;545210 + 777;5568;190;313;103670438;545210 + 778;5580;190;313;103670438;545210 + 779;5589;197;314;99502797;526702 + 780;5592;197;314;99502797;526702 + 781;5604;197;314;99502797;526702 + 782;5612;197;315;99502797;532314 + 783;5616;197;315;99502797;532314 + 784;5628;197;315;99502797;532314 + 785;5635;197;316;99502797;537949 + 786;5640;197;316;99502797;537949 + 787;5647;197;317;99502797;543596 + 788;5652;197;317;99502797;543596 + 789;5664;197;317;99502797;543596 + 790;5665;197;318;99502797;549261 + 791;5676;197;318;99502797;549261 + 792;5685;197;319;99502797;554946 + 793;5688;197;319;99502797;554946 + 794;5700;197;319;99502797;554946 + 795;5705;198;320;99879754;557134 + 796;5712;198;320;99879754;557134 + 797;5724;198;320;99879754;557134 + 798;5725;198;321;99879754;562859 + 799;5736;198;321;99879754;562859 + 800;5748;198;321;99879754;562859 + 801;5748;198;322;99879754;568607 + 802;5760;198;322;99879754;568607 + 803;5765;198;323;99879754;574372 + 804;5772;198;323;99879754;574372 + 805;5784;198;323;99879754;574372 + 806;5784;198;324;99879754;580156 + 807;5796;198;324;99879754;580156 + 808;5796;198;325;99879754;585952 + 809;5808;198;325;99879754;585952 + 810;5820;198;325;99879754;585952 + 811;5820;198;326;99879754;591772 + 812;5832;198;326;99879754;591772 + 813;5836;198;327;99879754;597608 + 814;5844;198;327;99879754;597608 + 815;5849;198;328;99879754;603457 + 816;5856;198;328;99879754;603457 + 817;5866;208;329;95151181;573140 + 818;5868;208;329;95151181;573140 + 819;5878;208;330;95151181;579018 + 820;5880;208;330;95151181;579018 + 821;5892;208;330;95151181;579018 + 822;5902;208;331;95151181;584920 + 823;5904;208;331;95151181;584920 + 824;5914;208;332;95151181;590834 + 825;5916;208;332;95151181;590834 + 826;5928;208;332;95151181;590834 + 827;5937;208;333;95151181;596771 + 828;5940;208;333;95151181;596771 + 829;5952;208;333;95151181;596771 + 830;5956;208;334;95151181;602727 + 831;5964;208;334;95151181;602727 + 832;5974;208;335;95151181;608701 + 833;5976;208;335;95151181;608701 + 834;5986;208;336;95151181;614687 + 835;5988;208;336;95151181;614687 + 836;5998;208;337;95151181;620685 + 837;6000;208;337;95151181;620685 + 838;6012;208;337;95151181;620685 + 839;6020;208;338;95151181;626705 + 840;6024;208;338;95151181;626705 + 841;6036;208;338;95151181;626705 + 842;6036;208;339;95151181;632741 + 843;6048;208;339;95151181;632741 + 844;6048;208;340;95151181;638789 + 845;6060;208;340;95151181;638789 + 846;6071;211;341;94398908;633638 + 847;6072;211;341;94398908;633638 + 848;6084;211;341;94398908;633638 + 849;6089;211;342;94398908;639727 + 850;6096;211;342;94398908;639727 + 851;6102;212;343;95174972;642051 + 852;6108;212;343;95174972;642051 + 853;6120;212;343;95174972;642051 + 854;6123;212;344;95174972;648174 + 855;6132;212;344;95174972;648174 + 856;6142;212;345;95174972;654316 + 857;6144;212;345;95174972;654316 + 858;6156;212;345;95174972;654316 + 859;6159;212;346;95174972;660475 + 860;6168;212;346;95174972;660475 + 861;6172;212;347;95174972;666647 + 862;6180;212;347;95174972;666647 + 863;6192;212;347;95174972;666647 + 864;6195;212;348;95174972;672842 + 865;6204;212;348;95174972;672842 + 866;6216;212;348;95174972;672842 + 867;6216;212;349;95174972;679058 + 868;6228;212;349;95174972;679058 + 869;6230;212;350;95174972;685288 + 870;6240;212;350;95174972;685288 + 871;6252;212;350;95174972;685288 + 872;6253;215;351;97669761;680127 + 873;6264;215;351;97669761;680127 + 874;6269;215;352;97669761;686396 + 875;6276;215;352;97669761;686396 + 876;6283;215;353;97669761;692679 + 877;6288;215;353;97669761;692679 + 878;6299;225;354;97700288;659804 + 879;6300;225;354;97700288;659804 + 880;6312;225;354;97700288;659804 + 881;6312;225;355;97700288;666116 + 882;6324;225;355;97700288;666116 + 883;6329;225;356;97700288;672445 + 884;6336;225;356;97700288;672445 + 885;6348;225;356;97700288;672445 + 886;6353;233;357;96185585;646230 + 887;6360;233;357;96185585;646230 + 888;6365;233;358;96185585;652595 + 889;6372;233;358;96185585;652595 + 890;6384;233;358;96185585;652595 + 891;6385;233;359;96185585;658980 + 892;6396;233;359;96185585;658980 + 893;6397;233;360;96185585;665377 + 894;6408;233;360;96185585;665377 + 895;6411;233;361;96185585;671788 + 896;6420;233;361;96185585;671788 + 897;6428;233;362;96185585;678216 + 898;6432;233;362;96185585;678216 + 899;6444;238;362;96167552;657246 + 900;6444;238;363;96167552;663690 + 901;6456;238;363;96167552;663690 + 902;6456;238;364;96167552;670146 + 903;6468;238;364;96167552;670146 + 904;6477;238;365;96167552;676623 + 905;6480;238;365;96167552;676623 + 906;6492;238;365;96167552;676623 + 907;6497;238;366;96167552;683120 + 908;6504;238;366;96167552;683120 + 909;6515;238;367;96167552;689635 + 910;6516;238;367;96167552;689635 + 911;6528;238;367;96167552;689635 + 912;6538;240;368;96749315;687657 + 913;6540;240;368;96749315;687657 + 914;6552;240;368;96749315;687657 + 915;6560;240;369;96749315;694217 + 916;6564;240;369;96749315;694217 + 917;6576;240;369;96749315;694217 + 918;6582;245;370;95207694;679195 + 919;6588;245;370;95207694;679195 + 920;6600;245;370;95207694;679195 + 921;6604;245;371;95207694;685799 + 922;6612;245;371;95207694;685799 + 923;6624;245;371;95207694;685799 + 924;6628;245;372;95207694;692427 + 925;6636;245;372;95207694;692427 + 926;6648;245;372;95207694;692427 + 927;6648;245;373;95207694;699075 + 928;6660;245;373;95207694;699075 + 929;6662;245;374;95207694;705737 + 930;6672;245;374;95207694;705737 + 931;6678;245;375;95207694;712415 + 932;6684;245;375;95207694;712415 + 933;6696;245;375;95207694;712415 + 934;6700;245;376;95207694;719115 + 935;6708;245;376;95207694;719115 + 936;6720;245;376;95207694;719115 + 937;6720;245;377;95207694;725835 + 938;6732;245;377;95207694;725835 + 939;6742;245;378;95207694;732577 + 940;6744;245;378;95207694;732577 + 941;6756;245;378;95207694;732577 + 942;6756;245;379;95207694;739333 + 943;6768;245;379;95207694;739333 + 944;6774;245;380;95207694;746107 + 945;6780;245;380;95207694;746107 + 946;6792;245;380;95207694;746107 + 947;6797;245;381;95207694;752904 + 948;6804;245;381;95207694;752904 + 949;6816;245;381;95207694;752904 + 950;6817;245;382;95207694;759721 + 951;6828;245;382;95207694;759721 + 952;6834;245;383;95207694;766555 + 953;6840;245;383;95207694;766555 + 954;6848;255;384;96035413;728936 + 955;6852;255;384;96035413;728936 + 956;6860;260;385;93168018;712901 + 957;6864;260;385;93168018;712901 + 958;6872;260;386;93168018;719773 + 959;6876;260;386;93168018;719773 + 960;6888;260;386;93168018;719773 + 961;6896;260;387;93168018;726669 + 962;6900;260;387;93168018;726669 + 963;6912;260;387;93168018;726669 + 964;6918;260;388;93168018;733587 + 965;6924;260;388;93168018;733587 + 966;6931;260;389;93168018;740518 + 967;6936;260;389;93168018;740518 + 968;6948;260;389;93168018;740518 + 969;6952;260;390;93168018;747470 + 970;6960;260;390;93168018;747470 + 971;6968;260;391;93168018;754438 + 972;6972;260;391;93168018;754438 + 973;6984;260;391;93168018;754438 + 974;6990;260;392;93168018;761428 + 975;6996;260;392;93168018;761428 + 976;7008;260;392;93168018;761428 + 977;7014;260;393;93168018;768442 + 978;7020;260;393;93168018;768442 + 979;7030;260;394;93168018;775472 + 980;7032;260;394;93168018;775472 + 981;7043;260;395;93168018;782515 + 982;7044;260;395;93168018;782515 + 983;7055;260;396;93168018;789570 + 984;7056;260;396;93168018;789570 + 985;7068;260;396;93168018;789570 + 986;7074;266;397;93159284;768625 + 987;7080;266;397;93159284;768625 + 988;7092;266;397;93159284;768625 + 989;7097;266;398;93159284;775722 + 990;7104;266;398;93159284;775722 + 991;7116;266;398;93159284;775722 + 992;7119;266;399;93159284;782841 + 993;7128;266;399;93159284;782841 + 994;7139;271;400;93313707;766091 + 995;7140;271;400;93313707;766091 + 996;7152;271;400;93313707;766091 + 997;7155;271;401;93313707;773246 + 998;7164;271;401;93313707;773246 + 999;7172;271;402;93313707;780418 + 1000;7176;271;402;93313707;780418 + 1001;7188;271;402;93313707;780418 + 1002;7188;271;403;93313707;787606 + 1003;7200;271;403;93313707;787606 + 1004;7208;271;404;93313707;794814 + 1005;7212;271;404;93313707;794814 + 1006;7224;271;404;93313707;794814 + 1007;7225;271;405;93313707;802039 + 1008;7236;271;405;93313707;802039 + 1009;7237;275;406;94620415;789850 + 1010;7248;275;406;94620415;789850 + 1011;7256;275;407;94620415;797106 + 1012;7260;275;407;94620415;797106 + 1013;7272;275;407;94620415;797106 + 1014;7272;275;408;94620415;804378 + 1015;7284;275;408;94620415;804378 + 1016;7284;275;409;94620415;811662 + 1017;7296;275;409;94620415;811662 + 1018;7300;275;410;94620415;818962 + 1019;7308;275;410;94620415;818962 + 1020;7317;275;411;94620415;826279 + 1021;7320;275;411;94620415;826279 + 1022;7329;275;412;94620415;833608 + 1023;7332;275;412;94620415;833608 + 1024;7344;275;412;94620415;833608 + 1025;7347;285;413;96269784;791139 + 1026;7356;289;413;96619396;770659 + 1027;7361;289;414;96619396;778020 + 1028;7368;289;414;96619396;778020 + 1029;7376;289;415;96619396;785396 + 1030;7380;289;415;96619396;785396 + 1031;7390;289;416;96619396;792786 + 1032;7392;289;416;96619396;792786 + 1033;7404;289;416;96619396;792786 + 1034;7407;289;417;96619396;800193 + 1035;7416;289;417;96619396;800193 + 1036;7421;289;418;96619396;807614 + 1037;7428;289;418;96619396;807614 + 1038;7439;290;419;97225158;809890 + 1039;7440;290;419;97225158;809890 + 1040;7452;290;419;97225158;809890 + 1041;7456;290;420;97225158;817346 + 1042;7464;290;420;97225158;817346 + 1043;7473;290;421;97225158;824819 + 1044;7476;290;421;97225158;824819 + 1045;7488;290;421;97225158;824819 + 1046;7496;290;422;97225158;832315 + 1047;7500;290;422;97225158;832315 + 1048;7511;290;423;97225158;839826 + 1049;7512;290;423;97225158;839826 + 1050;7524;290;423;97225158;839826 + 1051;7535;290;424;97225158;847361 + 1052;7536;290;424;97225158;847361 + 1053;7548;290;424;97225158;847361 + 1054;7551;290;425;97225158;854912 + 1055;7560;290;425;97225158;854912 + 1056;7569;290;426;97225158;862481 + 1057;7572;290;426;97225158;862481 + 1058;7584;296;426;99161343;831166 + 1059;7593;296;427;99161343;838759 + 1060;7596;296;427;99161343;838759 + 1061;7608;296;427;99161343;838759 + 1062;7617;296;428;99161343;846376 + 1063;7620;296;428;99161343;846376 + 1064;7632;296;428;99161343;846376 + 1065;7641;298;429;99248148;843430 + 1066;7644;298;429;99248148;843430 + 1067;7653;302;430;98245260;829724 + 1068;7656;302;430;98245260;829724 + 1069;7668;302;430;98245260;829724 + 1070;7670;302;431;98245260;837394 + 1071;7680;302;431;98245260;837394 + 1072;7691;302;432;98245260;845085 + 1073;7692;302;432;98245260;845085 + 1074;7704;302;432;98245260;845085 + 1075;7704;302;433;98245260;852789 + 1076;7716;302;433;98245260;852789 + 1077;7718;302;434;98245260;860507 + 1078;7728;302;434;98245260;860507 + 1079;7740;302;434;98245260;860507 + 1080;7740;302;435;98245260;868247 + 1081;7752;302;435;98245260;868247 + 1082;7756;302;436;98245260;876003 + 1083;7764;302;436;98245260;876003 + 1084;7772;302;437;98245260;883775 + 1085;7776;302;437;98245260;883775 + 1086;7788;302;437;98245260;883775 + 1087;7793;302;438;98245260;891568 + 1088;7800;302;438;98245260;891568 + 1089;7812;302;438;98245260;891568 + 1090;7816;305;439;98953942;883171 + 1091;7824;305;439;98953942;883171 + 1092;7833;305;440;98953942;891004 + 1093;7836;305;440;98953942;891004 + 1094;7848;305;440;98953942;891004 + 1095;7852;315;441;96758386;843482 + 1096;7860;317;441;96191597;832170 + 1097;7870;317;442;96191597;840040 + 1098;7872;317;442;96191597;840040 + 1099;7884;317;442;96191597;840040 + 1100;7885;317;443;96191597;847925 + 1101;7896;317;443;96191597;847925 + 1102;7906;317;444;96191597;855831 + 1103;7908;317;444;96191597;855831 + 1104;7920;317;444;96191597;855831 + 1105;7928;317;445;96191597;863759 + 1106;7932;317;445;96191597;863759 + 1107;7944;317;445;96191597;863759 + 1108;7946;317;446;96191597;871705 + 1109;7956;317;446;96191597;871705 + 1110;7968;317;446;96191597;871705 + 1111;7969;317;447;96191597;879674 + 1112;7980;317;447;96191597;879674 + 1113;7991;317;448;96191597;887665 + 1114;7992;317;448;96191597;887665 + 1115;8004;317;448;96191597;887665 + 1116;8008;317;449;96191597;895673 + 1117;8016;317;449;96191597;895673 + 1118;8022;317;450;96191597;903695 + 1119;8028;317;450;96191597;903695 + 1120;8040;317;450;96191597;903695 + 1121;8040;317;451;96191597;911735 + 1122;8052;317;451;96191597;911735 + 1123;8057;317;452;96191597;919792 + 1124;8064;317;452;96191597;919792 + 1125;8073;317;453;96191597;927865 + 1126;8076;317;453;96191597;927865 + 1127;8088;317;453;96191597;927865 + 1128;8091;317;454;96191597;935956 + 1129;8100;317;454;96191597;935956 + 1130;8109;317;455;96191597;944065 + 1131;8112;317;455;96191597;944065 + 1132;8123;317;456;96191597;952188 + 1133;8124;317;456;96191597;952188 + 1134;8136;322;456;95523592;923560 + 1135;8147;322;457;95523592;931707 + 1136;8148;322;457;95523592;931707 + 1137;8160;322;457;95523592;931707 + 1138;8160;322;458;95523592;939867 + 1139;8172;322;458;95523592;939867 + 1140;8183;322;459;95523592;948050 + 1141;8184;322;459;95523592;948050 + 1142;8196;322;459;95523592;948050 + 1143;8200;322;460;95523592;956250 + 1144;8208;322;460;95523592;956250 + 1145;8213;322;461;95523592;964463 + 1146;8220;322;461;95523592;964463 + 1147;8225;322;462;95523592;972688 + 1148;8232;322;462;95523592;972688 + 1149;8244;323;462;96670738;966904 + 1150;8249;327;463;97331556;951852 + 1151;8256;327;463;97331556;951852 + 1152;8265;327;464;97331556;960117 + 1153;8268;327;464;97331556;960117 + 1154;8280;327;464;97331556;960117 + 1155;8284;329;465;98315899;956657 + 1156;8292;329;465;98315899;956657 + 1157;8302;329;466;98315899;964959 + 1158;8304;329;466;98315899;964959 + 1159;8316;329;466;98315899;964959 + 1160;8316;329;467;98315899;973275 + 1161;8328;329;467;98315899;973275 + 1162;8329;329;468;98315899;981604 + 1163;8340;329;468;98315899;981604 + 1164;8351;329;469;98315899;989955 + 1165;8352;329;469;98315899;989955 + 1166;8364;329;469;98315899;989955 + 1167;8365;331;470;100443161;986504 + 1168;8376;331;470;100443161;986504 + 1169;8383;339;471;98574317;946932 + 1170;8388;339;471;98574317;946932 + 1171;8400;339;471;98574317;946932 + 1172;8404;339;472;98574317;955336 + 1173;8412;339;472;98574317;955336 + 1174;8424;339;472;98574317;955336 + 1175;8424;339;473;98574317;963760 + 1176;8436;339;473;98574317;963760 + 1177;8440;339;474;98574317;972200 + 1178;8448;339;474;98574317;972200 + 1179;8460;339;474;98574317;972200 + 1180;8461;339;475;98574317;980661 + 1181;8472;339;475;98574317;980661 + 1182;8475;339;476;98574317;989136 + 1183;8484;339;476;98574317;989136 + 1184;8494;339;477;98574317;997630 + 1185;8496;339;477;98574317;997630 + 1186;8508;339;477;98574317;997630 + 1187;8517;339;478;98574317;1006147 + 1188;8520;339;478;98574317;1006147 + 1189;8532;339;478;98574317;1006147 + 1190;8535;339;479;98574317;1014682 + 1191;8544;339;479;98574317;1014682 + 1192;8547;354;480;100593939;930314 + 1193;8556;354;480;100593939;930314 + 1194;8568;354;480;100593939;930314 + 1195;8570;354;481;100593939;938884 + 1196;8580;354;481;100593939;938884 + 1197;8592;354;481;100593939;938884 + 1198;8593;354;482;100593939;947477 + 1199;8604;354;482;100593939;947477 + 1200;8611;354;483;100593939;956088 + 1201;8616;354;483;100593939;956088 + 1202;8627;354;484;100593939;964715 + 1203;8628;354;484;100593939;964715 + 1204;8640;354;484;100593939;964715 + 1205;8642;354;485;100593939;973357 + 1206;8652;354;485;100593939;973357 + 1207;8660;354;486;100593939;982017 + 1208;8664;354;486;100593939;982017 + 1209;8675;354;487;100593939;990692 + 1210;8676;354;487;100593939;990692 + 1211;8687;354;488;100593939;999379 + 1212;8688;354;488;100593939;999379 + 1213;8700;354;488;100593939;999379 + 1214;8710;354;489;100593939;1008089 + 1215;8712;354;489;100593939;1008089 + 1216;8724;354;489;100593939;1008089 + 1217;8724;354;490;100593939;1016813 + 1218;8736;354;490;100593939;1016813 + 1219;8746;354;491;100593939;1025559 + 1220;8748;354;491;100593939;1025559 + 1221;8759;355;492;101725652;1027989 + 1222;8760;355;492;101725652;1027989 + 1223;8772;355;492;101725652;1027989 + 1224;8775;363;493;99639708;985525 + 1225;8784;363;493;99639708;985525 + 1226;8796;363;493;99639708;985525 + 1227;8799;363;494;99639708;994324 + 1228;8808;363;494;99639708;994324 + 1229;8820;363;494;99639708;994324 + 1230;8820;363;495;99639708;1003144 + 1231;8832;363;495;99639708;1003144 + 1232;8836;363;496;99639708;1011980 + 1233;8844;369;496;98716120;972811 + 1234;8851;369;497;98716120;981662 + 1235;8856;369;497;98716120;981662 + 1236;8865;369;498;98716120;990527 + 1237;8868;369;498;98716120;990527 + 1238;8880;369;498;98716120;990527 + 1239;8888;369;499;98716120;999415 + 1240;8892;369;499;98716120;999415 + 1241;8901;369;500;98716120;1008316 + 1242;8904;369;500;98716120;1008316 + 1243;8916;369;500;98716120;1008316 + 1244;8919;369;501;98716120;1017235 + 1245;8928;369;501;98716120;1017235 + 1246;8940;369;501;98716120;1017235 + 1247;8941;369;502;98716120;1026176 + 1248;8952;369;502;98716120;1026176 + 1249;8956;369;503;98716120;1035132 + 1250;8964;369;503;98716120;1035132 + 1251;8969;369;504;98716120;1044101 + 1252;8976;369;504;98716120;1044101 + 1253;8988;369;504;98716120;1044101 + 1254;8992;369;505;98716120;1053093 + 1255;9000;369;505;98716120;1053093 + 1256;9012;369;505;98716120;1053093 + 1257;9016;369;506;98716120;1062109 + 1258;9024;369;506;98716120;1062109 + 1259;9029;369;507;98716120;1071138 + 1260;9036;369;507;98716120;1071138 + 1261;9048;369;507;98716120;1071138 + 1262;9049;369;508;98716120;1080187 + 1263;9060;369;508;98716120;1080187 + 1264;9068;377;509;98984870;1035873 + 1265;9072;377;509;98984870;1035873 + 1266;9084;377;509;98984870;1035873 + 1267;9089;377;510;98984870;1044962 + 1268;9096;377;510;98984870;1044962 + 1269;9108;377;510;98984870;1044962 + 1270;9110;377;511;98984870;1054072 + 1271;9120;377;511;98984870;1054072 + 1272;9127;377;512;98984870;1063199 + 1273;9132;377;512;98984870;1063199 + 1274;9142;382;513;98131730;1038363 + 1275;9144;382;513;98131730;1038363 + 1276;9156;382;513;98131730;1038363 + 1277;9159;382;514;98131730;1047522 + 1278;9168;382;514;98131730;1047522 + 1279;9175;384;515;98153198;1042989 + 1280;9180;384;515;98153198;1042989 + 1281;9192;384;515;98153198;1042989 + 1282;9198;384;516;98153198;1052187 + 1283;9204;384;516;98153198;1052187 + 1284;9213;384;517;98153198;1061400 + 1285;9216;384;517;98153198;1061400 + 1286;9225;384;518;98153198;1070625 + 1287;9228;384;518;98153198;1070625 + 1288;9240;384;518;98153198;1070625 + 1289;9242;384;519;98153198;1079867 + 1290;9252;384;519;98153198;1079867 + 1291;9256;386;520;99493469;1075355 + 1292;9264;386;520;99493469;1075355 + 1293;9276;386;520;99493469;1075355 + 1294;9276;386;521;99493469;1084631 + 1295;9288;386;521;99493469;1084631 + 1296;9290;386;522;99493469;1093921 + 1297;9300;386;522;99493469;1093921 + 1298;9312;386;522;99493469;1093921 + 1299;9313;386;523;99493469;1103234 + 1300;9324;386;523;99493469;1103234 + 1301;9326;386;524;99493469;1112560 + 1302;9336;386;524;99493469;1112560 + 1303;9346;386;525;99493469;1121906 + 1304;9348;386;525;99493469;1121906 + 1305;9359;386;526;99493469;1131265 + 1306;9360;386;526;99493469;1131265 + 1307;9372;386;526;99493469;1131265 + 1308;9381;386;527;99493469;1140646 + 1309;9384;386;527;99493469;1140646 + 1310;9396;386;527;99493469;1140646 + 1311;9402;396;528;101576352;1080073 + 1312;9408;396;528;101576352;1080073 + 1313;9417;396;529;101576352;1089490 + 1314;9420;396;529;101576352;1089490 + 1315;9432;396;529;101576352;1089490 + 1316;9441;396;530;101576352;1098931 + 1317;9444;396;530;101576352;1098931 + 1318;9456;396;530;101576352;1098931 + 1319;9458;396;531;101576352;1108389 + 1320;9468;396;531;101576352;1108389 + 1321;9478;396;532;101576352;1117867 + 1322;9480;396;532;101576352;1117867 + 1323;9492;396;532;101576352;1117867 + 1324;9492;396;533;101576352;1127359 + 1325;9504;396;533;101576352;1127359 + 1326;9516;396;533;101576352;1127359 + 1327;9516;404;534;101186668;1079572 + 1328;9528;404;534;101186668;1079572 + 1329;9530;404;535;101186668;1089102 + 1330;9540;404;535;101186668;1089102 + 1331;9545;404;536;101186668;1098647 + 1332;9552;404;536;101186668;1098647 + 1333;9561;404;537;101186668;1108208 + 1334;9564;404;537;101186668;1108208 + 1335;9576;404;537;101186668;1108208 + 1336;9577;411;538;101919752;1066790 + 1337;9588;411;538;101919752;1066790 + 1338;9595;411;539;101919752;1076385 + 1339;9600;411;539;101919752;1076385 + 1340;9607;411;540;101919752;1085992 + 1341;9612;411;540;101919752;1085992 + 1342;9622;411;541;101919752;1095614 + 1343;9624;411;541;101919752;1095614 + 1344;9635;411;542;101919752;1105249 + 1345;9636;411;542;101919752;1105249 + 1346;9648;411;542;101919752;1105249 + 1347;9655;411;543;101919752;1114904 + 1348;9660;411;543;101919752;1114904 + 1349;9672;411;543;101919752;1114904 + 1350;9673;411;544;101919752;1124577 + 1351;9684;411;544;101919752;1124577 + 1352;9690;411;545;101919752;1134267 + 1353;9696;411;545;101919752;1134267 + 1354;9706;411;546;101919752;1143973 + 1355;9708;411;546;101919752;1143973 + 1356;9720;411;546;101919752;1143973 + 1357;9725;411;547;101919752;1153698 + 1358;9732;411;547;101919752;1153698 + 1359;9744;411;547;101919752;1153698 + 1360;9747;415;548;102440230;1133971 + 1361;9756;415;548;102440230;1133971 + 1362;9768;415;548;102440230;1133971 + 1363;9770;415;549;102440230;1143741 + 1364;9780;415;549;102440230;1143741 + 1365;9792;415;549;102440230;1143741 + 1366;9794;415;550;102440230;1153535 + 1367;9804;415;550;102440230;1153535 + 1368;9816;415;550;102440230;1153535 + 1369;9818;421;551;102796186;1118661 + 1370;9828;421;551;102796186;1118661 + 1371;9836;421;552;102796186;1128497 + 1372;9840;421;552;102796186;1128497 + 1373;9852;421;552;102796186;1128497 + 1374;9856;421;553;102796186;1138353 + 1375;9864;421;553;102796186;1138353 + 1376;9871;421;554;102796186;1148224 + 1377;9876;421;554;102796186;1148224 + 1378;9888;421;554;102796186;1148224 + 1379;9889;421;555;102796186;1158113 + 1380;9900;421;555;102796186;1158113 + 1381;9910;421;556;102796186;1168023 + 1382;9912;421;556;102796186;1168023 + 1383;9924;421;556;102796186;1168023 + 1384;9928;423;557;102764068;1162905 + 1385;9936;423;557;102764068;1162905 + 1386;9944;423;558;102764068;1172849 + 1387;9948;423;558;102764068;1172849 + 1388;9960;427;558;103670438;1142519 + 1389;9967;427;559;103670438;1152486 + 1390;9972;427;559;103670438;1152486 + 1391;9984;427;559;103670438;1152486 + 1392;9985;427;560;103670438;1162471 + 1393;9996;427;560;103670438;1162471 + 1394;10008;427;560;103670438;1162471 + 1395;10009;427;561;103670438;1172480 + 1396;10020;435;561;105069628;1110907 + 1397;10025;435;562;105069628;1120932 + 1398;10032;435;562;105069628;1120932 + 1399;10044;435;562;105069628;1120932 + 1400;10047;435;563;105069628;1130979 + 1401;10056;435;563;105069628;1130979 + 1402;10066;435;564;105069628;1141045 + 1403;10068;435;564;105069628;1141045 + 1404;10080;435;564;105069628;1141045 + 1405;10086;437;565;105266818;1135566 + 1406;10092;437;565;105266818;1135566 + 1407;10104;437;565;105266818;1135566 + 1408;10107;437;566;105266818;1145673 + 1409;10116;437;566;105266818;1145673 + 1410;10123;437;567;105266818;1155796 + 1411;10128;441;567;105953281;1124425 + 1412;10138;441;568;105953281;1134563 + 1413;10140;441;568;105953281;1134563 + 1414;10152;441;568;105953281;1134563 + 1415;10153;441;569;105953281;1144716 + 1416;10164;441;569;105953281;1144716 + 1417;10168;441;570;105953281;1154884 + 1418;10176;441;570;105953281;1154884 + 1419;10183;441;571;105953281;1165067 + 1420;10188;441;571;105953281;1165067 + 1421;10200;443;571;107547838;1149276 + 1422;10203;443;572;107547838;1159479 + 1423;10212;443;572;107547838;1159479 + 1424;10219;443;573;107547838;1169698 + 1425;10224;443;573;107547838;1169698 + 1426;10236;443;573;107547838;1169698 + 1427;10240;443;574;107547838;1179938 + 1428;10248;443;574;107547838;1179938 + 1429;10260;443;574;107547838;1179938 + 1430;10261;443;575;107547838;1190199 + 1431;10272;443;575;107547838;1190199 + 1432;10284;443;575;107547838;1190199 + 1433;10284;443;576;107547838;1200483 + 1434;10296;443;576;107547838;1200483 + 1435;10296;443;577;107547838;1210779 + 1436;10308;443;577;107547838;1210779 + 1437;10308;443;578;107547838;1221087 + 1438;10320;443;578;107547838;1221087 + 1439;10332;443;578;107547838;1221087 + 1440;10332;443;579;107547838;1231419 + 1441;10344;443;579;107547838;1231419 + 1442;10350;448;580;107440344;1201927 + 1443;10356;448;580;107440344;1201927 + 1444;10368;448;580;107440344;1201927 + 1445;10368;448;581;107440344;1212295 + 1446;10380;448;581;107440344;1212295 + 1447;10390;448;582;107440344;1222685 + 1448;10392;448;582;107440344;1222685 + 1449;10404;448;582;107440344;1222685 + 1450;10404;448;583;107440344;1233089 + 1451;10416;448;583;107440344;1233089 + 1452;10420;448;584;107440344;1243509 + 1453;10428;448;584;107440344;1243509 + 1454;10440;448;584;107440344;1243509 + 1455;10441;448;585;107440344;1253950 + 1456;10452;448;585;107440344;1253950 + 1457;10461;458;586;106760927;1183406 + 1458;10464;458;586;106760927;1183406 + 1459;10476;462;586;106750918;1150519 + 1460;10485;462;587;106750918;1161004 + 1461;10488;462;587;106750918;1161004 + 1462;10500;462;587;106750918;1161004 + 1463;10501;462;588;106750918;1171505 + 1464;10512;462;588;106750918;1171505 + 1465;10524;462;588;106750918;1171505 + 1466;10525;462;589;106750918;1182030 + 1467;10536;462;589;106750918;1182030 + 1468;10544;462;590;106750918;1192574 + 1469;10548;462;590;106750918;1192574 + 1470;10560;462;590;106750918;1192574 + 1471;10560;462;591;106750918;1203134 + 1472;10572;462;591;106750918;1203134 + 1473;10573;462;592;106750918;1213707 + 1474;10584;462;592;106750918;1213707 + 1475;10596;462;592;106750918;1213707 + 1476;10597;462;593;106750918;1224304 + 1477;10608;462;593;106750918;1224304 + 1478;10610;462;594;106750918;1234914 + 1479;10620;462;594;106750918;1234914 + 1480;10632;468;594;104830211;1185067 + 1481;10632;468;595;104830211;1195699 + 1482;10644;468;595;104830211;1195699 + 1483;10652;468;596;104830211;1206351 + 1484;10656;468;596;104830211;1206351 + 1485;10666;468;597;104830211;1217017 + 1486;10668;468;597;104830211;1217017 + 1487;10680;468;597;104830211;1217017 + 1488;10687;468;598;104830211;1227704 + 1489;10692;468;598;104830211;1227704 + 1490;10702;468;599;104830211;1238406 + 1491;10704;468;599;104830211;1238406 + 1492;10714;468;600;104830211;1249120 + 1493;10716;468;600;104830211;1249120 + 1494;10728;468;600;104830211;1249120 + 1495;10734;475;601;102783338;1200902 + 1496;10740;475;601;102783338;1200902 + 1497;10752;475;601;102783338;1200902 + 1498;10756;475;602;102783338;1211658 + 1499;10764;475;602;102783338;1211658 + 1500;10773;475;603;102783338;1222431 + 1501;10776;475;603;102783338;1222431 + 1502;10788;475;603;102783338;1222431 + 1503;10789;475;604;102783338;1233220 + 1504;10800;475;604;102783338;1233220 + 1505;10811;475;605;102783338;1244031 + 1506;10812;475;605;102783338;1244031 + 1507;10824;475;605;102783338;1244031 + 1508;10832;475;606;102783338;1254863 + 1509;10836;475;606;102783338;1254863 + 1510;10848;475;606;102783338;1254863 + 1511;10850;475;607;102783338;1265713 + 1512;10860;475;607;102783338;1265713 + 1513;10868;475;608;102783338;1276581 + 1514;10872;475;608;102783338;1276581 + 1515;10880;475;609;102783338;1287461 + 1516;10884;475;609;102783338;1287461 + 1517;10892;479;610;103395429;1264260 + 1518;10896;479;610;103395429;1264260 + 1519;10904;479;611;103395429;1275164 + 1520;10908;479;611;103395429;1275164 + 1521;10917;479;612;103395429;1286081 + 1522;10920;479;612;103395429;1286081 + 1523;10932;479;612;103395429;1286081 + 1524;10933;479;613;103395429;1297014 + 1525;10944;479;613;103395429;1297014 + 1526;10951;479;614;103395429;1307965 + 1527;10956;479;614;103395429;1307965 + 1528;10964;479;615;103395429;1318929 + 1529;10968;479;615;103395429;1318929 + 1530;10979;479;616;103395429;1329908 + 1531;10980;479;616;103395429;1329908 + 1532;10992;479;616;103395429;1329908 + 1533;10996;479;617;103395429;1340904 + 1534;11004;479;617;103395429;1340904 + 1535;11015;489;618;102754434;1265420 + 1536;11016;489;618;102754434;1265420 + 1537;11028;490;618;102350634;1256674 + 1538;11039;490;619;102350634;1267713 + 1539;11040;490;619;102350634;1267713 + 1540;11052;490;619;102350634;1267713 + 1541;11063;490;620;102350634;1278776 + 1542;11064;490;620;102350634;1278776 + 1543;11076;490;620;102350634;1278776 + 1544;11084;490;621;102350634;1289860 + 1545;11088;490;621;102350634;1289860 + 1546;11100;490;621;102350634;1289860 + 1547;11106;490;622;102350634;1300966 + 1548;11112;490;622;102350634;1300966 + 1549;11120;490;623;102350634;1312086 + 1550;11124;490;623;102350634;1312086 + 1551;11135;490;624;102350634;1323221 + 1552;11136;490;624;102350634;1323221 + 1553;11148;490;624;102350634;1323221 + 1554;11155;499;625;103021299;1254882 + 1555;11160;499;625;103021299;1254882 + 1556;11172;499;625;103021299;1254882 + 1557;11176;499;626;103021299;1266058 + 1558;11184;499;626;103021299;1266058 + 1559;11194;506;627;100940325;1214430 + 1560;11196;506;627;100940325;1214430 + 1561;11208;506;627;100940325;1214430 + 1562;11211;506;628;100940325;1225641 + 1563;11220;506;628;100940325;1225641 + 1564;11232;506;628;100940325;1225641 + 1565;11232;506;629;100940325;1236873 + 1566;11244;506;629;100940325;1236873 + 1567;11255;506;630;100940325;1248128 + 1568;11256;506;630;100940325;1248128 + 1569;11268;506;630;100940325;1248128 + 1570;11276;506;631;100940325;1259404 + 1571;11280;506;631;100940325;1259404 + 1572;11292;506;631;100940325;1259404 + 1573;11293;506;632;100940325;1270697 + 1574;11304;506;632;100940325;1270697 + 1575;11316;506;632;100940325;1270697 + 1576;11317;506;633;100940325;1282014 + 1577;11328;506;633;100940325;1282014 + 1578;11340;506;633;100940325;1282014 + 1579;11340;506;634;100940325;1293354 + 1580;11352;506;634;100940325;1293354 + 1581;11353;506;635;100940325;1304707 + 1582;11364;506;635;100940325;1304707 + 1583;11373;506;636;100940325;1316080 + 1584;11376;506;636;100940325;1316080 + 1585;11387;506;637;100940325;1327467 + 1586;11388;506;637;100940325;1327467 + 1587;11400;506;637;100940325;1327467 + 1588;11404;506;638;100940325;1338871 + 1589;11412;506;638;100940325;1338871 + 1590;11422;506;639;100940325;1350293 + 1591;11424;506;639;100940325;1350293 + 1592;11436;506;639;100940325;1350293 + 1593;11444;506;640;100940325;1361737 + 1594;11448;506;640;100940325;1361737 + 1595;11460;506;640;100940325;1361737 + 1596;11464;506;641;100940325;1373201 + 1597;11472;506;641;100940325;1373201 + 1598;11484;506;641;100940325;1373201 + 1599;11485;506;642;100940325;1384686 + 1600;11496;506;642;100940325;1384686 + 1601;11501;506;643;100940325;1396187 + 1602;11508;506;643;100940325;1396187 + 1603;11520;506;643;100940325;1396187 + 1604;11521;508;644;103224322;1389591 + 1605;11532;508;644;103224322;1389591 + 1606;11533;508;645;103224322;1401124 + 1607;11544;508;645;103224322;1401124 + 1608;11549;508;646;103224322;1412673 + 1609;11556;508;646;103224322;1412673 + 1610;11561;518;647;101392412;1332554 + 1611;11568;518;647;101392412;1332554 + 1612;11580;520;647;99440627;1314022 + 1613;11582;520;648;99440627;1325604 + 1614;11592;520;648;99440627;1325604 + 1615;11595;520;649;99440627;1337199 + 1616;11604;520;649;99440627;1337199 + 1617;11614;520;650;99440627;1348813 + 1618;11616;520;650;99440627;1348813 + 1619;11628;520;650;99440627;1348813 + 1620;11631;520;651;99440627;1360444 + 1621;11640;520;651;99440627;1360444 + 1622;11650;520;652;99440627;1372094 + 1623;11652;520;652;99440627;1372094 + 1624;11664;520;652;99440627;1372094 + 1625;11667;520;653;99440627;1383761 + 1626;11676;520;653;99440627;1383761 + 1627;11679;520;654;99440627;1395440 + 1628;11688;520;654;99440627;1395440 + 1629;11698;520;655;99440627;1407138 + 1630;11700;520;655;99440627;1407138 + 1631;11712;520;655;99440627;1407138 + 1632;11716;520;656;99440627;1418854 + 1633;11724;520;656;99440627;1418854 + 1634;11736;520;656;99440627;1418854 + 1635;11736;520;657;99440627;1430590 + 1636;11748;520;657;99440627;1430590 + 1637;11759;526;658;100615946;1386334 + 1638;11760;526;658;100615946;1386334 + 1639;11772;526;658;100615946;1386334 + 1640;11780;526;659;100615946;1398114 + 1641;11784;526;659;100615946;1398114 + 1642;11796;526;659;100615946;1398114 + 1643;11804;526;660;100615946;1409918 + 1644;11808;526;660;100615946;1409918 + 1645;11820;526;660;100615946;1409918 + 1646;11823;526;661;100615946;1421741 + 1647;11832;526;661;100615946;1421741 + 1648;11840;526;662;100615946;1433581 + 1649;11844;526;662;100615946;1433581 + 1650;11856;526;662;100615946;1433581 + 1651;11857;528;663;102321852;1426619 + 1652;11868;528;663;102321852;1426619 + 1653;11880;528;663;102321852;1426619 + 1654;11880;535;664;104607684;1372039 + 1655;11892;535;664;104607684;1372039 + 1656;11892;535;665;104607684;1383931 + 1657;11904;535;665;104607684;1383931 + 1658;11908;535;666;104607684;1395839 + 1659;11916;535;666;104607684;1395839 + 1660;11928;535;666;104607684;1395839 + 1661;11931;535;667;104607684;1407770 + 1662;11940;535;667;104607684;1407770 + 1663;11952;535;667;104607684;1407770 + 1664;11955;535;668;104607684;1419725 + 1665;11964;535;668;104607684;1419725 + 1666;11976;541;668;102389023;1362128 + 1667;11977;541;669;102389023;1374105 + 1668;11988;541;669;102389023;1374105 + 1669;11998;541;670;102389023;1386103 + 1670;12000;541;670;102389023;1386103 + 1671;12012;541;670;102389023;1386103 + 1672;12019;541;671;102389023;1398122 + 1673;12024;541;671;102389023;1398122 + 1674;12036;541;671;102389023;1398122 + 1675;12039;541;672;102389023;1410161 + 1676;12048;541;672;102389023;1410161 + 1677;12053;546;673;100039065;1373765 + 1678;12060;546;673;100039065;1373765 + 1679;12072;546;673;100039065;1373765 + 1680;12077;546;674;100039065;1385842 + 1681;12084;546;674;100039065;1385842 + 1682;12091;546;675;100039065;1397933 + 1683;12096;546;675;100039065;1397933 + 1684;12108;546;675;100039065;1397933 + 1685;12115;551;676;99920339;1361083 + 1686;12120;551;676;99920339;1361083 + 1687;12132;551;676;99920339;1361083 + 1688;12139;551;677;99920339;1373222 + 1689;12144;551;677;99920339;1373222 + 1690;12154;551;678;99920339;1385376 + 1691;12156;551;678;99920339;1385376 + 1692;12168;551;678;99920339;1385376 + 1693;12176;551;679;99920339;1397552 + 1694;12180;551;679;99920339;1397552 + 1695;12192;551;679;99920339;1397552 + 1696;12196;551;680;99920339;1409748 + 1697;12204;551;680;99920339;1409748 + 1698;12214;551;681;99920339;1421962 + 1699;12216;551;681;99920339;1421962 + 1700;12228;551;681;99920339;1421962 + 1701;12232;551;682;99920339;1434194 + 1702;12240;551;682;99920339;1434194 + 1703;12246;551;683;99920339;1446440 + 1704;12252;551;683;99920339;1446440 + 1705;12262;551;684;99920339;1458702 + 1706;12264;551;684;99920339;1458702 + 1707;12274;551;685;99920339;1470976 + 1708;12276;551;685;99920339;1470976 + 1709;12286;551;686;99920339;1483262 + 1710;12288;551;686;99920339;1483262 + 1711;12300;551;686;99920339;1483262 + 1712;12303;551;687;99920339;1495565 + 1713;12312;551;687;99920339;1495565 + 1714;12320;551;688;99920339;1507885 + 1715;12324;551;688;99920339;1507885 + 1716;12333;562;689;103709322;1410787 + 1717;12336;562;689;103709322;1410787 + 1718;12348;562;689;103709322;1410787 + 1719;12349;562;690;103709322;1423136 + 1720;12360;562;690;103709322;1423136 + 1721;12372;562;690;103709322;1423136 + 1722;12372;562;691;103709322;1435508 + 1723;12384;562;691;103709322;1435508 + 1724;12388;562;692;103709322;1447896 + 1725;12396;562;692;103709322;1447896 + 1726;12404;562;693;103709322;1460300 + 1727;12408;562;693;103709322;1460300 + 1728;12420;562;693;103709322;1460300 + 1729;12428;563;694;104650189;1462662 + 1730;12432;563;694;104650189;1462662 + 1731;12440;563;695;104650189;1475102 + 1732;12444;563;695;104650189;1475102 + 1733;12456;563;695;104650189;1475102 + 1734;12461;563;696;104650189;1487563 + 1735;12468;563;696;104650189;1487563 + 1736;12473;563;697;104650189;1500036 + 1737;12480;563;697;104650189;1500036 + 1738;12489;563;698;104650189;1512525 + 1739;12492;563;698;104650189;1512525 + 1740;12503;563;699;104650189;1525028 + 1741;12504;563;699;104650189;1525028 + 1742;12516;563;699;104650189;1525028 + 1743;12518;563;700;104650189;1537546 + 1744;12528;563;700;104650189;1537546 + 1745;12536;570;701;106294868;1479124 + 1746;12540;570;701;106294868;1479124 + 1747;12552;570;701;106294868;1479124 + 1748;12554;570;702;106294868;1491678 + 1749;12564;570;702;106294868;1491678 + 1750;12576;570;702;106294868;1491678 + 1751;12578;570;703;106294868;1504256 + 1752;12588;570;703;106294868;1504256 + 1753;12600;570;703;106294868;1504256 + 1754;12600;570;704;106294868;1516856 + 1755;12612;570;704;106294868;1516856 + 1756;12620;570;705;106294868;1529476 + 1757;12624;570;705;106294868;1529476 + 1758;12635;570;706;106294868;1542111 + 1759;12636;570;706;106294868;1542111 + 1760;12648;570;706;106294868;1542111 + 1761;12655;576;707;106637556;1493263 + 1762;12660;576;707;106637556;1493263 + 1763;12671;576;708;106637556;1505934 + 1764;12672;576;708;106637556;1505934 + 1765;12684;576;708;106637556;1505934 + 1766;12695;579;709;108621923;1487639 + 1767;12696;579;709;108621923;1487639 + 1768;12708;579;709;108621923;1487639 + 1769;12709;579;710;108621923;1500348 + 1770;12720;579;710;108621923;1500348 + 1771;12727;579;711;108621923;1513075 + 1772;12732;579;711;108621923;1513075 + 1773;12744;579;711;108621923;1513075 + 1774;12746;579;712;108621923;1525821 + 1775;12756;579;712;108621923;1525821 + 1776;12758;579;713;108621923;1538579 + 1777;12768;579;713;108621923;1538579 + 1778;12773;586;714;107453775;1478383 + 1779;12780;586;714;107453775;1478383 + 1780;12792;586;714;107453775;1478383 + 1781;12797;586;715;107453775;1491180 + 1782;12804;586;715;107453775;1491180 + 1783;12816;586;715;107453775;1491180 + 1784;12820;586;716;107453775;1504000 + 1785;12828;586;716;107453775;1504000 + 1786;12833;586;717;107453775;1516833 + 1787;12840;586;717;107453775;1516833 + 1788;12852;586;717;107453775;1516833 + 1789;12857;586;718;107453775;1529690 + 1790;12864;586;718;107453775;1529690 + 1791;12871;586;719;107453775;1542561 + 1792;12876;586;719;107453775;1542561 + 1793;12886;586;720;107453775;1555447 + 1794;12888;586;720;107453775;1555447 + 1795;12900;586;720;107453775;1555447 + 1796;12910;589;721;108876804;1536787 + 1797;12912;589;721;108876804;1536787 + 1798;12924;589;721;108876804;1536787 + 1799;12930;589;722;108876804;1549717 + 1800;12936;589;722;108876804;1549717 + 1801;12948;589;722;108876804;1549717 + 1802;12954;589;723;108876804;1562671 + 1803;12960;589;723;108876804;1562671 + 1804;12972;589;723;108876804;1562671 + 1805;12975;589;724;108876804;1575646 + 1806;12984;589;724;108876804;1575646 + 1807;12994;592;725;111821573;1556910 + 1808;12996;592;725;111821573;1556910 + 1809;13006;592;726;111821573;1569916 + 1810;13008;592;726;111821573;1569916 + 1811;13020;592;726;111821573;1569916 + 1812;13027;592;727;111821573;1582943 + 1813;13032;592;727;111821573;1582943 + 1814;13039;592;728;111821573;1595982 + 1815;13044;592;728;111821573;1595982 + 1816;13056;592;728;111821573;1595982 + 1817;13063;598;729;114191088;1545096 + 1818;13068;598;729;114191088;1545096 + 1819;13080;598;729;114191088;1545096 + 1820;13084;598;730;114191088;1558180 + 1821;13092;598;730;114191088;1558180 + 1822;13100;598;731;114191088;1571280 + 1823;13104;598;731;114191088;1571280 + 1824;13115;598;732;114191088;1584395 + 1825;13116;598;732;114191088;1584395 + 1826;13127;598;733;114191088;1597522 + 1827;13128;598;733;114191088;1597522 + 1828;13140;598;733;114191088;1597522 + 1829;13147;598;734;114191088;1610669 + 1830;13152;598;734;114191088;1610669 + 1831;13164;598;734;114191088;1610669 + 1832;13171;601;735;115371171;1591636 + 1833;13176;601;735;115371171;1591636 + 1834;13188;615;735;112287299;1439293 + 1835;13194;615;736;112287299;1452487 + 1836;13200;615;736;112287299;1452487 + 1837;13212;615;736;112287299;1452487 + 1838;13218;615;737;112287299;1465705 + 1839;13224;615;737;112287299;1465705 + 1840;13236;615;737;112287299;1465705 + 1841;13236;615;738;112287299;1478941 + 1842;13248;615;738;112287299;1478941 + 1843;13252;616;739;112959518;1481197 + 1844;13260;616;739;112959518;1481197 + 1845;13272;616;739;112959518;1481197 + 1846;13275;618;740;114109043;1472418 + 1847;13284;618;740;114109043;1472418 + 1848;13291;618;741;114109043;1485709 + 1849;13296;618;741;114109043;1485709 + 1850;13307;618;742;114109043;1499016 + 1851;13308;618;742;114109043;1499016 + 1852;13320;618;742;114109043;1499016 + 1853;13324;618;743;114109043;1512340 + 1854;13332;618;743;114109043;1512340 + 1855;13342;618;744;114109043;1525682 + 1856;13344;618;744;114109043;1525682 + 1857;13356;618;744;114109043;1525682 + 1858;13360;618;745;114109043;1539042 + 1859;13368;618;745;114109043;1539042 + 1860;13380;618;745;114109043;1539042 + 1861;13382;618;746;114109043;1552424 + 1862;13392;618;746;114109043;1552424 + 1863;13404;618;746;114109043;1552424 + 1864;13405;618;747;114109043;1565829 + 1865;13416;618;747;114109043;1565829 + 1866;13419;618;748;114109043;1579248 + 1867;13428;618;748;114109043;1579248 + 1868;13440;618;748;114109043;1579248 + 1869;13440;618;749;114109043;1592688 + 1870;13452;618;749;114109043;1592688 + 1871;13452;618;750;114109043;1606140 + 1872;13464;624;750;113788562;1539477 + 1873;13468;624;751;113788562;1552945 + 1874;13476;624;751;113788562;1552945 + 1875;13487;624;752;113788562;1566432 + 1876;13488;624;752;113788562;1566432 + 1877;13500;624;752;113788562;1566432 + 1878;13500;624;753;113788562;1579932 + 1879;13512;624;753;113788562;1579932 + 1880;13518;624;754;113788562;1593450 + 1881;13524;624;754;113788562;1593450 + 1882;13535;626;755;114119741;1584615 + 1883;13536;626;755;114119741;1584615 + 1884;13548;626;755;114119741;1584615 + 1885;13552;626;756;114119741;1598167 + 1886;13560;626;756;114119741;1598167 + 1887;13566;626;757;114119741;1611733 + 1888;13572;626;757;114119741;1611733 + 1889;13584;626;757;114119741;1611733 + 1890;13589;626;758;114119741;1625322 + 1891;13596;626;758;114119741;1625322 + 1892;13606;626;759;114119741;1638928 + 1893;13608;626;759;114119741;1638928 + 1894;13620;626;759;114119741;1638928 + 1895;13620;626;760;114119741;1652548 + 1896;13632;626;760;114119741;1652548 + 1897;13636;631;761;114383948;1609917 + 1898;13644;631;761;114383948;1609917 + 1899;13652;631;762;114383948;1623569 + 1900;13656;631;762;114383948;1623569 + 1901;13668;631;762;114383948;1623569 + 1902;13669;631;763;114383948;1637238 + 1903;13680;631;763;114383948;1637238 + 1904;13692;631;763;114383948;1637238 + 1905;13692;631;764;114383948;1650930 + 1906;13704;631;764;114383948;1650930 + 1907;13714;631;765;114383948;1664644 + 1908;13716;631;765;114383948;1664644 + 1909;13727;631;766;114383948;1678371 + 1910;13728;631;766;114383948;1678371 + 1911;13740;631;766;114383948;1678371 + 1912;13740;631;767;114383948;1692111 + 1913;13752;631;767;114383948;1692111 + 1914;13755;631;768;114383948;1705866 + 1915;13764;631;768;114383948;1705866 + 1916;13775;631;769;114383948;1719641 + 1917;13776;631;769;114383948;1719641 + 1918;13788;631;769;114383948;1719641 + 1919;13788;640;770;119048325;1630925 + 1920;13800;640;770;119048325;1630925 + 1921;13805;640;771;119048325;1644730 + 1922;13812;640;771;119048325;1644730 + 1923;13824;640;771;119048325;1644730 + 1924;13828;640;772;119048325;1658558 + 1925;13836;640;772;119048325;1658558 + 1926;13840;646;773;115815482;1603248 + 1927;13848;646;773;115815482;1603248 + 1928;13859;646;774;115815482;1617107 + 1929;13860;646;774;115815482;1617107 + 1930;13872;646;774;115815482;1617107 + 1931;13881;646;775;115815482;1630988 + 1932;13884;646;775;115815482;1630988 + 1933;13896;646;775;115815482;1630988 + 1934;13905;646;776;115815482;1644893 + 1935;13908;647;776;116774912;1633311 + 1936;13920;647;776;116774912;1633311 + 1937;13929;647;777;116774912;1647240 + 1938;13932;647;777;116774912;1647240 + 1939;13943;647;778;116774912;1661183 + 1940;13944;647;778;116774912;1661183 + 1941;13956;647;778;116774912;1661183 + 1942;13959;647;779;116774912;1675142 + 1943;13968;647;779;116774912;1675142 + 1944;13980;647;779;116774912;1675142 + 1945;13980;647;780;116774912;1689122 + 1946;13992;647;780;116774912;1689122 + 1947;13998;647;781;116774912;1703120 + 1948;14004;647;781;116774912;1703120 + 1949;14013;652;782;119182330;1658976 + 1950;14016;652;782;119182330;1658976 + 1951;14028;652;782;119182330;1658976 + 1952;14030;652;783;119182330;1673006 + 1953;14040;659;783;118791904;1590834 + 1954;14052;659;783;118791904;1590834 + 1955;14053;659;784;118791904;1604887 + 1956;14064;659;784;118791904;1604887 + 1957;14065;659;785;118791904;1618952 + 1958;14076;659;785;118791904;1618952 + 1959;14088;659;785;118791904;1618952 + 1960;14089;659;786;118791904;1633041 + 1961;14100;659;786;118791904;1633041 + 1962;14106;659;787;118791904;1647147 + 1963;14112;659;787;118791904;1647147 + 1964;14119;659;788;118791904;1661266 + 1965;14124;659;788;118791904;1661266 + 1966;14136;659;788;118791904;1661266 + 1967;14137;659;789;118791904;1675403 + 1968;14148;659;789;118791904;1675403 + 1969;14155;659;790;118791904;1689558 + 1970;14160;659;790;118791904;1689558 + 1971;14172;659;790;118791904;1689558 + 1972;14178;659;791;118791904;1703736 + 1973;14184;659;791;118791904;1703736 + 1974;14195;659;792;118791904;1717931 + 1975;14196;659;792;118791904;1717931 + 1976;14208;659;792;118791904;1717931 + 1977;14215;659;793;118791904;1732146 + 1978;14220;659;793;118791904;1732146 + 1979;14232;665;793;119074370;1660946 + 1980;14237;665;794;119074370;1675183 + 1981;14244;665;794;119074370;1675183 + 1982;14251;665;795;119074370;1689434 + 1983;14256;665;795;119074370;1689434 + 1984;14267;666;796;120064549;1691770 + 1985;14268;666;796;120064549;1691770 + 1986;14280;666;796;120064549;1691770 + 1987;14281;666;797;120064549;1706051 + 1988;14292;666;797;120064549;1706051 + 1989;14293;666;798;120064549;1720344 + 1990;14304;666;798;120064549;1720344 + 1991;14316;666;798;120064549;1720344 + 1992;14316;667;799;121131079;1722705 + 1993;14328;667;799;121131079;1722705 + 1994;14340;667;799;121131079;1722705 + 1995;14340;667;800;121131079;1737045 + 1996;14352;667;800;121131079;1737045 + 1997;14354;667;801;121131079;1751399 + 1998;14364;667;801;121131079;1751399 + 1999;14374;667;802;121131079;1765773 + 2000;14376;667;802;121131079;1765773 + 2001;14388;667;802;121131079;1765773 + 2002;14391;667;803;121131079;1780164 + 2003;14400;667;803;121131079;1780164 + 2004;14412;667;803;121131079;1780164 + 2005;14414;667;804;121131079;1794578 + 2006;14424;667;804;121131079;1794578 + 2007;14428;667;805;121131079;1809006 + 2008;14436;667;805;121131079;1809006 + 2009;14448;667;805;121131079;1809006 + 2010;14451;669;806;123798409;1799482 + 2011;14460;669;806;123798409;1799482 + 2012;14463;669;807;123798409;1813945 + 2013;14472;669;807;123798409;1813945 + 2014;14479;669;808;123798409;1828424 + 2015;14484;669;808;123798409;1828424 + 2016;14495;676;809;119779734;1758386 + 2017;14496;676;809;119779734;1758386 + 2018;14508;676;809;119779734;1758386 + 2019;14514;676;810;119779734;1772900 + 2020;14520;676;810;119779734;1772900 + 2021;14532;676;810;119779734;1772900 + 2022;14536;676;811;119779734;1787436 + 2023;14544;676;811;119779734;1787436 + 2024;14552;676;812;119779734;1801988 + 2025;14556;676;812;119779734;1801988 + 2026;14568;676;812;119779734;1801988 + 2027;14568;676;813;119779734;1816556 + 2028;14580;676;813;119779734;1816556 + 2029;14587;676;814;119779734;1831143 + 2030;14592;676;814;119779734;1831143 + 2031;14604;682;814;118736233;1757925 + 2032;14608;682;815;118736233;1772533 + 2033;14616;682;815;118736233;1772533 + 2034;14623;682;816;118736233;1787156 + 2035;14628;682;816;118736233;1787156 + 2036;14640;682;816;118736233;1787156 + 2037;14645;682;817;118736233;1801801 + 2038;14652;682;817;118736233;1801801 + 2039;14664;682;817;118736233;1801801 + 2040;14664;682;818;118736233;1816465 + 2041;14676;682;818;118736233;1816465 + 2042;14684;682;819;118736233;1831149 + 2043;14688;682;819;118736233;1831149 + 2044;14700;682;819;118736233;1831149 + 2045;14706;682;820;118736233;1845855 + 2046;14712;682;820;118736233;1845855 + 2047;14722;689;821;119432130;1774450 + 2048;14724;689;821;119432130;1774450 + 2049;14736;689;821;119432130;1774450 + 2050;14736;689;822;119432130;1789186 + 2051;14748;689;822;119432130;1789186 + 2052;14753;689;823;119432130;1803939 + 2053;14760;689;823;119432130;1803939 + 2054;14766;689;824;119432130;1818705 + 2055;14772;689;824;119432130;1818705 + 2056;14781;699;825;116018337;1709010 + 2057;14784;699;825;116018337;1709010 + 2058;14796;699;825;116018337;1709010 + 2059;14796;699;826;116018337;1723806 + 2060;14808;699;826;116018337;1723806 + 2061;14813;699;827;116018337;1738619 + 2062;14820;699;827;116018337;1738619 + 2063;14825;699;828;116018337;1753444 + 2064;14832;699;828;116018337;1753444 + 2065;14842;699;829;116018337;1768286 + 2066;14844;699;829;116018337;1768286 + 2067;14856;699;829;116018337;1768286 + 2068;14863;699;830;116018337;1783149 + 2069;14868;699;830;116018337;1783149 + 2070;14880;699;830;116018337;1783149 + 2071;14880;699;831;116018337;1798029 + 2072;14892;699;831;116018337;1798029 + 2073;14901;699;832;116018337;1812930 + 2074;14904;699;832;116018337;1812930 + 2075;14916;699;832;116018337;1812930 + 2076;14922;699;833;116018337;1827852 + 2077;14928;699;833;116018337;1827852 + 2078;14940;699;833;116018337;1827852 + 2079;14945;699;834;116018337;1842797 + 2080;14952;699;834;116018337;1842797 + 2081;14959;710;835;113745899;1718776 + 2082;14964;710;835;113745899;1718776 + 2083;14976;710;835;113745899;1718776 + 2084;14978;710;836;113745899;1733754 + 2085;14988;710;836;113745899;1733754 + 2086;15000;710;836;113745899;1733754 + 2087;15002;710;837;113745899;1748756 + 2088;15012;710;837;113745899;1748756 + 2089;15014;710;838;113745899;1763770 + 2090;15024;710;838;113745899;1763770 + 2091;15027;710;839;113745899;1778797 + 2092;15036;710;839;113745899;1778797 + 2093;15048;710;839;113745899;1778797 + 2094;15051;710;840;113745899;1793848 + 2095;15060;710;840;113745899;1793848 + 2096;15063;710;841;113745899;1808911 + 2097;15072;710;841;113745899;1808911 + 2098;15076;710;842;113745899;1823987 + 2099;15084;710;842;113745899;1823987 + 2100;15091;710;843;113745899;1839078 + 2101;15096;710;843;113745899;1839078 + 2102;15108;710;843;113745899;1839078 + 2103;15111;710;844;113745899;1854189 + 2104;15120;710;844;113745899;1854189 + 2105;15129;710;845;113745899;1869318 + 2106;15132;710;845;113745899;1869318 + 2107;15144;710;845;113745899;1869318 + 2108;15150;710;846;113745899;1884468 + 2109;15156;710;846;113745899;1884468 + 2110;15168;710;846;113745899;1884468 + 2111;15173;710;847;113745899;1899641 + 2112;15180;710;847;113745899;1899641 + 2113;15192;710;847;113745899;1899641 + 2114;15192;710;848;113745899;1914833 + 2115;15204;715;848;115529916;1850939 + 2116;15209;715;849;115529916;1866148 + 2117;15216;715;849;115529916;1866148 + 2118;15224;715;850;115529916;1881372 + 2119;15228;715;850;115529916;1881372 + 2120;15237;715;851;115529916;1896609 + 2121;15240;715;851;115529916;1896609 + 2122;15249;715;852;115529916;1911858 + 2123;15252;715;852;115529916;1911858 + 2124;15264;715;852;115529916;1911858 + 2125;15273;720;853;114878294;1862774 + 2126;15276;720;853;114878294;1862774 + 2127;15288;720;853;114878294;1862774 + 2128;15289;726;854;116541596;1800177 + 2129;15300;726;854;116541596;1800177 + 2130;15312;726;854;116541596;1800177 + 2131;15312;728;855;116007461;1789387 + 2132;15324;728;855;116007461;1789387 + 2133;15336;728;855;116007461;1789387 + 2134;15336;728;856;116007461;1804723 + 2135;15348;728;856;116007461;1804723 + 2136;15348;728;857;116007461;1820071 + 2137;15360;728;857;116007461;1820071 + 2138;15364;728;858;116007461;1835435 + 2139;15372;728;858;116007461;1835435 + 2140;15384;728;858;116007461;1835435 + 2141;15385;728;859;116007461;1850820 + 2142;15396;728;859;116007461;1850820 + 2143;15406;728;860;116007461;1866226 + 2144;15408;728;860;116007461;1866226 + 2145;15420;728;860;116007461;1866226 + 2146;15421;728;861;116007461;1881647 + 2147;15432;728;861;116007461;1881647 + 2148;15442;728;862;116007461;1897089 + 2149;15444;728;862;116007461;1897089 + 2150;15456;728;862;116007461;1897089 + 2151;15457;728;863;116007461;1912546 + 2152;15468;728;863;116007461;1912546 + 2153;15472;731;864;118206815;1888719 + 2154;15480;731;864;118206815;1888719 + 2155;15486;731;865;118206815;1904205 + 2156;15492;731;865;118206815;1904205 + 2157;15501;731;866;118206815;1919706 + 2158;15504;731;866;118206815;1919706 + 2159;15516;731;866;118206815;1919706 + 2160;15525;731;867;118206815;1935231 + 2161;15528;731;867;118206815;1935231 + 2162;15540;731;867;118206815;1935231 + 2163;15542;731;868;118206815;1950773 + 2164;15552;731;868;118206815;1950773 + 2165;15554;731;869;118206815;1966327 + 2166;15564;731;869;118206815;1966327 + 2167;15567;731;870;118206815;1981894 + 2168;15576;731;870;118206815;1981894 + 2169;15586;735;871;118096048;1944841 + 2170;15588;735;871;118096048;1944841 + 2171;15599;735;872;118096048;1960440 + 2172;15600;735;872;118096048;1960440 + 2173;15612;735;872;118096048;1960440 + 2174;15617;735;873;118096048;1976057 + 2175;15624;735;873;118096048;1976057 + 2176;15636;735;873;118096048;1976057 + 2177;15641;745;874;123184811;1858711 + 2178;15648;747;874;123335034;1831887 + 2179;15660;747;874;123335034;1831887 + 2180;15660;747;875;123335034;1847547 + 2181;15672;747;875;123335034;1847547 + 2182;15680;747;876;123335034;1863227 + 2183;15684;747;876;123335034;1863227 + 2184;15696;747;876;123335034;1863227 + 2185;15702;747;877;123335034;1878929 + 2186;15708;747;877;123335034;1878929 + 2187;15716;747;878;123335034;1894645 + 2188;15720;747;878;123335034;1894645 + 2189;15732;747;878;123335034;1894645 + 2190;15740;747;879;123335034;1910385 + 2191;15744;747;879;123335034;1910385 + 2192;15756;747;879;123335034;1910385 + 2193;15760;747;880;123335034;1926145 + 2194;15768;747;880;123335034;1926145 + 2195;15774;747;881;123335034;1941919 + 2196;15780;747;881;123335034;1941919 + 2197;15792;747;881;123335034;1941919 + 2198;15795;747;882;123335034;1957714 + 2199;15804;747;882;123335034;1957714 + 2200;15812;753;883;125363436;1892661 + 2201;15816;753;883;125363436;1892661 + 2202;15827;753;884;125363436;1908488 + 2203;15828;753;884;125363436;1908488 + 2204;15840;753;884;125363436;1908488 + 2205;15844;753;885;125363436;1924332 + 2206;15852;753;885;125363436;1924332 + 2207;15859;753;886;125363436;1940191 + 2208;15864;753;886;125363436;1940191 + 2209;15876;753;886;125363436;1940191 + 2210;15883;755;887;125987886;1928987 + 2211;15888;755;887;125987886;1928987 + 2212;15900;755;887;125987886;1928987 + 2213;15902;755;888;125987886;1944889 + 2214;15912;755;888;125987886;1944889 + 2215;15924;755;888;125987886;1944889 + 2216;15924;755;889;125987886;1960813 + 2217;15936;755;889;125987886;1960813 + 2218;15945;755;890;125987886;1976758 + 2219;15948;755;890;125987886;1976758 + 2220;15957;755;891;125987886;1992715 + 2221;15960;755;891;125987886;1992715 + 2222;15971;762;892;125858028;1913348 + 2223;15972;762;892;125858028;1913348 + 2224;15984;762;892;125858028;1913348 + 2225;15990;762;893;125858028;1929338 + 2226;15996;762;893;125858028;1929338 + 2227;16008;762;893;125858028;1929338 + 2228;16008;762;894;125858028;1945346 + 2229;16020;762;894;125858028;1945346 + 2230;16027;762;895;125858028;1961373 + 2231;16032;762;895;125858028;1961373 + 2232;16044;762;895;125858028;1961373 + 2233;16045;762;896;125858028;1977418 + 2234;16056;762;896;125858028;1977418 + 2235;16062;762;897;125858028;1993480 + 2236;16068;762;897;125858028;1993480 + 2237;16080;762;897;125858028;1993480 + 2238;16081;762;898;125858028;2009561 + 2239;16092;762;898;125858028;2009561 + 2240;16104;762;898;125858028;2009561 + 2241;16104;762;899;125858028;2025665 + 2242;16116;762;899;125858028;2025665 + 2243;16123;762;900;125858028;2041788 + 2244;16128;762;900;125858028;2041788 + 2245;16139;765;901;126619403;2016794 + 2246;16140;765;901;126619403;2016794 + 2247;16152;765;901;126619403;2016794 + 2248;16156;772;902;128597292;1936419 + 2249;16164;772;902;128597292;1936419 + 2250;16174;772;903;128597292;1952593 + 2251;16176;772;903;128597292;1952593 + 2252;16188;772;903;128597292;1952593 + 2253;16197;772;904;128597292;1968790 + 2254;16200;772;904;128597292;1968790 + 2255;16212;772;904;128597292;1968790 + 2256;16221;772;905;128597292;1985011 + 2257;16224;772;905;128597292;1985011 + 2258;16235;772;906;128597292;2001246 + 2259;16236;772;906;128597292;2001246 + 2260;16248;772;906;128597292;2001246 + 2261;16250;772;907;128597292;2017496 + 2262;16260;772;907;128597292;2017496 + 2263;16264;772;908;128597292;2033760 + 2264;16272;772;908;128597292;2033760 + 2265;16279;772;909;128597292;2050039 + 2266;16284;772;909;128597292;2050039 + 2267;16293;772;910;128597292;2066332 + 2268;16296;772;910;128597292;2066332 + 2269;16308;772;910;128597292;2066332 + 2270;16317;775;911;132219974;2041004 + 2271;16320;775;911;132219974;2041004 + 2272;16332;775;911;132219974;2041004 + 2273;16337;775;912;132219974;2057341 + 2274;16344;775;912;132219974;2057341 + 2275;16356;775;912;132219974;2057341 + 2276;16357;775;913;132219974;2073698 + 2277;16368;775;913;132219974;2073698 + 2278;16373;775;914;132219974;2090071 + 2279;16380;775;914;132219974;2090071 + 2280;16392;775;914;132219974;2090071 + 2281;16395;775;915;132219974;2106466 + 2282;16404;775;915;132219974;2106466 + 2283;16416;785;915;130757179;1966407 + 2284;16418;788;916;131387964;1940463 + 2285;16428;788;916;131387964;1940463 + 2286;16440;788;916;131387964;1940463 + 2287;16440;788;917;131387964;1956903 + 2288;16452;788;917;131387964;1956903 + 2289;16455;788;918;131387964;1973358 + 2290;16464;788;918;131387964;1973358 + 2291;16473;788;919;131387964;1989831 + 2292;16476;788;919;131387964;1989831 + 2293;16488;788;919;131387964;1989831 + 2294;16497;788;920;131387964;2006328 + 2295;16500;788;920;131387964;2006328 + 2296;16512;788;920;131387964;2006328 + 2297;16516;788;921;131387964;2022844 + 2298;16524;788;921;131387964;2022844 + 2299;16536;788;921;131387964;2022844 + 2300;16539;788;922;131387964;2039383 + 2301;16548;788;922;131387964;2039383 + 2302;16558;788;923;131387964;2055941 + 2303;16560;788;923;131387964;2055941 + 2304;16572;788;923;131387964;2055941 + 2305;16573;788;924;131387964;2072514 + 2306;16584;788;924;131387964;2072514 + 2307;16589;788;925;131387964;2089103 + 2308;16596;788;925;131387964;2089103 + 2309;16608;788;925;131387964;2089103 + 2310;16608;788;926;131387964;2105711 + 2311;16620;788;926;131387964;2105711 + 2312;16631;793;927;132915954;2051362 + 2313;16632;793;927;132915954;2051362 + 2314;16644;793;927;132915954;2051362 + 2315;16646;793;928;132915954;2068008 + 2316;16656;793;928;132915954;2068008 + 2317;16658;798;929;132567508;2013258 + 2318;16668;798;929;132567508;2013258 + 2319;16680;798;929;132567508;2013258 + 2320;16682;798;930;132567508;2029940 + 2321;16692;798;930;132567508;2029940 + 2322;16695;798;931;132567508;2046635 + 2323;16704;798;931;132567508;2046635 + 2324;16716;798;931;132567508;2046635 + 2325;16717;798;932;132567508;2063352 + 2326;16728;798;932;132567508;2063352 + 2327;16740;798;932;132567508;2063352 + 2328;16741;798;933;132567508;2080093 + 2329;16752;798;933;132567508;2080093 + 2330;16762;803;934;134831993;2024982 + 2331;16764;803;934;134831993;2024982 + 2332;16776;805;934;135021734;1996103 + 2333;16776;805;935;135021734;2012879 + 2334;16788;805;935;135021734;2012879 + 2335;16790;805;936;135021734;2029669 + 2336;16800;805;936;135021734;2029669 + 2337;16812;805;936;135021734;2029669 + 2338;16814;805;937;135021734;2046483 + 2339;16824;805;937;135021734;2046483 + 2340;16829;805;938;135021734;2063312 + 2341;16836;805;938;135021734;2063312 + 2342;16843;810;939;134042177;2007668 + 2343;16848;810;939;134042177;2007668 + 2344;16860;810;939;134042177;2007668 + 2345;16867;810;940;134042177;2024535 + 2346;16872;810;940;134042177;2024535 + 2347;16883;810;941;134042177;2041418 + 2348;16884;810;941;134042177;2041418 + 2349;16896;810;941;134042177;2041418 + 2350;16897;810;942;134042177;2058315 + 2351;16908;810;942;134042177;2058315 + 2352;16911;810;943;134042177;2075226 + 2353;16920;810;943;134042177;2075226 + 2354;16930;810;944;134042177;2092156 + 2355;16932;810;944;134042177;2092156 + 2356;16944;810;944;134042177;2092156 + 2357;16952;810;945;134042177;2109108 + 2358;16956;810;945;134042177;2109108 + 2359;16967;810;946;134042177;2126075 + 2360;16968;810;946;134042177;2126075 + 2361;16979;818;947;135579849;2026123 + 2362;16980;818;947;135579849;2026123 + 2363;16991;818;948;135579849;2043114 + 2364;16992;818;948;135579849;2043114 + 2365;17004;818;948;135579849;2043114 + 2366;17004;818;949;135579849;2060118 + 2367;17016;818;949;135579849;2060118 + 2368;17021;818;950;135579849;2077139 + 2369;17028;818;950;135579849;2077139 + 2370;17040;818;950;135579849;2077139 + 2371;17045;818;951;135579849;2094184 + 2372;17052;818;951;135579849;2094184 + 2373;17064;818;951;135579849;2094184 + 2374;17064;818;952;135579849;2111248 + 2375;17076;818;952;135579849;2111248 + 2376;17079;818;953;135579849;2128327 + 2377;17088;818;953;135579849;2128327 + 2378;17100;818;953;135579849;2128327 + 2379;17100;819;954;136933890;2130721 + 2380;17112;825;954;138574004;2042167 + 2381;17119;825;955;138574004;2059286 + 2382;17124;825;955;138574004;2059286 + 2383;17136;825;955;138574004;2059286 + 2384;17143;825;956;138574004;2076429 + 2385;17148;825;956;138574004;2076429 + 2386;17160;825;956;138574004;2076429 + 2387;17167;825;957;138574004;2093596 + 2388;17172;825;957;138574004;2093596 + 2389;17184;825;957;138574004;2093596 + 2390;17188;825;958;138574004;2110784 + 2391;17196;825;958;138574004;2110784 + 2392;17208;825;958;138574004;2110784 + 2393;17208;825;959;138574004;2127992 + 2394;17220;825;959;138574004;2127992 + 2395;17227;825;960;138574004;2145219 + 2396;17232;825;960;138574004;2145219 + 2397;17244;825;960;138574004;2145219 + 2398;17245;837;961;135110371;1983520 + 2399;17256;837;961;135110371;1983520 + 2400;17265;837;962;135110371;2000785 + 2401;17268;837;962;135110371;2000785 + 2402;17280;839;962;136365940;1970707 + 2403;17280;839;963;136365940;1987987 + 2404;17292;839;963;136365940;1987987 + 2405;17299;839;964;136365940;2005286 + 2406;17304;839;964;136365940;2005286 + 2407;17315;839;965;136365940;2022601 + 2408;17316;839;965;136365940;2022601 + 2409;17328;839;965;136365940;2022601 + 2410;17339;839;966;136365940;2039940 + 2411;17340;839;966;136365940;2039940 + 2412;17352;839;966;136365940;2039940 + 2413;17360;839;967;136365940;2057300 + 2414;17364;839;967;136365940;2057300 + 2415;17375;839;968;136365940;2074675 + 2416;17376;839;968;136365940;2074675 + 2417;17388;839;968;136365940;2074675 + 2418;17394;839;969;136365940;2092069 + 2419;17400;839;969;136365940;2092069 + 2420;17412;839;969;136365940;2092069 + 2421;17416;839;970;136365940;2109485 + 2422;17424;839;970;136365940;2109485 + 2423;17435;839;971;136365940;2126920 + 2424;17436;839;971;136365940;2126920 + 2425;17448;839;971;136365940;2126920 + 2426;17457;839;972;136365940;2144377 + 2427;17460;839;972;136365940;2144377 + 2428;17470;839;973;136365940;2161847 + 2429;17472;839;973;136365940;2161847 + 2430;17484;839;973;136365940;2161847 + 2431;17493;848;974;137405410;2043146 + 2432;17496;848;974;137405410;2043146 + 2433;17508;848;974;137405410;2043146 + 2434;17517;848;975;137405410;2060663 + 2435;17520;848;975;137405410;2060663 + 2436;17532;848;975;137405410;2060663 + 2437;17536;849;976;138422521;2062975 + 2438;17544;849;976;138422521;2062975 + 2439;17554;849;977;138422521;2080529 + 2440;17556;849;977;138422521;2080529 + 2441;17568;849;977;138422521;2080529 + 2442;17577;849;978;138422521;2098106 + 2443;17580;849;978;138422521;2098106 + 2444;17592;849;978;138422521;2098106 + 2445;17594;849;979;138422521;2115700 + 2446;17604;849;979;138422521;2115700 + 2447;17609;849;980;138422521;2133309 + 2448;17616;849;980;138422521;2133309 + 2449;17624;851;981;139046826;2120447 + 2450;17628;851;981;139046826;2120447 + 2451;17640;851;981;139046826;2120447 + 2452;17644;856;982;137229473;2061533 + 2453;17652;856;982;137229473;2061533 + 2454;17659;856;983;137229473;2079192 + 2455;17664;856;983;137229473;2079192 + 2456;17676;856;983;137229473;2079192 + 2457;17678;856;984;137229473;2096870 + 2458;17688;856;984;137229473;2096870 + 2459;17698;856;985;137229473;2114568 + 2460;17700;856;985;137229473;2114568 + 2461;17712;856;985;137229473;2114568 + 2462;17715;856;986;137229473;2132283 + 2463;17724;856;986;137229473;2132283 + 2464;17735;856;987;137229473;2150018 + 2465;17736;856;987;137229473;2150018 + 2466;17748;856;987;137229473;2150018 + 2467;17752;856;988;137229473;2167770 + 2468;17760;856;988;137229473;2167770 + 2469;17768;856;989;137229473;2185538 + 2470;17772;856;989;137229473;2185538 + 2471;17784;856;989;137229473;2185538 + 2472;17790;863;990;135859771;2095381 + 2473;17796;863;990;135859771;2095381 + 2474;17806;863;991;135859771;2113187 + 2475;17808;863;991;135859771;2113187 + 2476;17820;863;991;135859771;2113187 + 2477;17820;863;992;135859771;2131007 + 2478;17832;863;992;135859771;2131007 + 2479;17844;863;992;135859771;2131007 + 2480;17844;863;993;135859771;2148851 + 2481;17856;863;993;135859771;2148851 + 2482;17866;863;994;135859771;2166717 + 2483;17868;863;994;135859771;2166717 + 2484;17880;863;994;135859771;2166717 + 2485;17889;866;995;134966892;2138094 + 2486;17892;866;995;134966892;2138094 + 2487;17904;866;995;134966892;2138094 + 2488;17908;866;996;134966892;2156002 + 2489;17916;866;996;134966892;2156002 + 2490;17927;866;997;134966892;2173929 + 2491;17928;866;997;134966892;2173929 + 2492;17940;866;997;134966892;2173929 + 2493;17944;866;998;134966892;2191873 + 2494;17952;866;998;134966892;2191873 + 2495;17963;866;999;134966892;2209836 + 2496;17964;866;999;134966892;2209836 + 2497;17976;873;999;136378725;2100730 + 2498;17982;873;1000;136378725;2118712 + 2499;17988;873;1000;136378725;2118712 + 2500;18000;873;1000;136378725;2118712 + 2501;18004;873;1001;136378725;2136716 + 2502;18012;873;1001;136378725;2136716 + 2503;18022;873;1002;136378725;2154738 + 2504;18024;873;1002;136378725;2154738 + 2505;18036;873;1002;136378725;2154738 + 2506;18039;873;1003;136378725;2172777 + 2507;18048;873;1003;136378725;2172777 + 2508;18060;873;1003;136378725;2172777 + 2509;18063;873;1004;136378725;2190840 + 2510;18072;873;1004;136378725;2190840 + 2511;18080;873;1005;136378725;2208920 + 2512;18084;873;1005;136378725;2208920 + 2513;18096;873;1005;136378725;2208920 + 2514;18100;882;1006;140181184;2085381 + 2515;18108;882;1006;140181184;2085381 + 2516;18116;882;1007;140181184;2103497 + 2517;18120;882;1007;140181184;2103497 + 2518;18132;882;1007;140181184;2103497 + 2519;18132;882;1008;140181184;2121629 + 2520;18144;882;1008;140181184;2121629 + 2521;18148;886;1009;139975444;2076364 + 2522;18156;886;1009;139975444;2076364 + 2523;18166;886;1010;139975444;2094530 + 2524;18168;886;1010;139975444;2094530 + 2525;18178;886;1011;139975444;2112708 + 2526;18180;886;1011;139975444;2112708 + 2527;18192;886;1011;139975444;2112708 + 2528;18198;889;1012;139155499;2083135 + 2529;18204;889;1012;139155499;2083135 + 2530;18216;889;1012;139155499;2083135 + 2531;18220;889;1013;139155499;2101355 + 2532;18228;889;1013;139155499;2101355 + 2533;18234;889;1014;139155499;2119589 + 2534;18240;889;1014;139155499;2119589 + 2535;18252;889;1014;139155499;2119589 + 2536;18255;889;1015;139155499;2137844 + 2537;18264;889;1015;139155499;2137844 + 2538;18272;889;1016;139155499;2156116 + 2539;18276;889;1016;139155499;2156116 + 2540;18288;889;1016;139155499;2156116 + 2541;18290;889;1017;139155499;2174406 + 2542;18300;889;1017;139155499;2174406 + 2543;18303;889;1018;139155499;2192709 + 2544;18312;889;1018;139155499;2192709 + 2545;18324;889;1018;139155499;2192709 + 2546;18327;889;1019;139155499;2211036 + 2547;18336;889;1019;139155499;2211036 + 2548;18343;889;1020;139155499;2229379 + 2549;18348;889;1020;139155499;2229379 + 2550;18359;889;1021;139155499;2247738 + 2551;18360;889;1021;139155499;2247738 + 2552;18372;889;1021;139155499;2247738 + 2553;18377;889;1022;139155499;2266115 + 2554;18384;889;1022;139155499;2266115 + 2555;18389;889;1023;139155499;2284504 + 2556;18396;889;1023;139155499;2284504 + 2557;18408;889;1023;139155499;2284504 + 2558;18409;889;1024;139155499;2302913 + 2559;18420;897;1024;140317050;2174772 + 2560;18423;897;1025;140317050;2193195 + 2561;18432;897;1025;140317050;2193195 + 2562;18436;897;1026;140317050;2211631 + 2563;18444;897;1026;140317050;2211631 + 2564;18451;897;1027;140317050;2230082 + 2565;18456;897;1027;140317050;2230082 + 2566;18468;897;1027;140317050;2230082 + 2567;18474;897;1028;140317050;2248556 + 2568;18480;897;1028;140317050;2248556 + 2569;18492;903;1028;139525622;2151663 + 2570;18498;905;1029;138912190;2137705 + 2571;18504;905;1029;138912190;2137705 + 2572;18516;905;1029;138912190;2137705 + 2573;18519;905;1030;138912190;2156224 + 2574;18528;905;1030;138912190;2156224 + 2575;18540;907;1030;140124247;2123710 + 2576;18541;907;1031;140124247;2142251 + 2577;18552;907;1031;140124247;2142251 + 2578;18561;907;1032;140124247;2160812 + 2579;18564;907;1032;140124247;2160812 + 2580;18575;907;1033;140124247;2179387 + 2581;18576;907;1033;140124247;2179387 + 2582;18588;907;1033;140124247;2179387 + 2583;18594;907;1034;140124247;2197981 + 2584;18600;907;1034;140124247;2197981 + 2585;18608;907;1035;140124247;2216589 + 2586;18612;907;1035;140124247;2216589 + 2587;18624;907;1035;140124247;2216589 + 2588;18625;907;1036;140124247;2235214 + 2589;18636;907;1036;140124247;2235214 + 2590;18642;907;1037;140124247;2253856 + 2591;18648;907;1037;140124247;2253856 + 2592;18660;907;1037;140124247;2253856 + 2593;18660;907;1038;140124247;2272516 + 2594;18672;907;1038;140124247;2272516 + 2595;18676;907;1039;140124247;2291192 + 2596;18684;907;1039;140124247;2291192 + 2597;18690;907;1040;140124247;2309882 + 2598;18696;907;1040;140124247;2309882 + 2599;18706;907;1041;140124247;2328588 + 2600;18708;907;1041;140124247;2328588 + 2601;18720;907;1041;140124247;2328588 + 2602;18722;907;1042;140124247;2347310 + 2603;18732;907;1042;140124247;2347310 + 2604;18739;913;1043;140071710;2268093 + 2605;18744;913;1043;140071710;2268093 + 2606;18754;913;1044;140071710;2286847 + 2607;18756;913;1044;140071710;2286847 + 2608;18768;913;1044;140071710;2286847 + 2609;18776;913;1045;140071710;2305623 + 2610;18780;913;1045;140071710;2305623 + 2611;18791;913;1046;140071710;2324414 + 2612;18792;913;1046;140071710;2324414 + 2613;18804;913;1046;140071710;2324414 + 2614;18806;913;1047;140071710;2343220 + 2615;18816;913;1047;140071710;2343220 + 2616;18823;913;1048;140071710;2362043 + 2617;18828;913;1048;140071710;2362043 + 2618;18840;917;1048;142104224;2296335 + 2619;18844;917;1049;142104224;2315179 + 2620;18852;917;1049;142104224;2315179 + 2621;18859;917;1050;142104224;2334038 + 2622;18864;917;1050;142104224;2334038 + 2623;18873;917;1051;142104224;2352911 + 2624;18876;917;1051;142104224;2352911 + 2625;18888;917;1051;142104224;2352911 + 2626;18896;923;1052;142126429;2272651 + 2627;18900;923;1052;142126429;2272651 + 2628;18912;923;1052;142126429;2272651 + 2629;18915;923;1053;142126429;2291566 + 2630;18924;923;1053;142126429;2291566 + 2631;18932;923;1054;142126429;2310498 + 2632;18936;923;1054;142126429;2310498 + 2633;18948;923;1054;142126429;2310498 + 2634;18952;923;1055;142126429;2329450 + 2635;18960;923;1055;142126429;2329450 + 2636;18972;923;1055;142126429;2329450 + 2637;18972;923;1056;142126429;2348422 + 2638;18984;923;1056;142126429;2348422 + 2639;18991;928;1057;141931139;2284281 + 2640;18996;928;1057;141931139;2284281 + 2641;19006;928;1058;141931139;2303287 + 2642;19008;928;1058;141931139;2303287 + 2643;19020;928;1058;141931139;2303287 + 2644;19027;928;1059;141931139;2322314 + 2645;19032;928;1059;141931139;2322314 + 2646;19044;928;1059;141931139;2322314 + 2647;19051;931;1060;143393415;2291271 + 2648;19056;931;1060;143393415;2291271 + 2649;19068;931;1060;143393415;2291271 + 2650;19069;934;1061;141944446;2260061 + 2651;19080;934;1061;141944446;2260061 + 2652;19087;934;1062;141944446;2279148 + 2653;19092;934;1062;141944446;2279148 + 2654;19104;939;1062;140760626;2195005 + 2655;19107;939;1063;140760626;2214112 + 2656;19116;939;1063;140760626;2214112 + 2657;19128;939;1063;140760626;2214112 + 2658;19128;939;1064;140760626;2233240 + 2659;19140;939;1064;140760626;2233240 + 2660;19152;943;1064;139390522;2165619 + 2661;19152;943;1065;139390522;2184771 + 2662;19164;943;1065;139390522;2184771 + 2663;19174;943;1066;139390522;2203945 + 2664;19176;943;1066;139390522;2203945 + 2665;19187;943;1067;139390522;2223132 + 2666;19188;943;1067;139390522;2223132 + 2667;19200;943;1067;139390522;2223132 + 2668;19207;943;1068;139390522;2242339 + 2669;19212;943;1068;139390522;2242339 + 2670;19219;943;1069;139390522;2261558 + 2671;19224;943;1069;139390522;2261558 + 2672;19236;943;1069;139390522;2261558 + 2673;19240;943;1070;139390522;2280798 + 2674;19248;943;1070;139390522;2280798 + 2675;19260;943;1070;139390522;2280798 + 2676;19261;943;1071;139390522;2300059 + 2677;19272;943;1071;139390522;2300059 + 2678;19274;943;1072;139390522;2319333 + 2679;19284;943;1072;139390522;2319333 + 2680;19286;943;1073;139390522;2338619 + 2681;19296;943;1073;139390522;2338619 + 2682;19300;943;1074;139390522;2357919 + 2683;19308;943;1074;139390522;2357919 + 2684;19320;943;1074;139390522;2357919 + 2685;19320;953;1075;135203291;2207037 + 2686;19332;954;1075;134222418;2189918 + 2687;19334;954;1076;134222418;2209252 + 2688;19344;954;1076;134222418;2209252 + 2689;19349;954;1077;134222418;2228601 + 2690;19356;954;1077;134222418;2228601 + 2691;19368;954;1077;134222418;2228601 + 2692;19370;954;1078;134222418;2247971 + 2693;19380;954;1078;134222418;2247971 + 2694;19392;954;1078;134222418;2247971 + 2695;19394;954;1079;134222418;2267365 + 2696;19404;954;1079;134222418;2267365 + 2697;19411;954;1080;134222418;2286776 + 2698;19416;954;1080;134222418;2286776 + 2699;19428;954;1080;134222418;2286776 + 2700;19435;954;1081;134222418;2306211 + 2701;19440;954;1081;134222418;2306211 + 2702;19452;954;1081;134222418;2306211 + 2703;19454;954;1082;134222418;2325665 + 2704;19464;954;1082;134222418;2325665 + 2705;19471;954;1083;134222418;2345136 + 2706;19476;954;1083;134222418;2345136 + 2707;19488;954;1083;134222418;2345136 + 2708;19493;954;1084;134222418;2364629 + 2709;19500;954;1084;134222418;2364629 + 2710;19509;954;1085;134222418;2384138 + 2711;19512;954;1085;134222418;2384138 + 2712;19524;954;1085;134222418;2384138 + 2713;19529;954;1086;134222418;2403667 + 2714;19536;954;1086;134222418;2403667 + 2715;19544;954;1087;134222418;2423211 + 2716;19548;954;1087;134222418;2423211 + 2717;19560;954;1087;134222418;2423211 + 2718;19560;954;1088;134222418;2442771 + 2719;19572;954;1088;134222418;2442771 + 2720;19575;956;1089;135423175;2428036 + 2721;19584;956;1089;135423175;2428036 + 2722;19595;958;1090;136762830;2413235 + 2723;19596;958;1090;136762830;2413235 + 2724;19608;958;1090;136762830;2413235 + 2725;19619;958;1091;136762830;2432854 + 2726;19620;958;1091;136762830;2432854 + 2727;19632;958;1091;136762830;2432854 + 2728;19633;961;1092;136801300;2400750 + 2729;19644;961;1092;136801300;2400750 + 2730;19645;961;1093;136801300;2420395 + 2731;19656;961;1093;136801300;2420395 + 2732;19665;965;1094;136711553;2370827 + 2733;19668;965;1094;136711553;2370827 + 2734;19680;965;1094;136711553;2370827 + 2735;19688;965;1095;136711553;2390515 + 2736;19692;965;1095;136711553;2390515 + 2737;19703;965;1096;136711553;2410218 + 2738;19704;965;1096;136711553;2410218 + 2739;19716;965;1096;136711553;2410218 + 2740;19718;965;1097;136711553;2429936 + 2741;19728;965;1097;136711553;2429936 + 2742;19740;965;1097;136711553;2429936 + 2743;19741;965;1098;136711553;2449677 + 2744;19752;965;1098;136711553;2449677 + 2745;19764;965;1098;136711553;2449677 + 2746;19764;965;1099;136711553;2469441 + 2747;19776;965;1099;136711553;2469441 + 2748;19788;965;1099;136711553;2469441 + 2749;19788;965;1100;136711553;2489229 + 2750;19800;973;1100;135881001;2349829 + 2751;19811;973;1101;135881001;2369640 + 2752;19812;973;1101;135881001;2369640 + 2753;19824;973;1101;135881001;2369640 + 2754;19832;973;1102;135881001;2389472 + 2755;19836;973;1102;135881001;2389472 + 2756;19848;973;1102;135881001;2389472 + 2757;19853;973;1103;135881001;2409325 + 2758;19860;975;1103;136127508;2374272 + 2759;19872;975;1103;136127508;2374272 + 2760;19872;975;1104;136127508;2394144 + 2761;19884;975;1104;136127508;2394144 + 2762;19889;975;1105;136127508;2414033 + 2763;19896;975;1105;136127508;2414033 + 2764;19901;975;1106;136127508;2433934 + 2765;19908;975;1106;136127508;2433934 + 2766;19915;975;1107;136127508;2453849 + 2767;19920;975;1107;136127508;2453849 + 2768;19932;975;1107;136127508;2453849 + 2769;19933;975;1108;136127508;2473782 + 2770;19944;975;1108;136127508;2473782 + 2771;19953;977;1109;138076897;2458604 + 2772;19956;977;1109;138076897;2458604 + 2773;19965;977;1110;138076897;2478569 + 2774;19968;977;1110;138076897;2478569 + 2775;19977;977;1111;138076897;2498546 + 2776;19980;977;1111;138076897;2498546 + 2777;19992;977;1111;138076897;2498546 + 2778;19999;977;1112;138076897;2518545 + 2779;20004;977;1112;138076897;2518545 + 2780;20013;986;1113;138795032;2379602 + 2781;20016;986;1113;138795032;2379602 + 2782;20028;986;1113;138795032;2379602 + 2783;20028;986;1114;138795032;2399630 + 2784;20040;986;1114;138795032;2399630 + 2785;20041;986;1115;138795032;2419671 + 2786;20052;986;1115;138795032;2419671 + 2787;20064;986;1115;138795032;2419671 + 2788;20064;986;1116;138795032;2439735 + 2789;20076;986;1116;138795032;2439735 + 2790;20083;986;1117;138795032;2459818 + 2791;20088;986;1117;138795032;2459818 + 2792;20096;986;1118;138795032;2479914 + 2793;20100;986;1118;138795032;2479914 + 2794;20112;986;1118;138795032;2479914 + 2795;20113;986;1119;138795032;2500027 + 2796;20124;986;1119;138795032;2500027 + 2797;20131;986;1120;138795032;2520158 + 2798;20136;986;1120;138795032;2520158 + 2799;20148;986;1120;138795032;2520158 + 2800;20150;986;1121;138795032;2540308 + 2801;20160;986;1121;138795032;2540308 + 2802;20164;992;1122;141749407;2453692 + 2803;20172;992;1122;141749407;2453692 + 2804;20184;992;1122;141749407;2453692 + 2805;20187;992;1123;141749407;2473879 + 2806;20196;992;1123;141749407;2473879 + 2807;20200;992;1124;141749407;2494079 + 2808;20208;992;1124;141749407;2494079 + 2809;20220;992;1124;141749407;2494079 + 2810;20221;992;1125;141749407;2514300 + 2811;20232;992;1125;141749407;2514300 + 2812;20234;992;1126;141749407;2534534 + 2813;20244;992;1126;141749407;2534534 + 2814;20252;992;1127;141749407;2554786 + 2815;20256;992;1127;141749407;2554786 + 2816;20265;992;1128;141749407;2575051 + 2817;20268;992;1128;141749407;2575051 + 2818;20280;992;1128;141749407;2575051 + 2819;20287;992;1129;141749407;2595338 + 2820;20292;992;1129;141749407;2595338 + 2821;20301;992;1130;141749407;2615639 + 2822;20304;992;1130;141749407;2615639 + 2823;20316;992;1130;141749407;2615639 + 2824;20322;992;1131;141749407;2635961 + 2825;20328;992;1131;141749407;2635961 + 2826;20339;994;1132;145224309;2620545 + 2827;20340;994;1132;145224309;2620545 + 2828;20352;994;1132;145224309;2620545 + 2829;20353;994;1133;145224309;2640898 + 2830;20364;994;1133;145224309;2640898 + 2831;20373;994;1134;145224309;2661271 + 2832;20376;994;1134;145224309;2661271 + 2833;20388;994;1134;145224309;2661271 + 2834;20393;1004;1135;144807389;2501732 + 2835;20400;1004;1135;144807389;2501732 + 2836;20408;1007;1136;142874555;2467792 + 2837;20412;1007;1136;142874555;2467792 + 2838;20424;1007;1136;142874555;2467792 + 2839;20425;1007;1137;142874555;2488217 + 2840;20436;1007;1137;142874555;2488217 + 2841;20447;1007;1138;142874555;2508664 + 2842;20448;1007;1138;142874555;2508664 + 2843;20460;1007;1138;142874555;2508664 + 2844;20470;1007;1139;142874555;2529134 + 2845;20472;1007;1139;142874555;2529134 + 2846;20484;1007;1139;142874555;2529134 + 2847;20487;1007;1140;142874555;2549621 + 2848;20496;1007;1140;142874555;2549621 + 2849;20507;1007;1141;142874555;2570128 + 2850;20508;1007;1141;142874555;2570128 + 2851;20520;1007;1141;142874555;2570128 + 2852;20530;1007;1142;142874555;2590658 + 2853;20532;1007;1142;142874555;2590658 + 2854;20544;1007;1142;142874555;2590658 + 2855;20552;1007;1143;142874555;2611210 + 2856;20556;1007;1143;142874555;2611210 + 2857;20566;1007;1144;142874555;2631776 + 2858;20568;1007;1144;142874555;2631776 + 2859;20580;1015;1144;140115489;2486105 + 2860;20582;1015;1145;140115489;2506687 + 2861;20592;1015;1145;140115489;2506687 + 2862;20604;1015;1145;140115489;2506687 + 2863;20605;1015;1146;140115489;2527292 + 2864;20616;1015;1146;140115489;2527292 + 2865;20627;1016;1147;141276224;2529629 + 2866;20628;1016;1147;141276224;2529629 + 2867;20640;1016;1147;141276224;2529629 + 2868;20650;1016;1148;141276224;2550279 + 2869;20652;1016;1148;141276224;2550279 + 2870;20664;1016;1148;141276224;2550279 + 2871;20672;1016;1149;141276224;2570951 + 2872;20676;1016;1149;141276224;2570951 + 2873;20688;1016;1149;141276224;2570951 + 2874;20689;1016;1150;141276224;2591640 + 2875;20700;1016;1150;141276224;2591640 + 2876;20705;1016;1151;141276224;2612345 + 2877;20712;1016;1151;141276224;2612345 + 2878;20724;1016;1151;141276224;2612345 + 2879;20728;1018;1152;142629200;2596443 + 2880;20736;1018;1152;142629200;2596443 + 2881;20748;1018;1152;142629200;2596443 + 2882;20751;1018;1153;142629200;2617194 + 2883;20760;1018;1153;142629200;2617194 + 2884;20771;1018;1154;142629200;2637965 + 2885;20772;1018;1154;142629200;2637965 + 2886;20784;1018;1154;142629200;2637965 + 2887;20795;1018;1155;142629200;2658760 + 2888;20796;1018;1155;142629200;2658760 + 2889;20808;1020;1155;145378692;2622058 + 2890;20811;1020;1156;145378692;2642869 + 2891;20820;1020;1156;145378692;2642869 + 2892;20832;1026;1156;150834884;2532384 + 2893;20832;1026;1157;150834884;2553216 + 2894;20844;1026;1157;150834884;2553216 + 2895;20845;1031;1158;148821598;2481468 + 2896;20856;1031;1158;148821598;2481468 + 2897;20858;1031;1159;148821598;2502326 + 2898;20868;1031;1159;148821598;2502326 + 2899;20874;1031;1160;148821598;2523200 + 2900;20880;1031;1160;148821598;2523200 + 2901;20887;1031;1161;148821598;2544087 + 2902;20892;1031;1161;148821598;2544087 + 2903;20904;1031;1161;148821598;2544087 + 2904;20905;1031;1162;148821598;2564992 + 2905;20916;1031;1162;148821598;2564992 + 2906;20928;1034;1162;150896173;2509215 + 2907;20928;1034;1163;150896173;2530143 + 2908;20940;1034;1163;150896173;2530143 + 2909;20948;1034;1164;150896173;2551091 + 2910;20952;1034;1164;150896173;2551091 + 2911;20964;1034;1164;150896173;2551091 + 2912;20972;1034;1165;150896173;2572063 + 2913;20976;1034;1165;150896173;2572063 + 2914;20988;1034;1165;150896173;2572063 + 2915;20989;1034;1166;150896173;2593052 + 2916;21000;1034;1166;150896173;2593052 + 2917;21004;1034;1167;150896173;2614056 + 2918;21012;1034;1167;150896173;2614056 + 2919;21019;1034;1168;150896173;2635075 + 2920;21024;1034;1168;150896173;2635075 + 2921;21036;1034;1168;150896173;2635075 + 2922;21037;1034;1169;150896173;2656112 + 2923;21048;1034;1169;150896173;2656112 + 2924;21055;1034;1170;150896173;2677167 + 2925;21060;1034;1170;150896173;2677167 + 2926;21072;1034;1170;150896173;2677167 + 2927;21074;1035;1171;152736927;2679616 + 2928;21084;1037;1171;156007566;2642314 + 2929;21088;1037;1172;156007566;2663402 + 2930;21096;1037;1172;156007566;2663402 + 2931;21108;1037;1172;156007566;2663402 + 2932;21110;1037;1173;156007566;2684512 + 2933;21120;1037;1173;156007566;2684512 + 2934;21128;1046;1174;163162764;2536980 + 2935;21132;1046;1174;163162764;2536980 + 2936;21144;1046;1174;163162764;2536980 + 2937;21145;1046;1175;163162764;2558125 + 2938;21156;1046;1175;163162764;2558125 + 2939;21164;1046;1176;163162764;2579289 + 2940;21168;1046;1176;163162764;2579289 + 2941;21180;1046;1176;163162764;2579289 + 2942;21188;1046;1177;163162764;2600477 + 2943;21192;1046;1177;163162764;2600477 + 2944;21204;1046;1177;163162764;2600477 + 2945;21212;1046;1178;163162764;2621689 + 2946;21216;1046;1178;163162764;2621689 + 2947;21226;1046;1179;163162764;2642915 + 2948;21228;1046;1179;163162764;2642915 + 2949;21240;1046;1179;163162764;2642915 + 2950;21246;1051;1180;164591559;2569866 + 2951;21252;1051;1180;164591559;2569866 + 2952;21264;1051;1180;164591559;2569866 + 2953;21267;1051;1181;164591559;2591133 + 2954;21276;1051;1181;164591559;2591133 + 2955;21285;1051;1182;164591559;2612418 + 2956;21288;1051;1182;164591559;2612418 + 2957;21300;1051;1182;164591559;2612418 + 2958;21306;1051;1183;164591559;2633724 + 2959;21312;1051;1183;164591559;2633724 + 2960;21321;1056;1184;166178208;2560283 + 2961;21324;1056;1184;166178208;2560283 + 2962;21336;1056;1184;166178208;2560283 + 2963;21339;1056;1185;166178208;2581622 + 2964;21348;1056;1185;166178208;2581622 + 2965;21357;1056;1186;166178208;2602979 + 2966;21360;1056;1186;166178208;2602979 + 2967;21372;1056;1186;166178208;2602979 + 2968;21375;1056;1187;166178208;2624354 + 2969;21384;1056;1187;166178208;2624354 + 2970;21388;1056;1188;166178208;2645742 + 2971;21396;1056;1188;166178208;2645742 + 2972;21408;1056;1188;166178208;2645742 + 2973;21408;1056;1189;166178208;2667150 + 2974;21420;1056;1189;166178208;2667150 + 2975;21427;1056;1190;166178208;2688577 + 2976;21432;1056;1190;166178208;2688577 + 2977;21444;1056;1190;166178208;2688577 + 2978;21445;1056;1191;166178208;2710022 + 2979;21456;1056;1191;166178208;2710022 + 2980;21458;1056;1192;166178208;2731480 + 2981;21468;1056;1192;166178208;2731480 + 2982;21471;1056;1193;166178208;2752951 + 2983;21480;1056;1193;166178208;2752951 + 2984;21484;1060;1194;168268473;2698282 + 2985;21492;1060;1194;168268473;2698282 + 2986;21497;1060;1195;168268473;2719779 + 2987;21504;1060;1195;168268473;2719779 + 2988;21516;1060;1195;168268473;2719779 + 2989;21520;1060;1196;168268473;2741299 + 2990;21528;1060;1196;168268473;2741299 + 2991;21540;1060;1196;168268473;2741299 + 2992;21541;1060;1197;168268473;2762840 + 2993;21552;1060;1197;168268473;2762840 + 2994;21553;1060;1198;168268473;2784393 + 2995;21564;1066;1198;165277067;2669558 + 2996;21575;1066;1199;165277067;2691133 + 2997;21576;1066;1199;165277067;2691133 + 2998;21587;1066;1200;165277067;2712720 + 2999;21588;1066;1200;165277067;2712720 + 3000;21600;1066;1200;165277067;2712720 + 3001;21605;1066;1201;165277067;2734325 + 3002;21612;1066;1201;165277067;2734325 + 3003;21620;1066;1202;165277067;2755945 + 3004;21624;1066;1202;165277067;2755945 + 3005;21633;1066;1203;165277067;2777578 + 3006;21636;1066;1203;165277067;2777578 + 3007;21648;1066;1203;165277067;2777578 + 3008;21651;1066;1204;165277067;2799229 + 3009;21660;1066;1204;165277067;2799229 + 3010;21668;1066;1205;165277067;2820897 + 3011;21672;1066;1205;165277067;2820897 + 3012;21684;1066;1205;165277067;2820897 + 3013;21684;1074;1206;167958514;2688474 + 3014;21696;1074;1206;167958514;2688474 + 3015;21701;1074;1207;167958514;2710175 + 3016;21708;1074;1207;167958514;2710175 + 3017;21719;1074;1208;167958514;2731894 + 3018;21720;1074;1208;167958514;2731894 + 3019;21732;1074;1208;167958514;2731894 + 3020;21737;1079;1209;170662131;2656773 + 3021;21744;1079;1209;170662131;2656773 + 3022;21756;1079;1209;170662131;2656773 + 3023;21759;1079;1210;170662131;2678532 + 3024;21768;1079;1210;170662131;2678532 + 3025;21777;1079;1211;170662131;2700309 + 3026;21780;1079;1211;170662131;2700309 + 3027;21789;1079;1212;170662131;2722098 + 3028;21792;1079;1212;170662131;2722098 + 3029;21801;1079;1213;170662131;2743899 + 3030;21804;1079;1213;170662131;2743899 + 3031;21816;1079;1213;170662131;2743899 + 3032;21824;1086;1214;174316612;2629288 + 3033;21828;1086;1214;174316612;2629288 + 3034;21840;1086;1214;174316612;2629288 + 3035;21848;1086;1215;174316612;2651136 + 3036;21852;1086;1215;174316612;2651136 + 3037;21864;1094;1215;169540529;2494156 + 3038;21868;1094;1216;169540529;2516024 + 3039;21876;1094;1216;169540529;2516024 + 3040;21888;1094;1216;169540529;2516024 + 3041;21888;1094;1217;169540529;2537912 + 3042;21900;1094;1217;169540529;2537912 + 3043;21907;1094;1218;169540529;2559819 + 3044;21912;1094;1218;169540529;2559819 + 3045;21924;1094;1218;169540529;2559819 + 3046;21927;1094;1219;169540529;2581746 + 3047;21936;1094;1219;169540529;2581746 + 3048;21942;1097;1220;168442089;2544526 + 3049;21948;1097;1220;168442089;2544526 + 3050;21960;1097;1220;168442089;2544526 + 3051;21964;1097;1221;168442089;2566490 + 3052;21972;1097;1221;168442089;2566490 + 3053;21984;1097;1221;168442089;2566490 + 3054;21985;1097;1222;168442089;2588475 + 3055;21996;1097;1222;168442089;2588475 + 3056;22004;1097;1223;168442089;2610479 + 3057;22008;1097;1223;168442089;2610479 + 3058;22017;1097;1224;168442089;2632496 + 3059;22020;1097;1224;168442089;2632496 + 3060;22032;1097;1224;168442089;2632496 + 3061;22040;1097;1225;168442089;2654536 + 3062;22044;1097;1225;168442089;2654536 + 3063;22056;1097;1225;168442089;2654536 + 3064;22060;1097;1226;168442089;2676596 + 3065;22068;1097;1226;168442089;2676596 + 3066;22074;1097;1227;168442089;2698670 + 3067;22080;1097;1227;168442089;2698670 + 3068;22089;1098;1228;169805643;2700995 + 3069;22092;1098;1228;169805643;2700995 + 3070;22101;1098;1229;169805643;2723096 + 3071;22104;1098;1229;169805643;2723096 + 3072;22116;1098;1229;169805643;2723096 + 3073;22120;1098;1230;169805643;2745216 + 3074;22128;1098;1230;169805643;2745216 + 3075;22140;1098;1230;169805643;2745216 + 3076;22142;1098;1231;169805643;2767358 + 3077;22152;1098;1231;169805643;2767358 + 3078;22155;1098;1232;169805643;2789513 + 3079;22164;1098;1232;169805643;2789513 + 3080;22176;1098;1232;169805643;2789513 + 3081;22178;1098;1233;169805643;2811691 + 3082;22188;1098;1233;169805643;2811691 + 3083;22195;1098;1234;169805643;2833886 + 3084;22200;1098;1234;169805643;2833886 + 3085;22212;1098;1234;169805643;2833886 + 3086;22214;1107;1235;169439894;2677306 + 3087;22224;1107;1235;169439894;2677306 + 3088;22230;1107;1236;169439894;2699536 + 3089;22236;1107;1236;169439894;2699536 + 3090;22244;1107;1237;169439894;2721780 + 3091;22248;1107;1237;169439894;2721780 + 3092;22259;1107;1238;169439894;2744039 + 3093;22260;1107;1238;169439894;2744039 + 3094;22272;1107;1238;169439894;2744039 + 3095;22277;1107;1239;169439894;2766316 + 3096;22284;1107;1239;169439894;2766316 + 3097;22296;1107;1239;169439894;2766316 + 3098;22299;1107;1240;169439894;2788615 + 3099;22308;1107;1240;169439894;2788615 + 3100;22316;1107;1241;169439894;2810931 + 3101;22320;1107;1241;169439894;2810931 + 3102;22332;1107;1241;169439894;2810931 + 3103;22332;1107;1242;169439894;2833263 + 3104;22344;1107;1242;169439894;2833263 + 3105;22344;1107;1243;169439894;2855607 + 3106;22356;1107;1243;169439894;2855607 + 3107;22359;1107;1244;169439894;2877966 + 3108;22368;1107;1244;169439894;2877966 + 3109;22378;1109;1245;171952282;2860426 + 3110;22380;1109;1245;171952282;2860426 + 3111;22392;1109;1245;171952282;2860426 + 3112;22397;1109;1246;171952282;2882823 + 3113;22404;1109;1246;171952282;2882823 + 3114;22414;1109;1247;171952282;2905237 + 3115;22416;1109;1247;171952282;2905237 + 3116;22428;1109;1247;171952282;2905237 + 3117;22429;1119;1248;170790175;2727121 + 3118;22440;1121;1248;170422306;2686807 + 3119;22444;1121;1249;170422306;2709251 + 3120;22452;1121;1249;170422306;2709251 + 3121;22463;1121;1250;170422306;2731714 + 3122;22464;1121;1250;170422306;2731714 + 3123;22476;1121;1250;170422306;2731714 + 3124;22483;1121;1251;170422306;2754197 + 3125;22488;1121;1251;170422306;2754197 + 3126;22500;1121;1251;170422306;2754197 + 3127;22505;1121;1252;170422306;2776702 + 3128;22512;1121;1252;170422306;2776702 + 3129;22524;1121;1252;170422306;2776702 + 3130;22524;1121;1253;170422306;2799226 + 3131;22536;1121;1253;170422306;2799226 + 3132;22536;1121;1254;170422306;2821762 + 3133;22548;1121;1254;170422306;2821762 + 3134;22552;1121;1255;170422306;2844314 + 3135;22560;1121;1255;170422306;2844314 + 3136;22567;1121;1256;170422306;2866881 + 3137;22572;1121;1256;170422306;2866881 + 3138;22584;1121;1256;170422306;2866881 + 3139;22587;1121;1257;170422306;2889468 + 3140;22596;1121;1257;170422306;2889468 + 3141;22608;1121;1257;170422306;2889468 + 3142;22609;1121;1258;170422306;2912077 + 3143;22620;1121;1258;170422306;2912077 + 3144;22632;1121;1258;170422306;2912077 + 3145;22632;1121;1259;170422306;2934709 + 3146;22644;1121;1259;170422306;2934709 + 3147;22652;1121;1260;170422306;2957361 + 3148;22656;1121;1260;170422306;2957361 + 3149;22668;1131;1260;169614719;2754753 + 3150;22669;1133;1261;167340307;2736696 + 3151;22680;1133;1261;167340307;2736696 + 3152;22690;1137;1262;168863721;2677713 + 3153;22692;1137;1262;168863721;2677713 + 3154;22704;1137;1262;168863721;2677713 + 3155;22711;1137;1263;168863721;2700424 + 3156;22716;1137;1263;168863721;2700424 + 3157;22723;1137;1264;168863721;2723147 + 3158;22728;1137;1264;168863721;2723147 + 3159;22740;1137;1264;168863721;2723147 + 3160;22742;1137;1265;168863721;2745889 + 3161;22752;1137;1265;168863721;2745889 + 3162;22763;1137;1266;168863721;2768652 + 3163;22764;1137;1266;168863721;2768652 + 3164;22776;1137;1266;168863721;2768652 + 3165;22779;1137;1267;168863721;2791431 + 3166;22788;1137;1267;168863721;2791431 + 3167;22798;1137;1268;168863721;2814229 + 3168;22800;1137;1268;168863721;2814229 + 3169;22812;1137;1268;168863721;2814229 + 3170;22812;1137;1269;168863721;2837041 + 3171;22824;1137;1269;168863721;2837041 + 3172;22827;1144;1270;166469275;2716174 + 3173;22836;1144;1270;166469275;2716174 + 3174;22846;1144;1271;166469275;2739020 + 3175;22848;1144;1271;166469275;2739020 + 3176;22860;1144;1271;166469275;2739020 + 3177;22870;1144;1272;166469275;2761890 + 3178;22872;1144;1272;166469275;2761890 + 3179;22884;1144;1272;166469275;2761890 + 3180;22886;1144;1273;166469275;2784776 + 3181;22896;1144;1273;166469275;2784776 + 3182;22904;1144;1274;166469275;2807680 + 3183;22908;1144;1274;166469275;2807680 + 3184;22920;1144;1274;166469275;2807680 + 3185;22925;1144;1275;166469275;2830605 + 3186;22932;1144;1275;166469275;2830605 + 3187;22944;1147;1275;169196499;2768723 + 3188;22949;1147;1276;169196499;2791672 + 3189;22956;1147;1276;169196499;2791672 + 3190;22965;1147;1277;169196499;2814637 + 3191;22968;1147;1277;169196499;2814637 + 3192;22980;1147;1277;169196499;2814637 + 3193;22987;1147;1278;169196499;2837624 + 3194;22992;1147;1278;169196499;2837624 + 3195;23003;1147;1279;169196499;2860627 + 3196;23004;1147;1279;169196499;2860627 + 3197;23016;1147;1279;169196499;2860627 + 3198;23018;1147;1280;169196499;2883645 + 3199;23028;1147;1280;169196499;2883645 + 3200;23040;1147;1280;169196499;2883645 + 3201;23040;1147;1281;169196499;2906685 + 3202;23052;1147;1281;169196499;2906685 + 3203;23057;1147;1282;169196499;2929742 + 3204;23064;1147;1282;169196499;2929742 + 3205;23076;1147;1282;169196499;2929742 + 3206;23081;1147;1283;169196499;2952823 + 3207;23088;1147;1283;169196499;2952823 + 3208;23100;1147;1283;169196499;2952823 + 3209;23101;1147;1284;169196499;2975924 + 3210;23112;1147;1284;169196499;2975924 + 3211;23123;1153;1285;171898555;2874731 + 3212;23124;1153;1285;171898555;2874731 + 3213;23136;1153;1285;171898555;2874731 + 3214;23137;1153;1286;171898555;2897868 + 3215;23148;1153;1286;171898555;2897868 + 3216;23158;1153;1287;171898555;2921026 + 3217;23160;1153;1287;171898555;2921026 + 3218;23172;1153;1287;171898555;2921026 + 3219;23180;1153;1288;171898555;2944206 + 3220;23184;1153;1288;171898555;2944206 + 3221;23193;1161;1289;173165582;2800592 + 3222;23196;1161;1289;173165582;2800592 + 3223;23208;1161;1289;173165582;2800592 + 3224;23212;1161;1290;173165582;2823804 + 3225;23220;1161;1290;173165582;2823804 + 3226;23230;1161;1291;173165582;2847034 + 3227;23232;1161;1291;173165582;2847034 + 3228;23244;1161;1291;173165582;2847034 + 3229;23248;1161;1292;173165582;2870282 + 3230;23256;1161;1292;173165582;2870282 + 3231;23268;1163;1292;173745573;2828406 + 3232;23269;1163;1293;173745573;2851675 + 3233;23280;1163;1293;173745573;2851675 + 3234;23284;1163;1294;173745573;2874959 + 3235;23292;1163;1294;173745573;2874959 + 3236;23304;1163;1294;173745573;2874959 + 3237;23306;1163;1295;173745573;2898265 + 3238;23316;1163;1295;173745573;2898265 + 3239;23325;1163;1296;173745573;2921590 + 3240;23328;1163;1296;173745573;2921590 + 3241;23340;1163;1296;173745573;2921590 + 3242;23349;1163;1297;173745573;2944939 + 3243;23352;1163;1297;173745573;2944939 + 3244;23364;1163;1297;173745573;2944939 + 3245;23371;1163;1298;173745573;2968310 + 3246;23376;1163;1298;173745573;2968310 + 3247;23388;1163;1298;173745573;2968310 + 3248;23388;1163;1299;173745573;2991698 + 3249;23400;1163;1299;173745573;2991698 + 3250;23405;1173;1300;172248079;2804627 + 3251;23412;1178;1300;170603476;2698692 + 3252;23424;1178;1300;170603476;2698692 + 3253;23425;1178;1301;170603476;2722117 + 3254;23436;1178;1301;170603476;2722117 + 3255;23439;1178;1302;170603476;2745556 + 3256;23448;1178;1302;170603476;2745556 + 3257;23457;1178;1303;170603476;2769013 + 3258;23460;1178;1303;170603476;2769013 + 3259;23472;1178;1303;170603476;2769013 + 3260;23476;1178;1304;170603476;2792489 + 3261;23484;1178;1304;170603476;2792489 + 3262;23496;1178;1304;170603476;2792489 + 3263;23498;1178;1305;170603476;2815987 + 3264;23508;1178;1305;170603476;2815987 + 3265;23516;1178;1306;170603476;2839503 + 3266;23520;1178;1306;170603476;2839503 + 3267;23532;1178;1306;170603476;2839503 + 3268;23539;1178;1307;170603476;2863042 + 3269;23544;1178;1307;170603476;2863042 + 3270;23553;1178;1308;170603476;2886595 + 3271;23556;1178;1308;170603476;2886595 + 3272;23568;1178;1308;170603476;2886595 + 3273;23570;1178;1309;170603476;2910165 + 3274;23580;1178;1309;170603476;2910165 + 3275;23590;1178;1310;170603476;2933755 + 3276;23592;1178;1310;170603476;2933755 + 3277;23604;1178;1310;170603476;2933755 + 3278;23606;1178;1311;170603476;2957361 + 3279;23616;1178;1311;170603476;2957361 + 3280;23619;1178;1312;170603476;2980980 + 3281;23628;1178;1312;170603476;2980980 + 3282;23633;1178;1313;170603476;3004613 + 3283;23640;1178;1313;170603476;3004613 + 3284;23652;1178;1313;170603476;3004613 + 3285;23652;1178;1314;170603476;3028265 + 3286;23664;1178;1314;170603476;3028265 + 3287;23670;1178;1315;170603476;3051935 + 3288;23676;1178;1315;170603476;3051935 + 3289;23687;1178;1316;170603476;3075622 + 3290;23688;1178;1316;170603476;3075622 + 3291;23700;1178;1316;170603476;3075622 + 3292;23705;1193;1317;168858444;2778750 + 3293;23712;1193;1317;168858444;2778750 + 3294;23719;1193;1318;168858444;2802469 + 3295;23724;1193;1318;168858444;2802469 + 3296;23731;1193;1319;168858444;2826200 + 3297;23736;1193;1319;168858444;2826200 + 3298;23748;1193;1319;168858444;2826200 + 3299;23753;1193;1320;168858444;2849953 + 3300;23760;1193;1320;168858444;2849953 + 3301;23772;1193;1320;168858444;2849953 + 3302;23773;1193;1321;168858444;2873726 + 3303;23784;1193;1321;168858444;2873726 + 3304;23793;1193;1322;168858444;2897519 + 3305;23796;1193;1322;168858444;2897519 + 3306;23808;1193;1322;168858444;2897519 + 3307;23813;1193;1323;168858444;2921332 + 3308;23820;1193;1323;168858444;2921332 + 3309;23832;1193;1323;168858444;2921332 + 3310;23836;1193;1324;168858444;2945168 + 3311;23844;1193;1324;168858444;2945168 + 3312;23851;1193;1325;168858444;2969019 + 3313;23856;1193;1325;168858444;2969019 + 3314;23868;1193;1325;168858444;2969019 + 3315;23874;1193;1326;168858444;2992893 + 3316;23880;1193;1326;168858444;2992893 + 3317;23888;1193;1327;168858444;3016781 + 3318;23892;1193;1327;168858444;3016781 + 3319;23900;1193;1328;168858444;3040681 + 3320;23904;1193;1328;168858444;3040681 + 3321;23916;1196;1328;172911432;2976123 + 3322;23916;1196;1329;172911432;3000039 + 3323;23928;1196;1329;172911432;3000039 + 3324;23932;1196;1330;172911432;3023971 + 3325;23940;1196;1330;172911432;3023971 + 3326;23952;1196;1330;172911432;3023971 + 3327;23955;1196;1331;172911432;3047926 + 3328;23964;1196;1331;172911432;3047926 + 3329;23971;1196;1332;172911432;3071897 + 3330;23976;1196;1332;172911432;3071897 + 3331;23988;1196;1332;172911432;3071897 + 3332;23993;1196;1333;172911432;3095890 + 3333;24000;1196;1333;172911432;3095890 + 3334;24012;1196;1333;172911432;3095890 + 3335;24015;1196;1334;172911432;3119905 + 3336;24024;1196;1334;172911432;3119905 + 3337;24033;1209;1335;167911282;2862446 + 3338;24036;1209;1335;167911282;2862446 + 3339;24048;1209;1335;167911282;2862446 + 3340;24051;1209;1336;167911282;2886497 + 3341;24060;1209;1336;167911282;2886497 + 3342;24063;1209;1337;167911282;2910560 + 3343;24072;1209;1337;167911282;2910560 + 3344;24084;1209;1337;167911282;2910560 + 3345;24084;1209;1338;167911282;2934644 + 3346;24096;1209;1338;167911282;2934644 + 3347;24104;1209;1339;167911282;2958748 + 3348;24108;1209;1339;167911282;2958748 + 3349;24117;1209;1340;167911282;2982865 + 3350;24120;1209;1340;167911282;2982865 + 3351;24132;1209;1340;167911282;2982865 + 3352;24135;1209;1341;167911282;3007000 + 3353;24144;1209;1341;167911282;3007000 + 3354;24155;1209;1342;167911282;3031155 + 3355;24156;1209;1342;167911282;3031155 + 3356;24168;1209;1342;167911282;3031155 + 3357;24174;1209;1343;167911282;3055329 + 3358;24180;1209;1343;167911282;3055329 + 3359;24192;1209;1343;167911282;3055329 + 3360;24193;1209;1344;167911282;3079522 + 3361;24204;1209;1344;167911282;3079522 + 3362;24208;1209;1345;167911282;3103730 + 3363;24216;1209;1345;167911282;3103730 + 3364;24228;1209;1345;167911282;3103730 + 3365;24229;1216;1346;168016259;2975164 + 3366;24240;1216;1346;168016259;2975164 + 3367;24242;1216;1347;168016259;2999406 + 3368;24252;1216;1347;168016259;2999406 + 3369;24258;1216;1348;168016259;3023664 + 3370;24264;1216;1348;168016259;3023664 + 3371;24270;1216;1349;168016259;3047934 + 3372;24276;1216;1349;168016259;3047934 + 3373;24288;1216;1349;168016259;3047934 + 3374;24290;1216;1350;168016259;3072224 + 3375;24300;1216;1350;168016259;3072224 + 3376;24303;1216;1351;168016259;3096527 + 3377;24312;1216;1351;168016259;3096527 + 3378;24320;1216;1352;168016259;3120847 + 3379;24324;1225;1352;164596703;2923001 + 3380;24336;1225;1352;164596703;2923001 + 3381;24338;1225;1353;164596703;2947339 + 3382;24348;1225;1353;164596703;2947339 + 3383;24357;1225;1354;164596703;2971696 + 3384;24360;1225;1354;164596703;2971696 + 3385;24372;1225;1354;164596703;2971696 + 3386;24375;1225;1355;164596703;2996071 + 3387;24384;1225;1355;164596703;2996071 + 3388;24389;1225;1356;164596703;3020460 + 3389;24396;1225;1356;164596703;3020460 + 3390;24405;1225;1357;164596703;3044865 + 3391;24408;1225;1357;164596703;3044865 + 3392;24419;1225;1358;164596703;3069284 + 3393;24420;1225;1358;164596703;3069284 + 3394;24432;1225;1358;164596703;3069284 + 3395;24432;1225;1359;164596703;3093716 + 3396;24444;1225;1359;164596703;3093716 + 3397;24450;1225;1360;164596703;3118166 + 3398;24456;1225;1360;164596703;3118166 + 3399;24468;1225;1360;164596703;3118166 + 3400;24473;1225;1361;164596703;3142639 + 3401;24480;1225;1361;164596703;3142639 + 3402;24492;1225;1361;164596703;3142639 + 3403;24497;1233;1362;166635827;2990082 + 3404;24504;1233;1362;166635827;2990082 + 3405;24511;1233;1363;166635827;3014593 + 3406;24516;1233;1363;166635827;3014593 + 3407;24528;1233;1363;166635827;3014593 + 3408;24534;1233;1364;166635827;3039127 + 3409;24540;1233;1364;166635827;3039127 + 3410;24552;1233;1364;166635827;3039127 + 3411;24556;1233;1365;166635827;3063683 + 3412;24564;1233;1365;166635827;3063683 + 3413;24576;1233;1365;166635827;3063683 + 3414;24577;1233;1366;166635827;3088260 + 3415;24588;1233;1366;166635827;3088260 + 3416;24593;1233;1367;166635827;3112853 + 3417;24600;1233;1367;166635827;3112853 + 3418;24612;1233;1367;166635827;3112853 + 3419;24614;1233;1368;166635827;3137467 + 3420;24624;1233;1368;166635827;3137467 + 3421;24634;1233;1369;166635827;3162101 + 3422;24636;1233;1369;166635827;3162101 + 3423;24648;1233;1369;166635827;3162101 + 3424;24648;1243;1370;164694461;2963875 + 3425;24660;1243;1370;164694461;2963875 + 3426;24667;1243;1371;164694461;2988542 + 3427;24672;1243;1371;164694461;2988542 + 3428;24683;1243;1372;164694461;3013225 + 3429;24684;1243;1372;164694461;3013225 + 3430;24696;1243;1372;164694461;3013225 + 3431;24702;1243;1373;164694461;3037927 + 3432;24708;1243;1373;164694461;3037927 + 3433;24715;1243;1374;164694461;3062642 + 3434;24720;1243;1374;164694461;3062642 + 3435;24732;1243;1374;164694461;3062642 + 3436;24738;1243;1375;164694461;3087380 + 3437;24744;1243;1375;164694461;3087380 + 3438;24756;1243;1375;164694461;3087380 + 3439;24761;1253;1376;165282232;2887568 + 3440;24768;1253;1376;165282232;2887568 + 3441;24780;1253;1376;165282232;2887568 + 3442;24781;1253;1377;165282232;2912349 + 3443;24792;1253;1377;165282232;2912349 + 3444;24797;1253;1378;165282232;2937146 + 3445;24804;1253;1378;165282232;2937146 + 3446;24816;1253;1378;165282232;2937146 + 3447;24817;1253;1379;165282232;2961963 + 3448;24828;1253;1379;165282232;2961963 + 3449;24830;1253;1380;165282232;2986793 + 3450;24840;1253;1380;165282232;2986793 + 3451;24844;1256;1381;165846184;2943931 + 3452;24852;1256;1381;165846184;2943931 + 3453;24861;1256;1382;165846184;2968792 + 3454;24864;1256;1382;165846184;2968792 + 3455;24876;1256;1382;165846184;2968792 + 3456;24880;1256;1383;165846184;2993672 + 3457;24888;1256;1383;165846184;2993672 + 3458;24894;1256;1384;165846184;3018566 + 3459;24900;1256;1384;165846184;3018566 + 3460;24912;1256;1384;165846184;3018566 + 3461;24912;1256;1385;165846184;3043478 + 3462;24924;1256;1385;165846184;3043478 + 3463;24928;1256;1386;165846184;3068406 + 3464;24936;1256;1386;165846184;3068406 + 3465;24948;1256;1386;165846184;3068406 + 3466;24948;1256;1387;165846184;3093354 + 3467;24960;1256;1387;165846184;3093354 + 3468;24960;1261;1388;165473450;3005062 + 3469;24972;1261;1388;165473450;3005062 + 3470;24978;1261;1389;165473450;3030040 + 3471;24984;1261;1389;165473450;3030040 + 3472;24992;1261;1390;165473450;3055032 + 3473;24996;1261;1390;165473450;3055032 + 3474;25008;1261;1390;165473450;3055032 + 3475;25015;1261;1391;165473450;3080047 + 3476;25020;1261;1391;165473450;3080047 + 3477;25031;1261;1392;165473450;3105078 + 3478;25032;1261;1392;165473450;3105078 + 3479;25044;1261;1392;165473450;3105078 + 3480;25051;1261;1393;165473450;3130129 + 3481;25056;1261;1393;165473450;3130129 + 3482;25064;1261;1394;165473450;3155193 + 3483;25068;1261;1394;165473450;3155193 + 3484;25080;1261;1394;165473450;3155193 + 3485;25083;1261;1395;165473450;3180276 + 3486;25092;1261;1395;165473450;3180276 + 3487;25104;1261;1395;165473450;3180276 + 3488;25106;1261;1396;165473450;3205382 + 3489;25116;1261;1396;165473450;3205382 + 3490;25119;1261;1397;165473450;3230501 + 3491;25128;1261;1397;165473450;3230501 + 3492;25140;1261;1397;165473450;3230501 + 3493;25143;1275;1398;164001120;2936109 + 3494;25152;1275;1398;164001120;2936109 + 3495;25160;1275;1399;164001120;2961269 + 3496;25164;1275;1399;164001120;2961269 + 3497;25176;1275;1399;164001120;2961269 + 3498;25183;1282;1400;161231627;2825301 + 3499;25188;1282;1400;161231627;2825301 + 3500;25200;1282;1400;161231627;2825301 + 3501;25206;1282;1401;161231627;2850507 + 3502;25212;1282;1401;161231627;2850507 + 3503;25222;1282;1402;161231627;2875729 + 3504;25224;1282;1402;161231627;2875729 + 3505;25234;1282;1403;161231627;2900963 + 3506;25236;1282;1403;161231627;2900963 + 3507;25247;1282;1404;161231627;2926210 + 3508;25248;1282;1404;161231627;2926210 + 3509;25260;1282;1404;161231627;2926210 + 3510;25262;1282;1405;161231627;2951472 + 3511;25272;1282;1405;161231627;2951472 + 3512;25278;1282;1406;161231627;2976750 + 3513;25284;1282;1406;161231627;2976750 + 3514;25296;1282;1406;161231627;2976750 + 3515;25299;1282;1407;161231627;3002049 + 3516;25308;1282;1407;161231627;3002049 + 3517;25320;1282;1407;161231627;3002049 + 3518;25320;1282;1408;161231627;3027369 + 3519;25332;1282;1408;161231627;3027369 + 3520;25343;1282;1409;161231627;3052712 + 3521;25344;1282;1409;161231627;3052712 + 3522;25356;1282;1409;161231627;3052712 + 3523;25366;1282;1410;161231627;3078078 + 3524;25368;1282;1410;161231627;3078078 + 3525;25380;1282;1410;161231627;3078078 + 3526;25380;1282;1411;161231627;3103458 + 3527;25392;1282;1411;161231627;3103458 + 3528;25402;1282;1412;161231627;3128860 + 3529;25404;1282;1412;161231627;3128860 + 3530;25416;1282;1412;161231627;3128860 + 3531;25423;1282;1413;161231627;3154283 + 3532;25428;1282;1413;161231627;3154283 + 3533;25440;1282;1413;161231627;3154283 + 3534;25443;1282;1414;161231627;3179726 + 3535;25452;1282;1414;161231627;3179726 + 3536;25455;1282;1415;161231627;3205181 + 3537;25464;1282;1415;161231627;3205181 + 3538;25476;1282;1415;161231627;3205181 + 3539;25476;1282;1416;161231627;3230657 + 3540;25488;1282;1416;161231627;3230657 + 3541;25490;1282;1417;161231627;3256147 + 3542;25500;1282;1417;161231627;3256147 + 3543;25502;1282;1418;161231627;3281649 + 3544;25512;1282;1418;161231627;3281649 + 3545;25522;1285;1419;164802577;3237810 + 3546;25524;1285;1419;164802577;3237810 + 3547;25536;1285;1419;164802577;3237810 + 3548;25538;1285;1420;164802577;3263348 + 3549;25548;1285;1420;164802577;3263348 + 3550;25560;1285;1420;164802577;3263348 + 3551;25561;1285;1421;164802577;3288909 + 3552;25572;1285;1421;164802577;3288909 + 3553;25582;1285;1422;164802577;3314491 + 3554;25584;1285;1422;164802577;3314491 + 3555;25596;1285;1422;164802577;3314491 + 3556;25599;1295;1423;170448936;3107685 + 3557;25608;1300;1423;169085501;2990747 + 3558;25620;1300;1423;169085501;2990747 + 3559;25620;1300;1424;169085501;3016367 + 3560;25632;1300;1424;169085501;3016367 + 3561;25643;1300;1425;169085501;3042010 + 3562;25644;1300;1425;169085501;3042010 + 3563;25656;1300;1425;169085501;3042010 + 3564;25661;1300;1426;169085501;3067671 + 3565;25668;1300;1426;169085501;3067671 + 3566;25676;1300;1427;169085501;3093347 + 3567;25680;1300;1427;169085501;3093347 + 3568;25692;1300;1427;169085501;3093347 + 3569;25696;1300;1428;169085501;3119043 + 3570;25704;1300;1428;169085501;3119043 + 3571;25708;1300;1429;169085501;3144751 + 3572;25716;1300;1429;169085501;3144751 + 3573;25721;1300;1430;169085501;3170472 + 3574;25728;1300;1430;169085501;3170472 + 3575;25735;1300;1431;169085501;3196207 + 3576;25740;1300;1431;169085501;3196207 + 3577;25752;1300;1431;169085501;3196207 + 3578;25754;1300;1432;169085501;3221961 + 3579;25764;1300;1432;169085501;3221961 + 3580;25775;1300;1433;169085501;3247736 + 3581;25776;1300;1433;169085501;3247736 + 3582;25788;1300;1433;169085501;3247736 + 3583;25797;1300;1434;169085501;3273533 + 3584;25800;1300;1434;169085501;3273533 + 3585;25812;1300;1434;169085501;3273533 + 3586;25815;1305;1435;166438065;3181962 + 3587;25824;1305;1435;166438065;3181962 + 3588;25830;1305;1436;166438065;3207792 + 3589;25836;1305;1436;166438065;3207792 + 3590;25847;1305;1437;166438065;3233639 + 3591;25848;1305;1437;166438065;3233639 + 3592;25860;1305;1437;166438065;3233639 + 3593;25865;1309;1438;167272339;3165252 + 3594;25872;1309;1438;167272339;3165252 + 3595;25884;1309;1438;167272339;3165252 + 3596;25888;1309;1439;167272339;3191140 + 3597;25896;1309;1439;167272339;3191140 + 3598;25906;1309;1440;167272339;3217046 + 3599;25908;1309;1440;167272339;3217046 + 3600;25920;1309;1440;167272339;3217046 + 3601;25920;1309;1441;167272339;3242966 + 3602;25932;1309;1441;167272339;3242966 + 3603;25934;1309;1442;167272339;3268900 + 3604;25944;1309;1442;167272339;3268900 + 3605;25951;1309;1443;167272339;3294851 + 3606;25956;1309;1443;167272339;3294851 + 3607;25965;1309;1444;167272339;3320816 + 3608;25968;1309;1444;167272339;3320816 + 3609;25980;1309;1444;167272339;3320816 + 3610;25984;1319;1445;163035343;3110025 + 3611;25992;1319;1445;163035343;3110025 + 3612;26003;1319;1446;163035343;3136028 + 3613;26004;1319;1446;163035343;3136028 + 3614;26016;1319;1446;163035343;3136028 + 3615;26016;1319;1447;163035343;3162044 + 3616;26028;1319;1447;163035343;3162044 + 3617;26035;1319;1448;163035343;3188079 + 3618;26040;1319;1448;163035343;3188079 + 3619;26052;1319;1448;163035343;3188079 + 3620;26052;1319;1449;163035343;3214131 + 3621;26064;1327;1449;158910636;3023403 + 3622;26070;1327;1450;158910636;3049473 + 3623;26076;1327;1450;158910636;3049473 + 3624;26088;1327;1450;158910636;3049473 + 3625;26092;1327;1451;158910636;3075565 + 3626;26100;1327;1451;158910636;3075565 + 3627;26111;1327;1452;158910636;3101676 + 3628;26112;1327;1452;158910636;3101676 + 3629;26124;1327;1452;158910636;3101676 + 3630;26125;1327;1453;158910636;3127801 + 3631;26136;1327;1453;158910636;3127801 + 3632;26148;1327;1453;158910636;3127801 + 3633;26149;1327;1454;158910636;3153950 + 3634;26160;1327;1454;158910636;3153950 + 3635;26166;1328;1455;159831999;3156200 + 3636;26172;1328;1455;159831999;3156200 + 3637;26179;1328;1456;159831999;3182379 + 3638;26184;1328;1456;159831999;3182379 + 3639;26193;1328;1457;159831999;3208572 + 3640;26196;1328;1457;159831999;3208572 + 3641;26208;1328;1457;159831999;3208572 + 3642;26212;1328;1458;159831999;3234784 + 3643;26220;1328;1458;159831999;3234784 + 3644;26224;1328;1459;159831999;3261008 + 3645;26232;1328;1459;159831999;3261008 + 3646;26244;1328;1459;159831999;3261008 + 3647;26245;1328;1460;159831999;3287253 + 3648;26256;1328;1460;159831999;3287253 + 3649;26265;1328;1461;159831999;3313518 + 3650;26268;1328;1461;159831999;3313518 + 3651;26280;1328;1461;159831999;3313518 + 3652;26287;1336;1462;160036915;3147792 + 3653;26292;1336;1462;160036915;3147792 + 3654;26304;1336;1462;160036915;3147792 + 3655;26304;1336;1463;160036915;3174096 + 3656;26316;1336;1463;160036915;3174096 + 3657;26320;1336;1464;160036915;3200416 + 3658;26328;1336;1464;160036915;3200416 + 3659;26337;1336;1465;160036915;3226753 + 3660;26340;1336;1465;160036915;3226753 + 3661;26352;1336;1465;160036915;3226753 + 3662;26361;1336;1466;160036915;3253114 + 3663;26364;1336;1466;160036915;3253114 + 3664;26375;1336;1467;160036915;3279489 + 3665;26376;1336;1467;160036915;3279489 + 3666;26388;1336;1467;160036915;3279489 + 3667;26398;1336;1468;160036915;3305887 + 3668;26400;1336;1468;160036915;3305887 + 3669;26412;1336;1468;160036915;3305887 + 3670;26422;1336;1469;160036915;3332309 + 3671;26424;1336;1469;160036915;3332309 + 3672;26436;1336;1469;160036915;3332309 + 3673;26441;1336;1470;160036915;3358750 + 3674;26448;1336;1470;160036915;3358750 + 3675;26460;1336;1470;160036915;3358750 + 3676;26464;1336;1471;160036915;3385214 + 3677;26472;1339;1471;160081932;3312909 + 3678;26484;1339;1471;160081932;3312909 + 3679;26485;1339;1472;160081932;3339394 + 3680;26496;1339;1472;160081932;3339394 + 3681;26497;1339;1473;160081932;3365891 + 3682;26508;1339;1473;160081932;3365891 + 3683;26513;1339;1474;160081932;3392404 + 3684;26520;1339;1474;160081932;3392404 + 3685;26526;1339;1475;160081932;3418930 + 3686;26532;1339;1475;160081932;3418930 + 3687;26543;1339;1476;160081932;3445473 + 3688;26544;1339;1476;160081932;3445473 + 3689;26556;1339;1476;160081932;3445473 + 3690;26556;1339;1477;160081932;3472029 + 3691;26568;1339;1477;160081932;3472029 + 3692;26575;1344;1478;159871962;3377739 + 3693;26580;1344;1478;159871962;3377739 + 3694;26588;1344;1479;159871962;3404327 + 3695;26592;1344;1479;159871962;3404327 + 3696;26603;1344;1480;159871962;3430930 + 3697;26604;1344;1480;159871962;3430930 + 3698;26616;1344;1480;159871962;3430930 + 3699;26623;1344;1481;159871962;3457553 + 3700;26628;1344;1481;159871962;3457553 + 3701;26637;1344;1482;159871962;3484190 + 3702;26640;1344;1482;159871962;3484190 + 3703;26652;1344;1482;159871962;3484190 + 3704;26652;1344;1483;159871962;3510842 + 3705;26664;1344;1483;159871962;3510842 + 3706;26670;1346;1484;162435258;3489041 + 3707;26676;1346;1484;162435258;3489041 + 3708;26688;1348;1484;164113910;3440513 + 3709;26692;1348;1485;164113910;3467205 + 3710;26700;1348;1485;164113910;3467205 + 3711;26710;1348;1486;164113910;3493915 + 3712;26712;1348;1486;164113910;3493915 + 3713;26722;1348;1487;164113910;3520637 + 3714;26724;1348;1487;164113910;3520637 + 3715;26735;1348;1488;164113910;3547372 + 3716;26736;1348;1488;164113910;3547372 + 3717;26748;1361;1488;162658760;3230324 + 3718;26749;1361;1489;162658760;3257073 + 3719;26760;1361;1489;162658760;3257073 + 3720;26769;1361;1490;162658760;3283842 + 3721;26772;1361;1490;162658760;3283842 + 3722;26782;1361;1491;162658760;3310624 + 3723;26784;1361;1491;162658760;3310624 + 3724;26796;1361;1491;162658760;3310624 + 3725;26803;1361;1492;162658760;3337427 + 3726;26808;1361;1492;162658760;3337427 + 3727;26820;1361;1492;162658760;3337427 + 3728;26826;1361;1493;162658760;3364253 + 3729;26832;1361;1493;162658760;3364253 + 3730;26844;1361;1493;162658760;3364253 + 3731;26845;1367;1494;159517639;3243713 + 3732;26856;1367;1494;159517639;3243713 + 3733;26867;1367;1495;159517639;3270580 + 3734;26868;1367;1495;159517639;3270580 + 3735;26880;1367;1495;159517639;3270580 + 3736;26886;1367;1496;159517639;3297466 + 3737;26892;1367;1496;159517639;3297466 + 3738;26900;1367;1497;159517639;3324366 + 3739;26904;1367;1497;159517639;3324366 + 3740;26916;1367;1497;159517639;3324366 + 3741;26920;1367;1498;159517639;3351286 + 3742;26928;1367;1498;159517639;3351286 + 3743;26940;1367;1498;159517639;3351286 + 3744;26942;1367;1499;159517639;3378228 + 3745;26952;1367;1499;159517639;3378228 + 3746;26954;1367;1500;159517639;3405182 + 3747;26964;1367;1500;159517639;3405182 + 3748;26976;1367;1500;159517639;3405182 + 3749;26977;1376;1501;161685729;3209830 + 3750;26988;1376;1501;161685729;3209830 + 3751;26994;1376;1502;161685729;3236824 + 3752;27000;1376;1502;161685729;3236824 + 3753;27008;1376;1503;161685729;3263832 + 3754;27012;1376;1503;161685729;3263832 + 3755;27023;1376;1504;161685729;3290855 + 3756;27024;1376;1504;161685729;3290855 + 3757;27036;1376;1504;161685729;3290855 + 3758;27037;1376;1505;161685729;3317892 + 3759;27048;1376;1505;161685729;3317892 + 3760;27050;1384;1506;156814058;3146107 + 3761;27060;1384;1506;156814058;3146107 + 3762;27063;1384;1507;156814058;3173170 + 3763;27072;1384;1507;156814058;3173170 + 3764;27084;1384;1507;156814058;3173170 + 3765;27087;1384;1508;156814058;3200257 + 3766;27096;1384;1508;156814058;3200257 + 3767;27102;1384;1509;156814058;3227359 + 3768;27108;1384;1509;156814058;3227359 + 3769;27114;1384;1510;156814058;3254473 + 3770;27120;1384;1510;156814058;3254473 + 3771;27132;1384;1510;156814058;3254473 + 3772;27133;1384;1511;156814058;3281606 + 3773;27144;1384;1511;156814058;3281606 + 3774;27145;1384;1512;156814058;3308751 + 3775;27156;1384;1512;156814058;3308751 + 3776;27168;1384;1512;156814058;3308751 + 3777;27168;1384;1513;156814058;3335919 + 3778;27180;1384;1513;156814058;3335919 + 3779;27186;1384;1514;156814058;3363105 + 3780;27192;1384;1514;156814058;3363105 + 3781;27204;1384;1514;156814058;3363105 + 3782;27206;1384;1515;156814058;3390311 + 3783;27216;1384;1515;156814058;3390311 + 3784;27223;1384;1516;156814058;3417534 + 3785;27228;1384;1516;156814058;3417534 + 3786;27239;1384;1517;156814058;3444773 + 3787;27240;1384;1517;156814058;3444773 + 3788;27252;1384;1517;156814058;3444773 + 3789;27260;1388;1518;159348242;3372219 + 3790;27264;1388;1518;159348242;3372219 + 3791;27276;1388;1518;159348242;3372219 + 3792;27279;1388;1519;159348242;3399498 + 3793;27288;1388;1519;159348242;3399498 + 3794;27296;1389;1520;160562899;3401802 + 3795;27300;1389;1520;160562899;3401802 + 3796;27312;1389;1520;160562899;3401802 + 3797;27312;1389;1521;160562899;3429114 + 3798;27324;1389;1521;160562899;3429114 + 3799;27329;1398;1522;155438205;3230671 + 3800;27336;1398;1522;155438205;3230671 + 3801;27348;1398;1522;155438205;3230671 + 3802;27348;1398;1523;155438205;3258019 + 3803;27360;1398;1523;155438205;3258019 + 3804;27366;1398;1524;155438205;3285385 + 3805;27372;1398;1524;155438205;3285385 + 3806;27380;1398;1525;155438205;3312765 + 3807;27384;1398;1525;155438205;3312765 + 3808;27392;1398;1526;155438205;3340157 + 3809;27396;1398;1526;155438205;3340157 + 3810;27404;1398;1527;155438205;3367561 + 3811;27408;1398;1527;155438205;3367561 + 3812;27420;1398;1527;155438205;3367561 + 3813;27426;1398;1528;155438205;3394987 + 3814;27432;1398;1528;155438205;3394987 + 3815;27444;1398;1528;155438205;3394987 + 3816;27449;1398;1529;155438205;3422436 + 3817;27456;1398;1529;155438205;3422436 + 3818;27468;1398;1529;155438205;3422436 + 3819;27473;1400;1530;155944201;3399520 + 3820;27480;1400;1530;155944201;3399520 + 3821;27486;1400;1531;155944201;3427006 + 3822;27492;1400;1531;155944201;3427006 + 3823;27502;1400;1532;155944201;3454508 + 3824;27504;1400;1532;155944201;3454508 + 3825;27516;1400;1532;155944201;3454508 + 3826;27521;1400;1533;155944201;3482029 + 3827;27528;1400;1533;155944201;3482029 + 3828;27533;1400;1534;155944201;3509562 + 3829;27540;1400;1534;155944201;3509562 + 3830;27552;1400;1534;155944201;3509562 + 3831;27554;1402;1535;157339282;3486660 + 3832;27564;1402;1535;157339282;3486660 + 3833;27570;1402;1536;157339282;3514230 + 3834;27576;1402;1536;157339282;3514230 + 3835;27588;1402;1536;157339282;3514230 + 3836;27594;1402;1537;157339282;3541824 + 3837;27600;1402;1537;157339282;3541824 + 3838;27610;1402;1538;157339282;3569434 + 3839;27612;1402;1538;157339282;3569434 + 3840;27624;1402;1538;157339282;3569434 + 3841;27624;1402;1539;157339282;3597058 + 3842;27636;1407;1539;157221322;3470652 + 3843;27636;1407;1540;157221322;3498288 + 3844;27648;1407;1540;157221322;3498288 + 3845;27657;1407;1541;157221322;3525945 + 3846;27660;1407;1541;157221322;3525945 + 3847;27672;1407;1541;157221322;3525945 + 3848;27675;1407;1542;157221322;3553620 + 3849;27684;1407;1542;157221322;3553620 + 3850;27695;1407;1543;157221322;3581315 + 3851;27696;1407;1543;157221322;3581315 + 3852;27708;1407;1543;157221322;3581315 + 3853;27719;1409;1544;158236699;3558325 + 3854;27720;1409;1544;158236699;3558325 + 3855;27732;1409;1544;158236699;3558325 + 3856;27739;1409;1545;158236699;3586064 + 3857;27744;1409;1545;158236699;3586064 + 3858;27756;1409;1545;158236699;3586064 + 3859;27762;1416;1546;159318367;3435757 + 3860;27768;1416;1546;159318367;3435757 + 3861;27774;1416;1547;159318367;3463531 + 3862;27780;1416;1547;159318367;3463531 + 3863;27788;1416;1548;159318367;3491319 + 3864;27792;1416;1548;159318367;3491319 + 3865;27804;1416;1548;159318367;3491319 + 3866;27807;1416;1549;159318367;3519126 + 3867;27816;1416;1549;159318367;3519126 + 3868;27828;1416;1549;159318367;3519126 + 3869;27831;1416;1550;159318367;3546957 + 3870;27840;1416;1550;159318367;3546957 + 3871;27849;1416;1551;159318367;3574806 + 3872;27852;1416;1551;159318367;3574806 + 3873;27864;1416;1551;159318367;3574806 + 3874;27871;1416;1552;159318367;3602677 + 3875;27876;1416;1552;159318367;3602677 + 3876;27888;1416;1552;159318367;3602677 + 3877;27889;1416;1553;159318367;3630566 + 3878;27900;1416;1553;159318367;3630566 + 3879;27908;1416;1554;159318367;3658474 + 3880;27912;1416;1554;159318367;3658474 + 3881;27924;1416;1554;159318367;3658474 + 3882;27932;1422;1555;160879318;3533102 + 3883;27936;1422;1555;160879318;3533102 + 3884;27947;1422;1556;160879318;3561049 + 3885;27948;1422;1556;160879318;3561049 + 3886;27960;1422;1556;160879318;3561049 + 3887;27961;1422;1557;160879318;3589010 + 3888;27972;1422;1557;160879318;3589010 + 3889;27974;1422;1558;160879318;3616984 + 3890;27984;1422;1558;160879318;3616984 + 3891;27994;1422;1559;160879318;3644978 + 3892;27996;1422;1559;160879318;3644978 + 3893;28008;1422;1559;160879318;3644978 + 3894;28015;1431;1560;161574608;3441779 + 3895;28020;1431;1560;161574608;3441779 + 3896;28028;1431;1561;161574608;3469807 + 3897;28032;1431;1561;161574608;3469807 + 3898;28043;1431;1562;161574608;3497850 + 3899;28044;1431;1562;161574608;3497850 + 3900;28056;1431;1562;161574608;3497850 + 3901;28060;1431;1563;161574608;3525910 + 3902;28068;1431;1563;161574608;3525910 + 3903;28080;1431;1563;161574608;3525910 + 3904;28080;1431;1564;161574608;3553990 + 3905;28092;1431;1564;161574608;3553990 + 3906;28094;1431;1565;161574608;3582084 + 3907;28104;1431;1565;161574608;3582084 + 3908;28116;1431;1565;161574608;3582084 + 3909;28117;1431;1566;161574608;3610201 + 3910;28128;1431;1566;161574608;3610201 + 3911;28134;1431;1567;161574608;3638335 + 3912;28140;1431;1567;161574608;3638335 + 3913;28152;1431;1567;161574608;3638335 + 3914;28153;1431;1568;161574608;3666488 + 3915;28164;1431;1568;161574608;3666488 + 3916;28174;1431;1569;161574608;3694662 + 3917;28176;1431;1569;161574608;3694662 + 3918;28187;1431;1570;161574608;3722849 + 3919;28188;1431;1570;161574608;3722849 + 3920;28200;1431;1570;161574608;3722849 + 3921;28202;1437;1571;160939659;3596122 + 3922;28212;1437;1571;160939659;3596122 + 3923;28214;1437;1572;160939659;3624336 + 3924;28224;1437;1572;160939659;3624336 + 3925;28235;1437;1573;160939659;3652571 + 3926;28236;1437;1573;160939659;3652571 + 3927;28248;1437;1573;160939659;3652571 + 3928;28258;1437;1574;160939659;3680829 + 3929;28260;1437;1574;160939659;3680829 + 3930;28272;1437;1574;160939659;3680829 + 3931;28275;1446;1575;157511466;3475537 + 3932;28284;1446;1575;157511466;3475537 + 3933;28296;1446;1575;157511466;3475537 + 3934;28296;1446;1576;157511466;3503833 + 3935;28308;1446;1576;157511466;3503833 + 3936;28308;1446;1577;157511466;3532141 + 3937;28320;1446;1577;157511466;3532141 + 3938;28320;1446;1578;157511466;3560461 + 3939;28332;1446;1578;157511466;3560461 + 3940;28343;1446;1579;157511466;3588804 + 3941;28344;1446;1579;157511466;3588804 + 3942;28356;1446;1579;157511466;3588804 + 3943;28356;1446;1580;157511466;3617160 + 3944;28368;1446;1580;157511466;3617160 + 3945;28375;1455;1581;156183173;3410556 + 3946;28380;1455;1581;156183173;3410556 + 3947;28387;1455;1582;156183173;3438943 + 3948;28392;1455;1582;156183173;3438943 + 3949;28399;1455;1583;156183173;3467342 + 3950;28404;1455;1583;156183173;3467342 + 3951;28414;1455;1584;156183173;3495756 + 3952;28416;1455;1584;156183173;3495756 + 3953;28428;1455;1584;156183173;3495756 + 3954;28438;1455;1585;156183173;3524194 + 3955;28440;1455;1585;156183173;3524194 + 3956;28452;1455;1585;156183173;3524194 + 3957;28460;1455;1586;156183173;3552654 + 3958;28464;1455;1586;156183173;3552654 + 3959;28476;1455;1586;156183173;3552654 + 3960;28476;1455;1587;156183173;3581130 + 3961;28488;1455;1587;156183173;3581130 + 3962;28490;1455;1588;156183173;3609620 + 3963;28500;1455;1588;156183173;3609620 + 3964;28512;1455;1588;156183173;3609620 + 3965;28513;1455;1589;156183173;3638133 + 3966;28524;1455;1589;156183173;3638133 + 3967;28536;1455;1589;156183173;3638133 + 3968;28536;1455;1590;156183173;3666669 + 3969;28548;1455;1590;156183173;3666669 + 3970;28550;1455;1591;156183173;3695219 + 3971;28560;1455;1591;156183173;3695219 + 3972;28562;1455;1592;156183173;3723781 + 3973;28572;1455;1592;156183173;3723781 + 3974;28574;1455;1593;156183173;3752355 + 3975;28584;1455;1593;156183173;3752355 + 3976;28593;1455;1594;156183173;3780948 + 3977;28596;1455;1594;156183173;3780948 + 3978;28608;1455;1594;156183173;3780948 + 3979;28612;1455;1595;156183173;3809560 + 3980;28620;1455;1595;156183173;3809560 + 3981;28626;1464;1596;160708475;3601799 + 3982;28632;1464;1596;160708475;3601799 + 3983;28638;1464;1597;160708475;3630437 + 3984;28644;1464;1597;160708475;3630437 + 3985;28656;1464;1597;160708475;3630437 + 3986;28657;1464;1598;160708475;3659094 + 3987;28668;1464;1598;160708475;3659094 + 3988;28677;1464;1599;160708475;3687771 + 3989;28680;1464;1599;160708475;3687771 + 3990;28689;1464;1600;160708475;3716460 + 3991;28692;1464;1600;160708475;3716460 + 3992;28704;1464;1600;160708475;3716460 + 3993;28704;1464;1601;160708475;3745164 + 3994;28716;1464;1601;160708475;3745164 + 3995;28723;1464;1602;160708475;3773887 + 3996;28728;1464;1602;160708475;3773887 + 3997;28740;1464;1602;160708475;3773887 + 3998;28744;1464;1603;160708475;3802631 + 3999;28752;1464;1603;160708475;3802631 + 4000;28756;1464;1604;160708475;3831387 + 4001;28764;1464;1604;160708475;3831387 + 4002;28774;1467;1605;163458765;3781027 + 4003;28776;1467;1605;163458765;3781027 + 4004;28788;1467;1605;163458765;3781027 + 4005;28798;1475;1606;159393065;3597934 + 4006;28800;1475;1606;159393065;3597934 + 4007;28812;1475;1606;159393065;3597934 + 4008;28812;1475;1607;159393065;3626746 + 4009;28824;1475;1607;159393065;3626746 + 4010;28829;1475;1608;159393065;3655575 + 4011;28836;1475;1608;159393065;3655575 + 4012;28848;1475;1608;159393065;3655575 + 4013;28849;1475;1609;159393065;3684424 + 4014;28860;1475;1609;159393065;3684424 + 4015;28871;1475;1610;159393065;3713295 + 4016;28872;1475;1610;159393065;3713295 + 4017;28884;1475;1610;159393065;3713295 + 4018;28885;1475;1611;159393065;3742180 + 4019;28896;1475;1611;159393065;3742180 + 4020;28903;1475;1612;159393065;3771083 + 4021;28908;1475;1612;159393065;3771083 + 4022;28920;1475;1612;159393065;3771083 + 4023;28925;1475;1613;159393065;3800008 + 4024;28932;1475;1613;159393065;3800008 + 4025;28939;1481;1614;160582970;3669365 + 4026;28944;1481;1614;160582970;3669365 + 4027;28956;1481;1614;160582970;3669365 + 4028;28958;1481;1615;160582970;3698323 + 4029;28968;1481;1615;160582970;3698323 + 4030;28980;1481;1615;160582970;3698323 + 4031;28980;1481;1616;160582970;3727303 + 4032;28992;1481;1616;160582970;3727303 + 4033;28999;1481;1617;160582970;3756302 + 4034;29004;1481;1617;160582970;3756302 + 4035;29016;1481;1617;160582970;3756302 + 4036;29017;1481;1618;160582970;3785319 + 4037;29028;1481;1618;160582970;3785319 + 4038;29029;1481;1619;160582970;3814348 + 4039;29040;1481;1619;160582970;3814348 + 4040;29049;1481;1620;160582970;3843397 + 4041;29052;1481;1620;160582970;3843397 + 4042;29064;1483;1620;161135924;3790075 + 4043;29070;1483;1621;161135924;3819145 + 4044;29076;1483;1621;161135924;3819145 + 4045;29088;1483;1621;161135924;3819145 + 4046;29091;1483;1622;161135924;3848236 + 4047;29100;1483;1622;161135924;3848236 + 4048;29112;1483;1622;161135924;3848236 + 4049;29115;1483;1623;161135924;3877351 + 4050;29124;1483;1623;161135924;3877351 + 4051;29130;1483;1624;161135924;3906481 + 4052;29136;1483;1624;161135924;3906481 + 4053;29148;1483;1624;161135924;3906481 + 4054;29152;1483;1625;161135924;3935633 + 4055;29160;1483;1625;161135924;3935633 + 4056;29171;1493;1626;166833825;3697171 + 4057;29172;1493;1626;166833825;3697171 + 4058;29183;1495;1627;169291699;3672601 + 4059;29184;1495;1627;169291699;3672601 + 4060;29196;1495;1627;169291699;3672601 + 4061;29200;1495;1628;169291699;3701801 + 4062;29208;1495;1628;169291699;3701801 + 4063;29220;1495;1628;169291699;3701801 + 4064;29223;1495;1629;169291699;3731024 + 4065;29232;1495;1629;169291699;3731024 + 4066;29237;1495;1630;169291699;3760261 + 4067;29244;1495;1630;169291699;3760261 + 4068;29251;1495;1631;169291699;3789512 + 4069;29256;1495;1631;169291699;3789512 + 4070;29268;1495;1631;169291699;3789512 + 4071;29268;1495;1632;169291699;3818780 + 4072;29280;1495;1632;169291699;3818780 + 4073;29292;1495;1632;169291699;3818780 + 4074;29292;1495;1633;169291699;3848072 + 4075;29304;1495;1633;169291699;3848072 + 4076;29309;1495;1634;169291699;3877381 + 4077;29316;1495;1634;169291699;3877381 + 4078;29328;1501;1634;166271710;3715694 + 4079;29329;1501;1635;166271710;3745023 + 4080;29340;1501;1635;166271710;3745023 + 4081;29341;1501;1636;166271710;3774364 + 4082;29352;1501;1636;166271710;3774364 + 4083;29364;1501;1636;166271710;3774364 + 4084;29365;1509;1637;165209936;3587245 + 4085;29376;1509;1637;165209936;3587245 + 4086;29382;1510;1638;166178208;3589494 + 4087;29388;1510;1638;166178208;3589494 + 4088;29400;1510;1638;166178208;3589494 + 4089;29403;1510;1639;166178208;3618897 + 4090;29412;1510;1639;166178208;3618897 + 4091;29424;1510;1639;166178208;3618897 + 4092;29424;1510;1640;166178208;3648321 + 4093;29436;1510;1640;166178208;3648321 + 4094;29441;1510;1641;166178208;3677762 + 4095;29448;1510;1641;166178208;3677762 + 4096;29458;1510;1642;166178208;3707220 + 4097;29460;1510;1642;166178208;3707220 + 4098;29472;1510;1642;166178208;3707220 + 4099;29473;1510;1643;166178208;3736693 + 4100;29484;1510;1643;166178208;3736693 + 4101;29486;1510;1644;166178208;3766179 + 4102;29496;1510;1644;166178208;3766179 + 4103;29502;1510;1645;166178208;3795681 + 4104;29508;1510;1645;166178208;3795681 + 4105;29520;1510;1645;166178208;3795681 + 4106;29523;1510;1646;166178208;3825204 + 4107;29532;1510;1646;166178208;3825204 + 4108;29543;1510;1647;166178208;3854747 + 4109;29544;1510;1647;166178208;3854747 + 4110;29556;1510;1647;166178208;3854747 + 4111;29561;1510;1648;166178208;3884308 + 4112;29568;1510;1648;166178208;3884308 + 4113;29580;1510;1648;166178208;3884308 + 4114;29582;1510;1649;166178208;3913890 + 4115;29592;1510;1649;166178208;3913890 + 4116;29602;1510;1650;166178208;3943492 + 4117;29604;1510;1650;166178208;3943492 + 4118;29616;1510;1650;166178208;3943492 + 4119;29623;1519;1651;163811603;3728113 + 4120;29628;1519;1651;163811603;3728113 + 4121;29640;1519;1651;163811603;3728113 + 4122;29643;1519;1652;163811603;3757756 + 4123;29652;1519;1652;163811603;3757756 + 4124;29664;1519;1652;163811603;3757756 + 4125;29664;1519;1653;163811603;3787420 + 4126;29676;1519;1653;163811603;3787420 + 4127;29685;1519;1654;163811603;3817105 + 4128;29688;1519;1654;163811603;3817105 + 4129;29700;1525;1654;162389579;3652978 + 4130;29707;1525;1655;162389579;3682685 + 4131;29712;1525;1655;162389579;3682685 + 4132;29724;1525;1655;162389579;3682685 + 4133;29725;1525;1656;162389579;3712410 + 4134;29736;1525;1656;162389579;3712410 + 4135;29747;1525;1657;162389579;3742157 + 4136;29748;1525;1657;162389579;3742157 + 4137;29760;1525;1657;162389579;3742157 + 4138;29760;1525;1658;162389579;3771917 + 4139;29772;1525;1658;162389579;3771917 + 4140;29775;1531;1659;163417905;3636952 + 4141;29784;1531;1659;163417905;3636952 + 4142;29788;1531;1660;163417905;3666740 + 4143;29796;1531;1660;163417905;3666740 + 4144;29808;1531;1660;163417905;3666740 + 4145;29810;1531;1661;163417905;3696550 + 4146;29820;1531;1661;163417905;3696550 + 4147;29831;1531;1662;163417905;3726381 + 4148;29832;1531;1662;163417905;3726381 + 4149;29844;1531;1662;163417905;3726381 + 4150;29844;1531;1663;163417905;3756225 + 4151;29856;1531;1663;163417905;3756225 + 4152;29868;1531;1663;163417905;3756225 + 4153;29868;1531;1664;163417905;3786093 + 4154;29880;1531;1664;163417905;3786093 + 4155;29888;1531;1665;163417905;3815981 + 4156;29892;1531;1665;163417905;3815981 + 4157;29901;1531;1666;163417905;3845882 + 4158;29904;1531;1666;163417905;3845882 + 4159;29916;1531;1666;163417905;3845882 + 4160;29919;1531;1667;163417905;3875801 + 4161;29928;1531;1667;163417905;3875801 + 4162;29933;1531;1668;163417905;3905734 + 4163;29940;1531;1668;163417905;3905734 + 4164;29947;1531;1669;163417905;3935681 + 4165;29952;1531;1669;163417905;3935681 + 4166;29964;1531;1669;163417905;3935681 + 4167;29971;1531;1670;163417905;3965652 + 4168;29976;1531;1670;163417905;3965652 + 4169;29983;1541;1671;165328724;3719661 + 4170;29988;1541;1671;165328724;3719661 + 4171;30000;1541;1671;165328724;3719661 + 4172;30007;1541;1672;165328724;3749668 + 4173;30012;1541;1672;165328724;3749668 + 4174;30024;1541;1672;165328724;3749668 + 4175;30029;1541;1673;165328724;3779697 + 4176;30036;1541;1673;165328724;3779697 + 4177;30043;1541;1674;165328724;3809740 + 4178;30048;1541;1674;165328724;3809740 + 4179;30060;1541;1674;165328724;3809740 + 4180;30065;1541;1675;165328724;3839805 + 4181;30072;1541;1675;165328724;3839805 + 4182;30080;1541;1676;165328724;3869885 + 4183;30084;1541;1676;165328724;3869885 + 4184;30096;1541;1676;165328724;3869885 + 4185;30102;1541;1677;165328724;3899987 + 4186;30108;1541;1677;165328724;3899987 + 4187;30116;1541;1678;165328724;3930103 + 4188;30120;1541;1678;165328724;3930103 + 4189;30132;1541;1678;165328724;3930103 + 4190;30133;1543;1679;168095036;3904822 + 4191;30144;1543;1679;168095036;3904822 + 4192;30155;1543;1680;168095036;3934977 + 4193;30156;1543;1680;168095036;3934977 + 4194;30168;1549;1680;173865065;3768276 + 4195;30174;1549;1681;173865065;3798450 + 4196;30180;1549;1681;173865065;3798450 + 4197;30192;1549;1681;173865065;3798450 + 4198;30194;1549;1682;173865065;3828644 + 4199;30204;1549;1682;173865065;3828644 + 4200;30211;1551;1683;174692888;3803135 + 4201;30216;1551;1683;174692888;3803135 + 4202;30228;1551;1683;174692888;3803135 + 4203;30234;1551;1684;174692888;3833369 + 4204;30240;1551;1684;174692888;3833369 + 4205;30252;1551;1684;174692888;3833369 + 4206;30257;1551;1685;174692888;3863626 + 4207;30264;1551;1685;174692888;3863626 + 4208;30269;1551;1686;174692888;3893895 + 4209;30276;1551;1686;174692888;3893895 + 4210;30281;1556;1687;178885915;3784539 + 4211;30288;1556;1687;178885915;3784539 + 4212;30300;1556;1687;178885915;3784539 + 4213;30301;1556;1688;178885915;3814840 + 4214;30312;1556;1688;178885915;3814840 + 4215;30323;1556;1689;178885915;3845163 + 4216;30324;1556;1689;178885915;3845163 + 4217;30336;1556;1689;178885915;3845163 + 4218;30344;1556;1690;178885915;3875507 + 4219;30348;1556;1690;178885915;3875507 + 4220;30359;1556;1691;178885915;3905866 + 4221;30360;1556;1691;178885915;3905866 + 4222;30372;1556;1691;178885915;3905866 + 4223;30382;1556;1692;178885915;3936248 + 4224;30384;1556;1692;178885915;3936248 + 4225;30396;1564;1692;178891505;3711960 + 4226;30403;1564;1693;178891505;3742363 + 4227;30408;1564;1693;178891505;3742363 + 4228;30420;1564;1693;178891505;3742363 + 4229;30422;1564;1694;178891505;3772785 + 4230;30432;1564;1694;178891505;3772785 + 4231;30444;1564;1694;178891505;3772785 + 4232;30445;1564;1695;178891505;3803230 + 4233;30456;1564;1695;178891505;3803230 + 4234;30468;1564;1695;178891505;3803230 + 4235;30468;1569;1696;175821101;3692933 + 4236;30480;1569;1696;175821101;3692933 + 4237;30484;1569;1697;175821101;3723417 + 4238;30492;1569;1697;175821101;3723417 + 4239;30503;1569;1698;175821101;3753920 + 4240;30504;1569;1698;175821101;3753920 + 4241;30516;1569;1698;175821101;3753920 + 4242;30522;1569;1699;175821101;3784442 + 4243;30528;1569;1699;175821101;3784442 + 4244;30540;1569;1699;175821101;3784442 + 4245;30544;1569;1700;175821101;3814986 + 4246;30552;1569;1700;175821101;3814986 + 4247;30562;1569;1701;175821101;3845548 + 4248;30564;1569;1701;175821101;3845548 + 4249;30574;1569;1702;175821101;3876122 + 4250;30576;1569;1702;175821101;3876122 + 4251;30588;1569;1702;175821101;3876122 + 4252;30590;1569;1703;175821101;3906712 + 4253;30600;1569;1703;175821101;3906712 + 4254;30606;1569;1704;175821101;3937318 + 4255;30612;1569;1704;175821101;3937318 + 4256;30624;1579;1704;180864523;3654511 + 4257;30626;1584;1705;177782476;3543124 + 4258;30636;1584;1705;177782476;3543124 + 4259;30644;1584;1706;177782476;3573768 + 4260;30648;1584;1706;177782476;3573768 + 4261;30660;1584;1706;177782476;3573768 + 4262;30661;1584;1707;177782476;3604429 + 4263;30672;1584;1707;177782476;3604429 + 4264;30684;1584;1707;177782476;3604429 + 4265;30684;1584;1708;177782476;3635113 + 4266;30696;1584;1708;177782476;3635113 + 4267;30706;1584;1709;177782476;3665819 + 4268;30708;1584;1709;177782476;3665819 + 4269;30720;1584;1709;177782476;3665819 + 4270;30728;1584;1710;177782476;3696547 + 4271;30732;1584;1710;177782476;3696547 + 4272;30744;1584;1710;177782476;3696547 + 4273;30744;1584;1711;177782476;3727291 + 4274;30756;1584;1711;177782476;3727291 + 4275;30757;1584;1712;177782476;3758048 + 4276;30768;1584;1712;177782476;3758048 + 4277;30772;1584;1713;177782476;3788820 + 4278;30780;1584;1713;177782476;3788820 + 4279;30792;1584;1713;177782476;3788820 + 4280;30795;1584;1714;177782476;3819615 + 4281;30804;1584;1714;177782476;3819615 + 4282;30814;1584;1715;177782476;3850429 + 4283;30816;1584;1715;177782476;3850429 + 4284;30828;1584;1715;177782476;3850429 + 4285;30837;1584;1716;177782476;3881266 + 4286;30840;1584;1716;177782476;3881266 + 4287;30852;1584;1716;177782476;3881266 + 4288;30860;1584;1717;177782476;3912126 + 4289;30864;1584;1717;177782476;3912126 + 4290;30876;1584;1717;177782476;3912126 + 4291;30879;1584;1718;177782476;3943005 + 4292;30888;1584;1718;177782476;3943005 + 4293;30900;1584;1718;177782476;3943005 + 4294;30903;1584;1719;177782476;3973908 + 4295;30912;1584;1719;177782476;3973908 + 4296;30923;1588;1720;181788152;3890892 + 4297;30924;1588;1720;181788152;3890892 + 4298;30936;1588;1720;181788152;3890892 + 4299;30945;1588;1721;181788152;3921837 + 4300;30948;1588;1721;181788152;3921837 + 4301;30960;1592;1721;186134030;3807615 + 4302;30962;1592;1722;186134030;3838577 + 4303;30972;1592;1722;186134030;3838577 + 4304;30980;1592;1723;186134030;3869557 + 4305;30984;1592;1723;186134030;3869557 + 4306;30993;1592;1724;186134030;3900550 + 4307;30996;1592;1724;186134030;3900550 + 4308;31008;1594;1724;188128127;3843345 + 4309;31012;1594;1725;188128127;3874357 + 4310;31020;1594;1725;188128127;3874357 + 4311;31028;1594;1726;188128127;3905385 + 4312;31032;1594;1726;188128127;3905385 + 4313;31044;1594;1726;188128127;3905385 + 4314;31046;1596;1727;189698460;3879167 + 4315;31056;1596;1727;189698460;3879167 + 4316;31065;1596;1728;189698460;3910232 + 4317;31068;1596;1728;189698460;3910232 + 4318;31077;1596;1729;189698460;3941309 + 4319;31080;1596;1729;189698460;3941309 + 4320;31092;1596;1729;189698460;3941309 + 4321;31099;1613;1730;186256221;3482873 + 4322;31104;1613;1730;186256221;3482873 + 4323;31112;1613;1731;186256221;3513985 + 4324;31116;1613;1731;186256221;3513985 + 4325;31128;1613;1731;186256221;3513985 + 4326;31128;1613;1732;186256221;3545113 + 4327;31140;1613;1732;186256221;3545113 + 4328;31140;1613;1733;186256221;3576253 + 4329;31152;1613;1733;186256221;3576253 + 4330;31159;1613;1734;186256221;3607412 + 4331;31164;1613;1734;186256221;3607412 + 4332;31176;1613;1734;186256221;3607412 + 4333;31181;1613;1735;186256221;3638593 + 4334;31188;1613;1735;186256221;3638593 + 4335;31195;1613;1736;186256221;3669788 + 4336;31200;1613;1736;186256221;3669788 + 4337;31212;1613;1736;186256221;3669788 + 4338;31217;1613;1737;186256221;3701005 + 4339;31224;1613;1737;186256221;3701005 + 4340;31236;1613;1737;186256221;3701005 + 4341;31237;1613;1738;186256221;3732242 + 4342;31248;1613;1738;186256221;3732242 + 4343;31254;1613;1739;186256221;3763496 + 4344;31260;1613;1739;186256221;3763496 + 4345;31272;1613;1739;186256221;3763496 + 4346;31274;1613;1740;186256221;3794770 + 4347;31284;1613;1740;186256221;3794770 + 4348;31288;1613;1741;186256221;3826058 + 4349;31296;1613;1741;186256221;3826058 + 4350;31306;1613;1742;186256221;3857364 + 4351;31308;1613;1742;186256221;3857364 + 4352;31320;1613;1742;186256221;3857364 + 4353;31322;1613;1743;186256221;3888686 + 4354;31332;1613;1743;186256221;3888686 + 4355;31336;1613;1744;186256221;3920022 + 4356;31344;1613;1744;186256221;3920022 + 4357;31356;1613;1744;186256221;3920022 + 4358;31360;1623;1745;187242489;3660944 + 4359;31368;1623;1745;187242489;3660944 + 4360;31377;1624;1746;185942179;3663169 + 4361;31380;1624;1746;185942179;3663169 + 4362;31390;1624;1747;185942179;3694559 + 4363;31392;1624;1747;185942179;3694559 + 4364;31404;1624;1747;185942179;3694559 + 4365;31404;1624;1748;185942179;3725963 + 4366;31416;1624;1748;185942179;3725963 + 4367;31423;1624;1749;185942179;3757386 + 4368;31428;1624;1749;185942179;3757386 + 4369;31440;1624;1749;185942179;3757386 + 4370;31441;1624;1750;185942179;3788827 + 4371;31452;1624;1750;185942179;3788827 + 4372;31464;1624;1750;185942179;3788827 + 4373;31464;1624;1751;185942179;3820291 + 4374;31476;1624;1751;185942179;3820291 + 4375;31484;1624;1752;185942179;3851775 + 4376;31488;1624;1752;185942179;3851775 + 4377;31500;1624;1752;185942179;3851775 + 4378;31503;1624;1753;185942179;3883278 + 4379;31512;1624;1753;185942179;3883278 + 4380;31522;1624;1754;185942179;3914800 + 4381;31524;1624;1754;185942179;3914800 + 4382;31536;1624;1754;185942179;3914800 + 4383;31544;1624;1755;185942179;3946344 + 4384;31548;1624;1755;185942179;3946344 + 4385;31560;1624;1755;185942179;3946344 + 4386;31567;1624;1756;185942179;3977911 + 4387;31572;1624;1756;185942179;3977911 + 4388;31581;1624;1757;185942179;4009492 + 4389;31584;1624;1757;185942179;4009492 + 4390;31596;1624;1757;185942179;4009492 + 4391;31605;1624;1758;185942179;4041097 + 4392;31608;1624;1758;185942179;4041097 + 4393;31620;1624;1758;185942179;4041097 + 4394;31623;1626;1759;189633262;4014366 + 4395;31632;1626;1759;189633262;4014366 + 4396;31644;1634;1759;193615311;3780257 + 4397;31646;1634;1760;193615311;3811903 + 4398;31656;1634;1760;193615311;3811903 + 4399;31668;1636;1760;195652868;3753197 + 4400;31669;1636;1761;195652868;3784866 + 4401;31680;1636;1761;195652868;3784866 + 4402;31690;1636;1762;195652868;3816556 + 4403;31692;1636;1762;195652868;3816556 + 4404;31704;1636;1762;195652868;3816556 + 4405;31713;1639;1763;197526600;3760060 + 4406;31716;1639;1763;197526600;3760060 + 4407;31728;1639;1763;197526600;3760060 + 4408;31736;1642;1764;198485690;3703424 + 4409;31740;1642;1764;198485690;3703424 + 4410;31752;1642;1764;198485690;3703424 + 4411;31756;1642;1765;198485690;3735180 + 4412;31764;1642;1765;198485690;3735180 + 4413;31769;1642;1766;198485690;3766949 + 4414;31776;1642;1766;198485690;3766949 + 4415;31788;1642;1766;198485690;3766949 + 4416;31793;1646;1767;202198170;3680688 + 4417;31800;1646;1767;202198170;3680688 + 4418;31812;1646;1767;202198170;3680688 + 4419;31816;1646;1768;202198170;3712504 + 4420;31824;1646;1768;202198170;3712504 + 4421;31828;1646;1769;202198170;3744332 + 4422;31836;1646;1769;202198170;3744332 + 4423;31848;1646;1769;202198170;3744332 + 4424;31852;1646;1770;202198170;3776184 + 4425;31860;1646;1770;202198170;3776184 + 4426;31869;1646;1771;202198170;3808053 + 4427;31872;1646;1771;202198170;3808053 + 4428;31884;1646;1771;202198170;3808053 + 4429;31886;1646;1772;202198170;3839939 + 4430;31896;1646;1772;202198170;3839939 + 4431;31907;1646;1773;202198170;3871846 + 4432;31908;1646;1773;202198170;3871846 + 4433;31920;1646;1773;202198170;3871846 + 4434;31927;1650;1774;202236086;3785405 + 4435;31932;1650;1774;202236086;3785405 + 4436;31941;1650;1775;202236086;3817346 + 4437;31944;1650;1775;202236086;3817346 + 4438;31953;1650;1776;202236086;3849299 + 4439;31956;1650;1776;202236086;3849299 + 4440;31968;1650;1776;202236086;3849299 + 4441;31977;1650;1777;202236086;3881276 + 4442;31980;1650;1777;202236086;3881276 + 4443;31992;1653;1777;201554690;3792284 + 4444;31994;1653;1778;201554690;3824278 + 4445;32004;1653;1778;201554690;3824278 + 4446;32006;1653;1779;201554690;3856284 + 4447;32016;1653;1779;201554690;3856284 + 4448;32027;1653;1780;201554690;3888311 + 4449;32028;1653;1780;201554690;3888311 + 4450;32040;1653;1780;201554690;3888311 + 4451;32048;1653;1781;201554690;3920359 + 4452;32052;1653;1781;201554690;3920359 + 4453;32064;1653;1781;201554690;3920359 + 4454;32068;1654;1782;203389581;3922720 + 4455;32076;1654;1782;203389581;3922720 + 4456;32088;1654;1782;203389581;3922720 + 4457;32092;1654;1783;203389581;3954812 + 4458;32100;1654;1783;203389581;3954812 + 4459;32111;1654;1784;203389581;3986923 + 4460;32112;1654;1784;203389581;3986923 + 4461;32124;1654;1784;203389581;3986923 + 4462;32129;1654;1785;203389581;4019052 + 4463;32136;1654;1785;203389581;4019052 + 4464;32143;1654;1786;203389581;4051195 + 4465;32148;1654;1786;203389581;4051195 + 4466;32160;1654;1786;203389581;4051195 + 4467;32166;1664;1787;205266833;3785325 + 4468;32172;1664;1787;205266833;3785325 + 4469;32182;1664;1788;205266833;3817507 + 4470;32184;1664;1788;205266833;3817507 + 4471;32196;1664;1788;205266833;3817507 + 4472;32203;1664;1789;205266833;3849710 + 4473;32208;1664;1789;205266833;3849710 + 4474;32217;1664;1790;205266833;3881927 + 4475;32220;1664;1790;205266833;3881927 + 4476;32232;1664;1790;205266833;3881927 + 4477;32239;1664;1791;205266833;3914166 + 4478;32244;1664;1791;205266833;3914166 + 4479;32256;1664;1791;205266833;3914166 + 4480;32257;1674;1792;203129155;3646625 + 4481;32268;1676;1792;201107986;3586443 + 4482;32273;1676;1793;201107986;3618716 + 4483;32280;1676;1793;201107986;3618716 + 4484;32287;1676;1794;201107986;3651003 + 4485;32292;1676;1794;201107986;3651003 + 4486;32304;1676;1794;201107986;3651003 + 4487;32304;1676;1795;201107986;3683307 + 4488;32316;1676;1795;201107986;3683307 + 4489;32328;1676;1795;201107986;3683307 + 4490;32328;1676;1796;201107986;3715635 + 4491;32340;1676;1796;201107986;3715635 + 4492;32352;1676;1796;201107986;3715635 + 4493;32352;1676;1797;201107986;3747987 + 4494;32364;1676;1797;201107986;3747987 + 4495;32367;1678;1798;201996073;3720105 + 4496;32376;1678;1798;201996073;3720105 + 4497;32380;1678;1799;201996073;3752485 + 4498;32388;1678;1799;201996073;3752485 + 4499;32400;1678;1799;201996073;3752485 + 4500;32400;1678;1800;201996073;3784885 + 4501;32412;1678;1800;201996073;3784885 + 4502;32414;1678;1801;201996073;3817299 + 4503;32424;1678;1801;201996073;3817299 + 4504;32427;1678;1802;201996073;3849726 + 4505;32436;1678;1802;201996073;3849726 + 4506;32441;1678;1803;201996073;3882167 + 4507;32448;1678;1803;201996073;3882167 + 4508;32458;1678;1804;201996073;3914625 + 4509;32460;1678;1804;201996073;3914625 + 4510;32472;1678;1804;201996073;3914625 + 4511;32480;1678;1805;201996073;3947105 + 4512;32484;1678;1805;201996073;3947105 + 4513;32495;1678;1806;201996073;3979600 + 4514;32496;1678;1806;201996073;3979600 + 4515;32508;1678;1806;201996073;3979600 + 4516;32512;1678;1807;201996073;4012112 + 4517;32520;1678;1807;201996073;4012112 + 4518;32532;1678;1807;201996073;4012112 + 4519;32536;1678;1808;201996073;4044648 + 4520;32544;1685;1808;197792205;3833154 + 4521;32548;1685;1809;197792205;3865702 + 4522;32556;1685;1809;197792205;3865702 + 4523;32561;1685;1810;197792205;3898263 + 4524;32568;1685;1810;197792205;3898263 + 4525;32573;1685;1811;197792205;3930836 + 4526;32580;1685;1811;197792205;3930836 + 4527;32590;1685;1812;197792205;3963426 + 4528;32592;1685;1812;197792205;3963426 + 4529;32604;1685;1812;197792205;3963426 + 4530;32608;1688;1813;197353840;3905129 + 4531;32616;1688;1813;197353840;3905129 + 4532;32624;1688;1814;197353840;3937753 + 4533;32628;1688;1814;197353840;3937753 + 4534;32636;1688;1815;197353840;3970389 + 4535;32640;1688;1815;197353840;3970389 + 4536;32652;1688;1815;197353840;3970389 + 4537;32657;1688;1816;197353840;4003046 + 4538;32664;1688;1816;197353840;4003046 + 4539;32674;1688;1817;197353840;4035720 + 4540;32676;1688;1817;197353840;4035720 + 4541;32688;1688;1817;197353840;4035720 + 4542;32694;1689;1818;199119373;4038070 + 4543;32700;1689;1818;199119373;4038070 + 4544;32712;1689;1818;199119373;4038070 + 4545;32712;1689;1819;199119373;4070782 + 4546;32724;1689;1819;199119373;4070782 + 4547;32729;1689;1820;199119373;4103511 + 4548;32736;1689;1820;199119373;4103511 + 4549;32747;1689;1821;199119373;4136258 + 4550;32748;1689;1821;199119373;4136258 + 4551;32760;1689;1821;199119373;4136258 + 4552;32766;1689;1822;199119373;4169024 + 4553;32772;1689;1822;199119373;4169024 + 4554;32780;1689;1823;199119373;4201804 + 4555;32784;1689;1823;199119373;4201804 + 4556;32796;1689;1823;199119373;4201804 + 4557;32798;1699;1824;202678962;3930070 + 4558;32808;1700;1824;201177129;3899508 + 4559;32817;1700;1825;201177129;3932325 + 4560;32820;1700;1825;201177129;3932325 + 4561;32832;1700;1825;201177129;3932325 + 4562;32832;1700;1826;201177129;3965157 + 4563;32844;1700;1826;201177129;3965157 + 4564;32851;1700;1827;201177129;3998008 + 4565;32856;1700;1827;201177129;3998008 + 4566;32868;1700;1827;201177129;3998008 + 4567;32873;1700;1828;201177129;4030881 + 4568;32880;1700;1828;201177129;4030881 + 4569;32892;1700;1828;201177129;4030881 + 4570;32895;1700;1829;201177129;4063776 + 4571;32904;1700;1829;201177129;4063776 + 4572;32907;1700;1830;201177129;4096683 + 4573;32916;1700;1830;201177129;4096683 + 4574;32928;1700;1830;201177129;4096683 + 4575;32930;1700;1831;201177129;4129613 + 4576;32940;1700;1831;201177129;4129613 + 4577;32946;1706;1832;195952691;3978858 + 4578;32952;1706;1832;195952691;3978858 + 4579;32964;1706;1832;195952691;3978858 + 4580;32969;1707;1833;197329172;3981143 + 4581;32976;1707;1833;197329172;3981143 + 4582;32988;1707;1833;197329172;3981143 + 4583;32993;1707;1834;197329172;4014136 + 4584;33000;1707;1834;197329172;4014136 + 4585;33007;1707;1835;197329172;4047143 + 4586;33012;1707;1835;197329172;4047143 + 4587;33024;1707;1835;197329172;4047143 + 4588;33024;1707;1836;197329172;4080167 + 4589;33036;1707;1836;197329172;4080167 + 4590;33044;1707;1837;197329172;4113211 + 4591;33048;1707;1837;197329172;4113211 + 4592;33060;1707;1837;197329172;4113211 + 4593;33068;1707;1838;197329172;4146279 + 4594;33072;1707;1838;197329172;4146279 + 4595;33080;1707;1839;197329172;4179359 + 4596;33084;1707;1839;197329172;4179359 + 4597;33096;1707;1839;197329172;4179359 + 4598;33097;1707;1840;197329172;4212456 + 4599;33108;1707;1840;197329172;4212456 + 4600;33114;1707;1841;197329172;4245570 + 4601;33120;1707;1841;197329172;4245570 + 4602;33132;1707;1841;197329172;4245570 + 4603;33136;1707;1842;197329172;4278706 + 4604;33144;1707;1842;197329172;4278706 + 4605;33156;1707;1842;197329172;4278706 + 4606;33157;1717;1843;207420526;4003971 + 4607;33168;1717;1843;207420526;4003971 + 4608;33180;1722;1843;205954343;3849258 + 4609;33180;1722;1844;205954343;3882438 + 4610;33192;1722;1844;205954343;3882438 + 4611;33201;1722;1845;205954343;3915639 + 4612;33204;1722;1845;205954343;3915639 + 4613;33216;1722;1845;205954343;3915639 + 4614;33225;1722;1846;205954343;3948864 + 4615;33228;1722;1846;205954343;3948864 + 4616;33240;1722;1846;205954343;3948864 + 4617;33246;1722;1847;205954343;3982110 + 4618;33252;1722;1847;205954343;3982110 + 4619;33264;1722;1847;205954343;3982110 + 4620;33265;1722;1848;205954343;4015375 + 4621;33276;1722;1848;205954343;4015375 + 4622;33287;1722;1849;205954343;4048662 + 4623;33288;1722;1849;205954343;4048662 + 4624;33300;1723;1849;207498323;4017669 + 4625;33307;1723;1850;207498323;4050976 + 4626;33312;1723;1850;207498323;4050976 + 4627;33324;1723;1850;207498323;4050976 + 4628;33325;1723;1851;207498323;4084301 + 4629;33336;1723;1851;207498323;4084301 + 4630;33345;1731;1852;202812013;3869079 + 4631;33348;1731;1852;202812013;3869079 + 4632;33360;1731;1852;202812013;3869079 + 4633;33360;1731;1853;202812013;3902439 + 4634;33372;1731;1853;202812013;3902439 + 4635;33384;1731;1853;202812013;3902439 + 4636;33384;1733;1854;204255826;3873524 + 4637;33396;1733;1854;204255826;3873524 + 4638;33404;1733;1855;204255826;3906928 + 4639;33408;1733;1855;204255826;3906928 + 4640;33420;1733;1855;204255826;3906928 + 4641;33426;1733;1856;204255826;3940354 + 4642;33432;1733;1856;204255826;3940354 + 4643;33443;1733;1857;204255826;3973797 + 4644;33444;1733;1857;204255826;3973797 + 4645;33456;1733;1857;204255826;3973797 + 4646;33466;1733;1858;204255826;4007263 + 4647;33468;1733;1858;204255826;4007263 + 4648;33480;1733;1858;204255826;4007263 + 4649;33481;1733;1859;204255826;4040744 + 4650;33492;1733;1859;204255826;4040744 + 4651;33499;1733;1860;204255826;4074243 + 4652;33504;1733;1860;204255826;4074243 + 4653;33513;1733;1861;204255826;4107756 + 4654;33516;1733;1861;204255826;4107756 + 4655;33528;1733;1861;204255826;4107756 + 4656;33532;1733;1862;204255826;4141288 + 4657;33540;1733;1862;204255826;4141288 + 4658;33552;1733;1862;204255826;4141288 + 4659;33556;1742;1863;201687003;3893570 + 4660;33564;1742;1863;201687003;3893570 + 4661;33574;1742;1864;201687003;3927144 + 4662;33576;1742;1864;201687003;3927144 + 4663;33587;1742;1865;201687003;3960731 + 4664;33588;1742;1865;201687003;3960731 + 4665;33599;1742;1866;201687003;3994330 + 4666;33600;1742;1866;201687003;3994330 + 4667;33612;1742;1866;201687003;3994330 + 4668;33618;1742;1867;201687003;4027948 + 4669;33624;1742;1867;201687003;4027948 + 4670;33636;1742;1867;201687003;4027948 + 4671;33638;1742;1868;201687003;4061586 + 4672;33648;1742;1868;201687003;4061586 + 4673;33658;1742;1869;201687003;4095244 + 4674;33660;1742;1869;201687003;4095244 + 4675;33672;1742;1869;201687003;4095244 + 4676;33673;1742;1870;201687003;4128917 + 4677;33684;1742;1870;201687003;4128917 + 4678;33689;1742;1871;201687003;4162606 + 4679;33696;1742;1871;201687003;4162606 + 4680;33708;1742;1871;201687003;4162606 + 4681;33709;1742;1872;201687003;4196315 + 4682;33720;1742;1872;201687003;4196315 + 4683;33732;1742;1872;201687003;4196315 + 4684;33732;1742;1873;201687003;4230047 + 4685;33744;1742;1873;201687003;4230047 + 4686;33745;1742;1874;201687003;4263792 + 4687;33756;1744;1874;202742309;4201096 + 4688;33765;1744;1875;202742309;4234861 + 4689;33768;1744;1875;202742309;4234861 + 4690;33780;1744;1875;202742309;4234861 + 4691;33786;1744;1876;202742309;4268647 + 4692;33792;1744;1876;202742309;4268647 + 4693;33804;1744;1876;202742309;4268647 + 4694;33804;1744;1877;202742309;4302451 + 4695;33816;1744;1877;202742309;4302451 + 4696;33820;1747;1878;207096684;4242100 + 4697;33828;1747;1878;207096684;4242100 + 4698;33836;1747;1879;207096684;4275936 + 4699;33840;1747;1879;207096684;4275936 + 4700;33852;1747;1879;207096684;4275936 + 4701;33854;1747;1880;207096684;4309790 + 4702;33864;1751;1880;209420043;4183978 + 4703;33873;1751;1881;209420043;4217851 + 4704;33876;1751;1881;209420043;4217851 + 4705;33888;1751;1881;209420043;4217851 + 4706;33897;1751;1882;209420043;4251748 + 4707;33900;1751;1882;209420043;4251748 + 4708;33912;1751;1882;209420043;4251748 + 4709;33912;1751;1883;209420043;4285660 + 4710;33924;1751;1883;209420043;4285660 + 4711;33935;1751;1884;209420043;4319595 + 4712;33936;1751;1884;209420043;4319595 + 4713;33948;1751;1884;209420043;4319595 + 4714;33958;1756;1885;207829287;4195836 + 4715;33960;1756;1885;207829287;4195836 + 4716;33971;1756;1886;207829287;4229807 + 4717;33972;1756;1886;207829287;4229807 + 4718;33984;1756;1886;207829287;4229807 + 4719;33993;1758;1887;210673756;4200572 + 4720;33996;1758;1887;210673756;4200572 + 4721;34008;1758;1887;210673756;4200572 + 4722;34011;1758;1888;210673756;4234583 + 4723;34020;1758;1888;210673756;4234583 + 4724;34031;1761;1889;214004760;4173609 + 4725;34032;1761;1889;214004760;4173609 + 4726;34044;1761;1889;214004760;4173609 + 4727;34045;1761;1890;214004760;4207654 + 4728;34056;1761;1890;214004760;4207654 + 4729;34057;1761;1891;214004760;4241711 + 4730;34068;1761;1891;214004760;4241711 + 4731;34077;1761;1892;214004760;4275788 + 4732;34080;1761;1892;214004760;4275788 + 4733;34089;1761;1893;214004760;4309877 + 4734;34092;1761;1893;214004760;4309877 + 4735;34104;1761;1893;214004760;4309877 + 4736;34104;1762;1894;216169054;4312268 + 4737;34116;1762;1894;216169054;4312268 + 4738;34127;1762;1895;216169054;4346395 + 4739;34128;1762;1895;216169054;4346395 + 4740;34140;1762;1895;216169054;4346395 + 4741;34149;1772;1896;216540914;4062332 + 4742;34152;1772;1896;216540914;4062332 + 4743;34163;1774;1897;212771114;4032627 + 4744;34164;1774;1897;212771114;4032627 + 4745;34176;1774;1897;212771114;4032627 + 4746;34180;1774;1898;212771114;4066807 + 4747;34188;1774;1898;212771114;4066807 + 4748;34194;1774;1899;212771114;4101001 + 4749;34200;1774;1899;212771114;4101001 + 4750;34212;1774;1899;212771114;4101001 + 4751;34212;1774;1900;212771114;4135213 + 4752;34224;1774;1900;212771114;4135213 + 4753;34228;1774;1901;212771114;4169441 + 4754;34236;1774;1901;212771114;4169441 + 4755;34248;1774;1901;212771114;4169441 + 4756;34249;1774;1902;212771114;4203690 + 4757;34260;1774;1902;212771114;4203690 + 4758;34265;1774;1903;212771114;4237955 + 4759;34272;1774;1903;212771114;4237955 + 4760;34280;1774;1904;212771114;4272235 + 4761;34284;1774;1904;212771114;4272235 + 4762;34296;1774;1904;212771114;4272235 + 4763;34296;1774;1905;212771114;4306531 + 4764;34308;1774;1905;212771114;4306531 + 4765;34308;1776;1906;215393590;4276909 + 4766;34320;1776;1906;215393590;4276909 + 4767;34331;1777;1907;217259395;4279246 + 4768;34332;1777;1907;217259395;4279246 + 4769;34344;1777;1907;217259395;4279246 + 4770;34348;1777;1908;217259395;4313594 + 4771;34356;1777;1908;217259395;4313594 + 4772;34368;1777;1908;217259395;4313594 + 4773;34370;1778;1909;219333194;4315958 + 4774;34380;1778;1909;219333194;4315958 + 4775;34389;1778;1910;219333194;4350347 + 4776;34392;1778;1910;219333194;4350347 + 4777;34404;1778;1910;219333194;4350347 + 4778;34406;1778;1911;219333194;4384753 + 4779;34416;1778;1911;219333194;4384753 + 4780;34421;1778;1912;219333194;4419174 + 4781;34428;1778;1912;219333194;4419174 + 4782;34435;1778;1913;219333194;4453609 + 4783;34440;1778;1913;219333194;4453609 + 4784;34452;1778;1913;219333194;4453609 + 4785;34453;1778;1914;219333194;4488062 + 4786;34464;1778;1914;219333194;4488062 + 4787;34473;1778;1915;219333194;4522535 + 4788;34476;1778;1915;219333194;4522535 + 4789;34488;1785;1915;218662514;4297917 + 4790;34495;1785;1916;218662514;4332412 + 4791;34500;1785;1916;218662514;4332412 + 4792;34512;1785;1916;218662514;4332412 + 4793;34515;1785;1917;218662514;4366927 + 4794;34524;1785;1917;218662514;4366927 + 4795;34531;1785;1918;218662514;4401458 + 4796;34536;1785;1918;218662514;4401458 + 4797;34548;1785;1918;218662514;4401458 + 4798;34553;1785;1919;218662514;4436011 + 4799;34560;1785;1919;218662514;4436011 + 4800;34572;1785;1919;218662514;4436011 + 4801;34577;1785;1920;218662514;4470588 + 4802;34584;1785;1920;218662514;4470588 + 4803;34593;1789;1921;220081572;4376413 + 4804;34596;1789;1921;220081572;4376413 + 4805;34608;1789;1921;220081572;4376413 + 4806;34612;1789;1922;220081572;4411025 + 4807;34620;1789;1922;220081572;4411025 + 4808;34625;1790;1923;222328164;4413411 + 4809;34632;1790;1923;222328164;4413411 + 4810;34637;1790;1924;222328164;4448048 + 4811;34644;1790;1924;222328164;4448048 + 4812;34656;1790;1924;222328164;4448048 + 4813;34657;1795;1925;226571543;4321256 + 4814;34668;1795;1925;226571543;4321256 + 4815;34672;1795;1926;226571543;4355928 + 4816;34680;1795;1926;226571543;4355928 + 4817;34689;1796;1927;228455629;4358265 + 4818;34692;1796;1927;228455629;4358265 + 4819;34704;1796;1927;228455629;4358265 + 4820;34710;1796;1928;228455629;4392975 + 4821;34716;1796;1928;228455629;4392975 + 4822;34728;1796;1928;228455629;4392975 + 4823;34730;1796;1929;228455629;4427705 + 4824;34740;1796;1929;228455629;4427705 + 4825;34751;1796;1930;228455629;4462456 + 4826;34752;1796;1930;228455629;4462456 + 4827;34764;1796;1930;228455629;4462456 + 4828;34775;1800;1931;233041607;4367670 + 4829;34776;1800;1931;233041607;4367670 + 4830;34788;1800;1931;233041607;4367670 + 4831;34790;1800;1932;233041607;4402460 + 4832;34800;1800;1932;233041607;4402460 + 4833;34812;1800;1932;233041607;4402460 + 4834;34814;1800;1933;233041607;4437274 + 4835;34824;1800;1933;233041607;4437274 + 4836;34836;1800;1933;233041607;4437274 + 4837;34838;1800;1934;233041607;4472112 + 4838;34848;1800;1934;233041607;4472112 + 4839;34856;1800;1935;233041607;4506968 + 4840;34860;1800;1935;233041607;4506968 + 4841;34872;1800;1935;233041607;4506968 + 4842;34880;1810;1936;234173140;4216817 + 4843;34884;1810;1936;234173140;4216817 + 4844;34894;1810;1937;234173140;4251711 + 4845;34896;1810;1937;234173140;4251711 + 4846;34908;1810;1937;234173140;4251711 + 4847;34917;1810;1938;234173140;4286628 + 4848;34920;1810;1938;234173140;4286628 + 4849;34932;1810;1938;234173140;4286628 + 4850;34938;1815;1939;236430550;4158451 + 4851;34944;1815;1939;236430550;4158451 + 4852;34956;1815;1939;236430550;4158451 + 4853;34956;1815;1940;236430550;4193407 + 4854;34968;1815;1940;236430550;4193407 + 4855;34977;1822;1941;235442567;3999282 + 4856;34980;1822;1941;235442567;3999282 + 4857;34989;1822;1942;235442567;4034271 + 4858;34992;1822;1942;235442567;4034271 + 4859;35004;1822;1942;235442567;4034271 + 4860;35013;1822;1943;235442567;4069284 + 4861;35016;1822;1943;235442567;4069284 + 4862;35028;1822;1943;235442567;4069284 + 4863;35034;1822;1944;235442567;4104318 + 4864;35040;1822;1944;235442567;4104318 + 4865;35052;1822;1944;235442567;4104318 + 4866;35052;1822;1945;235442567;4139370 + 4867;35064;1822;1945;235442567;4139370 + 4868;35067;1822;1946;235442567;4174437 + 4869;35076;1822;1946;235442567;4174437 + 4870;35085;1822;1947;235442567;4209522 + 4871;35088;1822;1947;235442567;4209522 + 4872;35099;1822;1948;235442567;4244621 + 4873;35100;1822;1948;235442567;4244621 + 4874;35112;1822;1948;235442567;4244621 + 4875;35122;1822;1949;235442567;4279743 + 4876;35124;1822;1949;235442567;4279743 + 4877;35134;1822;1950;235442567;4314877 + 4878;35136;1822;1950;235442567;4314877 + 4879;35148;1822;1950;235442567;4314877 + 4880;35149;1832;1951;227749937;4021208 + 4881;35160;1832;1951;227749937;4021208 + 4882;35167;1833;1952;225906966;4023382 + 4883;35172;1833;1952;225906966;4023382 + 4884;35179;1833;1953;225906966;4058561 + 4885;35184;1833;1953;225906966;4058561 + 4886;35196;1833;1953;225906966;4058561 + 4887;35199;1833;1954;225906966;4093760 + 4888;35208;1833;1954;225906966;4093760 + 4889;35211;1833;1955;225906966;4128971 + 4890;35220;1833;1955;225906966;4128971 + 4891;35225;1833;1956;225906966;4164196 + 4892;35232;1833;1956;225906966;4164196 + 4893;35244;1833;1956;225906966;4164196 + 4894;35246;1833;1957;225906966;4199442 + 4895;35256;1833;1957;225906966;4199442 + 4896;35259;1833;1958;225906966;4234701 + 4897;35268;1833;1958;225906966;4234701 + 4898;35280;1833;1958;225906966;4234701 + 4899;35280;1833;1959;225906966;4269981 + 4900;35292;1833;1959;225906966;4269981 + 4901;35298;1835;1960;228477048;4239248 + 4902;35304;1835;1960;228477048;4239248 + 4903;35316;1835;1960;228477048;4239248 + 4904;35317;1835;1961;228477048;4274565 + 4905;35328;1835;1961;228477048;4274565 + 4906;35339;1835;1962;228477048;4309904 + 4907;35340;1835;1962;228477048;4309904 + 4908;35352;1835;1962;228477048;4309904 + 4909;35363;1835;1963;228477048;4345267 + 4910;35364;1835;1963;228477048;4345267 + 4911;35376;1835;1963;228477048;4345267 + 4912;35380;1835;1964;228477048;4380647 + 4913;35388;1835;1964;228477048;4380647 + 4914;35400;1835;1964;228477048;4380647 + 4915;35403;1835;1965;228477048;4416050 + 4916;35412;1835;1965;228477048;4416050 + 4917;35424;1835;1965;228477048;4416050 + 4918;35427;1835;1966;228477048;4451477 + 4919;35436;1835;1966;228477048;4451477 + 4920;35445;1835;1967;228477048;4486922 + 4921;35448;1835;1967;228477048;4486922 + 4922;35460;1835;1967;228477048;4486922 + 4923;35468;1835;1968;228477048;4522390 + 4924;35472;1835;1968;228477048;4522390 + 4925;35484;1835;1968;228477048;4522390 + 4926;35486;1835;1969;228477048;4557876 + 4927;35496;1835;1969;228477048;4557876 + 4928;35501;1835;1970;228477048;4593377 + 4929;35508;1835;1970;228477048;4593377 + 4930;35520;1835;1970;228477048;4593377 + 4931;35520;1837;1971;231408780;4562785 + 4932;35532;1837;1971;231408780;4562785 + 4933;35534;1837;1972;231408780;4598319 + 4934;35544;1839;1972;232808682;4532142 + 4935;35549;1844;1973;240822647;4401903 + 4936;35556;1844;1973;240822647;4401903 + 4937;35562;1844;1974;240822647;4437465 + 4938;35568;1844;1974;240822647;4437465 + 4939;35580;1844;1974;240822647;4437465 + 4940;35584;1844;1975;240822647;4473049 + 4941;35592;1844;1975;240822647;4473049 + 4942;35596;1844;1976;240822647;4508645 + 4943;35604;1844;1976;240822647;4508645 + 4944;35613;1844;1977;240822647;4544258 + 4945;35616;1844;1977;240822647;4544258 + 4946;35628;1844;1977;240822647;4544258 + 4947;35637;1844;1978;240822647;4579895 + 4948;35640;1844;1978;240822647;4579895 + 4949;35649;1844;1979;240822647;4615544 + 4950;35652;1844;1979;240822647;4615544 + 4951;35662;1844;1980;240822647;4651206 + 4952;35664;1844;1980;240822647;4651206 + 4953;35676;1844;1980;240822647;4651206 + 4954;35677;1847;1981;243928039;4587147 + 4955;35688;1847;1981;243928039;4587147 + 4956;35689;1848;1982;246510480;4589549 + 4957;35700;1848;1982;246510480;4589549 + 4958;35701;1848;1983;246510480;4625250 + 4959;35712;1848;1983;246510480;4625250 + 4960;35720;1848;1984;246510480;4660970 + 4961;35724;1848;1984;246510480;4660970 + 4962;35734;1855;1985;251301775;4463153 + 4963;35736;1855;1985;251301775;4463153 + 4964;35748;1855;1985;251301775;4463153 + 4965;35753;1855;1986;251301775;4498906 + 4966;35760;1855;1986;251301775;4498906 + 4967;35767;1855;1987;251301775;4534673 + 4968;35772;1855;1987;251301775;4534673 + 4969;35781;1861;1988;248793506;4369520 + 4970;35784;1861;1988;248793506;4369520 + 4971;35796;1861;1988;248793506;4369520 + 4972;35796;1861;1989;248793506;4405316 + 4973;35808;1861;1989;248793506;4405316 + 4974;35808;1861;1990;248793506;4441124 + 4975;35820;1861;1990;248793506;4441124 + 4976;35823;1861;1991;248793506;4476947 + 4977;35832;1861;1991;248793506;4476947 + 4978;35844;1861;1991;248793506;4476947 + 4979;35846;1861;1992;248793506;4512793 + 4980;35856;1861;1992;248793506;4512793 + 4981;35860;1861;1993;248793506;4548653 + 4982;35868;1861;1993;248793506;4548653 + 4983;35874;1861;1994;248793506;4584527 + 4984;35880;1861;1994;248793506;4584527 + 4985;35892;1861;1994;248793506;4584527 + 4986;35893;1861;1995;248793506;4620420 + 4987;35904;1861;1995;248793506;4620420 + 4988;35914;1861;1996;248793506;4656334 + 4989;35916;1861;1996;248793506;4656334 + 4990;35928;1861;1996;248793506;4656334 + 4991;35936;1861;1997;248793506;4692270 + 4992;35940;1861;1997;248793506;4692270 + 4993;35948;1861;1998;248793506;4728218 + 4994;35952;1861;1998;248793506;4728218 + 4995;35960;1861;1999;248793506;4764178 + 4996;35964;1861;1999;248793506;4764178 + 4997;35976;1861;1999;248793506;4764178 + 4998;35976;1861;2000;248793506;4800154 + 4999;35988;1861;2000;248793506;4800154 + 5000;35988;1861;2001;248793506;4836142 + 5001;36000;1861;2001;248793506;4836142 + 5002;36004;1861;2002;248793506;4872146 + 5003;36012;1861;2002;248793506;4872146 + 5004;36022;1871;2003;242817652;4571867 + 5005;36024;1871;2003;242817652;4571867 + 5006;36036;1877;2003;240536840;4369215 + 5007;36036;1877;2004;240536840;4405251 + 5008;36048;1877;2004;240536840;4405251 + 5009;36048;1877;2005;240536840;4441299 + 5010;36060;1877;2005;240536840;4441299 + 5011;36062;1877;2006;240536840;4477361 + 5012;36072;1877;2006;240536840;4477361 + 5013;36081;1877;2007;240536840;4513442 + 5014;36084;1877;2007;240536840;4513442 + 5015;36096;1877;2007;240536840;4513442 + 5016;36096;1877;2008;240536840;4549538 + 5017;36108;1877;2008;240536840;4549538 + 5018;36119;1877;2009;240536840;4585657 + 5019;36120;1877;2009;240536840;4585657 + 5020;36132;1877;2009;240536840;4585657 + 5021;36135;1877;2010;240536840;4621792 + 5022;36144;1877;2010;240536840;4621792 + 5023;36152;1877;2011;240536840;4657944 + 5024;36156;1877;2011;240536840;4657944 + 5025;36168;1877;2011;240536840;4657944 + 5026;36176;1880;2012;239516728;4592557 + 5027;36180;1880;2012;239516728;4592557 + 5028;36192;1880;2012;239516728;4592557 + 5029;36193;1880;2013;239516728;4628750 + 5030;36204;1880;2013;239516728;4628750 + 5031;36206;1881;2014;241380194;4631059 + 5032;36216;1881;2014;241380194;4631059 + 5033;36220;1881;2015;241380194;4667279 + 5034;36228;1881;2015;241380194;4667279 + 5035;36234;1881;2016;241380194;4703513 + 5036;36240;1881;2016;241380194;4703513 + 5037;36252;1881;2016;241380194;4703513 + 5038;36252;1891;2017;237400422;4399775 + 5039;36264;1892;2017;236504446;4365686 + 5040;36266;1892;2018;236504446;4401952 + 5041;36276;1892;2018;236504446;4401952 + 5042;36287;1892;2019;236504446;4438239 + 5043;36288;1892;2019;236504446;4438239 + 5044;36300;1892;2019;236504446;4438239 + 5045;36305;1892;2020;236504446;4474544 + 5046;36312;1892;2020;236504446;4474544 + 5047;36321;1892;2021;236504446;4510865 + 5048;36324;1892;2021;236504446;4510865 + 5049;36336;1892;2021;236504446;4510865 + 5050;36343;1892;2022;236504446;4547208 + 5051;36348;1892;2022;236504446;4547208 + 5052;36357;1892;2023;236504446;4583565 + 5053;36360;1892;2023;236504446;4583565 + 5054;36369;1892;2024;236504446;4619934 + 5055;36372;1892;2024;236504446;4619934 + 5056;36384;1892;2024;236504446;4619934 + 5057;36392;1892;2025;236504446;4656326 + 5058;36396;1892;2025;236504446;4656326 + 5059;36408;1892;2025;236504446;4656326 + 5060;36408;1892;2026;236504446;4692734 + 5061;36420;1892;2026;236504446;4692734 + 5062;36425;1892;2027;236504446;4729159 + 5063;36432;1892;2027;236504446;4729159 + 5064;36442;1899;2028;237608238;4526472 + 5065;36444;1899;2028;237608238;4526472 + 5066;36455;1899;2029;237608238;4562927 + 5067;36456;1899;2029;237608238;4562927 + 5068;36468;1899;2029;237608238;4562927 + 5069;36473;1903;2030;234942783;4462378 + 5070;36480;1903;2030;234942783;4462378 + 5071;36492;1903;2030;234942783;4462378 + 5072;36492;1903;2031;234942783;4498870 + 5073;36504;1903;2031;234942783;4498870 + 5074;36506;1903;2032;234942783;4535376 + 5075;36516;1903;2032;234942783;4535376 + 5076;36528;1903;2032;234942783;4535376 + 5077;36530;1903;2033;234942783;4571906 + 5078;36540;1903;2033;234942783;4571906 + 5079;36547;1903;2034;234942783;4608453 + 5080;36552;1903;2034;234942783;4608453 + 5081;36564;1903;2034;234942783;4608453 + 5082;36570;1903;2035;234942783;4645023 + 5083;36576;1903;2035;234942783;4645023 + 5084;36588;1903;2035;234942783;4645023 + 5085;36593;1903;2036;234942783;4681616 + 5086;36600;1903;2036;234942783;4681616 + 5087;36606;1903;2037;234942783;4718222 + 5088;36612;1903;2037;234942783;4718222 + 5089;36624;1903;2037;234942783;4718222 + 5090;36630;1903;2038;234942783;4754852 + 5091;36636;1903;2038;234942783;4754852 + 5092;36646;1910;2039;232336269;4551050 + 5093;36648;1910;2039;232336269;4551050 + 5094;36660;1910;2039;232336269;4551050 + 5095;36661;1910;2040;232336269;4587711 + 5096;36672;1910;2040;232336269;4587711 + 5097;36673;1910;2041;232336269;4624384 + 5098;36684;1910;2041;232336269;4624384 + 5099;36686;1910;2042;232336269;4661070 + 5100;36696;1910;2042;232336269;4661070 + 5101;36702;1910;2043;232336269;4697772 + 5102;36708;1910;2043;232336269;4697772 + 5103;36720;1910;2043;232336269;4697772 + 5104;36725;1910;2044;232336269;4734497 + 5105;36732;1910;2044;232336269;4734497 + 5106;36744;1910;2044;232336269;4734497 + 5107;36746;1910;2045;232336269;4771243 + 5108;36756;1910;2045;232336269;4771243 + 5109;36766;1910;2046;232336269;4808009 + 5110;36768;1910;2046;232336269;4808009 + 5111;36780;1910;2046;232336269;4808009 + 5112;36790;1910;2047;232336269;4844799 + 5113;36792;1910;2047;232336269;4844799 + 5114;36804;1913;2047;231025827;4741490 + 5115;36806;1913;2048;231025827;4778296 + 5116;36816;1913;2048;231025827;4778296 + 5117;36827;1913;2049;231025827;4815123 + 5118;36828;1913;2049;231025827;4815123 + 5119;36839;1913;2050;231025827;4851962 + 5120;36840;1913;2050;231025827;4851962 + 5121;36852;1913;2050;231025827;4851962 + 5122;36861;1922;2051;232416148;4577849 + 5123;36864;1922;2051;232416148;4577849 + 5124;36876;1922;2051;232416148;4577849 + 5125;36883;1922;2052;232416148;4614732 + 5126;36888;1922;2052;232416148;4614732 + 5127;36895;1922;2053;232416148;4651627 + 5128;36900;1922;2053;232416148;4651627 + 5129;36912;1922;2053;232416148;4651627 + 5130;36915;1922;2054;232416148;4688542 + 5131;36924;1922;2054;232416148;4688542 + 5132;36932;1927;2055;233005197;4552109 + 5133;36936;1927;2055;233005197;4552109 + 5134;36948;1927;2055;233005197;4552109 + 5135;36955;1927;2056;233005197;4589064 + 5136;36960;1927;2056;233005197;4589064 + 5137;36968;1927;2057;233005197;4626032 + 5138;36972;1927;2057;233005197;4626032 + 5139;36984;1927;2057;233005197;4626032 + 5140;36988;1927;2058;233005197;4663020 + 5141;36996;1927;2058;233005197;4663020 + 5142;37002;1927;2059;233005197;4700022 + 5143;37008;1927;2059;233005197;4700022 + 5144;37020;1927;2059;233005197;4700022 + 5145;37026;1927;2060;233005197;4737048 + 5146;37032;1927;2060;233005197;4737048 + 5147;37039;1927;2061;233005197;4774087 + 5148;37044;1927;2061;233005197;4774087 + 5149;37052;1927;2062;233005197;4811139 + 5150;37056;1927;2062;233005197;4811139 + 5151;37068;1928;2062;234964810;4776409 + 5152;37068;1928;2063;234964810;4813477 + 5153;37080;1928;2063;234964810;4813477 + 5154;37091;1928;2064;234964810;4850568 + 5155;37092;1928;2064;234964810;4850568 + 5156;37104;1928;2064;234964810;4850568 + 5157;37113;1928;2065;234964810;4887681 + 5158;37116;1928;2065;234964810;4887681 + 5159;37128;1928;2065;234964810;4887681 + 5160;37134;1928;2066;234964810;4924815 + 5161;37140;1928;2066;234964810;4924815 + 5162;37152;1938;2066;231220837;4576362 + 5163;37157;1940;2067;229880764;4543586 + 5164;37164;1940;2067;229880764;4543586 + 5165;37169;1940;2068;229880764;4580755 + 5166;37176;1940;2068;229880764;4580755 + 5167;37187;1940;2069;229880764;4617942 + 5168;37188;1940;2069;229880764;4617942 + 5169;37200;1940;2069;229880764;4617942 + 5170;37205;1940;2070;229880764;4655147 + 5171;37212;1940;2070;229880764;4655147 + 5172;37224;1940;2070;229880764;4655147 + 5173;37226;1940;2071;229880764;4692373 + 5174;37236;1940;2071;229880764;4692373 + 5175;37247;1940;2072;229880764;4729620 + 5176;37248;1940;2072;229880764;4729620 + 5177;37260;1940;2072;229880764;4729620 + 5178;37270;1941;2073;231466640;4731901 + 5179;37272;1941;2073;231466640;4731901 + 5180;37284;1941;2073;231466640;4731901 + 5181;37288;1941;2074;231466640;4769189 + 5182;37296;1941;2074;231466640;4769189 + 5183;37300;1941;2075;231466640;4806489 + 5184;37308;1941;2075;231466640;4806489 + 5185;37320;1941;2075;231466640;4806489 + 5186;37324;1941;2076;231466640;4843813 + 5187;37332;1941;2076;231466640;4843813 + 5188;37341;1941;2077;231466640;4881154 + 5189;37344;1941;2077;231466640;4881154 + 5190;37355;1951;2078;224892668;4567587 + 5191;37356;1951;2078;224892668;4567587 + 5192;37368;1951;2078;224892668;4567587 + 5193;37374;1951;2079;224892668;4604961 + 5194;37380;1951;2079;224892668;4604961 + 5195;37392;1951;2079;224892668;4604961 + 5196;37395;1951;2080;224892668;4642356 + 5197;37404;1951;2080;224892668;4642356 + 5198;37407;1951;2081;224892668;4679763 + 5199;37416;1951;2081;224892668;4679763 + 5200;37425;1951;2082;224892668;4717188 + 5201;37428;1951;2082;224892668;4717188 + 5202;37437;1951;2083;224892668;4754625 + 5203;37440;1951;2083;224892668;4754625 + 5204;37452;1951;2083;224892668;4754625 + 5205;37459;1951;2084;224892668;4792084 + 5206;37464;1951;2084;224892668;4792084 + 5207;37476;1951;2084;224892668;4792084 + 5208;37483;1951;2085;224892668;4829567 + 5209;37488;1951;2085;224892668;4829567 + 5210;37500;1951;2085;224892668;4829567 + 5211;37505;1951;2086;224892668;4867072 + 5212;37512;1951;2086;224892668;4867072 + 5213;37520;1951;2087;224892668;4904592 + 5214;37524;1951;2087;224892668;4904592 + 5215;37533;1951;2088;224892668;4942125 + 5216;37536;1951;2088;224892668;4942125 + 5217;37548;1951;2088;224892668;4942125 + 5218;37552;1951;2089;224892668;4979677 + 5219;37560;1951;2089;224892668;4979677 + 5220;37572;1951;2089;224892668;4979677 + 5221;37575;1951;2090;224892668;5017252 + 5222;37584;1951;2090;224892668;5017252 + 5223;37594;1951;2091;224892668;5054846 + 5224;37596;1951;2091;224892668;5054846 + 5225;37608;1951;2091;224892668;5054846 + 5226;37613;1954;2092;228405660;4986870 + 5227;37620;1954;2092;228405660;4986870 + 5228;37630;1959;2093;223156486;4848192 + 5229;37632;1959;2093;223156486;4848192 + 5230;37644;1959;2093;223156486;4848192 + 5231;37649;1959;2094;223156486;4885841 + 5232;37656;1959;2094;223156486;4885841 + 5233;37663;1959;2095;223156486;4923504 + 5234;37668;1959;2095;223156486;4923504 + 5235;37679;1959;2096;223156486;4961183 + 5236;37680;1959;2096;223156486;4961183 + 5237;37692;1959;2096;223156486;4961183 + 5238;37695;1959;2097;223156486;4998878 + 5239;37704;1959;2097;223156486;4998878 + 5240;37710;1959;2098;223156486;5036588 + 5241;37716;1959;2098;223156486;5036588 + 5242;37722;1959;2099;223156486;5074310 + 5243;37728;1959;2099;223156486;5074310 + 5244;37740;1959;2099;223156486;5074310 + 5245;37745;1964;2100;219175605;4935253 + 5246;37752;1964;2100;219175605;4935253 + 5247;37764;1964;2100;219175605;4935253 + 5248;37765;1964;2101;219175605;4973018 + 5249;37776;1964;2101;219175605;4973018 + 5250;37788;1966;2101;222418503;4902146 + 5251;37789;1966;2102;222418503;4939935 + 5252;37800;1966;2102;222418503;4939935 + 5253;37804;1966;2103;222418503;4977739 + 5254;37812;1966;2103;222418503;4977739 + 5255;37824;1966;2103;222418503;4977739 + 5256;37827;1966;2104;222418503;5015566 + 5257;37836;1966;2104;222418503;5015566 + 5258;37842;1966;2105;222418503;5053408 + 5259;37848;1966;2105;222418503;5053408 + 5260;37855;1966;2106;222418503;5091263 + 5261;37860;1966;2106;222418503;5091263 + 5262;37872;1966;2106;222418503;5091263 + 5263;37874;1966;2107;222418503;5129137 + 5264;37884;1966;2107;222418503;5129137 + 5265;37887;1966;2108;222418503;5167024 + 5266;37896;1966;2108;222418503;5167024 + 5267;37901;1966;2109;222418503;5204925 + 5268;37908;1966;2109;222418503;5204925 + 5269;37920;1966;2109;222418503;5204925 + 5270;37924;1973;2110;217374845;4994229 + 5271;37932;1973;2110;217374845;4994229 + 5272;37944;1973;2110;217374845;4994229 + 5273;37947;1975;2111;219532055;4960996 + 5274;37956;1975;2111;219532055;4960996 + 5275;37961;1975;2112;219532055;4998957 + 5276;37968;1975;2112;219532055;4998957 + 5277;37974;1975;2113;219532055;5036931 + 5278;37980;1975;2113;219532055;5036931 + 5279;37987;1975;2114;219532055;5074918 + 5280;37992;1975;2114;219532055;5074918 + 5281;38004;1975;2114;219532055;5074918 + 5282;38011;1975;2115;219532055;5112929 + 5283;38016;1975;2115;219532055;5112929 + 5284;38027;1975;2116;219532055;5150956 + 5285;38028;1975;2116;219532055;5150956 + 5286;38040;1975;2116;219532055;5150956 + 5287;38044;1975;2117;219532055;5189000 + 5288;38052;1975;2117;219532055;5189000 + 5289;38063;1985;2118;221870085;4870228 + 5290;38064;1985;2118;221870085;4870228 + 5291;38076;1985;2118;221870085;4870228 + 5292;38085;1985;2119;221870085;4908313 + 5293;38088;1985;2119;221870085;4908313 + 5294;38100;1985;2119;221870085;4908313 + 5295;38103;1985;2120;221870085;4946416 + 5296;38112;1985;2120;221870085;4946416 + 5297;38122;1985;2121;221870085;4984538 + 5298;38124;1985;2121;221870085;4984538 + 5299;38136;1985;2121;221870085;4984538 + 5300;38138;1985;2122;221870085;5022676 + 5301;38148;1985;2122;221870085;5022676 + 5302;38158;1985;2123;221870085;5060834 + 5303;38160;1985;2123;221870085;5060834 + 5304;38172;1989;2123;226027011;4917682 + 5305;38174;1989;2124;226027011;4955856 + 5306;38184;1989;2124;226027011;4955856 + 5307;38196;1989;2124;226027011;4955856 + 5308;38196;1989;2125;226027011;4994052 + 5309;38208;1990;2125;228312889;4958229 + 5310;38209;1990;2126;228312889;4996438 + 5311;38220;1990;2126;228312889;4996438 + 5312;38222;1990;2127;228312889;5034660 + 5313;38232;1990;2127;228312889;5034660 + 5314;38244;1990;2127;228312889;5034660 + 5315;38244;1990;2128;228312889;5072904 + 5316;38256;1990;2128;228312889;5072904 + 5317;38266;1993;2129;230665131;5003590 + 5318;38268;1993;2129;230665131;5003590 + 5319;38280;1993;2129;230665131;5003590 + 5320;38284;1993;2130;230665131;5041874 + 5321;38292;1993;2130;230665131;5041874 + 5322;38303;1993;2131;230665131;5080177 + 5323;38304;1993;2131;230665131;5080177 + 5324;38316;1993;2131;230665131;5080177 + 5325;38324;2003;2132;232278192;4758824 + 5326;38328;2003;2132;232278192;4758824 + 5327;38340;2008;2132;234026828;4578418 + 5328;38346;2008;2133;234026828;4616764 + 5329;38352;2008;2133;234026828;4616764 + 5330;38364;2008;2133;234026828;4616764 + 5331;38368;2008;2134;234026828;4655132 + 5332;38376;2008;2134;234026828;4655132 + 5333;38382;2008;2135;234026828;4693514 + 5334;38388;2008;2135;234026828;4693514 + 5335;38400;2008;2135;234026828;4693514 + 5336;38403;2008;2136;234026828;4731917 + 5337;38412;2008;2136;234026828;4731917 + 5338;38416;2008;2137;234026828;4770333 + 5339;38424;2008;2137;234026828;4770333 + 5340;38436;2008;2137;234026828;4770333 + 5341;38439;2008;2138;234026828;4808772 + 5342;38448;2008;2138;234026828;4808772 + 5343;38455;2008;2139;234026828;4847227 + 5344;38460;2008;2139;234026828;4847227 + 5345;38468;2008;2140;234026828;4885695 + 5346;38472;2008;2140;234026828;4885695 + 5347;38484;2008;2140;234026828;4885695 + 5348;38491;2009;2141;236186857;4888051 + 5349;38496;2009;2141;236186857;4888051 + 5350;38508;2009;2141;236186857;4888051 + 5351;38508;2011;2142;237000146;4854231 + 5352;38520;2011;2142;237000146;4854231 + 5353;38527;2011;2143;237000146;4892758 + 5354;38532;2011;2143;237000146;4892758 + 5355;38540;2011;2144;237000146;4931298 + 5356;38544;2011;2144;237000146;4931298 + 5357;38556;2011;2144;237000146;4931298 + 5358;38560;2011;2145;237000146;4969858 + 5359;38568;2011;2145;237000146;4969858 + 5360;38579;2011;2146;237000146;5008437 + 5361;38580;2011;2146;237000146;5008437 + 5362;38592;2011;2146;237000146;5008437 + 5363;38602;2011;2147;237000146;5047039 + 5364;38604;2011;2147;237000146;5047039 + 5365;38616;2011;2147;237000146;5047039 + 5366;38616;2011;2148;237000146;5085655 + 5367;38628;2011;2148;237000146;5085655 + 5368;38631;2011;2149;237000146;5124286 + 5369;38640;2011;2149;237000146;5124286 + 5370;38647;2014;2150;243509147;5054314 + 5371;38652;2014;2150;243509147;5054314 + 5372;38660;2014;2151;243509147;5092974 + 5373;38664;2014;2151;243509147;5092974 + 5374;38676;2014;2151;243509147;5092974 + 5375;38679;2014;2152;243509147;5131653 + 5376;38688;2014;2152;243509147;5131653 + 5377;38692;2014;2153;243509147;5170345 + 5378;38700;2014;2153;243509147;5170345 + 5379;38711;2027;2154;244133940;4736655 + 5380;38712;2027;2154;244133940;4736655 + 5381;38724;2030;2154;244210244;4627235 + 5382;38730;2030;2155;244210244;4665965 + 5383;38736;2030;2155;244210244;4665965 + 5384;38748;2030;2155;244210244;4665965 + 5385;38752;2030;2156;244210244;4704717 + 5386;38760;2030;2156;244210244;4704717 + 5387;38765;2030;2157;244210244;4743482 + 5388;38772;2030;2157;244210244;4743482 + 5389;38784;2030;2157;244210244;4743482 + 5390;38784;2032;2158;243364607;4709230 + 5391;38796;2032;2158;243364607;4709230 + 5392;38804;2032;2159;243364607;4748034 + 5393;38808;2032;2159;243364607;4748034 + 5394;38820;2032;2159;243364607;4748034 + 5395;38827;2032;2160;243364607;4786861 + 5396;38832;2032;2160;243364607;4786861 + 5397;38841;2032;2161;243364607;4825702 + 5398;38844;2032;2161;243364607;4825702 + 5399;38856;2032;2161;243364607;4825702 + 5400;38863;2037;2162;243950908;4681619 + 5401;38868;2037;2162;243950908;4681619 + 5402;38879;2037;2163;243950908;4720498 + 5403;38880;2037;2163;243950908;4720498 + 5404;38892;2037;2163;243950908;4720498 + 5405;38902;2037;2164;243950908;4759400 + 5406;38904;2037;2164;243950908;4759400 + 5407;38914;2037;2165;243950908;4798314 + 5408;38916;2037;2165;243950908;4798314 + 5409;38928;2037;2165;243950908;4798314 + 5410;38932;2037;2166;243950908;4837246 + 5411;38940;2037;2166;243950908;4837246 + 5412;38949;2037;2167;243950908;4876195 + 5413;38952;2037;2167;243950908;4876195 + 5414;38961;2037;2168;243950908;4915156 + 5415;38964;2037;2168;243950908;4915156 + 5416;38976;2037;2168;243950908;4915156 + 5417;38978;2037;2169;243950908;4954134 + 5418;38988;2037;2169;243950908;4954134 + 5419;38991;2037;2170;243950908;4993125 + 5420;39000;2037;2170;243950908;4993125 + 5421;39003;2037;2171;243950908;5032128 + 5422;39012;2037;2171;243950908;5032128 + 5423;39024;2037;2171;243950908;5032128 + 5424;39027;2037;2172;243950908;5071155 + 5425;39036;2037;2172;243950908;5071155 + 5426;39039;2037;2173;243950908;5110194 + 5427;39048;2037;2173;243950908;5110194 + 5428;39060;2037;2173;243950908;5110194 + 5429;39061;2037;2174;243950908;5149255 + 5430;39072;2037;2174;243950908;5149255 + 5431;39079;2037;2175;243950908;5188334 + 5432;39084;2037;2175;243950908;5188334 + 5433;39096;2037;2175;243950908;5188334 + 5434;39100;2037;2176;243950908;5227434 + 5435;39108;2037;2176;243950908;5227434 + 5436;39120;2041;2176;249782867;5080768 + 5437;39124;2049;2177;247444362;4825691 + 5438;39132;2049;2177;247444362;4825691 + 5439;39144;2049;2177;247444362;4825691 + 5440;39145;2049;2178;247444362;4864836 + 5441;39156;2049;2178;247444362;4864836 + 5442;39161;2049;2179;247444362;4903997 + 5443;39168;2049;2179;247444362;4903997 + 5444;39180;2054;2179;243768013;4719511 + 5445;39185;2054;2180;243768013;4758696 + 5446;39192;2054;2180;243768013;4758696 + 5447;39204;2054;2180;243768013;4758696 + 5448;39205;2054;2181;243768013;4797901 + 5449;39216;2054;2181;243768013;4797901 + 5450;39217;2054;2182;243768013;4837118 + 5451;39228;2054;2182;243768013;4837118 + 5452;39240;2054;2182;243768013;4837118 + 5453;39240;2054;2183;243768013;4876358 + 5454;39252;2054;2183;243768013;4876358 + 5455;39257;2054;2184;243768013;4915615 + 5456;39264;2054;2184;243768013;4915615 + 5457;39276;2054;2184;243768013;4915615 + 5458;39276;2054;2185;243768013;4954891 + 5459;39288;2054;2185;243768013;4954891 + 5460;39292;2054;2186;243768013;4994183 + 5461;39300;2054;2186;243768013;4994183 + 5462;39307;2057;2187;248886821;4922579 + 5463;39312;2057;2187;248886821;4922579 + 5464;39321;2057;2188;248886821;4961900 + 5465;39324;2057;2188;248886821;4961900 + 5466;39334;2057;2189;248886821;5001234 + 5467;39336;2057;2189;248886821;5001234 + 5468;39347;2057;2190;248886821;5040581 + 5469;39348;2057;2190;248886821;5040581 + 5470;39360;2057;2190;248886821;5040581 + 5471;39366;2065;2191;246102535;4783422 + 5472;39372;2065;2191;246102535;4783422 + 5473;39380;2065;2192;246102535;4822802 + 5474;39384;2065;2192;246102535;4822802 + 5475;39394;2065;2193;246102535;4862196 + 5476;39396;2065;2193;246102535;4862196 + 5477;39408;2065;2193;246102535;4862196 + 5478;39418;2067;2194;246202535;4827288 + 5479;39420;2067;2194;246202535;4827288 + 5480;39432;2067;2194;246202535;4827288 + 5481;39438;2067;2195;246202535;4866726 + 5482;39444;2067;2195;246202535;4866726 + 5483;39456;2067;2195;246202535;4866726 + 5484;39462;2067;2196;246202535;4906188 + 5485;39468;2067;2196;246202535;4906188 + 5486;39479;2067;2197;246202535;4945667 + 5487;39480;2067;2197;246202535;4945667 + 5488;39492;2067;2197;246202535;4945667 + 5489;39501;2067;2198;246202535;4985168 + 5490;39504;2067;2198;246202535;4985168 + 5491;39516;2067;2198;246202535;4985168 + 5492;39521;2067;2199;246202535;5024689 + 5493;39528;2067;2199;246202535;5024689 + 5494;39535;2067;2200;246202535;5064224 + 5495;39540;2067;2200;246202535;5064224 + 5496;39552;2067;2200;246202535;5064224 + 5497;39554;2067;2201;246202535;5103778 + 5498;39564;2067;2201;246202535;5103778 + 5499;39568;2067;2202;246202535;5143346 + 5500;39576;2067;2202;246202535;5143346 + 5501;39586;2067;2203;246202535;5182932 + 5502;39588;2067;2203;246202535;5182932 + 5503;39600;2067;2203;246202535;5182932 + 5504;39607;2067;2204;246202535;5222539 + 5505;39612;2067;2204;246202535;5222539 + 5506;39621;2067;2205;246202535;5262160 + 5507;39624;2067;2205;246202535;5262160 + 5508;39635;2067;2206;246202535;5301795 + 5509;39636;2067;2206;246202535;5301795 + 5510;39648;2067;2206;246202535;5301795 + 5511;39649;2077;2207;247150697;4968701 + 5512;39660;2081;2207;244454576;4819100 + 5513;39672;2081;2207;244454576;4819100 + 5514;39672;2081;2208;244454576;4858772 + 5515;39684;2081;2208;244454576;4858772 + 5516;39685;2081;2209;244454576;4898457 + 5517;39696;2081;2209;244454576;4898457 + 5518;39707;2081;2210;244454576;4938164 + 5519;39708;2081;2210;244454576;4938164 + 5520;39720;2081;2210;244454576;4938164 + 5521;39723;2081;2211;244454576;4977887 + 5522;39732;2081;2211;244454576;4977887 + 5523;39744;2081;2211;244454576;4977887 + 5524;39746;2087;2212;246271789;4792696 + 5525;39756;2087;2212;246271789;4792696 + 5526;39768;2087;2212;246271789;4792696 + 5527;39770;2087;2213;246271789;4832466 + 5528;39780;2087;2213;246271789;4832466 + 5529;39786;2087;2214;246271789;4872252 + 5530;39792;2087;2214;246271789;4872252 + 5531;39801;2087;2215;246271789;4912053 + 5532;39804;2087;2215;246271789;4912053 + 5533;39815;2087;2216;246271789;4951868 + 5534;39816;2087;2216;246271789;4951868 + 5535;39828;2087;2216;246271789;4951868 + 5536;39829;2087;2217;246271789;4991697 + 5537;39840;2087;2217;246271789;4991697 + 5538;39841;2087;2218;246271789;5031538 + 5539;39852;2087;2218;246271789;5031538 + 5540;39853;2087;2219;246271789;5071391 + 5541;39864;2089;2219;246865094;4996264 + 5542;39876;2089;2219;246865094;4996264 + 5543;39876;2089;2220;246865094;5036140 + 5544;39888;2089;2220;246865094;5036140 + 5545;39897;2089;2221;246865094;5076037 + 5546;39900;2089;2221;246865094;5076037 + 5547;39912;2089;2221;246865094;5076037 + 5548;39919;2089;2222;246865094;5115956 + 5549;39924;2089;2222;246865094;5115956 + 5550;39934;2089;2223;246865094;5155890 + 5551;39936;2089;2223;246865094;5155890 + 5552;39948;2089;2223;246865094;5155890 + 5553;39958;2094;2224;252506189;5007699 + 5554;39960;2094;2224;252506189;5007699 + 5555;39972;2094;2224;252506189;5007699 + 5556;39977;2094;2225;252506189;5047676 + 5557;39984;2094;2225;252506189;5047676 + 5558;39996;2094;2225;252506189;5047676 + 5559;39999;2094;2226;252506189;5087675 + 5560;40008;2094;2226;252506189;5087675 + 5561;40020;2094;2226;252506189;5087675 + 5562;40023;2094;2227;252506189;5127698 + 5563;40032;2094;2227;252506189;5127698 + 5564;40044;2094;2227;252506189;5127698 + 5565;40044;2094;2228;252506189;5167742 + 5566;40056;2094;2228;252506189;5167742 + 5567;40056;2094;2229;252506189;5207798 + 5568;40068;2094;2229;252506189;5207798 + 5569;40078;2094;2230;252506189;5247876 + 5570;40080;2094;2230;252506189;5247876 + 5571;40092;2094;2230;252506189;5247876 + 5572;40095;2094;2231;252506189;5287971 + 5573;40104;2094;2231;252506189;5287971 + 5574;40114;2094;2232;252506189;5328085 + 5575;40116;2094;2232;252506189;5328085 + 5576;40128;2094;2232;252506189;5328085 + 5577;40131;2094;2233;252506189;5368216 + 5578;40140;2094;2233;252506189;5368216 + 5579;40145;2094;2234;252506189;5408361 + 5580;40152;2094;2234;252506189;5408361 + 5581;40164;2108;2234;251443172;4879266 + 5582;40165;2108;2235;251443172;4919431 + 5583;40176;2108;2235;251443172;4919431 + 5584;40177;2108;2236;251443172;4959608 + 5585;40188;2108;2236;251443172;4959608 + 5586;40191;2108;2237;251443172;4999799 + 5587;40200;2108;2237;251443172;4999799 + 5588;40212;2108;2237;251443172;4999799 + 5589;40214;2108;2238;251443172;5040013 + 5590;40224;2108;2238;251443172;5040013 + 5591;40234;2108;2239;251443172;5080247 + 5592;40236;2108;2239;251443172;5080247 + 5593;40248;2108;2239;251443172;5080247 + 5594;40249;2108;2240;251443172;5120496 + 5595;40260;2108;2240;251443172;5120496 + 5596;40272;2108;2240;251443172;5120496 + 5597;40273;2108;2241;251443172;5160769 + 5598;40284;2108;2241;251443172;5160769 + 5599;40285;2108;2242;251443172;5201054 + 5600;40296;2108;2242;251443172;5201054 + 5601;40304;2108;2243;251443172;5241358 + 5602;40308;2108;2243;251443172;5241358 + 5603;40320;2108;2243;251443172;5241358 + 5604;40325;2108;2244;251443172;5281683 + 5605;40332;2108;2244;251443172;5281683 + 5606;40337;2108;2245;251443172;5322020 + 5607;40344;2108;2245;251443172;5322020 + 5608;40354;2115;2246;254160767;5096543 + 5609;40356;2115;2246;254160767;5096543 + 5610;40368;2115;2246;254160767;5096543 + 5611;40369;2119;2247;253446944;4984617 + 5612;40380;2119;2247;253446944;4984617 + 5613;40385;2119;2248;253446944;5025002 + 5614;40392;2119;2248;253446944;5025002 + 5615;40404;2119;2248;253446944;5025002 + 5616;40406;2119;2249;253446944;5065408 + 5617;40416;2119;2249;253446944;5065408 + 5618;40427;2119;2250;253446944;5105835 + 5619;40428;2119;2250;253446944;5105835 + 5620;40440;2119;2250;253446944;5105835 + 5621;40451;2119;2251;253446944;5146286 + 5622;40452;2119;2251;253446944;5146286 + 5623;40464;2119;2251;253446944;5146286 + 5624;40471;2119;2252;253446944;5186757 + 5625;40476;2119;2252;253446944;5186757 + 5626;40484;2119;2253;253446944;5227241 + 5627;40488;2119;2253;253446944;5227241 + 5628;40499;2119;2254;253446944;5267740 + 5629;40500;2119;2254;253446944;5267740 + 5630;40512;2119;2254;253446944;5267740 + 5631;40513;2119;2255;253446944;5308253 + 5632;40524;2119;2255;253446944;5308253 + 5633;40536;2119;2255;253446944;5308253 + 5634;40536;2119;2256;253446944;5348789 + 5635;40548;2119;2256;253446944;5348789 + 5636;40560;2119;2256;253446944;5348789 + 5637;40560;2119;2257;253446944;5389349 + 5638;40572;2119;2257;253446944;5389349 + 5639;40584;2120;2257;256594818;5351227 + 5640;40584;2120;2258;256594818;5391811 + 5641;40596;2120;2258;256594818;5391811 + 5642;40602;2129;2259;256859568;5088522 + 5643;40608;2129;2259;256859568;5088522 + 5644;40618;2129;2260;256859568;5129140 + 5645;40620;2129;2260;256859568;5129140 + 5646;40632;2129;2260;256859568;5129140 + 5647;40640;2129;2261;256859568;5169780 + 5648;40644;2129;2261;256859568;5169780 + 5649;40656;2129;2261;256859568;5169780 + 5650;40664;2129;2262;256859568;5210444 + 5651;40668;2129;2262;256859568;5210444 + 5652;40678;2129;2263;256859568;5251122 + 5653;40680;2129;2263;256859568;5251122 + 5654;40692;2129;2263;256859568;5251122 + 5655;40696;2134;2264;255099715;5100095 + 5656;40704;2134;2264;255099715;5100095 + 5657;40710;2134;2265;255099715;5140805 + 5658;40716;2134;2265;255099715;5140805 + 5659;40722;2134;2266;255099715;5181527 + 5660;40728;2134;2266;255099715;5181527 + 5661;40740;2134;2266;255099715;5181527 + 5662;40746;2134;2267;255099715;5222273 + 5663;40752;2134;2267;255099715;5222273 + 5664;40764;2134;2267;255099715;5222273 + 5665;40766;2134;2268;255099715;5263039 + 5666;40776;2134;2268;255099715;5263039 + 5667;40786;2134;2269;255099715;5303825 + 5668;40788;2134;2269;255099715;5303825 + 5669;40800;2134;2269;255099715;5303825 + 5670;40803;2138;2270;255562503;5190915 + 5671;40812;2138;2270;255562503;5190915 + 5672;40824;2138;2270;255562503;5190915 + 5673;40826;2138;2271;255562503;5231741 + 5674;40836;2138;2271;255562503;5231741 + 5675;40842;2138;2272;255562503;5272583 + 5676;40848;2138;2272;255562503;5272583 + 5677;40860;2138;2272;255562503;5272583 + 5678;40864;2138;2273;255562503;5313447 + 5679;40872;2138;2273;255562503;5313447 + 5680;40883;2138;2274;255562503;5354330 + 5681;40884;2138;2274;255562503;5354330 + 5682;40896;2138;2274;255562503;5354330 + 5683;40901;2138;2275;255562503;5395231 + 5684;40908;2138;2275;255562503;5395231 + 5685;40916;2139;2276;258607316;5397679 + 5686;40920;2139;2276;258607316;5397679 + 5687;40932;2139;2276;258607316;5397679 + 5688;40934;2151;2277;261794739;4975573 + 5689;40944;2151;2277;261794739;4975573 + 5690;40951;2151;2278;261794739;5016524 + 5691;40956;2151;2278;261794739;5016524 + 5692;40968;2151;2278;261794739;5016524 + 5693;40974;2151;2279;261794739;5057498 + 5694;40980;2151;2279;261794739;5057498 + 5695;40992;2151;2279;261794739;5057498 + 5696;40992;2151;2280;261794739;5098490 + 5697;41004;2151;2280;261794739;5098490 + 5698;41016;2151;2280;261794739;5098490 + 5699;41016;2152;2281;263823286;5100814 + 5700;41028;2152;2281;263823286;5100814 + 5701;41037;2152;2282;263823286;5141851 + 5702;41040;2152;2282;263823286;5141851 + 5703;41050;2152;2283;263823286;5182901 + 5704;41052;2152;2283;263823286;5182901 + 5705;41064;2152;2283;263823286;5182901 + 5706;41072;2152;2284;263823286;5223973 + 5707;41076;2152;2284;263823286;5223973 + 5708;41084;2152;2285;263823286;5265057 + 5709;41088;2152;2285;263823286;5265057 + 5710;41100;2152;2285;263823286;5265057 + 5711;41100;2152;2286;263823286;5306157 + 5712;41112;2152;2286;263823286;5306157 + 5713;41120;2152;2287;263823286;5347277 + 5714;41124;2152;2287;263823286;5347277 + 5715;41133;2152;2288;263823286;5388410 + 5716;41136;2152;2288;263823286;5388410 + 5717;41147;2152;2289;263823286;5429557 + 5718;41148;2152;2289;263823286;5429557 + 5719;41160;2152;2289;263823286;5429557 + 5720;41162;2152;2290;263823286;5470719 + 5721;41172;2152;2290;263823286;5470719 + 5722;41184;2152;2290;263823286;5470719 + 5723;41184;2162;2291;270662663;5123947 + 5724;41196;2162;2291;270662663;5123947 + 5725;41205;2162;2292;270662663;5165152 + 5726;41208;2162;2292;270662663;5165152 + 5727;41220;2162;2292;270662663;5165152 + 5728;41227;2162;2293;270662663;5206379 + 5729;41232;2162;2293;270662663;5206379 + 5730;41244;2162;2293;270662663;5206379 + 5731;41244;2162;2294;270662663;5247623 + 5732;41256;2162;2294;270662663;5247623 + 5733;41265;2162;2295;270662663;5288888 + 5734;41268;2162;2295;270662663;5288888 + 5735;41280;2162;2295;270662663;5288888 + 5736;41288;2162;2296;270662663;5330176 + 5737;41292;2162;2296;270662663;5330176 + 5738;41304;2162;2296;270662663;5330176 + 5739;41304;2166;2297;276821601;5215783 + 5740;41316;2166;2297;276821601;5215783 + 5741;41325;2166;2298;276821601;5257108 + 5742;41328;2166;2298;276821601;5257108 + 5743;41340;2166;2298;276821601;5257108 + 5744;41346;2166;2299;276821601;5298454 + 5745;41352;2166;2299;276821601;5298454 + 5746;41364;2166;2299;276821601;5298454 + 5747;41364;2166;2300;276821601;5339818 + 5748;41376;2166;2300;276821601;5339818 + 5749;41384;2166;2301;276821601;5381202 + 5750;41388;2166;2301;276821601;5381202 + 5751;41396;2170;2302;283368525;5266665 + 5752;41400;2170;2302;283368525;5266665 + 5753;41412;2170;2302;283368525;5266665 + 5754;41414;2170;2303;283368525;5308079 + 5755;41424;2170;2303;283368525;5308079 + 5756;41436;2170;2303;283368525;5308079 + 5757;41437;2170;2304;283368525;5349516 + 5758;41448;2170;2304;283368525;5349516 + 5759;41460;2170;2304;283368525;5349516 + 5760;41460;2177;2305;284015697;5117401 + 5761;41472;2177;2305;284015697;5117401 + 5762;41472;2177;2306;284015697;5158873 + 5763;41484;2177;2306;284015697;5158873 + 5764;41490;2177;2307;284015697;5200363 + 5765;41496;2177;2307;284015697;5200363 + 5766;41508;2177;2307;284015697;5200363 + 5767;41514;2177;2308;284015697;5241877 + 5768;41520;2177;2308;284015697;5241877 + 5769;41532;2177;2308;284015697;5241877 + 5770;41537;2177;2309;284015697;5283414 + 5771;41544;2177;2309;284015697;5283414 + 5772;41556;2177;2309;284015697;5283414 + 5773;41556;2177;2310;284015697;5324970 + 5774;41568;2177;2310;284015697;5324970 + 5775;41579;2177;2311;284015697;5366549 + 5776;41580;2177;2311;284015697;5366549 + 5777;41592;2177;2311;284015697;5366549 + 5778;41593;2177;2312;284015697;5408142 + 5779;41604;2177;2312;284015697;5408142 + 5780;41612;2177;2313;284015697;5449754 + 5781;41616;2177;2313;284015697;5449754 + 5782;41628;2177;2313;284015697;5449754 + 5783;41632;2179;2314;289608355;5413040 + 5784;41640;2179;2314;289608355;5413040 + 5785;41647;2189;2315;294113871;5061891 + 5786;41652;2189;2315;294113871;5061891 + 5787;41661;2189;2316;294113871;5103552 + 5788;41664;2189;2316;294113871;5103552 + 5789;41676;2191;2316;295366515;5024806 + 5790;41684;2197;2317;287848920;4829798 + 5791;41688;2197;2317;287848920;4829798 + 5792;41696;2197;2318;287848920;4871494 + 5793;41700;2197;2318;287848920;4871494 + 5794;41708;2197;2319;287848920;4913202 + 5795;41712;2197;2319;287848920;4913202 + 5796;41722;2197;2320;287848920;4954924 + 5797;41724;2197;2320;287848920;4954924 + 5798;41736;2197;2320;287848920;4954924 + 5799;41741;2197;2321;287848920;4996665 + 5800;41748;2197;2321;287848920;4996665 + 5801;41760;2197;2321;287848920;4996665 + 5802;41762;2197;2322;287848920;5038427 + 5803;41772;2197;2322;287848920;5038427 + 5804;41778;2197;2323;287848920;5080205 + 5805;41784;2197;2323;287848920;5080205 + 5806;41796;2197;2323;287848920;5080205 + 5807;41801;2197;2324;287848920;5122006 + 5808;41808;2197;2324;287848920;5122006 + 5809;41820;2197;2324;287848920;5122006 + 5810;41820;2197;2325;287848920;5163826 + 5811;41832;2197;2325;287848920;5163826 + 5812;41843;2197;2326;287848920;5205669 + 5813;41844;2197;2326;287848920;5205669 + 5814;41856;2197;2326;287848920;5205669 + 5815;41862;2197;2327;287848920;5247531 + 5816;41868;2197;2327;287848920;5247531 + 5817;41880;2197;2327;287848920;5247531 + 5818;41886;2197;2328;287848920;5289417 + 5819;41892;2197;2328;287848920;5289417 + 5820;41904;2197;2328;287848920;5289417 + 5821;41910;2197;2329;287848920;5331327 + 5822;41916;2197;2329;287848920;5331327 + 5823;41922;2197;2330;287848920;5373249 + 5824;41928;2197;2330;287848920;5373249 + 5825;41936;2197;2331;287848920;5415185 + 5826;41940;2197;2331;287848920;5415185 + 5827;41952;2197;2331;287848920;5415185 + 5828;41957;2203;2332;295874613;5219771 + 5829;41964;2203;2332;295874613;5219771 + 5830;41973;2203;2333;295874613;5261744 + 5831;41976;2203;2333;295874613;5261744 + 5832;41988;2203;2333;295874613;5261744 + 5833;41992;2203;2334;295874613;5303736 + 5834;42000;2203;2334;295874613;5303736 + 5835;42006;2203;2335;295874613;5345742 + 5836;42012;2203;2335;295874613;5345742 + 5837;42024;2203;2335;295874613;5345742 + 5838;42025;2203;2336;295874613;5387767 + 5839;42036;2203;2336;295874613;5387767 + 5840;42044;2203;2337;295874613;5429811 + 5841;42048;2203;2337;295874613;5429811 + 5842;42060;2203;2337;295874613;5429811 + 5843;42063;2208;2338;298176549;5273612 + 5844;42072;2208;2338;298176549;5273612 + 5845;42080;2208;2339;298176549;5315692 + 5846;42084;2208;2339;298176549;5315692 + 5847;42094;2208;2340;298176549;5357786 + 5848;42096;2208;2340;298176549;5357786 + 5849;42108;2208;2340;298176549;5357786 + 5850;42114;2208;2341;298176549;5399900 + 5851;42120;2208;2341;298176549;5399900 + 5852;42132;2208;2341;298176549;5399900 + 5853;42133;2208;2342;298176549;5442033 + 5854;42144;2208;2342;298176549;5442033 + 5855;42151;2208;2343;298176549;5484184 + 5856;42156;2208;2343;298176549;5484184 + 5857;42166;2208;2344;298176549;5526350 + 5858;42168;2208;2344;298176549;5526350 + 5859;42180;2214;2344;297738924;5287817 + 5860;42189;2214;2345;297738924;5330006 + 5861;42192;2214;2345;297738924;5330006 + 5862;42204;2214;2345;297738924;5330006 + 5863;42204;2214;2346;297738924;5372210 + 5864;42216;2214;2346;297738924;5372210 + 5865;42216;2214;2347;297738924;5414426 + 5866;42228;2214;2347;297738924;5414426 + 5867;42235;2214;2348;297738924;5456661 + 5868;42240;2214;2348;297738924;5456661 + 5869;42252;2214;2348;297738924;5456661 + 5870;42258;2224;2349;302701829;5100020 + 5871;42264;2230;2349;290296992;4859725 + 5872;42276;2230;2349;290296992;4859725 + 5873;42278;2230;2350;290296992;4902003 + 5874;42288;2230;2350;290296992;4902003 + 5875;42298;2230;2351;290296992;4944301 + 5876;42300;2230;2351;290296992;4944301 + 5877;42312;2230;2351;290296992;4944301 + 5878;42321;2230;2352;290296992;4986622 + 5879;42324;2230;2352;290296992;4986622 + 5880;42334;2231;2353;291679183;4988842 + 5881;42336;2231;2353;291679183;4988842 + 5882;42348;2231;2353;291679183;4988842 + 5883;42356;2231;2354;291679183;5031198 + 5884;42360;2231;2354;291679183;5031198 + 5885;42372;2231;2354;291679183;5031198 + 5886;42378;2231;2355;291679183;5073576 + 5887;42384;2231;2355;291679183;5073576 + 5888;42393;2231;2356;291679183;5115969 + 5889;42396;2231;2356;291679183;5115969 + 5890;42407;2232;2357;293562924;5118245 + 5891;42408;2232;2357;293562924;5118245 + 5892;42420;2232;2357;293562924;5118245 + 5893;42425;2232;2358;293562924;5160670 + 5894;42432;2232;2358;293562924;5160670 + 5895;42444;2232;2358;293562924;5160670 + 5896;42444;2232;2359;293562924;5203114 + 5897;42456;2232;2359;293562924;5203114 + 5898;42467;2233;2360;295976337;5205436 + 5899;42468;2233;2360;295976337;5205436 + 5900;42480;2233;2360;295976337;5205436 + 5901;42489;2233;2361;295976337;5247925 + 5902;42492;2233;2361;295976337;5247925 + 5903;42503;2233;2362;295976337;5290428 + 5904;42504;2233;2362;295976337;5290428 + 5905;42516;2233;2362;295976337;5290428 + 5906;42527;2233;2363;295976337;5332955 + 5907;42528;2233;2363;295976337;5332955 + 5908;42540;2233;2363;295976337;5332955 + 5909;42543;2233;2364;295976337;5375498 + 5910;42552;2233;2364;295976337;5375498 + 5911;42564;2233;2364;295976337;5375498 + 5912;42566;2235;2365;297404156;5337722 + 5913;42576;2235;2365;297404156;5337722 + 5914;42585;2235;2366;297404156;5380307 + 5915;42588;2235;2366;297404156;5380307 + 5916;42600;2235;2366;297404156;5380307 + 5917;42608;2235;2367;297404156;5422915 + 5918;42612;2235;2367;297404156;5422915 + 5919;42624;2235;2367;297404156;5422915 + 5920;42629;2242;2368;298325675;5183794 + 5921;42636;2242;2368;298325675;5183794 + 5922;42648;2242;2368;298325675;5183794 + 5923;42652;2242;2369;298325675;5226446 + 5924;42660;2242;2369;298325675;5226446 + 5925;42672;2242;2369;298325675;5226446 + 5926;42673;2242;2370;298325675;5269119 + 5927;42684;2242;2370;298325675;5269119 + 5928;42688;2242;2371;298325675;5311807 + 5929;42696;2242;2371;298325675;5311807 + 5930;42708;2242;2371;298325675;5311807 + 5931;42711;2242;2372;298325675;5354518 + 5932;42720;2242;2372;298325675;5354518 + 5933;42728;2242;2373;298325675;5397246 + 5934;42732;2242;2373;298325675;5397246 + 5935;42744;2242;2373;298325675;5397246 + 5936;42745;2242;2374;298325675;5439991 + 5937;42756;2242;2374;298325675;5439991 + 5938;42761;2242;2375;298325675;5482752 + 5939;42768;2242;2375;298325675;5482752 + 5940;42778;2242;2376;298325675;5525530 + 5941;42780;2242;2376;298325675;5525530 + 5942;42792;2242;2376;298325675;5525530 + 5943;42796;2252;2377;300402505;5164317 + 5944;42804;2252;2377;300402505;5164317 + 5945;42812;2252;2378;300402505;5207129 + 5946;42816;2252;2378;300402505;5207129 + 5947;42828;2252;2378;300402505;5207129 + 5948;42830;2252;2379;300402505;5249959 + 5949;42840;2252;2379;300402505;5249959 + 5950;42851;2252;2380;300402505;5292810 + 5951;42852;2252;2380;300402505;5292810 + 5952;42864;2252;2380;300402505;5292810 + 5953;42864;2252;2381;300402505;5335674 + 5954;42876;2252;2381;300402505;5335674 + 5955;42886;2252;2382;300402505;5378560 + 5956;42888;2252;2382;300402505;5378560 + 5957;42900;2252;2382;300402505;5378560 + 5958;42906;2262;2383;303184645;5015572 + 5959;42912;2264;2383;302342584;4934166 + 5960;42918;2264;2384;302342584;4977084 + 5961;42924;2264;2384;302342584;4977084 + 5962;42930;2264;2385;302342584;5020014 + 5963;42936;2264;2385;302342584;5020014 + 5964;42945;2264;2386;302342584;5062959 + 5965;42948;2264;2386;302342584;5062959 + 5966;42960;2264;2386;302342584;5062959 + 5967;42965;2264;2387;302342584;5105924 + 5968;42972;2264;2387;302342584;5105924 + 5969;42984;2264;2387;302342584;5105924 + 5970;42988;2264;2388;302342584;5148912 + 5971;42996;2264;2388;302342584;5148912 + 5972;43003;2264;2389;302342584;5191915 + 5973;43008;2264;2389;302342584;5191915 + 5974;43020;2264;2389;302342584;5191915 + 5975;43025;2264;2390;302342584;5234940 + 5976;43032;2264;2390;302342584;5234940 + 5977;43044;2264;2390;302342584;5234940 + 5978;43046;2264;2391;302342584;5277986 + 5979;43056;2264;2391;302342584;5277986 + 5980;43062;2264;2392;302342584;5321048 + 5981;43068;2264;2392;302342584;5321048 + 5982;43080;2264;2392;302342584;5321048 + 5983;43085;2264;2393;302342584;5364133 + 5984;43092;2264;2393;302342584;5364133 + 5985;43104;2264;2393;302342584;5364133 + 5986;43104;2264;2394;302342584;5407237 + 5987;43116;2264;2394;302342584;5407237 + 5988;43121;2264;2395;302342584;5450358 + 5989;43128;2264;2395;302342584;5450358 + 5990;43138;2264;2396;302342584;5493496 + 5991;43140;2264;2396;302342584;5493496 + 5992;43151;2270;2397;304923449;5291998 + 5993;43152;2270;2397;304923449;5291998 + 5994;43164;2270;2397;304923449;5291998 + 5995;43169;2270;2398;304923449;5335167 + 5996;43176;2270;2398;304923449;5335167 + 5997;43188;2270;2398;304923449;5335167 + 5998;43190;2270;2399;304923449;5378357 + 5999;43200;2270;2399;304923449;5378357 + 6000;43205;2270;2400;304923449;5421562 + 6001;43212;2270;2400;304923449;5421562 + 6002;43221;2270;2401;304923449;5464783 + 6003;43224;2270;2401;304923449;5464783 + 6004;43236;2270;2401;304923449;5464783 + 6005;43242;2276;2402;307314993;5262685 + 6006;43248;2276;2402;307314993;5262685 + 6007;43260;2276;2402;307314993;5262685 + 6008;43263;2276;2403;307314993;5305948 + 6009;43272;2276;2403;307314993;5305948 + 6010;43278;2276;2404;307314993;5349226 + 6011;43284;2276;2404;307314993;5349226 + 6012;43296;2276;2404;307314993;5349226 + 6013;43300;2276;2405;307314993;5392526 + 6014;43308;2276;2405;307314993;5392526 + 6015;43320;2276;2405;307314993;5392526 + 6016;43323;2276;2406;307314993;5435849 + 6017;43332;2276;2406;307314993;5435849 + 6018;43338;2276;2407;307314993;5479187 + 6019;43344;2276;2407;307314993;5479187 + 6020;43356;2276;2407;307314993;5479187 + 6021;43358;2276;2408;307314993;5522545 + 6022;43368;2276;2408;307314993;5522545 + 6023;43379;2279;2409;309647873;5443007 + 6024;43380;2279;2409;309647873;5443007 + 6025;43392;2279;2409;309647873;5443007 + 6026;43399;2279;2410;309647873;5486406 + 6027;43404;2279;2410;309647873;5486406 + 6028;43416;2279;2410;309647873;5486406 + 6029;43423;2279;2411;309647873;5529829 + 6030;43428;2279;2411;309647873;5529829 + 6031;43437;2279;2412;309647873;5573266 + 6032;43440;2279;2412;309647873;5573266 + 6033;43452;2279;2412;309647873;5573266 + 6034;43455;2279;2413;309647873;5616721 + 6035;43464;2279;2413;309647873;5616721 + 6036;43473;2285;2414;307276581;5413835 + 6037;43476;2285;2414;307276581;5413835 + 6038;43488;2285;2414;307276581;5413835 + 6039;43494;2285;2415;307276581;5457329 + 6040;43500;2285;2415;307276581;5457329 + 6041;43511;2295;2416;310568506;5088865 + 6042;43512;2295;2416;310568506;5088865 + 6043;43524;2295;2416;310568506;5088865 + 6044;43529;2301;2417;298652147;4884275 + 6045;43536;2301;2417;298652147;4884275 + 6046;43548;2301;2417;298652147;4884275 + 6047;43548;2301;2418;298652147;4927823 + 6048;43560;2301;2418;298652147;4927823 + 6049;43567;2301;2419;298652147;4971390 + 6050;43572;2301;2419;298652147;4971390 + 6051;43584;2301;2419;298652147;4971390 + 6052;43588;2301;2420;298652147;5014978 + 6053;43596;2301;2420;298652147;5014978 + 6054;43605;2301;2421;298652147;5058583 + 6055;43608;2301;2421;298652147;5058583 + 6056;43620;2301;2421;298652147;5058583 + 6057;43626;2301;2422;298652147;5102209 + 6058;43632;2301;2422;298652147;5102209 + 6059;43644;2301;2422;298652147;5102209 + 6060;43645;2301;2423;298652147;5145854 + 6061;43656;2301;2423;298652147;5145854 + 6062;43667;2301;2424;298652147;5189521 + 6063;43668;2301;2424;298652147;5189521 + 6064;43680;2301;2424;298652147;5189521 + 6065;43689;2301;2425;298652147;5233210 + 6066;43692;2301;2425;298652147;5233210 + 6067;43701;2301;2426;298652147;5276911 + 6068;43704;2301;2426;298652147;5276911 + 6069;43713;2301;2427;298652147;5320624 + 6070;43716;2301;2427;298652147;5320624 + 6071;43728;2301;2427;298652147;5320624 + 6072;43732;2301;2428;298652147;5364356 + 6073;43740;2301;2428;298652147;5364356 + 6074;43752;2301;2428;298652147;5364356 + 6075;43752;2301;2429;298652147;5408108 + 6076;43764;2301;2429;298652147;5408108 + 6077;43764;2301;2430;298652147;5451872 + 6078;43776;2301;2430;298652147;5451872 + 6079;43783;2301;2431;298652147;5495655 + 6080;43788;2301;2431;298652147;5495655 + 6081;43800;2301;2431;298652147;5495655 + 6082;43801;2301;2432;298652147;5539456 + 6083;43812;2301;2432;298652147;5539456 + 6084;43824;2301;2432;298652147;5539456 + 6085;43824;2305;2433;301691360;5417497 + 6086;43836;2305;2433;301691360;5417497 + 6087;43845;2305;2434;301691360;5461342 + 6088;43848;2305;2434;301691360;5461342 + 6089;43860;2305;2434;301691360;5461342 + 6090;43860;2305;2435;301691360;5505202 + 6091;43872;2305;2435;301691360;5505202 + 6092;43884;2305;2435;301691360;5505202 + 6093;43884;2305;2436;301691360;5549086 + 6094;43896;2305;2436;301691360;5549086 + 6095;43904;2305;2437;301691360;5592990 + 6096;43908;2305;2437;301691360;5592990 + 6097;43920;2305;2437;301691360;5592990 + 6098;43927;2305;2438;301691360;5636917 + 6099;43932;2305;2438;301691360;5636917 + 6100;43939;2305;2439;301691360;5680856 + 6101;43944;2305;2439;301691360;5680856 + 6102;43956;2305;2439;301691360;5680856 + 6103;43963;2314;2440;301776223;5350659 + 6104;43968;2314;2440;301776223;5350659 + 6105;43978;2314;2441;301776223;5394637 + 6106;43980;2314;2441;301776223;5394637 + 6107;43992;2314;2441;301776223;5394637 + 6108;43995;2314;2442;301776223;5438632 + 6109;44004;2314;2442;301776223;5438632 + 6110;44008;2314;2443;301776223;5482640 + 6111;44016;2314;2443;301776223;5482640 + 6112;44024;2314;2444;301776223;5526664 + 6113;44028;2314;2444;301776223;5526664 + 6114;44040;2314;2444;301776223;5526664 + 6115;44040;2314;2445;301776223;5570704 + 6116;44052;2314;2445;301776223;5570704 + 6117;44054;2314;2446;301776223;5614758 + 6118;44064;2314;2446;301776223;5614758 + 6119;44073;2314;2447;301776223;5658831 + 6120;44076;2314;2447;301776223;5658831 + 6121;44088;2314;2447;301776223;5658831 + 6122;44095;2314;2448;301776223;5702926 + 6123;44100;2314;2448;301776223;5702926 + 6124;44112;2314;2448;301776223;5702926 + 6125;44117;2316;2449;302531607;5663698 + 6126;44124;2316;2449;302531607;5663698 + 6127;44133;2318;2450;308797511;5624427 + 6128;44136;2318;2450;308797511;5624427 + 6129;44148;2318;2450;308797511;5624427 + 6130;44150;2318;2451;308797511;5668577 + 6131;44160;2318;2451;308797511;5668577 + 6132;44164;2318;2452;308797511;5712741 + 6133;44172;2318;2452;308797511;5712741 + 6134;44184;2318;2452;308797511;5712741 + 6135;44185;2326;2453;305629401;5422597 + 6136;44196;2326;2453;305629401;5422597 + 6137;44203;2326;2454;305629401;5466800 + 6138;44208;2326;2454;305629401;5466800 + 6139;44220;2326;2454;305629401;5466800 + 6140;44221;2326;2455;305629401;5511021 + 6141;44232;2326;2455;305629401;5511021 + 6142;44243;2326;2456;305629401;5555264 + 6143;44244;2326;2456;305629401;5555264 + 6144;44256;2326;2456;305629401;5555264 + 6145;44261;2326;2457;305629401;5599525 + 6146;44268;2326;2457;305629401;5599525 + 6147;44280;2326;2457;305629401;5599525 + 6148;44280;2326;2458;305629401;5643805 + 6149;44292;2326;2458;305629401;5643805 + 6150;44298;2332;2459;302739669;5436519 + 6151;44304;2332;2459;302739669;5436519 + 6152;44311;2332;2460;302739669;5480830 + 6153;44316;2332;2460;302739669;5480830 + 6154;44328;2332;2460;302739669;5480830 + 6155;44331;2332;2461;302739669;5525161 + 6156;44340;2332;2461;302739669;5525161 + 6157;44351;2332;2462;302739669;5569512 + 6158;44352;2332;2462;302739669;5569512 + 6159;44364;2332;2462;302739669;5569512 + 6160;44365;2332;2463;302739669;5613877 + 6161;44376;2332;2463;302739669;5613877 + 6162;44382;2332;2464;302739669;5658259 + 6163;44388;2332;2464;302739669;5658259 + 6164;44397;2336;2465;306413580;5534589 + 6165;44400;2336;2465;306413580;5534589 + 6166;44412;2336;2465;306413580;5534589 + 6167;44415;2336;2466;306413580;5579004 + 6168;44424;2336;2466;306413580;5579004 + 6169;44432;2344;2467;299896003;5286446 + 6170;44436;2344;2467;299896003;5286446 + 6171;44448;2344;2467;299896003;5286446 + 6172;44454;2344;2468;299896003;5330900 + 6173;44460;2344;2468;299896003;5330900 + 6174;44471;2344;2469;299896003;5375371 + 6175;44472;2344;2469;299896003;5375371 + 6176;44484;2344;2469;299896003;5375371 + 6177;44485;2344;2470;299896003;5419856 + 6178;44496;2344;2470;299896003;5419856 + 6179;44505;2344;2471;299896003;5464361 + 6180;44508;2344;2471;299896003;5464361 + 6181;44520;2344;2471;299896003;5464361 + 6182;44529;2344;2472;299896003;5508890 + 6183;44532;2344;2472;299896003;5508890 + 6184;44544;2344;2472;299896003;5508890 + 6185;44552;2344;2473;299896003;5553442 + 6186;44556;2344;2473;299896003;5553442 + 6187;44566;2344;2474;299896003;5598008 + 6188;44568;2344;2474;299896003;5598008 + 6189;44580;2344;2474;299896003;5598008 + 6190;44585;2351;2475;303506950;5346783 + 6191;44592;2351;2475;303506950;5346783 + 6192;44601;2351;2476;303506950;5391384 + 6193;44604;2351;2476;303506950;5391384 + 6194;44616;2351;2476;303506950;5391384 + 6195;44618;2351;2477;303506950;5436002 + 6196;44628;2351;2477;303506950;5436002 + 6197;44636;2355;2478;302976277;5311177 + 6198;44640;2355;2478;302976277;5311177 + 6199;44650;2355;2479;302976277;5355827 + 6200;44652;2355;2479;302976277;5355827 + 6201;44664;2355;2479;302976277;5355827 + 6202;44672;2358;2480;306691393;5273223 + 6203;44676;2358;2480;306691393;5273223 + 6204;44688;2358;2480;306691393;5273223 + 6205;44688;2358;2481;306691393;5317911 + 6206;44700;2358;2481;306691393;5317911 + 6207;44706;2358;2482;306691393;5362617 + 6208;44712;2358;2482;306691393;5362617 + 6209;44724;2358;2482;306691393;5362617 + 6210;44724;2358;2483;306691393;5407341 + 6211;44736;2358;2483;306691393;5407341 + 6212;44746;2358;2484;306691393;5452087 + 6213;44748;2358;2484;306691393;5452087 + 6214;44760;2358;2484;306691393;5452087 + 6215;44763;2358;2485;306691393;5496850 + 6216;44772;2358;2485;306691393;5496850 + 6217;44782;2358;2486;306691393;5541632 + 6218;44784;2358;2486;306691393;5541632 + 6219;44794;2358;2487;306691393;5586426 + 6220;44796;2358;2487;306691393;5586426 + 6221;44808;2364;2487;306375281;5331331 + 6222;44809;2364;2488;306375281;5376140 + 6223;44820;2364;2488;306375281;5376140 + 6224;44824;2364;2489;306375281;5420964 + 6225;44832;2364;2489;306375281;5420964 + 6226;44839;2364;2490;306375281;5465803 + 6227;44844;2364;2490;306375281;5465803 + 6228;44854;2364;2491;306375281;5510657 + 6229;44856;2364;2491;306375281;5510657 + 6230;44868;2364;2491;306375281;5510657 + 6231;44875;2366;2492;309154765;5470339 + 6232;44880;2366;2492;309154765;5470339 + 6233;44892;2366;2492;309154765;5470339 + 6234;44892;2366;2493;309154765;5515231 + 6235;44904;2366;2493;309154765;5515231 + 6236;44915;2366;2494;309154765;5560146 + 6237;44916;2366;2494;309154765;5560146 + 6238;44928;2366;2494;309154765;5560146 + 6239;44938;2366;2495;309154765;5605084 + 6240;44940;2366;2495;309154765;5605084 + 6241;44952;2366;2495;309154765;5605084 + 6242;44952;2366;2496;309154765;5650036 + 6243;44964;2366;2496;309154765;5650036 + 6244;44967;2366;2497;309154765;5695003 + 6245;44976;2366;2497;309154765;5695003 + 6246;44988;2366;2497;309154765;5695003 + 6247;44990;2366;2498;309154765;5739993 + 6248;45000;2366;2498;309154765;5739993 + 6249;45009;2366;2499;309154765;5785002 + 6250;45012;2366;2499;309154765;5785002 + 6251;45022;2366;2500;309154765;5830024 + 6252;45024;2366;2500;309154765;5830024 + 6253;45034;2366;2501;309154765;5875058 + 6254;45036;2366;2501;309154765;5875058 + 6255;45048;2366;2501;309154765;5875058 + 6256;45050;2366;2502;309154765;5920108 + 6257;45060;2366;2502;309154765;5920108 + 6258;45072;2366;2502;309154765;5920108 + 6259;45073;2374;2503;302200894;5623594 + 6260;45084;2374;2503;302200894;5623594 + 6261;45090;2374;2504;302200894;5668684 + 6262;45096;2374;2504;302200894;5668684 + 6263;45108;2374;2504;302200894;5668684 + 6264;45111;2374;2505;302200894;5713795 + 6265;45120;2374;2505;302200894;5713795 + 6266;45128;2374;2506;302200894;5758923 + 6267;45132;2374;2506;302200894;5758923 + 6268;45140;2374;2507;302200894;5804063 + 6269;45144;2374;2507;302200894;5804063 + 6270;45156;2374;2507;302200894;5804063 + 6271;45161;2384;2508;307670532;5420653 + 6272;45168;2384;2508;307670532;5420653 + 6273;45173;2384;2509;307670532;5465826 + 6274;45180;2384;2509;307670532;5465826 + 6275;45190;2384;2510;307670532;5511016 + 6276;45192;2384;2510;307670532;5511016 + 6277;45204;2384;2510;307670532;5511016 + 6278;45214;2384;2511;307670532;5556230 + 6279;45216;2384;2511;307670532;5556230 + 6280;45228;2384;2511;307670532;5556230 + 6281;45235;2386;2512;308074615;5515555 + 6282;45240;2386;2512;308074615;5515555 + 6283;45248;2386;2513;308074615;5560803 + 6284;45252;2386;2513;308074615;5560803 + 6285;45264;2386;2513;308074615;5560803 + 6286;45269;2386;2514;308074615;5606072 + 6287;45276;2386;2514;308074615;5606072 + 6288;45281;2386;2515;308074615;5651353 + 6289;45288;2386;2515;308074615;5651353 + 6290;45300;2386;2515;308074615;5651353 + 6291;45304;2386;2516;308074615;5696657 + 6292;45312;2386;2516;308074615;5696657 + 6293;45320;2386;2517;308074615;5741977 + 6294;45324;2386;2517;308074615;5741977 + 6295;45333;2387;2518;310714119;5744322 + 6296;45336;2387;2518;310714119;5744322 + 6297;45348;2387;2518;310714119;5744322 + 6298;45352;2387;2519;310714119;5789674 + 6299;45360;2387;2519;310714119;5789674 + 6300;45365;2387;2520;310714119;5835039 + 6301;45372;2387;2520;310714119;5835039 + 6302;45384;2387;2520;310714119;5835039 + 6303;45386;2387;2521;310714119;5880425 + 6304;45396;2387;2521;310714119;5880425 + 6305;45408;2387;2521;310714119;5880425 + 6306;45409;2387;2522;310714119;5925834 + 6307;45420;2387;2522;310714119;5925834 + 6308;45425;2397;2523;305839593;5540355 + 6309;45432;2399;2523;304913920;5453960 + 6310;45444;2399;2523;304913920;5453960 + 6311;45444;2402;2524;301484019;5369678 + 6312;45456;2402;2524;301484019;5369678 + 6313;45468;2402;2524;301484019;5369678 + 6314;45468;2402;2525;301484019;5415146 + 6315;45480;2402;2525;301484019;5415146 + 6316;45492;2402;2525;301484019;5415146 + 6317;45492;2402;2526;301484019;5460638 + 6318;45504;2402;2526;301484019;5460638 + 6319;45506;2402;2527;301484019;5506144 + 6320;45516;2402;2527;301484019;5506144 + 6321;45518;2404;2528;303848587;5465084 + 6322;45528;2404;2528;303848587;5465084 + 6323;45538;2407;2529;300430669;5380603 + 6324;45540;2407;2529;300430669;5380603 + 6325;45552;2407;2529;300430669;5380603 + 6326;45562;2407;2530;300430669;5426165 + 6327;45564;2407;2530;300430669;5426165 + 6328;45574;2407;2531;300430669;5471739 + 6329;45576;2407;2531;300430669;5471739 + 6330;45588;2407;2531;300430669;5471739 + 6331;45598;2407;2532;300430669;5517337 + 6332;45600;2407;2532;300430669;5517337 + 6333;45612;2407;2532;300430669;5517337 + 6334;45617;2407;2533;300430669;5562954 + 6335;45624;2407;2533;300430669;5562954 + 6336;45634;2407;2534;300430669;5608588 + 6337;45636;2407;2534;300430669;5608588 + 6338;45646;2407;2535;300430669;5654234 + 6339;45648;2407;2535;300430669;5654234 + 6340;45660;2407;2535;300430669;5654234 + 6341;45662;2407;2536;300430669;5699896 + 6342;45672;2407;2536;300430669;5699896 + 6343;45678;2407;2537;300430669;5745574 + 6344;45684;2407;2537;300430669;5745574 + 6345;45696;2407;2537;300430669;5745574 + 6346;45697;2407;2538;300430669;5791271 + 6347;45708;2407;2538;300430669;5791271 + 6348;45714;2407;2539;300430669;5836985 + 6349;45720;2407;2539;300430669;5836985 + 6350;45731;2407;2540;300430669;5882716 + 6351;45732;2407;2540;300430669;5882716 + 6352;45743;2407;2541;300430669;5928459 + 6353;45744;2407;2541;300430669;5928459 + 6354;45756;2407;2541;300430669;5928459 + 6355;45758;2407;2542;300430669;5974217 + 6356;45768;2407;2542;300430669;5974217 + 6357;45778;2407;2543;300430669;6019995 + 6358;45780;2407;2543;300430669;6019995 + 6359;45790;2407;2544;300430669;6065785 + 6360;45792;2407;2544;300430669;6065785 + 6361;45804;2407;2544;300430669;6065785 + 6362;45804;2409;2545;306241271;6024811 + 6363;45816;2409;2545;306241271;6024811 + 6364;45818;2409;2546;306241271;6070629 + 6365;45828;2409;2546;306241271;6070629 + 6366;45840;2415;2546;311277799;5809836 + 6367;45840;2415;2547;311277799;5855676 + 6368;45852;2415;2547;311277799;5855676 + 6369;45854;2415;2548;311277799;5901530 + 6370;45864;2415;2548;311277799;5901530 + 6371;45872;2415;2549;311277799;5947402 + 6372;45876;2415;2549;311277799;5947402 + 6373;45884;2415;2550;311277799;5993286 + 6374;45888;2415;2550;311277799;5993286 + 6375;45900;2415;2550;311277799;5993286 + 6376;45905;2415;2551;311277799;6039191 + 6377;45912;2415;2551;311277799;6039191 + 6378;45924;2415;2551;311277799;6039191 + 6379;45927;2423;2552;308556357;5736343 + 6380;45936;2423;2552;308556357;5736343 + 6381;45948;2423;2552;308556357;5736343 + 6382;45948;2423;2553;308556357;5782291 + 6383;45960;2423;2553;308556357;5782291 + 6384;45971;2423;2554;308556357;5828262 + 6385;45972;2423;2554;308556357;5828262 + 6386;45984;2423;2554;308556357;5828262 + 6387;45995;2423;2555;308556357;5874257 + 6388;45996;2423;2555;308556357;5874257 + 6389;46008;2423;2555;308556357;5874257 + 6390;46009;2423;2556;308556357;5920266 + 6391;46020;2423;2556;308556357;5920266 + 6392;46022;2423;2557;308556357;5966288 + 6393;46032;2423;2557;308556357;5966288 + 6394;46035;2423;2558;308556357;6012323 + 6395;46044;2423;2558;308556357;6012323 + 6396;46053;2423;2559;308556357;6058376 + 6397;46056;2423;2559;308556357;6058376 + 6398;46068;2423;2559;308556357;6058376 + 6399;46069;2423;2560;308556357;6104445 + 6400;46080;2423;2560;308556357;6104445 + 6401;46091;2426;2561;310335667;6019433 + 6402;46092;2426;2561;310335667;6019433 + 6403;46104;2426;2561;310335667;6019433 + 6404;46104;2431;2562;309280384;5846705 + 6405;46116;2431;2562;309280384;5846705 + 6406;46117;2431;2563;309280384;5892822 + 6407;46128;2431;2563;309280384;5892822 + 6408;46140;2431;2563;309280384;5892822 + 6409;46141;2431;2564;309280384;5938963 + 6410;46152;2431;2564;309280384;5938963 + 6411;46162;2431;2565;309280384;5985125 + 6412;46164;2431;2565;309280384;5985125 + 6413;46176;2431;2565;309280384;5985125 + 6414;46182;2431;2566;309280384;6031307 + 6415;46188;2431;2566;309280384;6031307 + 6416;46200;2431;2566;309280384;6031307 + 6417;46205;2439;2567;304875809;5726366 + 6418;46212;2439;2567;304875809;5726366 + 6419;46218;2439;2568;304875809;5772584 + 6420;46224;2439;2568;304875809;5772584 + 6421;46236;2439;2568;304875809;5772584 + 6422;46238;2444;2569;297934379;5598777 + 6423;46248;2444;2569;297934379;5598777 + 6424;46260;2444;2569;297934379;5598777 + 6425;46261;2444;2570;297934379;5645038 + 6426;46272;2444;2570;297934379;5645038 + 6427;46278;2444;2571;297934379;5691316 + 6428;46284;2444;2571;297934379;5691316 + 6429;46292;2444;2572;297934379;5737608 + 6430;46296;2444;2572;297934379;5737608 + 6431;46306;2444;2573;297934379;5783914 + 6432;46308;2444;2573;297934379;5783914 + 6433;46320;2444;2573;297934379;5783914 + 6434;46323;2444;2574;297934379;5830237 + 6435;46332;2444;2574;297934379;5830237 + 6436;46339;2444;2575;297934379;5876576 + 6437;46344;2444;2575;297934379;5876576 + 6438;46356;2444;2575;297934379;5876576 + 6439;46360;2444;2576;297934379;5922936 + 6440;46368;2444;2576;297934379;5922936 + 6441;46380;2444;2576;297934379;5922936 + 6442;46383;2444;2577;297934379;5969319 + 6443;46392;2444;2577;297934379;5969319 + 6444;46402;2450;2578;295412670;5751099 + 6445;46404;2450;2578;295412670;5751099 + 6446;46416;2450;2578;295412670;5751099 + 6447;46425;2454;2579;295403438;5620751 + 6448;46428;2454;2579;295403438;5620751 + 6449;46440;2454;2579;295403438;5620751 + 6450;46444;2454;2580;295403438;5667195 + 6451;46452;2454;2580;295403438;5667195 + 6452;46463;2454;2581;295403438;5713658 + 6453;46464;2454;2581;295403438;5713658 + 6454;46476;2454;2581;295403438;5713658 + 6455;46478;2454;2582;295403438;5760136 + 6456;46488;2454;2582;295403438;5760136 + 6457;46491;2454;2583;295403438;5806627 + 6458;46500;2454;2583;295403438;5806627 + 6459;46505;2454;2584;295403438;5853132 + 6460;46512;2454;2584;295403438;5853132 + 6461;46523;2454;2585;295403438;5899655 + 6462;46524;2454;2585;295403438;5899655 + 6463;46536;2454;2585;295403438;5899655 + 6464;46539;2454;2586;295403438;5946194 + 6465;46548;2454;2586;295403438;5946194 + 6466;46554;2454;2587;295403438;5992748 + 6467;46560;2454;2587;295403438;5992748 + 6468;46568;2454;2588;295403438;6039316 + 6469;46572;2454;2588;295403438;6039316 + 6470;46581;2454;2589;295403438;6085897 + 6471;46584;2454;2589;295403438;6085897 + 6472;46596;2454;2589;295403438;6085897 + 6473;46598;2455;2590;298036812;6088252 + 6474;46608;2455;2590;298036812;6088252 + 6475;46619;2455;2591;298036812;6134871 + 6476;46620;2455;2591;298036812;6134871 + 6477;46632;2455;2591;298036812;6134871 + 6478;46643;2457;2592;303658741;6092973 + 6479;46644;2457;2592;303658741;6092973 + 6480;46656;2457;2592;303658741;6092973 + 6481;46659;2457;2593;303658741;6139632 + 6482;46668;2457;2593;303658741;6139632 + 6483;46677;2457;2594;303658741;6186309 + 6484;46680;2457;2594;303658741;6186309 + 6485;46690;2457;2595;303658741;6232999 + 6486;46692;2457;2595;303658741;6232999 + 6487;46704;2457;2595;303658741;6232999 + 6488;46705;2457;2596;303658741;6279704 + 6489;46716;2457;2596;303658741;6279704 + 6490;46728;2457;2596;303658741;6279704 + 6491;46728;2465;2597;304133579;5971582 + 6492;46740;2465;2597;304133579;5971582 + 6493;46745;2465;2598;304133579;6018327 + 6494;46752;2465;2598;304133579;6018327 + 6495;46764;2465;2598;304133579;6018327 + 6496;46769;2465;2599;304133579;6065096 + 6497;46776;2465;2599;304133579;6065096 + 6498;46782;2465;2600;304133579;6111878 + 6499;46788;2465;2600;304133579;6111878 + 6500;46796;2465;2601;304133579;6158674 + 6501;46800;2465;2601;304133579;6158674 + 6502;46812;2465;2601;304133579;6158674 + 6503;46816;2465;2602;304133579;6205490 + 6504;46824;2465;2602;304133579;6205490 + 6505;46829;2470;2603;308036108;6029972 + 6506;46836;2470;2603;308036108;6029972 + 6507;46841;2470;2604;308036108;6076813 + 6508;46848;2470;2604;308036108;6076813 + 6509;46860;2470;2604;308036108;6076813 + 6510;46860;2470;2605;308036108;6123673 + 6511;46872;2470;2605;308036108;6123673 + 6512;46873;2471;2606;310714119;6126017 + 6513;46884;2471;2606;310714119;6126017 + 6514;46888;2471;2607;310714119;6172905 + 6515;46896;2471;2607;310714119;6172905 + 6516;46908;2471;2607;310714119;6172905 + 6517;46909;2471;2608;310714119;6219814 + 6518;46920;2471;2608;310714119;6219814 + 6519;46931;2471;2609;310714119;6266745 + 6520;46932;2471;2609;310714119;6266745 + 6521;46944;2471;2609;310714119;6266745 + 6522;46955;2471;2610;310714119;6313700 + 6523;46956;2471;2610;310714119;6313700 + 6524;46968;2471;2610;310714119;6313700 + 6525;46968;2471;2611;310714119;6360668 + 6526;46980;2471;2611;310714119;6360668 + 6527;46986;2478;2612;309851146;6095446 + 6528;46992;2478;2612;309851146;6095446 + 6529;46999;2484;2613;309551123;5874146 + 6530;47004;2484;2613;309551123;5874146 + 6531;47011;2484;2614;309551123;5921157 + 6532;47016;2484;2614;309551123;5921157 + 6533;47028;2484;2614;309551123;5921157 + 6534;47033;2484;2615;309551123;5968190 + 6535;47040;2484;2615;309551123;5968190 + 6536;47052;2484;2615;309551123;5968190 + 6537;47052;2484;2616;309551123;6015242 + 6538;47064;2484;2616;309551123;6015242 + 6539;47072;2484;2617;309551123;6062314 + 6540;47076;2484;2617;309551123;6062314 + 6541;47088;2484;2617;309551123;6062314 + 6542;47093;2484;2618;309551123;6109407 + 6543;47100;2484;2618;309551123;6109407 + 6544;47106;2484;2619;309551123;6156513 + 6545;47112;2484;2619;309551123;6156513 + 6546;47122;2484;2620;309551123;6203635 + 6547;47124;2484;2620;309551123;6203635 + 6548;47136;2484;2620;309551123;6203635 + 6549;47144;2487;2621;310035175;6116394 + 6550;47148;2487;2621;310035175;6116394 + 6551;47160;2489;2621;314917519;6026731 + 6552;47160;2489;2622;314917519;6073891 + 6553;47172;2489;2622;314917519;6073891 + 6554;47173;2489;2623;314917519;6121064 + 6555;47184;2489;2623;314917519;6121064 + 6556;47196;2489;2623;314917519;6121064 + 6557;47196;2489;2624;314917519;6168260 + 6558;47208;2489;2624;314917519;6168260 + 6559;47220;2489;2624;314917519;6168260 + 6560;47220;2489;2625;314917519;6215480 + 6561;47232;2489;2625;314917519;6215480 + 6562;47236;2489;2626;314917519;6262716 + 6563;47244;2489;2626;314917519;6262716 + 6564;47256;2489;2626;314917519;6262716 + 6565;47257;2489;2627;314917519;6309973 + 6566;47268;2489;2627;314917519;6309973 + 6567;47270;2489;2628;314917519;6357243 + 6568;47280;2489;2628;314917519;6357243 + 6569;47282;2489;2629;314917519;6404525 + 6570;47292;2489;2629;314917519;6404525 + 6571;47296;2489;2630;314917519;6451821 + 6572;47304;2489;2630;314917519;6451821 + 6573;47313;2489;2631;314917519;6499134 + 6574;47316;2489;2631;314917519;6499134 + 6575;47328;2489;2631;314917519;6499134 + 6576;47336;2493;2632;322829157;6366934 + 6577;47340;2493;2632;322829157;6366934 + 6578;47349;2498;2633;322728289;6189427 + 6579;47352;2498;2633;322728289;6189427 + 6580;47361;2498;2634;322728289;6236788 + 6581;47364;2498;2634;322728289;6236788 + 6582;47376;2498;2634;322728289;6236788 + 6583;47385;2502;2635;331136113;6103994 + 6584;47388;2502;2635;331136113;6103994 + 6585;47400;2502;2635;331136113;6103994 + 6586;47406;2512;2636;322677867;5699710 + 6587;47412;2512;2636;322677867;5699710 + 6588;47419;2512;2637;322677867;5747129 + 6589;47424;2512;2637;322677867;5747129 + 6590;47434;2512;2638;322677867;5794563 + 6591;47436;2512;2638;322677867;5794563 + 6592;47448;2512;2638;322677867;5794563 + 6593;47455;2513;2639;323920546;5796749 + 6594;47460;2513;2639;323920546;5796749 + 6595;47472;2513;2639;323920546;5796749 + 6596;47476;2513;2640;323920546;5844225 + 6597;47484;2513;2640;323920546;5844225 + 6598;47489;2513;2641;323920546;5891714 + 6599;47496;2513;2641;323920546;5891714 + 6600;47502;2513;2642;323920546;5939216 + 6601;47508;2513;2642;323920546;5939216 + 6602;47514;2513;2643;323920546;5986730 + 6603;47520;2513;2643;323920546;5986730 + 6604;47531;2513;2644;323920546;6034261 + 6605;47532;2513;2644;323920546;6034261 + 6606;47544;2513;2644;323920546;6034261 + 6607;47555;2513;2645;323920546;6081816 + 6608;47556;2513;2645;323920546;6081816 + 6609;47568;2513;2645;323920546;6081816 + 6610;47568;2513;2646;323920546;6129384 + 6611;47580;2513;2646;323920546;6129384 + 6612;47584;2513;2647;323920546;6176968 + 6613;47592;2513;2647;323920546;6176968 + 6614;47596;2513;2648;323920546;6224564 + 6615;47604;2513;2648;323920546;6224564 + 6616;47614;2513;2649;323920546;6272178 + 6617;47616;2513;2649;323920546;6272178 + 6618;47628;2513;2649;323920546;6272178 + 6619;47637;2513;2650;323920546;6319815 + 6620;47640;2513;2650;323920546;6319815 + 6621;47649;2513;2651;323920546;6367464 + 6622;47652;2513;2651;323920546;6367464 + 6623;47664;2513;2651;323920546;6367464 + 6624;47666;2513;2652;323920546;6415130 + 6625;47676;2513;2652;323920546;6415130 + 6626;47680;2513;2653;323920546;6462810 + 6627;47688;2513;2653;323920546;6462810 + 6628;47694;2513;2654;323920546;6510504 + 6629;47700;2513;2654;323920546;6510504 + 6630;47712;2513;2654;323920546;6510504 + 6631;47717;2513;2655;323920546;6558221 + 6632;47724;2513;2655;323920546;6558221 + 6633;47731;2517;2656;325707018;6424714 + 6634;47736;2517;2656;325707018;6424714 + 6635;47744;2517;2657;325707018;6472458 + 6636;47748;2517;2657;325707018;6472458 + 6637;47758;2521;2658;323647354;6338704 + 6638;47760;2521;2658;323647354;6338704 + 6639;47772;2521;2658;323647354;6338704 + 6640;47777;2521;2659;323647354;6386481 + 6641;47784;2521;2659;323647354;6386481 + 6642;47796;2521;2659;323647354;6386481 + 6643;47797;2521;2660;323647354;6434278 + 6644;47808;2521;2660;323647354;6434278 + 6645;47809;2521;2661;323647354;6482087 + 6646;47820;2521;2661;323647354;6482087 + 6647;47823;2521;2662;323647354;6529910 + 6648;47832;2521;2662;323647354;6529910 + 6649;47836;2525;2663;326889848;6395917 + 6650;47844;2532;2663;328323124;6077004 + 6651;47850;2532;2664;328323124;6124854 + 6652;47856;2532;2664;328323124;6124854 + 6653;47868;2532;2664;328323124;6124854 + 6654;47874;2532;2665;328323124;6172728 + 6655;47880;2532;2665;328323124;6172728 + 6656;47891;2532;2666;328323124;6220619 + 6657;47892;2532;2666;328323124;6220619 + 6658;47904;2532;2666;328323124;6220619 + 6659;47911;2538;2667;321691177;5994499 + 6660;47916;2538;2667;321691177;5994499 + 6661;47926;2538;2668;321691177;6042425 + 6662;47928;2538;2668;321691177;6042425 + 6663;47939;2538;2669;321691177;6090364 + 6664;47940;2538;2669;321691177;6090364 + 6665;47952;2538;2669;321691177;6090364 + 6666;47962;2538;2670;321691177;6138326 + 6667;47964;2538;2670;321691177;6138326 + 6668;47976;2538;2670;321691177;6138326 + 6669;47985;2538;2671;321691177;6186311 + 6670;47988;2538;2671;321691177;6186311 + 6671;48000;2538;2671;321691177;6186311 + 6672;48004;2538;2672;321691177;6234315 + 6673;48012;2538;2672;321691177;6234315 + 6674;48024;2538;2672;321691177;6234315 + 6675;48028;2538;2673;321691177;6282343 + 6676;48036;2538;2673;321691177;6282343 + 6677;48042;2538;2674;321691177;6330385 + 6678;48048;2538;2674;321691177;6330385 + 6679;48058;2546;2675;311277799;6012181 + 6680;48060;2546;2675;311277799;6012181 + 6681;48072;2546;2675;311277799;6012181 + 6682;48078;2546;2676;311277799;6060259 + 6683;48084;2546;2676;311277799;6060259 + 6684;48091;2546;2677;311277799;6108350 + 6685;48096;2546;2677;311277799;6108350 + 6686;48103;2546;2678;311277799;6156453 + 6687;48108;2546;2678;311277799;6156453 + 6688;48120;2546;2678;311277799;6156453 + 6689;48124;2546;2679;311277799;6204577 + 6690;48132;2546;2679;311277799;6204577 + 6691;48136;2546;2680;311277799;6252713 + 6692;48144;2546;2680;311277799;6252713 + 6693;48156;2546;2680;311277799;6252713 + 6694;48158;2546;2681;311277799;6300871 + 6695;48168;2546;2681;311277799;6300871 + 6696;48179;2546;2682;311277799;6349050 + 6697;48180;2546;2682;311277799;6349050 + 6698;48192;2546;2682;311277799;6349050 + 6699;48197;2546;2683;311277799;6397247 + 6700;48204;2546;2683;311277799;6397247 + 6701;48214;2546;2684;311277799;6445461 + 6702;48216;2546;2684;311277799;6445461 + 6703;48228;2546;2684;311277799;6445461 + 6704;48238;2548;2685;312867416;6401973 + 6705;48240;2548;2685;312867416;6401973 + 6706;48252;2550;2685;318211739;6310184 + 6707;48260;2550;2686;318211739;6358444 + 6708;48264;2550;2686;318211739;6358444 + 6709;48276;2550;2686;318211739;6358444 + 6710;48279;2552;2687;320827793;6314848 + 6711;48288;2552;2687;320827793;6314848 + 6712;48297;2552;2688;320827793;6363145 + 6713;48300;2552;2688;320827793;6363145 + 6714;48312;2552;2688;320827793;6363145 + 6715;48316;2552;2689;320827793;6411461 + 6716;48324;2552;2689;320827793;6411461 + 6717;48336;2552;2689;320827793;6411461 + 6718;48337;2559;2690;320156763;6137644 + 6719;48348;2559;2690;320156763;6137644 + 6720;48357;2559;2691;320156763;6186001 + 6721;48360;2559;2691;320156763;6186001 + 6722;48370;2559;2692;320156763;6234371 + 6723;48372;2559;2692;320156763;6234371 + 6724;48384;2559;2692;320156763;6234371 + 6725;48387;2559;2693;320156763;6282758 + 6726;48396;2559;2693;320156763;6282758 + 6727;48408;2559;2693;320156763;6282758 + 6728;48408;2559;2694;320156763;6331166 + 6729;48420;2559;2694;320156763;6331166 + 6730;48420;2559;2695;320156763;6379586 + 6731;48432;2559;2695;320156763;6379586 + 6732;48439;2559;2696;320156763;6428025 + 6733;48444;2559;2696;320156763;6428025 + 6734;48451;2559;2697;320156763;6476476 + 6735;48456;2559;2697;320156763;6476476 + 6736;48463;2559;2698;320156763;6524939 + 6737;48468;2559;2698;320156763;6524939 + 6738;48480;2559;2698;320156763;6524939 + 6739;48485;2559;2699;320156763;6573424 + 6740;48492;2559;2699;320156763;6573424 + 6741;48499;2559;2700;320156763;6621923 + 6742;48504;2559;2700;320156763;6621923 + 6743;48516;2559;2700;320156763;6621923 + 6744;48518;2559;2701;320156763;6670441 + 6745;48528;2559;2701;320156763;6670441 + 6746;48533;2559;2702;320156763;6718974 + 6747;48540;2559;2702;320156763;6718974 + 6748;48552;2559;2702;320156763;6718974 + 6749;48552;2561;2703;321791722;6675331 + 6750;48564;2561;2703;321791722;6675331 + 6751;48572;2561;2704;321791722;6723903 + 6752;48576;2561;2704;321791722;6723903 + 6753;48588;2561;2704;321791722;6723903 + 6754;48588;2566;2705;333681104;6541684 + 6755;48600;2566;2705;333681104;6541684 + 6756;48603;2566;2706;333681104;6590287 + 6757;48612;2566;2706;333681104;6590287 + 6758;48624;2566;2706;333681104;6590287 + 6759;48625;2566;2707;333681104;6638912 + 6760;48636;2566;2707;333681104;6638912 + 6761;48637;2566;2708;333681104;6687549 + 6762;48648;2566;2708;333681104;6687549 + 6763;48649;2566;2709;333681104;6736198 + 6764;48660;2566;2709;333681104;6736198 + 6765;48665;2571;2710;339932905;6553576 + 6766;48672;2571;2710;339932905;6553576 + 6767;48684;2571;2710;339932905;6553576 + 6768;48687;2571;2711;339932905;6602263 + 6769;48696;2571;2711;339932905;6602263 + 6770;48701;2571;2712;339932905;6650964 + 6771;48708;2571;2712;339932905;6650964 + 6772;48719;2571;2713;339932905;6699683 + 6773;48720;2571;2713;339932905;6699683 + 6774;48732;2571;2713;339932905;6699683 + 6775;48742;2571;2714;339932905;6748425 + 6776;48744;2571;2714;339932905;6748425 + 6777;48756;2571;2714;339932905;6748425 + 6778;48765;2579;2715;345081116;6426208 + 6779;48768;2579;2715;345081116;6426208 + 6780;48777;2579;2716;345081116;6474985 + 6781;48780;2579;2716;345081116;6474985 + 6782;48792;2579;2716;345081116;6474985 + 6783;48793;2579;2717;345081116;6523778 + 6784;48804;2579;2717;345081116;6523778 + 6785;48807;2579;2718;345081116;6572585 + 6786;48816;2579;2718;345081116;6572585 + 6787;48828;2579;2718;345081116;6572585 + 6788;48830;2579;2719;345081116;6621415 + 6789;48840;2579;2719;345081116;6621415 + 6790;48843;2581;2720;347559460;6577317 + 6791;48852;2581;2720;347559460;6577317 + 6792;48856;2581;2721;347559460;6626173 + 6793;48864;2581;2721;347559460;6626173 + 6794;48876;2581;2721;347559460;6626173 + 6795;48877;2581;2722;347559460;6675050 + 6796;48888;2581;2722;347559460;6675050 + 6797;48891;2586;2723;356190966;6491329 + 6798;48900;2586;2723;356190966;6491329 + 6799;48905;2586;2724;356190966;6540234 + 6800;48912;2586;2724;356190966;6540234 + 6801;48917;2586;2725;356190966;6589151 + 6802;48924;2586;2725;356190966;6589151 + 6803;48932;2591;2726;354469838;6405074 + 6804;48936;2591;2726;354469838;6405074 + 6805;48948;2591;2726;354469838;6405074 + 6806;48954;2591;2727;354469838;6454028 + 6807;48960;2591;2727;354469838;6454028 + 6808;48972;2591;2727;354469838;6454028 + 6809;48976;2591;2728;354469838;6503004 + 6810;48984;2591;2728;354469838;6503004 + 6811;48996;2591;2728;354469838;6503004 + 6812;48996;2591;2729;354469838;6552000 + 6813;49008;2591;2729;354469838;6552000 + 6814;49015;2591;2730;354469838;6601015 + 6815;49020;2591;2730;354469838;6601015 + 6816;49032;2591;2730;354469838;6601015 + 6817;49037;2591;2731;354469838;6650052 + 6818;49044;2591;2731;354469838;6650052 + 6819;49053;2591;2732;354469838;6699105 + 6820;49056;2591;2732;354469838;6699105 + 6821;49068;2596;2732;360614946;6465646 + 6822;49076;2596;2733;360614946;6514722 + 6823;49080;2596;2733;360614946;6514722 + 6824;49092;2596;2733;360614946;6514722 + 6825;49093;2596;2734;360614946;6563815 + 6826;49104;2596;2734;360614946;6563815 + 6827;49108;2596;2735;360614946;6612923 + 6828;49116;2596;2735;360614946;6612923 + 6829;49128;2596;2735;360614946;6612923 + 6830;49129;2596;2736;360614946;6662052 + 6831;49140;2596;2736;360614946;6662052 + 6832;49146;2596;2737;360614946;6711198 + 6833;49152;2596;2737;360614946;6711198 + 6834;49158;2596;2738;360614946;6760356 + 6835;49164;2596;2738;360614946;6760356 + 6836;49176;2596;2738;360614946;6760356 + 6837;49179;2596;2739;360614946;6809535 + 6838;49188;2596;2739;360614946;6809535 + 6839;49196;2596;2740;360614946;6858731 + 6840;49200;2596;2740;360614946;6858731 + 6841;49211;2603;2741;370472608;6580364 + 6842;49212;2603;2741;370472608;6580364 + 6843;49224;2603;2741;370472608;6580364 + 6844;49225;2603;2742;370472608;6629589 + 6845;49236;2603;2742;370472608;6629589 + 6846;49239;2603;2743;370472608;6678828 + 6847;49248;2603;2743;370472608;6678828 + 6848;49260;2603;2743;370472608;6678828 + 6849;49263;2603;2744;370472608;6728091 + 6850;49272;2603;2744;370472608;6728091 + 6851;49276;2603;2745;370472608;6777367 + 6852;49284;2603;2745;370472608;6777367 + 6853;49288;2603;2746;370472608;6826655 + 6854;49296;2603;2746;370472608;6826655 + 6855;49306;2608;2747;370148586;6641500 + 6856;49308;2608;2747;370148586;6641500 + 6857;49320;2608;2747;370148586;6641500 + 6858;49320;2612;2748;366282359;6502912 + 6859;49332;2612;2748;366282359;6502912 + 6860;49333;2612;2749;366282359;6552245 + 6861;49344;2612;2749;366282359;6552245 + 6862;49348;2612;2750;366282359;6601593 + 6863;49356;2612;2750;366282359;6601593 + 6864;49368;2612;2750;366282359;6601593 + 6865;49368;2612;2751;366282359;6650961 + 6866;49380;2612;2751;366282359;6650961 + 6867;49382;2612;2752;366282359;6700343 + 6868;49392;2612;2752;366282359;6700343 + 6869;49395;2612;2753;366282359;6749738 + 6870;49404;2612;2753;366282359;6749738 + 6871;49410;2612;2754;366282359;6799148 + 6872;49416;2612;2754;366282359;6799148 + 6873;49424;2612;2755;366282359;6848572 + 6874;49428;2612;2755;366282359;6848572 + 6875;49440;2612;2755;366282359;6848572 + 6876;49447;2614;2756;370333707;6803975 + 6877;49452;2614;2756;370333707;6803975 + 6878;49464;2615;2756;374312874;6756923 + 6879;49464;2615;2757;374312874;6806387 + 6880;49476;2615;2757;374312874;6806387 + 6881;49488;2615;2757;374312874;6806387 + 6882;49488;2615;2758;374312874;6855875 + 6883;49500;2615;2758;374312874;6855875 + 6884;49509;2615;2759;374312874;6905384 + 6885;49512;2615;2759;374312874;6905384 + 6886;49524;2619;2759;375683960;6716991 + 6887;49525;2619;2760;375683960;6766516 + 6888;49536;2619;2760;375683960;6766516 + 6889;49541;2619;2761;375683960;6816057 + 6890;49548;2619;2761;375683960;6816057 + 6891;49560;2619;2761;375683960;6816057 + 6892;49560;2625;2762;371690218;6582488 + 6893;49572;2625;2762;371690218;6582488 + 6894;49582;2625;2763;371690218;6632070 + 6895;49584;2625;2763;371690218;6632070 + 6896;49596;2625;2763;371690218;6632070 + 6897;49600;2626;2764;374792770;6634413 + 6898;49608;2626;2764;374792770;6634413 + 6899;49612;2631;2765;372911829;6447528 + 6900;49620;2631;2765;372911829;6447528 + 6901;49625;2631;2766;372911829;6497153 + 6902;49632;2631;2766;372911829;6497153 + 6903;49644;2631;2766;372911829;6497153 + 6904;49646;2631;2767;372911829;6546799 + 6905;49656;2631;2767;372911829;6546799 + 6906;49661;2631;2768;372911829;6596460 + 6907;49668;2631;2768;372911829;6596460 + 6908;49674;2631;2769;372911829;6646134 + 6909;49680;2631;2769;372911829;6646134 + 6910;49688;2631;2770;372911829;6695822 + 6911;49692;2631;2770;372911829;6695822 + 6912;49704;2631;2770;372911829;6695822 + 6913;49704;2631;2771;372911829;6745526 + 6914;49716;2631;2771;372911829;6745526 + 6915;49719;2631;2772;372911829;6795245 + 6916;49728;2631;2772;372911829;6795245 + 6917;49736;2631;2773;372911829;6844981 + 6918;49740;2631;2773;372911829;6844981 + 6919;49751;2631;2774;372911829;6894732 + 6920;49752;2631;2774;372911829;6894732 + 6921;49764;2631;2774;372911829;6894732 + 6922;49769;2631;2775;372911829;6944501 + 6923;49776;2631;2775;372911829;6944501 + 6924;49786;2638;2776;381302113;6662478 + 6925;49788;2638;2776;381302113;6662478 + 6926;49800;2638;2776;381302113;6662478 + 6927;49806;2638;2777;381302113;6712284 + 6928;49812;2638;2777;381302113;6712284 + 6929;49822;2638;2778;381302113;6762106 + 6930;49824;2638;2778;381302113;6762106 + 6931;49836;2638;2778;381302113;6762106 + 6932;49838;2644;2779;382806450;6526877 + 6933;49848;2644;2779;382806450;6526877 + 6934;49857;2644;2780;382806450;6576734 + 6935;49860;2644;2780;382806450;6576734 + 6936;49872;2644;2780;382806450;6576734 + 6937;49877;2648;2781;383153526;6436249 + 6938;49884;2648;2781;383153526;6436249 + 6939;49896;2648;2781;383153526;6436249 + 6940;49901;2648;2782;383153526;6486150 + 6941;49908;2648;2782;383153526;6486150 + 6942;49920;2648;2782;383153526;6486150 + 6943;49924;2648;2783;383153526;6536074 + 6944;49932;2648;2783;383153526;6536074 + 6945;49944;2648;2783;383153526;6536074 + 6946;49946;2648;2784;383153526;6586020 + 6947;49956;2648;2784;383153526;6586020 + 6948;49968;2648;2784;383153526;6586020 + 6949;49969;2648;2785;383153526;6635989 + 6950;49980;2648;2785;383153526;6635989 + 6951;49982;2648;2786;383153526;6685971 + 6952;49992;2648;2786;383153526;6685971 + 6953;49995;2650;2787;385254636;6640680 + 6954;50004;2650;2787;385254636;6640680 + 6955;50016;2650;2787;385254636;6640680 + 6956;50016;2650;2788;385254636;6690696 + 6957;50028;2650;2788;385254636;6690696 + 6958;50039;2660;2789;379685018;6263362 + 6959;50040;2660;2789;379685018;6263362 + 6960;50052;2660;2789;379685018;6263362 + 6961;50060;2664;2790;376283184;6122039 + 6962;50064;2664;2790;376283184;6122039 + 6963;50076;2664;2790;376283184;6122039 + 6964;50083;2664;2791;376283184;6172122 + 6965;50088;2664;2791;376283184;6172122 + 6966;50100;2664;2791;376283184;6172122 + 6967;50100;2664;2792;376283184;6222222 + 6968;50112;2664;2792;376283184;6222222 + 6969;50117;2664;2793;376283184;6272339 + 6970;50124;2664;2793;376283184;6272339 + 6971;50136;2664;2793;376283184;6272339 + 6972;50136;2664;2794;376283184;6322475 + 6973;50148;2664;2794;376283184;6322475 + 6974;50154;2664;2795;376283184;6372629 + 6975;50160;2664;2795;376283184;6372629 + 6976;50169;2664;2796;376283184;6422798 + 6977;50172;2664;2796;376283184;6422798 + 6978;50184;2664;2796;376283184;6422798 + 6979;50192;2666;2797;379222559;6377188 + 6980;50196;2666;2797;379222559;6377188 + 6981;50206;2673;2798;375965829;6091508 + 6982;50208;2673;2798;375965829;6091508 + 6983;50219;2673;2799;375965829;6141727 + 6984;50220;2673;2799;375965829;6141727 + 6985;50232;2673;2799;375965829;6141727 + 6986;50239;2673;2800;375965829;6191966 + 6987;50244;2673;2800;375965829;6191966 + 6988;50251;2673;2801;375965829;6242217 + 6989;50256;2673;2801;375965829;6242217 + 6990;50268;2673;2801;375965829;6242217 + 6991;50273;2673;2802;375965829;6292490 + 6992;50280;2673;2802;375965829;6292490 + 6993;50286;2673;2803;375965829;6342776 + 6994;50292;2673;2803;375965829;6342776 + 6995;50304;2673;2803;375965829;6342776 + 6996;50310;2673;2804;375965829;6393086 + 6997;50316;2673;2804;375965829;6393086 + 6998;50328;2673;2804;375965829;6393086 + 6999;50333;2677;2805;374582008;6251089 + 7000;50340;2677;2805;374582008;6251089 + 7001;50352;2677;2805;374582008;6251089 + 7002;50353;2677;2806;374582008;6301442 + 7003;50364;2677;2806;374582008;6301442 + 7004;50372;2677;2807;374582008;6351814 + 7005;50376;2677;2807;374582008;6351814 + 7006;50385;2677;2808;374582008;6402199 + 7007;50388;2677;2808;374582008;6402199 + 7008;50400;2677;2808;374582008;6402199 + 7009;50408;2677;2809;374582008;6452607 + 7010;50412;2677;2809;374582008;6452607 + 7011;50424;2677;2809;374582008;6452607 + 7012;50427;2680;2810;377449113;6358616 + 7013;50436;2680;2810;377449113;6358616 + 7014;50447;2680;2811;377449113;6409063 + 7015;50448;2680;2811;377449113;6409063 + 7016;50460;2680;2811;377449113;6409063 + 7017;50466;2680;2812;377449113;6459529 + 7018;50472;2680;2812;377449113;6459529 + 7019;50484;2680;2812;377449113;6459529 + 7020;50489;2683;2813;374558597;6365428 + 7021;50496;2683;2813;374558597;6365428 + 7022;50506;2683;2814;374558597;6415934 + 7023;50508;2683;2814;374558597;6415934 + 7024;50520;2683;2814;374558597;6415934 + 7025;50524;2683;2815;374558597;6466458 + 7026;50532;2683;2815;374558597;6466458 + 7027;50541;2683;2816;374558597;6516999 + 7028;50544;2683;2816;374558597;6516999 + 7029;50556;2683;2816;374558597;6516999 + 7030;50560;2683;2817;374558597;6567559 + 7031;50568;2683;2817;374558597;6567559 + 7032;50573;2683;2818;374558597;6618132 + 7033;50580;2683;2818;374558597;6618132 + 7034;50590;2683;2819;374558597;6668722 + 7035;50592;2683;2819;374558597;6668722 + 7036;50604;2683;2819;374558597;6668722 + 7037;50610;2683;2820;374558597;6719332 + 7038;50616;2683;2820;374558597;6719332 + 7039;50628;2683;2820;374558597;6719332 + 7040;50631;2683;2821;374558597;6769963 + 7041;50640;2683;2821;374558597;6769963 + 7042;50644;2683;2822;374558597;6820607 + 7043;50652;2683;2822;374558597;6820607 + 7044;50664;2683;2822;374558597;6820607 + 7045;50666;2683;2823;374558597;6871273 + 7046;50676;2683;2823;374558597;6871273 + 7047;50680;2683;2824;374558597;6921953 + 7048;50688;2683;2824;374558597;6921953 + 7049;50700;2688;2824;374336269;6680563 + 7050;50702;2688;2825;374336269;6731265 + 7051;50712;2688;2825;374336269;6731265 + 7052;50718;2688;2826;374336269;6781983 + 7053;50724;2688;2826;374336269;6781983 + 7054;50731;2688;2827;374336269;6832714 + 7055;50736;2688;2827;374336269;6832714 + 7056;50748;2688;2827;374336269;6832714 + 7057;50754;2688;2828;374336269;6883468 + 7058;50760;2688;2828;374336269;6883468 + 7059;50772;2688;2828;374336269;6883468 + 7060;50777;2690;2829;381325945;6837551 + 7061;50784;2690;2829;381325945;6837551 + 7062;50796;2692;2829;389795896;6740794 + 7063;50799;2692;2830;389795896;6791593 + 7064;50808;2692;2830;389795896;6791593 + 7065;50816;2692;2831;389795896;6842409 + 7066;50820;2692;2831;389795896;6842409 + 7067;50831;2692;2832;389795896;6893240 + 7068;50832;2692;2832;389795896;6893240 + 7069;50844;2692;2832;389795896;6893240 + 7070;50849;2692;2833;389795896;6944089 + 7071;50856;2692;2833;389795896;6944089 + 7072;50868;2700;2833;379056685;6556406 + 7073;50873;2700;2834;379056685;6607279 + 7074;50880;2700;2834;379056685;6607279 + 7075;50892;2700;2834;379056685;6607279 + 7076;50893;2700;2835;379056685;6658172 + 7077;50904;2700;2835;379056685;6658172 + 7078;50912;2700;2836;379056685;6709084 + 7079;50916;2700;2836;379056685;6709084 + 7080;50928;2700;2836;379056685;6709084 + 7081;50930;2700;2837;379056685;6760014 + 7082;50940;2700;2837;379056685;6760014 + 7083;50947;2700;2838;379056685;6810961 + 7084;50952;2700;2838;379056685;6810961 + 7085;50964;2700;2838;379056685;6810961 + 7086;50969;2700;2839;379056685;6861930 + 7087;50976;2700;2839;379056685;6861930 + 7088;50987;2700;2840;379056685;6912917 + 7089;50988;2700;2840;379056685;6912917 + 7090;51000;2700;2840;379056685;6912917 + 7091;51011;2707;2841;379578247;6623818 + 7092;51012;2707;2841;379578247;6623818 + 7093;51024;2707;2841;379578247;6623818 + 7094;51028;2707;2842;379578247;6674846 + 7095;51036;2707;2842;379578247;6674846 + 7096;51048;2707;2842;379578247;6674846 + 7097;51048;2707;2843;379578247;6725894 + 7098;51060;2707;2843;379578247;6725894 + 7099;51071;2710;2844;383464964;6630964 + 7100;51072;2710;2844;383464964;6630964 + 7101;51083;2710;2845;383464964;6682047 + 7102;51084;2710;2845;383464964;6682047 + 7103;51096;2715;2845;385700345;6438343 + 7104;51097;2715;2846;385700345;6489440 + 7105;51108;2715;2846;385700345;6489440 + 7106;51112;2715;2847;385700345;6540552 + 7107;51120;2715;2847;385700345;6540552 + 7108;51132;2715;2847;385700345;6540552 + 7109;51133;2715;2848;385700345;6591685 + 7110;51144;2715;2848;385700345;6591685 + 7111;51156;2715;2848;385700345;6591685 + 7112;51156;2715;2849;385700345;6642841 + 7113;51168;2715;2849;385700345;6642841 + 7114;51170;2715;2850;385700345;6694011 + 7115;51180;2715;2850;385700345;6694011 + 7116;51188;2720;2851;390503042;6501070 + 7117;51192;2720;2851;390503042;6501070 + 7118;51204;2720;2851;390503042;6501070 + 7119;51212;2720;2852;390503042;6552282 + 7120;51216;2720;2852;390503042;6552282 + 7121;51227;2720;2853;390503042;6603509 + 7122;51228;2720;2853;390503042;6603509 + 7123;51240;2720;2853;390503042;6603509 + 7124;51249;2720;2854;390503042;6654758 + 7125;51252;2720;2854;390503042;6654758 + 7126;51264;2720;2854;390503042;6654758 + 7127;51265;2720;2855;390503042;6706023 + 7128;51276;2720;2855;390503042;6706023 + 7129;51284;2720;2856;390503042;6757307 + 7130;51288;2720;2856;390503042;6757307 + 7131;51300;2720;2856;390503042;6757307 + 7132;51307;2720;2857;390503042;6808614 + 7133;51312;2720;2857;390503042;6808614 + 7134;51322;2720;2858;390503042;6859936 + 7135;51324;2720;2858;390503042;6859936 + 7136;51335;2720;2859;390503042;6911271 + 7137;51336;2720;2859;390503042;6911271 + 7138;51348;2720;2859;390503042;6911271 + 7139;51358;2730;2860;391884443;6473129 + 7140;51360;2730;2860;391884443;6473129 + 7141;51372;2730;2860;391884443;6473129 + 7142;51372;2734;2861;383093663;6328171 + 7143;51384;2734;2861;383093663;6328171 + 7144;51388;2734;2862;383093663;6379559 + 7145;51396;2734;2862;383093663;6379559 + 7146;51401;2734;2863;383093663;6430960 + 7147;51408;2734;2863;383093663;6430960 + 7148;51416;2734;2864;383093663;6482376 + 7149;51420;2734;2864;383093663;6482376 + 7150;51432;2734;2864;383093663;6482376 + 7151;51433;2734;2865;383093663;6533809 + 7152;51444;2734;2865;383093663;6533809 + 7153;51446;2734;2866;383093663;6585255 + 7154;51456;2734;2866;383093663;6585255 + 7155;51466;2734;2867;383093663;6636721 + 7156;51468;2734;2867;383093663;6636721 + 7157;51480;2734;2867;383093663;6636721 + 7158;51482;2734;2868;383093663;6688203 + 7159;51492;2734;2868;383093663;6688203 + 7160;51497;2741;2869;379851167;6395456 + 7161;51504;2741;2869;379851167;6395456 + 7162;51512;2744;2870;378464872;6299190 + 7163;51516;2744;2870;378464872;6299190 + 7164;51526;2744;2871;378464872;6350716 + 7165;51528;2744;2871;378464872;6350716 + 7166;51540;2744;2871;378464872;6350716 + 7167;51542;2744;2872;378464872;6402258 + 7168;51552;2744;2872;378464872;6402258 + 7169;51564;2744;2872;378464872;6402258 + 7170;51565;2744;2873;378464872;6453823 + 7171;51576;2744;2873;378464872;6453823 + 7172;51584;2744;2874;378464872;6505407 + 7173;51588;2744;2874;378464872;6505407 + 7174;51597;2744;2875;378464872;6557004 + 7175;51600;2744;2875;378464872;6557004 + 7176;51612;2744;2875;378464872;6557004 + 7177;51621;2744;2876;378464872;6608625 + 7178;51624;2744;2876;378464872;6608625 + 7179;51636;2744;2876;378464872;6608625 + 7180;51638;2744;2877;378464872;6660263 + 7181;51648;2744;2877;378464872;6660263 + 7182;51655;2744;2878;378464872;6711918 + 7183;51660;2744;2878;378464872;6711918 + 7184;51672;2744;2878;378464872;6711918 + 7185;51672;2744;2879;378464872;6763590 + 7186;51684;2744;2879;378464872;6763590 + 7187;51694;2744;2880;378464872;6815284 + 7188;51696;2744;2880;378464872;6815284 + 7189;51708;2744;2880;378464872;6815284 + 7190;51708;2749;2881;379115917;6620397 + 7191;51720;2749;2881;379115917;6620397 + 7192;51729;2752;2882;387004283;6523981 + 7193;51732;2752;2882;387004283;6523981 + 7194;51744;2752;2882;387004283;6523981 + 7195;51752;2752;2883;387004283;6575733 + 7196;51756;2752;2883;387004283;6575733 + 7197;51768;2752;2883;387004283;6575733 + 7198;51774;2752;2884;387004283;6627507 + 7199;51780;2752;2884;387004283;6627507 + 7200;51792;2752;2884;387004283;6627507 + 7201;51797;2752;2885;387004283;6679304 + 7202;51804;2752;2885;387004283;6679304 + 7203;51813;2752;2886;387004283;6731117 + 7204;51816;2752;2886;387004283;6731117 + 7205;51826;2752;2887;387004283;6782943 + 7206;51828;2752;2887;387004283;6782943 + 7207;51840;2752;2887;387004283;6782943 + 7208;51846;2752;2888;387004283;6834789 + 7209;51852;2752;2888;387004283;6834789 + 7210;51861;2756;2889;396243733;6688905 + 7211;51864;2756;2889;396243733;6688905 + 7212;51876;2756;2889;396243733;6688905 + 7213;51876;2756;2890;396243733;6740781 + 7214;51888;2756;2890;396243733;6740781 + 7215;51889;2756;2891;396243733;6792670 + 7216;51900;2756;2891;396243733;6792670 + 7217;51910;2766;2892;393799544;6348892 + 7218;51912;2766;2892;393799544;6348892 + 7219;51924;2766;2892;393799544;6348892 + 7220;51934;2768;2893;389649750;6301491 + 7221;51936;2768;2893;389649750;6301491 + 7222;51948;2768;2893;389649750;6301491 + 7223;51950;2768;2894;389649750;6353441 + 7224;51960;2768;2894;389649750;6353441 + 7225;51965;2768;2895;389649750;6405406 + 7226;51972;2768;2895;389649750;6405406 + 7227;51980;2768;2896;389649750;6457386 + 7228;51984;2768;2896;389649750;6457386 + 7229;51996;2768;2896;389649750;6457386 + 7230;51997;2768;2897;389649750;6509383 + 7231;52008;2768;2897;389649750;6509383 + 7232;52013;2768;2898;389649750;6561396 + 7233;52020;2768;2898;389649750;6561396 + 7234;52031;2768;2899;389649750;6613427 + 7235;52032;2768;2899;389649750;6613427 + 7236;52044;2768;2899;389649750;6613427 + 7237;52049;2768;2900;389649750;6665476 + 7238;52056;2768;2900;389649750;6665476 + 7239;52064;2768;2901;389649750;6717540 + 7240;52068;2768;2901;389649750;6717540 + 7241;52080;2768;2901;389649750;6717540 + 7242;52087;2768;2902;389649750;6769627 + 7243;52092;2768;2902;389649750;6769627 + 7244;52104;2768;2902;389649750;6769627 + 7245;52107;2768;2903;389649750;6821734 + 7246;52116;2768;2903;389649750;6821734 + 7247;52121;2776;2904;392939049;6475896 + 7248;52128;2776;2904;392939049;6475896 + 7249;52136;2776;2905;392939049;6528032 + 7250;52140;2776;2905;392939049;6528032 + 7251;52152;2776;2905;392939049;6528032 + 7252;52153;2776;2906;392939049;6580185 + 7253;52164;2777;2906;396342806;6530363 + 7254;52173;2777;2907;396342806;6582536 + 7255;52176;2777;2907;396342806;6582536 + 7256;52188;2777;2907;396342806;6582536 + 7257;52189;2777;2908;396342806;6634725 + 7258;52200;2777;2908;396342806;6634725 + 7259;52210;2777;2909;396342806;6686935 + 7260;52212;2777;2909;396342806;6686935 + 7261;52224;2780;2909;402181914;6537363 + 7262;52231;2782;2910;404223123;6489769 + 7263;52236;2782;2910;404223123;6489769 + 7264;52248;2782;2910;404223123;6489769 + 7265;52250;2782;2911;404223123;6542019 + 7266;52260;2782;2911;404223123;6542019 + 7267;52266;2782;2912;404223123;6594285 + 7268;52272;2782;2912;404223123;6594285 + 7269;52282;2782;2913;404223123;6646567 + 7270;52284;2782;2913;404223123;6646567 + 7271;52296;2782;2913;404223123;6646567 + 7272;52298;2787;2914;405526312;6448957 + 7273;52308;2787;2914;405526312;6448957 + 7274;52310;2787;2915;405526312;6501267 + 7275;52320;2787;2915;405526312;6501267 + 7276;52323;2787;2916;405526312;6553590 + 7277;52332;2787;2916;405526312;6553590 + 7278;52344;2787;2916;405526312;6553590 + 7279;52346;2787;2917;405526312;6605936 + 7280;52356;2787;2917;405526312;6605936 + 7281;52366;2794;2918;403365060;6307613 + 7282;52368;2794;2918;403365060;6307613 + 7283;52379;2794;2919;403365060;6359992 + 7284;52380;2794;2919;403365060;6359992 + 7285;52392;2794;2919;403365060;6359992 + 7286;52392;2794;2920;403365060;6412384 + 7287;52404;2794;2920;403365060;6412384 + 7288;52406;2794;2921;403365060;6464790 + 7289;52416;2794;2921;403365060;6464790 + 7290;52428;2794;2921;403365060;6464790 + 7291;52428;2794;2922;403365060;6517218 + 7292;52440;2794;2922;403365060;6517218 + 7293;52445;2794;2923;403365060;6569663 + 7294;52452;2794;2923;403365060;6569663 + 7295;52464;2794;2923;403365060;6569663 + 7296;52465;2794;2924;403365060;6622128 + 7297;52476;2794;2924;403365060;6622128 + 7298;52480;2794;2925;403365060;6674608 + 7299;52488;2794;2925;403365060;6674608 + 7300;52497;2794;2926;403365060;6727105 + 7301;52500;2794;2926;403365060;6727105 + 7302;52512;2794;2926;403365060;6727105 + 7303;52521;2794;2927;403365060;6779626 + 7304;52524;2794;2927;403365060;6779626 + 7305;52534;2794;2928;403365060;6832160 + 7306;52536;2794;2928;403365060;6832160 + 7307;52548;2794;2928;403365060;6832160 + 7308;52550;2794;2929;403365060;6884710 + 7309;52560;2794;2929;403365060;6884710 + 7310;52569;2794;2930;403365060;6937279 + 7311;52572;2794;2930;403365060;6937279 + 7312;52584;2794;2930;403365060;6937279 + 7313;52586;2794;2931;403365060;6989865 + 7314;52596;2794;2931;403365060;6989865 + 7315;52603;2794;2932;403365060;7042468 + 7316;52608;2794;2932;403365060;7042468 + 7317;52620;2794;2932;403365060;7042468 + 7318;52621;2799;2933;411449281;6844064 + 7319;52632;2799;2933;411449281;6844064 + 7320;52642;2799;2934;411449281;6896706 + 7321;52644;2799;2934;411449281;6896706 + 7322;52656;2799;2934;411449281;6896706 + 7323;52665;2799;2935;411449281;6949371 + 7324;52668;2799;2935;411449281;6949371 + 7325;52680;2799;2935;411449281;6949371 + 7326;52680;2799;2936;411449281;7002051 + 7327;52692;2809;2936;409576320;6498653 + 7328;52704;2809;2936;409576320;6498653 + 7329;52704;2811;2937;406490582;6450444 + 7330;52716;2811;2937;406490582;6450444 + 7331;52724;2811;2938;406490582;6503168 + 7332;52728;2811;2938;406490582;6503168 + 7333;52740;2811;2938;406490582;6503168 + 7334;52740;2811;2939;406490582;6555908 + 7335;52752;2811;2939;406490582;6555908 + 7336;52761;2811;2940;406490582;6608669 + 7337;52764;2811;2940;406490582;6608669 + 7338;52776;2811;2940;406490582;6608669 + 7339;52781;2813;2941;404589616;6560455 + 7340;52788;2813;2941;404589616;6560455 + 7341;52796;2814;2942;407278920;6562727 + 7342;52800;2814;2942;407278920;6562727 + 7343;52812;2814;2942;407278920;6562727 + 7344;52813;2814;2943;407278920;6615540 + 7345;52824;2814;2943;407278920;6615540 + 7346;52828;2814;2944;407278920;6668368 + 7347;52836;2814;2944;407278920;6668368 + 7348;52848;2814;2944;407278920;6668368 + 7349;52850;2814;2945;407278920;6721218 + 7350;52860;2814;2945;407278920;6721218 + 7351;52870;2814;2946;407278920;6774088 + 7352;52872;2814;2946;407278920;6774088 + 7353;52884;2816;2946;406427072;6672987 + 7354;52894;2816;2947;406427072;6725881 + 7355;52896;2816;2947;406427072;6725881 + 7356;52908;2816;2947;406427072;6725881 + 7357;52912;2816;2948;406427072;6778793 + 7358;52920;2816;2948;406427072;6778793 + 7359;52926;2816;2949;406427072;6831719 + 7360;52932;2816;2949;406427072;6831719 + 7361;52944;2821;2949;403629856;6578671 + 7362;52947;2821;2950;403629856;6631618 + 7363;52956;2821;2950;403629856;6631618 + 7364;52968;2821;2950;403629856;6631618 + 7365;52969;2821;2951;403629856;6684587 + 7366;52980;2821;2951;403629856;6684587 + 7367;52988;2821;2952;403629856;6737575 + 7368;52992;2821;2952;403629856;6737575 + 7369;53004;2821;2952;403629856;6737575 + 7370;53004;2821;2953;403629856;6790579 + 7371;53016;2821;2953;403629856;6790579 + 7372;53022;2831;2954;394661924;6336127 + 7373;53028;2831;2954;394661924;6336127 + 7374;53040;2834;2954;392313301;6183512 + 7375;53041;2834;2955;392313301;6236553 + 7376;53052;2834;2955;392313301;6236553 + 7377;53056;2835;2956;393344477;6238697 + 7378;53064;2835;2956;393344477;6238697 + 7379;53076;2836;2956;394230498;6187767 + 7380;53080;2836;2957;394230498;6240847 + 7381;53088;2836;2957;394230498;6240847 + 7382;53100;2836;2957;394230498;6240847 + 7383;53103;2836;2958;394230498;6293950 + 7384;53112;2836;2958;394230498;6293950 + 7385;53122;2836;2959;394230498;6347072 + 7386;53124;2836;2959;394230498;6347072 + 7387;53136;2836;2959;394230498;6347072 + 7388;53141;2837;2960;395699272;6349266 + 7389;53148;2837;2960;395699272;6349266 + 7390;53160;2837;2960;395699272;6349266 + 7391;53161;2837;2961;395699272;6402427 + 7392;53172;2837;2961;395699272;6402427 + 7393;53173;2837;2962;395699272;6455600 + 7394;53184;2837;2962;395699272;6455600 + 7395;53188;2837;2963;395699272;6508788 + 7396;53196;2837;2963;395699272;6508788 + 7397;53208;2837;2963;395699272;6508788 + 7398;53208;2837;2964;395699272;6561996 + 7399;53220;2837;2964;395699272;6561996 + 7400;53220;2837;2965;395699272;6615216 + 7401;53232;2837;2965;395699272;6615216 + 7402;53237;2837;2966;395699272;6668453 + 7403;53244;2837;2966;395699272;6668453 + 7404;53250;2837;2967;395699272;6721703 + 7405;53256;2837;2967;395699272;6721703 + 7406;53268;2837;2967;395699272;6721703 + 7407;53273;2840;2968;397210755;6622009 + 7408;53280;2840;2968;397210755;6622009 + 7409;53292;2840;2968;397210755;6622009 + 7410;53292;2840;2969;397210755;6675301 + 7411;53304;2840;2969;397210755;6675301 + 7412;53307;2840;2970;397210755;6728608 + 7413;53316;2840;2970;397210755;6728608 + 7414;53327;2840;2971;397210755;6781935 + 7415;53328;2840;2971;397210755;6781935 + 7416;53340;2840;2971;397210755;6781935 + 7417;53347;2840;2972;397210755;6835282 + 7418;53352;2840;2972;397210755;6835282 + 7419;53364;2840;2972;397210755;6835282 + 7420;53367;2840;2973;397210755;6888649 + 7421;53376;2840;2973;397210755;6888649 + 7422;53386;2840;2974;397210755;6942035 + 7423;53388;2840;2974;397210755;6942035 + 7424;53398;2840;2975;397210755;6995433 + 7425;53400;2840;2975;397210755;6995433 + 7426;53412;2840;2975;397210755;6995433 + 7427;53420;2840;2976;397210755;7048853 + 7428;53424;2840;2976;397210755;7048853 + 7429;53436;2840;2976;397210755;7048853 + 7430;53442;2840;2977;397210755;7102295 + 7431;53448;2840;2977;397210755;7102295 + 7432;53459;2850;2978;405462953;6644668 + 7433;53460;2850;2978;405462953;6644668 + 7434;53472;2850;2978;405462953;6644668 + 7435;53477;2852;2979;403617242;6595706 + 7436;53484;2852;2979;403617242;6595706 + 7437;53490;2852;2980;403617242;6649196 + 7438;53496;2852;2980;403617242;6649196 + 7439;53508;2852;2980;403617242;6649196 + 7440;53508;2852;2981;403617242;6702704 + 7441;53520;2852;2981;403617242;6702704 + 7442;53532;2852;2981;403617242;6702704 + 7443;53532;2852;2982;403617242;6756236 + 7444;53544;2852;2982;403617242;6756236 + 7445;53556;2852;2982;403617242;6756236 + 7446;53556;2852;2983;403617242;6809792 + 7447;53568;2852;2983;403617242;6809792 + 7448;53572;2852;2984;403617242;6863364 + 7449;53580;2852;2984;403617242;6863364 + 7450;53587;2852;2985;403617242;6916951 + 7451;53592;2852;2985;403617242;6916951 + 7452;53600;2852;2986;403617242;6970551 + 7453;53604;2852;2986;403617242;6970551 + 7454;53615;2852;2987;403617242;7024166 + 7455;53616;2852;2987;403617242;7024166 + 7456;53627;2852;2988;403617242;7077793 + 7457;53628;2852;2988;403617242;7077793 + 7458;53640;2852;2988;403617242;7077793 + 7459;53641;2852;2989;403617242;7131434 + 7460;53652;2852;2989;403617242;7131434 + 7461;53661;2852;2990;403617242;7185095 + 7462;53664;2852;2990;403617242;7185095 + 7463;53676;2852;2990;403617242;7185095 + 7464;53676;2852;2991;403617242;7238771 + 7465;53688;2852;2991;403617242;7238771 + 7466;53695;2862;2992;394760601;6779185 + 7467;53700;2868;2992;385338920;6470445 + 7468;53712;2868;2992;385338920;6470445 + 7469;53713;2868;2993;385338920;6524158 + 7470;53724;2868;2993;385338920;6524158 + 7471;53731;2868;2994;385338920;6577889 + 7472;53736;2868;2994;385338920;6577889 + 7473;53747;2868;2995;385338920;6631636 + 7474;53748;2868;2995;385338920;6631636 + 7475;53760;2868;2995;385338920;6631636 + 7476;53768;2868;2996;385338920;6685404 + 7477;53772;2868;2996;385338920;6685404 + 7478;53784;2868;2996;385338920;6685404 + 7479;53786;2868;2997;385338920;6739190 + 7480;53796;2868;2997;385338920;6739190 + 7481;53801;2868;2998;385338920;6792991 + 7482;53808;2868;2998;385338920;6792991 + 7483;53820;2868;2998;385338920;6792991 + 7484;53821;2868;2999;385338920;6846812 + 7485;53832;2868;2999;385338920;6846812 + 7486;53842;2868;3000;385338920;6900654 + 7487;53844;2868;3000;385338920;6900654 + 7488;53856;2868;3000;385338920;6900654 + 7489;53860;2868;3001;385338920;6954514 + 7490;53868;2868;3001;385338920;6954514 + 7491;53876;2868;3002;385338920;7008390 + 7492;53880;2868;3002;385338920;7008390 + 7493;53892;2868;3002;385338920;7008390 + 7494;53899;2868;3003;385338920;7062289 + 7495;53904;2868;3003;385338920;7062289 + 7496;53916;2868;3003;385338920;7062289 + 7497;53920;2868;3004;385338920;7116209 + 7498;53928;2868;3004;385338920;7116209 + 7499;53940;2868;3004;385338920;7116209 + 7500;53942;2868;3005;385338920;7170151 + 7501;53952;2868;3005;385338920;7170151 + 7502;53964;2868;3005;385338920;7170151 + 7503;53964;2878;3006;375566577;6708203 + 7504;53976;2878;3006;375566577;6708203 + 7505;53988;2878;3006;375566577;6708203 + 7506;53988;2882;3007;376800929;6555308 + 7507;54000;2882;3007;376800929;6555308 + 7508;54010;2882;3008;376800929;6609318 + 7509;54012;2882;3008;376800929;6609318 + 7510;54024;2882;3008;376800929;6609318 + 7511;54029;2882;3009;376800929;6663347 + 7512;54036;2882;3009;376800929;6663347 + 7513;54042;2882;3010;376800929;6717389 + 7514;54048;2882;3010;376800929;6717389 + 7515;54054;2882;3011;376800929;6771443 + 7516;54060;2882;3011;376800929;6771443 + 7517;54072;2882;3011;376800929;6771443 + 7518;54076;2882;3012;376800929;6825519 + 7519;54084;2882;3012;376800929;6825519 + 7520;54092;2882;3013;376800929;6879611 + 7521;54096;2882;3013;376800929;6879611 + 7522;54108;2882;3013;376800929;6879611 + 7523;54114;2882;3014;376800929;6933725 + 7524;54120;2882;3014;376800929;6933725 + 7525;54131;2882;3015;376800929;6987856 + 7526;54132;2882;3015;376800929;6987856 + 7527;54143;2882;3016;376800929;7041999 + 7528;54144;2882;3016;376800929;7041999 + 7529;54156;2882;3016;376800929;7041999 + 7530;54167;2882;3017;376800929;7096166 + 7531;54168;2882;3017;376800929;7096166 + 7532;54180;2882;3017;376800929;7096166 + 7533;54183;2882;3018;376800929;7150349 + 7534;54192;2882;3018;376800929;7150349 + 7535;54204;2882;3018;376800929;7150349 + 7536;54204;2883;3019;381111510;7152779 + 7537;54216;2883;3019;381111510;7152779 + 7538;54216;2883;3020;381111510;7206995 + 7539;54228;2883;3020;381111510;7206995 + 7540;54237;2891;3021;369397485;6846414 + 7541;54240;2891;3021;369397485;6846414 + 7542;54251;2891;3022;369397485;6900665 + 7543;54252;2891;3022;369397485;6900665 + 7544;54264;2891;3022;369397485;6900665 + 7545;54269;2891;3023;369397485;6954934 + 7546;54276;2891;3023;369397485;6954934 + 7547;54288;2891;3023;369397485;6954934 + 7548;54288;2891;3024;369397485;7009222 + 7549;54300;2891;3024;369397485;7009222 + 7550;54309;2891;3025;369397485;7063531 + 7551;54312;2891;3025;369397485;7063531 + 7552;54324;2891;3025;369397485;7063531 + 7553;54332;2896;3026;373156633;6858037 + 7554;54336;2896;3026;373156633;6858037 + 7555;54347;2896;3027;373156633;6912384 + 7556;54348;2896;3027;373156633;6912384 + 7557;54360;2896;3027;373156633;6912384 + 7558;54368;2899;3028;378547670;6810659 + 7559;54372;2899;3028;378547670;6810659 + 7560;54384;2899;3028;378547670;6810659 + 7561;54385;2899;3029;378547670;6865044 + 7562;54396;2899;3029;378547670;6865044 + 7563;54408;2899;3029;378547670;6865044 + 7564;54409;2899;3030;378547670;6919453 + 7565;54420;2899;3030;378547670;6919453 + 7566;54421;2899;3031;378547670;6973874 + 7567;54432;2899;3031;378547670;6973874 + 7568;54444;2899;3031;378547670;6973874 + 7569;54444;2904;3032;384076599;6767803 + 7570;54456;2904;3032;384076599;6767803 + 7571;54457;2904;3033;384076599;6822260 + 7572;54468;2904;3033;384076599;6822260 + 7573;54476;2904;3034;384076599;6876736 + 7574;54480;2904;3034;384076599;6876736 + 7575;54492;2904;3034;384076599;6876736 + 7576;54493;2904;3035;384076599;6931229 + 7577;54504;2904;3035;384076599;6931229 + 7578;54516;2904;3035;384076599;6931229 + 7579;54517;2904;3036;384076599;6985746 + 7580;54528;2904;3036;384076599;6985746 + 7581;54539;2904;3037;384076599;7040285 + 7582;54540;2904;3037;384076599;7040285 + 7583;54552;2904;3037;384076599;7040285 + 7584;54562;2904;3038;384076599;7094847 + 7585;54564;2904;3038;384076599;7094847 + 7586;54576;2904;3038;384076599;7094847 + 7587;54584;2904;3039;384076599;7149431 + 7588;54588;2904;3039;384076599;7149431 + 7589;54597;2904;3040;384076599;7204028 + 7590;54600;2904;3040;384076599;7204028 + 7591;54612;2904;3040;384076599;7204028 + 7592;54620;2907;3041;381850629;7102133 + 7593;54624;2907;3041;381850629;7102133 + 7594;54636;2907;3041;381850629;7102133 + 7595;54642;2907;3042;381850629;7156775 + 7596;54648;2907;3042;381850629;7156775 + 7597;54660;2907;3042;381850629;7156775 + 7598;54665;2907;3043;381850629;7211440 + 7599;54672;2907;3043;381850629;7211440 + 7600;54683;2913;3044;388057882;6952586 + 7601;54684;2913;3044;388057882;6952586 + 7602;54696;2913;3044;388057882;6952586 + 7603;54698;2913;3045;388057882;7007284 + 7604;54708;2913;3045;388057882;7007284 + 7605;54717;2913;3046;388057882;7062001 + 7606;54720;2913;3046;388057882;7062001 + 7607;54732;2913;3046;388057882;7062001 + 7608;54739;2922;3047;379803688;6645345 + 7609;54744;2922;3047;379803688;6645345 + 7610;54756;2922;3047;379803688;6645345 + 7611;54759;2922;3048;379803688;6700104 + 7612;54768;2922;3048;379803688;6700104 + 7613;54779;2925;3049;384797418;6597441 + 7614;54780;2925;3049;384797418;6597441 + 7615;54792;2925;3049;384797418;6597441 + 7616;54794;2925;3050;384797418;6652235 + 7617;54804;2925;3050;384797418;6652235 + 7618;54808;2925;3051;384797418;6707043 + 7619;54816;2925;3051;384797418;6707043 + 7620;54821;2925;3052;384797418;6761864 + 7621;54828;2925;3052;384797418;6761864 + 7622;54835;2925;3053;384797418;6816699 + 7623;54840;2925;3053;384797418;6816699 + 7624;54851;2925;3054;384797418;6871550 + 7625;54852;2925;3054;384797418;6871550 + 7626;54864;2925;3054;384797418;6871550 + 7627;54868;2925;3055;384797418;6926418 + 7628;54876;2925;3055;384797418;6926418 + 7629;54888;2925;3055;384797418;6926418 + 7630;54890;2925;3056;384797418;6981308 + 7631;54900;2925;3056;384797418;6981308 + 7632;54912;2930;3056;387052661;6718548 + 7633;54913;2930;3057;387052661;6773461 + 7634;54924;2930;3057;387052661;6773461 + 7635;54927;2930;3058;387052661;6828388 + 7636;54936;2930;3058;387052661;6828388 + 7637;54942;2930;3059;387052661;6883330 + 7638;54948;2930;3059;387052661;6883330 + 7639;54960;2930;3059;387052661;6883330 + 7640;54965;2930;3060;387052661;6938295 + 7641;54972;2930;3060;387052661;6938295 + 7642;54981;2930;3061;387052661;6993276 + 7643;54984;2930;3061;387052661;6993276 + 7644;54996;2930;3061;387052661;6993276 + 7645;54997;2930;3062;387052661;7048273 + 7646;55008;2930;3062;387052661;7048273 + 7647;55019;2938;3063;387827541;6681913 + 7648;55020;2938;3063;387827541;6681913 + 7649;55032;2938;3063;387827541;6681913 + 7650;55042;2938;3064;387827541;6736955 + 7651;55044;2938;3064;387827541;6736955 + 7652;55056;2938;3064;387827541;6736955 + 7653;55066;2938;3065;387827541;6792021 + 7654;55068;2938;3065;387827541;6792021 + 7655;55080;2938;3065;387827541;6792021 + 7656;55086;2938;3066;387827541;6847107 + 7657;55092;2938;3066;387827541;6847107 + 7658;55104;2938;3066;387827541;6847107 + 7659;55106;2938;3067;387827541;6902213 + 7660;55116;2938;3067;387827541;6902213 + 7661;55128;2938;3067;387827541;6902213 + 7662;55129;2938;3068;387827541;6957342 + 7663;55140;2938;3068;387827541;6957342 + 7664;55143;2938;3069;387827541;7012485 + 7665;55152;2938;3069;387827541;7012485 + 7666;55157;2946;3070;383105634;6645049 + 7667;55164;2946;3070;383105634;6645049 + 7668;55176;2946;3070;383105634;6645049 + 7669;55177;2947;3071;385350962;6647314 + 7670;55188;2947;3071;385350962;6647314 + 7671;55200;2947;3071;385350962;6647314 + 7672;55200;2947;3072;385350962;6702514 + 7673;55212;2947;3072;385350962;6702514 + 7674;55219;2947;3073;385350962;6757733 + 7675;55224;2947;3073;385350962;6757733 + 7676;55232;2947;3074;385350962;6812965 + 7677;55236;2947;3074;385350962;6812965 + 7678;55244;2947;3075;385350962;6868209 + 7679;55248;2947;3075;385350962;6868209 + 7680;55260;2947;3075;385350962;6868209 + 7681;55265;2950;3076;388555400;6764632 + 7682;55272;2950;3076;388555400;6764632 + 7683;55282;2950;3077;388555400;6819914 + 7684;55284;2950;3077;388555400;6819914 + 7685;55295;2950;3078;388555400;6875209 + 7686;55296;2950;3078;388555400;6875209 + 7687;55308;2950;3078;388555400;6875209 + 7688;55310;2950;3079;388555400;6930519 + 7689;55320;2950;3079;388555400;6930519 + 7690;55332;2950;3079;388555400;6930519 + 7691;55333;2950;3080;388555400;6985852 + 7692;55344;2950;3080;388555400;6985852 + 7693;55346;2950;3081;388555400;7041198 + 7694;55356;2950;3081;388555400;7041198 + 7695;55358;2950;3082;388555400;7096556 + 7696;55368;2950;3082;388555400;7096556 + 7697;55376;2950;3083;388555400;7151932 + 7698;55380;2950;3083;388555400;7151932 + 7699;55391;2950;3084;388555400;7207323 + 7700;55392;2950;3084;388555400;7207323 + 7701;55404;2955;3084;383357130;6942212 + 7702;55407;2955;3085;383357130;6997619 + 7703;55416;2955;3085;383357130;6997619 + 7704;55419;2955;3086;383357130;7053038 + 7705;55428;2955;3086;383357130;7053038 + 7706;55440;2955;3086;383357130;7053038 + 7707;55440;2955;3087;383357130;7108478 + 7708;55452;2957;3087;383584816;7002295 + 7709;55460;2957;3088;383584816;7057755 + 7710;55464;2957;3088;383584816;7057755 + 7711;55473;2957;3089;383584816;7113228 + 7712;55476;2957;3089;383584816;7113228 + 7713;55488;2957;3089;383584816;7113228 + 7714;55490;2957;3090;383584816;7168718 + 7715;55500;2957;3090;383584816;7168718 + 7716;55508;2957;3091;383584816;7224226 + 7717;55512;2957;3091;383584816;7224226 + 7718;55524;2957;3091;383584816;7224226 + 7719;55526;2958;3092;387682133;7226630 + 7720;55536;2958;3092;387682133;7226630 + 7721;55547;2958;3093;387682133;7282177 + 7722;55548;2958;3093;387682133;7282177 + 7723;55560;2958;3093;387682133;7282177 + 7724;55568;2958;3094;387682133;7337745 + 7725;55572;2958;3094;387682133;7337745 + 7726;55584;2968;3094;380611629;6805602 + 7727;55588;2969;3095;376459608;6807883 + 7728;55596;2969;3095;376459608;6807883 + 7729;55601;2969;3096;376459608;6863484 + 7730;55608;2969;3096;376459608;6863484 + 7731;55615;2969;3097;376459608;6919099 + 7732;55620;2969;3097;376459608;6919099 + 7733;55632;2969;3097;376459608;6919099 + 7734;55635;2969;3098;376459608;6974734 + 7735;55644;2969;3098;376459608;6974734 + 7736;55656;2969;3098;376459608;6974734 + 7737;55658;2969;3099;376459608;7030392 + 7738;55668;2969;3099;376459608;7030392 + 7739;55676;2969;3100;376459608;7086068 + 7740;55680;2969;3100;376459608;7086068 + 7741;55692;2969;3100;376459608;7086068 + 7742;55695;2969;3101;376459608;7141763 + 7743;55704;2969;3101;376459608;7141763 + 7744;55707;2969;3102;376459608;7197470 + 7745;55716;2969;3102;376459608;7197470 + 7746;55728;2969;3102;376459608;7197470 + 7747;55729;2969;3103;376459608;7253199 + 7748;55740;2969;3103;376459608;7253199 + 7749;55745;2979;3104;362728459;6774831 + 7750;55752;2979;3104;362728459;6774831 + 7751;55764;2988;3104;347939811;6292593 + 7752;55766;2988;3105;347939811;6348359 + 7753;55776;2988;3105;347939811;6348359 + 7754;55786;2988;3106;347939811;6404145 + 7755;55788;2988;3106;347939811;6404145 + 7756;55800;2988;3106;347939811;6404145 + 7757;55806;2988;3107;347939811;6459951 + 7758;55812;2988;3107;347939811;6459951 + 7759;55823;2990;3108;347744150;6408437 + 7760;55824;2990;3108;347744150;6408437 + 7761;55836;2990;3108;347744150;6408437 + 7762;55842;2990;3109;347744150;6464279 + 7763;55848;2990;3109;347744150;6464279 + 7764;55859;2990;3110;347744150;6520138 + 7765;55860;2990;3110;347744150;6520138 + 7766;55872;2990;3110;347744150;6520138 + 7767;55876;2990;3111;347744150;6576014 + 7768;55884;2990;3111;347744150;6576014 + 7769;55892;2990;3112;347744150;6631906 + 7770;55896;2990;3112;347744150;6631906 + 7771;55908;2990;3112;347744150;6631906 + 7772;55916;2990;3113;347744150;6687822 + 7773;55920;2990;3113;347744150;6687822 + 7774;55932;2990;3113;347744150;6687822 + 7775;55933;2990;3114;347744150;6743755 + 7776;55944;2990;3114;347744150;6743755 + 7777;55950;2990;3115;347744150;6799705 + 7778;55956;2990;3115;347744150;6799705 + 7779;55968;2990;3115;347744150;6799705 + 7780;55972;2990;3116;347744150;6855677 + 7781;55980;2990;3116;347744150;6855677 + 7782;55990;2992;3117;350800263;6804259 + 7783;55992;2992;3117;350800263;6804259 + 7784;56002;2992;3118;350800263;6860261 + 7785;56004;2992;3118;350800263;6860261 + 7786;56016;2992;3118;350800263;6860261 + 7787;56026;2992;3119;350800263;6916287 + 7788;56028;2992;3119;350800263;6916287 + 7789;56040;2992;3119;350800263;6916287 + 7790;56042;2992;3120;350800263;6972329 + 7791;56052;2992;3120;350800263;6972329 + 7792;56063;2992;3121;350800263;7028392 + 7793;56064;2992;3121;350800263;7028392 + 7794;56076;2992;3121;350800263;7028392 + 7795;56080;2992;3122;350800263;7084472 + 7796;56088;2992;3122;350800263;7084472 + 7797;56098;2992;3123;350800263;7140570 + 7798;56100;2992;3123;350800263;7140570 + 7799;56110;2992;3124;350800263;7196680 + 7800;56112;2992;3124;350800263;7196680 + 7801;56124;2992;3124;350800263;7196680 + 7802;56133;2992;3125;350800263;7252813 + 7803;56136;2992;3125;350800263;7252813 + 7804;56148;2992;3125;350800263;7252813 + 7805;56151;2992;3126;350800263;7308964 + 7806;56160;2992;3126;350800263;7308964 + 7807;56165;2992;3127;350800263;7365129 + 7808;56172;2992;3127;350800263;7365129 + 7809;56183;2992;3128;350800263;7421312 + 7810;56184;2992;3128;350800263;7421312 + 7811;56196;2996;3128;359590904;7206280 + 7812;56199;2996;3129;359590904;7262479 + 7813;56208;2996;3129;359590904;7262479 + 7814;56213;2996;3130;359590904;7318692 + 7815;56220;2996;3130;359590904;7318692 + 7816;56229;2996;3131;359590904;7374921 + 7817;56232;2996;3131;359590904;7374921 + 7818;56244;2996;3131;359590904;7374921 + 7819;56250;3001;3132;370137019;7161971 + 7820;56256;3001;3132;370137019;7161971 + 7821;56268;3001;3132;370137019;7161971 + 7822;56274;3001;3133;370137019;7218245 + 7823;56280;3001;3133;370137019;7218245 + 7824;56292;3001;3133;370137019;7218245 + 7825;56296;3001;3134;370137019;7274541 + 7826;56304;3001;3134;370137019;7274541 + 7827;56309;3001;3135;370137019;7330850 + 7828;56316;3001;3135;370137019;7330850 + 7829;56328;3001;3135;370137019;7330850 + 7830;56333;3001;3136;370137019;7387183 + 7831;56340;3001;3136;370137019;7387183 + 7832;56351;3001;3137;370137019;7443534 + 7833;56352;3001;3137;370137019;7443534 + 7834;56364;3001;3137;370137019;7443534 + 7835;56368;3001;3138;370137019;7499902 + 7836;56376;3001;3138;370137019;7499902 + 7837;56384;3002;3139;374933343;7502387 + 7838;56388;3002;3139;374933343;7502387 + 7839;56399;3006;3140;379364794;7342972 + 7840;56400;3006;3140;379364794;7342972 + 7841;56412;3006;3140;379364794;7342972 + 7842;56416;3006;3141;379364794;7399388 + 7843;56424;3006;3141;379364794;7399388 + 7844;56432;3006;3142;379364794;7455820 + 7845;56436;3006;3142;379364794;7455820 + 7846;56448;3006;3142;379364794;7455820 + 7847;56454;3006;3143;379364794;7512274 + 7848;56460;3006;3143;379364794;7512274 + 7849;56472;3006;3143;379364794;7512274 + 7850;56474;3013;3144;375343651;7190331 + 7851;56484;3013;3144;375343651;7190331 + 7852;56489;3013;3145;375343651;7246820 + 7853;56496;3013;3145;375343651;7246820 + 7854;56508;3013;3145;375343651;7246820 + 7855;56513;3013;3146;375343651;7303333 + 7856;56520;3013;3146;375343651;7303333 + 7857;56532;3013;3146;375343651;7303333 + 7858;56533;3013;3147;375343651;7359866 + 7859;56544;3018;3147;381755178;7089038 + 7860;56555;3018;3148;381755178;7145593 + 7861;56556;3018;3148;381755178;7145593 + 7862;56568;3018;3148;381755178;7145593 + 7863;56578;3018;3149;381755178;7202171 + 7864;56580;3018;3149;381755178;7202171 + 7865;56592;3018;3149;381755178;7202171 + 7866;56600;3018;3150;381755178;7258771 + 7867;56604;3018;3150;381755178;7258771 + 7868;56616;3018;3150;381755178;7258771 + 7869;56622;3018;3151;381755178;7315393 + 7870;56628;3018;3151;381755178;7315393 + 7871;56640;3018;3151;381755178;7315393 + 7872;56646;3028;3152;368164375;6829037 + 7873;56652;3028;3152;368164375;6829037 + 7874;56659;3028;3153;368164375;6885696 + 7875;56664;3028;3153;368164375;6885696 + 7876;56676;3028;3153;368164375;6885696 + 7877;56679;3028;3154;368164375;6942375 + 7878;56688;3028;3154;368164375;6942375 + 7879;56693;3028;3155;368164375;6999068 + 7880;56700;3028;3155;368164375;6999068 + 7881;56712;3028;3155;368164375;6999068 + 7882;56716;3028;3156;368164375;7055784 + 7883;56724;3028;3156;368164375;7055784 + 7884;56731;3028;3157;368164375;7112515 + 7885;56736;3028;3157;368164375;7112515 + 7886;56743;3028;3158;368164375;7169258 + 7887;56748;3028;3158;368164375;7169258 + 7888;56759;3028;3159;368164375;7226017 + 7889;56760;3028;3159;368164375;7226017 + 7890;56772;3028;3159;368164375;7226017 + 7891;56778;3028;3160;368164375;7282795 + 7892;56784;3028;3160;368164375;7282795 + 7893;56794;3028;3161;368164375;7339589 + 7894;56796;3028;3161;368164375;7339589 + 7895;56808;3028;3161;368164375;7339589 + 7896;56813;3028;3162;368164375;7396402 + 7897;56820;3028;3162;368164375;7396402 + 7898;56825;3031;3163;370993951;7289953 + 7899;56832;3031;3163;370993951;7289953 + 7900;56840;3037;3164;371841247;7019749 + 7901;56844;3037;3164;371841247;7019749 + 7902;56856;3037;3164;371841247;7019749 + 7903;56856;3037;3165;371841247;7076605 + 7904;56868;3037;3165;371841247;7076605 + 7905;56875;3037;3166;371841247;7133480 + 7906;56880;3037;3166;371841247;7133480 + 7907;56892;3037;3166;371841247;7133480 + 7908;56896;3037;3167;371841247;7190376 + 7909;56904;3037;3167;371841247;7190376 + 7910;56910;3037;3168;371841247;7247286 + 7911;56916;3037;3168;371841247;7247286 + 7912;56925;3037;3169;371841247;7304211 + 7913;56928;3037;3169;371841247;7304211 + 7914;56940;3037;3169;371841247;7304211 + 7915;56944;3037;3170;371841247;7361155 + 7916;56952;3037;3170;371841247;7361155 + 7917;56964;3037;3170;371841247;7361155 + 7918;56967;3037;3171;371841247;7418122 + 7919;56976;3037;3171;371841247;7418122 + 7920;56979;3037;3172;371841247;7475101 + 7921;56988;3037;3172;371841247;7475101 + 7922;56997;3037;3173;371841247;7532098 + 7923;57000;3037;3173;371841247;7532098 + 7924;57012;3037;3173;371841247;7532098 + 7925;57018;3037;3174;371841247;7589116 + 7926;57024;3037;3174;371841247;7589116 + 7927;57032;3037;3175;371841247;7646148 + 7928;57036;3037;3175;371841247;7646148 + 7929;57048;3047;3175;368624868;7099444 + 7930;57052;3047;3176;368624868;7156496 + 7931;57060;3047;3176;368624868;7156496 + 7932;57065;3047;3177;368624868;7213561 + 7933;57072;3047;3177;368624868;7213561 + 7934;57084;3047;3177;368624868;7213561 + 7935;57084;3047;3178;368624868;7270645 + 7936;57096;3047;3178;368624868;7270645 + 7937;57106;3056;3179;366774882;6834192 + 7938;57108;3056;3179;366774882;6834192 + 7939;57120;3056;3179;366774882;6834192 + 7940;57122;3056;3180;366774882;6891314 + 7941;57132;3056;3180;366774882;6891314 + 7942;57142;3056;3181;366774882;6948456 + 7943;57144;3056;3181;366774882;6948456 + 7944;57156;3056;3181;366774882;6948456 + 7945;57156;3057;3182;368705513;6950685 + 7946;57168;3057;3182;368705513;6950685 + 7947;57178;3057;3183;368705513;7007863 + 7948;57180;3057;3183;368705513;7007863 + 7949;57192;3057;3183;368705513;7007863 + 7950;57192;3057;3184;368705513;7065055 + 7951;57204;3057;3184;368705513;7065055 + 7952;57214;3057;3185;368705513;7122269 + 7953;57216;3057;3185;368705513;7122269 + 7954;57228;3057;3185;368705513;7122269 + 7955;57228;3057;3186;368705513;7179497 + 7956;57240;3057;3186;368705513;7179497 + 7957;57246;3057;3187;368705513;7236743 + 7958;57252;3057;3187;368705513;7236743 + 7959;57260;3057;3188;368705513;7294003 + 7960;57264;3057;3188;368705513;7294003 + 7961;57275;3057;3189;368705513;7351278 + 7962;57276;3057;3189;368705513;7351278 + 7963;57288;3057;3189;368705513;7351278 + 7964;57292;3057;3190;368705513;7408570 + 7965;57300;3057;3190;368705513;7408570 + 7966;57310;3057;3191;368705513;7465880 + 7967;57312;3057;3191;368705513;7465880 + 7968;57324;3057;3191;368705513;7465880 + 7969;57324;3057;3192;368705513;7523204 + 7970;57336;3067;3192;372597318;6972871 + 7971;57347;3071;3193;361088564;6809541 + 7972;57348;3071;3193;361088564;6809541 + 7973;57360;3071;3193;361088564;6809541 + 7974;57366;3071;3194;361088564;6866907 + 7975;57372;3071;3194;361088564;6866907 + 7976;57384;3071;3194;361088564;6866907 + 7977;57384;3071;3195;361088564;6924291 + 7978;57396;3071;3195;361088564;6924291 + 7979;57396;3071;3196;361088564;6981687 + 7980;57408;3071;3196;361088564;6981687 + 7981;57410;3072;3197;362535811;6983878 + 7982;57420;3072;3197;362535811;6983878 + 7983;57432;3072;3197;362535811;6983878 + 7984;57432;3072;3198;362535811;7041310 + 7985;57444;3072;3198;362535811;7041310 + 7986;57445;3072;3199;362535811;7098755 + 7987;57456;3072;3199;362535811;7098755 + 7988;57463;3072;3200;362535811;7156218 + 7989;57468;3072;3200;362535811;7156218 + 7990;57480;3072;3200;362535811;7156218 + 7991;57484;3072;3201;362535811;7213702 + 7992;57492;3072;3201;362535811;7213702 + 7993;57503;3080;3202;353562672;6828898 + 7994;57504;3080;3202;353562672;6828898 + 7995;57516;3080;3202;353562672;6828898 + 7996;57522;3080;3203;353562672;6886420 + 7997;57528;3080;3203;353562672;6886420 + 7998;57538;3084;3204;351271967;6722426 + 7999;57540;3084;3204;351271967;6722426 + 8000;57552;3084;3204;351271967;6722426 + 8001;57556;3084;3205;351271967;6779982 + 8002;57564;3084;3205;351271967;6779982 + 8003;57576;3084;3205;351271967;6779982 + 8004;57578;3084;3206;351271967;6837560 + 8005;57588;3084;3206;351271967;6837560 + 8006;57596;3084;3207;351271967;6895156 + 8007;57600;3084;3207;351271967;6895156 + 8008;57612;3084;3207;351271967;6895156 + 8009;57618;3084;3208;351271967;6952774 + 8010;57624;3084;3208;351271967;6952774 + 8011;57636;3084;3208;351271967;6952774 + 8012;57639;3084;3209;351271967;7010413 + 8013;57648;3084;3209;351271967;7010413 + 8014;57654;3084;3210;351271967;7068067 + 8015;57660;3084;3210;351271967;7068067 + 8016;57670;3084;3211;351271967;7125737 + 8017;57672;3084;3211;351271967;7125737 + 8018;57684;3084;3211;351271967;7125737 + 8019;57691;3084;3212;351271967;7183428 + 8020;57696;3084;3212;351271967;7183428 + 8021;57708;3084;3212;351271967;7183428 + 8022;57712;3084;3213;351271967;7241140 + 8023;57720;3084;3213;351271967;7241140 + 8024;57732;3084;3213;351271967;7241140 + 8025;57735;3084;3214;351271967;7298875 + 8026;57744;3084;3214;351271967;7298875 + 8027;57748;3084;3215;351271967;7356623 + 8028;57756;3084;3215;351271967;7356623 + 8029;57764;3084;3216;351271967;7414387 + 8030;57768;3084;3216;351271967;7414387 + 8031;57780;3084;3216;351271967;7414387 + 8032;57783;3084;3217;351271967;7472170 + 8033;57792;3084;3217;351271967;7472170 + 8034;57799;3084;3218;351271967;7529969 + 8035;57804;3084;3218;351271967;7529969 + 8036;57815;3089;3219;355357121;7310502 + 8037;57816;3089;3219;355357121;7310502 + 8038;57827;3089;3220;355357121;7368329 + 8039;57828;3089;3220;355357121;7368329 + 8040;57840;3089;3220;355357121;7368329 + 8041;57848;3089;3221;355357121;7426177 + 8042;57852;3089;3221;355357121;7426177 + 8043;57860;3089;3222;355357121;7484037 + 8044;57864;3089;3222;355357121;7484037 + 8045;57876;3089;3222;355357121;7484037 + 8046;57881;3089;3223;355357121;7541918 + 8047;57888;3089;3223;355357121;7541918 + 8048;57894;3095;3224;356937522;7266474 + 8049;57900;3095;3224;356937522;7266474 + 8050;57912;3095;3224;356937522;7266474 + 8051;57917;3095;3225;356937522;7324391 + 8052;57924;3095;3225;356937522;7324391 + 8053;57936;3095;3225;356937522;7324391 + 8054;57937;3096;3226;359725776;7326713 + 8055;57948;3096;3226;359725776;7326713 + 8056;57957;3096;3227;359725776;7384670 + 8057;57960;3096;3227;359725776;7384670 + 8058;57972;3096;3227;359725776;7384670 + 8059;57981;3096;3228;359725776;7442651 + 8060;57984;3096;3228;359725776;7442651 + 8061;57996;3096;3228;359725776;7442651 + 8062;58001;3096;3229;359725776;7500652 + 8063;58008;3096;3229;359725776;7500652 + 8064;58013;3096;3230;359725776;7558665 + 8065;58020;3096;3230;359725776;7558665 + 8066;58032;3096;3230;359725776;7558665 + 8067;58033;3096;3231;359725776;7616698 + 8068;58044;3096;3231;359725776;7616698 + 8069;58051;3096;3232;359725776;7674749 + 8070;58056;3096;3232;359725776;7674749 + 8071;58068;3096;3232;359725776;7674749 + 8072;58075;3096;3233;359725776;7732824 + 8073;58080;3096;3233;359725776;7732824 + 8074;58088;3096;3234;359725776;7790912 + 8075;58092;3096;3234;359725776;7790912 + 8076;58104;3096;3234;359725776;7790912 + 8077;58105;3096;3235;359725776;7849017 + 8078;58116;3096;3235;359725776;7849017 + 8079;58126;3104;3236;367233637;7461532 + 8080;58128;3104;3236;367233637;7461532 + 8081;58140;3104;3236;367233637;7461532 + 8082;58148;3110;3237;374605420;7184688 + 8083;58152;3110;3237;374605420;7184688 + 8084;58160;3110;3238;374605420;7242848 + 8085;58164;3110;3238;374605420;7242848 + 8086;58176;3110;3238;374605420;7242848 + 8087;58183;3110;3239;374605420;7301031 + 8088;58188;3110;3239;374605420;7301031 + 8089;58200;3110;3239;374605420;7301031 + 8090;58207;3110;3240;374605420;7359238 + 8091;58212;3110;3240;374605420;7359238 + 8092;58224;3110;3240;374605420;7359238 + 8093;58225;3110;3241;374605420;7417463 + 8094;58236;3110;3241;374605420;7417463 + 8095;58242;3110;3242;374605420;7475705 + 8096;58248;3110;3242;374605420;7475705 + 8097;58259;3110;3243;374605420;7533964 + 8098;58260;3110;3243;374605420;7533964 + 8099;58272;3110;3243;374605420;7533964 + 8100;58279;3110;3244;374605420;7592243 + 8101;58284;3110;3244;374605420;7592243 + 8102;58293;3117;3245;372923483;7258881 + 8103;58296;3117;3245;372923483;7258881 + 8104;58308;3117;3245;372923483;7258881 + 8105;58316;3119;3246;371504419;7205129 + 8106;58320;3119;3246;371504419;7205129 + 8107;58332;3119;3246;371504419;7205129 + 8108;58336;3119;3247;371504419;7263465 + 8109;58344;3119;3247;371504419;7263465 + 8110;58356;3119;3247;371504419;7263465 + 8111;58360;3119;3248;371504419;7321825 + 8112;58368;3119;3248;371504419;7321825 + 8113;58374;3119;3249;371504419;7380199 + 8114;58380;3119;3249;371504419;7380199 + 8115;58391;3119;3250;371504419;7438590 + 8116;58392;3119;3250;371504419;7438590 + 8117;58404;3119;3250;371504419;7438590 + 8118;58404;3119;3251;371504419;7496994 + 8119;58416;3119;3251;371504419;7496994 + 8120;58425;3119;3252;371504419;7555419 + 8121;58428;3119;3252;371504419;7555419 + 8122;58440;3119;3252;371504419;7555419 + 8123;58448;3124;3253;371806389;7333383 + 8124;58452;3124;3253;371806389;7333383 + 8125;58464;3124;3253;371806389;7333383 + 8126;58465;3124;3254;371806389;7391848 + 8127;58476;3124;3254;371806389;7391848 + 8128;58483;3124;3255;371806389;7450331 + 8129;58488;3124;3255;371806389;7450331 + 8130;58500;3124;3255;371806389;7450331 + 8131;58502;3124;3256;371806389;7508833 + 8132;58512;3124;3256;371806389;7508833 + 8133;58524;3124;3256;371806389;7508833 + 8134;58526;3124;3257;371806389;7567359 + 8135;58536;3124;3257;371806389;7567359 + 8136;58541;3124;3258;371806389;7625900 + 8137;58548;3124;3258;371806389;7625900 + 8138;58560;3124;3258;371806389;7625900 + 8139;58563;3131;3259;371980714;7291073 + 8140;58572;3131;3259;371980714;7291073 + 8141;58581;3131;3260;371980714;7349654 + 8142;58584;3131;3260;371980714;7349654 + 8143;58596;3131;3260;371980714;7349654 + 8144;58601;3131;3261;371980714;7408255 + 8145;58608;3131;3261;371980714;7408255 + 8146;58620;3131;3261;371980714;7408255 + 8147;58624;3131;3262;371980714;7466879 + 8148;58632;3131;3262;371980714;7466879 + 8149;58644;3131;3262;371980714;7466879 + 8150;58648;3131;3263;371980714;7525527 + 8151;58656;3131;3263;371980714;7525527 + 8152;58667;3131;3264;371980714;7584194 + 8153;58668;3131;3264;371980714;7584194 + 8154;58680;3131;3264;371980714;7584194 + 8155;58687;3131;3265;371980714;7642881 + 8156;58692;3131;3265;371980714;7642881 + 8157;58704;3131;3265;371980714;7642881 + 8158;58708;3131;3266;371980714;7701589 + 8159;58716;3131;3266;371980714;7701589 + 8160;58722;3136;3267;372981757;7478748 + 8161;58728;3136;3267;372981757;7478748 + 8162;58734;3136;3268;372981757;7537482 + 8163;58740;3136;3268;372981757;7537482 + 8164;58752;3136;3268;372981757;7537482 + 8165;58756;3136;3269;372981757;7596238 + 8166;58764;3136;3269;372981757;7596238 + 8167;58776;3136;3269;372981757;7596238 + 8168;58776;3136;3270;372981757;7655014 + 8169;58788;3136;3270;372981757;7655014 + 8170;58791;3136;3271;372981757;7713805 + 8171;58800;3136;3271;372981757;7713805 + 8172;58804;3136;3272;372981757;7772609 + 8173;58812;3136;3272;372981757;7772609 + 8174;58822;3136;3273;372981757;7831431 + 8175;58824;3136;3273;372981757;7831431 + 8176;58836;3142;3273;386943818;7492978 + 8177;58839;3142;3274;386943818;7551817 + 8178;58848;3142;3274;386943818;7551817 + 8179;58856;3142;3275;386943818;7610673 + 8180;58860;3142;3275;386943818;7610673 + 8181;58872;3142;3275;386943818;7610673 + 8182;58879;3142;3276;386943818;7669552 + 8183;58884;3142;3276;386943818;7669552 + 8184;58893;3142;3277;386943818;7728445 + 8185;58896;3142;3277;386943818;7728445 + 8186;58907;3142;3278;386943818;7787352 + 8187;58908;3142;3278;386943818;7787352 + 8188;58919;3142;3279;386943818;7846271 + 8189;58920;3142;3279;386943818;7846271 + 8190;58932;3142;3279;386943818;7846271 + 8191;58934;3149;3280;400889472;7509463 + 8192;58944;3149;3280;400889472;7509463 + 8193;58952;3149;3281;400889472;7568415 + 8194;58956;3149;3281;400889472;7568415 + 8195;58968;3149;3281;400889472;7568415 + 8196;58976;3149;3282;400889472;7627391 + 8197;58980;3149;3282;400889472;7627391 + 8198;58992;3149;3282;400889472;7627391 + 8199;58992;3149;3283;400889472;7686383 + 8200;59004;3149;3283;400889472;7686383 + 8201;59007;3157;3284;396157064;7291901 + 8202;59016;3157;3284;396157064;7291901 + 8203;59028;3157;3284;396157064;7291901 + 8204;59030;3160;3285;393848772;7180600 + 8205;59040;3160;3285;393848772;7180600 + 8206;59049;3160;3286;393848772;7239649 + 8207;59052;3160;3286;393848772;7239649 + 8208;59063;3160;3287;393848772;7298712 + 8209;59064;3160;3287;393848772;7298712 + 8210;59076;3160;3287;393848772;7298712 + 8211;59086;3160;3288;393848772;7357798 + 8212;59088;3160;3288;393848772;7357798 + 8213;59100;3160;3288;393848772;7357798 + 8214;59107;3160;3289;393848772;7416905 + 8215;59112;3160;3289;393848772;7416905 + 8216;59124;3160;3289;393848772;7416905 + 8217;59125;3168;3290;393356769;7021090 + 8218;59136;3168;3290;393356769;7021090 + 8219;59144;3168;3291;393356769;7080234 + 8220;59148;3168;3291;393356769;7080234 + 8221;59157;3168;3292;393356769;7139391 + 8222;59160;3168;3292;393356769;7139391 + 8223;59172;3168;3292;393356769;7139391 + 8224;59174;3168;3293;393356769;7198565 + 8225;59184;3168;3293;393356769;7198565 + 8226;59188;3168;3294;393356769;7257753 + 8227;59196;3168;3294;393356769;7257753 + 8228;59205;3168;3295;393356769;7316958 + 8229;59208;3168;3295;393356769;7316958 + 8230;59220;3168;3295;393356769;7316958 + 8231;59221;3168;3296;393356769;7376179 + 8232;59232;3168;3296;393356769;7376179 + 8233;59244;3168;3296;393356769;7376179 + 8234;59245;3168;3297;393356769;7435424 + 8235;59256;3168;3297;393356769;7435424 + 8236;59261;3168;3298;393356769;7494685 + 8237;59268;3168;3298;393356769;7494685 + 8238;59276;3168;3299;393356769;7553961 + 8239;59280;3168;3299;393356769;7553961 + 8240;59290;3168;3300;393356769;7613251 + 8241;59292;3168;3300;393356769;7613251 + 8242;59304;3168;3300;393356769;7613251 + 8243;59312;3168;3301;393356769;7672563 + 8244;59316;3168;3301;393356769;7672563 + 8245;59326;3168;3302;393356769;7731889 + 8246;59328;3168;3302;393356769;7731889 + 8247;59340;3168;3302;393356769;7731889 + 8248;59344;3168;3303;393356769;7791233 + 8249;59352;3168;3303;393356769;7791233 + 8250;59364;3168;3303;393356769;7791233 + 8251;59368;3168;3304;393356769;7850601 + 8252;59376;3168;3304;393356769;7850601 + 8253;59385;3168;3305;393356769;7909986 + 8254;59388;3168;3305;393356769;7909986 + 8255;59400;3168;3305;393356769;7909986 + 8256;59407;3176;3306;396925362;7513339 + 8257;59412;3176;3306;396925362;7513339 + 8258;59424;3176;3306;396925362;7513339 + 8259;59424;3176;3307;396925362;7572763 + 8260;59436;3176;3307;396925362;7572763 + 8261;59443;3176;3308;396925362;7632206 + 8262;59448;3176;3308;396925362;7632206 + 8263;59456;3176;3309;396925362;7691662 + 8264;59460;3176;3309;396925362;7691662 + 8265;59469;3182;3310;394637258;7408343 + 8266;59472;3182;3310;394637258;7408343 + 8267;59484;3182;3310;394637258;7408343 + 8268;59491;3182;3311;394637258;7467834 + 8269;59496;3182;3311;394637258;7467834 + 8270;59508;3182;3311;394637258;7467834 + 8271;59512;3182;3312;394637258;7527346 + 8272;59520;3182;3312;394637258;7527346 + 8273;59527;3182;3313;394637258;7586873 + 8274;59532;3182;3313;394637258;7586873 + 8275;59544;3182;3313;394637258;7586873 + 8276;59544;3182;3314;394637258;7646417 + 8277;59556;3182;3314;394637258;7646417 + 8278;59556;3182;3315;394637258;7705973 + 8279;59568;3182;3315;394637258;7705973 + 8280;59571;3182;3316;394637258;7765544 + 8281;59580;3182;3316;394637258;7765544 + 8282;59591;3182;3317;394637258;7825135 + 8283;59592;3182;3317;394637258;7825135 + 8284;59604;3182;3317;394637258;7825135 + 8285;59610;3182;3318;394637258;7884745 + 8286;59616;3182;3318;394637258;7884745 + 8287;59627;3182;3319;394637258;7944372 + 8288;59628;3182;3319;394637258;7944372 + 8289;59640;3182;3319;394637258;7944372 + 8290;59647;3192;3320;388664696;7431331 + 8291;59652;3192;3320;388664696;7431331 + 8292;59664;3192;3320;388664696;7431331 + 8293;59667;3198;3321;388555400;7146565 + 8294;59676;3198;3321;388555400;7146565 + 8295;59688;3198;3321;388555400;7146565 + 8296;59689;3198;3322;388555400;7206254 + 8297;59700;3198;3322;388555400;7206254 + 8298;59712;3198;3322;388555400;7206254 + 8299;59713;3198;3323;388555400;7265967 + 8300;59724;3198;3323;388555400;7265967 + 8301;59728;3198;3324;388555400;7325695 + 8302;59736;3198;3324;388555400;7325695 + 8303;59748;3198;3324;388555400;7325695 + 8304;59749;3198;3325;388555400;7385444 + 8305;59760;3198;3325;388555400;7385444 + 8306;59766;3198;3326;388555400;7445210 + 8307;59772;3198;3326;388555400;7445210 + 8308;59778;3198;3327;388555400;7504988 + 8309;59784;3198;3327;388555400;7504988 + 8310;59796;3198;3327;388555400;7504988 + 8311;59802;3198;3328;388555400;7564790 + 8312;59808;3198;3328;388555400;7564790 + 8313;59818;3198;3329;388555400;7624608 + 8314;59820;3198;3329;388555400;7624608 + 8315;59832;3198;3329;388555400;7624608 + 8316;59839;3198;3330;388555400;7684447 + 8317;59844;3198;3330;388555400;7684447 + 8318;59852;3198;3331;388555400;7744299 + 8319;59856;3198;3331;388555400;7744299 + 8320;59868;3198;3331;388555400;7744299 + 8321;59869;3198;3332;388555400;7804168 + 8322;59880;3198;3332;388555400;7804168 + 8323;59892;3198;3332;388555400;7804168 + 8324;59892;3198;3333;388555400;7864060 + 8325;59904;3198;3333;388555400;7864060 + 8326;59908;3198;3334;388555400;7923968 + 8327;59916;3198;3334;388555400;7923968 + 8328;59920;3210;3335;389491487;7293067 + 8329;59928;3210;3335;389491487;7293067 + 8330;59933;3210;3336;389491487;7353000 + 8331;59940;3210;3336;389491487;7353000 + 8332;59947;3210;3337;389491487;7412947 + 8333;59952;3210;3337;389491487;7412947 + 8334;59959;3210;3338;389491487;7472906 + 8335;59964;3210;3338;389491487;7472906 + 8336;59976;3210;3338;389491487;7472906 + 8337;59978;3210;3339;389491487;7532884 + 8338;59988;3210;3339;389491487;7532884 + 8339;59997;3210;3340;389491487;7592881 + 8340;60000;3210;3340;389491487;7592881 + 8341;60012;3210;3340;389491487;7592881 + 8342;60013;3210;3341;389491487;7652894 + 8343;60024;3210;3341;389491487;7652894 + 8344;60032;3210;3342;389491487;7712926 + 8345;60036;3210;3342;389491487;7712926 + 8346;60048;3210;3342;389491487;7712926 + 8347;60053;3210;3343;389491487;7772979 + 8348;60060;3210;3343;389491487;7772979 + 8349;60072;3210;3343;389491487;7772979 + 8350;60077;3210;3344;389491487;7833056 + 8351;60084;3218;3344;379554524;7371009 + 8352;60096;3218;3344;379554524;7371009 + 8353;60097;3218;3345;379554524;7431106 + 8354;60108;3218;3345;379554524;7431106 + 8355;60114;3218;3346;379554524;7491220 + 8356;60120;3218;3346;379554524;7491220 + 8357;60132;3218;3346;379554524;7491220 + 8358;60135;3218;3347;379554524;7551355 + 8359;60144;3218;3347;379554524;7551355 + 8360;60156;3218;3347;379554524;7551355 + 8361;60158;3218;3348;379554524;7611513 + 8362;60168;3218;3348;379554524;7611513 + 8363;60180;3218;3348;379554524;7611513 + 8364;60182;3218;3349;379554524;7671695 + 8365;60192;3218;3349;379554524;7671695 + 8366;60204;3218;3349;379554524;7671695 + 8367;60206;3218;3350;379554524;7731901 + 8368;60216;3218;3350;379554524;7731901 + 8369;60221;3218;3351;379554524;7792122 + 8370;60228;3218;3351;379554524;7792122 + 8371;60238;3218;3352;379554524;7852360 + 8372;60240;3218;3352;379554524;7852360 + 8373;60252;3218;3352;379554524;7852360 + 8374;60256;3218;3353;379554524;7912616 + 8375;60264;3218;3353;379554524;7912616 + 8376;60275;3218;3354;379554524;7972891 + 8377;60276;3218;3354;379554524;7972891 + 8378;60288;3218;3354;379554524;7972891 + 8379;60295;3228;3355;377850366;7454083 + 8380;60300;3228;3355;377850366;7454083 + 8381;60312;3229;3355;376389029;7396070 + 8382;60316;3229;3356;376389029;7456386 + 8383;60324;3229;3356;376389029;7456386 + 8384;60336;3229;3356;376389029;7456386 + 8385;60340;3229;3357;376389029;7516726 + 8386;60348;3229;3357;376389029;7516726 + 8387;60357;3229;3358;376389029;7577083 + 8388;60360;3229;3358;376389029;7577083 + 8389;60372;3229;3358;376389029;7577083 + 8390;60376;3229;3359;376389029;7637459 + 8391;60384;3229;3359;376389029;7637459 + 8392;60391;3229;3360;376389029;7697850 + 8393;60396;3229;3360;376389029;7697850 + 8394;60406;3229;3361;376389029;7758256 + 8395;60408;3229;3361;376389029;7758256 + 8396;60420;3229;3361;376389029;7758256 + 8397;60423;3229;3362;376389029;7818679 + 8398;60432;3229;3362;376389029;7818679 + 8399;60437;3229;3363;376389029;7879116 + 8400;60444;3229;3363;376389029;7879116 + 8401;60456;3229;3363;376389029;7879116 + 8402;60459;3229;3364;376389029;7939575 + 8403;60468;3229;3364;376389029;7939575 + 8404;60479;3229;3365;376389029;8000054 + 8405;60480;3229;3365;376389029;8000054 + 8406;60492;3229;3365;376389029;8000054 + 8407;60495;3239;3366;370102320;7479373 + 8408;60504;3239;3366;370102320;7479373 + 8409;60515;3240;3367;367153314;7481663 + 8410;60516;3240;3367;367153314;7481663 + 8411;60528;3240;3367;367153314;7481663 + 8412;60537;3240;3368;367153314;7542200 + 8413;60540;3240;3368;367153314;7542200 + 8414;60552;3240;3368;367153314;7542200 + 8415;60552;3240;3369;367153314;7602752 + 8416;60564;3240;3369;367153314;7602752 + 8417;60569;3240;3370;367153314;7663321 + 8418;60576;3240;3370;367153314;7663321 + 8419;60588;3240;3370;367153314;7663321 + 8420;60588;3240;3371;367153314;7723909 + 8421;60600;3240;3371;367153314;7723909 + 8422;60612;3240;3371;367153314;7723909 + 8423;60612;3240;3372;367153314;7784521 + 8424;60624;3240;3372;367153314;7784521 + 8425;60626;3243;3373;371864488;7670367 + 8426;60636;3243;3373;371864488;7670367 + 8427;60648;3250;3373;368705513;7261893 + 8428;60648;3250;3374;368705513;7322541 + 8429;60660;3250;3374;368705513;7322541 + 8430;60670;3250;3375;368705513;7383211 + 8431;60672;3250;3375;368705513;7383211 + 8432;60684;3250;3375;368705513;7383211 + 8433;60690;3250;3376;368705513;7443901 + 8434;60696;3250;3376;368705513;7443901 + 8435;60708;3250;3376;368705513;7443901 + 8436;60713;3253;3377;372306340;7329276 + 8437;60720;3253;3377;372306340;7329276 + 8438;60732;3253;3377;372306340;7329276 + 8439;60736;3253;3378;372306340;7390012 + 8440;60744;3253;3378;372306340;7390012 + 8441;60756;3253;3378;372306340;7390012 + 8442;60758;3255;3379;376071584;7333785 + 8443;60768;3255;3379;376071584;7333785 + 8444;60779;3255;3380;376071584;7394564 + 8445;60780;3255;3380;376071584;7394564 + 8446;60792;3255;3380;376071584;7394564 + 8447;60796;3255;3381;376071584;7455360 + 8448;60804;3255;3381;376071584;7455360 + 8449;60816;3255;3381;376071584;7455360 + 8450;60816;3255;3382;376071584;7516176 + 8451;60828;3255;3382;376071584;7516176 + 8452;60831;3255;3383;376071584;7577007 + 8453;60840;3255;3383;376071584;7577007 + 8454;60852;3265;3383;364170899;6990861 + 8455;60853;3268;3384;359096807;6875502 + 8456;60864;3268;3384;359096807;6875502 + 8457;60872;3268;3385;359096807;6936374 + 8458;60876;3268;3385;359096807;6936374 + 8459;60888;3268;3385;359096807;6936374 + 8460;60895;3268;3386;359096807;6997269 + 8461;60900;3268;3386;359096807;6997269 + 8462;60912;3268;3386;359096807;6997269 + 8463;60919;3268;3387;359096807;7058188 + 8464;60924;3268;3387;359096807;7058188 + 8465;60936;3268;3387;359096807;7058188 + 8466;60941;3269;3388;360164459;7060353 + 8467;60948;3269;3388;360164459;7060353 + 8468;60960;3269;3388;360164459;7060353 + 8469;60965;3269;3389;360164459;7121318 + 8470;60972;3269;3389;360164459;7121318 + 8471;60984;3269;3389;360164459;7121318 + 8472;60988;3269;3390;360164459;7182306 + 8473;60996;3269;3390;360164459;7182306 + 8474;61000;3269;3391;360164459;7243306 + 8475;61008;3269;3391;360164459;7243306 + 8476;61016;3269;3392;360164459;7304322 + 8477;61020;3269;3392;360164459;7304322 + 8478;61029;3269;3393;360164459;7365351 + 8479;61032;3269;3393;360164459;7365351 + 8480;61044;3269;3393;360164459;7365351 + 8481;61047;3269;3394;360164459;7426398 + 8482;61056;3269;3394;360164459;7426398 + 8483;61066;3269;3395;360164459;7487464 + 8484;61068;3269;3395;360164459;7487464 + 8485;61080;3269;3395;360164459;7487464 + 8486;61084;3273;3396;359647095;7313292 + 8487;61092;3273;3396;359647095;7313292 + 8488;61099;3273;3397;359647095;7374391 + 8489;61104;3273;3397;359647095;7374391 + 8490;61115;3273;3398;359647095;7435506 + 8491;61116;3273;3398;359647095;7435506 + 8492;61128;3273;3398;359647095;7435506 + 8493;61129;3273;3399;359647095;7496635 + 8494;61140;3273;3399;359647095;7496635 + 8495;61144;3273;3400;359647095;7557779 + 8496;61152;3273;3400;359647095;7557779 + 8497;61164;3273;3400;359647095;7557779 + 8498;61167;3273;3401;359647095;7618946 + 8499;61176;3273;3401;359647095;7618946 + 8500;61187;3273;3402;359647095;7680133 + 8501;61188;3273;3402;359647095;7680133 + 8502;61200;3273;3402;359647095;7680133 + 8503;61202;3273;3403;359647095;7741335 + 8504;61212;3273;3403;359647095;7741335 + 8505;61219;3273;3404;359647095;7802554 + 8506;61224;3273;3404;359647095;7802554 + 8507;61231;3273;3405;359647095;7863785 + 8508;61236;3273;3405;359647095;7863785 + 8509;61244;3273;3406;359647095;7925029 + 8510;61248;3273;3406;359647095;7925029 + 8511;61260;3273;3406;359647095;7925029 + 8512;61268;3273;3407;359647095;7986297 + 8513;61272;3273;3407;359647095;7986297 + 8514;61282;3278;3408;360445948;7753125 + 8515;61284;3278;3408;360445948;7753125 + 8516;61296;3278;3408;360445948;7753125 + 8517;61299;3278;3409;360445948;7814424 + 8518;61308;3278;3409;360445948;7814424 + 8519;61318;3278;3410;360445948;7875742 + 8520;61320;3278;3410;360445948;7875742 + 8521;61332;3278;3410;360445948;7875742 + 8522;61335;3278;3411;360445948;7937077 + 8523;61344;3278;3411;360445948;7937077 + 8524;61356;3278;3411;360445948;7937077 + 8525;61359;3278;3412;360445948;7998436 + 8526;61368;3278;3412;360445948;7998436 + 8527;61376;3278;3413;360445948;8059812 + 8528;61380;3278;3413;360445948;8059812 + 8529;61392;3278;3413;360445948;8059812 + 8530;61395;3278;3414;360445948;8121207 + 8531;61404;3278;3414;360445948;8121207 + 8532;61407;3288;3415;356792546;7592418 + 8533;61416;3294;3415;347570322;7237425 + 8534;61421;3294;3416;347570322;7298846 + 8535;61428;3294;3416;347570322;7298846 + 8536;61440;3294;3416;347570322;7298846 + 8537;61443;3294;3417;347570322;7360289 + 8538;61452;3294;3417;347570322;7360289 + 8539;61464;3294;3417;347570322;7360289 + 8540;61467;3294;3418;347570322;7421756 + 8541;61476;3294;3418;347570322;7421756 + 8542;61479;3294;3419;347570322;7483235 + 8543;61488;3294;3419;347570322;7483235 + 8544;61500;3294;3419;347570322;7483235 + 8545;61501;3294;3420;347570322;7544736 + 8546;61512;3294;3420;347570322;7544736 + 8547;61522;3298;3421;348418558;7369255 + 8548;61524;3298;3421;348418558;7369255 + 8549;61536;3298;3421;348418558;7369255 + 8550;61545;3298;3422;348418558;7430800 + 8551;61548;3298;3422;348418558;7430800 + 8552;61560;3298;3422;348418558;7430800 + 8553;61560;3298;3423;348418558;7492360 + 8554;61572;3298;3423;348418558;7492360 + 8555;61573;3298;3424;348418558;7553933 + 8556;61584;3298;3424;348418558;7553933 + 8557;61589;3298;3425;348418558;7615522 + 8558;61596;3298;3425;348418558;7615522 + 8559;61608;3298;3425;348418558;7615522 + 8560;61609;3298;3426;348418558;7677131 + 8561;61620;3298;3426;348418558;7677131 + 8562;61621;3298;3427;348418558;7738752 + 8563;61632;3298;3427;348418558;7738752 + 8564;61635;3298;3428;348418558;7800387 + 8565;61644;3298;3428;348418558;7800387 + 8566;61656;3298;3428;348418558;7800387 + 8567;61658;3298;3429;348418558;7862045 + 8568;61668;3298;3429;348418558;7862045 + 8569;61676;3298;3430;348418558;7923721 + 8570;61680;3298;3430;348418558;7923721 + 8571;61692;3298;3430;348418558;7923721 + 8572;61693;3302;3431;345685537;7748142 + 8573;61704;3302;3431;345685537;7748142 + 8574;61712;3302;3432;345685537;7809854 + 8575;61716;3302;3432;345685537;7809854 + 8576;61726;3302;3433;345685537;7871580 + 8577;61728;3302;3433;345685537;7871580 + 8578;61740;3302;3433;345685537;7871580 + 8579;61748;3302;3434;345685537;7933328 + 8580;61752;3302;3434;345685537;7933328 + 8581;61764;3302;3434;345685537;7933328 + 8582;61768;3308;3435;346810842;7638613 + 8583;61776;3308;3435;346810842;7638613 + 8584;61788;3308;3435;346810842;7638613 + 8585;61790;3308;3436;346810842;7700403 + 8586;61800;3308;3436;346810842;7700403 + 8587;61812;3308;3436;346810842;7700403 + 8588;61812;3308;3437;346810842;7762215 + 8589;61824;3308;3437;346810842;7762215 + 8590;61824;3308;3438;346810842;7824039 + 8591;61836;3308;3438;346810842;7824039 + 8592;61848;3308;3438;346810842;7824039 + 8593;61848;3308;3439;346810842;7885887 + 8594;61860;3308;3439;346810842;7885887 + 8595;61872;3308;3439;346810842;7885887 + 8596;61872;3308;3440;346810842;7947759 + 8597;61884;3317;3440;344337837;7411888 + 8598;61884;3317;3441;344337837;7473772 + 8599;61896;3317;3441;344337837;7473772 + 8600;61908;3317;3441;344337837;7473772 + 8601;61908;3317;3442;344337837;7535680 + 8602;61920;3317;3442;344337837;7535680 + 8603;61931;3317;3443;344337837;7597611 + 8604;61932;3317;3443;344337837;7597611 + 8605;61944;3317;3443;344337837;7597611 + 8606;61946;3317;3444;344337837;7659557 + 8607;61956;3317;3444;344337837;7659557 + 8608;61958;3317;3445;344337837;7721515 + 8609;61968;3317;3445;344337837;7721515 + 8610;61980;3317;3445;344337837;7721515 + 8611;61981;3317;3446;344337837;7783496 + 8612;61992;3317;3446;344337837;7783496 + 8613;62003;3317;3447;344337837;7845499 + 8614;62004;3317;3447;344337837;7845499 + 8615;62016;3317;3447;344337837;7845499 + 8616;62025;3325;3448;336634664;7429938 + 8617;62028;3325;3448;336634664;7429938 + 8618;62040;3325;3448;336634664;7429938 + 8619;62044;3325;3449;336634664;7491982 + 8620;62052;3325;3449;336634664;7491982 + 8621;62064;3325;3449;336634664;7491982 + 8622;62066;3325;3450;336634664;7554048 + 8623;62076;3332;3450;336014566;7135198 + 8624;62086;3332;3451;336014566;7197284 + 8625;62088;3332;3451;336014566;7197284 + 8626;62100;3332;3451;336014566;7197284 + 8627;62101;3332;3452;336014566;7259385 + 8628;62112;3332;3452;336014566;7259385 + 8629;62121;3332;3453;336014566;7321506 + 8630;62124;3332;3453;336014566;7321506 + 8631;62136;3332;3453;336014566;7321506 + 8632;62143;3332;3454;336014566;7383649 + 8633;62148;3332;3454;336014566;7383649 + 8634;62160;3332;3454;336014566;7383649 + 8635;62167;3332;3455;336014566;7445816 + 8636;62172;3332;3455;336014566;7445816 + 8637;62182;3332;3456;336014566;7507998 + 8638;62184;3332;3456;336014566;7507998 + 8639;62196;3332;3456;336014566;7507998 + 8640;62205;3332;3457;336014566;7570203 + 8641;62208;3332;3457;336014566;7570203 + 8642;62220;3332;3457;336014566;7570203 + 8643;62229;3332;3458;336014566;7632432 + 8644;62232;3332;3458;336014566;7632432 + 8645;62244;3332;3458;336014566;7632432 + 8646;62244;3332;3459;336014566;7694676 + 8647;62256;3332;3459;336014566;7694676 + 8648;62256;3340;3460;329062683;7277277 + 8649;62268;3340;3460;329062683;7277277 + 8650;62268;3340;3461;329062683;7339545 + 8651;62280;3340;3461;329062683;7339545 + 8652;62291;3340;3462;329062683;7401836 + 8653;62292;3340;3462;329062683;7401836 + 8654;62304;3340;3462;329062683;7401836 + 8655;62311;3340;3463;329062683;7464147 + 8656;62316;3340;3463;329062683;7464147 + 8657;62326;3340;3464;329062683;7526473 + 8658;62328;3340;3464;329062683;7526473 + 8659;62340;3340;3464;329062683;7526473 + 8660;62344;3340;3465;329062683;7588817 + 8661;62352;3340;3465;329062683;7588817 + 8662;62364;3340;3465;329062683;7588817 + 8663;62365;3340;3466;329062683;7651182 + 8664;62376;3340;3466;329062683;7651182 + 8665;62380;3340;3467;329062683;7713562 + 8666;62388;3340;3467;329062683;7713562 + 8667;62392;3340;3468;329062683;7775954 + 8668;62400;3340;3468;329062683;7775954 + 8669;62408;3340;3469;329062683;7838362 + 8670;62412;3340;3469;329062683;7838362 + 8671;62424;3340;3469;329062683;7838362 + 8672;62430;3340;3470;329062683;7900792 + 8673;62436;3340;3470;329062683;7900792 + 8674;62448;3340;3470;329062683;7900792 + 8675;62448;3340;3471;329062683;7963240 + 8676;62460;3340;3471;329062683;7963240 + 8677;62469;3340;3472;329062683;8025709 + 8678;62472;3340;3472;329062683;8025709 + 8679;62483;3340;3473;329062683;8088192 + 8680;62484;3340;3473;329062683;8088192 + 8681;62496;3340;3473;329062683;8088192 + 8682;62502;3341;3474;333170546;8090662 + 8683;62508;3341;3474;333170546;8090662 + 8684;62520;3341;3474;333170546;8090662 + 8685;62523;3343;3475;337171603;8033055 + 8686;62532;3343;3475;337171603;8033055 + 8687;62539;3343;3476;337171603;8095594 + 8688;62544;3343;3476;337171603;8095594 + 8689;62556;3343;3476;337171603;8095594 + 8690;62558;3353;3477;339582530;7556270 + 8691;62568;3356;3477;335427054;7375319 + 8692;62580;3356;3477;335427054;7375319 + 8693;62582;3356;3478;335427054;7437901 + 8694;62592;3356;3478;335427054;7437901 + 8695;62598;3356;3479;335427054;7500499 + 8696;62604;3356;3479;335427054;7500499 + 8697;62616;3356;3479;335427054;7500499 + 8698;62621;3356;3480;335427054;7563120 + 8699;62628;3356;3480;335427054;7563120 + 8700;62636;3356;3481;335427054;7625756 + 8701;62640;3356;3481;335427054;7625756 + 8702;62652;3356;3481;335427054;7625756 + 8703;62660;3356;3482;335427054;7688416 + 8704;62664;3356;3482;335427054;7688416 + 8705;62676;3356;3482;335427054;7688416 + 8706;62676;3356;3483;335427054;7751092 + 8707;62688;3356;3483;335427054;7751092 + 8708;62698;3356;3484;335427054;7813790 + 8709;62700;3356;3484;335427054;7813790 + 8710;62712;3356;3484;335427054;7813790 + 8711;62714;3356;3485;335427054;7876504 + 8712;62724;3356;3485;335427054;7876504 + 8713;62736;3356;3485;335427054;7876504 + 8714;62736;3356;3486;335427054;7939240 + 8715;62748;3356;3486;335427054;7939240 + 8716;62756;3356;3487;335427054;8001996 + 8717;62760;3356;3487;335427054;8001996 + 8718;62772;3356;3487;335427054;8001996 + 8719;62777;3365;3488;342995391;7520950 + 8720;62784;3365;3488;342995391;7520950 + 8721;62789;3365;3489;342995391;7583739 + 8722;62796;3365;3489;342995391;7583739 + 8723;62808;3365;3489;342995391;7583739 + 8724;62811;3368;3490;342245908;7464946 + 8725;62820;3368;3490;342245908;7464946 + 8726;62832;3368;3490;342245908;7464946 + 8727;62834;3368;3491;342245908;7527780 + 8728;62844;3368;3491;342245908;7527780 + 8729;62848;3368;3492;342245908;7590628 + 8730;62856;3368;3492;342245908;7590628 + 8731;62868;3368;3492;342245908;7590628 + 8732;62870;3368;3493;342245908;7653498 + 8733;62880;3368;3493;342245908;7653498 + 8734;62890;3368;3494;342245908;7716388 + 8735;62892;3368;3494;342245908;7716388 + 8736;62904;3368;3494;342245908;7716388 + 8737;62906;3371;3495;342427775;7597525 + 8738;62916;3371;3495;342427775;7597525 + 8739;62928;3371;3495;342427775;7597525 + 8740;62930;3371;3496;342427775;7660455 + 8741;62940;3371;3496;342427775;7660455 + 8742;62942;3371;3497;342427775;7723397 + 8743;62952;3371;3497;342427775;7723397 + 8744;62959;3371;3498;342427775;7786356 + 8745;62964;3371;3498;342427775;7786356 + 8746;62975;3371;3499;342427775;7849331 + 8747;62976;3371;3499;342427775;7849331 + 8748;62988;3371;3499;342427775;7849331 + 8749;62990;3371;3500;342427775;7912321 + 8750;63000;3371;3500;342427775;7912321 + 8751;63010;3371;3501;342427775;7975331 + 8752;63012;3371;3501;342427775;7975331 + 8753;63024;3371;3501;342427775;7975331 + 8754;63027;3371;3502;342427775;8038358 + 8755;63036;3371;3502;342427775;8038358 + 8756;63048;3371;3502;342427775;8038358 + 8757;63049;3371;3503;342427775;8101407 + 8758;63060;3371;3503;342427775;8101407 + 8759;63070;3371;3504;342427775;8164477 + 8760;63072;3371;3504;342427775;8164477 + 8761;63084;3378;3504;346280195;7739636 + 8762;63085;3378;3505;346280195;7802721 + 8763;63096;3378;3505;346280195;7802721 + 8764;63098;3378;3506;346280195;7865819 + 8765;63108;3378;3506;346280195;7865819 + 8766;63120;3378;3506;346280195;7865819 + 8767;63122;3378;3507;346280195;7928941 + 8768;63132;3378;3507;346280195;7928941 + 8769;63142;3378;3508;346280195;7992083 + 8770;63144;3378;3508;346280195;7992083 + 8771;63156;3378;3508;346280195;7992083 + 8772;63156;3378;3509;346280195;8055239 + 8773;63168;3378;3509;346280195;8055239 + 8774;63173;3382;3510;350504400;7875190 + 8775;63180;3382;3510;350504400;7875190 + 8776;63192;3382;3510;350504400;7875190 + 8777;63193;3382;3511;350504400;7938383 + 8778;63204;3382;3511;350504400;7938383 + 8779;63215;3382;3512;350504400;8001598 + 8780;63216;3382;3512;350504400;8001598 + 8781;63228;3382;3512;350504400;8001598 + 8782;63231;3384;3513;350745454;7943104 + 8783;63240;3384;3513;350745454;7943104 + 8784;63252;3384;3513;350745454;7943104 + 8785;63254;3384;3514;350745454;8006358 + 8786;63264;3384;3514;350745454;8006358 + 8787;63267;3384;3515;350745454;8069625 + 8788;63276;3384;3515;350745454;8069625 + 8789;63286;3384;3516;350745454;8132911 + 8790;63288;3384;3516;350745454;8132911 + 8791;63300;3384;3516;350745454;8132911 + 8792;63304;3384;3517;350745454;8196215 + 8793;63312;3384;3517;350745454;8196215 + 8794;63324;3384;3517;350745454;8196215 + 8795;63328;3394;3518;357015611;7649677 + 8796;63336;3394;3518;357015611;7649677 + 8797;63345;3394;3519;357015611;7713022 + 8798;63348;3394;3519;357015611;7713022 + 8799;63360;3394;3519;357015611;7713022 + 8800;63363;3394;3520;357015611;7776385 + 8801;63372;3394;3520;357015611;7776385 + 8802;63384;3394;3520;357015611;7776385 + 8803;63386;3394;3521;357015611;7839771 + 8804;63396;3394;3521;357015611;7839771 + 8805;63403;3394;3522;357015611;7903174 + 8806;63408;3394;3522;357015611;7903174 + 8807;63419;3404;3523;354691451;7355016 + 8808;63420;3404;3523;354691451;7355016 + 8809;63432;3404;3523;354691451;7355016 + 8810;63437;3404;3524;354691451;7418453 + 8811;63444;3404;3524;354691451;7418453 + 8812;63456;3404;3524;354691451;7418453 + 8813;63461;3404;3525;354691451;7481914 + 8814;63468;3404;3525;354691451;7481914 + 8815;63480;3404;3525;354691451;7481914 + 8816;63484;3404;3526;354691451;7545398 + 8817;63492;3404;3526;354691451;7545398 + 8818;63500;3404;3527;354691451;7608898 + 8819;63504;3404;3527;354691451;7608898 + 8820;63516;3404;3527;354691451;7608898 + 8821;63521;3404;3528;354691451;7672419 + 8822;63528;3404;3528;354691451;7672419 + 8823;63540;3404;3528;354691451;7672419 + 8824;63544;3404;3529;354691451;7735963 + 8825;63552;3404;3529;354691451;7735963 + 8826;63559;3404;3530;354691451;7799522 + 8827;63564;3404;3530;354691451;7799522 + 8828;63576;3404;3530;354691451;7799522 + 8829;63583;3404;3531;354691451;7863105 + 8830;63588;3404;3531;354691451;7863105 + 8831;63600;3404;3531;354691451;7863105 + 8832;63605;3404;3532;354691451;7926710 + 8833;63612;3404;3532;354691451;7926710 + 8834;63620;3404;3533;354691451;7990330 + 8835;63624;3404;3533;354691451;7990330 + 8836;63636;3404;3533;354691451;7990330 + 8837;63636;3404;3534;354691451;8053966 + 8838;63648;3404;3534;354691451;8053966 + 8839;63658;3404;3535;354691451;8117624 + 8840;63660;3404;3535;354691451;8117624 + 8841;63672;3404;3535;354691451;8117624 + 8842;63673;3408;3536;353132030;7936204 + 8843;63684;3408;3536;353132030;7936204 + 8844;63687;3408;3537;353132030;7999891 + 8845;63696;3408;3537;353132030;7999891 + 8846;63708;3408;3537;353132030;7999891 + 8847;63709;3408;3538;353132030;8063600 + 8848;63720;3408;3538;353132030;8063600 + 8849;63726;3408;3539;353132030;8127326 + 8850;63732;3408;3539;353132030;8127326 + 8851;63739;3408;3540;353132030;8191065 + 8852;63744;3408;3540;353132030;8191065 + 8853;63756;3408;3540;353132030;8191065 + 8854;63762;3408;3541;353132030;8254827 + 8855;63768;3408;3541;353132030;8254827 + 8856;63774;3408;3542;353132030;8318601 + 8857;63780;3408;3542;353132030;8318601 + 8858;63788;3419;3543;360930623;7706888 + 8859;63792;3419;3543;360930623;7706888 + 8860;63804;3419;3543;360930623;7706888 + 8861;63804;3419;3544;360930623;7770692 + 8862;63816;3419;3544;360930623;7770692 + 8863;63818;3419;3545;360930623;7834510 + 8864;63828;3419;3545;360930623;7834510 + 8865;63837;3419;3546;360930623;7898347 + 8866;63840;3419;3546;360930623;7898347 + 8867;63852;3419;3546;360930623;7898347 + 8868;63857;3419;3547;360930623;7962204 + 8869;63864;3419;3547;360930623;7962204 + 8870;63876;3419;3547;360930623;7962204 + 8871;63879;3419;3548;360930623;8026083 + 8872;63888;3419;3548;360930623;8026083 + 8873;63892;3419;3549;360930623;8089975 + 8874;63900;3419;3549;360930623;8089975 + 8875;63912;3419;3549;360930623;8089975 + 8876;63914;3419;3550;360930623;8153889 + 8877;63924;3419;3550;360930623;8153889 + 8878;63931;3419;3551;360930623;8217820 + 8879;63936;3419;3551;360930623;8217820 + 8880;63948;3419;3551;360930623;8217820 + 8881;63955;3419;3552;360930623;8281775 + 8882;63960;3419;3552;360930623;8281775 + 8883;63969;3419;3553;360930623;8345744 + 8884;63972;3419;3553;360930623;8345744 + 8885;63984;3419;3553;360930623;8345744 + 8886;63993;3429;3554;357707999;7793749 + 8887;63996;3429;3554;357707999;7793749 + 8888;64008;3431;3554;358166606;7670344 + 8889;64010;3431;3555;358166606;7734354 + 8890;64020;3431;3555;358166606;7734354 + 8891;64032;3431;3555;358166606;7734354 + 8892;64033;3431;3556;358166606;7798387 + 8893;64044;3431;3556;358166606;7798387 + 8894;64051;3431;3557;358166606;7862438 + 8895;64056;3431;3557;358166606;7862438 + 8896;64068;3431;3557;358166606;7862438 + 8897;64073;3431;3558;358166606;7926511 + 8898;64080;3431;3558;358166606;7926511 + 8899;64091;3431;3559;358166606;7990602 + 8900;64092;3431;3559;358166606;7990602 + 8901;64104;3431;3559;358166606;7990602 + 8902;64107;3431;3560;358166606;8054709 + 8903;64116;3431;3560;358166606;8054709 + 8904;64127;3431;3561;358166606;8118836 + 8905;64128;3431;3561;358166606;8118836 + 8906;64140;3431;3561;358166606;8118836 + 8907;64141;3431;3562;358166606;8182977 + 8908;64152;3431;3562;358166606;8182977 + 8909;64160;3431;3563;358166606;8247137 + 8910;64164;3431;3563;358166606;8247137 + 8911;64176;3431;3563;358166606;8247137 + 8912;64178;3432;3564;362388561;8249589 + 8913;64188;3432;3564;362388561;8249589 + 8914;64190;3433;3565;366740498;8252031 + 8915;64200;3433;3565;366740498;8252031 + 8916;64212;3433;3565;366740498;8252031 + 8917;64213;3433;3566;366740498;8316244 + 8918;64224;3433;3566;366740498;8316244 + 8919;64236;3433;3566;366740498;8316244 + 8920;64237;3443;3567;364489688;7761898 + 8921;64248;3447;3567;366476998;7513931 + 8922;64250;3447;3568;366476998;7578181 + 8923;64260;3447;3568;366476998;7578181 + 8924;64266;3447;3569;366476998;7642447 + 8925;64272;3447;3569;366476998;7642447 + 8926;64283;3447;3570;366476998;7706730 + 8927;64284;3447;3570;366476998;7706730 + 8928;64296;3447;3570;366476998;7706730 + 8929;64298;3447;3571;366476998;7771028 + 8930;64308;3447;3571;366476998;7771028 + 8931;64312;3447;3572;366476998;7835340 + 8932;64320;3447;3572;366476998;7835340 + 8933;64332;3447;3572;366476998;7835340 + 8934;64334;3447;3573;366476998;7899674 + 8935;64344;3447;3573;366476998;7899674 + 8936;64350;3447;3574;366476998;7964024 + 8937;64356;3447;3574;366476998;7964024 + 8938;64362;3447;3575;366476998;8028386 + 8939;64368;3447;3575;366476998;8028386 + 8940;64380;3447;3575;366476998;8028386 + 8941;64384;3447;3576;366476998;8092770 + 8942;64392;3447;3576;366476998;8092770 + 8943;64404;3447;3576;366476998;8092770 + 8944;64408;3447;3577;366476998;8157178 + 8945;64416;3447;3577;366476998;8157178 + 8946;64425;3447;3578;366476998;8221603 + 8947;64428;3447;3578;366476998;8221603 + 8948;64440;3447;3578;366476998;8221603 + 8949;64440;3447;3579;366476998;8286043 + 8950;64452;3447;3579;366476998;8286043 + 8951;64457;3451;3580;362309297;8102203 + 8952;64464;3451;3580;362309297;8102203 + 8953;64476;3451;3580;362309297;8102203 + 8954;64477;3451;3581;362309297;8166680 + 8955;64488;3451;3581;362309297;8166680 + 8956;64500;3451;3581;362309297;8166680 + 8957;64500;3451;3582;362309297;8231180 + 8958;64512;3451;3582;362309297;8231180 + 8959;64524;3454;3582;364387189;8044749 + 8960;64524;3454;3583;364387189;8109273 + 8961;64536;3454;3583;364387189;8109273 + 8962;64536;3454;3584;364387189;8173809 + 8963;64548;3454;3584;364387189;8173809 + 8964;64555;3454;3585;364387189;8238364 + 8965;64560;3454;3585;364387189;8238364 + 8966;64572;3454;3585;364387189;8238364 + 8967;64575;3454;3586;364387189;8302939 + 8968;64584;3454;3586;364387189;8302939 + 8969;64596;3454;3586;364387189;8302939 + 8970;64596;3464;3587;364512469;7744879 + 8971;64608;3464;3587;364512469;7744879 + 8972;64612;3464;3588;364512469;7809491 + 8973;64620;3464;3588;364512469;7809491 + 8974;64626;3464;3589;364512469;7874117 + 8975;64632;3464;3589;364512469;7874117 + 8976;64644;3464;3589;364512469;7874117 + 8977;64647;3464;3590;364512469;7938764 + 8978;64656;3464;3590;364512469;7938764 + 8979;64660;3464;3591;364512469;8003424 + 8980;64668;3464;3591;364512469;8003424 + 8981;64677;3464;3592;364512469;8068101 + 8982;64680;3464;3592;364512469;8068101 + 8983;64692;3464;3592;364512469;8068101 + 8984;64700;3464;3593;364512469;8132801 + 8985;64704;3464;3593;364512469;8132801 + 8986;64716;3464;3593;364512469;8132801 + 8987;64717;3464;3594;364512469;8197518 + 8988;64728;3464;3594;364512469;8197518 + 8989;64738;3464;3595;364512469;8262256 + 8990;64740;3464;3595;364512469;8262256 + 8991;64752;3464;3595;364512469;8262256 + 8992;64759;3464;3596;364512469;8327015 + 8993;64764;3464;3596;364512469;8327015 + 8994;64776;3464;3596;364512469;8327015 + 8995;64777;3464;3597;364512469;8391792 + 8996;64788;3464;3597;364512469;8391792 + 8997;64800;3464;3597;364512469;8391792 + 8998;64801;3464;3598;364512469;8456593 + 8999;64812;3464;3598;364512469;8456593 + 9000;64820;3472;3599;370391576;8022038 + 9001;64824;3472;3599;370391576;8022038 + 9002;64834;3472;3600;370391576;8086872 + 9003;64836;3472;3600;370391576;8086872 + 9004;64848;3472;3600;370391576;8086872 + 9005;64850;3472;3601;370391576;8151722 + 9006;64860;3472;3601;370391576;8151722 + 9007;64865;3472;3602;370391576;8216587 + 9008;64872;3472;3602;370391576;8216587 + 9009;64879;3472;3603;370391576;8281466 + 9010;64884;3472;3603;370391576;8281466 + 9011;64896;3472;3603;370391576;8281466 + 9012;64897;3472;3604;370391576;8346363 + 9013;64908;3472;3604;370391576;8346363 + 9014;64909;3472;3605;370391576;8411272 + 9015;64920;3472;3605;370391576;8411272 + 9016;64932;3472;3605;370391576;8411272 + 9017;64933;3472;3606;370391576;8476205 + 9018;64944;3472;3606;370391576;8476205 + 9019;64956;3472;3606;370391576;8476205 + 9020;64956;3475;3607;377295805;8353597 + 9021;64968;3475;3607;377295805;8353597 + 9022;64971;3475;3608;377295805;8418568 + 9023;64980;3475;3608;377295805;8418568 + 9024;64988;3475;3609;377295805;8483556 + 9025;64992;3475;3609;377295805;8483556 + 9026;65004;3475;3609;377295805;8483556 + 9027;65004;3475;3610;377295805;8548560 + 9028;65016;3475;3610;377295805;8548560 + 9029;65020;3482;3611;375848358;8175249 + 9030;65028;3482;3611;375848358;8175249 + 9031;65037;3491;3612;364626397;7675323 + 9032;65040;3491;3612;364626397;7675323 + 9033;65052;3491;3612;364626397;7675323 + 9034;65056;3491;3613;364626397;7740379 + 9035;65064;3491;3613;364626397;7740379 + 9036;65076;3491;3613;364626397;7740379 + 9037;65077;3491;3614;364626397;7805456 + 9038;65088;3491;3614;364626397;7805456 + 9039;65097;3491;3615;364626397;7870553 + 9040;65100;3491;3615;364626397;7870553 + 9041;65109;3491;3616;364626397;7935662 + 9042;65112;3491;3616;364626397;7935662 + 9043;65123;3497;3617;357842165;7623288 + 9044;65124;3497;3617;357842165;7623288 + 9045;65136;3497;3617;357842165;7623288 + 9046;65144;3497;3618;357842165;7688432 + 9047;65148;3497;3618;357842165;7688432 + 9048;65160;3497;3618;357842165;7688432 + 9049;65166;3497;3619;357842165;7753598 + 9050;65172;3497;3619;357842165;7753598 + 9051;65179;3497;3620;357842165;7818777 + 9052;65184;3497;3620;357842165;7818777 + 9053;65192;3497;3621;357842165;7883969 + 9054;65196;3497;3621;357842165;7883969 + 9055;65208;3497;3621;357842165;7883969 + 9056;65215;3497;3622;357842165;7949184 + 9057;65220;3497;3622;357842165;7949184 + 9058;65232;3497;3622;357842165;7949184 + 9059;65234;3497;3623;357842165;8014418 + 9060;65244;3497;3623;357842165;8014418 + 9061;65254;3497;3624;357842165;8079672 + 9062;65256;3497;3624;357842165;8079672 + 9063;65268;3497;3624;357842165;8079672 + 9064;65274;3497;3625;357842165;8144946 + 9065;65280;3497;3625;357842165;8144946 + 9066;65291;3497;3626;357842165;8210237 + 9067;65292;3497;3626;357842165;8210237 + 9068;65304;3497;3626;357842165;8210237 + 9069;65312;3497;3627;357842165;8275549 + 9070;65316;3497;3627;357842165;8275549 + 9071;65328;3497;3627;357842165;8275549 + 9072;65331;3497;3628;357842165;8340880 + 9073;65340;3497;3628;357842165;8340880 + 9074;65351;3497;3629;357842165;8406231 + 9075;65352;3497;3629;357842165;8406231 + 9076;65364;3497;3629;357842165;8406231 + 9077;65372;3497;3630;357842165;8471603 + 9078;65376;3497;3630;357842165;8471603 + 9079;65388;3497;3630;357842165;8471603 + 9080;65395;3497;3631;357842165;8536998 + 9081;65400;3497;3631;357842165;8536998 + 9082;65412;3497;3631;357842165;8536998 + 9083;65416;3497;3632;357842165;8602414 + 9084;65424;3497;3632;357842165;8602414 + 9085;65431;3497;3633;357842165;8667845 + 9086;65436;3497;3633;357842165;8667845 + 9087;65444;3504;3634;361630604;8292083 + 9088;65448;3504;3634;361630604;8292083 + 9089;65460;3504;3634;361630604;8292083 + 9090;65462;3504;3635;361630604;8357545 + 9091;65472;3504;3635;361630604;8357545 + 9092;65481;3504;3636;361630604;8423026 + 9093;65484;3504;3636;361630604;8423026 + 9094;65493;3513;3637;352107230;7919935 + 9095;65496;3513;3637;352107230;7919935 + 9096;65508;3513;3637;352107230;7919935 + 9097;65509;3513;3638;352107230;7985444 + 9098;65520;3513;3638;352107230;7985444 + 9099;65529;3513;3639;352107230;8050973 + 9100;65532;3513;3639;352107230;8050973 + 9101;65544;3513;3639;352107230;8050973 + 9102;65551;3520;3640;350877008;7673245 + 9103;65556;3520;3640;350877008;7673245 + 9104;65568;3521;3640;351854243;7609842 + 9105;65573;3521;3641;351854243;7675415 + 9106;65580;3521;3641;351854243;7675415 + 9107;65592;3521;3641;351854243;7675415 + 9108;65595;3521;3642;351854243;7741010 + 9109;65604;3521;3642;351854243;7741010 + 9110;65612;3521;3643;351854243;7806622 + 9111;65616;3521;3643;351854243;7806622 + 9112;65628;3521;3643;351854243;7806622 + 9113;65635;3521;3644;351854243;7872257 + 9114;65640;3521;3644;351854243;7872257 + 9115;65652;3521;3644;351854243;7872257 + 9116;65656;3521;3645;351854243;7937913 + 9117;65664;3521;3645;351854243;7937913 + 9118;65676;3521;3645;351854243;7937913 + 9119;65676;3521;3646;351854243;8003589 + 9120;65688;3521;3646;351854243;8003589 + 9121;65690;3521;3647;351854243;8069279 + 9122;65700;3521;3647;351854243;8069279 + 9123;65712;3521;3647;351854243;8069279 + 9124;65712;3521;3648;351854243;8134991 + 9125;65724;3521;3648;351854243;8134991 + 9126;65724;3521;3649;351854243;8200715 + 9127;65736;3521;3649;351854243;8200715 + 9128;65743;3521;3650;351854243;8266458 + 9129;65748;3521;3650;351854243;8266458 + 9130;65755;3521;3651;351854243;8332213 + 9131;65760;3521;3651;351854243;8332213 + 9132;65772;3522;3651;354913202;8268794 + 9133;65779;3522;3652;354913202;8334573 + 9134;65784;3522;3652;354913202;8334573 + 9135;65791;3522;3653;354913202;8400364 + 9136;65796;3522;3653;354913202;8400364 + 9137;65808;3522;3653;354913202;8400364 + 9138;65811;3522;3654;354913202;8466175 + 9139;65820;3522;3654;354913202;8466175 + 9140;65832;3522;3654;354913202;8466175 + 9141;65835;3522;3655;354913202;8532010 + 9142;65844;3522;3655;354913202;8532010 + 9143;65848;3522;3656;354913202;8597858 + 9144;65856;3522;3656;354913202;8597858 + 9145;65868;3522;3656;354913202;8597858 + 9146;65869;3522;3657;354913202;8663727 + 9147;65880;3522;3657;354913202;8663727 + 9148;65882;3522;3658;354913202;8729609 + 9149;65892;3522;3658;354913202;8729609 + 9150;65902;3527;3659;358233769;8478108 + 9151;65904;3527;3659;358233769;8478108 + 9152;65915;3527;3660;358233769;8544023 + 9153;65916;3527;3660;358233769;8544023 + 9154;65928;3527;3660;358233769;8544023 + 9155;65937;3530;3661;365014018;8419274 + 9156;65940;3530;3661;365014018;8419274 + 9157;65952;3530;3661;365014018;8419274 + 9158;65952;3530;3662;365014018;8485226 + 9159;65964;3530;3662;365014018;8485226 + 9160;65970;3530;3663;365014018;8551196 + 9161;65976;3539;3663;366454094;7978143 + 9162;65988;3539;3663;366454094;7978143 + 9163;65994;3539;3664;366454094;8044137 + 9164;66000;3539;3664;366454094;8044137 + 9165;66012;3539;3664;366454094;8044137 + 9166;66012;3539;3665;366454094;8110149 + 9167;66024;3539;3665;366454094;8110149 + 9168;66028;3539;3666;366454094;8176177 + 9169;66036;3539;3666;366454094;8176177 + 9170;66044;3542;3667;364535252;8050897 + 9171;66048;3542;3667;364535252;8050897 + 9172;66060;3542;3667;364535252;8050897 + 9173;66065;3542;3668;364535252;8116962 + 9174;66072;3542;3668;364535252;8116962 + 9175;66082;3542;3669;364535252;8183044 + 9176;66084;3542;3669;364535252;8183044 + 9177;66096;3542;3669;364535252;8183044 + 9178;66100;3542;3670;364535252;8249144 + 9179;66108;3542;3670;364535252;8249144 + 9180;66118;3542;3671;364535252;8315262 + 9181;66120;3542;3671;364535252;8315262 + 9182;66130;3542;3672;364535252;8381392 + 9183;66132;3542;3672;364535252;8381392 + 9184;66144;3542;3672;364535252;8381392 + 9185;66149;3542;3673;364535252;8447541 + 9186;66156;3542;3673;364535252;8447541 + 9187;66161;3542;3674;364535252;8513702 + 9188;66168;3542;3674;364535252;8513702 + 9189;66176;3542;3675;364535252;8579878 + 9190;66180;3542;3675;364535252;8579878 + 9191;66191;3542;3676;364535252;8646069 + 9192;66192;3542;3676;364535252;8646069 + 9193;66204;3542;3676;364535252;8646069 + 9194;66214;3542;3677;364535252;8712283 + 9195;66216;3542;3677;364535252;8712283 + 9196;66228;3542;3677;364535252;8712283 + 9197;66238;3549;3678;380421371;8331520 + 9198;66240;3549;3678;380421371;8331520 + 9199;66252;3549;3678;380421371;8331520 + 9200;66259;3549;3679;380421371;8397779 + 9201;66264;3549;3679;380421371;8397779 + 9202;66271;3549;3680;380421371;8464050 + 9203;66276;3549;3680;380421371;8464050 + 9204;66288;3549;3680;380421371;8464050 + 9205;66294;3555;3681;379958015;8146453 + 9206;66300;3555;3681;379958015;8146453 + 9207;66312;3555;3681;379958015;8146453 + 9208;66314;3555;3682;379958015;8212767 + 9209;66324;3555;3682;379958015;8212767 + 9210;66335;3555;3683;379958015;8279102 + 9211;66336;3555;3683;379958015;8279102 + 9212;66348;3555;3683;379958015;8279102 + 9213;66359;3561;3684;375695701;7960871 + 9214;66360;3561;3684;375695701;7960871 + 9215;66372;3561;3684;375695701;7960871 + 9216;66380;3561;3685;375695701;8027251 + 9217;66384;3561;3685;375695701;8027251 + 9218;66396;3561;3685;375695701;8027251 + 9219;66396;3561;3686;375695701;8093647 + 9220;66408;3561;3686;375695701;8093647 + 9221;66419;3567;3687;374734213;7774838 + 9222;66420;3567;3687;374734213;7774838 + 9223;66432;3567;3687;374734213;7774838 + 9224;66441;3567;3688;374734213;7841279 + 9225;66444;3567;3688;374734213;7841279 + 9226;66456;3567;3688;374734213;7841279 + 9227;66463;3567;3689;374734213;7907742 + 9228;66468;3567;3689;374734213;7907742 + 9229;66478;3567;3690;374734213;7974220 + 9230;66480;3567;3690;374734213;7974220 + 9231;66492;3567;3690;374734213;7974220 + 9232;66502;3567;3691;374734213;8040722 + 9233;66504;3567;3691;374734213;8040722 + 9234;66516;3567;3691;374734213;8040722 + 9235;66518;3567;3692;374734213;8107240 + 9236;66528;3567;3692;374734213;8107240 + 9237;66533;3567;3693;374734213;8173773 + 9238;66540;3567;3693;374734213;8173773 + 9239;66547;3567;3694;374734213;8240320 + 9240;66552;3567;3694;374734213;8240320 + 9241;66564;3567;3694;374734213;8240320 + 9242;66571;3567;3695;374734213;8306891 + 9243;66576;3567;3695;374734213;8306891 + 9244;66588;3567;3695;374734213;8306891 + 9245;66588;3567;3696;374734213;8373479 + 9246;66600;3567;3696;374734213;8373479 + 9247;66606;3567;3697;374734213;8440085 + 9248;66612;3567;3697;374734213;8440085 + 9249;66623;3571;3698;380980525;8249549 + 9250;66624;3571;3698;380980525;8249549 + 9251;66636;3571;3698;380980525;8249549 + 9252;66637;3571;3699;380980525;8316186 + 9253;66648;3571;3699;380980525;8316186 + 9254;66652;3571;3700;380980525;8382838 + 9255;66660;3571;3700;380980525;8382838 + 9256;66669;3571;3701;380980525;8449507 + 9257;66672;3571;3701;380980525;8449507 + 9258;66681;3571;3702;380980525;8516188 + 9259;66684;3571;3702;380980525;8516188 + 9260;66696;3571;3702;380980525;8516188 + 9261;66705;3571;3703;380980525;8582893 + 9262;66708;3571;3703;380980525;8582893 + 9263;66720;3578;3703;376730286;8132190 + 9264;66725;3578;3704;376730286;8198915 + 9265;66732;3578;3704;376730286;8198915 + 9266;66744;3578;3704;376730286;8198915 + 9267;66748;3579;3705;379329230;8201206 + 9268;66756;3579;3705;379329230;8201206 + 9269;66768;3579;3705;379329230;8201206 + 9270;66770;3579;3706;379329230;8267976 + 9271;66780;3579;3706;379329230;8267976 + 9272;66792;3579;3706;379329230;8267976 + 9273;66792;3579;3707;379329230;8334768 + 9274;66804;3579;3707;379329230;8334768 + 9275;66808;3579;3708;379329230;8401576 + 9276;66816;3579;3708;379329230;8401576 + 9277;66821;3579;3709;379329230;8468397 + 9278;66828;3579;3709;379329230;8468397 + 9279;66840;3579;3709;379329230;8468397 + 9280;66845;3579;3710;379329230;8535242 + 9281;66852;3579;3710;379329230;8535242 + 9282;66864;3579;3710;379329230;8535242 + 9283;66868;3579;3711;379329230;8602110 + 9284;66876;3579;3711;379329230;8602110 + 9285;66888;3579;3711;379329230;8602110 + 9286;66888;3579;3712;379329230;8668998 + 9287;66900;3579;3712;379329230;8668998 + 9288;66901;3589;3713;383225374;8090251 + 9289;66912;3589;3713;383225374;8090251 + 9290;66913;3592;3714;381516656;7963127 + 9291;66924;3592;3714;381516656;7963127 + 9292;66931;3592;3715;381516656;8030058 + 9293;66936;3592;3715;381516656;8030058 + 9294;66948;3592;3715;381516656;8030058 + 9295;66951;3592;3716;381516656;8097009 + 9296;66960;3592;3716;381516656;8097009 + 9297;66968;3592;3717;381516656;8163977 + 9298;66972;3592;3717;381516656;8163977 + 9299;66984;3592;3717;381516656;8163977 + 9300;66991;3592;3718;381516656;8230968 + 9301;66996;3592;3718;381516656;8230968 + 9302;67008;3592;3718;381516656;8230968 + 9303;67010;3592;3719;381516656;8297978 + 9304;67020;3592;3719;381516656;8297978 + 9305;67032;3592;3719;381516656;8297978 + 9306;67033;3592;3720;381516656;8365011 + 9307;67044;3592;3720;381516656;8365011 + 9308;67056;3592;3720;381516656;8365011 + 9309;67056;3592;3721;381516656;8432067 + 9310;67068;3592;3721;381516656;8432067 + 9311;67076;3592;3722;381516656;8499143 + 9312;67080;3592;3722;381516656;8499143 + 9313;67088;3592;3723;381516656;8566231 + 9314;67092;3592;3723;381516656;8566231 + 9315;67100;3592;3724;381516656;8633331 + 9316;67104;3592;3724;381516656;8633331 + 9317;67116;3592;3724;381516656;8633331 + 9318;67123;3592;3725;381516656;8700454 + 9319;67128;3592;3725;381516656;8700454 + 9320;67135;3592;3726;381516656;8767589 + 9321;67140;3592;3726;381516656;8767589 + 9322;67152;3592;3726;381516656;8767589 + 9323;67159;3592;3727;381516656;8834748 + 9324;67164;3592;3727;381516656;8834748 + 9325;67176;3592;3727;381516656;8834748 + 9326;67183;3595;3728;393135568;8707717 + 9327;67188;3595;3728;393135568;8707717 + 9328;67196;3595;3729;393135568;8774913 + 9329;67200;3595;3729;393135568;8774913 + 9330;67212;3595;3729;393135568;8774913 + 9331;67213;3600;3730;400226049;8518044 + 9332;67224;3600;3730;400226049;8518044 + 9333;67234;3600;3731;400226049;8585278 + 9334;67236;3600;3731;400226049;8585278 + 9335;67248;3600;3731;400226049;8585278 + 9336;67254;3600;3732;400226049;8652532 + 9337;67260;3600;3732;400226049;8652532 + 9338;67270;3600;3733;400226049;8719802 + 9339;67272;3600;3733;400226049;8719802 + 9340;67284;3600;3733;400226049;8719802 + 9341;67285;3600;3734;400226049;8787087 + 9342;67296;3600;3734;400226049;8787087 + 9343;67299;3600;3735;400226049;8854386 + 9344;67308;3600;3735;400226049;8854386 + 9345;67320;3602;3735;403100439;8724642 + 9346;67320;3603;3736;407673663;8727065 + 9347;67332;3603;3736;407673663;8727065 + 9348;67336;3603;3737;407673663;8794401 + 9349;67344;3603;3737;407673663;8794401 + 9350;67352;3603;3738;407673663;8861753 + 9351;67356;3603;3738;407673663;8861753 + 9352;67368;3603;3738;407673663;8861753 + 9353;67375;3604;3739;412608111;8864219 + 9354;67380;3604;3739;412608111;8864219 + 9355;67392;3604;3739;412608111;8864219 + 9356;67398;3604;3740;412608111;8931617 + 9357;67404;3604;3740;412608111;8931617 + 9358;67416;3611;3740;422366432;8476708 + 9359;67421;3620;3741;410114242;7957986 + 9360;67428;3620;3741;410114242;7957986 + 9361;67435;3620;3742;410114242;8025421 + 9362;67440;3620;3742;410114242;8025421 + 9363;67452;3620;3742;410114242;8025421 + 9364;67452;3620;3743;410114242;8092873 + 9365;67464;3620;3743;410114242;8092873 + 9366;67476;3620;3743;410114242;8092873 + 9367;67476;3620;3744;410114242;8160349 + 9368;67488;3620;3744;410114242;8160349 + 9369;67497;3620;3745;410114242;8227846 + 9370;67500;3620;3745;410114242;8227846 + 9371;67512;3620;3745;410114242;8227846 + 9372;67520;3620;3746;410114242;8295366 + 9373;67524;3620;3746;410114242;8295366 + 9374;67532;3620;3747;410114242;8362898 + 9375;67536;3620;3747;410114242;8362898 + 9376;67544;3620;3748;410114242;8430442 + 9377;67548;3620;3748;410114242;8430442 + 9378;67559;3620;3749;410114242;8498001 + 9379;67560;3620;3749;410114242;8498001 + 9380;67572;3620;3749;410114242;8498001 + 9381;67575;3620;3750;410114242;8565576 + 9382;67584;3620;3750;410114242;8565576 + 9383;67596;3620;3750;410114242;8565576 + 9384;67596;3620;3751;410114242;8633172 + 9385;67608;3620;3751;410114242;8633172 + 9386;67618;3620;3752;410114242;8700790 + 9387;67620;3620;3752;410114242;8700790 + 9388;67632;3620;3752;410114242;8700790 + 9389;67642;3620;3753;410114242;8768432 + 9390;67644;3620;3753;410114242;8768432 + 9391;67656;3620;3753;410114242;8768432 + 9392;67658;3620;3754;410114242;8836090 + 9393;67668;3620;3754;410114242;8836090 + 9394;67678;3622;3755;415233914;8773319 + 9395;67680;3622;3755;415233914;8773319 + 9396;67692;3622;3755;415233914;8773319 + 9397;67697;3627;3756;420548898;8514554 + 9398;67704;3627;3756;420548898;8514554 + 9399;67716;3627;3756;420548898;8514554 + 9400;67721;3627;3757;420548898;8582275 + 9401;67728;3627;3757;420548898;8582275 + 9402;67734;3627;3758;420548898;8650009 + 9403;67740;3627;3758;420548898;8650009 + 9404;67752;3627;3758;420548898;8650009 + 9405;67753;3627;3759;420548898;8717762 + 9406;67764;3627;3759;420548898;8717762 + 9407;67776;3627;3759;420548898;8717762 + 9408;67777;3627;3760;420548898;8785539 + 9409;67788;3628;3760;425426421;8720188 + 9410;67799;3628;3761;425426421;8787987 + 9411;67800;3628;3761;425426421;8787987 + 9412;67812;3628;3761;425426421;8787987 + 9413;67819;3628;3762;425426421;8855806 + 9414;67824;3628;3762;425426421;8855806 + 9415;67836;3628;3762;425426421;8855806 + 9416;67837;3628;3763;425426421;8923643 + 9417;67848;3628;3763;425426421;8923643 + 9418;67852;3636;3764;429876629;8468001 + 9419;67860;3636;3764;429876629;8468001 + 9420;67864;3636;3765;429876629;8535865 + 9421;67872;3636;3765;429876629;8535865 + 9422;67877;3636;3766;429876629;8603742 + 9423;67884;3636;3766;429876629;8603742 + 9424;67896;3636;3766;429876629;8603742 + 9425;67899;3636;3767;429876629;8671641 + 9426;67908;3636;3767;429876629;8671641 + 9427;67913;3636;3768;429876629;8739554 + 9428;67920;3636;3768;429876629;8739554 + 9429;67926;3636;3769;429876629;8807480 + 9430;67932;3636;3769;429876629;8807480 + 9431;67944;3636;3769;429876629;8807480 + 9432;67944;3644;3770;423834059;8350764 + 9433;67956;3644;3770;423834059;8350764 + 9434;67960;3646;3771;426198205;8287358 + 9435;67968;3646;3771;426198205;8287358 + 9436;67980;3646;3771;426198205;8287358 + 9437;67982;3646;3772;426198205;8355340 + 9438;67992;3646;3772;426198205;8355340 + 9439;68001;3648;3773;430279828;8291905 + 9440;68004;3648;3773;430279828;8291905 + 9441;68016;3648;3773;430279828;8291905 + 9442;68024;3649;3774;433166967;8294186 + 9443;68028;3649;3774;433166967;8294186 + 9444;68040;3649;3774;433166967;8294186 + 9445;68043;3649;3775;433166967;8362229 + 9446;68052;3649;3775;433166967;8362229 + 9447;68064;3649;3775;433166967;8362229 + 9448;68066;3649;3776;433166967;8430295 + 9449;68076;3649;3776;433166967;8430295 + 9450;68085;3649;3777;433166967;8498380 + 9451;68088;3649;3777;433166967;8498380 + 9452;68100;3649;3777;433166967;8498380 + 9453;68101;3649;3778;433166967;8566481 + 9454;68112;3649;3778;433166967;8566481 + 9455;68122;3649;3779;433166967;8634603 + 9456;68124;3649;3779;433166967;8634603 + 9457;68136;3654;3779;432125912;8305632 + 9458;68141;3654;3780;432125912;8373773 + 9459;68148;3654;3780;432125912;8373773 + 9460;68159;3655;3781;435433466;8376084 + 9461;68160;3655;3781;435433466;8376084 + 9462;68172;3655;3781;435433466;8376084 + 9463;68175;3655;3782;435433466;8444259 + 9464;68184;3655;3782;435433466;8444259 + 9465;68194;3655;3783;435433466;8512453 + 9466;68196;3655;3783;435433466;8512453 + 9467;68208;3655;3783;435433466;8512453 + 9468;68217;3662;3784;439960856;8119243 + 9469;68220;3662;3784;439960856;8119243 + 9470;68232;3662;3784;439960856;8119243 + 9471;68234;3662;3785;439960856;8187477 + 9472;68244;3662;3785;439960856;8187477 + 9473;68256;3662;3785;439960856;8187477 + 9474;68258;3662;3786;439960856;8255735 + 9475;68268;3662;3786;439960856;8255735 + 9476;68280;3662;3786;439960856;8255735 + 9477;68280;3664;3787;443466942;8192009 + 9478;68292;3664;3787;443466942;8192009 + 9479;68303;3664;3788;443466942;8260312 + 9480;68304;3664;3788;443466942;8260312 + 9481;68316;3664;3788;443466942;8260312 + 9482;68321;3668;3789;439356325;8064414 + 9483;68328;3668;3789;439356325;8064414 + 9484;68340;3668;3789;439356325;8064414 + 9485;68342;3668;3790;439356325;8132756 + 9486;68352;3668;3790;439356325;8132756 + 9487;68364;3668;3790;439356325;8132756 + 9488;68366;3668;3791;439356325;8201122 + 9489;68376;3668;3791;439356325;8201122 + 9490;68380;3668;3792;439356325;8269502 + 9491;68388;3668;3792;439356325;8269502 + 9492;68392;3668;3793;439356325;8337894 + 9493;68400;3668;3793;439356325;8337894 + 9494;68412;3668;3793;439356325;8337894 + 9495;68414;3668;3794;439356325;8406308 + 9496;68424;3668;3794;439356325;8406308 + 9497;68435;3668;3795;439356325;8474743 + 9498;68436;3668;3795;439356325;8474743 + 9499;68448;3668;3795;439356325;8474743 + 9500;68450;3668;3796;439356325;8543193 + 9501;68460;3668;3796;439356325;8543193 + 9502;68472;3668;3796;439356325;8543193 + 9503;68472;3668;3797;439356325;8611665 + 9504;68484;3668;3797;439356325;8611665 + 9505;68490;3668;3798;439356325;8680155 + 9506;68496;3668;3798;439356325;8680155 + 9507;68508;3668;3798;439356325;8680155 + 9508;68512;3668;3799;439356325;8748667 + 9509;68520;3668;3799;439356325;8748667 + 9510;68524;3678;3800;429943803;8155455 + 9511;68532;3680;3800;428521970;8022890 + 9512;68544;3680;3800;428521970;8022890 + 9513;68547;3680;3801;428521970;8091437 + 9514;68556;3680;3801;428521970;8091437 + 9515;68565;3680;3802;428521970;8160002 + 9516;68568;3680;3802;428521970;8160002 + 9517;68580;3680;3802;428521970;8160002 + 9518;68581;3680;3803;428521970;8228583 + 9519;68592;3680;3803;428521970;8228583 + 9520;68597;3680;3804;428521970;8297180 + 9521;68604;3680;3804;428521970;8297180 + 9522;68612;3680;3805;428521970;8365792 + 9523;68616;3680;3805;428521970;8365792 + 9524;68628;3680;3805;428521970;8365792 + 9525;68628;3680;3806;428521970;8434420 + 9526;68640;3680;3806;428521970;8434420 + 9527;68643;3680;3807;428521970;8503063 + 9528;68652;3680;3807;428521970;8503063 + 9529;68664;3680;3807;428521970;8503063 + 9530;68666;3680;3808;428521970;8571729 + 9531;68676;3680;3808;428521970;8571729 + 9532;68688;3680;3808;428521970;8571729 + 9533;68690;3680;3809;428521970;8640419 + 9534;68700;3680;3809;428521970;8640419 + 9535;68708;3681;3810;432991029;8642813 + 9536;68712;3681;3810;432991029;8642813 + 9537;68722;3681;3811;432991029;8711535 + 9538;68724;3681;3811;432991029;8711535 + 9539;68736;3681;3811;432991029;8711535 + 9540;68745;3694;3812;419158135;7916338 + 9541;68748;3694;3812;419158135;7916338 + 9542;68757;3694;3813;419158135;7985095 + 9543;68760;3694;3813;419158135;7985095 + 9544;68772;3694;3813;419158135;7985095 + 9545;68774;3694;3814;419158135;8053869 + 9546;68784;3694;3814;419158135;8053869 + 9547;68786;3697;3815;417302242;7922838 + 9548;68796;3697;3815;417302242;7922838 + 9549;68799;3697;3816;417302242;7991637 + 9550;68808;3697;3816;417302242;7991637 + 9551;68816;3699;3817;418948608;7927164 + 9552;68820;3699;3817;418948608;7927164 + 9553;68832;3699;3817;418948608;7927164 + 9554;68835;3702;3818;412028289;7795944 + 9555;68844;3702;3818;412028289;7795944 + 9556;68853;3702;3819;412028289;7864797 + 9557;68856;3702;3819;412028289;7864797 + 9558;68868;3702;3819;412028289;7864797 + 9559;68870;3702;3820;412028289;7933667 + 9560;68880;3702;3820;412028289;7933667 + 9561;68885;3702;3821;412028289;8002552 + 9562;68892;3702;3821;412028289;8002552 + 9563;68904;3702;3821;412028289;8002552 + 9564;68907;3702;3822;412028289;8071459 + 9565;68916;3702;3822;412028289;8071459 + 9566;68926;3702;3823;412028289;8140385 + 9567;68928;3702;3823;412028289;8140385 + 9568;68940;3702;3823;412028289;8140385 + 9569;68946;3702;3824;412028289;8209331 + 9570;68952;3702;3824;412028289;8209331 + 9571;68959;3702;3825;412028289;8278290 + 9572;68964;3702;3825;412028289;8278290 + 9573;68976;3702;3825;412028289;8278290 + 9574;68979;3702;3826;412028289;8347269 + 9575;68988;3702;3826;412028289;8347269 + 9576;68992;3702;3827;412028289;8416261 + 9577;69000;3702;3827;412028289;8416261 + 9578;69008;3702;3828;412028289;8485269 + 9579;69012;3702;3828;412028289;8485269 + 9580;69023;3702;3829;412028289;8554292 + 9581;69024;3702;3829;412028289;8554292 + 9582;69036;3702;3829;412028289;8554292 + 9583;69043;3702;3830;412028289;8623335 + 9584;69048;3702;3830;412028289;8623335 + 9585;69058;3703;3831;415454565;8625668 + 9586;69060;3703;3831;415454565;8625668 + 9587;69072;3703;3831;415454565;8625668 + 9588;69082;3703;3832;415454565;8694750 + 9589;69084;3703;3832;415454565;8694750 + 9590;69094;3703;3833;415454565;8763844 + 9591;69096;3703;3833;415454565;8763844 + 9592;69108;3703;3833;415454565;8763844 + 9593;69109;3703;3834;415454565;8832953 + 9594;69120;3703;3834;415454565;8832953 + 9595;69124;3703;3835;415454565;8902077 + 9596;69132;3703;3835;415454565;8902077 + 9597;69136;3703;3836;415454565;8971213 + 9598;69144;3703;3836;415454565;8971213 + 9599;69153;3703;3837;415454565;9040366 + 9600;69156;3703;3837;415454565;9040366 + 9601;69168;3703;3837;415454565;9040366 + 9602;69175;3703;3838;415454565;9109541 + 9603;69180;3703;3838;415454565;9109541 + 9604;69192;3703;3838;415454565;9109541 + 9605;69195;3703;3839;415454565;9178736 + 9606;69204;3703;3839;415454565;9178736 + 9607;69215;3711;3840;416052211;8713411 + 9608;69216;3711;3840;416052211;8713411 + 9609;69228;3711;3840;416052211;8713411 + 9610;69229;3711;3841;416052211;8782640 + 9611;69240;3711;3841;416052211;8782640 + 9612;69252;3711;3841;416052211;8782640 + 9613;69253;3711;3842;416052211;8851893 + 9614;69264;3711;3842;416052211;8851893 + 9615;69267;3711;3843;416052211;8921160 + 9616;69276;3711;3843;416052211;8921160 + 9617;69286;3711;3844;416052211;8990446 + 9618;69288;3711;3844;416052211;8990446 + 9619;69300;3711;3844;416052211;8990446 + 9620;69300;3711;3845;416052211;9059746 + 9621;69312;3711;3845;416052211;9059746 + 9622;69313;3711;3846;416052211;9129059 + 9623;69324;3711;3846;416052211;9129059 + 9624;69327;3711;3847;416052211;9198386 + 9625;69336;3711;3847;416052211;9198386 + 9626;69344;3714;3848;421627937;9066985 + 9627;69348;3714;3848;421627937;9066985 + 9628;69360;3714;3848;421627937;9066985 + 9629;69362;3714;3849;421627937;9136347 + 9630;69372;3714;3849;421627937;9136347 + 9631;69380;3714;3850;421627937;9205727 + 9632;69384;3714;3850;421627937;9205727 + 9633;69396;3714;3850;421627937;9205727 + 9634;69397;3716;3851;431410796;9141205 + 9635;69408;3716;3851;431410796;9141205 + 9636;69410;3716;3852;431410796;9210615 + 9637;69420;3716;3852;431410796;9210615 + 9638;69427;3716;3853;431410796;9280042 + 9639;69432;3716;3853;431410796;9280042 + 9640;69444;3716;3853;431410796;9280042 + 9641;69451;3716;3854;431410796;9349493 + 9642;69456;3716;3854;431410796;9349493 + 9643;69468;3716;3854;431410796;9349493 + 9644;69475;3725;3855;449958119;8815356 + 9645;69480;3725;3855;449958119;8815356 + 9646;69492;3725;3855;449958119;8815356 + 9647;69492;3725;3856;449958119;8884848 + 9648;69504;3725;3856;449958119;8884848 + 9649;69513;3725;3857;449958119;8954361 + 9650;69516;3725;3857;449958119;8954361 + 9651;69528;3725;3857;449958119;8954361 + 9652;69535;3725;3858;449958119;9023896 + 9653;69540;3725;3858;449958119;9023896 + 9654;69552;3725;3858;449958119;9023896 + 9655;69557;3725;3859;449958119;9093453 + 9656;69564;3725;3859;449958119;9093453 + 9657;69571;3725;3860;449958119;9163024 + 9658;69576;3725;3860;449958119;9163024 + 9659;69587;3735;3861;434862335;8560198 + 9660;69588;3735;3861;434862335;8560198 + 9661;69600;3735;3861;434862335;8560198 + 9662;69607;3736;3862;437534040;8562469 + 9663;69612;3736;3862;437534040;8562469 + 9664;69624;3736;3862;437534040;8562469 + 9665;69630;3736;3863;437534040;8632099 + 9666;69636;3736;3863;437534040;8632099 + 9667;69643;3736;3864;437534040;8701742 + 9668;69648;3736;3864;437534040;8701742 + 9669;69660;3736;3864;437534040;8701742 + 9670;69667;3737;3865;440993224;8704057 + 9671;69672;3737;3865;440993224;8704057 + 9672;69684;3737;3865;440993224;8704057 + 9673;69690;3737;3866;440993224;8773747 + 9674;69696;3737;3866;440993224;8773747 + 9675;69706;3737;3867;440993224;8843453 + 9676;69708;3737;3867;440993224;8843453 + 9677;69720;3737;3867;440993224;8843453 + 9678;69722;3737;3868;440993224;8913175 + 9679;69732;3737;3868;440993224;8913175 + 9680;69737;3737;3869;440993224;8982912 + 9681;69744;3737;3869;440993224;8982912 + 9682;69750;3737;3870;440993224;9052662 + 9683;69756;3737;3870;440993224;9052662 + 9684;69768;3737;3870;440993224;9052662 + 9685;69770;3737;3871;440993224;9122432 + 9686;69780;3737;3871;440993224;9122432 + 9687;69792;3737;3871;440993224;9122432 + 9688;69792;3737;3872;440993224;9192224 + 9689;69804;3737;3872;440993224;9192224 + 9690;69805;3737;3873;440993224;9262029 + 9691;69816;3737;3873;440993224;9262029 + 9692;69821;3737;3874;440993224;9331850 + 9693;69828;3737;3874;440993224;9331850 + 9694;69836;3737;3875;440993224;9401686 + 9695;69840;3737;3875;440993224;9401686 + 9696;69852;3737;3875;440993224;9401686 + 9697;69856;3745;3876;457958931;8931968 + 9698;69864;3745;3876;457958931;8931968 + 9699;69870;3750;3877;462402516;8664032 + 9700;69876;3750;3877;462402516;8664032 + 9701;69888;3750;3877;462402516;8664032 + 9702;69892;3750;3878;462402516;8733924 + 9703;69900;3750;3878;462402516;8733924 + 9704;69911;3750;3879;462402516;8803835 + 9705;69912;3750;3879;462402516;8803835 + 9706;69924;3750;3879;462402516;8803835 + 9707;69925;3750;3880;462402516;8873760 + 9708;69936;3750;3880;462402516;8873760 + 9709;69948;3750;3880;462402516;8873760 + 9710;69949;3750;3881;462402516;8943709 + 9711;69960;3750;3881;462402516;8943709 + 9712;69966;3750;3882;462402516;9013675 + 9713;69972;3750;3882;462402516;9013675 + 9714;69984;3750;3882;462402516;9013675 + 9715;69986;3750;3883;462402516;9083661 + 9716;69996;3750;3883;462402516;9083661 + 9717;70005;3758;3884;474671630;8612165 + 9718;70008;3758;3884;474671630;8612165 + 9719;70020;3758;3884;474671630;8612165 + 9720;70020;3758;3885;474671630;8682185 + 9721;70032;3758;3885;474671630;8682185 + 9722;70043;3758;3886;474671630;8752228 + 9723;70044;3758;3886;474671630;8752228 + 9724;70056;3758;3886;474671630;8752228 + 9725;70063;3758;3887;474671630;8822291 + 9726;70068;3758;3887;474671630;8822291 + 9727;70079;3758;3888;474671630;8892370 + 9728;70080;3758;3888;474671630;8892370 + 9729;70092;3758;3888;474671630;8892370 + 9730;70102;3758;3889;474671630;8962472 + 9731;70104;3758;3889;474671630;8962472 + 9732;70115;3758;3890;474671630;9032587 + 9733;70116;3758;3890;474671630;9032587 + 9734;70128;3761;3890;472998402;8829192 + 9735;70137;3761;3891;472998402;8899329 + 9736;70140;3761;3891;472998402;8899329 + 9737;70151;3764;3892;472200890;8765927 + 9738;70152;3764;3892;472200890;8765927 + 9739;70164;3764;3892;472200890;8765927 + 9740;70170;3764;3893;472200890;8836097 + 9741;70176;3764;3893;472200890;8836097 + 9742;70188;3764;3893;472200890;8836097 + 9743;70189;3764;3894;472200890;8906286 + 9744;70200;3764;3894;472200890;8906286 + 9745;70205;3764;3895;472200890;8976491 + 9746;70212;3764;3895;472200890;8976491 + 9747;70224;3764;3895;472200890;8976491 + 9748;70226;3764;3896;472200890;9046717 + 9749;70236;3764;3896;472200890;9046717 + 9750;70242;3767;3897;469875144;8913270 + 9751;70248;3767;3897;469875144;8913270 + 9752;70260;3767;3897;469875144;8913270 + 9753;70264;3767;3898;469875144;8983534 + 9754;70272;3767;3898;469875144;8983534 + 9755;70284;3767;3898;469875144;8983534 + 9756;70288;3774;3899;464096270;8577942 + 9757;70296;3774;3899;464096270;8577942 + 9758;70308;3774;3899;464096270;8577942 + 9759;70311;3777;3900;465839898;8444001 + 9760;70320;3777;3900;465839898;8444001 + 9761;70332;3777;3900;465839898;8444001 + 9762;70333;3777;3901;465839898;8514334 + 9763;70344;3777;3901;465839898;8514334 + 9764;70349;3777;3902;465839898;8584683 + 9765;70356;3777;3902;465839898;8584683 + 9766;70366;3777;3903;465839898;8655049 + 9767;70368;3777;3903;465839898;8655049 + 9768;70380;3777;3903;465839898;8655049 + 9769;70388;3777;3904;465839898;8725437 + 9770;70392;3777;3904;465839898;8725437 + 9771;70401;3777;3905;465839898;8795838 + 9772;70404;3777;3905;465839898;8795838 + 9773;70416;3777;3905;465839898;8795838 + 9774;70422;3777;3906;465839898;8866260 + 9775;70428;3777;3906;465839898;8866260 + 9776;70440;3777;3906;465839898;8866260 + 9777;70444;3777;3907;465839898;8936704 + 9778;70452;3777;3907;465839898;8936704 + 9779;70464;3777;3907;465839898;8936704 + 9780;70466;3777;3908;465839898;9007170 + 9781;70476;3777;3908;465839898;9007170 + 9782;70483;3777;3909;465839898;9077653 + 9783;70488;3777;3909;465839898;9077653 + 9784;70499;3777;3910;465839898;9148152 + 9785;70500;3777;3910;465839898;9148152 + 9786;70512;3777;3910;465839898;9148152 + 9787;70523;3787;3911;445940600;8536592 + 9788;70524;3787;3911;445940600;8536592 + 9789;70536;3789;3911;441503417;8399929 + 9790;70542;3789;3912;441503417;8470471 + 9791;70548;3789;3912;441503417;8470471 + 9792;70560;3789;3912;441503417;8470471 + 9793;70565;3789;3913;441503417;8541036 + 9794;70572;3789;3913;441503417;8541036 + 9795;70584;3789;3913;441503417;8541036 + 9796;70585;3789;3914;441503417;8611621 + 9797;70596;3789;3914;441503417;8611621 + 9798;70604;3789;3915;441503417;8682225 + 9799;70608;3789;3915;441503417;8682225 + 9800;70617;3789;3916;441503417;8752842 + 9801;70620;3789;3916;441503417;8752842 + 9802;70632;3789;3916;441503417;8752842 + 9803;70639;3789;3917;441503417;8823481 + 9804;70644;3789;3917;441503417;8823481 + 9805;70652;3789;3918;441503417;8894133 + 9806;70656;3789;3918;441503417;8894133 + 9807;70668;3789;3918;441503417;8894133 + 9808;70671;3789;3919;441503417;8964804 + 9809;70680;3789;3919;441503417;8964804 + 9810;70692;3791;3919;446275181;8828058 + 9811;70695;3791;3920;446275181;8898753 + 9812;70704;3791;3920;446275181;8898753 + 9813;70710;3791;3921;446275181;8969463 + 9814;70716;3791;3921;446275181;8969463 + 9815;70728;3791;3921;446275181;8969463 + 9816;70731;3791;3922;446275181;9040194 + 9817;70740;3791;3922;446275181;9040194 + 9818;70752;3791;3922;446275181;9040194 + 9819;70755;3791;3923;446275181;9110949 + 9820;70764;3791;3923;446275181;9110949 + 9821;70776;3791;3923;446275181;9110949 + 9822;70777;3791;3924;446275181;9181726 + 9823;70788;3791;3924;446275181;9181726 + 9824;70798;3791;3925;446275181;9252524 + 9825;70800;3791;3925;446275181;9252524 + 9826;70812;3791;3925;446275181;9252524 + 9827;70819;3791;3926;446275181;9323343 + 9828;70824;3791;3926;446275181;9323343 + 9829;70836;3791;3926;446275181;9323343 + 9830;70840;3791;3927;446275181;9394183 + 9831;70848;3791;3927;446275181;9394183 + 9832;70853;3794;3928;459464076;9259795 + 9833;70860;3798;3928;455333223;8985871 + 9834;70867;3798;3929;455333223;9056738 + 9835;70872;3798;3929;455333223;9056738 + 9836;70884;3798;3929;455333223;9056738 + 9837;70886;3798;3930;455333223;9127624 + 9838;70896;3798;3930;455333223;9127624 + 9839;70907;3798;3931;455333223;9198531 + 9840;70908;3798;3931;455333223;9198531 + 9841;70920;3798;3931;455333223;9198531 + 9842;70929;3798;3932;455333223;9269460 + 9843;70932;3798;3932;455333223;9269460 + 9844;70944;3798;3932;455333223;9269460 + 9845;70952;3798;3933;455333223;9340412 + 9846;70956;3798;3933;455333223;9340412 + 9847;70968;3799;3933;460614174;9271888 + 9848;70975;3799;3934;460614174;9342863 + 9849;70980;3799;3934;460614174;9342863 + 9850;70992;3799;3934;460614174;9342863 + 9851;70994;3807;3935;465883573;8865018 + 9852;71004;3807;3935;465883573;8865018 + 9853;71006;3807;3936;465883573;8936024 + 9854;71016;3807;3936;465883573;8936024 + 9855;71023;3810;3937;469992628;8800927 + 9856;71028;3810;3937;469992628;8800927 + 9857;71040;3810;3937;469992628;8800927 + 9858;71041;3810;3938;469992628;8871968 + 9859;71052;3810;3938;469992628;8871968 + 9860;71055;3810;3939;469992628;8943023 + 9861;71064;3810;3939;469992628;8943023 + 9862;71076;3810;3939;469992628;8943023 + 9863;71079;3810;3940;469992628;9014102 + 9864;71088;3810;3940;469992628;9014102 + 9865;71093;3810;3941;469992628;9085195 + 9866;71100;3810;3941;469992628;9085195 + 9867;71112;3810;3941;469992628;9085195 + 9868;71112;3810;3942;469992628;9156307 + 9869;71124;3810;3942;469992628;9156307 + 9870;71128;3810;3943;469992628;9227435 + 9871;71136;3810;3943;469992628;9227435 + 9872;71148;3810;3943;469992628;9227435 + 9873;71150;3810;3944;469992628;9298585 + 9874;71160;3810;3944;469992628;9298585 + 9875;71172;3810;3944;469992628;9298585 + 9876;71174;3810;3945;469992628;9369759 + 9877;71184;3810;3945;469992628;9369759 + 9878;71195;3820;3946;468394439;8752834 + 9879;71196;3820;3946;468394439;8752834 + 9880;71208;3820;3946;468394439;8752834 + 9881;71215;3826;3947;468482271;8410340 + 9882;71220;3826;3947;468482271;8410340 + 9883;71232;3826;3947;468482271;8410340 + 9884;71233;3826;3948;468482271;8481573 + 9885;71244;3826;3948;468482271;8481573 + 9886;71247;3826;3949;468482271;8552820 + 9887;71256;3826;3949;468482271;8552820 + 9888;71267;3826;3950;468482271;8624087 + 9889;71268;3826;3950;468482271;8624087 + 9890;71280;3826;3950;468482271;8624087 + 9891;71280;3826;3951;468482271;8695367 + 9892;71292;3826;3951;468482271;8695367 + 9893;71298;3826;3952;468482271;8766665 + 9894;71304;3826;3952;468482271;8766665 + 9895;71311;3826;3953;468482271;8837976 + 9896;71316;3826;3953;468482271;8837976 + 9897;71328;3826;3953;468482271;8837976 + 9898;71332;3826;3954;468482271;8909308 + 9899;71340;3826;3954;468482271;8909308 + 9900;71346;3826;3955;468482271;8980654 + 9901;71352;3826;3955;468482271;8980654 + 9902;71364;3826;3955;468482271;8980654 + 9903;71368;3827;3956;472702870;8983014 + 9904;71376;3827;3956;472702870;8983014 + 9905;71382;3827;3957;472702870;9054396 + 9906;71388;3827;3957;472702870;9054396 + 9907;71400;3827;3957;472702870;9054396 + 9908;71406;3827;3958;472702870;9125802 + 9909;71412;3827;3958;472702870;9125802 + 9910;71419;3827;3959;472702870;9197221 + 9911;71424;3827;3959;472702870;9197221 + 9912;71436;3827;3959;472702870;9197221 + 9913;71440;3827;3960;472702870;9268661 + 9914;71448;3827;3960;472702870;9268661 + 9915;71460;3827;3960;472702870;9268661 + 9916;71460;3836;3961;471051302;8718299 + 9917;71472;3836;3961;471051302;8718299 + 9918;71484;3836;3961;471051302;8718299 + 9919;71484;3836;3962;471051302;8789783 + 9920;71496;3836;3962;471051302;8789783 + 9921;71497;3836;3963;471051302;8861280 + 9922;71508;3836;3963;471051302;8861280 + 9923;71512;3836;3964;471051302;8932792 + 9924;71520;3836;3964;471051302;8932792 + 9925;71525;3836;3965;471051302;9004317 + 9926;71532;3836;3965;471051302;9004317 + 9927;71538;3836;3966;471051302;9075855 + 9928;71544;3836;3966;471051302;9075855 + 9929;71553;3836;3967;471051302;9147408 + 9930;71556;3836;3967;471051302;9147408 + 9931;71566;3836;3968;471051302;9218974 + 9932;71568;3836;3968;471051302;9218974 + 9933;71579;3836;3969;471051302;9290553 + 9934;71580;3836;3969;471051302;9290553 + 9935;71592;3836;3969;471051302;9290553 + 9936;71596;3836;3970;471051302;9362149 + 9937;71604;3836;3970;471051302;9362149 + 9938;71613;3836;3971;471051302;9433762 + 9939;71616;3836;3971;471051302;9433762 + 9940;71628;3836;3971;471051302;9433762 + 9941;71632;3845;3972;468672631;8882161 + 9942;71640;3845;3972;468672631;8882161 + 9943;71651;3845;3973;468672631;8953812 + 9944;71652;3845;3973;468672631;8953812 + 9945;71664;3845;3973;468672631;8953812 + 9946;71671;3845;3974;468672631;9025483 + 9947;71676;3845;3974;468672631;9025483 + 9948;71688;3845;3974;468672631;9025483 + 9949;71691;3845;3975;468672631;9097174 + 9950;71700;3845;3975;468672631;9097174 + 9951;71712;3845;3975;468672631;9097174 + 9952;71712;3845;3976;468672631;9168886 + 9953;71724;3845;3976;468672631;9168886 + 9954;71734;3845;3977;468672631;9240620 + 9955;71736;3845;3977;468672631;9240620 + 9956;71747;3845;3978;468672631;9312367 + 9957;71748;3845;3978;468672631;9312367 + 9958;71760;3845;3978;468672631;9312367 + 9959;71765;3851;3979;475577336;8967912 + 9960;71772;3851;3979;475577336;8967912 + 9961;71781;3851;3980;475577336;9039693 + 9962;71784;3851;3980;475577336;9039693 + 9963;71796;3851;3980;475577336;9039693 + 9964;71799;3851;3981;475577336;9111492 + 9965;71808;3851;3981;475577336;9111492 + 9966;71816;3851;3982;475577336;9183308 + 9967;71820;3851;3982;475577336;9183308 + 9968;71832;3851;3982;475577336;9183308 + 9969;71836;3851;3983;475577336;9255144 + 9970;71844;3851;3983;475577336;9255144 + 9971;71853;3851;3984;475577336;9326997 + 9972;71856;3851;3984;475577336;9326997 + 9973;71868;3851;3984;475577336;9326997 + 9974;71875;3851;3985;475577336;9398872 + 9975;71880;3851;3985;475577336;9398872 + 9976;71892;3851;3985;475577336;9398872 + 9977;71895;3856;3986;491948118;9123409 + 9978;71904;3856;3986;491948118;9123409 + 9979;71911;3856;3987;491948118;9195320 + 9980;71916;3856;3987;491948118;9195320 + 9981;71928;3856;3987;491948118;9195320 + 9982;71932;3856;3988;491948118;9267252 + 9983;71940;3856;3988;491948118;9267252 + 9984;71947;3856;3989;491948118;9339199 + 9985;71952;3856;3989;491948118;9339199 + 9986;71964;3856;3989;491948118;9339199 + 9987;71970;3856;3990;491948118;9411169 + 9988;71976;3856;3990;491948118;9411169 + 9989;71987;3863;3991;491041924;8996026 + 9990;71988;3863;3991;491041924;8996026 + 9991;72000;3863;3991;491041924;8996026 + 9992;72004;3863;3992;491041924;9068030 + 9993;72012;3863;3992;491041924;9068030 + 9994;72024;3863;3992;491041924;9068030 + 9995;72026;3863;3993;491041924;9140056 + 9996;72036;3863;3993;491041924;9140056 + 9997;72038;3863;3994;491041924;9212094 + 9998;72048;3863;3994;491041924;9212094 + 9999;72051;3863;3995;491041924;9284145 + 10000;72060;3863;3995;491041924;9284145 + 10001;72072;3863;3995;491041924;9284145 + 10002;72072;3863;3996;491041924;9356217 + 10003;72084;3863;3996;491041924;9356217 + 10004;72085;3863;3997;491041924;9428302 + 10005;72096;3863;3997;491041924;9428302 + 10006;72108;3863;3997;491041924;9428302 + 10007;72109;3863;3998;491041924;9500411 + 10008;72120;3863;3998;491041924;9500411 + 10009;72123;3863;3999;491041924;9572534 + 10010;72132;3869;3999;490643115;9154262 + 10011;72142;3869;4000;490643115;9226404 + 10012;72144;3869;4000;490643115;9226404 + 10013;72156;3869;4000;490643115;9226404 + 10014;72166;3869;4001;490643115;9298570 + 10015;72168;3869;4001;490643115;9298570 + 10016;72180;3869;4001;490643115;9298570 + 10017;72192;3869;4001;490643115;9298570 + 10018;72204;3875;4001;484775433;8879690 + 10019;72216;3875;4001;484775433;8879690 + 10020;72228;3875;4001;484775433;8879690 + 10021;72240;3875;4001;484775433;8879690 + 10022;72252;3875;4001;484775433;8879690 + 10023;72264;3875;4001;484775433;8879690 + 10024;72276;3876;4001;489739325;8809820 + 10025;72288;3876;4001;489739325;8809820 + 10026;72300;3876;4001;489739325;8809820 + 10027;72312;3876;4001;489739325;8809820 + 10028;72324;3876;4001;489739325;8809820 + 10029;72336;3876;4001;489739325;8809820 + 10030;72348;3880;4001;489785240;8530143 + 10031;72360;3880;4001;489785240;8530143 + 10032;72372;3880;4001;489785240;8530143 + 10033;72384;3880;4001;489785240;8530143 + 10034;72396;3880;4001;489785240;8530143 + 10035;72408;3880;4001;489785240;8530143 + 10036;72420;3880;4001;489785240;8530143 + 10037;72432;3887;4001;502623816;8039981 + 10038;72444;3887;4001;502623816;8039981 + 10039;72456;3887;4001;502623816;8039981 + 10040;72468;3887;4001;502623816;8039981 + 10041;72480;3888;4001;507025227;7969879 + 10042;72492;3888;4001;507025227;7969879 + 10043;72504;3888;4001;507025227;7969879 + 10044;72516;3888;4001;507025227;7969879 + 10045;72528;3888;4001;507025227;7969879 + 10046;72540;3888;4001;507025227;7969879 + 10047;72552;3895;4001;517575035;7478686 + 10048;72564;3895;4001;517575035;7478686 + 10049;72576;3895;4001;517575035;7478686 + 10050;72588;3895;4001;517575035;7478686 + 10051;72600;3895;4001;517575035;7478686 + 10052;72612;3895;4001;517575035;7478686 + 10053;72624;3895;4001;517575035;7478686 + 10054;72636;3895;4001;517575035;7478686 + 10055;72648;3895;4001;517575035;7478686 + 10056;72660;3895;4001;517575035;7478686 + 10057;72672;3902;4001;512216947;6986533 + 10058;72684;3902;4001;512216947;6986533 + 10059;72696;3902;4001;512216947;6986533 + 10060;72708;3902;4001;512216947;6986533 + 10061;72720;3902;4001;512216947;6986533 + 10062;72732;3902;4001;512216947;6986533 + 10063;72744;3902;4001;512216947;6986533 + 10064;72756;3902;4001;512216947;6986533 + 10065;72768;3902;4001;512216947;6986533 + 10066;72780;3902;4001;512216947;6986533 + 10067;72792;3913;4001;512825566;6211215 + 10068;72804;3913;4001;512825566;6211215 + 10069;72816;3913;4001;512825566;6211215 + 10070;72828;3913;4001;512825566;6211215 + 10071;72840;3913;4001;512825566;6211215 + 10072;72852;3916;4001;514961432;5999355 + 10073;72864;3916;4001;514961432;5999355 + 10074;72876;3916;4001;514961432;5999355 + 10075;72888;3916;4001;514961432;5999355 + 10076;72900;3916;4001;514961432;5999355 + 10077;72912;3916;4001;514961432;5999355 + 10078;72924;3916;4001;514961432;5999355 + 10079;72936;3916;4001;514961432;5999355 + 10080;72948;3916;4001;514961432;5999355 + 10081;72960;3916;4001;514961432;5999355 + 10082;72972;3916;4001;514961432;5999355 + 10083;72984;3916;4001;514961432;5999355 + 10084;72996;3916;4001;514961432;5999355 + 10085;73008;3916;4001;514961432;5999355 + 10086;73020;3916;4001;514961432;5999355 + 10087;73032;3916;4001;514961432;5999355 + 10088;73044;3916;4001;514961432;5999355 + 10089;73056;3916;4001;514961432;5999355 + 10090;73068;3926;4001;526465477;5291907 + 10091;73080;3926;4001;526465477;5291907 + 10092;73092;3926;4001;526465477;5291907 + 10093;73104;3926;4001;526465477;5291907 + 10094;73116;3926;4001;526465477;5291907 + 10095;73128;3926;4001;526465477;5291907 + 10096;73140;3926;4001;526465477;5291907 + 10097;73152;3926;4001;526465477;5291907 + 10098;73164;3926;4001;526465477;5291907 + 10099;73176;3926;4001;526465477;5291907 + 10100;73188;3926;4001;526465477;5291907 + 10101;73200;3926;4001;526465477;5291907 + 10102;73212;3926;4001;526465477;5291907 + 10103;73224;3926;4001;526465477;5291907 + 10104;73236;3926;4001;526465477;5291907 + 10105;73248;3926;4001;526465477;5291907 + 10106;73260;3926;4001;526465477;5291907 + 10107;73272;3926;4001;526465477;5291907 + 10108;73284;3926;4001;526465477;5291907 + 10109;73296;3926;4001;526465477;5291907 + 10110;73308;3926;4001;526465477;5291907 + 10111;73320;3930;4001;524872045;5008394 + 10112;73332;3930;4001;524872045;5008394 + 10113;73344;3930;4001;524872045;5008394 + 10114;73356;3930;4001;524872045;5008394 + 10115;73368;3930;4001;524872045;5008394 + 10116;73380;3930;4001;524872045;5008394 + 10117;73392;3937;4001;528724239;4511474 + 10118;73404;3937;4001;528724239;4511474 + 10119;73416;3937;4001;528724239;4511474 + 10120;73428;3937;4001;528724239;4511474 + 10121;73440;3937;4001;528724239;4511474 + 10122;73452;3937;4001;528724239;4511474 + 10123;73464;3944;4001;525101727;4013683 + 10124;73476;3944;4001;525101727;4013683 + 10125;73488;3944;4001;525101727;4013683 + 10126;73500;3944;4001;525101727;4013683 + 10127;73512;3944;4001;525101727;4013683 + 10128;73524;3944;4001;525101727;4013683 + 10129;73536;3944;4001;525101727;4013683 + 10130;73548;3944;4001;525101727;4013683 + 10131;73560;3944;4001;525101727;4013683 + 10132;73572;3944;4001;525101727;4013683 + 10133;73584;3953;4001;523136283;3372305 + 10134;73596;3953;4001;523136283;3372305 + 10135;73608;3953;4001;523136283;3372305 + 10136;73620;3953;4001;523136283;3372305 + 10137;73632;3953;4001;523136283;3372305 + 10138;73644;3953;4001;523136283;3372305 + 10139;73656;3953;4001;523136283;3372305 + 10140;73668;3953;4001;523136283;3372305 + 10141;73680;3953;4001;523136283;3372305 + 10142;73692;3953;4001;523136283;3372305 + 10143;73704;3953;4001;523136283;3372305 + 10144;73716;3953;4001;523136283;3372305 + 10145;73728;3953;4001;523136283;3372305 + 10146;73740;3953;4001;523136283;3372305 + 10147;73752;3953;4001;523136283;3372305 + 10148;73764;3953;4001;523136283;3372305 + 10149;73776;3953;4001;523136283;3372305 + 10150;73788;3962;4001;527437043;2729503 + 10151;73800;3962;4001;527437043;2729503 + 10152;73812;3962;4001;527437043;2729503 + 10153;73824;3962;4001;527437043;2729503 + 10154;73836;3962;4001;527437043;2729503 + 10155;73848;3962;4001;527437043;2729503 + 10156;73860;3965;4001;529584115;2514928 + 10157;73872;3965;4001;529584115;2514928 + 10158;73884;3965;4001;529584115;2514928 + 10159;73896;3965;4001;529584115;2514928 + 10160;73908;3965;4001;529584115;2514928 + 10161;73920;3965;4001;529584115;2514928 + 10162;73932;3965;4001;529584115;2514928 + 10163;73944;3965;4001;529584115;2514928 + 10164;73956;3965;4001;529584115;2514928 + 10165;73968;3971;4001;531690078;2085389 + 10166;73980;3971;4001;531690078;2085389 + 10167;73992;3971;4001;531690078;2085389 + 10168;74004;3971;4001;531690078;2085389 + 10169;74016;3971;4001;531690078;2085389 + 10170;74028;3971;4001;531690078;2085389 + 10171;74040;3971;4001;531690078;2085389 + 10172;74052;3971;4001;531690078;2085389 + 10173;74064;3971;4001;531690078;2085389 + 10174;74076;3971;4001;531690078;2085389 + 10175;74088;3971;4001;531690078;2085389 + 10176;74100;3971;4001;531690078;2085389 + 10177;74112;3971;4001;531690078;2085389 + 10178;74124;3971;4001;531690078;2085389 + 10179;74136;3971;4001;531690078;2085389 + 10180;74148;3971;4001;531690078;2085389 + 10181;74160;3971;4001;531690078;2085389 + 10182;74172;3971;4001;531690078;2085389 + 10183;74184;3981;4001;545030638;1368022 + 10184;74196;3981;4001;545030638;1368022 + 10185;74208;3981;4001;545030638;1368022 + 10186;74220;3981;4001;545030638;1368022 + 10187;74232;3983;4001;539287196;1224333 + 10188;74244;3983;4001;539287196;1224333 + 10189;74256;3983;4001;539287196;1224333 + 10190;74268;3983;4001;539287196;1224333 + 10191;74280;3983;4001;539287196;1224333 + 10192;74292;3983;4001;539287196;1224333 + 10193;74304;3983;4001;539287196;1224333 + 10194;74316;3983;4001;539287196;1224333 + 10195;74328;3983;4001;539287196;1224333 + 10196;74340;3983;4001;539287196;1224333 + 10197;74352;3983;4001;539287196;1224333 + 10198;74364;3983;4001;539287196;1224333 + -----------------------------! + +Test result: ok. 1 passed; 0 failed; finished in 8.28s +| contracts/L1/TaikoToken.sol:TaikoToken contract | | | | | | +|-------------------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1203248 | 6042 | | | | | +| Function Name | min | avg | median | max | # calls | +| burn | 10388 | 10388 | 10388 | 10388 | 1 | +| init | 161878 | 161878 | 161878 | 161878 | 1 | +| mint | 48066 | 48066 | 48066 | 48066 | 1 | +| transfer | 30008 | 30008 | 30008 | 30008 | 1 | + + +| contracts/common/AddressManager.sol:AddressManager contract | | | | | | +|-------------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 268706 | 1374 | | | | | +| Function Name | min | avg | median | max | # calls | +| getAddress | 538 | 539 | 538 | 2538 | 8006 | +| init | 48211 | 48211 | 48211 | 48211 | 1 | +| setAddress | 3073 | 20991 | 24973 | 24973 | 11 | + + +| contracts/signal/SignalService.sol:SignalService contract | | | | | | +|-----------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1561631 | 7832 | | | | | +| Function Name | min | avg | median | max | # calls | +| init | 92994 | 92994 | 92994 | 92994 | 1 | + + +| test/LibLn.sol:LibLn contract | | | | | | +|-------------------------------|-----------------|------|--------|------|---------| +| Deployment Cost | Deployment Size | | | | | +| 227894 | 1196 | | | | | +| Function Name | min | avg | median | max | # calls | +| calcInitProofTimeIssued | 1626 | 1626 | 1626 | 1626 | 1 | + + +| test/TaikoL1.sim.sol:TaikoL1_b contract | | | | | | +|-----------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 3481693 | 17421 | | | | | +| Function Name | min | avg | median | max | # calls | +| depositTaikoToken | 40114 | 40114 | 40114 | 40114 | 1 | +| getBlockFee | 464 | 464 | 464 | 464 | 1 | +| getConfig | 2546 | 2546 | 2546 | 2546 | 1 | +| getStateVariables | 2251 | 2251 | 2251 | 10251 | 14199 | +| getVerifierName | 494 | 494 | 494 | 494 | 2 | +| init | 230235 | 230235 | 230235 | 230235 | 1 | +| proposeBlock | 25391 | 51457 | 25444 | 183368 | 4000 | +| proveBlock | 17096 | 48663 | 19096 | 199112 | 4000 | +| resolve(bytes32,bool)(address) | 2007 | 2009 | 2007 | 8507 | 4002 | +| resolve(uint256,bytes32,bool)(address) | 1964 | 1965 | 1964 | 3964 | 4002 | + + + diff --git a/packages/protocol/simulation/exports/simulation_data_1682692255.txt b/packages/protocol/simulation/exports/simulation_data_1682692255.txt new file mode 100644 index 00000000000..ec2d17c99ce --- /dev/null +++ b/packages/protocol/simulation/exports/simulation_data_1682692255.txt @@ -0,0 +1,14287 @@ + +> @taiko/protocol@0.6.1 test:sim /Users/keszeyd/work/taiko_major_upgrade_ref/taiko-mono/packages/protocol +> forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000 + +Compiling 1 files with 0.8.18 +Solc 0.8.18 finished in 3.72s +Compiler run successful + +Running 1 test for test/TaikoL1.sim.sol:TaikoL1Simulation +[PASS] testGeneratingManyRandomBlocksNonConsecutive() (gas: 1249460282044) +Logs: + 31337 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0x72384992222BE015DE0146a6D7E5dA0E19d2Ba49 + 31337 45889272483043749622685123383852074881457604843399824532951312269642964140032 → 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5 + 167 52670410704698717800542732036128729340597328726126075889694804077029212815360 → 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb + 167 52640402180712775100801168841838825813708635172629202311207512447469335085056 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 167 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C + 167 52640402180752029697201414225623803055489816253066935491057410734051802742784 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 31337 16777316 → 0x08526067985167EcFcB1F9720C72DbBF36c96018 + 31337 52640402180752042938242321556083758872323763589890511990531751287648111558656 → 0x0F8458E544c9D4C7C25A881240727209caae20B8 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0x34A1D3fff3958843C43aD80F30b94c510645C316 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0xFEfC6BAF87cF3684058D62Da40Ff3A795946Ab06 + 0:[0→1] fee:100000000 nextEthDepositToProcess:0 numEthDeposits:0 // init + 31337 16777316 → 0x4d04375eCD86c2B81eb0F55B37aA3fAb41CeCBc4 + BlockId, ProofTime + 1 ; 1713 + 2 ; 2383 + 3 ; 1892 + 4 ; 1665 + 5 ; 1677 + 6 ; 1872 + 7 ; 1907 + 8 ; 2221 + 9 ; 1886 + 10 ; 1859 + 11 ; 2069 + 12 ; 1626 + 13 ; 1725 + 14 ; 2090 + 15 ; 2084 + 16 ; 2066 + 17 ; 2324 + 18 ; 1800 + 19 ; 1861 + 20 ; 2214 + 21 ; 1619 + 22 ; 1949 + 23 ; 2249 + 24 ; 2295 + 25 ; 2306 + 26 ; 2056 + 27 ; 1732 + 28 ; 1684 + 29 ; 2032 + 30 ; 2051 + 31 ; 2128 + 32 ; 1625 + 33 ; 2224 + 34 ; 2135 + 35 ; 2078 + 36 ; 1829 + 37 ; 1763 + 38 ; 1773 + 39 ; 1711 + 40 ; 1878 + 41 ; 1940 + 42 ; 1631 + 43 ; 2238 + 44 ; 1900 + 45 ; 2255 + 46 ; 1628 + 47 ; 2248 + 48 ; 2051 + 49 ; 2263 + 50 ; 1687 + 51 ; 1688 + 52 ; 1971 + 53 ; 2005 + 54 ; 2394 + 55 ; 2401 + 56 ; 1961 + 57 ; 2190 + 58 ; 1919 + 59 ; 2403 + 60 ; 2222 + 61 ; 2403 + 62 ; 1749 + 63 ; 2076 + 64 ; 2213 + 65 ; 1792 + 66 ; 1711 + 67 ; 1700 + 68 ; 1878 + 69 ; 2365 + 70 ; 2146 + 71 ; 2326 + 72 ; 1719 + 73 ; 1663 + 74 ; 1927 + 75 ; 2192 + 76 ; 2179 + 77 ; 2359 + 78 ; 2316 + 79 ; 2142 + 80 ; 2350 + 81 ; 1624 + 82 ; 2253 + 83 ; 2240 + 84 ; 1732 + 85 ; 2185 + 86 ; 1636 + 87 ; 2209 + 88 ; 1693 + 89 ; 2378 + 90 ; 1882 + 91 ; 1997 + 92 ; 1819 + 93 ; 1962 + 94 ; 1735 + 95 ; 1716 + 96 ; 2258 + 97 ; 1894 + 98 ; 2197 + 99 ; 2107 + 100 ; 2142 + 101 ; 2102 + 102 ; 1856 + 103 ; 2296 + 104 ; 2056 + 105 ; 1897 + 106 ; 1815 + 107 ; 1837 + 108 ; 1981 + 109 ; 2265 + 110 ; 1627 + 111 ; 1713 + 112 ; 1868 + 113 ; 2253 + 114 ; 2328 + 115 ; 2088 + 116 ; 1858 + 117 ; 1793 + 118 ; 1804 + 119 ; 2257 + 120 ; 2370 + 121 ; 2219 + 122 ; 1820 + 123 ; 2355 + 124 ; 2110 + 125 ; 2195 + 126 ; 1987 + 127 ; 2135 + 128 ; 2326 + 129 ; 1889 + 130 ; 1954 + 131 ; 2408 + 132 ; 1921 + 133 ; 2108 + 134 ; 2085 + 135 ; 1870 + 136 ; 1791 + 137 ; 2358 + 138 ; 2179 + 139 ; 2199 + 140 ; 2314 + 141 ; 1676 + 142 ; 1949 + 143 ; 2166 + 144 ; 1934 + 145 ; 1622 + 146 ; 1745 + 147 ; 2082 + 148 ; 2083 + 149 ; 1742 + 150 ; 2063 + 151 ; 2248 + 152 ; 1901 + 153 ; 2374 + 154 ; 2220 + 155 ; 2284 + 156 ; 1820 + 157 ; 2127 + 158 ; 2029 + 159 ; 1809 + 160 ; 2036 + 161 ; 1953 + 162 ; 2347 + 163 ; 1940 + 164 ; 1997 + 165 ; 2299 + 166 ; 1912 + 167 ; 2254 + 168 ; 1718 + 169 ; 1851 + 170 ; 1935 + 171 ; 2330 + 172 ; 1823 + 173 ; 1922 + 174 ; 1993 + 175 ; 2214 + 176 ; 1636 + 177 ; 2234 + 178 ; 2083 + 179 ; 1909 + 180 ; 1787 + 181 ; 1936 + 182 ; 1846 + 183 ; 2019 + 184 ; 1805 + 185 ; 2222 + 186 ; 1719 + 187 ; 1894 + 188 ; 1932 + 189 ; 1892 + 190 ; 1644 + 191 ; 2137 + 192 ; 1764 + 193 ; 1793 + 194 ; 1748 + 195 ; 1619 + 196 ; 1986 + 197 ; 1640 + 198 ; 2121 + 199 ; 2257 + 200 ; 1625 + 201 ; 2063 + 202 ; 1623 + 203 ; 2163 + 204 ; 1881 + 205 ; 1759 + 206 ; 1718 + 207 ; 1730 + 208 ; 1629 + 209 ; 2286 + 210 ; 1777 + 211 ; 1683 + 212 ; 2262 + 213 ; 2400 + 214 ; 2348 + 215 ; 2080 + 216 ; 2393 + 217 ; 2294 + 218 ; 1650 + 219 ; 1969 + 220 ; 2207 + 221 ; 1841 + 222 ; 2118 + 223 ; 1993 + 224 ; 1716 + 225 ; 1829 + 226 ; 2274 + 227 ; 1794 + 228 ; 1693 + 229 ; 1637 + 230 ; 2202 + 231 ; 1839 + 232 ; 1990 + 233 ; 2071 + 234 ; 2218 + 235 ; 2049 + 236 ; 1852 + 237 ; 1783 + 238 ; 2092 + 239 ; 2228 + 240 ; 1965 + 241 ; 2222 + 242 ; 1791 + 243 ; 2125 + 244 ; 1691 + 245 ; 1657 + 246 ; 2407 + 247 ; 1701 + 248 ; 1780 + 249 ; 2335 + 250 ; 2278 + 251 ; 1632 + 252 ; 1961 + 253 ; 2072 + 254 ; 1918 + 255 ; 2193 + 256 ; 1686 + 257 ; 1739 + 258 ; 1707 + 259 ; 1881 + 260 ; 2017 + 261 ; 2375 + 262 ; 1723 + 263 ; 2142 + 264 ; 1680 + 265 ; 1861 + 266 ; 2216 + 267 ; 2332 + 268 ; 1685 + 269 ; 2148 + 270 ; 1995 + 271 ; 1893 + 272 ; 2339 + 273 ; 2176 + 274 ; 2154 + 275 ; 1776 + 276 ; 2387 + 277 ; 2109 + 278 ; 1802 + 279 ; 2010 + 280 ; 2314 + 281 ; 1726 + 282 ; 2259 + 283 ; 2146 + 284 ; 1999 + 285 ; 1801 + 286 ; 2079 + 287 ; 2166 + 288 ; 1843 + 289 ; 2028 + 290 ; 2200 + 291 ; 2332 + 292 ; 2142 + 293 ; 2124 + 294 ; 2026 + 295 ; 1966 + 296 ; 2041 + 297 ; 2292 + 298 ; 1736 + 299 ; 2272 + 300 ; 2024 + 301 ; 1628 + 302 ; 1751 + 303 ; 2375 + 304 ; 1933 + 305 ; 1922 + 306 ; 2334 + 307 ; 2261 + 308 ; 1709 + 309 ; 2128 + 310 ; 1735 + 311 ; 1923 + 312 ; 1797 + 313 ; 1931 + 314 ; 1801 + 315 ; 1663 + 316 ; 2038 + 317 ; 1774 + 318 ; 2381 + 319 ; 1739 + 320 ; 1781 + 321 ; 2077 + 322 ; 1799 + 323 ; 2382 + 324 ; 2389 + 325 ; 1984 + 326 ; 2227 + 327 ; 1618 + 328 ; 2341 + 329 ; 1981 + 330 ; 2400 + 331 ; 2285 + 332 ; 2370 + 333 ; 2292 + 334 ; 1796 + 335 ; 1666 + 336 ; 1881 + 337 ; 1895 + 338 ; 1802 + 339 ; 1697 + 340 ; 2411 + 341 ; 2124 + 342 ; 2104 + 343 ; 1627 + 344 ; 2178 + 345 ; 1949 + 346 ; 1956 + 347 ; 2120 + 348 ; 2032 + 349 ; 1972 + 350 ; 1741 + 351 ; 2202 + 352 ; 2159 + 353 ; 1908 + 354 ; 2166 + 355 ; 2358 + 356 ; 2360 + 357 ; 2047 + 358 ; 1664 + 359 ; 1659 + 360 ; 1771 + 361 ; 1982 + 362 ; 1765 + 363 ; 2089 + 364 ; 2303 + 365 ; 1705 + 366 ; 2184 + 367 ; 2166 + 368 ; 1684 + 369 ; 1660 + 370 ; 2391 + 371 ; 1882 + 372 ; 2130 + 373 ; 1752 + 374 ; 2104 + 375 ; 1954 + 376 ; 1666 + 377 ; 2208 + 378 ; 2314 + 379 ; 2050 + 380 ; 1640 + 381 ; 1772 + 382 ; 1947 + 383 ; 2265 + 384 ; 1742 + 385 ; 2318 + 386 ; 2116 + 387 ; 2412 + 388 ; 2294 + 389 ; 1889 + 390 ; 2018 + 391 ; 1966 + 392 ; 1998 + 393 ; 2090 + 394 ; 2010 + 395 ; 1851 + 396 ; 2135 + 397 ; 2358 + 398 ; 2162 + 399 ; 1805 + 400 ; 1818 + 401 ; 1878 + 402 ; 2234 + 403 ; 1673 + 404 ; 1949 + 405 ; 2274 + 406 ; 2087 + 407 ; 2033 + 408 ; 1919 + 409 ; 1875 + 410 ; 2137 + 411 ; 1906 + 412 ; 2320 + 413 ; 2103 + 414 ; 1843 + 415 ; 1897 + 416 ; 2348 + 417 ; 1632 + 418 ; 1748 + 419 ; 2026 + 420 ; 2217 + 421 ; 2140 + 422 ; 2340 + 423 ; 1650 + 424 ; 2345 + 425 ; 2212 + 426 ; 2054 + 427 ; 1670 + 428 ; 2315 + 429 ; 1902 + 430 ; 2273 + 431 ; 2153 + 432 ; 2082 + 433 ; 2125 + 434 ; 1713 + 435 ; 1866 + 436 ; 2245 + 437 ; 1815 + 438 ; 2249 + 439 ; 2125 + 440 ; 1640 + 441 ; 2194 + 442 ; 2248 + 443 ; 2230 + 444 ; 2351 + 445 ; 1813 + 446 ; 2090 + 447 ; 1879 + 448 ; 1835 + 449 ; 2362 + 450 ; 1777 + 451 ; 2070 + 452 ; 1860 + 453 ; 1654 + 454 ; 1991 + 455 ; 1815 + 456 ; 2212 + 457 ; 2010 + 458 ; 2046 + 459 ; 2061 + 460 ; 1869 + 461 ; 1955 + 462 ; 2112 + 463 ; 2286 + 464 ; 1754 + 465 ; 1769 + 466 ; 1640 + 467 ; 1822 + 468 ; 2148 + 469 ; 2301 + 470 ; 2009 + 471 ; 1989 + 472 ; 1763 + 473 ; 1628 + 474 ; 1736 + 475 ; 1943 + 476 ; 2338 + 477 ; 1950 + 478 ; 2271 + 479 ; 1631 + 480 ; 2382 + 481 ; 2263 + 482 ; 2134 + 483 ; 1757 + 484 ; 1997 + 485 ; 1647 + 486 ; 1679 + 487 ; 2006 + 488 ; 1822 + 489 ; 2114 + 490 ; 1874 + 491 ; 2329 + 492 ; 2116 + 493 ; 1863 + 494 ; 2021 + 495 ; 2226 + 496 ; 1661 + 497 ; 1718 + 498 ; 2188 + 499 ; 2087 + 500 ; 2202 + 501 ; 1945 + 502 ; 1848 + 503 ; 1654 + 504 ; 1614 + 505 ; 2110 + 506 ; 1974 + 507 ; 2412 + 508 ; 2304 + 509 ; 2405 + 510 ; 1914 + 511 ; 1981 + 512 ; 1903 + 513 ; 2220 + 514 ; 1616 + 515 ; 1647 + 516 ; 1657 + 517 ; 1984 + 518 ; 2100 + 519 ; 1620 + 520 ; 1758 + 521 ; 2399 + 522 ; 1752 + 523 ; 1658 + 524 ; 2243 + 525 ; 2212 + 526 ; 2112 + 527 ; 2387 + 528 ; 2151 + 529 ; 2364 + 530 ; 1908 + 531 ; 1641 + 532 ; 2271 + 533 ; 2272 + 534 ; 2041 + 535 ; 2210 + 536 ; 2353 + 537 ; 1744 + 538 ; 1758 + 539 ; 1813 + 540 ; 1734 + 541 ; 1912 + 542 ; 2335 + 543 ; 1837 + 544 ; 1730 + 545 ; 1644 + 546 ; 1711 + 547 ; 2308 + 548 ; 2194 + 549 ; 1892 + 550 ; 1757 + 551 ; 1811 + 552 ; 2412 + 553 ; 2342 + 554 ; 1834 + 555 ; 1982 + 556 ; 2164 + 557 ; 1989 + 558 ; 2008 + 559 ; 1969 + 560 ; 2257 + 561 ; 2067 + 562 ; 2167 + 563 ; 2289 + 564 ; 2388 + 565 ; 2224 + 566 ; 1966 + 567 ; 1718 + 568 ; 2123 + 569 ; 2087 + 570 ; 1993 + 571 ; 2392 + 572 ; 1880 + 573 ; 2087 + 574 ; 2098 + 575 ; 1741 + 576 ; 1905 + 577 ; 2326 + 578 ; 2018 + 579 ; 2246 + 580 ; 2340 + 581 ; 1777 + 582 ; 1845 + 583 ; 2233 + 584 ; 1689 + 585 ; 1776 + 586 ; 1994 + 587 ; 2328 + 588 ; 2014 + 589 ; 2079 + 590 ; 2373 + 591 ; 2219 + 592 ; 2262 + 593 ; 2393 + 594 ; 2052 + 595 ; 2235 + 596 ; 1917 + 597 ; 2257 + 598 ; 1817 + 599 ; 2378 + 600 ; 2258 + 601 ; 1693 + 602 ; 2351 + 603 ; 1620 + 604 ; 2146 + 605 ; 1805 + 606 ; 2136 + 607 ; 2008 + 608 ; 1728 + 609 ; 1703 + 610 ; 2213 + 611 ; 1723 + 612 ; 2123 + 613 ; 1754 + 614 ; 2030 + 615 ; 1793 + 616 ; 2191 + 617 ; 2191 + 618 ; 2133 + 619 ; 2332 + 620 ; 2083 + 621 ; 1929 + 622 ; 2256 + 623 ; 1612 + 624 ; 1698 + 625 ; 2284 + 626 ; 1809 + 627 ; 2361 + 628 ; 1993 + 629 ; 1777 + 630 ; 1748 + 631 ; 2195 + 632 ; 2408 + 633 ; 2374 + 634 ; 2264 + 635 ; 2146 + 636 ; 2339 + 637 ; 1778 + 638 ; 2192 + 639 ; 2102 + 640 ; 1676 + 641 ; 2290 + 642 ; 1762 + 643 ; 1975 + 644 ; 1652 + 645 ; 1824 + 646 ; 1616 + 647 ; 2264 + 648 ; 2352 + 649 ; 2311 + 650 ; 2077 + 651 ; 2196 + 652 ; 1717 + 653 ; 2293 + 654 ; 2141 + 655 ; 1884 + 656 ; 1957 + 657 ; 1870 + 658 ; 1938 + 659 ; 1812 + 660 ; 2336 + 661 ; 1875 + 662 ; 2185 + 663 ; 1719 + 664 ; 2014 + 665 ; 1947 + 666 ; 2265 + 667 ; 2283 + 668 ; 2410 + 669 ; 2287 + 670 ; 2412 + 671 ; 1888 + 672 ; 1741 + 673 ; 1805 + 674 ; 1704 + 675 ; 1740 + 676 ; 1654 + 677 ; 2374 + 678 ; 1661 + 679 ; 1792 + 680 ; 1728 + 681 ; 2245 + 682 ; 1920 + 683 ; 2400 + 684 ; 2134 + 685 ; 1661 + 686 ; 2181 + 687 ; 1901 + 688 ; 1793 + 689 ; 2117 + 690 ; 2335 + 691 ; 1649 + 692 ; 2226 + 693 ; 1620 + 694 ; 1991 + 695 ; 2059 + 696 ; 1868 + 697 ; 1963 + 698 ; 1734 + 699 ; 1627 + 700 ; 2354 + 701 ; 1831 + 702 ; 1865 + 703 ; 2135 + 704 ; 2249 + 705 ; 1755 + 706 ; 1758 + 707 ; 1851 + 708 ; 1966 + 709 ; 1733 + 710 ; 1870 + 711 ; 2388 + 712 ; 2265 + 713 ; 2351 + 714 ; 1818 + 715 ; 1676 + 716 ; 2366 + 717 ; 1807 + 718 ; 1966 + 719 ; 1733 + 720 ; 1947 + 721 ; 2294 + 722 ; 2166 + 723 ; 1982 + 724 ; 1747 + 725 ; 2192 + 726 ; 2079 + 727 ; 2206 + 728 ; 1647 + 729 ; 2326 + 730 ; 2265 + 731 ; 2010 + 732 ; 2396 + 733 ; 1661 + 734 ; 2023 + 735 ; 1890 + 736 ; 2362 + 737 ; 2263 + 738 ; 2217 + 739 ; 2163 + 740 ; 2128 + 741 ; 1881 + 742 ; 2147 + 743 ; 2122 + 744 ; 1988 + 745 ; 2079 + 746 ; 1913 + 747 ; 2126 + 748 ; 2307 + 749 ; 1753 + 750 ; 2031 + 751 ; 2198 + 752 ; 2144 + 753 ; 2089 + 754 ; 2286 + 755 ; 1873 + 756 ; 2344 + 757 ; 2125 + 758 ; 1830 + 759 ; 1716 + 760 ; 2116 + 761 ; 1685 + 762 ; 2151 + 763 ; 2384 + 764 ; 2011 + 765 ; 1798 + 766 ; 2349 + 767 ; 2259 + 768 ; 1845 + 769 ; 2133 + 770 ; 2100 + 771 ; 1848 + 772 ; 1962 + 773 ; 2387 + 774 ; 2335 + 775 ; 2167 + 776 ; 2412 + 777 ; 2053 + 778 ; 2210 + 779 ; 1656 + 780 ; 1744 + 781 ; 1829 + 782 ; 1733 + 783 ; 2179 + 784 ; 2152 + 785 ; 1676 + 786 ; 1995 + 787 ; 2048 + 788 ; 2111 + 789 ; 2407 + 790 ; 1680 + 791 ; 2076 + 792 ; 2273 + 793 ; 1934 + 794 ; 2345 + 795 ; 1698 + 796 ; 1830 + 797 ; 2068 + 798 ; 1975 + 799 ; 2350 + 800 ; 2084 + 801 ; 2248 + 802 ; 2175 + 803 ; 1685 + 804 ; 2276 + 805 ; 1769 + 806 ; 2318 + 807 ; 1617 + 808 ; 1919 + 809 ; 1765 + 810 ; 2148 + 811 ; 2362 + 812 ; 1851 + 813 ; 2288 + 814 ; 1638 + 815 ; 2088 + 816 ; 2120 + 817 ; 2109 + 818 ; 1909 + 819 ; 2318 + 820 ; 2320 + 821 ; 2214 + 822 ; 1949 + 823 ; 1945 + 824 ; 2012 + 825 ; 1941 + 826 ; 2363 + 827 ; 1641 + 828 ; 1906 + 829 ; 1853 + 830 ; 2082 + 831 ; 1629 + 832 ; 1790 + 833 ; 1878 + 834 ; 2196 + 835 ; 2101 + 836 ; 2063 + 837 ; 1688 + 838 ; 2185 + 839 ; 2111 + 840 ; 2370 + 841 ; 2139 + 842 ; 2270 + 843 ; 2079 + 844 ; 1986 + 845 ; 1703 + 846 ; 1931 + 847 ; 1874 + 848 ; 1891 + 849 ; 2236 + 850 ; 2314 + 851 ; 1830 + 852 ; 2307 + 853 ; 1616 + 854 ; 1811 + 855 ; 1829 + 856 ; 2016 + 857 ; 2357 + 858 ; 1641 + 859 ; 1797 + 860 ; 1823 + 861 ; 1974 + 862 ; 1941 + 863 ; 2146 + 864 ; 2327 + 865 ; 1699 + 866 ; 1763 + 867 ; 2364 + 868 ; 2219 + 869 ; 1711 + 870 ; 2135 + 871 ; 2151 + 872 ; 1785 + 873 ; 1968 + 874 ; 2370 + 875 ; 2288 + 876 ; 2135 + 877 ; 2126 + 878 ; 1827 + 879 ; 1871 + 880 ; 2013 + 881 ; 2074 + 882 ; 2176 + 883 ; 2257 + 884 ; 1838 + 885 ; 2027 + 886 ; 1831 + 887 ; 2226 + 888 ; 1969 + 889 ; 1617 + 890 ; 2401 + 891 ; 1979 + 892 ; 2074 + 893 ; 1703 + 894 ; 1724 + 895 ; 2003 + 896 ; 2136 + 897 ; 2246 + 898 ; 2314 + 899 ; 2026 + 900 ; 1679 + 901 ; 1801 + 902 ; 2135 + 903 ; 1864 + 904 ; 2211 + 905 ; 1648 + 906 ; 2221 + 907 ; 2057 + 908 ; 2397 + 909 ; 1689 + 910 ; 1921 + 911 ; 2130 + 912 ; 1751 + 913 ; 2100 + 914 ; 2376 + 915 ; 1726 + 916 ; 2098 + 917 ; 2261 + 918 ; 2360 + 919 ; 1783 + 920 ; 2277 + 921 ; 1813 + 922 ; 1860 + 923 ; 1912 + 924 ; 2340 + 925 ; 2193 + 926 ; 1715 + 927 ; 1725 + 928 ; 1983 + 929 ; 2297 + 930 ; 2283 + 931 ; 1748 + 932 ; 2252 + 933 ; 1627 + 934 ; 1796 + 935 ; 2240 + 936 ; 1673 + 937 ; 1767 + 938 ; 2011 + 939 ; 2041 + 940 ; 2186 + 941 ; 1654 + 942 ; 1884 + 943 ; 1963 + 944 ; 2303 + 945 ; 2277 + 946 ; 2068 + 947 ; 1926 + 948 ; 1658 + 949 ; 1686 + 950 ; 1736 + 951 ; 1835 + 952 ; 1637 + 953 ; 1898 + 954 ; 1767 + 955 ; 2370 + 956 ; 1915 + 957 ; 2332 + 958 ; 1983 + 959 ; 2345 + 960 ; 1703 + 961 ; 1961 + 962 ; 2322 + 963 ; 2132 + 964 ; 1826 + 965 ; 1699 + 966 ; 2371 + 967 ; 2117 + 968 ; 2156 + 969 ; 2089 + 970 ; 1664 + 971 ; 1785 + 972 ; 1974 + 973 ; 1649 + 974 ; 2281 + 975 ; 1777 + 976 ; 2320 + 977 ; 2135 + 978 ; 2352 + 979 ; 1717 + 980 ; 2087 + 981 ; 1695 + 982 ; 2236 + 983 ; 2215 + 984 ; 1704 + 985 ; 2039 + 986 ; 2121 + 987 ; 2352 + 988 ; 2064 + 989 ; 2010 + 990 ; 2101 + 991 ; 2028 + 992 ; 2119 + 993 ; 2403 + 994 ; 2372 + 995 ; 2409 + 996 ; 1873 + 997 ; 1627 + 998 ; 1843 + 999 ; 2279 + 1000 ; 1969 + 1001 ; 1987 + 1002 ; 1838 + 1003 ; 2100 + 1004 ; 1983 + 1005 ; 2058 + 1006 ; 1668 + 1007 ; 1844 + 1008 ; 2362 + 1009 ; 2104 + 1010 ; 1680 + 1011 ; 1726 + 1012 ; 1685 + 1013 ; 1800 + 1014 ; 1933 + 1015 ; 2086 + 1016 ; 2264 + 1017 ; 2364 + 1018 ; 1941 + 1019 ; 2396 + 1020 ; 2215 + 1021 ; 2378 + 1022 ; 2199 + 1023 ; 2245 + 1024 ; 1936 + 1025 ; 2138 + 1026 ; 2283 + 1027 ; 2308 + 1028 ; 1874 + 1029 ; 1732 + 1030 ; 1765 + 1031 ; 1891 + 1032 ; 2275 + 1033 ; 1914 + 1034 ; 2254 + 1035 ; 2388 + 1036 ; 2375 + 1037 ; 2303 + 1038 ; 2384 + 1039 ; 2130 + 1040 ; 2060 + 1041 ; 2015 + 1042 ; 2102 + 1043 ; 2227 + 1044 ; 2024 + 1045 ; 2270 + 1046 ; 2223 + 1047 ; 2356 + 1048 ; 2236 + 1049 ; 1679 + 1050 ; 1793 + 1051 ; 2215 + 1052 ; 2335 + 1053 ; 1990 + 1054 ; 1626 + 1055 ; 2138 + 1056 ; 2218 + 1057 ; 2410 + 1058 ; 2396 + 1059 ; 1911 + 1060 ; 1683 + 1061 ; 2407 + 1062 ; 1771 + 1063 ; 1679 + 1064 ; 1619 + 1065 ; 1818 + 1066 ; 2132 + 1067 ; 2410 + 1068 ; 1631 + 1069 ; 2106 + 1070 ; 2142 + 1071 ; 2258 + 1072 ; 2141 + 1073 ; 1692 + 1074 ; 2135 + 1075 ; 2336 + 1076 ; 2299 + 1077 ; 1835 + 1078 ; 1850 + 1079 ; 2191 + 1080 ; 2329 + 1081 ; 2071 + 1082 ; 2148 + 1083 ; 1912 + 1084 ; 2176 + 1085 ; 1957 + 1086 ; 2085 + 1087 ; 2235 + 1088 ; 1999 + 1089 ; 1736 + 1090 ; 1612 + 1091 ; 1947 + 1092 ; 1916 + 1093 ; 1816 + 1094 ; 1850 + 1095 ; 2171 + 1096 ; 1770 + 1097 ; 1851 + 1098 ; 2258 + 1099 ; 2358 + 1100 ; 2315 + 1101 ; 2208 + 1102 ; 1909 + 1103 ; 1732 + 1104 ; 2042 + 1105 ; 1800 + 1106 ; 1911 + 1107 ; 1656 + 1108 ; 2353 + 1109 ; 2118 + 1110 ; 2385 + 1111 ; 1754 + 1112 ; 2218 + 1113 ; 2268 + 1114 ; 1741 + 1115 ; 2137 + 1116 ; 1774 + 1117 ; 1972 + 1118 ; 1906 + 1119 ; 1628 + 1120 ; 1870 + 1121 ; 2061 + 1122 ; 2409 + 1123 ; 2036 + 1124 ; 1767 + 1125 ; 1634 + 1126 ; 1628 + 1127 ; 2046 + 1128 ; 2317 + 1129 ; 2153 + 1130 ; 1716 + 1131 ; 2142 + 1132 ; 1702 + 1133 ; 1866 + 1134 ; 2231 + 1135 ; 2124 + 1136 ; 1947 + 1137 ; 1988 + 1138 ; 2297 + 1139 ; 2013 + 1140 ; 1723 + 1141 ; 1689 + 1142 ; 1793 + 1143 ; 2021 + 1144 ; 2007 + 1145 ; 2268 + 1146 ; 2040 + 1147 ; 2212 + 1148 ; 2387 + 1149 ; 2228 + 1150 ; 1868 + 1151 ; 2089 + 1152 ; 1942 + 1153 ; 1993 + 1154 ; 2329 + 1155 ; 2095 + 1156 ; 1921 + 1157 ; 2227 + 1158 ; 1747 + 1159 ; 2096 + 1160 ; 1764 + 1161 ; 2056 + 1162 ; 2268 + 1163 ; 1839 + 1164 ; 2370 + 1165 ; 2268 + 1166 ; 1983 + 1167 ; 2240 + 1168 ; 1637 + 1169 ; 1675 + 1170 ; 1687 + 1171 ; 1862 + 1172 ; 2203 + 1173 ; 1798 + 1174 ; 1722 + 1175 ; 2129 + 1176 ; 2000 + 1177 ; 1725 + 1178 ; 2117 + 1179 ; 2389 + 1180 ; 2168 + 1181 ; 2343 + 1182 ; 2103 + 1183 ; 1938 + 1184 ; 2014 + 1185 ; 2027 + 1186 ; 2053 + 1187 ; 1882 + 1188 ; 1614 + 1189 ; 1759 + 1190 ; 2072 + 1191 ; 1704 + 1192 ; 1927 + 1193 ; 1678 + 1194 ; 2351 + 1195 ; 2273 + 1196 ; 2135 + 1197 ; 2404 + 1198 ; 2032 + 1199 ; 1708 + 1200 ; 2168 + 1201 ; 1940 + 1202 ; 1636 + 1203 ; 2149 + 1204 ; 1648 + 1205 ; 1750 + 1206 ; 1900 + 1207 ; 1873 + 1208 ; 1844 + 1209 ; 2009 + 1210 ; 2382 + 1211 ; 1631 + 1212 ; 1793 + 1213 ; 2309 + 1214 ; 1787 + 1215 ; 1980 + 1216 ; 2138 + 1217 ; 2354 + 1218 ; 2132 + 1219 ; 1782 + 1220 ; 1738 + 1221 ; 2016 + 1222 ; 1828 + 1223 ; 1751 + 1224 ; 1872 + 1225 ; 1869 + 1226 ; 2362 + 1227 ; 1982 + 1228 ; 1791 + 1229 ; 1976 + 1230 ; 2114 + 1231 ; 2163 + 1232 ; 2006 + 1233 ; 2000 + 1234 ; 2374 + 1235 ; 1633 + 1236 ; 1933 + 1237 ; 1873 + 1238 ; 2184 + 1239 ; 1767 + 1240 ; 1939 + 1241 ; 1837 + 1242 ; 2124 + 1243 ; 1961 + 1244 ; 2316 + 1245 ; 1960 + 1246 ; 2263 + 1247 ; 2147 + 1248 ; 1946 + 1249 ; 1737 + 1250 ; 1838 + 1251 ; 2064 + 1252 ; 2119 + 1253 ; 1724 + 1254 ; 2229 + 1255 ; 2215 + 1256 ; 1665 + 1257 ; 2281 + 1258 ; 2206 + 1259 ; 1947 + 1260 ; 1817 + 1261 ; 1677 + 1262 ; 2357 + 1263 ; 2296 + 1264 ; 2197 + 1265 ; 2258 + 1266 ; 1733 + 1267 ; 2242 + 1268 ; 1674 + 1269 ; 1868 + 1270 ; 1616 + 1271 ; 1708 + 1272 ; 1936 + 1273 ; 2021 + 1274 ; 2086 + 1275 ; 1722 + 1276 ; 2144 + 1277 ; 1790 + 1278 ; 2010 + 1279 ; 1803 + 1280 ; 1937 + 1281 ; 2000 + 1282 ; 1771 + 1283 ; 2355 + 1284 ; 2201 + 1285 ; 2145 + 1286 ; 2379 + 1287 ; 2141 + 1288 ; 1959 + 1289 ; 2211 + 1290 ; 2014 + 1291 ; 2212 + 1292 ; 2050 + 1293 ; 2032 + 1294 ; 2055 + 1295 ; 2025 + 1296 ; 1858 + 1297 ; 2162 + 1298 ; 1701 + 1299 ; 1933 + 1300 ; 2089 + 1301 ; 2310 + 1302 ; 1745 + 1303 ; 1710 + 1304 ; 2104 + 1305 ; 1626 + 1306 ; 2265 + 1307 ; 2203 + 1308 ; 1843 + 1309 ; 1849 + 1310 ; 2309 + 1311 ; 1844 + 1312 ; 2231 + 1313 ; 1761 + 1314 ; 2135 + 1315 ; 1825 + 1316 ; 1696 + 1317 ; 1668 + 1318 ; 1878 + 1319 ; 1832 + 1320 ; 2223 + 1321 ; 1733 + 1322 ; 1922 + 1323 ; 1937 + 1324 ; 1738 + 1325 ; 1859 + 1326 ; 2033 + 1327 ; 1735 + 1328 ; 2185 + 1329 ; 2276 + 1330 ; 1661 + 1331 ; 2243 + 1332 ; 1691 + 1333 ; 2212 + 1334 ; 2070 + 1335 ; 1983 + 1336 ; 1905 + 1337 ; 2322 + 1338 ; 1858 + 1339 ; 1829 + 1340 ; 2374 + 1341 ; 2011 + 1342 ; 2026 + 1343 ; 1866 + 1344 ; 1681 + 1345 ; 2370 + 1346 ; 2139 + 1347 ; 2364 + 1348 ; 1965 + 1349 ; 2394 + 1350 ; 1942 + 1351 ; 2108 + 1352 ; 2097 + 1353 ; 1934 + 1354 ; 1687 + 1355 ; 2161 + 1356 ; 1701 + 1357 ; 1683 + 1358 ; 2184 + 1359 ; 1841 + 1360 ; 2165 + 1361 ; 1818 + 1362 ; 2272 + 1363 ; 1911 + 1364 ; 2092 + 1365 ; 1620 + 1366 ; 1719 + 1367 ; 1762 + 1368 ; 2264 + 1369 ; 2161 + 1370 ; 2215 + 1371 ; 2174 + 1372 ; 1967 + 1373 ; 2193 + 1374 ; 2114 + 1375 ; 1710 + 1376 ; 1634 + 1377 ; 2193 + 1378 ; 1757 + 1379 ; 1668 + 1380 ; 1769 + 1381 ; 1853 + 1382 ; 1993 + 1383 ; 2052 + 1384 ; 1736 + 1385 ; 2259 + 1386 ; 2047 + 1387 ; 2102 + 1388 ; 2105 + 1389 ; 2243 + 1390 ; 2248 + 1391 ; 2174 + 1392 ; 2114 + 1393 ; 1682 + 1394 ; 1653 + 1395 ; 1640 + 1396 ; 1809 + 1397 ; 1868 + 1398 ; 1774 + 1399 ; 2226 + 1400 ; 1878 + 1401 ; 2258 + 1402 ; 2027 + 1403 ; 2321 + 1404 ; 1943 + 1405 ; 1664 + 1406 ; 2091 + 1407 ; 1957 + 1408 ; 2306 + 1409 ; 1900 + 1410 ; 2310 + 1411 ; 1963 + 1412 ; 2213 + 1413 ; 2075 + 1414 ; 1742 + 1415 ; 2034 + 1416 ; 1881 + 1417 ; 2357 + 1418 ; 1969 + 1419 ; 2267 + 1420 ; 1759 + 1421 ; 1924 + 1422 ; 2036 + 1423 ; 2324 + 1424 ; 2105 + 1425 ; 1812 + 1426 ; 1983 + 1427 ; 2091 + 1428 ; 2218 + 1429 ; 1683 + 1430 ; 1969 + 1431 ; 1953 + 1432 ; 2367 + 1433 ; 2183 + 1434 ; 2037 + 1435 ; 1742 + 1436 ; 1647 + 1437 ; 1898 + 1438 ; 2313 + 1439 ; 1829 + 1440 ; 1953 + 1441 ; 1741 + 1442 ; 2002 + 1443 ; 2102 + 1444 ; 1755 + 1445 ; 1841 + 1446 ; 1775 + 1447 ; 2269 + 1448 ; 1764 + 1449 ; 2243 + 1450 ; 1960 + 1451 ; 1637 + 1452 ; 1878 + 1453 ; 2075 + 1454 ; 2131 + 1455 ; 1772 + 1456 ; 2366 + 1457 ; 2090 + 1458 ; 2300 + 1459 ; 2309 + 1460 ; 2095 + 1461 ; 1681 + 1462 ; 2205 + 1463 ; 1674 + 1464 ; 2194 + 1465 ; 2342 + 1466 ; 1946 + 1467 ; 2255 + 1468 ; 2300 + 1469 ; 1878 + 1470 ; 1637 + 1471 ; 2112 + 1472 ; 2007 + 1473 ; 1625 + 1474 ; 1749 + 1475 ; 1886 + 1476 ; 2316 + 1477 ; 2145 + 1478 ; 2051 + 1479 ; 1685 + 1480 ; 1924 + 1481 ; 2117 + 1482 ; 2338 + 1483 ; 1772 + 1484 ; 2401 + 1485 ; 2249 + 1486 ; 2376 + 1487 ; 1924 + 1488 ; 1628 + 1489 ; 1953 + 1490 ; 2033 + 1491 ; 2211 + 1492 ; 2275 + 1493 ; 2062 + 1494 ; 2256 + 1495 ; 2212 + 1496 ; 2350 + 1497 ; 1734 + 1498 ; 1812 + 1499 ; 1648 + 1500 ; 2015 + 1501 ; 1865 + 1502 ; 2293 + 1503 ; 1795 + 1504 ; 1671 + 1505 ; 2236 + 1506 ; 1976 + 1507 ; 1965 + 1508 ; 2105 + 1509 ; 1754 + 1510 ; 2187 + 1511 ; 2402 + 1512 ; 1707 + 1513 ; 2214 + 1514 ; 1745 + 1515 ; 1770 + 1516 ; 1708 + 1517 ; 2057 + 1518 ; 2268 + 1519 ; 1670 + 1520 ; 2315 + 1521 ; 2019 + 1522 ; 1731 + 1523 ; 2140 + 1524 ; 1877 + 1525 ; 1639 + 1526 ; 2301 + 1527 ; 2059 + 1528 ; 2007 + 1529 ; 1981 + 1530 ; 1666 + 1531 ; 2188 + 1532 ; 2391 + 1533 ; 1908 + 1534 ; 1865 + 1535 ; 2266 + 1536 ; 1883 + 1537 ; 2245 + 1538 ; 2057 + 1539 ; 1766 + 1540 ; 2244 + 1541 ; 1747 + 1542 ; 2368 + 1543 ; 2163 + 1544 ; 2357 + 1545 ; 2250 + 1546 ; 2271 + 1547 ; 2104 + 1548 ; 1992 + 1549 ; 2106 + 1550 ; 2302 + 1551 ; 1850 + 1552 ; 2327 + 1553 ; 2281 + 1554 ; 2012 + 1555 ; 2236 + 1556 ; 1903 + 1557 ; 2350 + 1558 ; 2270 + 1559 ; 2182 + 1560 ; 1892 + 1561 ; 1709 + 1562 ; 1749 + 1563 ; 2003 + 1564 ; 1846 + 1565 ; 2284 + 1566 ; 1683 + 1567 ; 1853 + 1568 ; 1992 + 1569 ; 1634 + 1570 ; 2359 + 1571 ; 2099 + 1572 ; 2270 + 1573 ; 2274 + 1574 ; 1917 + 1575 ; 2260 + 1576 ; 1826 + 1577 ; 2031 + 1578 ; 2000 + 1579 ; 1869 + 1580 ; 1702 + 1581 ; 1963 + 1582 ; 1758 + 1583 ; 2005 + 1584 ; 2022 + 1585 ; 2388 + 1586 ; 2124 + 1587 ; 2072 + 1588 ; 2129 + 1589 ; 2359 + 1590 ; 2256 + 1591 ; 2008 + 1592 ; 2133 + 1593 ; 2349 + 1594 ; 1992 + 1595 ; 2348 + 1596 ; 1918 + 1597 ; 2373 + 1598 ; 1759 + 1599 ; 2081 + 1600 ; 2251 + 1601 ; 1666 + 1602 ; 1914 + 1603 ; 2168 + 1604 ; 2035 + 1605 ; 1856 + 1606 ; 1744 + 1607 ; 2134 + 1608 ; 1803 + 1609 ; 2082 + 1610 ; 2106 + 1611 ; 1833 + 1612 ; 1926 + 1613 ; 1683 + 1614 ; 2331 + 1615 ; 2166 + 1616 ; 1756 + 1617 ; 2210 + 1618 ; 2255 + 1619 ; 1956 + 1620 ; 1802 + 1621 ; 2009 + 1622 ; 1619 + 1623 ; 2065 + 1624 ; 1777 + 1625 ; 2385 + 1626 ; 2244 + 1627 ; 2379 + 1628 ; 1869 + 1629 ; 1998 + 1630 ; 2078 + 1631 ; 2211 + 1632 ; 2266 + 1633 ; 2003 + 1634 ; 1861 + 1635 ; 2256 + 1636 ; 2079 + 1637 ; 2257 + 1638 ; 1839 + 1639 ; 2209 + 1640 ; 2229 + 1641 ; 2095 + 1642 ; 1831 + 1643 ; 2236 + 1644 ; 2159 + 1645 ; 2159 + 1646 ; 2039 + 1647 ; 2300 + 1648 ; 1702 + 1649 ; 2136 + 1650 ; 1868 + 1651 ; 2285 + 1652 ; 1860 + 1653 ; 1747 + 1654 ; 2290 + 1655 ; 2364 + 1656 ; 1792 + 1657 ; 2148 + 1658 ; 2147 + 1659 ; 1896 + 1660 ; 2188 + 1661 ; 1685 + 1662 ; 2146 + 1663 ; 1937 + 1664 ; 1991 + 1665 ; 2289 + 1666 ; 1992 + 1667 ; 1891 + 1668 ; 2022 + 1669 ; 2001 + 1670 ; 2065 + 1671 ; 1645 + 1672 ; 2165 + 1673 ; 1771 + 1674 ; 1824 + 1675 ; 2013 + 1676 ; 1667 + 1677 ; 2185 + 1678 ; 1956 + 1679 ; 2322 + 1680 ; 2018 + 1681 ; 1832 + 1682 ; 1720 + 1683 ; 1928 + 1684 ; 1709 + 1685 ; 1798 + 1686 ; 2253 + 1687 ; 2053 + 1688 ; 1623 + 1689 ; 2285 + 1690 ; 2377 + 1691 ; 2173 + 1692 ; 1948 + 1693 ; 1862 + 1694 ; 1883 + 1695 ; 2196 + 1696 ; 1926 + 1697 ; 2040 + 1698 ; 2130 + 1699 ; 2032 + 1700 ; 1762 + 1701 ; 2312 + 1702 ; 1669 + 1703 ; 1622 + 1704 ; 1777 + 1705 ; 1783 + 1706 ; 1995 + 1707 ; 2224 + 1708 ; 2390 + 1709 ; 2185 + 1710 ; 2091 + 1711 ; 1910 + 1712 ; 1981 + 1713 ; 2291 + 1714 ; 2187 + 1715 ; 2159 + 1716 ; 2192 + 1717 ; 2210 + 1718 ; 1871 + 1719 ; 1962 + 1720 ; 2150 + 1721 ; 2094 + 1722 ; 1696 + 1723 ; 2239 + 1724 ; 2260 + 1725 ; 1771 + 1726 ; 1795 + 1727 ; 1738 + 1728 ; 1791 + 1729 ; 2000 + 1730 ; 1763 + 1731 ; 2151 + 1732 ; 2164 + 1733 ; 2063 + 1734 ; 2305 + 1735 ; 1897 + 1736 ; 2018 + 1737 ; 1732 + 1738 ; 2068 + 1739 ; 2206 + 1740 ; 1666 + 1741 ; 1971 + 1742 ; 1732 + 1743 ; 2354 + 1744 ; 1813 + 1745 ; 2382 + 1746 ; 1947 + 1747 ; 2351 + 1748 ; 2378 + 1749 ; 2291 + 1750 ; 1835 + 1751 ; 1853 + 1752 ; 2379 + 1753 ; 1982 + 1754 ; 1731 + 1755 ; 1924 + 1756 ; 1740 + 1757 ; 2327 + 1758 ; 2108 + 1759 ; 2314 + 1760 ; 2203 + 1761 ; 1985 + 1762 ; 2322 + 1763 ; 2353 + 1764 ; 2237 + 1765 ; 1659 + 1766 ; 2190 + 1767 ; 1930 + 1768 ; 2033 + 1769 ; 2016 + 1770 ; 2177 + 1771 ; 1743 + 1772 ; 1717 + 1773 ; 1761 + 1774 ; 1677 + 1775 ; 2289 + 1776 ; 2103 + 1777 ; 2276 + 1778 ; 2304 + 1779 ; 2389 + 1780 ; 2347 + 1781 ; 1947 + 1782 ; 1708 + 1783 ; 1969 + 1784 ; 1778 + 1785 ; 1764 + 1786 ; 2364 + 1787 ; 1647 + 1788 ; 2194 + 1789 ; 2002 + 1790 ; 2325 + 1791 ; 2327 + 1792 ; 2075 + 1793 ; 2249 + 1794 ; 1714 + 1795 ; 2240 + 1796 ; 2265 + 1797 ; 2325 + 1798 ; 2112 + 1799 ; 1939 + 1800 ; 2260 + 1801 ; 2385 + 1802 ; 2137 + 1803 ; 1973 + 1804 ; 2047 + 1805 ; 1831 + 1806 ; 1676 + 1807 ; 2215 + 1808 ; 2074 + 1809 ; 1842 + 1810 ; 1975 + 1811 ; 2269 + 1812 ; 1783 + 1813 ; 2032 + 1814 ; 2086 + 1815 ; 2137 + 1816 ; 2241 + 1817 ; 1791 + 1818 ; 1797 + 1819 ; 2099 + 1820 ; 2087 + 1821 ; 2148 + 1822 ; 1703 + 1823 ; 2284 + 1824 ; 2270 + 1825 ; 1796 + 1826 ; 1665 + 1827 ; 1874 + 1828 ; 2139 + 1829 ; 1764 + 1830 ; 1791 + 1831 ; 1639 + 1832 ; 1715 + 1833 ; 1740 + 1834 ; 2214 + 1835 ; 2148 + 1836 ; 2410 + 1837 ; 1998 + 1838 ; 2396 + 1839 ; 1797 + 1840 ; 2373 + 1841 ; 2201 + 1842 ; 2259 + 1843 ; 1996 + 1844 ; 2254 + 1845 ; 2380 + 1846 ; 1832 + 1847 ; 2198 + 1848 ; 2337 + 1849 ; 2356 + 1850 ; 1707 + 1851 ; 2194 + 1852 ; 1980 + 1853 ; 2276 + 1854 ; 2167 + 1855 ; 1936 + 1856 ; 2268 + 1857 ; 1738 + 1858 ; 2044 + 1859 ; 2069 + 1860 ; 1741 + 1861 ; 1819 + 1862 ; 2389 + 1863 ; 2046 + 1864 ; 2101 + 1865 ; 2277 + 1866 ; 1759 + 1867 ; 1778 + 1868 ; 1655 + 1869 ; 1703 + 1870 ; 1850 + 1871 ; 1664 + 1872 ; 2206 + 1873 ; 1722 + 1874 ; 2152 + 1875 ; 1902 + 1876 ; 1702 + 1877 ; 2014 + 1878 ; 2267 + 1879 ; 1764 + 1880 ; 1833 + 1881 ; 2248 + 1882 ; 2270 + 1883 ; 1613 + 1884 ; 1890 + 1885 ; 1736 + 1886 ; 1667 + 1887 ; 2122 + 1888 ; 2161 + 1889 ; 2146 + 1890 ; 1792 + 1891 ; 2071 + 1892 ; 1879 + 1893 ; 2263 + 1894 ; 2151 + 1895 ; 1615 + 1896 ; 2137 + 1897 ; 1876 + 1898 ; 1947 + 1899 ; 2160 + 1900 ; 2184 + 1901 ; 2019 + 1902 ; 1777 + 1903 ; 1659 + 1904 ; 2288 + 1905 ; 2159 + 1906 ; 1700 + 1907 ; 1764 + 1908 ; 2195 + 1909 ; 1781 + 1910 ; 1756 + 1911 ; 2310 + 1912 ; 1821 + 1913 ; 1688 + 1914 ; 2310 + 1915 ; 2232 + 1916 ; 1655 + 1917 ; 2206 + 1918 ; 1806 + 1919 ; 2045 + 1920 ; 2204 + 1921 ; 1934 + 1922 ; 1800 + 1923 ; 2225 + 1924 ; 1731 + 1925 ; 2144 + 1926 ; 1944 + 1927 ; 2037 + 1928 ; 2268 + 1929 ; 2329 + 1930 ; 1728 + 1931 ; 1684 + 1932 ; 1906 + 1933 ; 1725 + 1934 ; 1961 + 1935 ; 1907 + 1936 ; 2157 + 1937 ; 1948 + 1938 ; 2141 + 1939 ; 1741 + 1940 ; 2073 + 1941 ; 2220 + 1942 ; 2272 + 1943 ; 1724 + 1944 ; 1924 + 1945 ; 2096 + 1946 ; 2103 + 1947 ; 1649 + 1948 ; 1732 + 1949 ; 1927 + 1950 ; 1988 + 1951 ; 1663 + 1952 ; 2357 + 1953 ; 1986 + 1954 ; 2153 + 1955 ; 2335 + 1956 ; 1646 + 1957 ; 1626 + 1958 ; 2022 + 1959 ; 1627 + 1960 ; 2361 + 1961 ; 1810 + 1962 ; 1827 + 1963 ; 1757 + 1964 ; 1669 + 1965 ; 2293 + 1966 ; 2177 + 1967 ; 2377 + 1968 ; 1811 + 1969 ; 1706 + 1970 ; 1758 + 1971 ; 1634 + 1972 ; 2295 + 1973 ; 1685 + 1974 ; 2299 + 1975 ; 2017 + 1976 ; 2378 + 1977 ; 2076 + 1978 ; 1992 + 1979 ; 1715 + 1980 ; 2146 + 1981 ; 2051 + 1982 ; 2219 + 1983 ; 1905 + 1984 ; 2200 + 1985 ; 1657 + 1986 ; 2337 + 1987 ; 2254 + 1988 ; 2132 + 1989 ; 1871 + 1990 ; 2322 + 1991 ; 2358 + 1992 ; 2298 + 1993 ; 1672 + 1994 ; 2364 + 1995 ; 2329 + 1996 ; 2003 + 1997 ; 2220 + 1998 ; 2069 + 1999 ; 1878 + 2000 ; 1908 + 2001 ; 1779 + 2002 ; 1952 + 2003 ; 1721 + 2004 ; 1934 + 2005 ; 2143 + 2006 ; 2126 + 2007 ; 1890 + 2008 ; 2147 + 2009 ; 2294 + 2010 ; 2292 + 2011 ; 1818 + 2012 ; 2391 + 2013 ; 2132 + 2014 ; 2344 + 2015 ; 2406 + 2016 ; 1901 + 2017 ; 1846 + 2018 ; 2337 + 2019 ; 1949 + 2020 ; 2330 + 2021 ; 1874 + 2022 ; 1759 + 2023 ; 1775 + 2024 ; 1973 + 2025 ; 2033 + 2026 ; 1791 + 2027 ; 2108 + 2028 ; 2204 + 2029 ; 2100 + 2030 ; 1706 + 2031 ; 2203 + 2032 ; 1686 + 2033 ; 2254 + 2034 ; 1763 + 2035 ; 1802 + 2036 ; 2100 + 2037 ; 2158 + 2038 ; 2406 + 2039 ; 1901 + 2040 ; 2324 + 2041 ; 2125 + 2042 ; 2359 + 2043 ; 2091 + 2044 ; 1641 + 2045 ; 1678 + 2046 ; 1860 + 2047 ; 2136 + 2048 ; 2006 + 2049 ; 1928 + 2050 ; 2258 + 2051 ; 1786 + 2052 ; 1764 + 2053 ; 1988 + 2054 ; 1725 + 2055 ; 2287 + 2056 ; 2187 + 2057 ; 2191 + 2058 ; 2298 + 2059 ; 2092 + 2060 ; 1883 + 2061 ; 1910 + 2062 ; 2207 + 2063 ; 1629 + 2064 ; 1783 + 2065 ; 1838 + 2066 ; 2184 + 2067 ; 1829 + 2068 ; 2397 + 2069 ; 1671 + 2070 ; 1840 + 2071 ; 2000 + 2072 ; 2144 + 2073 ; 1869 + 2074 ; 2047 + 2075 ; 1954 + 2076 ; 2021 + 2077 ; 2180 + 2078 ; 2042 + 2079 ; 1725 + 2080 ; 2079 + 2081 ; 1803 + 2082 ; 2241 + 2083 ; 2196 + 2084 ; 2035 + 2085 ; 2002 + 2086 ; 2085 + 2087 ; 1678 + 2088 ; 2244 + 2089 ; 1833 + 2090 ; 2300 + 2091 ; 2232 + 2092 ; 2121 + 2093 ; 1916 + 2094 ; 2154 + 2095 ; 2410 + 2096 ; 2070 + 2097 ; 1993 + 2098 ; 2337 + 2099 ; 1681 + 2100 ; 1898 + 2101 ; 1972 + 2102 ; 2137 + 2103 ; 1887 + 2104 ; 1767 + 2105 ; 1876 + 2106 ; 2080 + 2107 ; 1905 + 2108 ; 1852 + 2109 ; 2370 + 2110 ; 1910 + 2111 ; 1709 + 2112 ; 2157 + 2113 ; 2165 + 2114 ; 2269 + 2115 ; 1764 + 2116 ; 2252 + 2117 ; 1713 + 2118 ; 1739 + 2119 ; 2206 + 2120 ; 2395 + 2121 ; 2399 + 2122 ; 2194 + 2123 ; 1645 + 2124 ; 1975 + 2125 ; 1960 + 2126 ; 1764 + 2127 ; 1623 + 2128 ; 2232 + 2129 ; 2241 + 2130 ; 2321 + 2131 ; 1873 + 2132 ; 1676 + 2133 ; 1658 + 2134 ; 2252 + 2135 ; 2337 + 2136 ; 1739 + 2137 ; 1891 + 2138 ; 2091 + 2139 ; 2379 + 2140 ; 2375 + 2141 ; 2282 + 2142 ; 1941 + 2143 ; 1801 + 2144 ; 1728 + 2145 ; 2210 + 2146 ; 2130 + 2147 ; 2049 + 2148 ; 1847 + 2149 ; 2162 + 2150 ; 1969 + 2151 ; 1898 + 2152 ; 2247 + 2153 ; 2403 + 2154 ; 2287 + 2155 ; 2304 + 2156 ; 1627 + 2157 ; 2175 + 2158 ; 2252 + 2159 ; 2105 + 2160 ; 1970 + 2161 ; 1776 + 2162 ; 1920 + 2163 ; 2327 + 2164 ; 2080 + 2165 ; 2101 + 2166 ; 2212 + 2167 ; 2366 + 2168 ; 1890 + 2169 ; 2239 + 2170 ; 2253 + 2171 ; 2357 + 2172 ; 1711 + 2173 ; 1882 + 2174 ; 2094 + 2175 ; 1653 + 2176 ; 2142 + 2177 ; 2234 + 2178 ; 2411 + 2179 ; 2213 + 2180 ; 2377 + 2181 ; 2108 + 2182 ; 2072 + 2183 ; 1818 + 2184 ; 2110 + 2185 ; 2190 + 2186 ; 1741 + 2187 ; 2043 + 2188 ; 2128 + 2189 ; 1907 + 2190 ; 2237 + 2191 ; 1899 + 2192 ; 2215 + 2193 ; 1646 + 2194 ; 1817 + 2195 ; 1681 + 2196 ; 1789 + 2197 ; 2027 + 2198 ; 2368 + 2199 ; 2334 + 2200 ; 2311 + 2201 ; 2056 + 2202 ; 1662 + 2203 ; 2149 + 2204 ; 2364 + 2205 ; 1917 + 2206 ; 1834 + 2207 ; 2273 + 2208 ; 1860 + 2209 ; 2406 + 2210 ; 2040 + 2211 ; 2275 + 2212 ; 1770 + 2213 ; 1832 + 2214 ; 1630 + 2215 ; 2362 + 2216 ; 2258 + 2217 ; 2296 + 2218 ; 1904 + 2219 ; 1989 + 2220 ; 2178 + 2221 ; 1746 + 2222 ; 1768 + 2223 ; 1990 + 2224 ; 2038 + 2225 ; 1958 + 2226 ; 1801 + 2227 ; 1790 + 2228 ; 1796 + 2229 ; 1677 + 2230 ; 1639 + 2231 ; 2152 + 2232 ; 2206 + 2233 ; 2262 + 2234 ; 2328 + 2235 ; 1826 + 2236 ; 2375 + 2237 ; 1930 + 2238 ; 1976 + 2239 ; 2044 + 2240 ; 1810 + 2241 ; 1922 + 2242 ; 2042 + 2243 ; 2404 + 2244 ; 2380 + 2245 ; 2278 + 2246 ; 1890 + 2247 ; 1894 + 2248 ; 1972 + 2249 ; 1873 + 2250 ; 1874 + 2251 ; 1717 + 2252 ; 1940 + 2253 ; 2336 + 2254 ; 2155 + 2255 ; 1896 + 2256 ; 1773 + 2257 ; 2219 + 2258 ; 1984 + 2259 ; 2143 + 2260 ; 2205 + 2261 ; 1807 + 2262 ; 1777 + 2263 ; 2086 + 2264 ; 1825 + 2265 ; 2361 + 2266 ; 2161 + 2267 ; 1755 + 2268 ; 2215 + 2269 ; 2040 + 2270 ; 1740 + 2271 ; 2320 + 2272 ; 1935 + 2273 ; 2071 + 2274 ; 2173 + 2275 ; 2097 + 2276 ; 1654 + 2277 ; 2364 + 2278 ; 1987 + 2279 ; 1891 + 2280 ; 2393 + 2281 ; 2210 + 2282 ; 1754 + 2283 ; 1756 + 2284 ; 1945 + 2285 ; 1696 + 2286 ; 2315 + 2287 ; 1948 + 2288 ; 2074 + 2289 ; 1972 + 2290 ; 2071 + 2291 ; 1994 + 2292 ; 2078 + 2293 ; 2039 + 2294 ; 2023 + 2295 ; 1827 + 2296 ; 1971 + 2297 ; 1875 + 2298 ; 1750 + 2299 ; 1765 + 2300 ; 1732 + 2301 ; 1655 + 2302 ; 2349 + 2303 ; 2017 + 2304 ; 1891 + 2305 ; 2067 + 2306 ; 2398 + 2307 ; 1903 + 2308 ; 2008 + 2309 ; 2032 + 2310 ; 1842 + 2311 ; 2272 + 2312 ; 1722 + 2313 ; 2093 + 2314 ; 1739 + 2315 ; 2390 + 2316 ; 1690 + 2317 ; 2371 + 2318 ; 2285 + 2319 ; 2397 + 2320 ; 2055 + 2321 ; 1716 + 2322 ; 2074 + 2323 ; 1931 + 2324 ; 1838 + 2325 ; 1739 + 2326 ; 1920 + 2327 ; 2350 + 2328 ; 1700 + 2329 ; 1716 + 2330 ; 1937 + 2331 ; 1933 + 2332 ; 2060 + 2333 ; 2340 + 2334 ; 2287 + 2335 ; 1833 + 2336 ; 1926 + 2337 ; 2304 + 2338 ; 1826 + 2339 ; 1998 + 2340 ; 2070 + 2341 ; 1875 + 2342 ; 1843 + 2343 ; 1623 + 2344 ; 1773 + 2345 ; 2315 + 2346 ; 1878 + 2347 ; 2151 + 2348 ; 1809 + 2349 ; 2143 + 2350 ; 2173 + 2351 ; 1914 + 2352 ; 2229 + 2353 ; 1981 + 2354 ; 1849 + 2355 ; 1885 + 2356 ; 2189 + 2357 ; 2036 + 2358 ; 2165 + 2359 ; 2273 + 2360 ; 2129 + 2361 ; 1753 + 2362 ; 1959 + 2363 ; 1890 + 2364 ; 1963 + 2365 ; 2216 + 2366 ; 2073 + 2367 ; 2372 + 2368 ; 1899 + 2369 ; 1754 + 2370 ; 1913 + 2371 ; 1777 + 2372 ; 1785 + 2373 ; 1785 + 2374 ; 1987 + 2375 ; 2315 + 2376 ; 2287 + 2377 ; 2186 + 2378 ; 1878 + 2379 ; 2079 + 2380 ; 2155 + 2381 ; 2008 + 2382 ; 1868 + 2383 ; 2176 + 2384 ; 1622 + 2385 ; 2225 + 2386 ; 1817 + 2387 ; 2273 + 2388 ; 2353 + 2389 ; 1682 + 2390 ; 2302 + 2391 ; 1973 + 2392 ; 1887 + 2393 ; 2078 + 2394 ; 1901 + 2395 ; 1900 + 2396 ; 1768 + 2397 ; 1650 + 2398 ; 1869 + 2399 ; 2034 + 2400 ; 2158 + 2401 ; 1654 + 2402 ; 1826 + 2403 ; 2180 + 2404 ; 2070 + 2405 ; 2149 + 2406 ; 1825 + 2407 ; 1664 + 2408 ; 2363 + 2409 ; 2250 + 2410 ; 2342 + 2411 ; 2011 + 2412 ; 2298 + 2413 ; 1831 + 2414 ; 2212 + 2415 ; 1828 + 2416 ; 2335 + 2417 ; 1879 + 2418 ; 2005 + 2419 ; 1889 + 2420 ; 1993 + 2421 ; 2069 + 2422 ; 1859 + 2423 ; 1690 + 2424 ; 2341 + 2425 ; 1908 + 2426 ; 1935 + 2427 ; 2303 + 2428 ; 2044 + 2429 ; 1930 + 2430 ; 1821 + 2431 ; 1793 + 2432 ; 2321 + 2433 ; 2104 + 2434 ; 1728 + 2435 ; 1638 + 2436 ; 2106 + 2437 ; 2036 + 2438 ; 1814 + 2439 ; 1794 + 2440 ; 2184 + 2441 ; 1645 + 2442 ; 1698 + 2443 ; 1948 + 2444 ; 1788 + 2445 ; 2287 + 2446 ; 1822 + 2447 ; 1747 + 2448 ; 2157 + 2449 ; 1881 + 2450 ; 1834 + 2451 ; 2182 + 2452 ; 2024 + 2453 ; 1891 + 2454 ; 1902 + 2455 ; 2284 + 2456 ; 2310 + 2457 ; 2288 + 2458 ; 2365 + 2459 ; 1772 + 2460 ; 2072 + 2461 ; 2289 + 2462 ; 1797 + 2463 ; 1905 + 2464 ; 2065 + 2465 ; 1785 + 2466 ; 2334 + 2467 ; 2067 + 2468 ; 2169 + 2469 ; 1961 + 2470 ; 1877 + 2471 ; 2277 + 2472 ; 2361 + 2473 ; 1921 + 2474 ; 1802 + 2475 ; 2146 + 2476 ; 1626 + 2477 ; 1918 + 2478 ; 2137 + 2479 ; 2267 + 2480 ; 1731 + 2481 ; 2137 + 2482 ; 2096 + 2483 ; 1970 + 2484 ; 1768 + 2485 ; 2288 + 2486 ; 1829 + 2487 ; 1933 + 2488 ; 2265 + 2489 ; 2235 + 2490 ; 2404 + 2491 ; 2238 + 2492 ; 2022 + 2493 ; 2130 + 2494 ; 2343 + 2495 ; 1881 + 2496 ; 2084 + 2497 ; 1786 + 2498 ; 1896 + 2499 ; 2294 + 2500 ; 2245 + 2501 ; 2252 + 2502 ; 2032 + 2503 ; 2248 + 2504 ; 1984 + 2505 ; 1641 + 2506 ; 1958 + 2507 ; 2080 + 2508 ; 2092 + 2509 ; 1831 + 2510 ; 1704 + 2511 ; 1683 + 2512 ; 1951 + 2513 ; 2123 + 2514 ; 2384 + 2515 ; 2100 + 2516 ; 1915 + 2517 ; 1777 + 2518 ; 2334 + 2519 ; 1795 + 2520 ; 1924 + 2521 ; 1744 + 2522 ; 2345 + 2523 ; 2162 + 2524 ; 1628 + 2525 ; 2184 + 2526 ; 2273 + 2527 ; 2222 + 2528 ; 1774 + 2529 ; 2046 + 2530 ; 2079 + 2531 ; 1959 + 2532 ; 1787 + 2533 ; 2210 + 2534 ; 2045 + 2535 ; 1651 + 2536 ; 1714 + 2537 ; 1769 + 2538 ; 1958 + 2539 ; 2253 + 2540 ; 1714 + 2541 ; 1863 + 2542 ; 1909 + 2543 ; 2052 + 2544 ; 1641 + 2545 ; 1668 + 2546 ; 1847 + 2547 ; 2307 + 2548 ; 1856 + 2549 ; 2303 + 2550 ; 2239 + 2551 ; 2284 + 2552 ; 1978 + 2553 ; 2288 + 2554 ; 2109 + 2555 ; 1975 + 2556 ; 1781 + 2557 ; 2062 + 2558 ; 1981 + 2559 ; 1737 + 2560 ; 2387 + 2561 ; 1776 + 2562 ; 2400 + 2563 ; 2218 + 2564 ; 2194 + 2565 ; 2306 + 2566 ; 2043 + 2567 ; 2385 + 2568 ; 2291 + 2569 ; 1885 + 2570 ; 2108 + 2571 ; 1925 + 2572 ; 2391 + 2573 ; 1678 + 2574 ; 2092 + 2575 ; 1766 + 2576 ; 1880 + 2577 ; 2221 + 2578 ; 2202 + 2579 ; 2251 + 2580 ; 2313 + 2581 ; 1916 + 2582 ; 2339 + 2583 ; 2118 + 2584 ; 2183 + 2585 ; 1918 + 2586 ; 2227 + 2587 ; 2294 + 2588 ; 1762 + 2589 ; 1993 + 2590 ; 2123 + 2591 ; 1673 + 2592 ; 2337 + 2593 ; 1978 + 2594 ; 1707 + 2595 ; 2293 + 2596 ; 2235 + 2597 ; 2406 + 2598 ; 1943 + 2599 ; 2082 + 2600 ; 2343 + 2601 ; 2242 + 2602 ; 2136 + 2603 ; 1711 + 2604 ; 2372 + 2605 ; 1878 + 2606 ; 2165 + 2607 ; 1752 + 2608 ; 1805 + 2609 ; 2297 + 2610 ; 1970 + 2611 ; 1755 + 2612 ; 1642 + 2613 ; 2376 + 2614 ; 1976 + 2615 ; 2342 + 2616 ; 2389 + 2617 ; 1776 + 2618 ; 2196 + 2619 ; 1756 + 2620 ; 2348 + 2621 ; 1969 + 2622 ; 1632 + 2623 ; 1802 + 2624 ; 1933 + 2625 ; 1974 + 2626 ; 2266 + 2627 ; 2278 + 2628 ; 1831 + 2629 ; 1760 + 2630 ; 1976 + 2631 ; 1994 + 2632 ; 2377 + 2633 ; 2033 + 2634 ; 2240 + 2635 ; 2315 + 2636 ; 1920 + 2637 ; 1779 + 2638 ; 2048 + 2639 ; 2295 + 2640 ; 1628 + 2641 ; 2268 + 2642 ; 2034 + 2643 ; 1815 + 2644 ; 2086 + 2645 ; 2247 + 2646 ; 2224 + 2647 ; 1815 + 2648 ; 1743 + 2649 ; 2297 + 2650 ; 1878 + 2651 ; 2305 + 2652 ; 2211 + 2653 ; 2160 + 2654 ; 1946 + 2655 ; 2173 + 2656 ; 1660 + 2657 ; 1717 + 2658 ; 1687 + 2659 ; 1862 + 2660 ; 1813 + 2661 ; 1848 + 2662 ; 1700 + 2663 ; 2097 + 2664 ; 2067 + 2665 ; 2233 + 2666 ; 2016 + 2667 ; 2207 + 2668 ; 1809 + 2669 ; 2043 + 2670 ; 2069 + 2671 ; 1807 + 2672 ; 1940 + 2673 ; 1849 + 2674 ; 2212 + 2675 ; 1982 + 2676 ; 2038 + 2677 ; 1650 + 2678 ; 2232 + 2679 ; 1886 + 2680 ; 2126 + 2681 ; 2231 + 2682 ; 1869 + 2683 ; 1654 + 2684 ; 2390 + 2685 ; 1620 + 2686 ; 1912 + 2687 ; 2018 + 2688 ; 2041 + 2689 ; 2380 + 2690 ; 2212 + 2691 ; 2359 + 2692 ; 2344 + 2693 ; 2385 + 2694 ; 1839 + 2695 ; 1738 + 2696 ; 2175 + 2697 ; 1841 + 2698 ; 1615 + 2699 ; 1687 + 2700 ; 1826 + 2701 ; 2402 + 2702 ; 1845 + 2703 ; 1803 + 2704 ; 1876 + 2705 ; 2146 + 2706 ; 2166 + 2707 ; 1806 + 2708 ; 2361 + 2709 ; 1794 + 2710 ; 2171 + 2711 ; 2327 + 2712 ; 1832 + 2713 ; 2139 + 2714 ; 1846 + 2715 ; 2042 + 2716 ; 2331 + 2717 ; 1884 + 2718 ; 1936 + 2719 ; 2080 + 2720 ; 2165 + 2721 ; 2412 + 2722 ; 1991 + 2723 ; 2190 + 2724 ; 1958 + 2725 ; 1849 + 2726 ; 2188 + 2727 ; 1709 + 2728 ; 1713 + 2729 ; 1847 + 2730 ; 2256 + 2731 ; 1735 + 2732 ; 1875 + 2733 ; 1784 + 2734 ; 1880 + 2735 ; 2306 + 2736 ; 1735 + 2737 ; 1826 + 2738 ; 2120 + 2739 ; 1973 + 2740 ; 2096 + 2741 ; 1672 + 2742 ; 2205 + 2743 ; 1628 + 2744 ; 2050 + 2745 ; 2351 + 2746 ; 1971 + 2747 ; 1736 + 2748 ; 1806 + 2749 ; 2191 + 2750 ; 2295 + 2751 ; 2269 + 2752 ; 2095 + 2753 ; 2390 + 2754 ; 2368 + 2755 ; 2215 + 2756 ; 1782 + 2757 ; 2350 + 2758 ; 2084 + 2759 ; 2220 + 2760 ; 1765 + 2761 ; 2078 + 2762 ; 2260 + 2763 ; 1808 + 2764 ; 1664 + 2765 ; 1949 + 2766 ; 1624 + 2767 ; 1773 + 2768 ; 1888 + 2769 ; 2370 + 2770 ; 2271 + 2771 ; 1841 + 2772 ; 2033 + 2773 ; 2060 + 2774 ; 1907 + 2775 ; 1802 + 2776 ; 1985 + 2777 ; 2276 + 2778 ; 2316 + 2779 ; 1908 + 2780 ; 2244 + 2781 ; 2270 + 2782 ; 1892 + 2783 ; 2287 + 2784 ; 2037 + 2785 ; 2200 + 2786 ; 1628 + 2787 ; 1951 + 2788 ; 2253 + 2789 ; 1888 + 2790 ; 2076 + 2791 ; 1705 + 2792 ; 2055 + 2793 ; 1819 + 2794 ; 2033 + 2795 ; 2386 + 2796 ; 2015 + 2797 ; 2169 + 2798 ; 2138 + 2799 ; 1927 + 2800 ; 2375 + 2801 ; 1914 + 2802 ; 2121 + 2803 ; 2244 + 2804 ; 1840 + 2805 ; 2162 + 2806 ; 2102 + 2807 ; 1635 + 2808 ; 1748 + 2809 ; 1713 + 2810 ; 1833 + 2811 ; 1925 + 2812 ; 2226 + 2813 ; 1624 + 2814 ; 2212 + 2815 ; 2273 + 2816 ; 1660 + 2817 ; 2306 + 2818 ; 1779 + 2819 ; 2078 + 2820 ; 1837 + 2821 ; 1779 + 2822 ; 2296 + 2823 ; 2056 + 2824 ; 1625 + 2825 ; 2086 + 2826 ; 1973 + 2827 ; 1751 + 2828 ; 2054 + 2829 ; 1642 + 2830 ; 1957 + 2831 ; 1841 + 2832 ; 2064 + 2833 ; 1856 + 2834 ; 1889 + 2835 ; 2084 + 2836 ; 2072 + 2837 ; 2119 + 2838 ; 2234 + 2839 ; 1742 + 2840 ; 2146 + 2841 ; 2365 + 2842 ; 1836 + 2843 ; 1769 + 2844 ; 2302 + 2845 ; 1970 + 2846 ; 2099 + 2847 ; 2239 + 2848 ; 2200 + 2849 ; 1704 + 2850 ; 2174 + 2851 ; 1771 + 2852 ; 2083 + 2853 ; 2386 + 2854 ; 1824 + 2855 ; 1656 + 2856 ; 1727 + 2857 ; 1951 + 2858 ; 1960 + 2859 ; 2230 + 2860 ; 1704 + 2861 ; 1803 + 2862 ; 2049 + 2863 ; 1644 + 2864 ; 1807 + 2865 ; 2121 + 2866 ; 1966 + 2867 ; 1805 + 2868 ; 1884 + 2869 ; 2385 + 2870 ; 1692 + 2871 ; 2309 + 2872 ; 1644 + 2873 ; 1737 + 2874 ; 2100 + 2875 ; 2057 + 2876 ; 1666 + 2877 ; 1725 + 2878 ; 1863 + 2879 ; 2031 + 2880 ; 2027 + 2881 ; 1972 + 2882 ; 2075 + 2883 ; 2364 + 2884 ; 2373 + 2885 ; 1675 + 2886 ; 1688 + 2887 ; 1720 + 2888 ; 1664 + 2889 ; 2240 + 2890 ; 1713 + 2891 ; 1928 + 2892 ; 2334 + 2893 ; 2266 + 2894 ; 2053 + 2895 ; 1813 + 2896 ; 1858 + 2897 ; 2286 + 2898 ; 2118 + 2899 ; 2055 + 2900 ; 2319 + 2901 ; 2109 + 2902 ; 1836 + 2903 ; 2083 + 2904 ; 2117 + 2905 ; 2398 + 2906 ; 1655 + 2907 ; 1761 + 2908 ; 2400 + 2909 ; 1989 + 2910 ; 1849 + 2911 ; 2067 + 2912 ; 2237 + 2913 ; 1974 + 2914 ; 2368 + 2915 ; 2105 + 2916 ; 1667 + 2917 ; 1657 + 2918 ; 1706 + 2919 ; 2113 + 2920 ; 1945 + 2921 ; 1783 + 2922 ; 1968 + 2923 ; 2246 + 2924 ; 2227 + 2925 ; 1945 + 2926 ; 2326 + 2927 ; 2254 + 2928 ; 1744 + 2929 ; 1945 + 2930 ; 1918 + 2931 ; 2353 + 2932 ; 1855 + 2933 ; 1807 + 2934 ; 1800 + 2935 ; 2261 + 2936 ; 2014 + 2937 ; 1966 + 2938 ; 2008 + 2939 ; 2336 + 2940 ; 1833 + 2941 ; 2176 + 2942 ; 1959 + 2943 ; 2021 + 2944 ; 1696 + 2945 ; 1776 + 2946 ; 1811 + 2947 ; 2187 + 2948 ; 2274 + 2949 ; 2006 + 2950 ; 1985 + 2951 ; 2345 + 2952 ; 1640 + 2953 ; 1797 + 2954 ; 2034 + 2955 ; 1753 + 2956 ; 2310 + 2957 ; 1709 + 2958 ; 2340 + 2959 ; 2372 + 2960 ; 2155 + 2961 ; 1715 + 2962 ; 1942 + 2963 ; 1978 + 2964 ; 1688 + 2965 ; 1786 + 2966 ; 1955 + 2967 ; 1805 + 2968 ; 2015 + 2969 ; 1649 + 2970 ; 2355 + 2971 ; 2047 + 2972 ; 2223 + 2973 ; 1624 + 2974 ; 1672 + 2975 ; 1910 + 2976 ; 1654 + 2977 ; 1743 + 2978 ; 1969 + 2979 ; 1614 + 2980 ; 1937 + 2981 ; 1797 + 2982 ; 1714 + 2983 ; 2095 + 2984 ; 1767 + 2985 ; 1974 + 2986 ; 1836 + 2987 ; 1735 + 2988 ; 1813 + 2989 ; 2100 + 2990 ; 1882 + 2991 ; 2231 + 2992 ; 2049 + 2993 ; 2396 + 2994 ; 2333 + 2995 ; 1894 + 2996 ; 2169 + 2997 ; 2373 + 2998 ; 2237 + 2999 ; 2072 + 3000 ; 1997 + 3001 ; 2246 + 3002 ; 2412 + 3003 ; 2406 + 3004 ; 1824 + 3005 ; 1883 + 3006 ; 2263 + 3007 ; 2404 + 3008 ; 1640 + 3009 ; 1940 + 3010 ; 2130 + 3011 ; 1784 + 3012 ; 1687 + 3013 ; 2074 + 3014 ; 2346 + 3015 ; 2332 + 3016 ; 1817 + 3017 ; 2266 + 3018 ; 1781 + 3019 ; 2367 + 3020 ; 1846 + 3021 ; 1861 + 3022 ; 1752 + 3023 ; 2013 + 3024 ; 1651 + 3025 ; 1677 + 3026 ; 1916 + 3027 ; 1801 + 3028 ; 1956 + 3029 ; 2353 + 3030 ; 2139 + 3031 ; 1753 + 3032 ; 2314 + 3033 ; 2262 + 3034 ; 1837 + 3035 ; 2025 + 3036 ; 1904 + 3037 ; 1731 + 3038 ; 2397 + 3039 ; 2223 + 3040 ; 2228 + 3041 ; 2265 + 3042 ; 1629 + 3043 ; 1901 + 3044 ; 1717 + 3045 ; 1953 + 3046 ; 1624 + 3047 ; 1785 + 3048 ; 2263 + 3049 ; 1664 + 3050 ; 2047 + 3051 ; 2148 + 3052 ; 2057 + 3053 ; 1751 + 3054 ; 1901 + 3055 ; 2133 + 3056 ; 1875 + 3057 ; 2168 + 3058 ; 2332 + 3059 ; 2300 + 3060 ; 1724 + 3061 ; 2059 + 3062 ; 1871 + 3063 ; 2002 + 3064 ; 2133 + 3065 ; 2080 + 3066 ; 2088 + 3067 ; 1747 + 3068 ; 1722 + 3069 ; 1725 + 3070 ; 1722 + 3071 ; 1827 + 3072 ; 2128 + 3073 ; 2195 + 3074 ; 2075 + 3075 ; 1962 + 3076 ; 1715 + 3077 ; 1908 + 3078 ; 1714 + 3079 ; 1665 + 3080 ; 1964 + 3081 ; 2109 + 3082 ; 1959 + 3083 ; 1867 + 3084 ; 1857 + 3085 ; 2331 + 3086 ; 2164 + 3087 ; 1822 + 3088 ; 1841 + 3089 ; 2212 + 3090 ; 2315 + 3091 ; 2277 + 3092 ; 1737 + 3093 ; 1789 + 3094 ; 2169 + 3095 ; 1855 + 3096 ; 2249 + 3097 ; 2412 + 3098 ; 2394 + 3099 ; 1873 + 3100 ; 2081 + 3101 ; 2058 + 3102 ; 1879 + 3103 ; 1850 + 3104 ; 2114 + 3105 ; 2281 + 3106 ; 2176 + 3107 ; 1921 + 3108 ; 2176 + 3109 ; 1973 + 3110 ; 2109 + 3111 ; 2335 + 3112 ; 1791 + 3113 ; 1826 + 3114 ; 1661 + 3115 ; 2204 + 3116 ; 2185 + 3117 ; 1854 + 3118 ; 2220 + 3119 ; 1658 + 3120 ; 2316 + 3121 ; 2087 + 3122 ; 1749 + 3123 ; 1951 + 3124 ; 1923 + 3125 ; 2340 + 3126 ; 2178 + 3127 ; 2026 + 3128 ; 1739 + 3129 ; 2089 + 3130 ; 1977 + 3131 ; 1666 + 3132 ; 2378 + 3133 ; 1897 + 3134 ; 2074 + 3135 ; 1652 + 3136 ; 2085 + 3137 ; 2401 + 3138 ; 2192 + 3139 ; 2349 + 3140 ; 2149 + 3141 ; 2022 + 3142 ; 2063 + 3143 ; 2395 + 3144 ; 2347 + 3145 ; 2230 + 3146 ; 1964 + 3147 ; 2139 + 3148 ; 2284 + 3149 ; 1774 + 3150 ; 2322 + 3151 ; 1755 + 3152 ; 2074 + 3153 ; 1644 + 3154 ; 2046 + 3155 ; 2157 + 3156 ; 1785 + 3157 ; 1837 + 3158 ; 2190 + 3159 ; 1756 + 3160 ; 1867 + 3161 ; 2250 + 3162 ; 1830 + 3163 ; 1640 + 3164 ; 2137 + 3165 ; 2172 + 3166 ; 1968 + 3167 ; 2023 + 3168 ; 1940 + 3169 ; 2400 + 3170 ; 2085 + 3171 ; 2224 + 3172 ; 1842 + 3173 ; 2049 + 3174 ; 1941 + 3175 ; 1981 + 3176 ; 1767 + 3177 ; 2324 + 3178 ; 1951 + 3179 ; 2075 + 3180 ; 1976 + 3181 ; 1660 + 3182 ; 1829 + 3183 ; 2392 + 3184 ; 1714 + 3185 ; 1873 + 3186 ; 2053 + 3187 ; 2045 + 3188 ; 2095 + 3189 ; 1871 + 3190 ; 1721 + 3191 ; 1806 + 3192 ; 1942 + 3193 ; 1843 + 3194 ; 1873 + 3195 ; 2076 + 3196 ; 2188 + 3197 ; 2114 + 3198 ; 1897 + 3199 ; 2389 + 3200 ; 2062 + 3201 ; 1947 + 3202 ; 1759 + 3203 ; 2094 + 3204 ; 2141 + 3205 ; 1915 + 3206 ; 1969 + 3207 ; 2229 + 3208 ; 2087 + 3209 ; 1807 + 3210 ; 1678 + 3211 ; 2327 + 3212 ; 1782 + 3213 ; 1741 + 3214 ; 2152 + 3215 ; 1705 + 3216 ; 2133 + 3217 ; 1625 + 3218 ; 1708 + 3219 ; 2393 + 3220 ; 2047 + 3221 ; 1730 + 3222 ; 2121 + 3223 ; 1884 + 3224 ; 2223 + 3225 ; 1613 + 3226 ; 1840 + 3227 ; 2197 + 3228 ; 1808 + 3229 ; 1876 + 3230 ; 2401 + 3231 ; 2058 + 3232 ; 1669 + 3233 ; 2295 + 3234 ; 1695 + 3235 ; 1771 + 3236 ; 1612 + 3237 ; 2073 + 3238 ; 1950 + 3239 ; 1937 + 3240 ; 1744 + 3241 ; 2322 + 3242 ; 1859 + 3243 ; 2227 + 3244 ; 2286 + 3245 ; 2106 + 3246 ; 1969 + 3247 ; 1722 + 3248 ; 2180 + 3249 ; 1636 + 3250 ; 1828 + 3251 ; 2218 + 3252 ; 2139 + 3253 ; 1954 + 3254 ; 2203 + 3255 ; 2119 + 3256 ; 2246 + 3257 ; 1630 + 3258 ; 2038 + 3259 ; 2128 + 3260 ; 1834 + 3261 ; 1917 + 3262 ; 1774 + 3263 ; 1805 + 3264 ; 1911 + 3265 ; 1688 + 3266 ; 1735 + 3267 ; 1928 + 3268 ; 1888 + 3269 ; 2095 + 3270 ; 2232 + 3271 ; 1879 + 3272 ; 1853 + 3273 ; 1990 + 3274 ; 2365 + 3275 ; 2292 + 3276 ; 1717 + 3277 ; 1792 + 3278 ; 1905 + 3279 ; 2410 + 3280 ; 2098 + 3281 ; 2103 + 3282 ; 2037 + 3283 ; 1852 + 3284 ; 1777 + 3285 ; 1917 + 3286 ; 2027 + 3287 ; 1756 + 3288 ; 1697 + 3289 ; 1838 + 3290 ; 1725 + 3291 ; 1850 + 3292 ; 2005 + 3293 ; 2023 + 3294 ; 1721 + 3295 ; 2233 + 3296 ; 1975 + 3297 ; 1809 + 3298 ; 2061 + 3299 ; 2329 + 3300 ; 1837 + 3301 ; 1828 + 3302 ; 1754 + 3303 ; 2340 + 3304 ; 2191 + 3305 ; 1724 + 3306 ; 1799 + 3307 ; 1989 + 3308 ; 2061 + 3309 ; 2349 + 3310 ; 2153 + 3311 ; 1641 + 3312 ; 1788 + 3313 ; 1995 + 3314 ; 2155 + 3315 ; 1770 + 3316 ; 2224 + 3317 ; 1696 + 3318 ; 2327 + 3319 ; 1669 + 3320 ; 1743 + 3321 ; 1771 + 3322 ; 2191 + 3323 ; 1854 + 3324 ; 1968 + 3325 ; 1753 + 3326 ; 2234 + 3327 ; 1950 + 3328 ; 2185 + 3329 ; 1618 + 3330 ; 2031 + 3331 ; 1869 + 3332 ; 2054 + 3333 ; 2287 + 3334 ; 2092 + 3335 ; 2110 + 3336 ; 1644 + 3337 ; 1830 + 3338 ; 1666 + 3339 ; 1974 + 3340 ; 1728 + 3341 ; 2397 + 3342 ; 2408 + 3343 ; 1974 + 3344 ; 2386 + 3345 ; 1786 + 3346 ; 2112 + 3347 ; 2056 + 3348 ; 2294 + 3349 ; 1803 + 3350 ; 2025 + 3351 ; 1929 + 3352 ; 1818 + 3353 ; 2019 + 3354 ; 1840 + 3355 ; 1658 + 3356 ; 2108 + 3357 ; 2343 + 3358 ; 2100 + 3359 ; 2090 + 3360 ; 1851 + 3361 ; 2140 + 3362 ; 1916 + 3363 ; 1929 + 3364 ; 2170 + 3365 ; 2175 + 3366 ; 2233 + 3367 ; 1984 + 3368 ; 1713 + 3369 ; 2268 + 3370 ; 1752 + 3371 ; 1997 + 3372 ; 2390 + 3373 ; 2075 + 3374 ; 1982 + 3375 ; 1979 + 3376 ; 1956 + 3377 ; 1941 + 3378 ; 2035 + 3379 ; 2324 + 3380 ; 1993 + 3381 ; 2204 + 3382 ; 1867 + 3383 ; 2318 + 3384 ; 1704 + 3385 ; 2367 + 3386 ; 2037 + 3387 ; 2106 + 3388 ; 2106 + 3389 ; 2075 + 3390 ; 1817 + 3391 ; 2201 + 3392 ; 1759 + 3393 ; 2101 + 3394 ; 1998 + 3395 ; 2272 + 3396 ; 1978 + 3397 ; 2233 + 3398 ; 1816 + 3399 ; 1667 + 3400 ; 1916 + 3401 ; 1955 + 3402 ; 1931 + 3403 ; 2031 + 3404 ; 1992 + 3405 ; 2362 + 3406 ; 1772 + 3407 ; 1781 + 3408 ; 1944 + 3409 ; 2404 + 3410 ; 1926 + 3411 ; 2206 + 3412 ; 1864 + 3413 ; 2326 + 3414 ; 2243 + 3415 ; 1631 + 3416 ; 2064 + 3417 ; 2081 + 3418 ; 1745 + 3419 ; 2209 + 3420 ; 2390 + 3421 ; 1644 + 3422 ; 1626 + 3423 ; 2268 + 3424 ; 2035 + 3425 ; 1744 + 3426 ; 2024 + 3427 ; 2080 + 3428 ; 1972 + 3429 ; 1930 + 3430 ; 2250 + 3431 ; 1791 + 3432 ; 2375 + 3433 ; 2382 + 3434 ; 2391 + 3435 ; 1729 + 3436 ; 1911 + 3437 ; 1892 + 3438 ; 1875 + 3439 ; 1962 + 3440 ; 2152 + 3441 ; 1973 + 3442 ; 1822 + 3443 ; 2096 + 3444 ; 2045 + 3445 ; 2164 + 3446 ; 1998 + 3447 ; 1967 + 3448 ; 2349 + 3449 ; 1835 + 3450 ; 1786 + 3451 ; 1664 + 3452 ; 2328 + 3453 ; 2238 + 3454 ; 1617 + 3455 ; 2343 + 3456 ; 1914 + 3457 ; 2178 + 3458 ; 2210 + 3459 ; 2007 + 3460 ; 2186 + 3461 ; 1760 + 3462 ; 1871 + 3463 ; 1805 + 3464 ; 1737 + 3465 ; 2395 + 3466 ; 1888 + 3467 ; 1862 + 3468 ; 2239 + 3469 ; 2221 + 3470 ; 1991 + 3471 ; 1939 + 3472 ; 1977 + 3473 ; 2378 + 3474 ; 2123 + 3475 ; 2090 + 3476 ; 2399 + 3477 ; 1992 + 3478 ; 1639 + 3479 ; 1818 + 3480 ; 2122 + 3481 ; 2054 + 3482 ; 1853 + 3483 ; 2277 + 3484 ; 1640 + 3485 ; 1815 + 3486 ; 1756 + 3487 ; 1721 + 3488 ; 1768 + 3489 ; 2156 + 3490 ; 1839 + 3491 ; 2058 + 3492 ; 2193 + 3493 ; 1910 + 3494 ; 1808 + 3495 ; 1938 + 3496 ; 1736 + 3497 ; 1814 + 3498 ; 2400 + 3499 ; 2248 + 3500 ; 1636 + 3501 ; 1974 + 3502 ; 2260 + 3503 ; 2025 + 3504 ; 1794 + 3505 ; 2335 + 3506 ; 1619 + 3507 ; 2035 + 3508 ; 1666 + 3509 ; 1997 + 3510 ; 2058 + 3511 ; 1851 + 3512 ; 1855 + 3513 ; 1730 + 3514 ; 2219 + 3515 ; 1914 + 3516 ; 1619 + 3517 ; 2141 + 3518 ; 2082 + 3519 ; 1895 + 3520 ; 2018 + 3521 ; 2089 + 3522 ; 2277 + 3523 ; 2401 + 3524 ; 2128 + 3525 ; 2202 + 3526 ; 1679 + 3527 ; 1888 + 3528 ; 2331 + 3529 ; 2007 + 3530 ; 2262 + 3531 ; 2307 + 3532 ; 2077 + 3533 ; 2078 + 3534 ; 1884 + 3535 ; 2032 + 3536 ; 2146 + 3537 ; 1874 + 3538 ; 1809 + 3539 ; 1919 + 3540 ; 2212 + 3541 ; 1721 + 3542 ; 1899 + 3543 ; 2367 + 3544 ; 2288 + 3545 ; 2180 + 3546 ; 2030 + 3547 ; 2040 + 3548 ; 2221 + 3549 ; 2239 + 3550 ; 2302 + 3551 ; 1975 + 3552 ; 1801 + 3553 ; 2192 + 3554 ; 1843 + 3555 ; 1848 + 3556 ; 2246 + 3557 ; 1729 + 3558 ; 1815 + 3559 ; 2081 + 3560 ; 1935 + 3561 ; 1833 + 3562 ; 2196 + 3563 ; 2019 + 3564 ; 1870 + 3565 ; 1849 + 3566 ; 1935 + 3567 ; 2049 + 3568 ; 2282 + 3569 ; 1862 + 3570 ; 2251 + 3571 ; 2134 + 3572 ; 2313 + 3573 ; 1919 + 3574 ; 1640 + 3575 ; 1824 + 3576 ; 1785 + 3577 ; 2150 + 3578 ; 2010 + 3579 ; 2220 + 3580 ; 2354 + 3581 ; 1724 + 3582 ; 1912 + 3583 ; 2167 + 3584 ; 2076 + 3585 ; 2177 + 3586 ; 1781 + 3587 ; 1917 + 3588 ; 2057 + 3589 ; 2162 + 3590 ; 2167 + 3591 ; 2033 + 3592 ; 1657 + 3593 ; 2386 + 3594 ; 2362 + 3595 ; 2212 + 3596 ; 2372 + 3597 ; 1792 + 3598 ; 2098 + 3599 ; 2274 + 3600 ; 2036 + 3601 ; 2378 + 3602 ; 1851 + 3603 ; 2361 + 3604 ; 2385 + 3605 ; 2408 + 3606 ; 1728 + 3607 ; 2036 + 3608 ; 2292 + 3609 ; 2275 + 3610 ; 1953 + 3611 ; 2056 + 3612 ; 2289 + 3613 ; 1755 + 3614 ; 2083 + 3615 ; 1770 + 3616 ; 2199 + 3617 ; 1779 + 3618 ; 1636 + 3619 ; 1740 + 3620 ; 1807 + 3621 ; 2389 + 3622 ; 2008 + 3623 ; 2371 + 3624 ; 2095 + 3625 ; 1744 + 3626 ; 2004 + 3627 ; 2193 + 3628 ; 2369 + 3629 ; 2409 + 3630 ; 2022 + 3631 ; 1988 + 3632 ; 2301 + 3633 ; 1629 + 3634 ; 1859 + 3635 ; 1946 + 3636 ; 2179 + 3637 ; 2372 + 3638 ; 2012 + 3639 ; 1681 + 3640 ; 2291 + 3641 ; 1780 + 3642 ; 1815 + 3643 ; 1754 + 3644 ; 1842 + 3645 ; 2224 + 3646 ; 1954 + 3647 ; 2217 + 3648 ; 2088 + 3649 ; 2214 + 3650 ; 2315 + 3651 ; 2194 + 3652 ; 2108 + 3653 ; 1628 + 3654 ; 1678 + 3655 ; 2244 + 3656 ; 2283 + 3657 ; 1894 + 3658 ; 1840 + 3659 ; 2231 + 3660 ; 2197 + 3661 ; 1709 + 3662 ; 2177 + 3663 ; 2226 + 3664 ; 2028 + 3665 ; 2233 + 3666 ; 2057 + 3667 ; 1794 + 3668 ; 1618 + 3669 ; 2358 + 3670 ; 1771 + 3671 ; 1764 + 3672 ; 1733 + 3673 ; 1998 + 3674 ; 1923 + 3675 ; 2085 + 3676 ; 2237 + 3677 ; 1727 + 3678 ; 1711 + 3679 ; 2185 + 3680 ; 1709 + 3681 ; 2332 + 3682 ; 2342 + 3683 ; 1682 + 3684 ; 1806 + 3685 ; 2232 + 3686 ; 1774 + 3687 ; 2096 + 3688 ; 1754 + 3689 ; 1742 + 3690 ; 1974 + 3691 ; 2142 + 3692 ; 1705 + 3693 ; 1931 + 3694 ; 1781 + 3695 ; 2128 + 3696 ; 2006 + 3697 ; 1724 + 3698 ; 2105 + 3699 ; 2021 + 3700 ; 2097 + 3701 ; 1619 + 3702 ; 1751 + 3703 ; 2265 + 3704 ; 2401 + 3705 ; 2268 + 3706 ; 1735 + 3707 ; 1913 + 3708 ; 1648 + 3709 ; 2048 + 3710 ; 2226 + 3711 ; 1807 + 3712 ; 2376 + 3713 ; 2261 + 3714 ; 1789 + 3715 ; 2375 + 3716 ; 2359 + 3717 ; 2408 + 3718 ; 2095 + 3719 ; 1899 + 3720 ; 2342 + 3721 ; 2152 + 3722 ; 2009 + 3723 ; 2206 + 3724 ; 2152 + 3725 ; 2084 + 3726 ; 2368 + 3727 ; 2163 + 3728 ; 1872 + 3729 ; 1732 + 3730 ; 1805 + 3731 ; 1626 + 3732 ; 2037 + 3733 ; 1751 + 3734 ; 1886 + 3735 ; 1668 + 3736 ; 2196 + 3737 ; 2252 + 3738 ; 2406 + 3739 ; 2243 + 3740 ; 2247 + 3741 ; 1707 + 3742 ; 2326 + 3743 ; 2191 + 3744 ; 2283 + 3745 ; 1805 + 3746 ; 2277 + 3747 ; 2033 + 3748 ; 1951 + 3749 ; 1955 + 3750 ; 2093 + 3751 ; 2315 + 3752 ; 2137 + 3753 ; 1963 + 3754 ; 2231 + 3755 ; 2216 + 3756 ; 1963 + 3757 ; 2190 + 3758 ; 1823 + 3759 ; 2282 + 3760 ; 1983 + 3761 ; 1622 + 3762 ; 2244 + 3763 ; 1901 + 3764 ; 1801 + 3765 ; 2293 + 3766 ; 1656 + 3767 ; 1893 + 3768 ; 2300 + 3769 ; 2097 + 3770 ; 1897 + 3771 ; 1690 + 3772 ; 1789 + 3773 ; 1908 + 3774 ; 1923 + 3775 ; 2185 + 3776 ; 1907 + 3777 ; 2028 + 3778 ; 2330 + 3779 ; 1784 + 3780 ; 1820 + 3781 ; 1625 + 3782 ; 1905 + 3783 ; 1707 + 3784 ; 2005 + 3785 ; 2044 + 3786 ; 1749 + 3787 ; 1634 + 3788 ; 1767 + 3789 ; 1913 + 3790 ; 2256 + 3791 ; 2088 + 3792 ; 2389 + 3793 ; 2252 + 3794 ; 2291 + 3795 ; 2349 + 3796 ; 1983 + 3797 ; 1629 + 3798 ; 1750 + 3799 ; 2369 + 3800 ; 2374 + 3801 ; 2294 + 3802 ; 1771 + 3803 ; 1847 + 3804 ; 2071 + 3805 ; 1769 + 3806 ; 2143 + 3807 ; 2095 + 3808 ; 2269 + 3809 ; 2203 + 3810 ; 1809 + 3811 ; 2386 + 3812 ; 1793 + 3813 ; 1711 + 3814 ; 2087 + 3815 ; 2207 + 3816 ; 2160 + 3817 ; 1947 + 3818 ; 1731 + 3819 ; 1879 + 3820 ; 1990 + 3821 ; 2001 + 3822 ; 2125 + 3823 ; 2097 + 3824 ; 2011 + 3825 ; 2045 + 3826 ; 1727 + 3827 ; 2287 + 3828 ; 2377 + 3829 ; 2082 + 3830 ; 2088 + 3831 ; 2304 + 3832 ; 1838 + 3833 ; 1664 + 3834 ; 1882 + 3835 ; 1774 + 3836 ; 1879 + 3837 ; 2386 + 3838 ; 2153 + 3839 ; 1809 + 3840 ; 1787 + 3841 ; 1688 + 3842 ; 2270 + 3843 ; 1672 + 3844 ; 2201 + 3845 ; 1872 + 3846 ; 2363 + 3847 ; 2127 + 3848 ; 1991 + 3849 ; 1932 + 3850 ; 2116 + 3851 ; 1939 + 3852 ; 2405 + 3853 ; 2328 + 3854 ; 2227 + 3855 ; 1850 + 3856 ; 2273 + 3857 ; 2383 + 3858 ; 1936 + 3859 ; 1652 + 3860 ; 1845 + 3861 ; 1897 + 3862 ; 2188 + 3863 ; 2040 + 3864 ; 2397 + 3865 ; 2183 + 3866 ; 2137 + 3867 ; 1671 + 3868 ; 1909 + 3869 ; 1677 + 3870 ; 2358 + 3871 ; 1894 + 3872 ; 2219 + 3873 ; 1758 + 3874 ; 1637 + 3875 ; 1749 + 3876 ; 2326 + 3877 ; 2394 + 3878 ; 2125 + 3879 ; 1842 + 3880 ; 1642 + 3881 ; 2394 + 3882 ; 1794 + 3883 ; 2364 + 3884 ; 2060 + 3885 ; 2087 + 3886 ; 1911 + 3887 ; 2218 + 3888 ; 2279 + 3889 ; 2316 + 3890 ; 2286 + 3891 ; 2220 + 3892 ; 1627 + 3893 ; 2248 + 3894 ; 1874 + 3895 ; 2088 + 3896 ; 2344 + 3897 ; 2068 + 3898 ; 1876 + 3899 ; 1858 + 3900 ; 1711 + 3901 ; 1689 + 3902 ; 2121 + 3903 ; 2315 + 3904 ; 1794 + 3905 ; 2238 + 3906 ; 2191 + 3907 ; 2142 + 3908 ; 2217 + 3909 ; 2046 + 3910 ; 1759 + 3911 ; 1927 + 3912 ; 1725 + 3913 ; 1684 + 3914 ; 2178 + 3915 ; 1869 + 3916 ; 2086 + 3917 ; 2344 + 3918 ; 2321 + 3919 ; 1986 + 3920 ; 1636 + 3921 ; 2257 + 3922 ; 1978 + 3923 ; 2072 + 3924 ; 2083 + 3925 ; 1995 + 3926 ; 2035 + 3927 ; 2379 + 3928 ; 1961 + 3929 ; 1849 + 3930 ; 1714 + 3931 ; 2389 + 3932 ; 1761 + 3933 ; 2198 + 3934 ; 1640 + 3935 ; 2179 + 3936 ; 2046 + 3937 ; 2021 + 3938 ; 2329 + 3939 ; 2262 + 3940 ; 1626 + 3941 ; 2280 + 3942 ; 1654 + 3943 ; 1944 + 3944 ; 1685 + 3945 ; 2288 + 3946 ; 2180 + 3947 ; 2152 + 3948 ; 1891 + 3949 ; 1776 + 3950 ; 1811 + 3951 ; 2120 + 3952 ; 1664 + 3953 ; 1998 + 3954 ; 2366 + 3955 ; 1949 + 3956 ; 2103 + 3957 ; 1806 + 3958 ; 1844 + 3959 ; 2068 + 3960 ; 2194 + 3961 ; 2183 + 3962 ; 1749 + 3963 ; 2258 + 3964 ; 1630 + 3965 ; 2242 + 3966 ; 2328 + 3967 ; 1890 + 3968 ; 2158 + 3969 ; 1764 + 3970 ; 2016 + 3971 ; 1971 + 3972 ; 2388 + 3973 ; 1841 + 3974 ; 2030 + 3975 ; 2155 + 3976 ; 2052 + 3977 ; 2288 + 3978 ; 2064 + 3979 ; 2000 + 3980 ; 1934 + 3981 ; 2041 + 3982 ; 1630 + 3983 ; 2031 + 3984 ; 2404 + 3985 ; 1833 + 3986 ; 2047 + 3987 ; 2369 + 3988 ; 1628 + 3989 ; 1721 + 3990 ; 1677 + 3991 ; 1723 + 3992 ; 2072 + 3993 ; 2291 + 3994 ; 1740 + 3995 ; 2159 + 3996 ; 2286 + 3997 ; 2265 + 3998 ; 1846 + 3999 ; 2039 + 4000 ; 1768 + Last second: 74373 + Proof time target: 2013 + Average proposal time: 18 + Average proof time: 2013 + +logCount,time,lastVerifiedBlockId,numBlocks,blockFee,accProposedAt + !----------------------------- + 1;1;0;1;100000000;0 + 2;12;0;1;100000000;0 + 3;20;0;2;100000000;20 + 4;24;0;2;100000000;20 + 5;36;0;2;100000000;20 + 6;43;0;3;100000000;63 + 7;48;0;3;100000000;63 + 8;57;0;4;100000000;120 + 9;60;0;4;100000000;120 + 10;69;0;5;100000000;189 + 11;72;0;5;100000000;189 + 12;84;0;5;100000000;189 + 13;92;0;6;100000000;281 + 14;96;0;6;100000000;281 + 15;104;0;7;100000000;385 + 16;108;0;7;100000000;385 + 17;120;0;7;100000000;385 + 18;126;0;8;100000000;511 + 19;132;0;8;100000000;511 + 20;143;0;9;100000000;654 + 21;144;0;9;100000000;654 + 22;156;0;9;100000000;654 + 23;156;0;10;100000000;810 + 24;168;0;10;100000000;810 + 25;176;0;11;100000000;986 + 26;180;0;11;100000000;986 + 27;192;0;11;100000000;986 + 28;199;0;12;100000000;1185 + 29;204;0;12;100000000;1185 + 30;215;0;13;100000000;1400 + 31;216;0;13;100000000;1400 + 32;228;0;13;100000000;1400 + 33;234;0;14;100000000;1634 + 34;240;0;14;100000000;1634 + 35;250;0;15;100000000;1884 + 36;252;0;15;100000000;1884 + 37;264;0;15;100000000;1884 + 38;269;0;16;100000000;2153 + 39;276;0;16;100000000;2153 + 40;283;0;17;100000000;2436 + 41;288;0;17;100000000;2436 + 42;296;0;18;100000000;2732 + 43;300;0;18;100000000;2732 + 44;312;0;18;100000000;2732 + 45;315;0;19;100000000;3047 + 46;324;0;19;100000000;3047 + 47;331;0;20;100000000;3378 + 48;336;0;20;100000000;3378 + 49;348;0;20;100000000;3378 + 50;354;0;21;100000000;3732 + 51;360;0;21;100000000;3732 + 52;372;0;21;100000000;3732 + 53;376;0;22;100000000;4108 + 54;384;0;22;100000000;4108 + 55;391;0;23;100000000;4499 + 56;396;0;23;100000000;4499 + 57;408;0;23;100000000;4499 + 58;413;0;24;100000000;4912 + 59;420;0;24;100000000;4912 + 60;429;0;25;100000000;5341 + 61;432;0;25;100000000;5341 + 62;444;0;25;100000000;5341 + 63;452;0;26;100000000;5793 + 64;456;0;26;100000000;5793 + 65;468;0;26;100000000;5793 + 66;470;0;27;100000000;6263 + 67;480;0;27;100000000;6263 + 68;492;0;27;100000000;6263 + 69;494;0;28;100000000;6757 + 70;504;0;28;100000000;6757 + 71;509;0;29;100000000;7266 + 72;516;0;29;100000000;7266 + 73;528;0;29;100000000;7266 + 74;533;0;30;100000000;7799 + 75;540;0;30;100000000;7799 + 76;552;0;30;100000000;7799 + 77;555;0;31;100000000;8354 + 78;564;0;31;100000000;8354 + 79;569;0;32;100000000;8923 + 80;576;0;32;100000000;8923 + 81;583;0;33;100000000;9506 + 82;588;0;33;100000000;9506 + 83;600;0;33;100000000;9506 + 84;600;0;34;100000000;10106 + 85;612;0;34;100000000;10106 + 86;622;0;35;100000000;10728 + 87;624;0;35;100000000;10728 + 88;636;0;35;100000000;10728 + 89;641;0;36;100000000;11369 + 90;648;0;36;100000000;11369 + 91;658;0;37;100000000;12027 + 92;660;0;37;100000000;12027 + 93;670;0;38;100000000;12697 + 94;672;0;38;100000000;12697 + 95;684;0;38;100000000;12697 + 96;688;0;39;100000000;13385 + 97;696;0;39;100000000;13385 + 98;708;0;39;100000000;13385 + 99;712;0;40;100000000;14097 + 100;720;0;40;100000000;14097 + 101;730;0;41;100000000;14827 + 102;732;0;41;100000000;14827 + 103;744;0;41;100000000;14827 + 104;746;0;42;100000000;15573 + 105;756;0;42;100000000;15573 + 106;768;0;42;100000000;15573 + 107;770;0;43;100000000;16343 + 108;780;0;43;100000000;16343 + 109;790;0;44;100000000;17133 + 110;792;0;44;100000000;17133 + 111;804;0;44;100000000;17133 + 112;811;0;45;100000000;17944 + 113;816;0;45;100000000;17944 + 114;826;0;46;100000000;18770 + 115;828;0;46;100000000;18770 + 116;840;0;46;100000000;18770 + 117;842;0;47;100000000;19612 + 118;852;0;47;100000000;19612 + 119;859;0;48;100000000;20471 + 120;864;0;48;100000000;20471 + 121;872;0;49;100000000;21343 + 122;876;0;49;100000000;21343 + 123;888;0;49;100000000;21343 + 124;893;0;50;100000000;22236 + 125;900;0;50;100000000;22236 + 126;912;0;50;100000000;22236 + 127;914;0;51;100000000;23150 + 128;924;0;51;100000000;23150 + 129;935;0;52;100000000;24085 + 130;936;0;52;100000000;24085 + 131;948;0;52;100000000;24085 + 132;959;0;53;100000000;25044 + 133;960;0;53;100000000;25044 + 134;972;0;53;100000000;25044 + 135;972;0;54;100000000;26016 + 136;984;0;54;100000000;26016 + 137;986;0;55;100000000;27002 + 138;996;0;55;100000000;27002 + 139;1007;0;56;100000000;28009 + 140;1008;0;56;100000000;28009 + 141;1020;0;56;100000000;28009 + 142;1031;0;57;100000000;29040 + 143;1032;0;57;100000000;29040 + 144;1044;0;57;100000000;29040 + 145;1055;0;58;100000000;30095 + 146;1056;0;58;100000000;30095 + 147;1068;0;58;100000000;30095 + 148;1069;0;59;100000000;31164 + 149;1080;0;59;100000000;31164 + 150;1081;0;60;100000000;32245 + 151;1092;0;60;100000000;32245 + 152;1104;0;60;100000000;32245 + 153;1104;0;61;100000000;33349 + 154;1116;0;61;100000000;33349 + 155;1117;0;62;100000000;34466 + 156;1128;0;62;100000000;34466 + 157;1140;0;62;100000000;34466 + 158;1141;0;63;100000000;35607 + 159;1152;0;63;100000000;35607 + 160;1158;0;64;100000000;36765 + 161;1164;0;64;100000000;36765 + 162;1176;0;64;100000000;36765 + 163;1181;0;65;100000000;37946 + 164;1188;0;65;100000000;37946 + 165;1199;0;66;100000000;39145 + 166;1200;0;66;100000000;39145 + 167;1212;0;66;100000000;39145 + 168;1212;0;67;100000000;40357 + 169;1224;0;67;100000000;40357 + 170;1226;0;68;100000000;41583 + 171;1236;0;68;100000000;41583 + 172;1243;0;69;100000000;42826 + 173;1248;0;69;100000000;42826 + 174;1257;0;70;100000000;44083 + 175;1260;0;70;100000000;44083 + 176;1272;0;70;100000000;44083 + 177;1276;0;71;100000000;45359 + 178;1284;0;71;100000000;45359 + 179;1293;0;72;100000000;46652 + 180;1296;0;72;100000000;46652 + 181;1306;0;73;100000000;47958 + 182;1308;0;73;100000000;47958 + 183;1320;0;73;100000000;47958 + 184;1320;0;74;100000000;49278 + 185;1332;0;74;100000000;49278 + 186;1333;0;75;100000000;50611 + 187;1344;0;75;100000000;50611 + 188;1349;0;76;100000000;51960 + 189;1356;0;76;100000000;51960 + 190;1368;0;76;100000000;51960 + 191;1373;0;77;100000000;53333 + 192;1380;0;77;100000000;53333 + 193;1387;0;78;100000000;54720 + 194;1392;0;78;100000000;54720 + 195;1404;0;78;100000000;54720 + 196;1404;0;79;100000000;56124 + 197;1416;0;79;100000000;56124 + 198;1427;0;80;100000000;57551 + 199;1428;0;80;100000000;57551 + 200;1440;0;80;100000000;57551 + 201;1449;0;81;100000000;59000 + 202;1452;0;81;100000000;59000 + 203;1464;0;81;100000000;59000 + 204;1465;0;82;100000000;60465 + 205;1476;0;82;100000000;60465 + 206;1477;0;83;100000000;61942 + 207;1488;0;83;100000000;61942 + 208;1495;0;84;100000000;63437 + 209;1500;0;84;100000000;63437 + 210;1512;0;84;100000000;63437 + 211;1513;0;85;100000000;64950 + 212;1524;0;85;100000000;64950 + 213;1528;0;86;100000000;66478 + 214;1536;0;86;100000000;66478 + 215;1548;0;86;100000000;66478 + 216;1549;0;87;100000000;68027 + 217;1560;0;87;100000000;68027 + 218;1566;0;88;100000000;69593 + 219;1572;0;88;100000000;69593 + 220;1583;0;89;100000000;71176 + 221;1584;0;89;100000000;71176 + 222;1596;0;89;100000000;71176 + 223;1605;0;90;100000000;72781 + 224;1608;0;90;100000000;72781 + 225;1620;0;90;100000000;72781 + 226;1620;0;91;100000000;74401 + 227;1632;0;91;100000000;74401 + 228;1638;0;92;100000000;76039 + 229;1644;0;92;100000000;76039 + 230;1656;0;92;100000000;76039 + 231;1658;0;93;100000000;77697 + 232;1668;0;93;100000000;77697 + 233;1673;0;94;100000000;79370 + 234;1680;0;94;100000000;79370 + 235;1687;0;95;100000000;81057 + 236;1692;0;95;100000000;81057 + 237;1699;0;96;100000000;82756 + 238;1704;0;96;100000000;82756 + 239;1716;0;96;100000000;82756 + 240;1722;0;97;100000000;84478 + 241;1728;0;97;100000000;84478 + 242;1734;0;98;100000000;86212 + 243;1740;0;98;100000000;86212 + 244;1752;0;98;100000000;86212 + 245;1753;0;99;100000000;87965 + 246;1764;0;99;100000000;87965 + 247;1768;0;100;100000000;89733 + 248;1776;0;100;100000000;89733 + 249;1787;0;101;100000000;91520 + 250;1788;0;101;100000000;91520 + 251;1800;0;101;100000000;91520 + 252;1803;1;102;99071759;93303 + 253;1812;1;102;99071759;93303 + 254;1816;1;103;99071759;95119 + 255;1824;1;103;99071759;95119 + 256;1833;1;104;99071759;96952 + 257;1836;1;104;99071759;96952 + 258;1848;1;104;99071759;96952 + 259;1850;1;105;99071759;98802 + 260;1860;1;105;99071759;98802 + 261;1871;1;106;99071759;100673 + 262;1872;1;106;99071759;100673 + 263;1884;1;106;99071759;100673 + 264;1889;1;107;99071759;102562 + 265;1896;1;107;99071759;102562 + 266;1901;1;108;99071759;104463 + 267;1908;1;108;99071759;104463 + 268;1920;1;108;99071759;104463 + 269;1922;1;109;99071759;106385 + 270;1932;1;109;99071759;106385 + 271;1937;1;110;99071759;108322 + 272;1944;1;110;99071759;108322 + 273;1956;1;110;99071759;108322 + 274;1957;1;111;99071759;110279 + 275;1968;1;111;99071759;110279 + 276;1972;1;112;99071759;112251 + 277;1980;1;112;99071759;112251 + 278;1984;1;113;99071759;114235 + 279;1992;1;113;99071759;114235 + 280;2004;1;113;99071759;114235 + 281;2005;1;114;99071759;116240 + 282;2016;1;114;99071759;116240 + 283;2023;1;115;99071759;118263 + 284;2028;1;115;99071759;118263 + 285;2039;1;116;99071759;120302 + 286;2040;1;116;99071759;120302 + 287;2052;1;116;99071759;120302 + 288;2061;1;117;99071759;122363 + 289;2064;1;117;99071759;122363 + 290;2076;1;117;99071759;122363 + 291;2081;1;118;99071759;124444 + 292;2088;1;118;99071759;124444 + 293;2100;1;118;99071759;124444 + 294;2105;1;119;99071759;126549 + 295;2112;1;119;99071759;126549 + 296;2118;1;120;99071759;128667 + 297;2124;1;120;99071759;128667 + 298;2135;1;121;99071759;130802 + 299;2136;1;121;99071759;130802 + 300;2148;1;121;99071759;130802 + 301;2148;1;122;99071759;132950 + 302;2160;1;122;99071759;132950 + 303;2163;1;123;99071759;135113 + 304;2172;1;123;99071759;135113 + 305;2179;1;124;99071759;137292 + 306;2184;1;124;99071759;137292 + 307;2196;1;124;99071759;137292 + 308;2196;1;125;99071759;139488 + 309;2208;1;125;99071759;139488 + 310;2211;1;126;99071759;141699 + 311;2220;1;126;99071759;141699 + 312;2232;1;126;99071759;141699 + 313;2232;1;127;99071759;143931 + 314;2244;1;127;99071759;143931 + 315;2245;1;128;99071759;146176 + 316;2256;1;128;99071759;146176 + 317;2260;1;129;99071759;148436 + 318;2268;1;129;99071759;148436 + 319;2280;1;129;99071759;148436 + 320;2282;1;130;99071759;150718 + 321;2292;1;130;99071759;150718 + 322;2298;1;131;99071759;153016 + 323;2304;1;131;99071759;153016 + 324;2316;1;131;99071759;153016 + 325;2322;1;132;99071759;155338 + 326;2328;1;132;99071759;155338 + 327;2334;1;133;99071759;157672 + 328;2340;1;133;99071759;157672 + 329;2352;1;133;99071759;157672 + 330;2358;1;134;99071759;160030 + 331;2364;1;134;99071759;160030 + 332;2375;1;135;99071759;162405 + 333;2376;1;135;99071759;162405 + 334;2388;1;135;99071759;162405 + 335;2388;1;136;99071759;164793 + 336;2400;1;136;99071759;164793 + 337;2407;1;137;99071759;167200 + 338;2412;1;137;99071759;167200 + 339;2419;1;138;99071759;169619 + 340;2424;1;138;99071759;169619 + 341;2436;1;138;99071759;169619 + 342;2436;1;139;99071759;172055 + 343;2448;1;139;99071759;172055 + 344;2460;1;139;99071759;172055 + 345;2460;1;140;99071759;174515 + 346;2472;1;140;99071759;174515 + 347;2480;1;141;99071759;176995 + 348;2484;1;141;99071759;176995 + 349;2493;16;142;95528526;177072 + 350;2496;16;142;95528526;177072 + 351;2508;16;142;95528526;177072 + 352;2514;16;143;95528526;179586 + 353;2520;16;143;95528526;179586 + 354;2532;16;143;95528526;179586 + 355;2538;16;144;95528526;182124 + 356;2544;16;144;95528526;182124 + 357;2554;16;145;95528526;184678 + 358;2556;16;145;95528526;184678 + 359;2568;16;145;95528526;184678 + 360;2575;16;146;95528526;187253 + 361;2580;16;146;95528526;187253 + 362;2592;16;146;95528526;187253 + 363;2598;16;147;95528526;189851 + 364;2604;16;147;95528526;189851 + 365;2616;16;147;95528526;189851 + 366;2617;16;148;95528526;192468 + 367;2628;16;148;95528526;192468 + 368;2630;16;149;95528526;195098 + 369;2640;16;149;95528526;195098 + 370;2644;16;150;95528526;197742 + 371;2652;16;150;95528526;197742 + 372;2661;16;151;95528526;200403 + 373;2664;16;151;95528526;200403 + 374;2676;16;151;95528526;200403 + 375;2677;16;152;95528526;203080 + 376;2688;22;152;94610543;201017 + 377;2700;22;152;94610543;201017 + 378;2700;22;153;94610543;203717 + 379;2712;22;153;94610543;203717 + 380;2724;22;153;94610543;203717 + 381;2724;23;154;95306336;206028 + 382;2736;23;154;95306336;206028 + 383;2741;23;155;95306336;208769 + 384;2748;23;155;95306336;208769 + 385;2753;23;156;95306336;211522 + 386;2760;23;156;95306336;211522 + 387;2772;23;156;95306336;211522 + 388;2775;23;157;95306336;214297 + 389;2784;23;157;95306336;214297 + 390;2790;24;158;96144462;216658 + 391;2796;24;158;96144462;216658 + 392;2808;24;158;96144462;216658 + 393;2810;24;159;96144462;219468 + 394;2820;24;159;96144462;219468 + 395;2826;32;160;94692828;218129 + 396;2832;32;160;94692828;218129 + 397;2839;32;161;94692828;220968 + 398;2844;32;161;94692828;220968 + 399;2856;32;161;94692828;220968 + 400;2856;32;162;94692828;223824 + 401;2868;32;162;94692828;223824 + 402;2876;32;163;94692828;226700 + 403;2880;32;163;94692828;226700 + 404;2889;42;164;91320380;222752 + 405;2892;42;164;91320380;222752 + 406;2904;42;164;91320380;222752 + 407;2910;42;165;91320380;225662 + 408;2916;42;165;91320380;225662 + 409;2928;42;165;91320380;225662 + 410;2933;42;166;91320380;228595 + 411;2940;42;166;91320380;228595 + 412;2952;42;166;91320380;228595 + 413;2954;42;167;91320380;231549 + 414;2964;42;167;91320380;231549 + 415;2976;42;167;91320380;231549 + 416;2978;42;168;91320380;234527 + 417;2988;42;168;91320380;234527 + 418;2994;42;169;91320380;237521 + 419;3000;42;169;91320380;237521 + 420;3008;42;170;91320380;240529 + 421;3012;42;170;91320380;240529 + 422;3024;42;170;91320380;240529 + 423;3028;42;171;91320380;243557 + 424;3036;42;171;91320380;243557 + 425;3048;42;171;91320380;243557 + 426;3049;42;172;91320380;246606 + 427;3060;42;172;91320380;246606 + 428;3066;42;173;91320380;249672 + 429;3072;42;173;91320380;249672 + 430;3084;42;173;91320380;249672 + 431;3088;44;174;91638490;251159 + 432;3096;44;174;91638490;251159 + 433;3108;44;174;91638490;251159 + 434;3110;44;175;91638490;254269 + 435;3120;44;175;91638490;254269 + 436;3124;44;176;91638490;257393 + 437;3132;44;176;91638490;257393 + 438;3138;44;177;91638490;260531 + 439;3144;44;177;91638490;260531 + 440;3150;46;178;91232527;262013 + 441;3156;46;178;91232527;262013 + 442;3165;46;179;91232527;265178 + 443;3168;46;179;91232527;265178 + 444;3178;48;180;92009115;266625 + 445;3180;48;180;92009115;266625 + 446;3192;48;180;92009115;266625 + 447;3196;48;181;92009115;269821 + 448;3204;48;181;92009115;269821 + 449;3212;48;182;92009115;273033 + 450;3216;48;182;92009115;273033 + 451;3227;53;183;90729714;271587 + 452;3228;53;183;90729714;271587 + 453;3240;53;183;90729714;271587 + 454;3242;53;184;90729714;274829 + 455;3252;53;184;90729714;274829 + 456;3255;53;185;90729714;278084 + 457;3264;53;185;90729714;278084 + 458;3272;53;186;90729714;281356 + 459;3276;53;186;90729714;281356 + 460;3288;53;186;90729714;281356 + 461;3294;53;187;90729714;284650 + 462;3300;53;187;90729714;284650 + 463;3312;53;187;90729714;284650 + 464;3312;53;188;90729714;287962 + 465;3324;53;188;90729714;287962 + 466;3334;53;189;90729714;291296 + 467;3336;53;189;90729714;291296 + 468;3348;53;189;90729714;291296 + 469;3353;53;190;90729714;294649 + 470;3360;53;190;90729714;294649 + 471;3368;53;191;90729714;298017 + 472;3372;53;191;90729714;298017 + 473;3382;53;192;90729714;301399 + 474;3384;53;192;90729714;301399 + 475;3396;53;192;90729714;301399 + 476;3404;53;193;90729714;304803 + 477;3408;53;193;90729714;304803 + 478;3420;53;193;90729714;304803 + 479;3426;53;194;90729714;308229 + 480;3432;53;194;90729714;308229 + 481;3444;53;194;90729714;308229 + 482;3444;54;195;91809362;310687 + 483;3456;54;195;91809362;310687 + 484;3457;54;196;91809362;314144 + 485;3468;54;196;91809362;314144 + 486;3480;58;196;93011530;309982 + 487;3481;58;197;93011530;313463 + 488;3492;58;197;93011530;313463 + 489;3503;58;198;93011530;316966 + 490;3504;58;198;93011530;316966 + 491;3516;58;198;93011530;316966 + 492;3517;58;199;93011530;320483 + 493;3528;58;199;93011530;320483 + 494;3540;58;199;93011530;320483 + 495;3540;58;200;93011530;324023 + 496;3552;58;200;93011530;324023 + 497;3553;60;201;94757531;325391 + 498;3564;60;201;94757531;325391 + 499;3576;60;201;94757531;325391 + 500;3577;60;202;94757531;328968 + 501;3588;68;202;93060636;319491 + 502;3589;68;203;93060636;323080 + 503;3600;68;203;93060636;323080 + 504;3605;68;204;93060636;326685 + 505;3612;68;204;93060636;326685 + 506;3624;68;204;93060636;326685 + 507;3627;68;205;93060636;330312 + 508;3636;68;205;93060636;330312 + 509;3648;68;205;93060636;330312 + 510;3650;68;206;93060636;333962 + 511;3660;68;206;93060636;333962 + 512;3662;68;207;93060636;337624 + 513;3672;68;207;93060636;337624 + 514;3682;76;208;94261627;330799 + 515;3684;76;208;94261627;330799 + 516;3696;76;208;94261627;330799 + 517;3698;76;209;94261627;334497 + 518;3708;76;209;94261627;334497 + 519;3720;76;209;94261627;334497 + 520;3720;76;210;94261627;338217 + 521;3732;76;210;94261627;338217 + 522;3743;76;211;94261627;341960 + 523;3744;76;211;94261627;341960 + 524;3756;76;211;94261627;341960 + 525;3759;76;212;94261627;345719 + 526;3768;76;212;94261627;345719 + 527;3778;76;213;94261627;349497 + 528;3780;76;213;94261627;349497 + 529;3790;76;214;94261627;353287 + 530;3792;76;214;94261627;353287 + 531;3804;76;214;94261627;353287 + 532;3806;79;215;96566286;352875 + 533;3816;79;215;96566286;352875 + 534;3818;79;216;96566286;356693 + 535;3828;79;216;96566286;356693 + 536;3839;79;217;96566286;360532 + 537;3840;79;217;96566286;360532 + 538;3852;79;217;96566286;360532 + 539;3857;79;218;96566286;364389 + 540;3864;79;218;96566286;364389 + 541;3875;88;219;95983401;354639 + 542;3876;88;219;95983401;354639 + 543;3888;88;219;95983401;354639 + 544;3892;88;220;95983401;358531 + 545;3900;88;220;95983401;358531 + 546;3907;88;221;95983401;362438 + 547;3912;88;221;95983401;362438 + 548;3924;88;221;95983401;362438 + 549;3929;88;222;95983401;366367 + 550;3936;88;222;95983401;366367 + 551;3943;88;223;95983401;370310 + 552;3948;88;223;95983401;370310 + 553;3960;88;223;95983401;370310 + 554;3962;88;224;95983401;374272 + 555;3972;88;224;95983401;374272 + 556;3974;88;225;95983401;378246 + 557;3984;88;225;95983401;378246 + 558;3996;88;225;95983401;378246 + 559;3996;88;226;95983401;382242 + 560;4008;88;226;95983401;382242 + 561;4012;88;227;95983401;386254 + 562;4020;88;227;95983401;386254 + 563;4028;88;228;95983401;390282 + 564;4032;88;228;95983401;390282 + 565;4043;98;229;95117142;377536 + 566;4044;98;229;95117142;377536 + 567;4056;98;229;95117142;377536 + 568;4056;102;230;95575993;374418 + 569;4068;102;230;95575993;374418 + 570;4080;102;230;95575993;374418 + 571;4080;102;231;95575993;378498 + 572;4092;102;231;95575993;378498 + 573;4097;102;232;95575993;382595 + 574;4104;102;232;95575993;382595 + 575;4116;102;232;95575993;382595 + 576;4116;102;233;95575993;386711 + 577;4128;102;233;95575993;386711 + 578;4136;102;234;95575993;390847 + 579;4140;102;234;95575993;390847 + 580;4152;102;234;95575993;390847 + 581;4160;102;235;95575993;395007 + 582;4164;102;235;95575993;395007 + 583;4176;102;235;95575993;395007 + 584;4178;102;236;95575993;399185 + 585;4188;102;236;95575993;399185 + 586;4198;108;237;94996137;392117 + 587;4200;108;237;94996137;392117 + 588;4211;108;238;94996137;396328 + 589;4212;108;238;94996137;396328 + 590;4223;108;239;94996137;400551 + 591;4224;108;239;94996137;400551 + 592;4236;108;239;94996137;400551 + 593;4247;108;240;94996137;404798 + 594;4248;108;240;94996137;404798 + 595;4260;108;240;94996137;404798 + 596;4269;112;241;93303659;401217 + 597;4272;112;241;93303659;401217 + 598;4284;112;241;93303659;401217 + 599;4291;112;242;93303659;405508 + 600;4296;112;242;93303659;405508 + 601;4303;112;243;93303659;409811 + 602;4308;112;243;93303659;409811 + 603;4318;113;244;94001514;412124 + 604;4320;113;244;94001514;412124 + 605;4332;113;244;94001514;412124 + 606;4339;113;245;94001514;416463 + 607;4344;113;245;94001514;416463 + 608;4353;113;246;94001514;420816 + 609;4356;113;246;94001514;420816 + 610;4368;113;246;94001514;420816 + 611;4368;113;247;94001514;425184 + 612;4380;113;247;94001514;425184 + 613;4389;113;248;94001514;429573 + 614;4392;113;248;94001514;429573 + 615;4403;113;249;94001514;433976 + 616;4404;113;249;94001514;433976 + 617;4416;113;249;94001514;433976 + 618;4418;118;250;93437012;428085 + 619;4428;118;250;93437012;428085 + 620;4440;118;250;93437012;428085 + 621;4440;119;251;94147557;430407 + 622;4452;119;251;94147557;430407 + 623;4459;119;252;94147557;434866 + 624;4464;119;252;94147557;434866 + 625;4473;119;253;94147557;439339 + 626;4476;119;253;94147557;439339 + 627;4486;119;254;94147557;443825 + 628;4488;119;254;94147557;443825 + 629;4500;119;254;94147557;443825 + 630;4504;119;255;94147557;448329 + 631;4512;119;255;94147557;448329 + 632;4524;119;255;94147557;448329 + 633;4527;119;256;94147557;452856 + 634;4536;119;256;94147557;452856 + 635;4548;119;256;94147557;452856 + 636;4548;119;257;94147557;457404 + 637;4560;119;257;94147557;457404 + 638;4562;119;258;94147557;461966 + 639;4572;119;258;94147557;461966 + 640;4581;122;259;95235344;460101 + 641;4584;122;259;95235344;460101 + 642;4594;127;260;97379205;453632 + 643;4596;127;260;97379205;453632 + 644;4608;127;260;97379205;453632 + 645;4610;127;261;97379205;458242 + 646;4620;127;261;97379205;458242 + 647;4623;127;262;97379205;462865 + 648;4632;127;262;97379205;462865 + 649;4640;127;263;97379205;467505 + 650;4644;127;263;97379205;467505 + 651;4656;127;263;97379205;467505 + 652;4660;130;264;97773047;465325 + 653;4668;130;264;97773047;465325 + 654;4680;130;264;97773047;465325 + 655;4682;130;265;97773047;470007 + 656;4692;130;265;97773047;470007 + 657;4695;130;266;97773047;474702 + 658;4704;130;266;97773047;474702 + 659;4716;130;266;97773047;474702 + 660;4719;130;267;97773047;479421 + 661;4728;130;267;97773047;479421 + 662;4740;130;267;97773047;479421 + 663;4742;130;268;97773047;484163 + 664;4752;130;268;97773047;484163 + 665;4762;130;269;97773047;488925 + 666;4764;130;269;97773047;488925 + 667;4776;130;269;97773047;488925 + 668;4777;130;270;97773047;493702 + 669;4788;130;270;97773047;493702 + 670;4796;136;271;98092313;484314 + 671;4800;136;271;98092313;484314 + 672;4812;136;271;98092313;484314 + 673;4812;136;272;98092313;489126 + 674;4824;136;272;98092313;489126 + 675;4829;136;273;98092313;493955 + 676;4836;136;273;98092313;493955 + 677;4848;139;273;100238224;486640 + 678;4850;139;274;100238224;491490 + 679;4860;149;274;97727522;465847 + 680;4866;150;275;97879353;468052 + 681;4872;150;275;97879353;468052 + 682;4881;150;276;97879353;472933 + 683;4884;150;276;97879353;472933 + 684;4896;150;276;97879353;472933 + 685;4900;150;277;97879353;477833 + 686;4908;150;277;97879353;477833 + 687;4914;150;278;97879353;482747 + 688;4920;150;278;97879353;482747 + 689;4932;150;278;97879353;482747 + 690;4934;150;279;97879353;487681 + 691;4944;150;279;97879353;487681 + 692;4955;150;280;97879353;492636 + 693;4956;150;280;97879353;492636 + 694;4968;150;280;97879353;492636 + 695;4972;150;281;97879353;497608 + 696;4980;150;281;97879353;497608 + 697;4989;152;282;98253862;497220 + 698;4992;152;282;98253862;497220 + 699;5004;152;282;98253862;497220 + 700;5013;152;283;98253862;502233 + 701;5016;152;283;98253862;502233 + 702;5026;152;284;98253862;507259 + 703;5028;152;284;98253862;507259 + 704;5040;152;284;98253862;507259 + 705;5047;152;285;98253862;512306 + 706;5052;152;285;98253862;512306 + 707;5064;152;285;98253862;512306 + 708;5066;152;286;98253862;517372 + 709;5076;152;286;98253862;517372 + 710;5088;152;286;98253862;517372 + 711;5089;152;287;98253862;522461 + 712;5100;152;287;98253862;522461 + 713;5112;152;287;98253862;522461 + 714;5112;152;288;98253862;527573 + 715;5124;152;288;98253862;527573 + 716;5128;152;289;98253862;532701 + 717;5136;152;289;98253862;532701 + 718;5148;152;289;98253862;532701 + 719;5151;152;290;98253862;537852 + 720;5160;152;290;98253862;537852 + 721;5163;161;291;99899566;517901 + 722;5172;161;291;99899566;517901 + 723;5178;161;292;99899566;523079 + 724;5184;161;292;99899566;523079 + 725;5194;161;293;99899566;528273 + 726;5196;161;293;99899566;528273 + 727;5208;161;293;99899566;528273 + 728;5212;161;294;99899566;533485 + 729;5220;161;294;99899566;533485 + 730;5224;161;295;99899566;538709 + 731;5232;161;295;99899566;538709 + 732;5244;161;295;99899566;538709 + 733;5245;161;296;99899566;543954 + 734;5256;161;296;99899566;543954 + 735;5262;161;297;99899566;549216 + 736;5268;161;297;99899566;549216 + 737;5280;161;297;99899566;549216 + 738;5285;164;298;100662380;545826 + 739;5292;164;298;100662380;545826 + 740;5302;170;299;100322289;533233 + 741;5304;170;299;100322289;533233 + 742;5314;170;300;100322289;538547 + 743;5316;170;300;100322289;538547 + 744;5328;170;300;100322289;538547 + 745;5331;170;301;100322289;543878 + 746;5340;170;301;100322289;543878 + 747;5348;170;302;100322289;549226 + 748;5352;170;302;100322289;549226 + 749;5364;170;302;100322289;549226 + 750;5366;170;303;100322289;554592 + 751;5376;170;303;100322289;554592 + 752;5381;170;304;100322289;559973 + 753;5388;170;304;100322289;559973 + 754;5400;170;304;100322289;559973 + 755;5404;170;305;100322289;565377 + 756;5412;170;305;100322289;565377 + 757;5424;170;305;100322289;565377 + 758;5428;170;306;100322289;570805 + 759;5436;170;306;100322289;570805 + 760;5448;176;306;99825153;552230 + 761;5450;184;307;98333210;532055 + 762;5460;184;307;98333210;532055 + 763;5470;184;308;98333210;537525 + 764;5472;184;308;98333210;537525 + 765;5484;184;308;98333210;537525 + 766;5485;184;309;98333210;543010 + 767;5496;184;309;98333210;543010 + 768;5504;184;310;98333210;548514 + 769;5508;184;310;98333210;548514 + 770;5520;184;310;98333210;548514 + 771;5520;184;311;98333210;554034 + 772;5532;184;311;98333210;554034 + 773;5544;184;311;98333210;554034 + 774;5544;184;312;98333210;559578 + 775;5556;184;312;98333210;559578 + 776;5565;190;313;95995323;545210 + 777;5568;190;313;95995323;545210 + 778;5580;190;313;95995323;545210 + 779;5589;197;314;91900623;526702 + 780;5592;197;314;91900623;526702 + 781;5604;197;314;91900623;526702 + 782;5612;197;315;91900623;532314 + 783;5616;197;315;91900623;532314 + 784;5628;197;315;91900623;532314 + 785;5635;197;316;91900623;537949 + 786;5640;197;316;91900623;537949 + 787;5647;197;317;91900623;543596 + 788;5652;197;317;91900623;543596 + 789;5664;197;317;91900623;543596 + 790;5665;197;318;91900623;549261 + 791;5676;197;318;91900623;549261 + 792;5685;197;319;91900623;554946 + 793;5688;197;319;91900623;554946 + 794;5700;197;319;91900623;554946 + 795;5705;198;320;92209302;557134 + 796;5712;198;320;92209302;557134 + 797;5724;198;320;92209302;557134 + 798;5725;198;321;92209302;562859 + 799;5736;198;321;92209302;562859 + 800;5748;198;321;92209302;562859 + 801;5748;198;322;92209302;568607 + 802;5760;198;322;92209302;568607 + 803;5765;198;323;92209302;574372 + 804;5772;198;323;92209302;574372 + 805;5784;198;323;92209302;574372 + 806;5784;198;324;92209302;580156 + 807;5796;198;324;92209302;580156 + 808;5796;198;325;92209302;585952 + 809;5808;198;325;92209302;585952 + 810;5820;198;325;92209302;585952 + 811;5820;198;326;92209302;591772 + 812;5832;198;326;92209302;591772 + 813;5836;198;327;92209302;597608 + 814;5844;198;327;92209302;597608 + 815;5849;198;328;92209302;603457 + 816;5856;198;328;92209302;603457 + 817;5866;208;329;87517429;573140 + 818;5868;208;329;87517429;573140 + 819;5878;208;330;87517429;579018 + 820;5880;208;330;87517429;579018 + 821;5892;208;330;87517429;579018 + 822;5902;208;331;87517429;584920 + 823;5904;208;331;87517429;584920 + 824;5914;208;332;87517429;590834 + 825;5916;208;332;87517429;590834 + 826;5928;208;332;87517429;590834 + 827;5937;208;333;87517429;596771 + 828;5940;208;333;87517429;596771 + 829;5952;208;333;87517429;596771 + 830;5956;208;334;87517429;602727 + 831;5964;208;334;87517429;602727 + 832;5974;208;335;87517429;608701 + 833;5976;208;335;87517429;608701 + 834;5986;208;336;87517429;614687 + 835;5988;208;336;87517429;614687 + 836;5998;208;337;87517429;620685 + 837;6000;208;337;87517429;620685 + 838;6012;208;337;87517429;620685 + 839;6020;208;338;87517429;626705 + 840;6024;208;338;87517429;626705 + 841;6036;208;338;87517429;626705 + 842;6036;208;339;87517429;632741 + 843;6048;208;339;87517429;632741 + 844;6048;208;340;87517429;638789 + 845;6060;208;340;87517429;638789 + 846;6071;211;341;86724883;633638 + 847;6072;211;341;86724883;633638 + 848;6084;211;341;86724883;633638 + 849;6089;211;342;86724883;639727 + 850;6096;211;342;86724883;639727 + 851;6102;212;343;87397952;642051 + 852;6108;212;343;87397952;642051 + 853;6120;212;343;87397952;642051 + 854;6123;212;344;87397952;648174 + 855;6132;212;344;87397952;648174 + 856;6142;212;345;87397952;654316 + 857;6144;212;345;87397952;654316 + 858;6156;212;345;87397952;654316 + 859;6159;212;346;87397952;660475 + 860;6168;212;346;87397952;660475 + 861;6172;212;347;87397952;666647 + 862;6180;212;347;87397952;666647 + 863;6192;212;347;87397952;666647 + 864;6195;212;348;87397952;672842 + 865;6204;212;348;87397952;672842 + 866;6216;212;348;87397952;672842 + 867;6216;212;349;87397952;679058 + 868;6228;212;349;87397952;679058 + 869;6230;212;350;87397952;685288 + 870;6240;212;350;87397952;685288 + 871;6252;212;350;87397952;685288 + 872;6253;215;351;89565380;680127 + 873;6264;215;351;89565380;680127 + 874;6269;215;352;89565380;686396 + 875;6276;215;352;89565380;686396 + 876;6283;215;353;89565380;692679 + 877;6288;215;353;89565380;692679 + 878;6299;225;354;89232300;659804 + 879;6300;225;354;89232300;659804 + 880;6312;225;354;89232300;659804 + 881;6312;225;355;89232300;666116 + 882;6324;225;355;89232300;666116 + 883;6329;225;356;89232300;672445 + 884;6336;225;356;89232300;672445 + 885;6348;225;356;89232300;672445 + 886;6353;233;357;87574510;646230 + 887;6360;233;357;87574510;646230 + 888;6365;233;358;87574510;652595 + 889;6372;233;358;87574510;652595 + 890;6384;233;358;87574510;652595 + 891;6385;233;359;87574510;658980 + 892;6396;233;359;87574510;658980 + 893;6397;233;360;87574510;665377 + 894;6408;233;360;87574510;665377 + 895;6411;233;361;87574510;671788 + 896;6420;233;361;87574510;671788 + 897;6428;233;362;87574510;678216 + 898;6432;233;362;87574510;678216 + 899;6444;238;362;87381672;657246 + 900;6444;238;363;87381672;663690 + 901;6456;238;363;87381672;663690 + 902;6456;238;364;87381672;670146 + 903;6468;238;364;87381672;670146 + 904;6477;238;365;87381672;676623 + 905;6480;238;365;87381672;676623 + 906;6492;238;365;87381672;676623 + 907;6497;238;366;87381672;683120 + 908;6504;238;366;87381672;683120 + 909;6515;238;367;87381672;689635 + 910;6516;238;367;87381672;689635 + 911;6528;238;367;87381672;689635 + 912;6538;240;368;87835927;687657 + 913;6540;240;368;87835927;687657 + 914;6552;240;368;87835927;687657 + 915;6560;240;369;87835927;694217 + 916;6564;240;369;87835927;694217 + 917;6576;240;369;87835927;694217 + 918;6582;245;370;86271017;679195 + 919;6588;245;370;86271017;679195 + 920;6600;245;370;86271017;679195 + 921;6604;245;371;86271017;685799 + 922;6612;245;371;86271017;685799 + 923;6624;245;371;86271017;685799 + 924;6628;245;372;86271017;692427 + 925;6636;245;372;86271017;692427 + 926;6648;245;372;86271017;692427 + 927;6648;245;373;86271017;699075 + 928;6660;245;373;86271017;699075 + 929;6662;245;374;86271017;705737 + 930;6672;245;374;86271017;705737 + 931;6678;245;375;86271017;712415 + 932;6684;245;375;86271017;712415 + 933;6696;245;375;86271017;712415 + 934;6700;245;376;86271017;719115 + 935;6708;245;376;86271017;719115 + 936;6720;245;376;86271017;719115 + 937;6720;245;377;86271017;725835 + 938;6732;245;377;86271017;725835 + 939;6742;245;378;86271017;732577 + 940;6744;245;378;86271017;732577 + 941;6756;245;378;86271017;732577 + 942;6756;245;379;86271017;739333 + 943;6768;245;379;86271017;739333 + 944;6774;245;380;86271017;746107 + 945;6780;245;380;86271017;746107 + 946;6792;245;380;86271017;746107 + 947;6797;245;381;86271017;752904 + 948;6804;245;381;86271017;752904 + 949;6816;245;381;86271017;752904 + 950;6817;245;382;86271017;759721 + 951;6828;245;382;86271017;759721 + 952;6834;245;383;86271017;766555 + 953;6840;245;383;86271017;766555 + 954;6848;255;384;86665665;728936 + 955;6852;255;384;86665665;728936 + 956;6860;260;385;83924947;712901 + 957;6864;260;385;83924947;712901 + 958;6872;260;386;83924947;719773 + 959;6876;260;386;83924947;719773 + 960;6888;260;386;83924947;719773 + 961;6896;260;387;83924947;726669 + 962;6900;260;387;83924947;726669 + 963;6912;260;387;83924947;726669 + 964;6918;260;388;83924947;733587 + 965;6924;260;388;83924947;733587 + 966;6931;260;389;83924947;740518 + 967;6936;260;389;83924947;740518 + 968;6948;260;389;83924947;740518 + 969;6952;260;390;83924947;747470 + 970;6960;260;390;83924947;747470 + 971;6968;260;391;83924947;754438 + 972;6972;260;391;83924947;754438 + 973;6984;260;391;83924947;754438 + 974;6990;260;392;83924947;761428 + 975;6996;260;392;83924947;761428 + 976;7008;260;392;83924947;761428 + 977;7014;260;393;83924947;768442 + 978;7020;260;393;83924947;768442 + 979;7030;260;394;83924947;775472 + 980;7032;260;394;83924947;775472 + 981;7043;260;395;83924947;782515 + 982;7044;260;395;83924947;782515 + 983;7055;260;396;83924947;789570 + 984;7056;260;396;83924947;789570 + 985;7068;260;396;83924947;789570 + 986;7074;266;397;83714149;768625 + 987;7080;266;397;83714149;768625 + 988;7092;266;397;83714149;768625 + 989;7097;266;398;83714149;775722 + 990;7104;266;398;83714149;775722 + 991;7116;266;398;83714149;775722 + 992;7119;266;399;83714149;782841 + 993;7128;266;399;83714149;782841 + 994;7139;271;400;83682965;766091 + 995;7140;271;400;83682965;766091 + 996;7152;271;400;83682965;766091 + 997;7155;271;401;83682965;773246 + 998;7164;271;401;83682965;773246 + 999;7172;271;402;83682965;780418 + 1000;7176;271;402;83682965;780418 + 1001;7188;271;402;83682965;780418 + 1002;7188;271;403;83682965;787606 + 1003;7200;271;403;83682965;787606 + 1004;7208;271;404;83682965;794814 + 1005;7212;271;404;83682965;794814 + 1006;7224;271;404;83682965;794814 + 1007;7225;271;405;83682965;802039 + 1008;7236;271;405;83682965;802039 + 1009;7237;275;406;84710314;789850 + 1010;7248;275;406;84710314;789850 + 1011;7256;275;407;84710314;797106 + 1012;7260;275;407;84710314;797106 + 1013;7272;275;407;84710314;797106 + 1014;7272;275;408;84710314;804378 + 1015;7284;275;408;84710314;804378 + 1016;7284;275;409;84710314;811662 + 1017;7296;275;409;84710314;811662 + 1018;7300;275;410;84710314;818962 + 1019;7308;275;410;84710314;818962 + 1020;7317;275;411;84710314;826279 + 1021;7320;275;411;84710314;826279 + 1022;7329;275;412;84710314;833608 + 1023;7332;275;412;84710314;833608 + 1024;7344;275;412;84710314;833608 + 1025;7347;285;413;85830185;791139 + 1026;7356;289;413;86000907;770659 + 1027;7361;289;414;86000907;778020 + 1028;7368;289;414;86000907;778020 + 1029;7376;289;415;86000907;785396 + 1030;7380;289;415;86000907;785396 + 1031;7390;289;416;86000907;792786 + 1032;7392;289;416;86000907;792786 + 1033;7404;289;416;86000907;792786 + 1034;7407;289;417;86000907;800193 + 1035;7416;289;417;86000907;800193 + 1036;7421;289;418;86000907;807614 + 1037;7428;289;418;86000907;807614 + 1038;7439;290;419;86501681;809890 + 1039;7440;290;419;86501681;809890 + 1040;7452;290;419;86501681;809890 + 1041;7456;290;420;86501681;817346 + 1042;7464;290;420;86501681;817346 + 1043;7473;290;421;86501681;824819 + 1044;7476;290;421;86501681;824819 + 1045;7488;290;421;86501681;824819 + 1046;7496;290;422;86501681;832315 + 1047;7500;290;422;86501681;832315 + 1048;7511;290;423;86501681;839826 + 1049;7512;290;423;86501681;839826 + 1050;7524;290;423;86501681;839826 + 1051;7535;290;424;86501681;847361 + 1052;7536;290;424;86501681;847361 + 1053;7548;290;424;86501681;847361 + 1054;7551;290;425;86501681;854912 + 1055;7560;290;425;86501681;854912 + 1056;7569;290;426;86501681;862481 + 1057;7572;290;426;86501681;862481 + 1058;7584;296;426;87999708;831166 + 1059;7593;296;427;87999708;838759 + 1060;7596;296;427;87999708;838759 + 1061;7608;296;427;87999708;838759 + 1062;7617;296;428;87999708;846376 + 1063;7620;296;428;87999708;846376 + 1064;7632;296;428;87999708;846376 + 1065;7641;298;429;88005173;843430 + 1066;7644;298;429;88005173;843430 + 1067;7653;302;430;86981063;829724 + 1068;7656;302;430;86981063;829724 + 1069;7668;302;430;86981063;829724 + 1070;7670;302;431;86981063;837394 + 1071;7680;302;431;86981063;837394 + 1072;7691;302;432;86981063;845085 + 1073;7692;302;432;86981063;845085 + 1074;7704;302;432;86981063;845085 + 1075;7704;302;433;86981063;852789 + 1076;7716;302;433;86981063;852789 + 1077;7718;302;434;86981063;860507 + 1078;7728;302;434;86981063;860507 + 1079;7740;302;434;86981063;860507 + 1080;7740;302;435;86981063;868247 + 1081;7752;302;435;86981063;868247 + 1082;7756;302;436;86981063;876003 + 1083;7764;302;436;86981063;876003 + 1084;7772;302;437;86981063;883775 + 1085;7776;302;437;86981063;883775 + 1086;7788;302;437;86981063;883775 + 1087;7793;302;438;86981063;891568 + 1088;7800;302;438;86981063;891568 + 1089;7812;302;438;86981063;891568 + 1090;7816;305;439;87498411;883171 + 1091;7824;305;439;87498411;883171 + 1092;7833;305;440;87498411;891004 + 1093;7836;305;440;87498411;891004 + 1094;7848;305;440;87498411;891004 + 1095;7852;315;441;85224740;843482 + 1096;7860;317;441;84660357;832170 + 1097;7870;317;442;84660357;840040 + 1098;7872;317;442;84660357;840040 + 1099;7884;317;442;84660357;840040 + 1100;7885;317;443;84660357;847925 + 1101;7896;317;443;84660357;847925 + 1102;7906;317;444;84660357;855831 + 1103;7908;317;444;84660357;855831 + 1104;7920;317;444;84660357;855831 + 1105;7928;317;445;84660357;863759 + 1106;7932;317;445;84660357;863759 + 1107;7944;317;445;84660357;863759 + 1108;7946;317;446;84660357;871705 + 1109;7956;317;446;84660357;871705 + 1110;7968;317;446;84660357;871705 + 1111;7969;317;447;84660357;879674 + 1112;7980;317;447;84660357;879674 + 1113;7991;317;448;84660357;887665 + 1114;7992;317;448;84660357;887665 + 1115;8004;317;448;84660357;887665 + 1116;8008;317;449;84660357;895673 + 1117;8016;317;449;84660357;895673 + 1118;8022;317;450;84660357;903695 + 1119;8028;317;450;84660357;903695 + 1120;8040;317;450;84660357;903695 + 1121;8040;317;451;84660357;911735 + 1122;8052;317;451;84660357;911735 + 1123;8057;317;452;84660357;919792 + 1124;8064;317;452;84660357;919792 + 1125;8073;317;453;84660357;927865 + 1126;8076;317;453;84660357;927865 + 1127;8088;317;453;84660357;927865 + 1128;8091;317;454;84660357;935956 + 1129;8100;317;454;84660357;935956 + 1130;8109;317;455;84660357;944065 + 1131;8112;317;455;84660357;944065 + 1132;8123;317;456;84660357;952188 + 1133;8124;317;456;84660357;952188 + 1134;8136;322;456;83906709;923560 + 1135;8147;322;457;83906709;931707 + 1136;8148;322;457;83906709;931707 + 1137;8160;322;457;83906709;931707 + 1138;8160;322;458;83906709;939867 + 1139;8172;322;458;83906709;939867 + 1140;8183;322;459;83906709;948050 + 1141;8184;322;459;83906709;948050 + 1142;8196;322;459;83906709;948050 + 1143;8200;322;460;83906709;956250 + 1144;8208;322;460;83906709;956250 + 1145;8213;322;461;83906709;964463 + 1146;8220;322;461;83906709;964463 + 1147;8225;322;462;83906709;972688 + 1148;8232;322;462;83906709;972688 + 1149;8244;323;462;84873538;966904 + 1150;8249;327;463;85312105;951852 + 1151;8256;327;463;85312105;951852 + 1152;8265;327;464;85312105;960117 + 1153;8268;327;464;85312105;960117 + 1154;8280;327;464;85312105;960117 + 1155;8284;329;465;86099760;956657 + 1156;8292;329;465;86099760;956657 + 1157;8302;329;466;86099760;964959 + 1158;8304;329;466;86099760;964959 + 1159;8316;329;466;86099760;964959 + 1160;8316;329;467;86099760;973275 + 1161;8328;329;467;86099760;973275 + 1162;8329;329;468;86099760;981604 + 1163;8340;329;468;86099760;981604 + 1164;8351;329;469;86099760;989955 + 1165;8352;329;469;86099760;989955 + 1166;8364;329;469;86099760;989955 + 1167;8365;331;470;87879572;986504 + 1168;8376;331;470;87879572;986504 + 1169;8383;339;471;85976878;946932 + 1170;8388;339;471;85976878;946932 + 1171;8400;339;471;85976878;946932 + 1172;8404;339;472;85976878;955336 + 1173;8412;339;472;85976878;955336 + 1174;8424;339;472;85976878;955336 + 1175;8424;339;473;85976878;963760 + 1176;8436;339;473;85976878;963760 + 1177;8440;339;474;85976878;972200 + 1178;8448;339;474;85976878;972200 + 1179;8460;339;474;85976878;972200 + 1180;8461;339;475;85976878;980661 + 1181;8472;339;475;85976878;980661 + 1182;8475;339;476;85976878;989136 + 1183;8484;339;476;85976878;989136 + 1184;8494;339;477;85976878;997630 + 1185;8496;339;477;85976878;997630 + 1186;8508;339;477;85976878;997630 + 1187;8517;339;478;85976878;1006147 + 1188;8520;339;478;85976878;1006147 + 1189;8532;339;478;85976878;1006147 + 1190;8535;339;479;85976878;1014682 + 1191;8544;339;479;85976878;1014682 + 1192;8547;354;480;87197380;930314 + 1193;8556;354;480;87197380;930314 + 1194;8568;354;480;87197380;930314 + 1195;8570;354;481;87197380;938884 + 1196;8580;354;481;87197380;938884 + 1197;8592;354;481;87197380;938884 + 1198;8593;354;482;87197380;947477 + 1199;8604;354;482;87197380;947477 + 1200;8611;354;483;87197380;956088 + 1201;8616;354;483;87197380;956088 + 1202;8627;354;484;87197380;964715 + 1203;8628;354;484;87197380;964715 + 1204;8640;354;484;87197380;964715 + 1205;8642;354;485;87197380;973357 + 1206;8652;354;485;87197380;973357 + 1207;8660;354;486;87197380;982017 + 1208;8664;354;486;87197380;982017 + 1209;8675;354;487;87197380;990692 + 1210;8676;354;487;87197380;990692 + 1211;8687;354;488;87197380;999379 + 1212;8688;354;488;87197380;999379 + 1213;8700;354;488;87197380;999379 + 1214;8710;354;489;87197380;1008089 + 1215;8712;354;489;87197380;1008089 + 1216;8724;354;489;87197380;1008089 + 1217;8724;354;490;87197380;1016813 + 1218;8736;354;490;87197380;1016813 + 1219;8746;354;491;87197380;1025559 + 1220;8748;354;491;87197380;1025559 + 1221;8759;355;492;88136426;1027989 + 1222;8760;355;492;88136426;1027989 + 1223;8772;355;492;88136426;1027989 + 1224;8775;363;493;86062342;985525 + 1225;8784;363;493;86062342;985525 + 1226;8796;363;493;86062342;985525 + 1227;8799;363;494;86062342;994324 + 1228;8808;363;494;86062342;994324 + 1229;8820;363;494;86062342;994324 + 1230;8820;363;495;86062342;1003144 + 1231;8832;363;495;86062342;1003144 + 1232;8836;363;496;86062342;1011980 + 1233;8844;369;496;85063482;972811 + 1234;8851;369;497;85063482;981662 + 1235;8856;369;497;85063482;981662 + 1236;8865;369;498;85063482;990527 + 1237;8868;369;498;85063482;990527 + 1238;8880;369;498;85063482;990527 + 1239;8888;369;499;85063482;999415 + 1240;8892;369;499;85063482;999415 + 1241;8901;369;500;85063482;1008316 + 1242;8904;369;500;85063482;1008316 + 1243;8916;369;500;85063482;1008316 + 1244;8919;369;501;85063482;1017235 + 1245;8928;369;501;85063482;1017235 + 1246;8940;369;501;85063482;1017235 + 1247;8941;369;502;85063482;1026176 + 1248;8952;369;502;85063482;1026176 + 1249;8956;369;503;85063482;1035132 + 1250;8964;369;503;85063482;1035132 + 1251;8969;369;504;85063482;1044101 + 1252;8976;369;504;85063482;1044101 + 1253;8988;369;504;85063482;1044101 + 1254;8992;369;505;85063482;1053093 + 1255;9000;369;505;85063482;1053093 + 1256;9012;369;505;85063482;1053093 + 1257;9016;369;506;85063482;1062109 + 1258;9024;369;506;85063482;1062109 + 1259;9029;369;507;85063482;1071138 + 1260;9036;369;507;85063482;1071138 + 1261;9048;369;507;85063482;1071138 + 1262;9049;369;508;85063482;1080187 + 1263;9060;369;508;85063482;1080187 + 1264;9068;377;509;85018596;1035873 + 1265;9072;377;509;85018596;1035873 + 1266;9084;377;509;85018596;1035873 + 1267;9089;377;510;85018596;1044962 + 1268;9096;377;510;85018596;1044962 + 1269;9108;377;510;85018596;1044962 + 1270;9110;377;511;85018596;1054072 + 1271;9120;377;511;85018596;1054072 + 1272;9127;377;512;85018596;1063199 + 1273;9132;377;512;85018596;1063199 + 1274;9142;382;513;84120604;1038363 + 1275;9144;382;513;84120604;1038363 + 1276;9156;382;513;84120604;1038363 + 1277;9159;382;514;84120604;1047522 + 1278;9168;382;514;84120604;1047522 + 1279;9175;384;515;84070994;1042989 + 1280;9180;384;515;84070994;1042989 + 1281;9192;384;515;84070994;1042989 + 1282;9198;384;516;84070994;1052187 + 1283;9204;384;516;84070994;1052187 + 1284;9213;384;517;84070994;1061400 + 1285;9216;384;517;84070994;1061400 + 1286;9225;384;518;84070994;1070625 + 1287;9228;384;518;84070994;1070625 + 1288;9240;384;518;84070994;1070625 + 1289;9242;384;519;84070994;1079867 + 1290;9252;384;519;84070994;1079867 + 1291;9256;386;520;85142751;1075355 + 1292;9264;386;520;85142751;1075355 + 1293;9276;386;520;85142751;1075355 + 1294;9276;386;521;85142751;1084631 + 1295;9288;386;521;85142751;1084631 + 1296;9290;386;522;85142751;1093921 + 1297;9300;386;522;85142751;1093921 + 1298;9312;386;522;85142751;1093921 + 1299;9313;386;523;85142751;1103234 + 1300;9324;386;523;85142751;1103234 + 1301;9326;386;524;85142751;1112560 + 1302;9336;386;524;85142751;1112560 + 1303;9346;386;525;85142751;1121906 + 1304;9348;386;525;85142751;1121906 + 1305;9359;386;526;85142751;1131265 + 1306;9360;386;526;85142751;1131265 + 1307;9372;386;526;85142751;1131265 + 1308;9381;386;527;85142751;1140646 + 1309;9384;386;527;85142751;1140646 + 1310;9396;386;527;85142751;1140646 + 1311;9402;396;528;86563475;1080073 + 1312;9408;396;528;86563475;1080073 + 1313;9417;396;529;86563475;1089490 + 1314;9420;396;529;86563475;1089490 + 1315;9432;396;529;86563475;1089490 + 1316;9441;396;530;86563475;1098931 + 1317;9444;396;530;86563475;1098931 + 1318;9456;396;530;86563475;1098931 + 1319;9458;396;531;86563475;1108389 + 1320;9468;396;531;86563475;1108389 + 1321;9478;396;532;86563475;1117867 + 1322;9480;396;532;86563475;1117867 + 1323;9492;396;532;86563475;1117867 + 1324;9492;396;533;86563475;1127359 + 1325;9504;396;533;86563475;1127359 + 1326;9516;396;533;86563475;1127359 + 1327;9516;404;534;85955526;1079572 + 1328;9528;404;534;85955526;1079572 + 1329;9530;404;535;85955526;1089102 + 1330;9540;404;535;85955526;1089102 + 1331;9545;404;536;85955526;1098647 + 1332;9552;404;536;85955526;1098647 + 1333;9561;404;537;85955526;1108208 + 1334;9564;404;537;85955526;1108208 + 1335;9576;404;537;85955526;1108208 + 1336;9577;411;538;86329966;1066790 + 1337;9588;411;538;86329966;1066790 + 1338;9595;411;539;86329966;1076385 + 1339;9600;411;539;86329966;1076385 + 1340;9607;411;540;86329966;1085992 + 1341;9612;411;540;86329966;1085992 + 1342;9622;411;541;86329966;1095614 + 1343;9624;411;541;86329966;1095614 + 1344;9635;411;542;86329966;1105249 + 1345;9636;411;542;86329966;1105249 + 1346;9648;411;542;86329966;1105249 + 1347;9655;411;543;86329966;1114904 + 1348;9660;411;543;86329966;1114904 + 1349;9672;411;543;86329966;1114904 + 1350;9673;411;544;86329966;1124577 + 1351;9684;411;544;86329966;1124577 + 1352;9690;411;545;86329966;1134267 + 1353;9696;411;545;86329966;1134267 + 1354;9706;411;546;86329966;1143973 + 1355;9708;411;546;86329966;1143973 + 1356;9720;411;546;86329966;1143973 + 1357;9725;411;547;86329966;1153698 + 1358;9732;411;547;86329966;1153698 + 1359;9744;411;547;86329966;1153698 + 1360;9747;415;548;86628002;1133971 + 1361;9756;415;548;86628002;1133971 + 1362;9768;415;548;86628002;1133971 + 1363;9770;415;549;86628002;1143741 + 1364;9780;415;549;86628002;1143741 + 1365;9792;415;549;86628002;1143741 + 1366;9794;415;550;86628002;1153535 + 1367;9804;415;550;86628002;1153535 + 1368;9816;415;550;86628002;1153535 + 1369;9818;421;551;86716806;1118661 + 1370;9828;421;551;86716806;1118661 + 1371;9836;421;552;86716806;1128497 + 1372;9840;421;552;86716806;1128497 + 1373;9852;421;552;86716806;1128497 + 1374;9856;421;553;86716806;1138353 + 1375;9864;421;553;86716806;1138353 + 1376;9871;421;554;86716806;1148224 + 1377;9876;421;554;86716806;1148224 + 1378;9888;421;554;86716806;1148224 + 1379;9889;421;555;86716806;1158113 + 1380;9900;421;555;86716806;1158113 + 1381;9910;421;556;86716806;1168023 + 1382;9912;421;556;86716806;1168023 + 1383;9924;421;556;86716806;1168023 + 1384;9928;423;557;86619934;1162905 + 1385;9936;423;557;86619934;1162905 + 1386;9944;423;558;86619934;1172849 + 1387;9948;423;558;86619934;1172849 + 1388;9960;427;558;87237999;1142519 + 1389;9967;427;559;87237999;1152486 + 1390;9972;427;559;87237999;1152486 + 1391;9984;427;559;87237999;1152486 + 1392;9985;427;560;87237999;1162471 + 1393;9996;427;560;87237999;1162471 + 1394;10008;427;560;87237999;1162471 + 1395;10009;427;561;87237999;1172480 + 1396;10020;435;561;88122744;1110907 + 1397;10025;435;562;88122744;1120932 + 1398;10032;435;562;88122744;1120932 + 1399;10044;435;562;88122744;1120932 + 1400;10047;435;563;88122744;1130979 + 1401;10056;435;563;88122744;1130979 + 1402;10066;435;564;88122744;1141045 + 1403;10068;435;564;88122744;1141045 + 1404;10080;435;564;88122744;1141045 + 1405;10086;437;565;88215819;1135566 + 1406;10092;437;565;88215819;1135566 + 1407;10104;437;565;88215819;1135566 + 1408;10107;437;566;88215819;1145673 + 1409;10116;437;566;88215819;1145673 + 1410;10123;437;567;88215819;1155796 + 1411;10128;441;567;88644130;1124425 + 1412;10138;441;568;88644130;1134563 + 1413;10140;441;568;88644130;1134563 + 1414;10152;441;568;88644130;1134563 + 1415;10153;441;569;88644130;1144716 + 1416;10164;441;569;88644130;1144716 + 1417;10168;441;570;88644130;1154884 + 1418;10176;441;570;88644130;1154884 + 1419;10183;441;571;88644130;1165067 + 1420;10188;441;571;88644130;1165067 + 1421;10200;443;571;89896913;1149276 + 1422;10203;443;572;89896913;1159479 + 1423;10212;443;572;89896913;1159479 + 1424;10219;443;573;89896913;1169698 + 1425;10224;443;573;89896913;1169698 + 1426;10236;443;573;89896913;1169698 + 1427;10240;443;574;89896913;1179938 + 1428;10248;443;574;89896913;1179938 + 1429;10260;443;574;89896913;1179938 + 1430;10261;443;575;89896913;1190199 + 1431;10272;443;575;89896913;1190199 + 1432;10284;443;575;89896913;1190199 + 1433;10284;443;576;89896913;1200483 + 1434;10296;443;576;89896913;1200483 + 1435;10296;443;577;89896913;1210779 + 1436;10308;443;577;89896913;1210779 + 1437;10308;443;578;89896913;1221087 + 1438;10320;443;578;89896913;1221087 + 1439;10332;443;578;89896913;1221087 + 1440;10332;443;579;89896913;1231419 + 1441;10344;443;579;89896913;1231419 + 1442;10350;448;580;89626580;1201927 + 1443;10356;448;580;89626580;1201927 + 1444;10368;448;580;89626580;1201927 + 1445;10368;448;581;89626580;1212295 + 1446;10380;448;581;89626580;1212295 + 1447;10390;448;582;89626580;1222685 + 1448;10392;448;582;89626580;1222685 + 1449;10404;448;582;89626580;1222685 + 1450;10404;448;583;89626580;1233089 + 1451;10416;448;583;89626580;1233089 + 1452;10420;448;584;89626580;1243509 + 1453;10428;448;584;89626580;1243509 + 1454;10440;448;584;89626580;1243509 + 1455;10441;448;585;89626580;1253950 + 1456;10452;448;585;89626580;1253950 + 1457;10461;458;586;88704700;1183406 + 1458;10464;458;586;88704700;1183406 + 1459;10476;462;586;88553353;1150519 + 1460;10485;462;587;88553353;1161004 + 1461;10488;462;587;88553353;1161004 + 1462;10500;462;587;88553353;1161004 + 1463;10501;462;588;88553353;1171505 + 1464;10512;462;588;88553353;1171505 + 1465;10524;462;588;88553353;1171505 + 1466;10525;462;589;88553353;1182030 + 1467;10536;462;589;88553353;1182030 + 1468;10544;462;590;88553353;1192574 + 1469;10548;462;590;88553353;1192574 + 1470;10560;462;590;88553353;1192574 + 1471;10560;462;591;88553353;1203134 + 1472;10572;462;591;88553353;1203134 + 1473;10573;462;592;88553353;1213707 + 1474;10584;462;592;88553353;1213707 + 1475;10596;462;592;88553353;1213707 + 1476;10597;462;593;88553353;1224304 + 1477;10608;462;593;88553353;1224304 + 1478;10610;462;594;88553353;1234914 + 1479;10620;462;594;88553353;1234914 + 1480;10632;468;594;86759895;1185067 + 1481;10632;468;595;86759895;1195699 + 1482;10644;468;595;86759895;1195699 + 1483;10652;468;596;86759895;1206351 + 1484;10656;468;596;86759895;1206351 + 1485;10666;468;597;86759895;1217017 + 1486;10668;468;597;86759895;1217017 + 1487;10680;468;597;86759895;1217017 + 1488;10687;468;598;86759895;1227704 + 1489;10692;468;598;86759895;1227704 + 1490;10702;468;599;86759895;1238406 + 1491;10704;468;599;86759895;1238406 + 1492;10714;468;600;86759895;1249120 + 1493;10716;468;600;86759895;1249120 + 1494;10728;468;600;86759895;1249120 + 1495;10734;475;601;84836653;1200902 + 1496;10740;475;601;84836653;1200902 + 1497;10752;475;601;84836653;1200902 + 1498;10756;475;602;84836653;1211658 + 1499;10764;475;602;84836653;1211658 + 1500;10773;475;603;84836653;1222431 + 1501;10776;475;603;84836653;1222431 + 1502;10788;475;603;84836653;1222431 + 1503;10789;475;604;84836653;1233220 + 1504;10800;475;604;84836653;1233220 + 1505;10811;475;605;84836653;1244031 + 1506;10812;475;605;84836653;1244031 + 1507;10824;475;605;84836653;1244031 + 1508;10832;475;606;84836653;1254863 + 1509;10836;475;606;84836653;1254863 + 1510;10848;475;606;84836653;1254863 + 1511;10850;475;607;84836653;1265713 + 1512;10860;475;607;84836653;1265713 + 1513;10868;475;608;84836653;1276581 + 1514;10872;475;608;84836653;1276581 + 1515;10880;475;609;84836653;1287461 + 1516;10884;475;609;84836653;1287461 + 1517;10892;479;610;85200929;1264260 + 1518;10896;479;610;85200929;1264260 + 1519;10904;479;611;85200929;1275164 + 1520;10908;479;611;85200929;1275164 + 1521;10917;479;612;85200929;1286081 + 1522;10920;479;612;85200929;1286081 + 1523;10932;479;612;85200929;1286081 + 1524;10933;479;613;85200929;1297014 + 1525;10944;479;613;85200929;1297014 + 1526;10951;479;614;85200929;1307965 + 1527;10956;479;614;85200929;1307965 + 1528;10964;479;615;85200929;1318929 + 1529;10968;479;615;85200929;1318929 + 1530;10979;479;616;85200929;1329908 + 1531;10980;479;616;85200929;1329908 + 1532;10992;479;616;85200929;1329908 + 1533;10996;479;617;85200929;1340904 + 1534;11004;479;617;85200929;1340904 + 1535;11015;489;618;84335044;1265420 + 1536;11016;489;618;84335044;1265420 + 1537;11028;490;618;83971863;1256674 + 1538;11039;490;619;83971863;1267713 + 1539;11040;490;619;83971863;1267713 + 1540;11052;490;619;83971863;1267713 + 1541;11063;490;620;83971863;1278776 + 1542;11064;490;620;83971863;1278776 + 1543;11076;490;620;83971863;1278776 + 1544;11084;490;621;83971863;1289860 + 1545;11088;490;621;83971863;1289860 + 1546;11100;490;621;83971863;1289860 + 1547;11106;490;622;83971863;1300966 + 1548;11112;490;622;83971863;1300966 + 1549;11120;490;623;83971863;1312086 + 1550;11124;490;623;83971863;1312086 + 1551;11135;490;624;83971863;1323221 + 1552;11136;490;624;83971863;1323221 + 1553;11148;490;624;83971863;1323221 + 1554;11155;499;625;84212066;1254882 + 1555;11160;499;625;84212066;1254882 + 1556;11172;499;625;84212066;1254882 + 1557;11176;499;626;84212066;1266058 + 1558;11184;499;626;84212066;1266058 + 1559;11194;506;627;82289076;1214430 + 1560;11196;506;627;82289076;1214430 + 1561;11208;506;627;82289076;1214430 + 1562;11211;506;628;82289076;1225641 + 1563;11220;506;628;82289076;1225641 + 1564;11232;506;628;82289076;1225641 + 1565;11232;506;629;82289076;1236873 + 1566;11244;506;629;82289076;1236873 + 1567;11255;506;630;82289076;1248128 + 1568;11256;506;630;82289076;1248128 + 1569;11268;506;630;82289076;1248128 + 1570;11276;506;631;82289076;1259404 + 1571;11280;506;631;82289076;1259404 + 1572;11292;506;631;82289076;1259404 + 1573;11293;506;632;82289076;1270697 + 1574;11304;506;632;82289076;1270697 + 1575;11316;506;632;82289076;1270697 + 1576;11317;506;633;82289076;1282014 + 1577;11328;506;633;82289076;1282014 + 1578;11340;506;633;82289076;1282014 + 1579;11340;506;634;82289076;1293354 + 1580;11352;506;634;82289076;1293354 + 1581;11353;506;635;82289076;1304707 + 1582;11364;506;635;82289076;1304707 + 1583;11373;506;636;82289076;1316080 + 1584;11376;506;636;82289076;1316080 + 1585;11387;506;637;82289076;1327467 + 1586;11388;506;637;82289076;1327467 + 1587;11400;506;637;82289076;1327467 + 1588;11404;506;638;82289076;1338871 + 1589;11412;506;638;82289076;1338871 + 1590;11422;506;639;82289076;1350293 + 1591;11424;506;639;82289076;1350293 + 1592;11436;506;639;82289076;1350293 + 1593;11444;506;640;82289076;1361737 + 1594;11448;506;640;82289076;1361737 + 1595;11460;506;640;82289076;1361737 + 1596;11464;506;641;82289076;1373201 + 1597;11472;506;641;82289076;1373201 + 1598;11484;506;641;82289076;1373201 + 1599;11485;506;642;82289076;1384686 + 1600;11496;506;642;82289076;1384686 + 1601;11501;506;643;82289076;1396187 + 1602;11508;506;643;82289076;1396187 + 1603;11520;506;643;82289076;1396187 + 1604;11521;508;644;84070994;1389591 + 1605;11532;508;644;84070994;1389591 + 1606;11533;508;645;84070994;1401124 + 1607;11544;508;645;84070994;1401124 + 1608;11549;508;646;84070994;1412673 + 1609;11556;508;646;84070994;1412673 + 1610;11561;518;647;82255869;1332554 + 1611;11568;518;647;82255869;1332554 + 1612;11580;520;647;80617481;1314022 + 1613;11582;520;648;80617481;1325604 + 1614;11592;520;648;80617481;1325604 + 1615;11595;520;649;80617481;1337199 + 1616;11604;520;649;80617481;1337199 + 1617;11614;520;650;80617481;1348813 + 1618;11616;520;650;80617481;1348813 + 1619;11628;520;650;80617481;1348813 + 1620;11631;520;651;80617481;1360444 + 1621;11640;520;651;80617481;1360444 + 1622;11650;520;652;80617481;1372094 + 1623;11652;520;652;80617481;1372094 + 1624;11664;520;652;80617481;1372094 + 1625;11667;520;653;80617481;1383761 + 1626;11676;520;653;80617481;1383761 + 1627;11679;520;654;80617481;1395440 + 1628;11688;520;654;80617481;1395440 + 1629;11698;520;655;80617481;1407138 + 1630;11700;520;655;80617481;1407138 + 1631;11712;520;655;80617481;1407138 + 1632;11716;520;656;80617481;1418854 + 1633;11724;520;656;80617481;1418854 + 1634;11736;520;656;80617481;1418854 + 1635;11736;520;657;80617481;1430590 + 1636;11748;520;657;80617481;1430590 + 1637;11759;526;658;81366844;1386334 + 1638;11760;526;658;81366844;1386334 + 1639;11772;526;658;81366844;1386334 + 1640;11780;526;659;81366844;1398114 + 1641;11784;526;659;81366844;1398114 + 1642;11796;526;659;81366844;1398114 + 1643;11804;526;660;81366844;1409918 + 1644;11808;526;660;81366844;1409918 + 1645;11820;526;660;81366844;1409918 + 1646;11823;526;661;81366844;1421741 + 1647;11832;526;661;81366844;1421741 + 1648;11840;526;662;81366844;1433581 + 1649;11844;526;662;81366844;1433581 + 1650;11856;526;662;81366844;1433581 + 1651;11857;528;663;82670642;1426619 + 1652;11868;528;663;82670642;1426619 + 1653;11880;528;663;82670642;1426619 + 1654;11880;535;664;84266991;1372039 + 1655;11892;535;664;84266991;1372039 + 1656;11892;535;665;84266991;1383931 + 1657;11904;535;665;84266991;1383931 + 1658;11908;535;666;84266991;1395839 + 1659;11916;535;666;84266991;1395839 + 1660;11928;535;666;84266991;1395839 + 1661;11931;535;667;84266991;1407770 + 1662;11940;535;667;84266991;1407770 + 1663;11952;535;667;84266991;1407770 + 1664;11955;535;668;84266991;1419725 + 1665;11964;535;668;84266991;1419725 + 1666;11976;541;668;82291631;1362128 + 1667;11977;541;669;82291631;1374105 + 1668;11988;541;669;82291631;1374105 + 1669;11998;541;670;82291631;1386103 + 1670;12000;541;670;82291631;1386103 + 1671;12012;541;670;82291631;1386103 + 1672;12019;541;671;82291631;1398122 + 1673;12024;541;671;82291631;1398122 + 1674;12036;541;671;82291631;1398122 + 1675;12039;541;672;82291631;1410161 + 1676;12048;541;672;82291631;1410161 + 1677;12053;546;673;80252866;1373765 + 1678;12060;546;673;80252866;1373765 + 1679;12072;546;673;80252866;1373765 + 1680;12077;546;674;80252866;1385842 + 1681;12084;546;674;80252866;1385842 + 1682;12091;546;675;80252866;1397933 + 1683;12096;546;675;80252866;1397933 + 1684;12108;546;675;80252866;1397933 + 1685;12115;551;676;79996630;1361083 + 1686;12120;551;676;79996630;1361083 + 1687;12132;551;676;79996630;1361083 + 1688;12139;551;677;79996630;1373222 + 1689;12144;551;677;79996630;1373222 + 1690;12154;551;678;79996630;1385376 + 1691;12156;551;678;79996630;1385376 + 1692;12168;551;678;79996630;1385376 + 1693;12176;551;679;79996630;1397552 + 1694;12180;551;679;79996630;1397552 + 1695;12192;551;679;79996630;1397552 + 1696;12196;551;680;79996630;1409748 + 1697;12204;551;680;79996630;1409748 + 1698;12214;551;681;79996630;1421962 + 1699;12216;551;681;79996630;1421962 + 1700;12228;551;681;79996630;1421962 + 1701;12232;551;682;79996630;1434194 + 1702;12240;551;682;79996630;1434194 + 1703;12246;551;683;79996630;1446440 + 1704;12252;551;683;79996630;1446440 + 1705;12262;551;684;79996630;1458702 + 1706;12264;551;684;79996630;1458702 + 1707;12274;551;685;79996630;1470976 + 1708;12276;551;685;79996630;1470976 + 1709;12286;551;686;79996630;1483262 + 1710;12288;551;686;79996630;1483262 + 1711;12300;551;686;79996630;1483262 + 1712;12303;551;687;79996630;1495565 + 1713;12312;551;687;79996630;1495565 + 1714;12320;551;688;79996630;1507885 + 1715;12324;551;688;79996630;1507885 + 1716;12333;562;689;82642412;1410787 + 1717;12336;562;689;82642412;1410787 + 1718;12348;562;689;82642412;1410787 + 1719;12349;562;690;82642412;1423136 + 1720;12360;562;690;82642412;1423136 + 1721;12372;562;690;82642412;1423136 + 1722;12372;562;691;82642412;1435508 + 1723;12384;562;691;82642412;1435508 + 1724;12388;562;692;82642412;1447896 + 1725;12396;562;692;82642412;1447896 + 1726;12404;562;693;82642412;1460300 + 1727;12408;562;693;82642412;1460300 + 1728;12420;562;693;82642412;1460300 + 1729;12428;563;694;83353643;1462662 + 1730;12432;563;694;83353643;1462662 + 1731;12440;563;695;83353643;1475102 + 1732;12444;563;695;83353643;1475102 + 1733;12456;563;695;83353643;1475102 + 1734;12461;563;696;83353643;1487563 + 1735;12468;563;696;83353643;1487563 + 1736;12473;563;697;83353643;1500036 + 1737;12480;563;697;83353643;1500036 + 1738;12489;563;698;83353643;1512525 + 1739;12492;563;698;83353643;1512525 + 1740;12503;563;699;83353643;1525028 + 1741;12504;563;699;83353643;1525028 + 1742;12516;563;699;83353643;1525028 + 1743;12518;563;700;83353643;1537546 + 1744;12528;563;700;83353643;1537546 + 1745;12536;570;701;84416255;1479124 + 1746;12540;570;701;84416255;1479124 + 1747;12552;570;701;84416255;1479124 + 1748;12554;570;702;84416255;1491678 + 1749;12564;570;702;84416255;1491678 + 1750;12576;570;702;84416255;1491678 + 1751;12578;570;703;84416255;1504256 + 1752;12588;570;703;84416255;1504256 + 1753;12600;570;703;84416255;1504256 + 1754;12600;570;704;84416255;1516856 + 1755;12612;570;704;84416255;1516856 + 1756;12620;570;705;84416255;1529476 + 1757;12624;570;705;84416255;1529476 + 1758;12635;570;706;84416255;1542111 + 1759;12636;570;706;84416255;1542111 + 1760;12648;570;706;84416255;1542111 + 1761;12655;576;707;84481804;1493263 + 1762;12660;576;707;84481804;1493263 + 1763;12671;576;708;84481804;1505934 + 1764;12672;576;708;84481804;1505934 + 1765;12684;576;708;84481804;1505934 + 1766;12695;579;709;85939515;1487639 + 1767;12696;579;709;85939515;1487639 + 1768;12708;579;709;85939515;1487639 + 1769;12709;579;710;85939515;1500348 + 1770;12720;579;710;85939515;1500348 + 1771;12727;579;711;85939515;1513075 + 1772;12732;579;711;85939515;1513075 + 1773;12744;579;711;85939515;1513075 + 1774;12746;579;712;85939515;1525821 + 1775;12756;579;712;85939515;1525821 + 1776;12758;579;713;85939515;1538579 + 1777;12768;579;713;85939515;1538579 + 1778;12773;586;714;84781357;1478383 + 1779;12780;586;714;84781357;1478383 + 1780;12792;586;714;84781357;1478383 + 1781;12797;586;715;84781357;1491180 + 1782;12804;586;715;84781357;1491180 + 1783;12816;586;715;84781357;1491180 + 1784;12820;586;716;84781357;1504000 + 1785;12828;586;716;84781357;1504000 + 1786;12833;586;717;84781357;1516833 + 1787;12840;586;717;84781357;1516833 + 1788;12852;586;717;84781357;1516833 + 1789;12857;586;718;84781357;1529690 + 1790;12864;586;718;84781357;1529690 + 1791;12871;586;719;84781357;1542561 + 1792;12876;586;719;84781357;1542561 + 1793;12886;586;720;84781357;1555447 + 1794;12888;586;720;84781357;1555447 + 1795;12900;586;720;84781357;1555447 + 1796;12910;589;721;85792885;1536787 + 1797;12912;589;721;85792885;1536787 + 1798;12924;589;721;85792885;1536787 + 1799;12930;589;722;85792885;1549717 + 1800;12936;589;722;85792885;1549717 + 1801;12948;589;722;85792885;1549717 + 1802;12954;589;723;85792885;1562671 + 1803;12960;589;723;85792885;1562671 + 1804;12972;589;723;85792885;1562671 + 1805;12975;589;724;85792885;1575646 + 1806;12984;589;724;85792885;1575646 + 1807;12994;592;725;87991512;1556910 + 1808;12996;592;725;87991512;1556910 + 1809;13006;592;726;87991512;1569916 + 1810;13008;592;726;87991512;1569916 + 1811;13020;592;726;87991512;1569916 + 1812;13027;592;727;87991512;1582943 + 1813;13032;592;727;87991512;1582943 + 1814;13039;592;728;87991512;1595982 + 1815;13044;592;728;87991512;1595982 + 1816;13056;592;728;87991512;1595982 + 1817;13063;598;729;89626580;1545096 + 1818;13068;598;729;89626580;1545096 + 1819;13080;598;729;89626580;1545096 + 1820;13084;598;730;89626580;1558180 + 1821;13092;598;730;89626580;1558180 + 1822;13100;598;731;89626580;1571280 + 1823;13104;598;731;89626580;1571280 + 1824;13115;598;732;89626580;1584395 + 1825;13116;598;732;89626580;1584395 + 1826;13127;598;733;89626580;1597522 + 1827;13128;598;733;89626580;1597522 + 1828;13140;598;733;89626580;1597522 + 1829;13147;598;734;89626580;1610669 + 1830;13152;598;734;89626580;1610669 + 1831;13164;598;734;89626580;1610669 + 1832;13171;601;735;90437219;1591636 + 1833;13176;601;735;90437219;1591636 + 1834;13188;615;735;87539170;1439293 + 1835;13194;615;736;87539170;1452487 + 1836;13200;615;736;87539170;1452487 + 1837;13212;615;736;87539170;1452487 + 1838;13218;615;737;87539170;1465705 + 1839;13224;615;737;87539170;1465705 + 1840;13236;615;737;87539170;1465705 + 1841;13236;615;738;87539170;1478941 + 1842;13248;615;738;87539170;1478941 + 1843;13252;616;739;88024302;1481197 + 1844;13260;616;739;88024302;1481197 + 1845;13272;616;739;88024302;1481197 + 1846;13275;618;740;88842513;1472418 + 1847;13284;618;740;88842513;1472418 + 1848;13291;618;741;88842513;1485709 + 1849;13296;618;741;88842513;1485709 + 1850;13307;618;742;88842513;1499016 + 1851;13308;618;742;88842513;1499016 + 1852;13320;618;742;88842513;1499016 + 1853;13324;618;743;88842513;1512340 + 1854;13332;618;743;88842513;1512340 + 1855;13342;618;744;88842513;1525682 + 1856;13344;618;744;88842513;1525682 + 1857;13356;618;744;88842513;1525682 + 1858;13360;618;745;88842513;1539042 + 1859;13368;618;745;88842513;1539042 + 1860;13380;618;745;88842513;1539042 + 1861;13382;618;746;88842513;1552424 + 1862;13392;618;746;88842513;1552424 + 1863;13404;618;746;88842513;1552424 + 1864;13405;618;747;88842513;1565829 + 1865;13416;618;747;88842513;1565829 + 1866;13419;618;748;88842513;1579248 + 1867;13428;618;748;88842513;1579248 + 1868;13440;618;748;88842513;1579248 + 1869;13440;618;749;88842513;1592688 + 1870;13452;618;749;88842513;1592688 + 1871;13452;618;750;88842513;1606140 + 1872;13464;624;750;88380309;1539477 + 1873;13468;624;751;88380309;1552945 + 1874;13476;624;751;88380309;1552945 + 1875;13487;624;752;88380309;1566432 + 1876;13488;624;752;88380309;1566432 + 1877;13500;624;752;88380309;1566432 + 1878;13500;624;753;88380309;1579932 + 1879;13512;624;753;88380309;1579932 + 1880;13518;624;754;88380309;1593450 + 1881;13524;624;754;88380309;1593450 + 1882;13535;626;755;88564351;1584615 + 1883;13536;626;755;88564351;1584615 + 1884;13548;626;755;88564351;1584615 + 1885;13552;626;756;88564351;1598167 + 1886;13560;626;756;88564351;1598167 + 1887;13566;626;757;88564351;1611733 + 1888;13572;626;757;88564351;1611733 + 1889;13584;626;757;88564351;1611733 + 1890;13589;626;758;88564351;1625322 + 1891;13596;626;758;88564351;1625322 + 1892;13606;626;759;88564351;1638928 + 1893;13608;626;759;88564351;1638928 + 1894;13620;626;759;88564351;1638928 + 1895;13620;626;760;88564351;1652548 + 1896;13632;626;760;88564351;1652548 + 1897;13636;631;761;88589103;1609917 + 1898;13644;631;761;88589103;1609917 + 1899;13652;631;762;88589103;1623569 + 1900;13656;631;762;88589103;1623569 + 1901;13668;631;762;88589103;1623569 + 1902;13669;631;763;88589103;1637238 + 1903;13680;631;763;88589103;1637238 + 1904;13692;631;763;88589103;1637238 + 1905;13692;631;764;88589103;1650930 + 1906;13704;631;764;88589103;1650930 + 1907;13714;631;765;88589103;1664644 + 1908;13716;631;765;88589103;1664644 + 1909;13727;631;766;88589103;1678371 + 1910;13728;631;766;88589103;1678371 + 1911;13740;631;766;88589103;1678371 + 1912;13740;631;767;88589103;1692111 + 1913;13752;631;767;88589103;1692111 + 1914;13755;631;768;88589103;1705866 + 1915;13764;631;768;88589103;1705866 + 1916;13775;631;769;88589103;1719641 + 1917;13776;631;769;88589103;1719641 + 1918;13788;631;769;88589103;1719641 + 1919;13788;640;770;91843574;1630925 + 1920;13800;640;770;91843574;1630925 + 1921;13805;640;771;91843574;1644730 + 1922;13812;640;771;91843574;1644730 + 1923;13824;640;771;91843574;1644730 + 1924;13828;640;772;91843574;1658558 + 1925;13836;640;772;91843574;1658558 + 1926;13840;646;773;89149224;1603248 + 1927;13848;646;773;89149224;1603248 + 1928;13859;646;774;89149224;1617107 + 1929;13860;646;774;89149224;1617107 + 1930;13872;646;774;89149224;1617107 + 1931;13881;646;775;89149224;1630988 + 1932;13884;646;775;89149224;1630988 + 1933;13896;646;775;89149224;1630988 + 1934;13905;646;776;89149224;1644893 + 1935;13908;647;776;89846686;1633311 + 1936;13920;647;776;89846686;1633311 + 1937;13929;647;777;89846686;1647240 + 1938;13932;647;777;89846686;1647240 + 1939;13943;647;778;89846686;1661183 + 1940;13944;647;778;89846686;1661183 + 1941;13956;647;778;89846686;1661183 + 1942;13959;647;779;89846686;1675142 + 1943;13968;647;779;89846686;1675142 + 1944;13980;647;779;89846686;1675142 + 1945;13980;647;780;89846686;1689122 + 1946;13992;647;780;89846686;1689122 + 1947;13998;647;781;89846686;1703120 + 1948;14004;647;781;89846686;1703120 + 1949;14013;652;782;91502022;1658976 + 1950;14016;652;782;91502022;1658976 + 1951;14028;652;782;91502022;1658976 + 1952;14030;652;783;91502022;1673006 + 1953;14040;659;783;90946882;1590834 + 1954;14052;659;783;90946882;1590834 + 1955;14053;659;784;90946882;1604887 + 1956;14064;659;784;90946882;1604887 + 1957;14065;659;785;90946882;1618952 + 1958;14076;659;785;90946882;1618952 + 1959;14088;659;785;90946882;1618952 + 1960;14089;659;786;90946882;1633041 + 1961;14100;659;786;90946882;1633041 + 1962;14106;659;787;90946882;1647147 + 1963;14112;659;787;90946882;1647147 + 1964;14119;659;788;90946882;1661266 + 1965;14124;659;788;90946882;1661266 + 1966;14136;659;788;90946882;1661266 + 1967;14137;659;789;90946882;1675403 + 1968;14148;659;789;90946882;1675403 + 1969;14155;659;790;90946882;1689558 + 1970;14160;659;790;90946882;1689558 + 1971;14172;659;790;90946882;1689558 + 1972;14178;659;791;90946882;1703736 + 1973;14184;659;791;90946882;1703736 + 1974;14195;659;792;90946882;1717931 + 1975;14196;659;792;90946882;1717931 + 1976;14208;659;792;90946882;1717931 + 1977;14215;659;793;90946882;1732146 + 1978;14220;659;793;90946882;1732146 + 1979;14232;665;793;90941235;1660946 + 1980;14237;665;794;90941235;1675183 + 1981;14244;665;794;90941235;1675183 + 1982;14251;665;795;90941235;1689434 + 1983;14256;665;795;90941235;1689434 + 1984;14267;666;796;91655563;1691770 + 1985;14268;666;796;91655563;1691770 + 1986;14280;666;796;91655563;1691770 + 1987;14281;666;797;91655563;1706051 + 1988;14292;666;797;91655563;1706051 + 1989;14293;666;798;91655563;1720344 + 1990;14304;666;798;91655563;1720344 + 1991;14316;666;798;91655563;1720344 + 1992;14316;667;799;92427142;1722705 + 1993;14328;667;799;92427142;1722705 + 1994;14340;667;799;92427142;1722705 + 1995;14340;667;800;92427142;1737045 + 1996;14352;667;800;92427142;1737045 + 1997;14354;667;801;92427142;1751399 + 1998;14364;667;801;92427142;1751399 + 1999;14374;667;802;92427142;1765773 + 2000;14376;667;802;92427142;1765773 + 2001;14388;667;802;92427142;1765773 + 2002;14391;667;803;92427142;1780164 + 2003;14400;667;803;92427142;1780164 + 2004;14412;667;803;92427142;1780164 + 2005;14414;667;804;92427142;1794578 + 2006;14424;667;804;92427142;1794578 + 2007;14428;667;805;92427142;1809006 + 2008;14436;667;805;92427142;1809006 + 2009;14448;667;805;92427142;1809006 + 2010;14451;669;806;94372905;1799482 + 2011;14460;669;806;94372905;1799482 + 2012;14463;669;807;94372905;1813945 + 2013;14472;669;807;94372905;1813945 + 2014;14479;669;808;94372905;1828424 + 2015;14484;669;808;94372905;1828424 + 2016;14495;676;809;91071211;1758386 + 2017;14496;676;809;91071211;1758386 + 2018;14508;676;809;91071211;1758386 + 2019;14514;676;810;91071211;1772900 + 2020;14520;676;810;91071211;1772900 + 2021;14532;676;810;91071211;1772900 + 2022;14536;676;811;91071211;1787436 + 2023;14544;676;811;91071211;1787436 + 2024;14552;676;812;91071211;1801988 + 2025;14556;676;812;91071211;1801988 + 2026;14568;676;812;91071211;1801988 + 2027;14568;676;813;91071211;1816556 + 2028;14580;676;813;91071211;1816556 + 2029;14587;676;814;91071211;1831143 + 2030;14592;676;814;91071211;1831143 + 2031;14604;682;814;90064537;1757925 + 2032;14608;682;815;90064537;1772533 + 2033;14616;682;815;90064537;1772533 + 2034;14623;682;816;90064537;1787156 + 2035;14628;682;816;90064537;1787156 + 2036;14640;682;816;90064537;1787156 + 2037;14645;682;817;90064537;1801801 + 2038;14652;682;817;90064537;1801801 + 2039;14664;682;817;90064537;1801801 + 2040;14664;682;818;90064537;1816465 + 2041;14676;682;818;90064537;1816465 + 2042;14684;682;819;90064537;1831149 + 2043;14688;682;819;90064537;1831149 + 2044;14700;682;819;90064537;1831149 + 2045;14706;682;820;90064537;1845855 + 2046;14712;682;820;90064537;1845855 + 2047;14722;689;821;90333386;1774450 + 2048;14724;689;821;90333386;1774450 + 2049;14736;689;821;90333386;1774450 + 2050;14736;689;822;90333386;1789186 + 2051;14748;689;822;90333386;1789186 + 2052;14753;689;823;90333386;1803939 + 2053;14760;689;823;90333386;1803939 + 2054;14766;689;824;90333386;1818705 + 2055;14772;689;824;90333386;1818705 + 2056;14781;699;825;87414235;1709010 + 2057;14784;699;825;87414235;1709010 + 2058;14796;699;825;87414235;1709010 + 2059;14796;699;826;87414235;1723806 + 2060;14808;699;826;87414235;1723806 + 2061;14813;699;827;87414235;1738619 + 2062;14820;699;827;87414235;1738619 + 2063;14825;699;828;87414235;1753444 + 2064;14832;699;828;87414235;1753444 + 2065;14842;699;829;87414235;1768286 + 2066;14844;699;829;87414235;1768286 + 2067;14856;699;829;87414235;1768286 + 2068;14863;699;830;87414235;1783149 + 2069;14868;699;830;87414235;1783149 + 2070;14880;699;830;87414235;1783149 + 2071;14880;699;831;87414235;1798029 + 2072;14892;699;831;87414235;1798029 + 2073;14901;699;832;87414235;1812930 + 2074;14904;699;832;87414235;1812930 + 2075;14916;699;832;87414235;1812930 + 2076;14922;699;833;87414235;1827852 + 2077;14928;699;833;87414235;1827852 + 2078;14940;699;833;87414235;1827852 + 2079;14945;699;834;87414235;1842797 + 2080;14952;699;834;87414235;1842797 + 2081;14959;710;835;85333298;1718776 + 2082;14964;710;835;85333298;1718776 + 2083;14976;710;835;85333298;1718776 + 2084;14978;710;836;85333298;1733754 + 2085;14988;710;836;85333298;1733754 + 2086;15000;710;836;85333298;1733754 + 2087;15002;710;837;85333298;1748756 + 2088;15012;710;837;85333298;1748756 + 2089;15014;710;838;85333298;1763770 + 2090;15024;710;838;85333298;1763770 + 2091;15027;710;839;85333298;1778797 + 2092;15036;710;839;85333298;1778797 + 2093;15048;710;839;85333298;1778797 + 2094;15051;710;840;85333298;1793848 + 2095;15060;710;840;85333298;1793848 + 2096;15063;710;841;85333298;1808911 + 2097;15072;710;841;85333298;1808911 + 2098;15076;710;842;85333298;1823987 + 2099;15084;710;842;85333298;1823987 + 2100;15091;710;843;85333298;1839078 + 2101;15096;710;843;85333298;1839078 + 2102;15108;710;843;85333298;1839078 + 2103;15111;710;844;85333298;1854189 + 2104;15120;710;844;85333298;1854189 + 2105;15129;710;845;85333298;1869318 + 2106;15132;710;845;85333298;1869318 + 2107;15144;710;845;85333298;1869318 + 2108;15150;710;846;85333298;1884468 + 2109;15156;710;846;85333298;1884468 + 2110;15168;710;846;85333298;1884468 + 2111;15173;710;847;85333298;1899641 + 2112;15180;710;847;85333298;1899641 + 2113;15192;710;847;85333298;1899641 + 2114;15192;710;848;85333298;1914833 + 2115;15204;715;848;86488254;1850939 + 2116;15209;715;849;86488254;1866148 + 2117;15216;715;849;86488254;1866148 + 2118;15224;715;850;86488254;1881372 + 2119;15228;715;850;86488254;1881372 + 2120;15237;715;851;86488254;1896609 + 2121;15240;715;851;86488254;1896609 + 2122;15249;715;852;86488254;1911858 + 2123;15252;715;852;86488254;1911858 + 2124;15264;715;852;86488254;1911858 + 2125;15273;720;853;85830185;1862774 + 2126;15276;720;853;85830185;1862774 + 2127;15288;720;853;85830185;1862774 + 2128;15289;726;854;86854227;1800177 + 2129;15300;726;854;86854227;1800177 + 2130;15312;726;854;86854227;1800177 + 2131;15312;728;855;86388954;1789387 + 2132;15324;728;855;86388954;1789387 + 2133;15336;728;855;86388954;1789387 + 2134;15336;728;856;86388954;1804723 + 2135;15348;728;856;86388954;1804723 + 2136;15348;728;857;86388954;1820071 + 2137;15360;728;857;86388954;1820071 + 2138;15364;728;858;86388954;1835435 + 2139;15372;728;858;86388954;1835435 + 2140;15384;728;858;86388954;1835435 + 2141;15385;728;859;86388954;1850820 + 2142;15396;728;859;86388954;1850820 + 2143;15406;728;860;86388954;1866226 + 2144;15408;728;860;86388954;1866226 + 2145;15420;728;860;86388954;1866226 + 2146;15421;728;861;86388954;1881647 + 2147;15432;728;861;86388954;1881647 + 2148;15442;728;862;86388954;1897089 + 2149;15444;728;862;86388954;1897089 + 2150;15456;728;862;86388954;1897089 + 2151;15457;728;863;86388954;1912546 + 2152;15468;728;863;86388954;1912546 + 2153;15472;731;864;87909591;1888719 + 2154;15480;731;864;87909591;1888719 + 2155;15486;731;865;87909591;1904205 + 2156;15492;731;865;87909591;1904205 + 2157;15501;731;866;87909591;1919706 + 2158;15504;731;866;87909591;1919706 + 2159;15516;731;866;87909591;1919706 + 2160;15525;731;867;87909591;1935231 + 2161;15528;731;867;87909591;1935231 + 2162;15540;731;867;87909591;1935231 + 2163;15542;731;868;87909591;1950773 + 2164;15552;731;868;87909591;1950773 + 2165;15554;731;869;87909591;1966327 + 2166;15564;731;869;87909591;1966327 + 2167;15567;731;870;87909591;1981894 + 2168;15576;731;870;87909591;1981894 + 2169;15586;735;871;87686062;1944841 + 2170;15588;735;871;87686062;1944841 + 2171;15599;735;872;87686062;1960440 + 2172;15600;735;872;87686062;1960440 + 2173;15612;735;872;87686062;1960440 + 2174;15617;735;873;87686062;1976057 + 2175;15624;735;873;87686062;1976057 + 2176;15636;735;873;87686062;1976057 + 2177;15641;745;874;91071211;1858711 + 2178;15648;747;874;91107978;1831887 + 2179;15660;747;874;91107978;1831887 + 2180;15660;747;875;91107978;1847547 + 2181;15672;747;875;91107978;1847547 + 2182;15680;747;876;91107978;1863227 + 2183;15684;747;876;91107978;1863227 + 2184;15696;747;876;91107978;1863227 + 2185;15702;747;877;91107978;1878929 + 2186;15708;747;877;91107978;1878929 + 2187;15716;747;878;91107978;1894645 + 2188;15720;747;878;91107978;1894645 + 2189;15732;747;878;91107978;1894645 + 2190;15740;747;879;91107978;1910385 + 2191;15744;747;879;91107978;1910385 + 2192;15756;747;879;91107978;1910385 + 2193;15760;747;880;91107978;1926145 + 2194;15768;747;880;91107978;1926145 + 2195;15774;747;881;91107978;1941919 + 2196;15780;747;881;91107978;1941919 + 2197;15792;747;881;91107978;1941919 + 2198;15795;747;882;91107978;1957714 + 2199;15804;747;882;91107978;1957714 + 2200;15812;753;883;92372634;1892661 + 2201;15816;753;883;92372634;1892661 + 2202;15827;753;884;92372634;1908488 + 2203;15828;753;884;92372634;1908488 + 2204;15840;753;884;92372634;1908488 + 2205;15844;753;885;92372634;1924332 + 2206;15852;753;885;92372634;1924332 + 2207;15859;753;886;92372634;1940191 + 2208;15864;753;886;92372634;1940191 + 2209;15876;753;886;92372634;1940191 + 2210;15883;755;887;92754867;1928987 + 2211;15888;755;887;92754867;1928987 + 2212;15900;755;887;92754867;1928987 + 2213;15902;755;888;92754867;1944889 + 2214;15912;755;888;92754867;1944889 + 2215;15924;755;888;92754867;1944889 + 2216;15924;755;889;92754867;1960813 + 2217;15936;755;889;92754867;1960813 + 2218;15945;755;890;92754867;1976758 + 2219;15948;755;890;92754867;1976758 + 2220;15957;755;891;92754867;1992715 + 2221;15960;755;891;92754867;1992715 + 2222;15971;762;892;92398449;1913348 + 2223;15972;762;892;92398449;1913348 + 2224;15984;762;892;92398449;1913348 + 2225;15990;762;893;92398449;1929338 + 2226;15996;762;893;92398449;1929338 + 2227;16008;762;893;92398449;1929338 + 2228;16008;762;894;92398449;1945346 + 2229;16020;762;894;92398449;1945346 + 2230;16027;762;895;92398449;1961373 + 2231;16032;762;895;92398449;1961373 + 2232;16044;762;895;92398449;1961373 + 2233;16045;762;896;92398449;1977418 + 2234;16056;762;896;92398449;1977418 + 2235;16062;762;897;92398449;1993480 + 2236;16068;762;897;92398449;1993480 + 2237;16080;762;897;92398449;1993480 + 2238;16081;762;898;92398449;2009561 + 2239;16092;762;898;92398449;2009561 + 2240;16104;762;898;92398449;2009561 + 2241;16104;762;899;92398449;2025665 + 2242;16116;762;899;92398449;2025665 + 2243;16123;762;900;92398449;2041788 + 2244;16128;762;900;92398449;2041788 + 2245;16139;765;901;92841303;2016794 + 2246;16140;765;901;92841303;2016794 + 2247;16152;765;901;92841303;2016794 + 2248;16156;772;902;94016108;1936419 + 2249;16164;772;902;94016108;1936419 + 2250;16174;772;903;94016108;1952593 + 2251;16176;772;903;94016108;1952593 + 2252;16188;772;903;94016108;1952593 + 2253;16197;772;904;94016108;1968790 + 2254;16200;772;904;94016108;1968790 + 2255;16212;772;904;94016108;1968790 + 2256;16221;772;905;94016108;1985011 + 2257;16224;772;905;94016108;1985011 + 2258;16235;772;906;94016108;2001246 + 2259;16236;772;906;94016108;2001246 + 2260;16248;772;906;94016108;2001246 + 2261;16250;772;907;94016108;2017496 + 2262;16260;772;907;94016108;2017496 + 2263;16264;772;908;94016108;2033760 + 2264;16272;772;908;94016108;2033760 + 2265;16279;772;909;94016108;2050039 + 2266;16284;772;909;94016108;2050039 + 2267;16293;772;910;94016108;2066332 + 2268;16296;772;910;94016108;2066332 + 2269;16308;772;910;94016108;2066332 + 2270;16317;775;911;96530314;2041004 + 2271;16320;775;911;96530314;2041004 + 2272;16332;775;911;96530314;2041004 + 2273;16337;775;912;96530314;2057341 + 2274;16344;775;912;96530314;2057341 + 2275;16356;775;912;96530314;2057341 + 2276;16357;775;913;96530314;2073698 + 2277;16368;775;913;96530314;2073698 + 2278;16373;775;914;96530314;2090071 + 2279;16380;775;914;96530314;2090071 + 2280;16392;775;914;96530314;2090071 + 2281;16395;775;915;96530314;2106466 + 2282;16404;775;915;96530314;2106466 + 2283;16416;785;915;95084662;1966407 + 2284;16418;788;916;95424773;1940463 + 2285;16428;788;916;95424773;1940463 + 2286;16440;788;916;95424773;1940463 + 2287;16440;788;917;95424773;1956903 + 2288;16452;788;917;95424773;1956903 + 2289;16455;788;918;95424773;1973358 + 2290;16464;788;918;95424773;1973358 + 2291;16473;788;919;95424773;1989831 + 2292;16476;788;919;95424773;1989831 + 2293;16488;788;919;95424773;1989831 + 2294;16497;788;920;95424773;2006328 + 2295;16500;788;920;95424773;2006328 + 2296;16512;788;920;95424773;2006328 + 2297;16516;788;921;95424773;2022844 + 2298;16524;788;921;95424773;2022844 + 2299;16536;788;921;95424773;2022844 + 2300;16539;788;922;95424773;2039383 + 2301;16548;788;922;95424773;2039383 + 2302;16558;788;923;95424773;2055941 + 2303;16560;788;923;95424773;2055941 + 2304;16572;788;923;95424773;2055941 + 2305;16573;788;924;95424773;2072514 + 2306;16584;788;924;95424773;2072514 + 2307;16589;788;925;95424773;2089103 + 2308;16596;788;925;95424773;2089103 + 2309;16608;788;925;95424773;2089103 + 2310;16608;788;926;95424773;2105711 + 2311;16620;788;926;95424773;2105711 + 2312;16631;793;927;96332708;2051362 + 2313;16632;793;927;96332708;2051362 + 2314;16644;793;927;96332708;2051362 + 2315;16646;793;928;96332708;2068008 + 2316;16656;793;928;96332708;2068008 + 2317;16658;798;929;95888085;2013258 + 2318;16668;798;929;95888085;2013258 + 2319;16680;798;929;95888085;2013258 + 2320;16682;798;930;95888085;2029940 + 2321;16692;798;930;95888085;2029940 + 2322;16695;798;931;95888085;2046635 + 2323;16704;798;931;95888085;2046635 + 2324;16716;798;931;95888085;2046635 + 2325;16717;798;932;95888085;2063352 + 2326;16728;798;932;95888085;2063352 + 2327;16740;798;932;95888085;2063352 + 2328;16741;798;933;95888085;2080093 + 2329;16752;798;933;95888085;2080093 + 2330;16762;803;934;97318754;2024982 + 2331;16764;803;934;97318754;2024982 + 2332;16776;805;934;97376181;1996103 + 2333;16776;805;935;97376181;2012879 + 2334;16788;805;935;97376181;2012879 + 2335;16790;805;936;97376181;2029669 + 2336;16800;805;936;97376181;2029669 + 2337;16812;805;936;97376181;2029669 + 2338;16814;805;937;97376181;2046483 + 2339;16824;805;937;97376181;2046483 + 2340;16829;805;938;97376181;2063312 + 2341;16836;805;938;97376181;2063312 + 2342;16843;810;939;96479377;2007668 + 2343;16848;810;939;96479377;2007668 + 2344;16860;810;939;96479377;2007668 + 2345;16867;810;940;96479377;2024535 + 2346;16872;810;940;96479377;2024535 + 2347;16883;810;941;96479377;2041418 + 2348;16884;810;941;96479377;2041418 + 2349;16896;810;941;96479377;2041418 + 2350;16897;810;942;96479377;2058315 + 2351;16908;810;942;96479377;2058315 + 2352;16911;810;943;96479377;2075226 + 2353;16920;810;943;96479377;2075226 + 2354;16930;810;944;96479377;2092156 + 2355;16932;810;944;96479377;2092156 + 2356;16944;810;944;96479377;2092156 + 2357;16952;810;945;96479377;2109108 + 2358;16956;810;945;96479377;2109108 + 2359;16967;810;946;96479377;2126075 + 2360;16968;810;946;96479377;2126075 + 2361;16979;818;947;97264381;2026123 + 2362;16980;818;947;97264381;2026123 + 2363;16991;818;948;97264381;2043114 + 2364;16992;818;948;97264381;2043114 + 2365;17004;818;948;97264381;2043114 + 2366;17004;818;949;97264381;2060118 + 2367;17016;818;949;97264381;2060118 + 2368;17021;818;950;97264381;2077139 + 2369;17028;818;950;97264381;2077139 + 2370;17040;818;950;97264381;2077139 + 2371;17045;818;951;97264381;2094184 + 2372;17052;818;951;97264381;2094184 + 2373;17064;818;951;97264381;2094184 + 2374;17064;818;952;97264381;2111248 + 2375;17076;818;952;97264381;2111248 + 2376;17079;818;953;97264381;2128327 + 2377;17088;818;953;97264381;2128327 + 2378;17100;818;953;97264381;2128327 + 2379;17100;819;954;98189820;2130721 + 2380;17112;825;954;99117910;2042167 + 2381;17119;825;955;99117910;2059286 + 2382;17124;825;955;99117910;2059286 + 2383;17136;825;955;99117910;2059286 + 2384;17143;825;956;99117910;2076429 + 2385;17148;825;956;99117910;2076429 + 2386;17160;825;956;99117910;2076429 + 2387;17167;825;957;99117910;2093596 + 2388;17172;825;957;99117910;2093596 + 2389;17184;825;957;99117910;2093596 + 2390;17188;825;958;99117910;2110784 + 2391;17196;825;958;99117910;2110784 + 2392;17208;825;958;99117910;2110784 + 2393;17208;825;959;99117910;2127992 + 2394;17220;825;959;99117910;2127992 + 2395;17227;825;960;99117910;2145219 + 2396;17232;825;960;99117910;2145219 + 2397;17244;825;960;99117910;2145219 + 2398;17245;837;961;96189250;1983520 + 2399;17256;837;961;96189250;1983520 + 2400;17265;837;962;96189250;2000785 + 2401;17268;837;962;96189250;2000785 + 2402;17280;839;962;96998994;1970707 + 2403;17280;839;963;96998994;1987987 + 2404;17292;839;963;96998994;1987987 + 2405;17299;839;964;96998994;2005286 + 2406;17304;839;964;96998994;2005286 + 2407;17315;839;965;96998994;2022601 + 2408;17316;839;965;96998994;2022601 + 2409;17328;839;965;96998994;2022601 + 2410;17339;839;966;96998994;2039940 + 2411;17340;839;966;96998994;2039940 + 2412;17352;839;966;96998994;2039940 + 2413;17360;839;967;96998994;2057300 + 2414;17364;839;967;96998994;2057300 + 2415;17375;839;968;96998994;2074675 + 2416;17376;839;968;96998994;2074675 + 2417;17388;839;968;96998994;2074675 + 2418;17394;839;969;96998994;2092069 + 2419;17400;839;969;96998994;2092069 + 2420;17412;839;969;96998994;2092069 + 2421;17416;839;970;96998994;2109485 + 2422;17424;839;970;96998994;2109485 + 2423;17435;839;971;96998994;2126920 + 2424;17436;839;971;96998994;2126920 + 2425;17448;839;971;96998994;2126920 + 2426;17457;839;972;96998994;2144377 + 2427;17460;839;972;96998994;2144377 + 2428;17470;839;973;96998994;2161847 + 2429;17472;839;973;96998994;2161847 + 2430;17484;839;973;96998994;2161847 + 2431;17493;848;974;97379205;2043146 + 2432;17496;848;974;97379205;2043146 + 2433;17508;848;974;97379205;2043146 + 2434;17517;848;975;97379205;2060663 + 2435;17520;848;975;97379205;2060663 + 2436;17532;848;975;97379205;2060663 + 2437;17536;849;976;98055773;2062975 + 2438;17544;849;976;98055773;2062975 + 2439;17554;849;977;98055773;2080529 + 2440;17556;849;977;98055773;2080529 + 2441;17568;849;977;98055773;2080529 + 2442;17577;849;978;98055773;2098106 + 2443;17580;849;978;98055773;2098106 + 2444;17592;849;978;98055773;2098106 + 2445;17594;849;979;98055773;2115700 + 2446;17604;849;979;98055773;2115700 + 2447;17609;849;980;98055773;2133309 + 2448;17616;849;980;98055773;2133309 + 2449;17624;851;981;98415677;2120447 + 2450;17628;851;981;98415677;2120447 + 2451;17640;851;981;98415677;2120447 + 2452;17644;856;982;96941790;2061533 + 2453;17652;856;982;96941790;2061533 + 2454;17659;856;983;96941790;2079192 + 2455;17664;856;983;96941790;2079192 + 2456;17676;856;983;96941790;2079192 + 2457;17678;856;984;96941790;2096870 + 2458;17688;856;984;96941790;2096870 + 2459;17698;856;985;96941790;2114568 + 2460;17700;856;985;96941790;2114568 + 2461;17712;856;985;96941790;2114568 + 2462;17715;856;986;96941790;2132283 + 2463;17724;856;986;96941790;2132283 + 2464;17735;856;987;96941790;2150018 + 2465;17736;856;987;96941790;2150018 + 2466;17748;856;987;96941790;2150018 + 2467;17752;856;988;96941790;2167770 + 2468;17760;856;988;96941790;2167770 + 2469;17768;856;989;96941790;2185538 + 2470;17772;856;989;96941790;2185538 + 2471;17784;856;989;96941790;2185538 + 2472;17790;863;990;95709622;2095381 + 2473;17796;863;990;95709622;2095381 + 2474;17806;863;991;95709622;2113187 + 2475;17808;863;991;95709622;2113187 + 2476;17820;863;991;95709622;2113187 + 2477;17820;863;992;95709622;2131007 + 2478;17832;863;992;95709622;2131007 + 2479;17844;863;992;95709622;2131007 + 2480;17844;863;993;95709622;2148851 + 2481;17856;863;993;95709622;2148851 + 2482;17866;863;994;95709622;2166717 + 2483;17868;863;994;95709622;2166717 + 2484;17880;863;994;95709622;2166717 + 2485;17889;866;995;94969596;2138094 + 2486;17892;866;995;94969596;2138094 + 2487;17904;866;995;94969596;2138094 + 2488;17908;866;996;94969596;2156002 + 2489;17916;866;996;94969596;2156002 + 2490;17927;866;997;94969596;2173929 + 2491;17928;866;997;94969596;2173929 + 2492;17940;866;997;94969596;2173929 + 2493;17944;866;998;94969596;2191873 + 2494;17952;866;998;94969596;2191873 + 2495;17963;866;999;94969596;2209836 + 2496;17964;866;999;94969596;2209836 + 2497;17976;873;999;95685853;2100730 + 2498;17982;873;1000;95685853;2118712 + 2499;17988;873;1000;95685853;2118712 + 2500;18000;873;1000;95685853;2118712 + 2501;18004;873;1001;95685853;2136716 + 2502;18012;873;1001;95685853;2136716 + 2503;18022;873;1002;95685853;2154738 + 2504;18024;873;1002;95685853;2154738 + 2505;18036;873;1002;95685853;2154738 + 2506;18039;873;1003;95685853;2172777 + 2507;18048;873;1003;95685853;2172777 + 2508;18060;873;1003;95685853;2172777 + 2509;18063;873;1004;95685853;2190840 + 2510;18072;873;1004;95685853;2190840 + 2511;18080;873;1005;95685853;2208920 + 2512;18084;873;1005;95685853;2208920 + 2513;18096;873;1005;95685853;2208920 + 2514;18100;882;1006;97979691;2085381 + 2515;18108;882;1006;97979691;2085381 + 2516;18116;882;1007;97979691;2103497 + 2517;18120;882;1007;97979691;2103497 + 2518;18132;882;1007;97979691;2103497 + 2519;18132;882;1008;97979691;2121629 + 2520;18144;882;1008;97979691;2121629 + 2521;18148;886;1009;97678986;2076364 + 2522;18156;886;1009;97678986;2076364 + 2523;18166;886;1010;97678986;2094530 + 2524;18168;886;1010;97678986;2094530 + 2525;18178;886;1011;97678986;2112708 + 2526;18180;886;1011;97678986;2112708 + 2527;18192;886;1011;97678986;2112708 + 2528;18198;889;1012;96992971;2083135 + 2529;18204;889;1012;96992971;2083135 + 2530;18216;889;1012;96992971;2083135 + 2531;18220;889;1013;96992971;2101355 + 2532;18228;889;1013;96992971;2101355 + 2533;18234;889;1014;96992971;2119589 + 2534;18240;889;1014;96992971;2119589 + 2535;18252;889;1014;96992971;2119589 + 2536;18255;889;1015;96992971;2137844 + 2537;18264;889;1015;96992971;2137844 + 2538;18272;889;1016;96992971;2156116 + 2539;18276;889;1016;96992971;2156116 + 2540;18288;889;1016;96992971;2156116 + 2541;18290;889;1017;96992971;2174406 + 2542;18300;889;1017;96992971;2174406 + 2543;18303;889;1018;96992971;2192709 + 2544;18312;889;1018;96992971;2192709 + 2545;18324;889;1018;96992971;2192709 + 2546;18327;889;1019;96992971;2211036 + 2547;18336;889;1019;96992971;2211036 + 2548;18343;889;1020;96992971;2229379 + 2549;18348;889;1020;96992971;2229379 + 2550;18359;889;1021;96992971;2247738 + 2551;18360;889;1021;96992971;2247738 + 2552;18372;889;1021;96992971;2247738 + 2553;18377;889;1022;96992971;2266115 + 2554;18384;889;1022;96992971;2266115 + 2555;18389;889;1023;96992971;2284504 + 2556;18396;889;1023;96992971;2284504 + 2557;18408;889;1023;96992971;2284504 + 2558;18409;889;1024;96992971;2302913 + 2559;18420;897;1024;97482056;2174772 + 2560;18423;897;1025;97482056;2193195 + 2561;18432;897;1025;97482056;2193195 + 2562;18436;897;1026;97482056;2211631 + 2563;18444;897;1026;97482056;2211631 + 2564;18451;897;1027;97482056;2230082 + 2565;18456;897;1027;97482056;2230082 + 2566;18468;897;1027;97482056;2230082 + 2567;18474;897;1028;97482056;2248556 + 2568;18480;897;1028;97482056;2248556 + 2569;18492;903;1028;96701299;2151663 + 2570;18498;905;1029;96201196;2137705 + 2571;18504;905;1029;96201196;2137705 + 2572;18516;905;1029;96201196;2137705 + 2573;18519;905;1030;96201196;2156224 + 2574;18528;905;1030;96201196;2156224 + 2575;18540;907;1030;96956840;2123710 + 2576;18541;907;1031;96956840;2142251 + 2577;18552;907;1031;96956840;2142251 + 2578;18561;907;1032;96956840;2160812 + 2579;18564;907;1032;96956840;2160812 + 2580;18575;907;1033;96956840;2179387 + 2581;18576;907;1033;96956840;2179387 + 2582;18588;907;1033;96956840;2179387 + 2583;18594;907;1034;96956840;2197981 + 2584;18600;907;1034;96956840;2197981 + 2585;18608;907;1035;96956840;2216589 + 2586;18612;907;1035;96956840;2216589 + 2587;18624;907;1035;96956840;2216589 + 2588;18625;907;1036;96956840;2235214 + 2589;18636;907;1036;96956840;2235214 + 2590;18642;907;1037;96956840;2253856 + 2591;18648;907;1037;96956840;2253856 + 2592;18660;907;1037;96956840;2253856 + 2593;18660;907;1038;96956840;2272516 + 2594;18672;907;1038;96956840;2272516 + 2595;18676;907;1039;96956840;2291192 + 2596;18684;907;1039;96956840;2291192 + 2597;18690;907;1040;96956840;2309882 + 2598;18696;907;1040;96956840;2309882 + 2599;18706;907;1041;96956840;2328588 + 2600;18708;907;1041;96956840;2328588 + 2601;18720;907;1041;96956840;2328588 + 2602;18722;907;1042;96956840;2347310 + 2603;18732;907;1042;96956840;2347310 + 2604;18739;913;1043;96686289;2268093 + 2605;18744;913;1043;96686289;2268093 + 2606;18754;913;1044;96686289;2286847 + 2607;18756;913;1044;96686289;2286847 + 2608;18768;913;1044;96686289;2286847 + 2609;18776;913;1045;96686289;2305623 + 2610;18780;913;1045;96686289;2305623 + 2611;18791;913;1046;96686289;2324414 + 2612;18792;913;1046;96686289;2324414 + 2613;18804;913;1046;96686289;2324414 + 2614;18806;913;1047;96686289;2343220 + 2615;18816;913;1047;96686289;2343220 + 2616;18823;913;1048;96686289;2362043 + 2617;18828;913;1048;96686289;2362043 + 2618;18840;917;1048;97921908;2296335 + 2619;18844;917;1049;97921908;2315179 + 2620;18852;917;1049;97921908;2315179 + 2621;18859;917;1050;97921908;2334038 + 2622;18864;917;1050;97921908;2334038 + 2623;18873;917;1051;97921908;2352911 + 2624;18876;917;1051;97921908;2352911 + 2625;18888;917;1051;97921908;2352911 + 2626;18896;923;1052;97700218;2272651 + 2627;18900;923;1052;97700218;2272651 + 2628;18912;923;1052;97700218;2272651 + 2629;18915;923;1053;97700218;2291566 + 2630;18924;923;1053;97700218;2291566 + 2631;18932;923;1054;97700218;2310498 + 2632;18936;923;1054;97700218;2310498 + 2633;18948;923;1054;97700218;2310498 + 2634;18952;923;1055;97700218;2329450 + 2635;18960;923;1055;97700218;2329450 + 2636;18972;923;1055;97700218;2329450 + 2637;18972;923;1056;97700218;2348422 + 2638;18984;923;1056;97700218;2348422 + 2639;18991;928;1057;97370135;2284281 + 2640;18996;928;1057;97370135;2284281 + 2641;19006;928;1058;97370135;2303287 + 2642;19008;928;1058;97370135;2303287 + 2643;19020;928;1058;97370135;2303287 + 2644;19027;928;1059;97370135;2322314 + 2645;19032;928;1059;97370135;2322314 + 2646;19044;928;1059;97370135;2322314 + 2647;19051;931;1060;98247761;2291271 + 2648;19056;931;1060;98247761;2291271 + 2649;19068;931;1060;98247761;2291271 + 2650;19069;934;1061;97143661;2260061 + 2651;19080;934;1061;97143661;2260061 + 2652;19087;934;1062;97143661;2279148 + 2653;19092;934;1062;97143661;2279148 + 2654;19104;939;1062;96144462;2195005 + 2655;19107;939;1063;96144462;2214112 + 2656;19116;939;1063;96144462;2214112 + 2657;19128;939;1063;96144462;2214112 + 2658;19128;939;1064;96144462;2233240 + 2659;19140;939;1064;96144462;2233240 + 2660;19152;943;1064;95061047;2165619 + 2661;19152;943;1065;95061047;2184771 + 2662;19164;943;1065;95061047;2184771 + 2663;19174;943;1066;95061047;2203945 + 2664;19176;943;1066;95061047;2203945 + 2665;19187;943;1067;95061047;2223132 + 2666;19188;943;1067;95061047;2223132 + 2667;19200;943;1067;95061047;2223132 + 2668;19207;943;1068;95061047;2242339 + 2669;19212;943;1068;95061047;2242339 + 2670;19219;943;1069;95061047;2261558 + 2671;19224;943;1069;95061047;2261558 + 2672;19236;943;1069;95061047;2261558 + 2673;19240;943;1070;95061047;2280798 + 2674;19248;943;1070;95061047;2280798 + 2675;19260;943;1070;95061047;2280798 + 2676;19261;943;1071;95061047;2300059 + 2677;19272;943;1071;95061047;2300059 + 2678;19274;943;1072;95061047;2319333 + 2679;19284;943;1072;95061047;2319333 + 2680;19286;943;1073;95061047;2338619 + 2681;19296;943;1073;95061047;2338619 + 2682;19300;943;1074;95061047;2357919 + 2683;19308;943;1074;95061047;2357919 + 2684;19320;943;1074;95061047;2357919 + 2685;19320;953;1075;91852129;2207037 + 2686;19332;954;1075;91153249;2189918 + 2687;19334;954;1076;91153249;2209252 + 2688;19344;954;1076;91153249;2209252 + 2689;19349;954;1077;91153249;2228601 + 2690;19356;954;1077;91153249;2228601 + 2691;19368;954;1077;91153249;2228601 + 2692;19370;954;1078;91153249;2247971 + 2693;19380;954;1078;91153249;2247971 + 2694;19392;954;1078;91153249;2247971 + 2695;19394;954;1079;91153249;2267365 + 2696;19404;954;1079;91153249;2267365 + 2697;19411;954;1080;91153249;2286776 + 2698;19416;954;1080;91153249;2286776 + 2699;19428;954;1080;91153249;2286776 + 2700;19435;954;1081;91153249;2306211 + 2701;19440;954;1081;91153249;2306211 + 2702;19452;954;1081;91153249;2306211 + 2703;19454;954;1082;91153249;2325665 + 2704;19464;954;1082;91153249;2325665 + 2705;19471;954;1083;91153249;2345136 + 2706;19476;954;1083;91153249;2345136 + 2707;19488;954;1083;91153249;2345136 + 2708;19493;954;1084;91153249;2364629 + 2709;19500;954;1084;91153249;2364629 + 2710;19509;954;1085;91153249;2384138 + 2711;19512;954;1085;91153249;2384138 + 2712;19524;954;1085;91153249;2384138 + 2713;19529;954;1086;91153249;2403667 + 2714;19536;954;1086;91153249;2403667 + 2715;19544;954;1087;91153249;2423211 + 2716;19548;954;1087;91153249;2423211 + 2717;19560;954;1087;91153249;2423211 + 2718;19560;954;1088;91153249;2442771 + 2719;19572;954;1088;91153249;2442771 + 2720;19575;956;1089;91889211;2428036 + 2721;19584;956;1089;91889211;2428036 + 2722;19595;958;1090;92717436;2413235 + 2723;19596;958;1090;92717436;2413235 + 2724;19608;958;1090;92717436;2413235 + 2725;19619;958;1091;92717436;2432854 + 2726;19620;958;1091;92717436;2432854 + 2727;19632;958;1091;92717436;2432854 + 2728;19633;961;1092;92631115;2400750 + 2729;19644;961;1092;92631115;2400750 + 2730;19645;961;1093;92631115;2420395 + 2731;19656;961;1093;92631115;2420395 + 2732;19665;965;1094;92421403;2370827 + 2733;19668;965;1094;92421403;2370827 + 2734;19680;965;1094;92421403;2370827 + 2735;19688;965;1095;92421403;2390515 + 2736;19692;965;1095;92421403;2390515 + 2737;19703;965;1096;92421403;2410218 + 2738;19704;965;1096;92421403;2410218 + 2739;19716;965;1096;92421403;2410218 + 2740;19718;965;1097;92421403;2429936 + 2741;19728;965;1097;92421403;2429936 + 2742;19740;965;1097;92421403;2429936 + 2743;19741;965;1098;92421403;2449677 + 2744;19752;965;1098;92421403;2449677 + 2745;19764;965;1098;92421403;2449677 + 2746;19764;965;1099;92421403;2469441 + 2747;19776;965;1099;92421403;2469441 + 2748;19788;965;1099;92421403;2469441 + 2749;19788;965;1100;92421403;2489229 + 2750;19800;973;1100;91567387;2349829 + 2751;19811;973;1101;91567387;2369640 + 2752;19812;973;1101;91567387;2369640 + 2753;19824;973;1101;91567387;2369640 + 2754;19832;973;1102;91567387;2389472 + 2755;19836;973;1102;91567387;2389472 + 2756;19848;973;1102;91567387;2389472 + 2757;19853;973;1103;91567387;2409325 + 2758;19860;975;1103;91658409;2374272 + 2759;19872;975;1103;91658409;2374272 + 2760;19872;975;1104;91658409;2394144 + 2761;19884;975;1104;91658409;2394144 + 2762;19889;975;1105;91658409;2414033 + 2763;19896;975;1105;91658409;2414033 + 2764;19901;975;1106;91658409;2433934 + 2765;19908;975;1106;91658409;2433934 + 2766;19915;975;1107;91658409;2453849 + 2767;19920;975;1107;91658409;2453849 + 2768;19932;975;1107;91658409;2453849 + 2769;19933;975;1108;91658409;2473782 + 2770;19944;975;1108;91658409;2473782 + 2771;19953;977;1109;92887436;2458604 + 2772;19956;977;1109;92887436;2458604 + 2773;19965;977;1110;92887436;2478569 + 2774;19968;977;1110;92887436;2478569 + 2775;19977;977;1111;92887436;2498546 + 2776;19980;977;1111;92887436;2498546 + 2777;19992;977;1111;92887436;2498546 + 2778;19999;977;1112;92887436;2518545 + 2779;20004;977;1112;92887436;2518545 + 2780;20013;986;1113;93028858;2379602 + 2781;20016;986;1113;93028858;2379602 + 2782;20028;986;1113;93028858;2379602 + 2783;20028;986;1114;93028858;2399630 + 2784;20040;986;1114;93028858;2399630 + 2785;20041;986;1115;93028858;2419671 + 2786;20052;986;1115;93028858;2419671 + 2787;20064;986;1115;93028858;2419671 + 2788;20064;986;1116;93028858;2439735 + 2789;20076;986;1116;93028858;2439735 + 2790;20083;986;1117;93028858;2459818 + 2791;20088;986;1117;93028858;2459818 + 2792;20096;986;1118;93028858;2479914 + 2793;20100;986;1118;93028858;2479914 + 2794;20112;986;1118;93028858;2479914 + 2795;20113;986;1119;93028858;2500027 + 2796;20124;986;1119;93028858;2500027 + 2797;20131;986;1120;93028858;2520158 + 2798;20136;986;1120;93028858;2520158 + 2799;20148;986;1120;93028858;2520158 + 2800;20150;986;1121;93028858;2540308 + 2801;20160;986;1121;93028858;2540308 + 2802;20164;992;1122;94766358;2453692 + 2803;20172;992;1122;94766358;2453692 + 2804;20184;992;1122;94766358;2453692 + 2805;20187;992;1123;94766358;2473879 + 2806;20196;992;1123;94766358;2473879 + 2807;20200;992;1124;94766358;2494079 + 2808;20208;992;1124;94766358;2494079 + 2809;20220;992;1124;94766358;2494079 + 2810;20221;992;1125;94766358;2514300 + 2811;20232;992;1125;94766358;2514300 + 2812;20234;992;1126;94766358;2534534 + 2813;20244;992;1126;94766358;2534534 + 2814;20252;992;1127;94766358;2554786 + 2815;20256;992;1127;94766358;2554786 + 2816;20265;992;1128;94766358;2575051 + 2817;20268;992;1128;94766358;2575051 + 2818;20280;992;1128;94766358;2575051 + 2819;20287;992;1129;94766358;2595338 + 2820;20292;992;1129;94766358;2595338 + 2821;20301;992;1130;94766358;2615639 + 2822;20304;992;1130;94766358;2615639 + 2823;20316;992;1130;94766358;2615639 + 2824;20322;992;1131;94766358;2635961 + 2825;20328;992;1131;94766358;2635961 + 2826;20339;994;1132;96995983;2620545 + 2827;20340;994;1132;96995983;2620545 + 2828;20352;994;1132;96995983;2620545 + 2829;20353;994;1133;96995983;2640898 + 2830;20364;994;1133;96995983;2640898 + 2831;20373;994;1134;96995983;2661271 + 2832;20376;994;1134;96995983;2661271 + 2833;20388;994;1134;96995983;2661271 + 2834;20393;1004;1135;96329718;2501732 + 2835;20400;1004;1135;96329718;2501732 + 2836;20408;1007;1136;94937166;2467792 + 2837;20412;1007;1136;94937166;2467792 + 2838;20424;1007;1136;94937166;2467792 + 2839;20425;1007;1137;94937166;2488217 + 2840;20436;1007;1137;94937166;2488217 + 2841;20447;1007;1138;94937166;2508664 + 2842;20448;1007;1138;94937166;2508664 + 2843;20460;1007;1138;94937166;2508664 + 2844;20470;1007;1139;94937166;2529134 + 2845;20472;1007;1139;94937166;2529134 + 2846;20484;1007;1139;94937166;2529134 + 2847;20487;1007;1140;94937166;2549621 + 2848;20496;1007;1140;94937166;2549621 + 2849;20507;1007;1141;94937166;2570128 + 2850;20508;1007;1141;94937166;2570128 + 2851;20520;1007;1141;94937166;2570128 + 2852;20530;1007;1142;94937166;2590658 + 2853;20532;1007;1142;94937166;2590658 + 2854;20544;1007;1142;94937166;2590658 + 2855;20552;1007;1143;94937166;2611210 + 2856;20556;1007;1143;94937166;2611210 + 2857;20566;1007;1144;94937166;2631776 + 2858;20568;1007;1144;94937166;2631776 + 2859;20580;1015;1144;92815364;2486105 + 2860;20582;1015;1145;92815364;2506687 + 2861;20592;1015;1145;92815364;2506687 + 2862;20604;1015;1145;92815364;2506687 + 2863;20605;1015;1146;92815364;2527292 + 2864;20616;1015;1146;92815364;2527292 + 2865;20627;1016;1147;93541509;2529629 + 2866;20628;1016;1147;93541509;2529629 + 2867;20640;1016;1147;93541509;2529629 + 2868;20650;1016;1148;93541509;2550279 + 2869;20652;1016;1148;93541509;2550279 + 2870;20664;1016;1148;93541509;2550279 + 2871;20672;1016;1149;93541509;2570951 + 2872;20676;1016;1149;93541509;2570951 + 2873;20688;1016;1149;93541509;2570951 + 2874;20689;1016;1150;93541509;2591640 + 2875;20700;1016;1150;93541509;2591640 + 2876;20705;1016;1151;93541509;2612345 + 2877;20712;1016;1151;93541509;2612345 + 2878;20724;1016;1151;93541509;2612345 + 2879;20728;1018;1152;94355326;2596443 + 2880;20736;1018;1152;94355326;2596443 + 2881;20748;1018;1152;94355326;2596443 + 2882;20751;1018;1153;94355326;2617194 + 2883;20760;1018;1153;94355326;2617194 + 2884;20771;1018;1154;94355326;2637965 + 2885;20772;1018;1154;94355326;2637965 + 2886;20784;1018;1154;94355326;2637965 + 2887;20795;1018;1155;94355326;2658760 + 2888;20796;1018;1155;94355326;2658760 + 2889;20808;1020;1155;96084779;2622058 + 2890;20811;1020;1156;96084779;2642869 + 2891;20820;1020;1156;96084779;2642869 + 2892;20832;1026;1156;99426131;2532384 + 2893;20832;1026;1157;99426131;2553216 + 2894;20844;1026;1157;99426131;2553216 + 2895;20845;1031;1158;97909748;2481468 + 2896;20856;1031;1158;97909748;2481468 + 2897;20858;1031;1159;97909748;2502326 + 2898;20868;1031;1159;97909748;2502326 + 2899;20874;1031;1160;97909748;2523200 + 2900;20880;1031;1160;97909748;2523200 + 2901;20887;1031;1161;97909748;2544087 + 2902;20892;1031;1161;97909748;2544087 + 2903;20904;1031;1161;97909748;2544087 + 2904;20905;1031;1162;97909748;2564992 + 2905;20916;1031;1162;97909748;2564992 + 2906;20928;1034;1162;99145610;2509215 + 2907;20928;1034;1163;99145610;2530143 + 2908;20940;1034;1163;99145610;2530143 + 2909;20948;1034;1164;99145610;2551091 + 2910;20952;1034;1164;99145610;2551091 + 2911;20964;1034;1164;99145610;2551091 + 2912;20972;1034;1165;99145610;2572063 + 2913;20976;1034;1165;99145610;2572063 + 2914;20988;1034;1165;99145610;2572063 + 2915;20989;1034;1166;99145610;2593052 + 2916;21000;1034;1166;99145610;2593052 + 2917;21004;1034;1167;99145610;2614056 + 2918;21012;1034;1167;99145610;2614056 + 2919;21019;1034;1168;99145610;2635075 + 2920;21024;1034;1168;99145610;2635075 + 2921;21036;1034;1168;99145610;2635075 + 2922;21037;1034;1169;99145610;2656112 + 2923;21048;1034;1169;99145610;2656112 + 2924;21055;1034;1170;99145610;2677167 + 2925;21060;1034;1170;99145610;2677167 + 2926;21072;1034;1170;99145610;2677167 + 2927;21074;1035;1171;100306716;2679616 + 2928;21084;1037;1171;102357959;2642314 + 2929;21088;1037;1172;102357959;2663402 + 2930;21096;1037;1172;102357959;2663402 + 2931;21108;1037;1172;102357959;2663402 + 2932;21110;1037;1173;102357959;2684512 + 2933;21120;1037;1173;102357959;2684512 + 2934;21128;1046;1174;106633485;2536980 + 2935;21132;1046;1174;106633485;2536980 + 2936;21144;1046;1174;106633485;2536980 + 2937;21145;1046;1175;106633485;2558125 + 2938;21156;1046;1175;106633485;2558125 + 2939;21164;1046;1176;106633485;2579289 + 2940;21168;1046;1176;106633485;2579289 + 2941;21180;1046;1176;106633485;2579289 + 2942;21188;1046;1177;106633485;2600477 + 2943;21192;1046;1177;106633485;2600477 + 2944;21204;1046;1177;106633485;2600477 + 2945;21212;1046;1178;106633485;2621689 + 2946;21216;1046;1178;106633485;2621689 + 2947;21226;1046;1179;106633485;2642915 + 2948;21228;1046;1179;106633485;2642915 + 2949;21240;1046;1179;106633485;2642915 + 2950;21246;1051;1180;107344350;2569866 + 2951;21252;1051;1180;107344350;2569866 + 2952;21264;1051;1180;107344350;2569866 + 2953;21267;1051;1181;107344350;2591133 + 2954;21276;1051;1181;107344350;2591133 + 2955;21285;1051;1182;107344350;2612418 + 2956;21288;1051;1182;107344350;2612418 + 2957;21300;1051;1182;107344350;2612418 + 2958;21306;1051;1183;107344350;2633724 + 2959;21312;1051;1183;107344350;2633724 + 2960;21321;1056;1184;108153937;2560283 + 2961;21324;1056;1184;108153937;2560283 + 2962;21336;1056;1184;108153937;2560283 + 2963;21339;1056;1185;108153937;2581622 + 2964;21348;1056;1185;108153937;2581622 + 2965;21357;1056;1186;108153937;2602979 + 2966;21360;1056;1186;108153937;2602979 + 2967;21372;1056;1186;108153937;2602979 + 2968;21375;1056;1187;108153937;2624354 + 2969;21384;1056;1187;108153937;2624354 + 2970;21388;1056;1188;108153937;2645742 + 2971;21396;1056;1188;108153937;2645742 + 2972;21408;1056;1188;108153937;2645742 + 2973;21408;1056;1189;108153937;2667150 + 2974;21420;1056;1189;108153937;2667150 + 2975;21427;1056;1190;108153937;2688577 + 2976;21432;1056;1190;108153937;2688577 + 2977;21444;1056;1190;108153937;2688577 + 2978;21445;1056;1191;108153937;2710022 + 2979;21456;1056;1191;108153937;2710022 + 2980;21458;1056;1192;108153937;2731480 + 2981;21468;1056;1192;108153937;2731480 + 2982;21471;1056;1193;108153937;2752951 + 2983;21480;1056;1193;108153937;2752951 + 2984;21484;1060;1194;109328851;2698282 + 2985;21492;1060;1194;109328851;2698282 + 2986;21497;1060;1195;109328851;2719779 + 2987;21504;1060;1195;109328851;2719779 + 2988;21516;1060;1195;109328851;2719779 + 2989;21520;1060;1196;109328851;2741299 + 2990;21528;1060;1196;109328851;2741299 + 2991;21540;1060;1196;109328851;2741299 + 2992;21541;1060;1197;109328851;2762840 + 2993;21552;1060;1197;109328851;2762840 + 2994;21553;1060;1198;109328851;2784393 + 2995;21564;1066;1198;107137912;2669558 + 2996;21575;1066;1199;107137912;2691133 + 2997;21576;1066;1199;107137912;2691133 + 2998;21587;1066;1200;107137912;2712720 + 2999;21588;1066;1200;107137912;2712720 + 3000;21600;1066;1200;107137912;2712720 + 3001;21605;1066;1201;107137912;2734325 + 3002;21612;1066;1201;107137912;2734325 + 3003;21620;1066;1202;107137912;2755945 + 3004;21624;1066;1202;107137912;2755945 + 3005;21633;1066;1203;107137912;2777578 + 3006;21636;1066;1203;107137912;2777578 + 3007;21648;1066;1203;107137912;2777578 + 3008;21651;1066;1204;107137912;2799229 + 3009;21660;1066;1204;107137912;2799229 + 3010;21668;1066;1205;107137912;2820897 + 3011;21672;1066;1205;107137912;2820897 + 3012;21684;1066;1205;107137912;2820897 + 3013;21684;1074;1206;108513839;2688474 + 3014;21696;1074;1206;108513839;2688474 + 3015;21701;1074;1207;108513839;2710175 + 3016;21708;1074;1207;108513839;2710175 + 3017;21719;1074;1208;108513839;2731894 + 3018;21720;1074;1208;108513839;2731894 + 3019;21732;1074;1208;108513839;2731894 + 3020;21737;1079;1209;110026935;2656773 + 3021;21744;1079;1209;110026935;2656773 + 3022;21756;1079;1209;110026935;2656773 + 3023;21759;1079;1210;110026935;2678532 + 3024;21768;1079;1210;110026935;2678532 + 3025;21777;1079;1211;110026935;2700309 + 3026;21780;1079;1211;110026935;2700309 + 3027;21789;1079;1212;110026935;2722098 + 3028;21792;1079;1212;110026935;2722098 + 3029;21801;1079;1213;110026935;2743899 + 3030;21804;1079;1213;110026935;2743899 + 3031;21816;1079;1213;110026935;2743899 + 3032;21824;1086;1214;112050592;2629288 + 3033;21828;1086;1214;112050592;2629288 + 3034;21840;1086;1214;112050592;2629288 + 3035;21848;1086;1215;112050592;2651136 + 3036;21852;1086;1215;112050592;2651136 + 3037;21864;1094;1215;108648689;2494156 + 3038;21868;1094;1216;108648689;2516024 + 3039;21876;1094;1216;108648689;2516024 + 3040;21888;1094;1216;108648689;2516024 + 3041;21888;1094;1217;108648689;2537912 + 3042;21900;1094;1217;108648689;2537912 + 3043;21907;1094;1218;108648689;2559819 + 3044;21912;1094;1218;108648689;2559819 + 3045;21924;1094;1218;108648689;2559819 + 3046;21927;1094;1219;108648689;2581746 + 3047;21936;1094;1219;108648689;2581746 + 3048;21942;1097;1220;107818659;2544526 + 3049;21948;1097;1220;107818659;2544526 + 3050;21960;1097;1220;107818659;2544526 + 3051;21964;1097;1221;107818659;2566490 + 3052;21972;1097;1221;107818659;2566490 + 3053;21984;1097;1221;107818659;2566490 + 3054;21985;1097;1222;107818659;2588475 + 3055;21996;1097;1222;107818659;2588475 + 3056;22004;1097;1223;107818659;2610479 + 3057;22008;1097;1223;107818659;2610479 + 3058;22017;1097;1224;107818659;2632496 + 3059;22020;1097;1224;107818659;2632496 + 3060;22032;1097;1224;107818659;2632496 + 3061;22040;1097;1225;107818659;2654536 + 3062;22044;1097;1225;107818659;2654536 + 3063;22056;1097;1225;107818659;2654536 + 3064;22060;1097;1226;107818659;2676596 + 3065;22068;1097;1226;107818659;2676596 + 3066;22074;1097;1227;107818659;2698670 + 3067;22080;1097;1227;107818659;2698670 + 3068;22089;1098;1228;108641942;2700995 + 3069;22092;1098;1228;108641942;2700995 + 3070;22101;1098;1229;108641942;2723096 + 3071;22104;1098;1229;108641942;2723096 + 3072;22116;1098;1229;108641942;2723096 + 3073;22120;1098;1230;108641942;2745216 + 3074;22128;1098;1230;108641942;2745216 + 3075;22140;1098;1230;108641942;2745216 + 3076;22142;1098;1231;108641942;2767358 + 3077;22152;1098;1231;108641942;2767358 + 3078;22155;1098;1232;108641942;2789513 + 3079;22164;1098;1232;108641942;2789513 + 3080;22176;1098;1232;108641942;2789513 + 3081;22178;1098;1233;108641942;2811691 + 3082;22188;1098;1233;108641942;2811691 + 3083;22195;1098;1234;108641942;2833886 + 3084;22200;1098;1234;108641942;2833886 + 3085;22212;1098;1234;108641942;2833886 + 3086;22214;1107;1235;108016347;2677306 + 3087;22224;1107;1235;108016347;2677306 + 3088;22230;1107;1236;108016347;2699536 + 3089;22236;1107;1236;108016347;2699536 + 3090;22244;1107;1237;108016347;2721780 + 3091;22248;1107;1237;108016347;2721780 + 3092;22259;1107;1238;108016347;2744039 + 3093;22260;1107;1238;108016347;2744039 + 3094;22272;1107;1238;108016347;2744039 + 3095;22277;1107;1239;108016347;2766316 + 3096;22284;1107;1239;108016347;2766316 + 3097;22296;1107;1239;108016347;2766316 + 3098;22299;1107;1240;108016347;2788615 + 3099;22308;1107;1240;108016347;2788615 + 3100;22316;1107;1241;108016347;2810931 + 3101;22320;1107;1241;108016347;2810931 + 3102;22332;1107;1241;108016347;2810931 + 3103;22332;1107;1242;108016347;2833263 + 3104;22344;1107;1242;108016347;2833263 + 3105;22344;1107;1243;108016347;2855607 + 3106;22356;1107;1243;108016347;2855607 + 3107;22359;1107;1244;108016347;2877966 + 3108;22368;1107;1244;108016347;2877966 + 3109;22378;1109;1245;109519106;2860426 + 3110;22380;1109;1245;109519106;2860426 + 3111;22392;1109;1245;109519106;2860426 + 3112;22397;1109;1246;109519106;2882823 + 3113;22404;1109;1246;109519106;2882823 + 3114;22414;1109;1247;109519106;2905237 + 3115;22416;1109;1247;109519106;2905237 + 3116;22428;1109;1247;109519106;2905237 + 3117;22429;1119;1248;108345511;2727121 + 3118;22440;1121;1248;108026409;2686807 + 3119;22444;1121;1249;108026409;2709251 + 3120;22452;1121;1249;108026409;2709251 + 3121;22463;1121;1250;108026409;2731714 + 3122;22464;1121;1250;108026409;2731714 + 3123;22476;1121;1250;108026409;2731714 + 3124;22483;1121;1251;108026409;2754197 + 3125;22488;1121;1251;108026409;2754197 + 3126;22500;1121;1251;108026409;2754197 + 3127;22505;1121;1252;108026409;2776702 + 3128;22512;1121;1252;108026409;2776702 + 3129;22524;1121;1252;108026409;2776702 + 3130;22524;1121;1253;108026409;2799226 + 3131;22536;1121;1253;108026409;2799226 + 3132;22536;1121;1254;108026409;2821762 + 3133;22548;1121;1254;108026409;2821762 + 3134;22552;1121;1255;108026409;2844314 + 3135;22560;1121;1255;108026409;2844314 + 3136;22567;1121;1256;108026409;2866881 + 3137;22572;1121;1256;108026409;2866881 + 3138;22584;1121;1256;108026409;2866881 + 3139;22587;1121;1257;108026409;2889468 + 3140;22596;1121;1257;108026409;2889468 + 3141;22608;1121;1257;108026409;2889468 + 3142;22609;1121;1258;108026409;2912077 + 3143;22620;1121;1258;108026409;2912077 + 3144;22632;1121;1258;108026409;2912077 + 3145;22632;1121;1259;108026409;2934709 + 3146;22644;1121;1259;108026409;2934709 + 3147;22652;1121;1260;108026409;2957361 + 3148;22656;1121;1260;108026409;2957361 + 3149;22668;1131;1260;107084703;2754753 + 3150;22669;1133;1261;105572726;2736696 + 3151;22680;1133;1261;105572726;2736696 + 3152;22690;1137;1262;106355742;2677713 + 3153;22692;1137;1262;106355742;2677713 + 3154;22704;1137;1262;106355742;2677713 + 3155;22711;1137;1263;106355742;2700424 + 3156;22716;1137;1263;106355742;2700424 + 3157;22723;1137;1264;106355742;2723147 + 3158;22728;1137;1264;106355742;2723147 + 3159;22740;1137;1264;106355742;2723147 + 3160;22742;1137;1265;106355742;2745889 + 3161;22752;1137;1265;106355742;2745889 + 3162;22763;1137;1266;106355742;2768652 + 3163;22764;1137;1266;106355742;2768652 + 3164;22776;1137;1266;106355742;2768652 + 3165;22779;1137;1267;106355742;2791431 + 3166;22788;1137;1267;106355742;2791431 + 3167;22798;1137;1268;106355742;2814229 + 3168;22800;1137;1268;106355742;2814229 + 3169;22812;1137;1268;106355742;2814229 + 3170;22812;1137;1269;106355742;2837041 + 3171;22824;1137;1269;106355742;2837041 + 3172;22827;1144;1270;104561470;2716174 + 3173;22836;1144;1270;104561470;2716174 + 3174;22846;1144;1271;104561470;2739020 + 3175;22848;1144;1271;104561470;2739020 + 3176;22860;1144;1271;104561470;2739020 + 3177;22870;1144;1272;104561470;2761890 + 3178;22872;1144;1272;104561470;2761890 + 3179;22884;1144;1272;104561470;2761890 + 3180;22886;1144;1273;104561470;2784776 + 3181;22896;1144;1273;104561470;2784776 + 3182;22904;1144;1274;104561470;2807680 + 3183;22908;1144;1274;104561470;2807680 + 3184;22920;1144;1274;104561470;2807680 + 3185;22925;1144;1275;104561470;2830605 + 3186;22932;1144;1275;104561470;2830605 + 3187;22944;1147;1275;106134728;2768723 + 3188;22949;1147;1276;106134728;2791672 + 3189;22956;1147;1276;106134728;2791672 + 3190;22965;1147;1277;106134728;2814637 + 3191;22968;1147;1277;106134728;2814637 + 3192;22980;1147;1277;106134728;2814637 + 3193;22987;1147;1278;106134728;2837624 + 3194;22992;1147;1278;106134728;2837624 + 3195;23003;1147;1279;106134728;2860627 + 3196;23004;1147;1279;106134728;2860627 + 3197;23016;1147;1279;106134728;2860627 + 3198;23018;1147;1280;106134728;2883645 + 3199;23028;1147;1280;106134728;2883645 + 3200;23040;1147;1280;106134728;2883645 + 3201;23040;1147;1281;106134728;2906685 + 3202;23052;1147;1281;106134728;2906685 + 3203;23057;1147;1282;106134728;2929742 + 3204;23064;1147;1282;106134728;2929742 + 3205;23076;1147;1282;106134728;2929742 + 3206;23081;1147;1283;106134728;2952823 + 3207;23088;1147;1283;106134728;2952823 + 3208;23100;1147;1283;106134728;2952823 + 3209;23101;1147;1284;106134728;2975924 + 3210;23112;1147;1284;106134728;2975924 + 3211;23123;1153;1285;107557864;2874731 + 3212;23124;1153;1285;107557864;2874731 + 3213;23136;1153;1285;107557864;2874731 + 3214;23137;1153;1286;107557864;2897868 + 3215;23148;1153;1286;107557864;2897868 + 3216;23158;1153;1287;107557864;2921026 + 3217;23160;1153;1287;107557864;2921026 + 3218;23172;1153;1287;107557864;2921026 + 3219;23180;1153;1288;107557864;2944206 + 3220;23184;1153;1288;107557864;2944206 + 3221;23193;1161;1289;107996227;2800592 + 3222;23196;1161;1289;107996227;2800592 + 3223;23208;1161;1289;107996227;2800592 + 3224;23212;1161;1290;107996227;2823804 + 3225;23220;1161;1290;107996227;2823804 + 3226;23230;1161;1291;107996227;2847034 + 3227;23232;1161;1291;107996227;2847034 + 3228;23244;1161;1291;107996227;2847034 + 3229;23248;1161;1292;107996227;2870282 + 3230;23256;1161;1292;107996227;2870282 + 3231;23268;1163;1292;108268169;2828406 + 3232;23269;1163;1293;108268169;2851675 + 3233;23280;1163;1293;108268169;2851675 + 3234;23284;1163;1294;108268169;2874959 + 3235;23292;1163;1294;108268169;2874959 + 3236;23304;1163;1294;108268169;2874959 + 3237;23306;1163;1295;108268169;2898265 + 3238;23316;1163;1295;108268169;2898265 + 3239;23325;1163;1296;108268169;2921590 + 3240;23328;1163;1296;108268169;2921590 + 3241;23340;1163;1296;108268169;2921590 + 3242;23349;1163;1297;108268169;2944939 + 3243;23352;1163;1297;108268169;2944939 + 3244;23364;1163;1297;108268169;2944939 + 3245;23371;1163;1298;108268169;2968310 + 3246;23376;1163;1298;108268169;2968310 + 3247;23388;1163;1298;108268169;2968310 + 3248;23388;1163;1299;108268169;2991698 + 3249;23400;1163;1299;108268169;2991698 + 3250;23405;1173;1300;106908634;2804627 + 3251;23412;1178;1300;105680951;2698692 + 3252;23424;1178;1300;105680951;2698692 + 3253;23425;1178;1301;105680951;2722117 + 3254;23436;1178;1301;105680951;2722117 + 3255;23439;1178;1302;105680951;2745556 + 3256;23448;1178;1302;105680951;2745556 + 3257;23457;1178;1303;105680951;2769013 + 3258;23460;1178;1303;105680951;2769013 + 3259;23472;1178;1303;105680951;2769013 + 3260;23476;1178;1304;105680951;2792489 + 3261;23484;1178;1304;105680951;2792489 + 3262;23496;1178;1304;105680951;2792489 + 3263;23498;1178;1305;105680951;2815987 + 3264;23508;1178;1305;105680951;2815987 + 3265;23516;1178;1306;105680951;2839503 + 3266;23520;1178;1306;105680951;2839503 + 3267;23532;1178;1306;105680951;2839503 + 3268;23539;1178;1307;105680951;2863042 + 3269;23544;1178;1307;105680951;2863042 + 3270;23553;1178;1308;105680951;2886595 + 3271;23556;1178;1308;105680951;2886595 + 3272;23568;1178;1308;105680951;2886595 + 3273;23570;1178;1309;105680951;2910165 + 3274;23580;1178;1309;105680951;2910165 + 3275;23590;1178;1310;105680951;2933755 + 3276;23592;1178;1310;105680951;2933755 + 3277;23604;1178;1310;105680951;2933755 + 3278;23606;1178;1311;105680951;2957361 + 3279;23616;1178;1311;105680951;2957361 + 3280;23619;1178;1312;105680951;2980980 + 3281;23628;1178;1312;105680951;2980980 + 3282;23633;1178;1313;105680951;3004613 + 3283;23640;1178;1313;105680951;3004613 + 3284;23652;1178;1313;105680951;3004613 + 3285;23652;1178;1314;105680951;3028265 + 3286;23664;1178;1314;105680951;3028265 + 3287;23670;1178;1315;105680951;3051935 + 3288;23676;1178;1315;105680951;3051935 + 3289;23687;1178;1316;105680951;3075622 + 3290;23688;1178;1316;105680951;3075622 + 3291;23700;1178;1316;105680951;3075622 + 3292;23705;1193;1317;103975511;2778750 + 3293;23712;1193;1317;103975511;2778750 + 3294;23719;1193;1318;103975511;2802469 + 3295;23724;1193;1318;103975511;2802469 + 3296;23731;1193;1319;103975511;2826200 + 3297;23736;1193;1319;103975511;2826200 + 3298;23748;1193;1319;103975511;2826200 + 3299;23753;1193;1320;103975511;2849953 + 3300;23760;1193;1320;103975511;2849953 + 3301;23772;1193;1320;103975511;2849953 + 3302;23773;1193;1321;103975511;2873726 + 3303;23784;1193;1321;103975511;2873726 + 3304;23793;1193;1322;103975511;2897519 + 3305;23796;1193;1322;103975511;2897519 + 3306;23808;1193;1322;103975511;2897519 + 3307;23813;1193;1323;103975511;2921332 + 3308;23820;1193;1323;103975511;2921332 + 3309;23832;1193;1323;103975511;2921332 + 3310;23836;1193;1324;103975511;2945168 + 3311;23844;1193;1324;103975511;2945168 + 3312;23851;1193;1325;103975511;2969019 + 3313;23856;1193;1325;103975511;2969019 + 3314;23868;1193;1325;103975511;2969019 + 3315;23874;1193;1326;103975511;2992893 + 3316;23880;1193;1326;103975511;2992893 + 3317;23888;1193;1327;103975511;3016781 + 3318;23892;1193;1327;103975511;3016781 + 3319;23900;1193;1328;103975511;3040681 + 3320;23904;1193;1328;103975511;3040681 + 3321;23916;1196;1328;106326027;2976123 + 3322;23916;1196;1329;106326027;3000039 + 3323;23928;1196;1329;106326027;3000039 + 3324;23932;1196;1330;106326027;3023971 + 3325;23940;1196;1330;106326027;3023971 + 3326;23952;1196;1330;106326027;3023971 + 3327;23955;1196;1331;106326027;3047926 + 3328;23964;1196;1331;106326027;3047926 + 3329;23971;1196;1332;106326027;3071897 + 3330;23976;1196;1332;106326027;3071897 + 3331;23988;1196;1332;106326027;3071897 + 3332;23993;1196;1333;106326027;3095890 + 3333;24000;1196;1333;106326027;3095890 + 3334;24012;1196;1333;106326027;3095890 + 3335;24015;1196;1334;106326027;3119905 + 3336;24024;1196;1334;106326027;3119905 + 3337;24033;1209;1335;102730464;2862446 + 3338;24036;1209;1335;102730464;2862446 + 3339;24048;1209;1335;102730464;2862446 + 3340;24051;1209;1336;102730464;2886497 + 3341;24060;1209;1336;102730464;2886497 + 3342;24063;1209;1337;102730464;2910560 + 3343;24072;1209;1337;102730464;2910560 + 3344;24084;1209;1337;102730464;2910560 + 3345;24084;1209;1338;102730464;2934644 + 3346;24096;1209;1338;102730464;2934644 + 3347;24104;1209;1339;102730464;2958748 + 3348;24108;1209;1339;102730464;2958748 + 3349;24117;1209;1340;102730464;2982865 + 3350;24120;1209;1340;102730464;2982865 + 3351;24132;1209;1340;102730464;2982865 + 3352;24135;1209;1341;102730464;3007000 + 3353;24144;1209;1341;102730464;3007000 + 3354;24155;1209;1342;102730464;3031155 + 3355;24156;1209;1342;102730464;3031155 + 3356;24168;1209;1342;102730464;3031155 + 3357;24174;1209;1343;102730464;3055329 + 3358;24180;1209;1343;102730464;3055329 + 3359;24192;1209;1343;102730464;3055329 + 3360;24193;1209;1344;102730464;3079522 + 3361;24204;1209;1344;102730464;3079522 + 3362;24208;1209;1345;102730464;3103730 + 3363;24216;1209;1345;102730464;3103730 + 3364;24228;1209;1345;102730464;3103730 + 3365;24229;1216;1346;102504253;2975164 + 3366;24240;1216;1346;102504253;2975164 + 3367;24242;1216;1347;102504253;2999406 + 3368;24252;1216;1347;102504253;2999406 + 3369;24258;1216;1348;102504253;3023664 + 3370;24264;1216;1348;102504253;3023664 + 3371;24270;1216;1349;102504253;3047934 + 3372;24276;1216;1349;102504253;3047934 + 3373;24288;1216;1349;102504253;3047934 + 3374;24290;1216;1350;102504253;3072224 + 3375;24300;1216;1350;102504253;3072224 + 3376;24303;1216;1351;102504253;3096527 + 3377;24312;1216;1351;102504253;3096527 + 3378;24320;1216;1352;102504253;3120847 + 3379;24324;1225;1352;100067198;2923001 + 3380;24336;1225;1352;100067198;2923001 + 3381;24338;1225;1353;100067198;2947339 + 3382;24348;1225;1353;100067198;2947339 + 3383;24357;1225;1354;100067198;2971696 + 3384;24360;1225;1354;100067198;2971696 + 3385;24372;1225;1354;100067198;2971696 + 3386;24375;1225;1355;100067198;2996071 + 3387;24384;1225;1355;100067198;2996071 + 3388;24389;1225;1356;100067198;3020460 + 3389;24396;1225;1356;100067198;3020460 + 3390;24405;1225;1357;100067198;3044865 + 3391;24408;1225;1357;100067198;3044865 + 3392;24419;1225;1358;100067198;3069284 + 3393;24420;1225;1358;100067198;3069284 + 3394;24432;1225;1358;100067198;3069284 + 3395;24432;1225;1359;100067198;3093716 + 3396;24444;1225;1359;100067198;3093716 + 3397;24450;1225;1360;100067198;3118166 + 3398;24456;1225;1360;100067198;3118166 + 3399;24468;1225;1360;100067198;3118166 + 3400;24473;1225;1361;100067198;3142639 + 3401;24480;1225;1361;100067198;3142639 + 3402;24492;1225;1361;100067198;3142639 + 3403;24497;1233;1362;100972269;2990082 + 3404;24504;1233;1362;100972269;2990082 + 3405;24511;1233;1363;100972269;3014593 + 3406;24516;1233;1363;100972269;3014593 + 3407;24528;1233;1363;100972269;3014593 + 3408;24534;1233;1364;100972269;3039127 + 3409;24540;1233;1364;100972269;3039127 + 3410;24552;1233;1364;100972269;3039127 + 3411;24556;1233;1365;100972269;3063683 + 3412;24564;1233;1365;100972269;3063683 + 3413;24576;1233;1365;100972269;3063683 + 3414;24577;1233;1366;100972269;3088260 + 3415;24588;1233;1366;100972269;3088260 + 3416;24593;1233;1367;100972269;3112853 + 3417;24600;1233;1367;100972269;3112853 + 3418;24612;1233;1367;100972269;3112853 + 3419;24614;1233;1368;100972269;3137467 + 3420;24624;1233;1368;100972269;3137467 + 3421;24634;1233;1369;100972269;3162101 + 3422;24636;1233;1369;100972269;3162101 + 3423;24648;1233;1369;100972269;3162101 + 3424;24648;1243;1370;99401438;2963875 + 3425;24660;1243;1370;99401438;2963875 + 3426;24667;1243;1371;99401438;2988542 + 3427;24672;1243;1371;99401438;2988542 + 3428;24683;1243;1372;99401438;3013225 + 3429;24684;1243;1372;99401438;3013225 + 3430;24696;1243;1372;99401438;3013225 + 3431;24702;1243;1373;99401438;3037927 + 3432;24708;1243;1373;99401438;3037927 + 3433;24715;1243;1374;99401438;3062642 + 3434;24720;1243;1374;99401438;3062642 + 3435;24732;1243;1374;99401438;3062642 + 3436;24738;1243;1375;99401438;3087380 + 3437;24744;1243;1375;99401438;3087380 + 3438;24756;1243;1375;99401438;3087380 + 3439;24761;1253;1376;99352071;2887568 + 3440;24768;1253;1376;99352071;2887568 + 3441;24780;1253;1376;99352071;2887568 + 3442;24781;1253;1377;99352071;2912349 + 3443;24792;1253;1377;99352071;2912349 + 3444;24797;1253;1378;99352071;2937146 + 3445;24804;1253;1378;99352071;2937146 + 3446;24816;1253;1378;99352071;2937146 + 3447;24817;1253;1379;99352071;2961963 + 3448;24828;1253;1379;99352071;2961963 + 3449;24830;1253;1380;99352071;2986793 + 3450;24840;1253;1380;99352071;2986793 + 3451;24844;1256;1381;99568235;2943931 + 3452;24852;1256;1381;99568235;2943931 + 3453;24861;1256;1382;99568235;2968792 + 3454;24864;1256;1382;99568235;2968792 + 3455;24876;1256;1382;99568235;2968792 + 3456;24880;1256;1383;99568235;2993672 + 3457;24888;1256;1383;99568235;2993672 + 3458;24894;1256;1384;99568235;3018566 + 3459;24900;1256;1384;99568235;3018566 + 3460;24912;1256;1384;99568235;3018566 + 3461;24912;1256;1385;99568235;3043478 + 3462;24924;1256;1385;99568235;3043478 + 3463;24928;1256;1386;99568235;3068406 + 3464;24936;1256;1386;99568235;3068406 + 3465;24948;1256;1386;99568235;3068406 + 3466;24948;1256;1387;99568235;3093354 + 3467;24960;1256;1387;99568235;3093354 + 3468;24960;1261;1388;99145610;3005062 + 3469;24972;1261;1388;99145610;3005062 + 3470;24978;1261;1389;99145610;3030040 + 3471;24984;1261;1389;99145610;3030040 + 3472;24992;1261;1390;99145610;3055032 + 3473;24996;1261;1390;99145610;3055032 + 3474;25008;1261;1390;99145610;3055032 + 3475;25015;1261;1391;99145610;3080047 + 3476;25020;1261;1391;99145610;3080047 + 3477;25031;1261;1392;99145610;3105078 + 3478;25032;1261;1392;99145610;3105078 + 3479;25044;1261;1392;99145610;3105078 + 3480;25051;1261;1393;99145610;3130129 + 3481;25056;1261;1393;99145610;3130129 + 3482;25064;1261;1394;99145610;3155193 + 3483;25068;1261;1394;99145610;3155193 + 3484;25080;1261;1394;99145610;3155193 + 3485;25083;1261;1395;99145610;3180276 + 3486;25092;1261;1395;99145610;3180276 + 3487;25104;1261;1395;99145610;3180276 + 3488;25106;1261;1396;99145610;3205382 + 3489;25116;1261;1396;99145610;3205382 + 3490;25119;1261;1397;99145610;3230501 + 3491;25128;1261;1397;99145610;3230501 + 3492;25140;1261;1397;99145610;3230501 + 3493;25143;1275;1398;97715386;2936109 + 3494;25152;1275;1398;97715386;2936109 + 3495;25160;1275;1399;97715386;2961269 + 3496;25164;1275;1399;97715386;2961269 + 3497;25176;1275;1399;97715386;2961269 + 3498;25183;1282;1400;95804761;2825301 + 3499;25188;1282;1400;95804761;2825301 + 3500;25200;1282;1400;95804761;2825301 + 3501;25206;1282;1401;95804761;2850507 + 3502;25212;1282;1401;95804761;2850507 + 3503;25222;1282;1402;95804761;2875729 + 3504;25224;1282;1402;95804761;2875729 + 3505;25234;1282;1403;95804761;2900963 + 3506;25236;1282;1403;95804761;2900963 + 3507;25247;1282;1404;95804761;2926210 + 3508;25248;1282;1404;95804761;2926210 + 3509;25260;1282;1404;95804761;2926210 + 3510;25262;1282;1405;95804761;2951472 + 3511;25272;1282;1405;95804761;2951472 + 3512;25278;1282;1406;95804761;2976750 + 3513;25284;1282;1406;95804761;2976750 + 3514;25296;1282;1406;95804761;2976750 + 3515;25299;1282;1407;95804761;3002049 + 3516;25308;1282;1407;95804761;3002049 + 3517;25320;1282;1407;95804761;3002049 + 3518;25320;1282;1408;95804761;3027369 + 3519;25332;1282;1408;95804761;3027369 + 3520;25343;1282;1409;95804761;3052712 + 3521;25344;1282;1409;95804761;3052712 + 3522;25356;1282;1409;95804761;3052712 + 3523;25366;1282;1410;95804761;3078078 + 3524;25368;1282;1410;95804761;3078078 + 3525;25380;1282;1410;95804761;3078078 + 3526;25380;1282;1411;95804761;3103458 + 3527;25392;1282;1411;95804761;3103458 + 3528;25402;1282;1412;95804761;3128860 + 3529;25404;1282;1412;95804761;3128860 + 3530;25416;1282;1412;95804761;3128860 + 3531;25423;1282;1413;95804761;3154283 + 3532;25428;1282;1413;95804761;3154283 + 3533;25440;1282;1413;95804761;3154283 + 3534;25443;1282;1414;95804761;3179726 + 3535;25452;1282;1414;95804761;3179726 + 3536;25455;1282;1415;95804761;3205181 + 3537;25464;1282;1415;95804761;3205181 + 3538;25476;1282;1415;95804761;3205181 + 3539;25476;1282;1416;95804761;3230657 + 3540;25488;1282;1416;95804761;3230657 + 3541;25490;1282;1417;95804761;3256147 + 3542;25500;1282;1417;95804761;3256147 + 3543;25502;1282;1418;95804761;3281649 + 3544;25512;1282;1418;95804761;3281649 + 3545;25522;1285;1419;97794299;3237810 + 3546;25524;1285;1419;97794299;3237810 + 3547;25536;1285;1419;97794299;3237810 + 3548;25538;1285;1420;97794299;3263348 + 3549;25548;1285;1420;97794299;3263348 + 3550;25560;1285;1420;97794299;3263348 + 3551;25561;1285;1421;97794299;3288909 + 3552;25572;1285;1421;97794299;3288909 + 3553;25582;1285;1422;97794299;3314491 + 3554;25584;1285;1422;97794299;3314491 + 3555;25596;1285;1422;97794299;3314491 + 3556;25599;1295;1423;100715526;3107685 + 3557;25608;1300;1423;99713637;2990747 + 3558;25620;1300;1423;99713637;2990747 + 3559;25620;1300;1424;99713637;3016367 + 3560;25632;1300;1424;99713637;3016367 + 3561;25643;1300;1425;99713637;3042010 + 3562;25644;1300;1425;99713637;3042010 + 3563;25656;1300;1425;99713637;3042010 + 3564;25661;1300;1426;99713637;3067671 + 3565;25668;1300;1426;99713637;3067671 + 3566;25676;1300;1427;99713637;3093347 + 3567;25680;1300;1427;99713637;3093347 + 3568;25692;1300;1427;99713637;3093347 + 3569;25696;1300;1428;99713637;3119043 + 3570;25704;1300;1428;99713637;3119043 + 3571;25708;1300;1429;99713637;3144751 + 3572;25716;1300;1429;99713637;3144751 + 3573;25721;1300;1430;99713637;3170472 + 3574;25728;1300;1430;99713637;3170472 + 3575;25735;1300;1431;99713637;3196207 + 3576;25740;1300;1431;99713637;3196207 + 3577;25752;1300;1431;99713637;3196207 + 3578;25754;1300;1432;99713637;3221961 + 3579;25764;1300;1432;99713637;3221961 + 3580;25775;1300;1433;99713637;3247736 + 3581;25776;1300;1433;99713637;3247736 + 3582;25788;1300;1433;99713637;3247736 + 3583;25797;1300;1434;99713637;3273533 + 3584;25800;1300;1434;99713637;3273533 + 3585;25812;1300;1434;99713637;3273533 + 3586;25815;1305;1435;97964482;3181962 + 3587;25824;1305;1435;97964482;3181962 + 3588;25830;1305;1436;97964482;3207792 + 3589;25836;1305;1436;97964482;3207792 + 3590;25847;1305;1437;97964482;3233639 + 3591;25848;1305;1437;97964482;3233639 + 3592;25860;1305;1437;97964482;3233639 + 3593;25865;1309;1438;98293528;3165252 + 3594;25872;1309;1438;98293528;3165252 + 3595;25884;1309;1438;98293528;3165252 + 3596;25888;1309;1439;98293528;3191140 + 3597;25896;1309;1439;98293528;3191140 + 3598;25906;1309;1440;98293528;3217046 + 3599;25908;1309;1440;98293528;3217046 + 3600;25920;1309;1440;98293528;3217046 + 3601;25920;1309;1441;98293528;3242966 + 3602;25932;1309;1441;98293528;3242966 + 3603;25934;1309;1442;98293528;3268900 + 3604;25944;1309;1442;98293528;3268900 + 3605;25951;1309;1443;98293528;3294851 + 3606;25956;1309;1443;98293528;3294851 + 3607;25965;1309;1444;98293528;3320816 + 3608;25968;1309;1444;98293528;3320816 + 3609;25980;1309;1444;98293528;3320816 + 3610;25984;1319;1445;95433661;3110025 + 3611;25992;1319;1445;95433661;3110025 + 3612;26003;1319;1446;95433661;3136028 + 3613;26004;1319;1446;95433661;3136028 + 3614;26016;1319;1446;95433661;3136028 + 3615;26016;1319;1447;95433661;3162044 + 3616;26028;1319;1447;95433661;3162044 + 3617;26035;1319;1448;95433661;3188079 + 3618;26040;1319;1448;95433661;3188079 + 3619;26052;1319;1448;95433661;3188079 + 3620;26052;1319;1449;95433661;3214131 + 3621;26064;1327;1449;92734710;3023403 + 3622;26070;1327;1450;92734710;3049473 + 3623;26076;1327;1450;92734710;3049473 + 3624;26088;1327;1450;92734710;3049473 + 3625;26092;1327;1451;92734710;3075565 + 3626;26100;1327;1451;92734710;3075565 + 3627;26111;1327;1452;92734710;3101676 + 3628;26112;1327;1452;92734710;3101676 + 3629;26124;1327;1452;92734710;3101676 + 3630;26125;1327;1453;92734710;3127801 + 3631;26136;1327;1453;92734710;3127801 + 3632;26148;1327;1453;92734710;3127801 + 3633;26149;1327;1454;92734710;3153950 + 3634;26160;1327;1454;92734710;3153950 + 3635;26166;1328;1455;93231265;3156200 + 3636;26172;1328;1455;93231265;3156200 + 3637;26179;1328;1456;93231265;3182379 + 3638;26184;1328;1456;93231265;3182379 + 3639;26193;1328;1457;93231265;3208572 + 3640;26196;1328;1457;93231265;3208572 + 3641;26208;1328;1457;93231265;3208572 + 3642;26212;1328;1458;93231265;3234784 + 3643;26220;1328;1458;93231265;3234784 + 3644;26224;1328;1459;93231265;3261008 + 3645;26232;1328;1459;93231265;3261008 + 3646;26244;1328;1459;93231265;3261008 + 3647;26245;1328;1460;93231265;3287253 + 3648;26256;1328;1460;93231265;3287253 + 3649;26265;1328;1461;93231265;3313518 + 3650;26268;1328;1461;93231265;3313518 + 3651;26280;1328;1461;93231265;3313518 + 3652;26287;1336;1462;93049079;3147792 + 3653;26292;1336;1462;93049079;3147792 + 3654;26304;1336;1462;93049079;3147792 + 3655;26304;1336;1463;93049079;3174096 + 3656;26316;1336;1463;93049079;3174096 + 3657;26320;1336;1464;93049079;3200416 + 3658;26328;1336;1464;93049079;3200416 + 3659;26337;1336;1465;93049079;3226753 + 3660;26340;1336;1465;93049079;3226753 + 3661;26352;1336;1465;93049079;3226753 + 3662;26361;1336;1466;93049079;3253114 + 3663;26364;1336;1466;93049079;3253114 + 3664;26375;1336;1467;93049079;3279489 + 3665;26376;1336;1467;93049079;3279489 + 3666;26388;1336;1467;93049079;3279489 + 3667;26398;1336;1468;93049079;3305887 + 3668;26400;1336;1468;93049079;3305887 + 3669;26412;1336;1468;93049079;3305887 + 3670;26422;1336;1469;93049079;3332309 + 3671;26424;1336;1469;93049079;3332309 + 3672;26436;1336;1469;93049079;3332309 + 3673;26441;1336;1470;93049079;3358750 + 3674;26448;1336;1470;93049079;3358750 + 3675;26460;1336;1470;93049079;3358750 + 3676;26464;1336;1471;93049079;3385214 + 3677;26472;1339;1471;92962449;3312909 + 3678;26484;1339;1471;92962449;3312909 + 3679;26485;1339;1472;92962449;3339394 + 3680;26496;1339;1472;92962449;3339394 + 3681;26497;1339;1473;92962449;3365891 + 3682;26508;1339;1473;92962449;3365891 + 3683;26513;1339;1474;92962449;3392404 + 3684;26520;1339;1474;92962449;3392404 + 3685;26526;1339;1475;92962449;3418930 + 3686;26532;1339;1475;92962449;3418930 + 3687;26543;1339;1476;92962449;3445473 + 3688;26544;1339;1476;92962449;3445473 + 3689;26556;1339;1476;92962449;3445473 + 3690;26556;1339;1477;92962449;3472029 + 3691;26568;1339;1477;92962449;3472029 + 3692;26575;1344;1478;92654126;3377739 + 3693;26580;1344;1478;92654126;3377739 + 3694;26588;1344;1479;92654126;3404327 + 3695;26592;1344;1479;92654126;3404327 + 3696;26603;1344;1480;92654126;3430930 + 3697;26604;1344;1480;92654126;3430930 + 3698;26616;1344;1480;92654126;3430930 + 3699;26623;1344;1481;92654126;3457553 + 3700;26628;1344;1481;92654126;3457553 + 3701;26637;1344;1482;92654126;3484190 + 3702;26640;1344;1482;92654126;3484190 + 3703;26652;1344;1482;92654126;3484190 + 3704;26652;1344;1483;92654126;3510842 + 3705;26664;1344;1483;92654126;3510842 + 3706;26670;1346;1484;94054064;3489041 + 3707;26676;1346;1484;94054064;3489041 + 3708;26688;1348;1484;94943062;3440513 + 3709;26692;1348;1485;94943062;3467205 + 3710;26700;1348;1485;94943062;3467205 + 3711;26710;1348;1486;94943062;3493915 + 3712;26712;1348;1486;94943062;3493915 + 3713;26722;1348;1487;94943062;3520637 + 3714;26724;1348;1487;94943062;3520637 + 3715;26735;1348;1488;94943062;3547372 + 3716;26736;1348;1488;94943062;3547372 + 3717;26748;1361;1488;93614144;3230324 + 3718;26749;1361;1489;93614144;3257073 + 3719;26760;1361;1489;93614144;3257073 + 3720;26769;1361;1490;93614144;3283842 + 3721;26772;1361;1490;93614144;3283842 + 3722;26782;1361;1491;93614144;3310624 + 3723;26784;1361;1491;93614144;3310624 + 3724;26796;1361;1491;93614144;3310624 + 3725;26803;1361;1492;93614144;3337427 + 3726;26808;1361;1492;93614144;3337427 + 3727;26820;1361;1492;93614144;3337427 + 3728;26826;1361;1493;93614144;3364253 + 3729;26832;1361;1493;93614144;3364253 + 3730;26844;1361;1493;93614144;3364253 + 3731;26845;1367;1494;91595822;3243713 + 3732;26856;1367;1494;91595822;3243713 + 3733;26867;1367;1495;91595822;3270580 + 3734;26868;1367;1495;91595822;3270580 + 3735;26880;1367;1495;91595822;3270580 + 3736;26886;1367;1496;91595822;3297466 + 3737;26892;1367;1496;91595822;3297466 + 3738;26900;1367;1497;91595822;3324366 + 3739;26904;1367;1497;91595822;3324366 + 3740;26916;1367;1497;91595822;3324366 + 3741;26920;1367;1498;91595822;3351286 + 3742;26928;1367;1498;91595822;3351286 + 3743;26940;1367;1498;91595822;3351286 + 3744;26942;1367;1499;91595822;3378228 + 3745;26952;1367;1499;91595822;3378228 + 3746;26954;1367;1500;91595822;3405182 + 3747;26964;1367;1500;91595822;3405182 + 3748;26976;1367;1500;91595822;3405182 + 3749;26977;1376;1501;92496040;3209830 + 3750;26988;1376;1501;92496040;3209830 + 3751;26994;1376;1502;92496040;3236824 + 3752;27000;1376;1502;92496040;3236824 + 3753;27008;1376;1503;92496040;3263832 + 3754;27012;1376;1503;92496040;3263832 + 3755;27023;1376;1504;92496040;3290855 + 3756;27024;1376;1504;92496040;3290855 + 3757;27036;1376;1504;92496040;3290855 + 3758;27037;1376;1505;92496040;3317892 + 3759;27048;1376;1505;92496040;3317892 + 3760;27050;1384;1506;89437553;3146107 + 3761;27060;1384;1506;89437553;3146107 + 3762;27063;1384;1507;89437553;3173170 + 3763;27072;1384;1507;89437553;3173170 + 3764;27084;1384;1507;89437553;3173170 + 3765;27087;1384;1508;89437553;3200257 + 3766;27096;1384;1508;89437553;3200257 + 3767;27102;1384;1509;89437553;3227359 + 3768;27108;1384;1509;89437553;3227359 + 3769;27114;1384;1510;89437553;3254473 + 3770;27120;1384;1510;89437553;3254473 + 3771;27132;1384;1510;89437553;3254473 + 3772;27133;1384;1511;89437553;3281606 + 3773;27144;1384;1511;89437553;3281606 + 3774;27145;1384;1512;89437553;3308751 + 3775;27156;1384;1512;89437553;3308751 + 3776;27168;1384;1512;89437553;3308751 + 3777;27168;1384;1513;89437553;3335919 + 3778;27180;1384;1513;89437553;3335919 + 3779;27186;1384;1514;89437553;3363105 + 3780;27192;1384;1514;89437553;3363105 + 3781;27204;1384;1514;89437553;3363105 + 3782;27206;1384;1515;89437553;3390311 + 3783;27216;1384;1515;89437553;3390311 + 3784;27223;1384;1516;89437553;3417534 + 3785;27228;1384;1516;89437553;3417534 + 3786;27239;1384;1517;89437553;3444773 + 3787;27240;1384;1517;89437553;3444773 + 3788;27252;1384;1517;89437553;3444773 + 3789;27260;1388;1518;90726897;3372219 + 3790;27264;1388;1518;90726897;3372219 + 3791;27276;1388;1518;90726897;3372219 + 3792;27279;1388;1519;90726897;3399498 + 3793;27288;1388;1519;90726897;3399498 + 3794;27296;1389;1520;91377104;3401802 + 3795;27300;1389;1520;91377104;3401802 + 3796;27312;1389;1520;91377104;3401802 + 3797;27312;1389;1521;91377104;3429114 + 3798;27324;1389;1521;91377104;3429114 + 3799;27329;1398;1522;88158320;3230671 + 3800;27336;1398;1522;88158320;3230671 + 3801;27348;1398;1522;88158320;3230671 + 3802;27348;1398;1523;88158320;3258019 + 3803;27360;1398;1523;88158320;3258019 + 3804;27366;1398;1524;88158320;3285385 + 3805;27372;1398;1524;88158320;3285385 + 3806;27380;1398;1525;88158320;3312765 + 3807;27384;1398;1525;88158320;3312765 + 3808;27392;1398;1526;88158320;3340157 + 3809;27396;1398;1526;88158320;3340157 + 3810;27404;1398;1527;88158320;3367561 + 3811;27408;1398;1527;88158320;3367561 + 3812;27420;1398;1527;88158320;3367561 + 3813;27426;1398;1528;88158320;3394987 + 3814;27432;1398;1528;88158320;3394987 + 3815;27444;1398;1528;88158320;3394987 + 3816;27449;1398;1529;88158320;3422436 + 3817;27456;1398;1529;88158320;3422436 + 3818;27468;1398;1529;88158320;3422436 + 3819;27473;1400;1530;88372077;3399520 + 3820;27480;1400;1530;88372077;3399520 + 3821;27486;1400;1531;88372077;3427006 + 3822;27492;1400;1531;88372077;3427006 + 3823;27502;1400;1532;88372077;3454508 + 3824;27504;1400;1532;88372077;3454508 + 3825;27516;1400;1532;88372077;3454508 + 3826;27521;1400;1533;88372077;3482029 + 3827;27528;1400;1533;88372077;3482029 + 3828;27533;1400;1534;88372077;3509562 + 3829;27540;1400;1534;88372077;3509562 + 3830;27552;1400;1534;88372077;3509562 + 3831;27554;1402;1535;89085584;3486660 + 3832;27564;1402;1535;89085584;3486660 + 3833;27570;1402;1536;89085584;3514230 + 3834;27576;1402;1536;89085584;3514230 + 3835;27588;1402;1536;89085584;3514230 + 3836;27594;1402;1537;89085584;3541824 + 3837;27600;1402;1537;89085584;3541824 + 3838;27610;1402;1538;89085584;3569434 + 3839;27612;1402;1538;89085584;3569434 + 3840;27624;1402;1538;89085584;3569434 + 3841;27624;1402;1539;89085584;3597058 + 3842;27636;1407;1539;88839755;3470652 + 3843;27636;1407;1540;88839755;3498288 + 3844;27648;1407;1540;88839755;3498288 + 3845;27657;1407;1541;88839755;3525945 + 3846;27660;1407;1541;88839755;3525945 + 3847;27672;1407;1541;88839755;3525945 + 3848;27675;1407;1542;88839755;3553620 + 3849;27684;1407;1542;88839755;3553620 + 3850;27695;1407;1543;88839755;3581315 + 3851;27696;1407;1543;88839755;3581315 + 3852;27708;1407;1543;88839755;3581315 + 3853;27719;1409;1544;89337641;3558325 + 3854;27720;1409;1544;89337641;3558325 + 3855;27732;1409;1544;89337641;3558325 + 3856;27739;1409;1545;89337641;3586064 + 3857;27744;1409;1545;89337641;3586064 + 3858;27756;1409;1545;89337641;3586064 + 3859;27762;1416;1546;89690606;3435757 + 3860;27768;1416;1546;89690606;3435757 + 3861;27774;1416;1547;89690606;3463531 + 3862;27780;1416;1547;89690606;3463531 + 3863;27788;1416;1548;89690606;3491319 + 3864;27792;1416;1548;89690606;3491319 + 3865;27804;1416;1548;89690606;3491319 + 3866;27807;1416;1549;89690606;3519126 + 3867;27816;1416;1549;89690606;3519126 + 3868;27828;1416;1549;89690606;3519126 + 3869;27831;1416;1550;89690606;3546957 + 3870;27840;1416;1550;89690606;3546957 + 3871;27849;1416;1551;89690606;3574806 + 3872;27852;1416;1551;89690606;3574806 + 3873;27864;1416;1551;89690606;3574806 + 3874;27871;1416;1552;89690606;3602677 + 3875;27876;1416;1552;89690606;3602677 + 3876;27888;1416;1552;89690606;3602677 + 3877;27889;1416;1553;89690606;3630566 + 3878;27900;1416;1553;89690606;3630566 + 3879;27908;1416;1554;89690606;3658474 + 3880;27912;1416;1554;89690606;3658474 + 3881;27924;1416;1554;89690606;3658474 + 3882;27932;1422;1555;90344606;3533102 + 3883;27936;1422;1555;90344606;3533102 + 3884;27947;1422;1556;90344606;3561049 + 3885;27948;1422;1556;90344606;3561049 + 3886;27960;1422;1556;90344606;3561049 + 3887;27961;1422;1557;90344606;3589010 + 3888;27972;1422;1557;90344606;3589010 + 3889;27974;1422;1558;90344606;3616984 + 3890;27984;1422;1558;90344606;3616984 + 3891;27994;1422;1559;90344606;3644978 + 3892;27996;1422;1559;90344606;3644978 + 3893;28008;1422;1559;90344606;3644978 + 3894;28015;1431;1560;90403531;3441779 + 3895;28020;1431;1560;90403531;3441779 + 3896;28028;1431;1561;90403531;3469807 + 3897;28032;1431;1561;90403531;3469807 + 3898;28043;1431;1562;90403531;3497850 + 3899;28044;1431;1562;90403531;3497850 + 3900;28056;1431;1562;90403531;3497850 + 3901;28060;1431;1563;90403531;3525910 + 3902;28068;1431;1563;90403531;3525910 + 3903;28080;1431;1563;90403531;3525910 + 3904;28080;1431;1564;90403531;3553990 + 3905;28092;1431;1564;90403531;3553990 + 3906;28094;1431;1565;90403531;3582084 + 3907;28104;1431;1565;90403531;3582084 + 3908;28116;1431;1565;90403531;3582084 + 3909;28117;1431;1566;90403531;3610201 + 3910;28128;1431;1566;90403531;3610201 + 3911;28134;1431;1567;90403531;3638335 + 3912;28140;1431;1567;90403531;3638335 + 3913;28152;1431;1567;90403531;3638335 + 3914;28153;1431;1568;90403531;3666488 + 3915;28164;1431;1568;90403531;3666488 + 3916;28174;1431;1569;90403531;3694662 + 3917;28176;1431;1569;90403531;3694662 + 3918;28187;1431;1570;90403531;3722849 + 3919;28188;1431;1570;90403531;3722849 + 3920;28200;1431;1570;90403531;3722849 + 3921;28202;1437;1571;89832740;3596122 + 3922;28212;1437;1571;89832740;3596122 + 3923;28214;1437;1572;89832740;3624336 + 3924;28224;1437;1572;89832740;3624336 + 3925;28235;1437;1573;89832740;3652571 + 3926;28236;1437;1573;89832740;3652571 + 3927;28248;1437;1573;89832740;3652571 + 3928;28258;1437;1574;89832740;3680829 + 3929;28260;1437;1574;89832740;3680829 + 3930;28272;1437;1574;89832740;3680829 + 3931;28275;1446;1575;87612585;3475537 + 3932;28284;1446;1575;87612585;3475537 + 3933;28296;1446;1575;87612585;3475537 + 3934;28296;1446;1576;87612585;3503833 + 3935;28308;1446;1576;87612585;3503833 + 3936;28308;1446;1577;87612585;3532141 + 3937;28320;1446;1577;87612585;3532141 + 3938;28320;1446;1578;87612585;3560461 + 3939;28332;1446;1578;87612585;3560461 + 3940;28343;1446;1579;87612585;3588804 + 3941;28344;1446;1579;87612585;3588804 + 3942;28356;1446;1579;87612585;3588804 + 3943;28356;1446;1580;87612585;3617160 + 3944;28368;1446;1580;87612585;3617160 + 3945;28375;1455;1581;86563475;3410556 + 3946;28380;1455;1581;86563475;3410556 + 3947;28387;1455;1582;86563475;3438943 + 3948;28392;1455;1582;86563475;3438943 + 3949;28399;1455;1583;86563475;3467342 + 3950;28404;1455;1583;86563475;3467342 + 3951;28414;1455;1584;86563475;3495756 + 3952;28416;1455;1584;86563475;3495756 + 3953;28428;1455;1584;86563475;3495756 + 3954;28438;1455;1585;86563475;3524194 + 3955;28440;1455;1585;86563475;3524194 + 3956;28452;1455;1585;86563475;3524194 + 3957;28460;1455;1586;86563475;3552654 + 3958;28464;1455;1586;86563475;3552654 + 3959;28476;1455;1586;86563475;3552654 + 3960;28476;1455;1587;86563475;3581130 + 3961;28488;1455;1587;86563475;3581130 + 3962;28490;1455;1588;86563475;3609620 + 3963;28500;1455;1588;86563475;3609620 + 3964;28512;1455;1588;86563475;3609620 + 3965;28513;1455;1589;86563475;3638133 + 3966;28524;1455;1589;86563475;3638133 + 3967;28536;1455;1589;86563475;3638133 + 3968;28536;1455;1590;86563475;3666669 + 3969;28548;1455;1590;86563475;3666669 + 3970;28550;1455;1591;86563475;3695219 + 3971;28560;1455;1591;86563475;3695219 + 3972;28562;1455;1592;86563475;3723781 + 3973;28572;1455;1592;86563475;3723781 + 3974;28574;1455;1593;86563475;3752355 + 3975;28584;1455;1593;86563475;3752355 + 3976;28593;1455;1594;86563475;3780948 + 3977;28596;1455;1594;86563475;3780948 + 3978;28608;1455;1594;86563475;3780948 + 3979;28612;1455;1595;86563475;3809560 + 3980;28620;1455;1595;86563475;3809560 + 3981;28626;1464;1596;88732246;3601799 + 3982;28632;1464;1596;88732246;3601799 + 3983;28638;1464;1597;88732246;3630437 + 3984;28644;1464;1597;88732246;3630437 + 3985;28656;1464;1597;88732246;3630437 + 3986;28657;1464;1598;88732246;3659094 + 3987;28668;1464;1598;88732246;3659094 + 3988;28677;1464;1599;88732246;3687771 + 3989;28680;1464;1599;88732246;3687771 + 3990;28689;1464;1600;88732246;3716460 + 3991;28692;1464;1600;88732246;3716460 + 3992;28704;1464;1600;88732246;3716460 + 3993;28704;1464;1601;88732246;3745164 + 3994;28716;1464;1601;88732246;3745164 + 3995;28723;1464;1602;88732246;3773887 + 3996;28728;1464;1602;88732246;3773887 + 3997;28740;1464;1602;88732246;3773887 + 3998;28744;1464;1603;88732246;3802631 + 3999;28752;1464;1603;88732246;3802631 + 4000;28756;1464;1604;88732246;3831387 + 4001;28764;1464;1604;88732246;3831387 + 4002;28774;1467;1605;90131674;3781027 + 4003;28776;1467;1605;90131674;3781027 + 4004;28788;1467;1605;90131674;3781027 + 4005;28798;1475;1606;87620746;3597934 + 4006;28800;1475;1606;87620746;3597934 + 4007;28812;1475;1606;87620746;3597934 + 4008;28812;1475;1607;87620746;3626746 + 4009;28824;1475;1607;87620746;3626746 + 4010;28829;1475;1608;87620746;3655575 + 4011;28836;1475;1608;87620746;3655575 + 4012;28848;1475;1608;87620746;3655575 + 4013;28849;1475;1609;87620746;3684424 + 4014;28860;1475;1609;87620746;3684424 + 4015;28871;1475;1610;87620746;3713295 + 4016;28872;1475;1610;87620746;3713295 + 4017;28884;1475;1610;87620746;3713295 + 4018;28885;1475;1611;87620746;3742180 + 4019;28896;1475;1611;87620746;3742180 + 4020;28903;1475;1612;87620746;3771083 + 4021;28908;1475;1612;87620746;3771083 + 4022;28920;1475;1612;87620746;3771083 + 4023;28925;1475;1613;87620746;3800008 + 4024;28932;1475;1613;87620746;3800008 + 4025;28939;1481;1614;88057104;3669365 + 4026;28944;1481;1614;88057104;3669365 + 4027;28956;1481;1614;88057104;3669365 + 4028;28958;1481;1615;88057104;3698323 + 4029;28968;1481;1615;88057104;3698323 + 4030;28980;1481;1615;88057104;3698323 + 4031;28980;1481;1616;88057104;3727303 + 4032;28992;1481;1616;88057104;3727303 + 4033;28999;1481;1617;88057104;3756302 + 4034;29004;1481;1617;88057104;3756302 + 4035;29016;1481;1617;88057104;3756302 + 4036;29017;1481;1618;88057104;3785319 + 4037;29028;1481;1618;88057104;3785319 + 4038;29029;1481;1619;88057104;3814348 + 4039;29040;1481;1619;88057104;3814348 + 4040;29049;1481;1620;88057104;3843397 + 4041;29052;1481;1620;88057104;3843397 + 4042;29064;1483;1620;88287060;3790075 + 4043;29070;1483;1621;88287060;3819145 + 4044;29076;1483;1621;88287060;3819145 + 4045;29088;1483;1621;88287060;3819145 + 4046;29091;1483;1622;88287060;3848236 + 4047;29100;1483;1622;88287060;3848236 + 4048;29112;1483;1622;88287060;3848236 + 4049;29115;1483;1623;88287060;3877351 + 4050;29124;1483;1623;88287060;3877351 + 4051;29130;1483;1624;88287060;3906481 + 4052;29136;1483;1624;88287060;3906481 + 4053;29148;1483;1624;88287060;3906481 + 4054;29152;1483;1625;88287060;3935633 + 4055;29160;1483;1625;88287060;3935633 + 4056;29171;1493;1626;91020329;3697171 + 4057;29172;1493;1626;91020329;3697171 + 4058;29183;1495;1627;92278038;3672601 + 4059;29184;1495;1627;92278038;3672601 + 4060;29196;1495;1627;92278038;3672601 + 4061;29200;1495;1628;92278038;3701801 + 4062;29208;1495;1628;92278038;3701801 + 4063;29220;1495;1628;92278038;3701801 + 4064;29223;1495;1629;92278038;3731024 + 4065;29232;1495;1629;92278038;3731024 + 4066;29237;1495;1630;92278038;3760261 + 4067;29244;1495;1630;92278038;3760261 + 4068;29251;1495;1631;92278038;3789512 + 4069;29256;1495;1631;92278038;3789512 + 4070;29268;1495;1631;92278038;3789512 + 4071;29268;1495;1632;92278038;3818780 + 4072;29280;1495;1632;92278038;3818780 + 4073;29292;1495;1632;92278038;3818780 + 4074;29292;1495;1633;92278038;3848072 + 4075;29304;1495;1633;92278038;3848072 + 4076;29309;1495;1634;92278038;3877381 + 4077;29316;1495;1634;92278038;3877381 + 4078;29328;1501;1634;90423181;3715694 + 4079;29329;1501;1635;90423181;3745023 + 4080;29340;1501;1635;90423181;3745023 + 4081;29341;1501;1636;90423181;3774364 + 4082;29352;1501;1636;90423181;3774364 + 4083;29364;1501;1636;90423181;3774364 + 4084;29365;1509;1637;89559819;3587245 + 4085;29376;1509;1637;89559819;3587245 + 4086;29382;1510;1638;90044965;3589494 + 4087;29388;1510;1638;90044965;3589494 + 4088;29400;1510;1638;90044965;3589494 + 4089;29403;1510;1639;90044965;3618897 + 4090;29412;1510;1639;90044965;3618897 + 4091;29424;1510;1639;90044965;3618897 + 4092;29424;1510;1640;90044965;3648321 + 4093;29436;1510;1640;90044965;3648321 + 4094;29441;1510;1641;90044965;3677762 + 4095;29448;1510;1641;90044965;3677762 + 4096;29458;1510;1642;90044965;3707220 + 4097;29460;1510;1642;90044965;3707220 + 4098;29472;1510;1642;90044965;3707220 + 4099;29473;1510;1643;90044965;3736693 + 4100;29484;1510;1643;90044965;3736693 + 4101;29486;1510;1644;90044965;3766179 + 4102;29496;1510;1644;90044965;3766179 + 4103;29502;1510;1645;90044965;3795681 + 4104;29508;1510;1645;90044965;3795681 + 4105;29520;1510;1645;90044965;3795681 + 4106;29523;1510;1646;90044965;3825204 + 4107;29532;1510;1646;90044965;3825204 + 4108;29543;1510;1647;90044965;3854747 + 4109;29544;1510;1647;90044965;3854747 + 4110;29556;1510;1647;90044965;3854747 + 4111;29561;1510;1648;90044965;3884308 + 4112;29568;1510;1648;90044965;3884308 + 4113;29580;1510;1648;90044965;3884308 + 4114;29582;1510;1649;90044965;3913890 + 4115;29592;1510;1649;90044965;3913890 + 4116;29602;1510;1650;90044965;3943492 + 4117;29604;1510;1650;90044965;3943492 + 4118;29616;1510;1650;90044965;3943492 + 4119;29623;1519;1651;88448937;3728113 + 4120;29628;1519;1651;88448937;3728113 + 4121;29640;1519;1651;88448937;3728113 + 4122;29643;1519;1652;88448937;3757756 + 4123;29652;1519;1652;88448937;3757756 + 4124;29664;1519;1652;88448937;3757756 + 4125;29664;1519;1653;88448937;3787420 + 4126;29676;1519;1653;88448937;3787420 + 4127;29685;1519;1654;88448937;3817105 + 4128;29688;1519;1654;88448937;3817105 + 4129;29700;1525;1654;87473964;3652978 + 4130;29707;1525;1655;87473964;3682685 + 4131;29712;1525;1655;87473964;3682685 + 4132;29724;1525;1655;87473964;3682685 + 4133;29725;1525;1656;87473964;3712410 + 4134;29736;1525;1656;87473964;3712410 + 4135;29747;1525;1657;87473964;3742157 + 4136;29748;1525;1657;87473964;3742157 + 4137;29760;1525;1657;87473964;3742157 + 4138;29760;1525;1658;87473964;3771917 + 4139;29772;1525;1658;87473964;3771917 + 4140;29775;1531;1659;87811386;3636952 + 4141;29784;1531;1659;87811386;3636952 + 4142;29788;1531;1660;87811386;3666740 + 4143;29796;1531;1660;87811386;3666740 + 4144;29808;1531;1660;87811386;3666740 + 4145;29810;1531;1661;87811386;3696550 + 4146;29820;1531;1661;87811386;3696550 + 4147;29831;1531;1662;87811386;3726381 + 4148;29832;1531;1662;87811386;3726381 + 4149;29844;1531;1662;87811386;3726381 + 4150;29844;1531;1663;87811386;3756225 + 4151;29856;1531;1663;87811386;3756225 + 4152;29868;1531;1663;87811386;3756225 + 4153;29868;1531;1664;87811386;3786093 + 4154;29880;1531;1664;87811386;3786093 + 4155;29888;1531;1665;87811386;3815981 + 4156;29892;1531;1665;87811386;3815981 + 4157;29901;1531;1666;87811386;3845882 + 4158;29904;1531;1666;87811386;3845882 + 4159;29916;1531;1666;87811386;3845882 + 4160;29919;1531;1667;87811386;3875801 + 4161;29928;1531;1667;87811386;3875801 + 4162;29933;1531;1668;87811386;3905734 + 4163;29940;1531;1668;87811386;3905734 + 4164;29947;1531;1669;87811386;3935681 + 4165;29952;1531;1669;87811386;3935681 + 4166;29964;1531;1669;87811386;3935681 + 4167;29971;1531;1670;87811386;3965652 + 4168;29976;1531;1670;87811386;3965652 + 4169;29983;1541;1671;88473656;3719661 + 4170;29988;1541;1671;88473656;3719661 + 4171;30000;1541;1671;88473656;3719661 + 4172;30007;1541;1672;88473656;3749668 + 4173;30012;1541;1672;88473656;3749668 + 4174;30024;1541;1672;88473656;3749668 + 4175;30029;1541;1673;88473656;3779697 + 4176;30036;1541;1673;88473656;3779697 + 4177;30043;1541;1674;88473656;3809740 + 4178;30048;1541;1674;88473656;3809740 + 4179;30060;1541;1674;88473656;3809740 + 4180;30065;1541;1675;88473656;3839805 + 4181;30072;1541;1675;88473656;3839805 + 4182;30080;1541;1676;88473656;3869885 + 4183;30084;1541;1676;88473656;3869885 + 4184;30096;1541;1676;88473656;3869885 + 4185;30102;1541;1677;88473656;3899987 + 4186;30108;1541;1677;88473656;3899987 + 4187;30116;1541;1678;88473656;3930103 + 4188;30120;1541;1678;88473656;3930103 + 4189;30132;1541;1678;88473656;3930103 + 4190;30133;1543;1679;89871796;3904822 + 4191;30144;1543;1679;89871796;3904822 + 4192;30155;1543;1680;89871796;3934977 + 4193;30156;1543;1680;89871796;3934977 + 4194;30168;1549;1680;92711679;3768276 + 4195;30174;1549;1681;92711679;3798450 + 4196;30180;1549;1681;92711679;3798450 + 4197;30192;1549;1681;92711679;3798450 + 4198;30194;1549;1682;92711679;3828644 + 4199;30204;1549;1682;92711679;3828644 + 4200;30211;1551;1683;93075084;3803135 + 4201;30216;1551;1683;93075084;3803135 + 4202;30228;1551;1683;93075084;3803135 + 4203;30234;1551;1684;93075084;3833369 + 4204;30240;1551;1684;93075084;3833369 + 4205;30252;1551;1684;93075084;3833369 + 4206;30257;1551;1685;93075084;3863626 + 4207;30264;1551;1685;93075084;3863626 + 4208;30269;1551;1686;93075084;3893895 + 4209;30276;1551;1686;93075084;3893895 + 4210;30281;1556;1687;95102377;3784539 + 4211;30288;1556;1687;95102377;3784539 + 4212;30300;1556;1687;95102377;3784539 + 4213;30301;1556;1688;95102377;3814840 + 4214;30312;1556;1688;95102377;3814840 + 4215;30323;1556;1689;95102377;3845163 + 4216;30324;1556;1689;95102377;3845163 + 4217;30336;1556;1689;95102377;3845163 + 4218;30344;1556;1690;95102377;3875507 + 4219;30348;1556;1690;95102377;3875507 + 4220;30359;1556;1691;95102377;3905866 + 4221;30360;1556;1691;95102377;3905866 + 4222;30372;1556;1691;95102377;3905866 + 4223;30382;1556;1692;95102377;3936248 + 4224;30384;1556;1692;95102377;3936248 + 4225;30396;1564;1692;94798729;3711960 + 4226;30403;1564;1693;94798729;3742363 + 4227;30408;1564;1693;94798729;3742363 + 4228;30420;1564;1693;94798729;3742363 + 4229;30422;1564;1694;94798729;3772785 + 4230;30432;1564;1694;94798729;3772785 + 4231;30444;1564;1694;94798729;3772785 + 4232;30445;1564;1695;94798729;3803230 + 4233;30456;1564;1695;94798729;3803230 + 4234;30468;1564;1695;94798729;3803230 + 4235;30468;1569;1696;92994204;3692933 + 4236;30480;1569;1696;92994204;3692933 + 4237;30484;1569;1697;92994204;3723417 + 4238;30492;1569;1697;92994204;3723417 + 4239;30503;1569;1698;92994204;3753920 + 4240;30504;1569;1698;92994204;3753920 + 4241;30516;1569;1698;92994204;3753920 + 4242;30522;1569;1699;92994204;3784442 + 4243;30528;1569;1699;92994204;3784442 + 4244;30540;1569;1699;92994204;3784442 + 4245;30544;1569;1700;92994204;3814986 + 4246;30552;1569;1700;92994204;3814986 + 4247;30562;1569;1701;92994204;3845548 + 4248;30564;1569;1701;92994204;3845548 + 4249;30574;1569;1702;92994204;3876122 + 4250;30576;1569;1702;92994204;3876122 + 4251;30588;1569;1702;92994204;3876122 + 4252;30590;1569;1703;92994204;3906712 + 4253;30600;1569;1703;92994204;3906712 + 4254;30606;1569;1704;92994204;3937318 + 4255;30612;1569;1704;92994204;3937318 + 4256;30624;1579;1704;95259002;3654511 + 4257;30626;1584;1705;93457322;3543124 + 4258;30636;1584;1705;93457322;3543124 + 4259;30644;1584;1706;93457322;3573768 + 4260;30648;1584;1706;93457322;3573768 + 4261;30660;1584;1706;93457322;3573768 + 4262;30661;1584;1707;93457322;3604429 + 4263;30672;1584;1707;93457322;3604429 + 4264;30684;1584;1707;93457322;3604429 + 4265;30684;1584;1708;93457322;3635113 + 4266;30696;1584;1708;93457322;3635113 + 4267;30706;1584;1709;93457322;3665819 + 4268;30708;1584;1709;93457322;3665819 + 4269;30720;1584;1709;93457322;3665819 + 4270;30728;1584;1710;93457322;3696547 + 4271;30732;1584;1710;93457322;3696547 + 4272;30744;1584;1710;93457322;3696547 + 4273;30744;1584;1711;93457322;3727291 + 4274;30756;1584;1711;93457322;3727291 + 4275;30757;1584;1712;93457322;3758048 + 4276;30768;1584;1712;93457322;3758048 + 4277;30772;1584;1713;93457322;3788820 + 4278;30780;1584;1713;93457322;3788820 + 4279;30792;1584;1713;93457322;3788820 + 4280;30795;1584;1714;93457322;3819615 + 4281;30804;1584;1714;93457322;3819615 + 4282;30814;1584;1715;93457322;3850429 + 4283;30816;1584;1715;93457322;3850429 + 4284;30828;1584;1715;93457322;3850429 + 4285;30837;1584;1716;93457322;3881266 + 4286;30840;1584;1716;93457322;3881266 + 4287;30852;1584;1716;93457322;3881266 + 4288;30860;1584;1717;93457322;3912126 + 4289;30864;1584;1717;93457322;3912126 + 4290;30876;1584;1717;93457322;3912126 + 4291;30879;1584;1718;93457322;3943005 + 4292;30888;1584;1718;93457322;3943005 + 4293;30900;1584;1718;93457322;3943005 + 4294;30903;1584;1719;93457322;3973908 + 4295;30912;1584;1719;93457322;3973908 + 4296;30923;1588;1720;95395150;3890892 + 4297;30924;1588;1720;95395150;3890892 + 4298;30936;1588;1720;95395150;3890892 + 4299;30945;1588;1721;95395150;3921837 + 4300;30948;1588;1721;95395150;3921837 + 4301;30960;1592;1721;97503245;3807615 + 4302;30962;1592;1722;97503245;3838577 + 4303;30972;1592;1722;97503245;3838577 + 4304;30980;1592;1723;97503245;3869557 + 4305;30984;1592;1723;97503245;3869557 + 4306;30993;1592;1724;97503245;3900550 + 4307;30996;1592;1724;97503245;3900550 + 4308;31008;1594;1724;98461522;3843345 + 4309;31012;1594;1725;98461522;3874357 + 4310;31020;1594;1725;98461522;3874357 + 4311;31028;1594;1726;98461522;3905385 + 4312;31032;1594;1726;98461522;3905385 + 4313;31044;1594;1726;98461522;3905385 + 4314;31046;1596;1727;99197955;3879167 + 4315;31056;1596;1727;99197955;3879167 + 4316;31065;1596;1728;99197955;3910232 + 4317;31068;1596;1728;99197955;3910232 + 4318;31077;1596;1729;99197955;3941309 + 4319;31080;1596;1729;99197955;3941309 + 4320;31092;1596;1729;99197955;3941309 + 4321;31099;1613;1730;96743342;3482873 + 4322;31104;1613;1730;96743342;3482873 + 4323;31112;1613;1731;96743342;3513985 + 4324;31116;1613;1731;96743342;3513985 + 4325;31128;1613;1731;96743342;3513985 + 4326;31128;1613;1732;96743342;3545113 + 4327;31140;1613;1732;96743342;3545113 + 4328;31140;1613;1733;96743342;3576253 + 4329;31152;1613;1733;96743342;3576253 + 4330;31159;1613;1734;96743342;3607412 + 4331;31164;1613;1734;96743342;3607412 + 4332;31176;1613;1734;96743342;3607412 + 4333;31181;1613;1735;96743342;3638593 + 4334;31188;1613;1735;96743342;3638593 + 4335;31195;1613;1736;96743342;3669788 + 4336;31200;1613;1736;96743342;3669788 + 4337;31212;1613;1736;96743342;3669788 + 4338;31217;1613;1737;96743342;3701005 + 4339;31224;1613;1737;96743342;3701005 + 4340;31236;1613;1737;96743342;3701005 + 4341;31237;1613;1738;96743342;3732242 + 4342;31248;1613;1738;96743342;3732242 + 4343;31254;1613;1739;96743342;3763496 + 4344;31260;1613;1739;96743342;3763496 + 4345;31272;1613;1739;96743342;3763496 + 4346;31274;1613;1740;96743342;3794770 + 4347;31284;1613;1740;96743342;3794770 + 4348;31288;1613;1741;96743342;3826058 + 4349;31296;1613;1741;96743342;3826058 + 4350;31306;1613;1742;96743342;3857364 + 4351;31308;1613;1742;96743342;3857364 + 4352;31320;1613;1742;96743342;3857364 + 4353;31322;1613;1743;96743342;3888686 + 4354;31332;1613;1743;96743342;3888686 + 4355;31336;1613;1744;96743342;3920022 + 4356;31344;1613;1744;96743342;3920022 + 4357;31356;1613;1744;96743342;3920022 + 4358;31360;1623;1745;96860558;3660944 + 4359;31368;1623;1745;96860558;3660944 + 4360;31377;1624;1746;96153418;3663169 + 4361;31380;1624;1746;96153418;3663169 + 4362;31390;1624;1747;96153418;3694559 + 4363;31392;1624;1747;96153418;3694559 + 4364;31404;1624;1747;96153418;3694559 + 4365;31404;1624;1748;96153418;3725963 + 4366;31416;1624;1748;96153418;3725963 + 4367;31423;1624;1749;96153418;3757386 + 4368;31428;1624;1749;96153418;3757386 + 4369;31440;1624;1749;96153418;3757386 + 4370;31441;1624;1750;96153418;3788827 + 4371;31452;1624;1750;96153418;3788827 + 4372;31464;1624;1750;96153418;3788827 + 4373;31464;1624;1751;96153418;3820291 + 4374;31476;1624;1751;96153418;3820291 + 4375;31484;1624;1752;96153418;3851775 + 4376;31488;1624;1752;96153418;3851775 + 4377;31500;1624;1752;96153418;3851775 + 4378;31503;1624;1753;96153418;3883278 + 4379;31512;1624;1753;96153418;3883278 + 4380;31522;1624;1754;96153418;3914800 + 4381;31524;1624;1754;96153418;3914800 + 4382;31536;1624;1754;96153418;3914800 + 4383;31544;1624;1755;96153418;3946344 + 4384;31548;1624;1755;96153418;3946344 + 4385;31560;1624;1755;96153418;3946344 + 4386;31567;1624;1756;96153418;3977911 + 4387;31572;1624;1756;96153418;3977911 + 4388;31581;1624;1757;96153418;4009492 + 4389;31584;1624;1757;96153418;4009492 + 4390;31596;1624;1757;96153418;4009492 + 4391;31605;1624;1758;96153418;4041097 + 4392;31608;1624;1758;96153418;4041097 + 4393;31620;1624;1758;96153418;4041097 + 4394;31623;1626;1759;97970565;4014366 + 4395;31632;1626;1759;97970565;4014366 + 4396;31644;1634;1759;99691968;3780257 + 4397;31646;1634;1760;99691968;3811903 + 4398;31656;1634;1760;99691968;3811903 + 4399;31668;1636;1760;100653004;3753197 + 4400;31669;1636;1761;100653004;3784866 + 4401;31680;1636;1761;100653004;3784866 + 4402;31690;1636;1762;100653004;3816556 + 4403;31692;1636;1762;100653004;3816556 + 4404;31704;1636;1762;100653004;3816556 + 4405;31713;1639;1763;101487721;3760060 + 4406;31716;1639;1763;101487721;3760060 + 4407;31728;1639;1763;101487721;3760060 + 4408;31736;1642;1764;101853897;3703424 + 4409;31740;1642;1764;101853897;3703424 + 4410;31752;1642;1764;101853897;3703424 + 4411;31756;1642;1765;101853897;3735180 + 4412;31764;1642;1765;101853897;3735180 + 4413;31769;1642;1766;101853897;3766949 + 4414;31776;1642;1766;101853897;3766949 + 4415;31788;1642;1766;101853897;3766949 + 4416;31793;1646;1767;103579194;3680688 + 4417;31800;1646;1767;103579194;3680688 + 4418;31812;1646;1767;103579194;3680688 + 4419;31816;1646;1768;103579194;3712504 + 4420;31824;1646;1768;103579194;3712504 + 4421;31828;1646;1769;103579194;3744332 + 4422;31836;1646;1769;103579194;3744332 + 4423;31848;1646;1769;103579194;3744332 + 4424;31852;1646;1770;103579194;3776184 + 4425;31860;1646;1770;103579194;3776184 + 4426;31869;1646;1771;103579194;3808053 + 4427;31872;1646;1771;103579194;3808053 + 4428;31884;1646;1771;103579194;3808053 + 4429;31886;1646;1772;103579194;3839939 + 4430;31896;1646;1772;103579194;3839939 + 4431;31907;1646;1773;103579194;3871846 + 4432;31908;1646;1773;103579194;3871846 + 4433;31920;1646;1773;103579194;3871846 + 4434;31927;1650;1774;103431366;3785405 + 4435;31932;1650;1774;103431366;3785405 + 4436;31941;1650;1775;103431366;3817346 + 4437;31944;1650;1775;103431366;3817346 + 4438;31953;1650;1776;103431366;3849299 + 4439;31956;1650;1776;103431366;3849299 + 4440;31968;1650;1776;103431366;3849299 + 4441;31977;1650;1777;103431366;3881276 + 4442;31980;1650;1777;103431366;3881276 + 4443;31992;1653;1777;102960372;3792284 + 4444;31994;1653;1778;102960372;3824278 + 4445;32004;1653;1778;102960372;3824278 + 4446;32006;1653;1779;102960372;3856284 + 4447;32016;1653;1779;102960372;3856284 + 4448;32027;1653;1780;102960372;3888311 + 4449;32028;1653;1780;102960372;3888311 + 4450;32040;1653;1780;102960372;3888311 + 4451;32048;1653;1781;102960372;3920359 + 4452;32052;1653;1781;102960372;3920359 + 4453;32064;1653;1781;102960372;3920359 + 4454;32068;1654;1782;103849686;3922720 + 4455;32076;1654;1782;103849686;3922720 + 4456;32088;1654;1782;103849686;3922720 + 4457;32092;1654;1783;103849686;3954812 + 4458;32100;1654;1783;103849686;3954812 + 4459;32111;1654;1784;103849686;3986923 + 4460;32112;1654;1784;103849686;3986923 + 4461;32124;1654;1784;103849686;3986923 + 4462;32129;1654;1785;103849686;4019052 + 4463;32136;1654;1785;103849686;4019052 + 4464;32143;1654;1786;103849686;4051195 + 4465;32148;1654;1786;103849686;4051195 + 4466;32160;1654;1786;103849686;4051195 + 4467;32166;1664;1787;104379827;3785325 + 4468;32172;1664;1787;104379827;3785325 + 4469;32182;1664;1788;104379827;3817507 + 4470;32184;1664;1788;104379827;3817507 + 4471;32196;1664;1788;104379827;3817507 + 4472;32203;1664;1789;104379827;3849710 + 4473;32208;1664;1789;104379827;3849710 + 4474;32217;1664;1790;104379827;3881927 + 4475;32220;1664;1790;104379827;3881927 + 4476;32232;1664;1790;104379827;3881927 + 4477;32239;1664;1791;104379827;3914166 + 4478;32244;1664;1791;104379827;3914166 + 4479;32256;1664;1791;104379827;3914166 + 4480;32257;1674;1792;102883679;3646625 + 4481;32268;1676;1792;101784349;3586443 + 4482;32273;1676;1793;101784349;3618716 + 4483;32280;1676;1793;101784349;3618716 + 4484;32287;1676;1794;101784349;3651003 + 4485;32292;1676;1794;101784349;3651003 + 4486;32304;1676;1794;101784349;3651003 + 4487;32304;1676;1795;101784349;3683307 + 4488;32316;1676;1795;101784349;3683307 + 4489;32328;1676;1795;101784349;3683307 + 4490;32328;1676;1796;101784349;3715635 + 4491;32340;1676;1796;101784349;3715635 + 4492;32352;1676;1796;101784349;3715635 + 4493;32352;1676;1797;101784349;3747987 + 4494;32364;1676;1797;101784349;3747987 + 4495;32367;1678;1798;102148424;3720105 + 4496;32376;1678;1798;102148424;3720105 + 4497;32380;1678;1799;102148424;3752485 + 4498;32388;1678;1799;102148424;3752485 + 4499;32400;1678;1799;102148424;3752485 + 4500;32400;1678;1800;102148424;3784885 + 4501;32412;1678;1800;102148424;3784885 + 4502;32414;1678;1801;102148424;3817299 + 4503;32424;1678;1801;102148424;3817299 + 4504;32427;1678;1802;102148424;3849726 + 4505;32436;1678;1802;102148424;3849726 + 4506;32441;1678;1803;102148424;3882167 + 4507;32448;1678;1803;102148424;3882167 + 4508;32458;1678;1804;102148424;3914625 + 4509;32460;1678;1804;102148424;3914625 + 4510;32472;1678;1804;102148424;3914625 + 4511;32480;1678;1805;102148424;3947105 + 4512;32484;1678;1805;102148424;3947105 + 4513;32495;1678;1806;102148424;3979600 + 4514;32496;1678;1806;102148424;3979600 + 4515;32508;1678;1806;102148424;3979600 + 4516;32512;1678;1807;102148424;4012112 + 4517;32520;1678;1807;102148424;4012112 + 4518;32532;1678;1807;102148424;4012112 + 4519;32536;1678;1808;102148424;4044648 + 4520;32544;1685;1808;99753892;3833154 + 4521;32548;1685;1809;99753892;3865702 + 4522;32556;1685;1809;99753892;3865702 + 4523;32561;1685;1810;99753892;3898263 + 4524;32568;1685;1810;99753892;3898263 + 4525;32573;1685;1811;99753892;3930836 + 4526;32580;1685;1811;99753892;3930836 + 4527;32590;1685;1812;99753892;3963426 + 4528;32592;1685;1812;99753892;3963426 + 4529;32604;1685;1812;99753892;3963426 + 4530;32608;1688;1813;99413784;3905129 + 4531;32616;1688;1813;99413784;3905129 + 4532;32624;1688;1814;99413784;3937753 + 4533;32628;1688;1814;99413784;3937753 + 4534;32636;1688;1815;99413784;3970389 + 4535;32640;1688;1815;99413784;3970389 + 4536;32652;1688;1815;99413784;3970389 + 4537;32657;1688;1816;99413784;4003046 + 4538;32664;1688;1816;99413784;4003046 + 4539;32674;1688;1817;99413784;4035720 + 4540;32676;1688;1817;99413784;4035720 + 4541;32688;1688;1817;99413784;4035720 + 4542;32694;1689;1818;100256899;4038070 + 4543;32700;1689;1818;100256899;4038070 + 4544;32712;1689;1818;100256899;4038070 + 4545;32712;1689;1819;100256899;4070782 + 4546;32724;1689;1819;100256899;4070782 + 4547;32729;1689;1820;100256899;4103511 + 4548;32736;1689;1820;100256899;4103511 + 4549;32747;1689;1821;100256899;4136258 + 4550;32748;1689;1821;100256899;4136258 + 4551;32760;1689;1821;100256899;4136258 + 4552;32766;1689;1822;100256899;4169024 + 4553;32772;1689;1822;100256899;4169024 + 4554;32780;1689;1823;100256899;4201804 + 4555;32784;1689;1823;100256899;4201804 + 4556;32796;1689;1823;100256899;4201804 + 4557;32798;1699;1824;101626460;3930070 + 4558;32808;1700;1824;100837554;3899508 + 4559;32817;1700;1825;100837554;3932325 + 4560;32820;1700;1825;100837554;3932325 + 4561;32832;1700;1825;100837554;3932325 + 4562;32832;1700;1826;100837554;3965157 + 4563;32844;1700;1826;100837554;3965157 + 4564;32851;1700;1827;100837554;3998008 + 4565;32856;1700;1827;100837554;3998008 + 4566;32868;1700;1827;100837554;3998008 + 4567;32873;1700;1828;100837554;4030881 + 4568;32880;1700;1828;100837554;4030881 + 4569;32892;1700;1828;100837554;4030881 + 4570;32895;1700;1829;100837554;4063776 + 4571;32904;1700;1829;100837554;4063776 + 4572;32907;1700;1830;100837554;4096683 + 4573;32916;1700;1830;100837554;4096683 + 4574;32928;1700;1830;100837554;4096683 + 4575;32930;1700;1831;100837554;4129613 + 4576;32940;1700;1831;100837554;4129613 + 4577;32946;1706;1832;97997945;3978858 + 4578;32952;1706;1832;97997945;3978858 + 4579;32964;1706;1832;97997945;3978858 + 4580;32969;1707;1833;98642054;3981143 + 4581;32976;1707;1833;98642054;3981143 + 4582;32988;1707;1833;98642054;3981143 + 4583;32993;1707;1834;98642054;4014136 + 4584;33000;1707;1834;98642054;4014136 + 4585;33007;1707;1835;98642054;4047143 + 4586;33012;1707;1835;98642054;4047143 + 4587;33024;1707;1835;98642054;4047143 + 4588;33024;1707;1836;98642054;4080167 + 4589;33036;1707;1836;98642054;4080167 + 4590;33044;1707;1837;98642054;4113211 + 4591;33048;1707;1837;98642054;4113211 + 4592;33060;1707;1837;98642054;4113211 + 4593;33068;1707;1838;98642054;4146279 + 4594;33072;1707;1838;98642054;4146279 + 4595;33080;1707;1839;98642054;4179359 + 4596;33084;1707;1839;98642054;4179359 + 4597;33096;1707;1839;98642054;4179359 + 4598;33097;1707;1840;98642054;4212456 + 4599;33108;1707;1840;98642054;4212456 + 4600;33114;1707;1841;98642054;4245570 + 4601;33120;1707;1841;98642054;4245570 + 4602;33132;1707;1841;98642054;4245570 + 4603;33136;1707;1842;98642054;4278706 + 4604;33144;1707;1842;98642054;4278706 + 4605;33156;1707;1842;98642054;4278706 + 4606;33157;1717;1843;103235659;4003971 + 4607;33168;1717;1843;103235659;4003971 + 4608;33180;1722;1843;102303947;3849258 + 4609;33180;1722;1844;102303947;3882438 + 4610;33192;1722;1844;102303947;3882438 + 4611;33201;1722;1845;102303947;3915639 + 4612;33204;1722;1845;102303947;3915639 + 4613;33216;1722;1845;102303947;3915639 + 4614;33225;1722;1846;102303947;3948864 + 4615;33228;1722;1846;102303947;3948864 + 4616;33240;1722;1846;102303947;3948864 + 4617;33246;1722;1847;102303947;3982110 + 4618;33252;1722;1847;102303947;3982110 + 4619;33264;1722;1847;102303947;3982110 + 4620;33265;1722;1848;102303947;4015375 + 4621;33276;1722;1848;102303947;4015375 + 4622;33287;1722;1849;102303947;4048662 + 4623;33288;1722;1849;102303947;4048662 + 4624;33300;1723;1849;103024327;4017669 + 4625;33307;1723;1850;103024327;4050976 + 4626;33312;1723;1850;103024327;4050976 + 4627;33324;1723;1850;103024327;4050976 + 4628;33325;1723;1851;103024327;4084301 + 4629;33336;1723;1851;103024327;4084301 + 4630;33345;1731;1852;100387722;3869079 + 4631;33348;1731;1852;100387722;3869079 + 4632;33360;1731;1852;100387722;3869079 + 4633;33360;1731;1853;100387722;3902439 + 4634;33372;1731;1853;100387722;3902439 + 4635;33384;1731;1853;100387722;3902439 + 4636;33384;1733;1854;101016169;3873524 + 4637;33396;1733;1854;101016169;3873524 + 4638;33404;1733;1855;101016169;3906928 + 4639;33408;1733;1855;101016169;3906928 + 4640;33420;1733;1855;101016169;3906928 + 4641;33426;1733;1856;101016169;3940354 + 4642;33432;1733;1856;101016169;3940354 + 4643;33443;1733;1857;101016169;3973797 + 4644;33444;1733;1857;101016169;3973797 + 4645;33456;1733;1857;101016169;3973797 + 4646;33466;1733;1858;101016169;4007263 + 4647;33468;1733;1858;101016169;4007263 + 4648;33480;1733;1858;101016169;4007263 + 4649;33481;1733;1859;101016169;4040744 + 4650;33492;1733;1859;101016169;4040744 + 4651;33499;1733;1860;101016169;4074243 + 4652;33504;1733;1860;101016169;4074243 + 4653;33513;1733;1861;101016169;4107756 + 4654;33516;1733;1861;101016169;4107756 + 4655;33528;1733;1861;101016169;4107756 + 4656;33532;1733;1862;101016169;4141288 + 4657;33540;1733;1862;101016169;4141288 + 4658;33552;1733;1862;101016169;4141288 + 4659;33556;1742;1863;99392180;3893570 + 4660;33564;1742;1863;99392180;3893570 + 4661;33574;1742;1864;99392180;3927144 + 4662;33576;1742;1864;99392180;3927144 + 4663;33587;1742;1865;99392180;3960731 + 4664;33588;1742;1865;99392180;3960731 + 4665;33599;1742;1866;99392180;3994330 + 4666;33600;1742;1866;99392180;3994330 + 4667;33612;1742;1866;99392180;3994330 + 4668;33618;1742;1867;99392180;4027948 + 4669;33624;1742;1867;99392180;4027948 + 4670;33636;1742;1867;99392180;4027948 + 4671;33638;1742;1868;99392180;4061586 + 4672;33648;1742;1868;99392180;4061586 + 4673;33658;1742;1869;99392180;4095244 + 4674;33660;1742;1869;99392180;4095244 + 4675;33672;1742;1869;99392180;4095244 + 4676;33673;1742;1870;99392180;4128917 + 4677;33684;1742;1870;99392180;4128917 + 4678;33689;1742;1871;99392180;4162606 + 4679;33696;1742;1871;99392180;4162606 + 4680;33708;1742;1871;99392180;4162606 + 4681;33709;1742;1872;99392180;4196315 + 4682;33720;1742;1872;99392180;4196315 + 4683;33732;1742;1872;99392180;4196315 + 4684;33732;1742;1873;99392180;4230047 + 4685;33744;1742;1873;99392180;4230047 + 4686;33745;1742;1874;99392180;4263792 + 4687;33756;1744;1874;99828252;4201096 + 4688;33765;1744;1875;99828252;4234861 + 4689;33768;1744;1875;99828252;4234861 + 4690;33780;1744;1875;99828252;4234861 + 4691;33786;1744;1876;99828252;4268647 + 4692;33792;1744;1876;99828252;4268647 + 4693;33804;1744;1876;99828252;4268647 + 4694;33804;1744;1877;99828252;4302451 + 4695;33816;1744;1877;99828252;4302451 + 4696;33820;1747;1878;101834925;4242100 + 4697;33828;1747;1878;101834925;4242100 + 4698;33836;1747;1879;101834925;4275936 + 4699;33840;1747;1879;101834925;4275936 + 4700;33852;1747;1879;101834925;4275936 + 4701;33854;1747;1880;101834925;4309790 + 4702;33864;1751;1880;102803851;4183978 + 4703;33873;1751;1881;102803851;4217851 + 4704;33876;1751;1881;102803851;4217851 + 4705;33888;1751;1881;102803851;4217851 + 4706;33897;1751;1882;102803851;4251748 + 4707;33900;1751;1882;102803851;4251748 + 4708;33912;1751;1882;102803851;4251748 + 4709;33912;1751;1883;102803851;4285660 + 4710;33924;1751;1883;102803851;4285660 + 4711;33935;1751;1884;102803851;4319595 + 4712;33936;1751;1884;102803851;4319595 + 4713;33948;1751;1884;102803851;4319595 + 4714;33958;1756;1885;101822279;4195836 + 4715;33960;1756;1885;101822279;4195836 + 4716;33971;1756;1886;101822279;4229807 + 4717;33972;1756;1886;101822279;4229807 + 4718;33984;1756;1886;101822279;4229807 + 4719;33993;1758;1887;103123535;4200572 + 4720;33996;1758;1887;103123535;4200572 + 4721;34008;1758;1887;103123535;4200572 + 4722;34011;1758;1888;103123535;4234583 + 4723;34020;1758;1888;103123535;4234583 + 4724;34031;1761;1889;104616674;4173609 + 4725;34032;1761;1889;104616674;4173609 + 4726;34044;1761;1889;104616674;4173609 + 4727;34045;1761;1890;104616674;4207654 + 4728;34056;1761;1890;104616674;4207654 + 4729;34057;1761;1891;104616674;4241711 + 4730;34068;1761;1891;104616674;4241711 + 4731;34077;1761;1892;104616674;4275788 + 4732;34080;1761;1892;104616674;4275788 + 4733;34089;1761;1893;104616674;4309877 + 4734;34092;1761;1893;104616674;4309877 + 4735;34104;1761;1893;104616674;4309877 + 4736;34104;1762;1894;105625185;4312268 + 4737;34116;1762;1894;105625185;4312268 + 4738;34127;1762;1895;105625185;4346395 + 4739;34128;1762;1895;105625185;4346395 + 4740;34140;1762;1895;105625185;4346395 + 4741;34149;1772;1896;105379511;4062332 + 4742;34152;1772;1896;105379511;4062332 + 4743;34163;1774;1897;103473122;4032627 + 4744;34164;1774;1897;103473122;4032627 + 4745;34176;1774;1897;103473122;4032627 + 4746;34180;1774;1898;103473122;4066807 + 4747;34188;1774;1898;103473122;4066807 + 4748;34194;1774;1899;103473122;4101001 + 4749;34200;1774;1899;103473122;4101001 + 4750;34212;1774;1899;103473122;4101001 + 4751;34212;1774;1900;103473122;4135213 + 4752;34224;1774;1900;103473122;4135213 + 4753;34228;1774;1901;103473122;4169441 + 4754;34236;1774;1901;103473122;4169441 + 4755;34248;1774;1901;103473122;4169441 + 4756;34249;1774;1902;103473122;4203690 + 4757;34260;1774;1902;103473122;4203690 + 4758;34265;1774;1903;103473122;4237955 + 4759;34272;1774;1903;103473122;4237955 + 4760;34280;1774;1904;103473122;4272235 + 4761;34284;1774;1904;103473122;4272235 + 4762;34296;1774;1904;103473122;4272235 + 4763;34296;1774;1905;103473122;4306531 + 4764;34308;1774;1905;103473122;4306531 + 4765;34308;1776;1906;104655659;4276909 + 4766;34320;1776;1906;104655659;4276909 + 4767;34331;1777;1907;105513742;4279246 + 4768;34332;1777;1907;105513742;4279246 + 4769;34344;1777;1907;105513742;4279246 + 4770;34348;1777;1908;105513742;4313594 + 4771;34356;1777;1908;105513742;4313594 + 4772;34368;1777;1908;105513742;4313594 + 4773;34370;1778;1909;106471380;4315958 + 4774;34380;1778;1909;106471380;4315958 + 4775;34389;1778;1910;106471380;4350347 + 4776;34392;1778;1910;106471380;4350347 + 4777;34404;1778;1910;106471380;4350347 + 4778;34406;1778;1911;106471380;4384753 + 4779;34416;1778;1911;106471380;4384753 + 4780;34421;1778;1912;106471380;4419174 + 4781;34428;1778;1912;106471380;4419174 + 4782;34435;1778;1913;106471380;4453609 + 4783;34440;1778;1913;106471380;4453609 + 4784;34452;1778;1913;106471380;4453609 + 4785;34453;1778;1914;106471380;4488062 + 4786;34464;1778;1914;106471380;4488062 + 4787;34473;1778;1915;106471380;4522535 + 4788;34476;1778;1915;106471380;4522535 + 4789;34488;1785;1915;105848424;4297917 + 4790;34495;1785;1916;105848424;4332412 + 4791;34500;1785;1916;105848424;4332412 + 4792;34512;1785;1916;105848424;4332412 + 4793;34515;1785;1917;105848424;4366927 + 4794;34524;1785;1917;105848424;4366927 + 4795;34531;1785;1918;105848424;4401458 + 4796;34536;1785;1918;105848424;4401458 + 4797;34548;1785;1918;105848424;4401458 + 4798;34553;1785;1919;105848424;4436011 + 4799;34560;1785;1919;105848424;4436011 + 4800;34572;1785;1919;105848424;4436011 + 4801;34577;1785;1920;105848424;4470588 + 4802;34584;1785;1920;105848424;4470588 + 4803;34593;1789;1921;106359044;4376413 + 4804;34596;1789;1921;106359044;4376413 + 4805;34608;1789;1921;106359044;4376413 + 4806;34612;1789;1922;106359044;4411025 + 4807;34620;1789;1922;106359044;4411025 + 4808;34625;1790;1923;107394354;4413411 + 4809;34632;1790;1923;107394354;4413411 + 4810;34637;1790;1924;107394354;4448048 + 4811;34644;1790;1924;107394354;4448048 + 4812;34656;1790;1924;107394354;4448048 + 4813;34657;1795;1925;109210109;4321256 + 4814;34668;1795;1925;109210109;4321256 + 4815;34672;1795;1926;109210109;4355928 + 4816;34680;1795;1926;109210109;4355928 + 4817;34689;1796;1927;110067936;4358265 + 4818;34692;1796;1927;110067936;4358265 + 4819;34704;1796;1927;110067936;4358265 + 4820;34710;1796;1928;110067936;4392975 + 4821;34716;1796;1928;110067936;4392975 + 4822;34728;1796;1928;110067936;4392975 + 4823;34730;1796;1929;110067936;4427705 + 4824;34740;1796;1929;110067936;4427705 + 4825;34751;1796;1930;110067936;4462456 + 4826;34752;1796;1930;110067936;4462456 + 4827;34764;1796;1930;110067936;4462456 + 4828;34775;1800;1931;112081907;4367670 + 4829;34776;1800;1931;112081907;4367670 + 4830;34788;1800;1931;112081907;4367670 + 4831;34790;1800;1932;112081907;4402460 + 4832;34800;1800;1932;112081907;4402460 + 4833;34812;1800;1932;112081907;4402460 + 4834;34814;1800;1933;112081907;4437274 + 4835;34824;1800;1933;112081907;4437274 + 4836;34836;1800;1933;112081907;4437274 + 4837;34838;1800;1934;112081907;4472112 + 4838;34848;1800;1934;112081907;4472112 + 4839;34856;1800;1935;112081907;4506968 + 4840;34860;1800;1935;112081907;4506968 + 4841;34872;1800;1935;112081907;4506968 + 4842;34880;1810;1936;112168940;4216817 + 4843;34884;1810;1936;112168940;4216817 + 4844;34894;1810;1937;112168940;4251711 + 4845;34896;1810;1937;112168940;4251711 + 4846;34908;1810;1937;112168940;4251711 + 4847;34917;1810;1938;112168940;4286628 + 4848;34920;1810;1938;112168940;4286628 + 4849;34932;1810;1938;112168940;4286628 + 4850;34938;1815;1939;113014913;4158451 + 4851;34944;1815;1939;113014913;4158451 + 4852;34956;1815;1939;113014913;4158451 + 4853;34956;1815;1940;113014913;4193407 + 4854;34968;1815;1940;113014913;4193407 + 4855;34977;1822;1941;112228160;3999282 + 4856;34980;1822;1941;112228160;3999282 + 4857;34989;1822;1942;112228160;4034271 + 4858;34992;1822;1942;112228160;4034271 + 4859;35004;1822;1942;112228160;4034271 + 4860;35013;1822;1943;112228160;4069284 + 4861;35016;1822;1943;112228160;4069284 + 4862;35028;1822;1943;112228160;4069284 + 4863;35034;1822;1944;112228160;4104318 + 4864;35040;1822;1944;112228160;4104318 + 4865;35052;1822;1944;112228160;4104318 + 4866;35052;1822;1945;112228160;4139370 + 4867;35064;1822;1945;112228160;4139370 + 4868;35067;1822;1946;112228160;4174437 + 4869;35076;1822;1946;112228160;4174437 + 4870;35085;1822;1947;112228160;4209522 + 4871;35088;1822;1947;112228160;4209522 + 4872;35099;1822;1948;112228160;4244621 + 4873;35100;1822;1948;112228160;4244621 + 4874;35112;1822;1948;112228160;4244621 + 4875;35122;1822;1949;112228160;4279743 + 4876;35124;1822;1949;112228160;4279743 + 4877;35134;1822;1950;112228160;4314877 + 4878;35136;1822;1950;112228160;4314877 + 4879;35148;1822;1950;112228160;4314877 + 4880;35149;1832;1951;108147221;4021208 + 4881;35160;1832;1951;108147221;4021208 + 4882;35167;1833;1952;107234422;4023382 + 4883;35172;1833;1952;107234422;4023382 + 4884;35179;1833;1953;107234422;4058561 + 4885;35184;1833;1953;107234422;4058561 + 4886;35196;1833;1953;107234422;4058561 + 4887;35199;1833;1954;107234422;4093760 + 4888;35208;1833;1954;107234422;4093760 + 4889;35211;1833;1955;107234422;4128971 + 4890;35220;1833;1955;107234422;4128971 + 4891;35225;1833;1956;107234422;4164196 + 4892;35232;1833;1956;107234422;4164196 + 4893;35244;1833;1956;107234422;4164196 + 4894;35246;1833;1957;107234422;4199442 + 4895;35256;1833;1957;107234422;4199442 + 4896;35259;1833;1958;107234422;4234701 + 4897;35268;1833;1958;107234422;4234701 + 4898;35280;1833;1958;107234422;4234701 + 4899;35280;1833;1959;107234422;4269981 + 4900;35292;1833;1959;107234422;4269981 + 4901;35298;1835;1960;108358968;4239248 + 4902;35304;1835;1960;108358968;4239248 + 4903;35316;1835;1960;108358968;4239248 + 4904;35317;1835;1961;108358968;4274565 + 4905;35328;1835;1961;108358968;4274565 + 4906;35339;1835;1962;108358968;4309904 + 4907;35340;1835;1962;108358968;4309904 + 4908;35352;1835;1962;108358968;4309904 + 4909;35363;1835;1963;108358968;4345267 + 4910;35364;1835;1963;108358968;4345267 + 4911;35376;1835;1963;108358968;4345267 + 4912;35380;1835;1964;108358968;4380647 + 4913;35388;1835;1964;108358968;4380647 + 4914;35400;1835;1964;108358968;4380647 + 4915;35403;1835;1965;108358968;4416050 + 4916;35412;1835;1965;108358968;4416050 + 4917;35424;1835;1965;108358968;4416050 + 4918;35427;1835;1966;108358968;4451477 + 4919;35436;1835;1966;108358968;4451477 + 4920;35445;1835;1967;108358968;4486922 + 4921;35448;1835;1967;108358968;4486922 + 4922;35460;1835;1967;108358968;4486922 + 4923;35468;1835;1968;108358968;4522390 + 4924;35472;1835;1968;108358968;4522390 + 4925;35484;1835;1968;108358968;4522390 + 4926;35486;1835;1969;108358968;4557876 + 4927;35496;1835;1969;108358968;4557876 + 4928;35501;1835;1970;108358968;4593377 + 4929;35508;1835;1970;108358968;4593377 + 4930;35520;1835;1970;108358968;4593377 + 4931;35520;1837;1971;109651801;4562785 + 4932;35532;1837;1971;109651801;4562785 + 4933;35534;1837;1972;109651801;4598319 + 4934;35544;1839;1972;110221827;4532142 + 4935;35549;1844;1973;113761255;4401903 + 4936;35556;1844;1973;113761255;4401903 + 4937;35562;1844;1974;113761255;4437465 + 4938;35568;1844;1974;113761255;4437465 + 4939;35580;1844;1974;113761255;4437465 + 4940;35584;1844;1975;113761255;4473049 + 4941;35592;1844;1975;113761255;4473049 + 4942;35596;1844;1976;113761255;4508645 + 4943;35604;1844;1976;113761255;4508645 + 4944;35613;1844;1977;113761255;4544258 + 4945;35616;1844;1977;113761255;4544258 + 4946;35628;1844;1977;113761255;4544258 + 4947;35637;1844;1978;113761255;4579895 + 4948;35640;1844;1978;113761255;4579895 + 4949;35649;1844;1979;113761255;4615544 + 4950;35652;1844;1979;113761255;4615544 + 4951;35662;1844;1980;113761255;4651206 + 4952;35664;1844;1980;113761255;4651206 + 4953;35676;1844;1980;113761255;4651206 + 4954;35677;1847;1981;115079234;4587147 + 4955;35688;1847;1981;115079234;4587147 + 4956;35689;1848;1982;116242729;4589549 + 4957;35700;1848;1982;116242729;4589549 + 4958;35701;1848;1983;116242729;4625250 + 4959;35712;1848;1983;116242729;4625250 + 4960;35720;1848;1984;116242729;4660970 + 4961;35724;1848;1984;116242729;4660970 + 4962;35734;1855;1985;118153047;4463153 + 4963;35736;1855;1985;118153047;4463153 + 4964;35748;1855;1985;118153047;4463153 + 4965;35753;1855;1986;118153047;4498906 + 4966;35760;1855;1986;118153047;4498906 + 4967;35767;1855;1987;118153047;4534673 + 4968;35772;1855;1987;118153047;4534673 + 4969;35781;1861;1988;116698369;4369520 + 4970;35784;1861;1988;116698369;4369520 + 4971;35796;1861;1988;116698369;4369520 + 4972;35796;1861;1989;116698369;4405316 + 4973;35808;1861;1989;116698369;4405316 + 4974;35808;1861;1990;116698369;4441124 + 4975;35820;1861;1990;116698369;4441124 + 4976;35823;1861;1991;116698369;4476947 + 4977;35832;1861;1991;116698369;4476947 + 4978;35844;1861;1991;116698369;4476947 + 4979;35846;1861;1992;116698369;4512793 + 4980;35856;1861;1992;116698369;4512793 + 4981;35860;1861;1993;116698369;4548653 + 4982;35868;1861;1993;116698369;4548653 + 4983;35874;1861;1994;116698369;4584527 + 4984;35880;1861;1994;116698369;4584527 + 4985;35892;1861;1994;116698369;4584527 + 4986;35893;1861;1995;116698369;4620420 + 4987;35904;1861;1995;116698369;4620420 + 4988;35914;1861;1996;116698369;4656334 + 4989;35916;1861;1996;116698369;4656334 + 4990;35928;1861;1996;116698369;4656334 + 4991;35936;1861;1997;116698369;4692270 + 4992;35940;1861;1997;116698369;4692270 + 4993;35948;1861;1998;116698369;4728218 + 4994;35952;1861;1998;116698369;4728218 + 4995;35960;1861;1999;116698369;4764178 + 4996;35964;1861;1999;116698369;4764178 + 4997;35976;1861;1999;116698369;4764178 + 4998;35976;1861;2000;116698369;4800154 + 4999;35988;1861;2000;116698369;4800154 + 5000;35988;1861;2001;116698369;4836142 + 5001;36000;1861;2001;116698369;4836142 + 5002;36004;1861;2002;116698369;4872146 + 5003;36012;1861;2002;116698369;4872146 + 5004;36022;1871;2003;113454379;4571867 + 5005;36024;1871;2003;113454379;4571867 + 5006;36036;1877;2003;112123675;4369215 + 5007;36036;1877;2004;112123675;4405251 + 5008;36048;1877;2004;112123675;4405251 + 5009;36048;1877;2005;112123675;4441299 + 5010;36060;1877;2005;112123675;4441299 + 5011;36062;1877;2006;112123675;4477361 + 5012;36072;1877;2006;112123675;4477361 + 5013;36081;1877;2007;112123675;4513442 + 5014;36084;1877;2007;112123675;4513442 + 5015;36096;1877;2007;112123675;4513442 + 5016;36096;1877;2008;112123675;4549538 + 5017;36108;1877;2008;112123675;4549538 + 5018;36119;1877;2009;112123675;4585657 + 5019;36120;1877;2009;112123675;4585657 + 5020;36132;1877;2009;112123675;4585657 + 5021;36135;1877;2010;112123675;4621792 + 5022;36144;1877;2010;112123675;4621792 + 5023;36152;1877;2011;112123675;4657944 + 5024;36156;1877;2011;112123675;4657944 + 5025;36168;1877;2011;112123675;4657944 + 5026;36176;1880;2012;111516110;4592557 + 5027;36180;1880;2012;111516110;4592557 + 5028;36192;1880;2012;111516110;4592557 + 5029;36193;1880;2013;111516110;4628750 + 5030;36204;1880;2013;111516110;4628750 + 5031;36206;1881;2014;112332743;4631059 + 5032;36216;1881;2014;112332743;4631059 + 5033;36220;1881;2015;112332743;4667279 + 5034;36228;1881;2015;112332743;4667279 + 5035;36234;1881;2016;112332743;4703513 + 5036;36240;1881;2016;112332743;4703513 + 5037;36252;1881;2016;112332743;4703513 + 5038;36252;1891;2017;110047434;4399775 + 5039;36264;1892;2017;109590537;4365686 + 5040;36266;1892;2018;109590537;4401952 + 5041;36276;1892;2018;109590537;4401952 + 5042;36287;1892;2019;109590537;4438239 + 5043;36288;1892;2019;109590537;4438239 + 5044;36300;1892;2019;109590537;4438239 + 5045;36305;1892;2020;109590537;4474544 + 5046;36312;1892;2020;109590537;4474544 + 5047;36321;1892;2021;109590537;4510865 + 5048;36324;1892;2021;109590537;4510865 + 5049;36336;1892;2021;109590537;4510865 + 5050;36343;1892;2022;109590537;4547208 + 5051;36348;1892;2022;109590537;4547208 + 5052;36357;1892;2023;109590537;4583565 + 5053;36360;1892;2023;109590537;4583565 + 5054;36369;1892;2024;109590537;4619934 + 5055;36372;1892;2024;109590537;4619934 + 5056;36384;1892;2024;109590537;4619934 + 5057;36392;1892;2025;109590537;4656326 + 5058;36396;1892;2025;109590537;4656326 + 5059;36408;1892;2025;109590537;4656326 + 5060;36408;1892;2026;109590537;4692734 + 5061;36420;1892;2026;109590537;4692734 + 5062;36425;1892;2027;109590537;4729159 + 5063;36432;1892;2027;109590537;4729159 + 5064;36442;1899;2028;109788065;4526472 + 5065;36444;1899;2028;109788065;4526472 + 5066;36455;1899;2029;109788065;4562927 + 5067;36456;1899;2029;109788065;4562927 + 5068;36468;1899;2029;109788065;4562927 + 5069;36473;1903;2030;108389251;4462378 + 5070;36480;1903;2030;108389251;4462378 + 5071;36492;1903;2030;108389251;4462378 + 5072;36492;1903;2031;108389251;4498870 + 5073;36504;1903;2031;108389251;4498870 + 5074;36506;1903;2032;108389251;4535376 + 5075;36516;1903;2032;108389251;4535376 + 5076;36528;1903;2032;108389251;4535376 + 5077;36530;1903;2033;108389251;4571906 + 5078;36540;1903;2033;108389251;4571906 + 5079;36547;1903;2034;108389251;4608453 + 5080;36552;1903;2034;108389251;4608453 + 5081;36564;1903;2034;108389251;4608453 + 5082;36570;1903;2035;108389251;4645023 + 5083;36576;1903;2035;108389251;4645023 + 5084;36588;1903;2035;108389251;4645023 + 5085;36593;1903;2036;108389251;4681616 + 5086;36600;1903;2036;108389251;4681616 + 5087;36606;1903;2037;108389251;4718222 + 5088;36612;1903;2037;108389251;4718222 + 5089;36624;1903;2037;108389251;4718222 + 5090;36630;1903;2038;108389251;4754852 + 5091;36636;1903;2038;108389251;4754852 + 5092;36646;1910;2039;106892039;4551050 + 5093;36648;1910;2039;106892039;4551050 + 5094;36660;1910;2039;106892039;4551050 + 5095;36661;1910;2040;106892039;4587711 + 5096;36672;1910;2040;106892039;4587711 + 5097;36673;1910;2041;106892039;4624384 + 5098;36684;1910;2041;106892039;4624384 + 5099;36686;1910;2042;106892039;4661070 + 5100;36696;1910;2042;106892039;4661070 + 5101;36702;1910;2043;106892039;4697772 + 5102;36708;1910;2043;106892039;4697772 + 5103;36720;1910;2043;106892039;4697772 + 5104;36725;1910;2044;106892039;4734497 + 5105;36732;1910;2044;106892039;4734497 + 5106;36744;1910;2044;106892039;4734497 + 5107;36746;1910;2045;106892039;4771243 + 5108;36756;1910;2045;106892039;4771243 + 5109;36766;1910;2046;106892039;4808009 + 5110;36768;1910;2046;106892039;4808009 + 5111;36780;1910;2046;106892039;4808009 + 5112;36790;1910;2047;106892039;4844799 + 5113;36792;1910;2047;106892039;4844799 + 5114;36804;1913;2047;106164390;4741490 + 5115;36806;1913;2048;106164390;4778296 + 5116;36816;1913;2048;106164390;4778296 + 5117;36827;1913;2049;106164390;4815123 + 5118;36828;1913;2049;106164390;4815123 + 5119;36839;1913;2050;106164390;4851962 + 5120;36840;1913;2050;106164390;4851962 + 5121;36852;1913;2050;106164390;4851962 + 5122;36861;1922;2051;106411894;4577849 + 5123;36864;1922;2051;106411894;4577849 + 5124;36876;1922;2051;106411894;4577849 + 5125;36883;1922;2052;106411894;4614732 + 5126;36888;1922;2052;106411894;4614732 + 5127;36895;1922;2053;106411894;4651627 + 5128;36900;1922;2053;106411894;4651627 + 5129;36912;1922;2053;106411894;4651627 + 5130;36915;1922;2054;106411894;4688542 + 5131;36924;1922;2054;106411894;4688542 + 5132;36932;1927;2055;106464769;4552109 + 5133;36936;1927;2055;106464769;4552109 + 5134;36948;1927;2055;106464769;4552109 + 5135;36955;1927;2056;106464769;4589064 + 5136;36960;1927;2056;106464769;4589064 + 5137;36968;1927;2057;106464769;4626032 + 5138;36972;1927;2057;106464769;4626032 + 5139;36984;1927;2057;106464769;4626032 + 5140;36988;1927;2058;106464769;4663020 + 5141;36996;1927;2058;106464769;4663020 + 5142;37002;1927;2059;106464769;4700022 + 5143;37008;1927;2059;106464769;4700022 + 5144;37020;1927;2059;106464769;4700022 + 5145;37026;1927;2060;106464769;4737048 + 5146;37032;1927;2060;106464769;4737048 + 5147;37039;1927;2061;106464769;4774087 + 5148;37044;1927;2061;106464769;4774087 + 5149;37052;1927;2062;106464769;4811139 + 5150;37056;1927;2062;106464769;4811139 + 5151;37068;1928;2062;107311027;4776409 + 5152;37068;1928;2063;107311027;4813477 + 5153;37080;1928;2063;107311027;4813477 + 5154;37091;1928;2064;107311027;4850568 + 5155;37092;1928;2064;107311027;4850568 + 5156;37104;1928;2064;107311027;4850568 + 5157;37113;1928;2065;107311027;4887681 + 5158;37116;1928;2065;107311027;4887681 + 5159;37128;1928;2065;107311027;4887681 + 5160;37134;1928;2066;107311027;4924815 + 5161;37140;1928;2066;107311027;4924815 + 5162;37152;1938;2066;105186649;4576362 + 5163;37157;1940;2067;104496561;4543586 + 5164;37164;1940;2067;104496561;4543586 + 5165;37169;1940;2068;104496561;4580755 + 5166;37176;1940;2068;104496561;4580755 + 5167;37187;1940;2069;104496561;4617942 + 5168;37188;1940;2069;104496561;4617942 + 5169;37200;1940;2069;104496561;4617942 + 5170;37205;1940;2070;104496561;4655147 + 5171;37212;1940;2070;104496561;4655147 + 5172;37224;1940;2070;104496561;4655147 + 5173;37226;1940;2071;104496561;4692373 + 5174;37236;1940;2071;104496561;4692373 + 5175;37247;1940;2072;104496561;4729620 + 5176;37248;1940;2072;104496561;4729620 + 5177;37260;1940;2072;104496561;4729620 + 5178;37270;1941;2073;105170321;4731901 + 5179;37272;1941;2073;105170321;4731901 + 5180;37284;1941;2073;105170321;4731901 + 5181;37288;1941;2074;105170321;4769189 + 5182;37296;1941;2074;105170321;4769189 + 5183;37300;1941;2075;105170321;4806489 + 5184;37308;1941;2075;105170321;4806489 + 5185;37320;1941;2075;105170321;4806489 + 5186;37324;1941;2076;105170321;4843813 + 5187;37332;1941;2076;105170321;4843813 + 5188;37341;1941;2077;105170321;4881154 + 5189;37344;1941;2077;105170321;4881154 + 5190;37355;1951;2078;101790670;4567587 + 5191;37356;1951;2078;101790670;4567587 + 5192;37368;1951;2078;101790670;4567587 + 5193;37374;1951;2079;101790670;4604961 + 5194;37380;1951;2079;101790670;4604961 + 5195;37392;1951;2079;101790670;4604961 + 5196;37395;1951;2080;101790670;4642356 + 5197;37404;1951;2080;101790670;4642356 + 5198;37407;1951;2081;101790670;4679763 + 5199;37416;1951;2081;101790670;4679763 + 5200;37425;1951;2082;101790670;4717188 + 5201;37428;1951;2082;101790670;4717188 + 5202;37437;1951;2083;101790670;4754625 + 5203;37440;1951;2083;101790670;4754625 + 5204;37452;1951;2083;101790670;4754625 + 5205;37459;1951;2084;101790670;4792084 + 5206;37464;1951;2084;101790670;4792084 + 5207;37476;1951;2084;101790670;4792084 + 5208;37483;1951;2085;101790670;4829567 + 5209;37488;1951;2085;101790670;4829567 + 5210;37500;1951;2085;101790670;4829567 + 5211;37505;1951;2086;101790670;4867072 + 5212;37512;1951;2086;101790670;4867072 + 5213;37520;1951;2087;101790670;4904592 + 5214;37524;1951;2087;101790670;4904592 + 5215;37533;1951;2088;101790670;4942125 + 5216;37536;1951;2088;101790670;4942125 + 5217;37548;1951;2088;101790670;4942125 + 5218;37552;1951;2089;101790670;4979677 + 5219;37560;1951;2089;101790670;4979677 + 5220;37572;1951;2089;101790670;4979677 + 5221;37575;1951;2090;101790670;5017252 + 5222;37584;1951;2090;101790670;5017252 + 5223;37594;1951;2091;101790670;5054846 + 5224;37596;1951;2091;101790670;5054846 + 5225;37608;1951;2091;101790670;5054846 + 5226;37613;1954;2092;103245275;4986870 + 5227;37620;1954;2092;103245275;4986870 + 5228;37630;1959;2093;100684260;4848192 + 5229;37632;1959;2093;100684260;4848192 + 5230;37644;1959;2093;100684260;4848192 + 5231;37649;1959;2094;100684260;4885841 + 5232;37656;1959;2094;100684260;4885841 + 5233;37663;1959;2095;100684260;4923504 + 5234;37668;1959;2095;100684260;4923504 + 5235;37679;1959;2096;100684260;4961183 + 5236;37680;1959;2096;100684260;4961183 + 5237;37692;1959;2096;100684260;4961183 + 5238;37695;1959;2097;100684260;4998878 + 5239;37704;1959;2097;100684260;4998878 + 5240;37710;1959;2098;100684260;5036588 + 5241;37716;1959;2098;100684260;5036588 + 5242;37722;1959;2099;100684260;5074310 + 5243;37728;1959;2099;100684260;5074310 + 5244;37740;1959;2099;100684260;5074310 + 5245;37745;1964;2100;98700261;4935253 + 5246;37752;1964;2100;98700261;4935253 + 5247;37764;1964;2100;98700261;4935253 + 5248;37765;1964;2101;98700261;4973018 + 5249;37776;1964;2101;98700261;4973018 + 5250;37788;1966;2101;100070305;4902146 + 5251;37789;1966;2102;100070305;4939935 + 5252;37800;1966;2102;100070305;4939935 + 5253;37804;1966;2103;100070305;4977739 + 5254;37812;1966;2103;100070305;4977739 + 5255;37824;1966;2103;100070305;4977739 + 5256;37827;1966;2104;100070305;5015566 + 5257;37836;1966;2104;100070305;5015566 + 5258;37842;1966;2105;100070305;5053408 + 5259;37848;1966;2105;100070305;5053408 + 5260;37855;1966;2106;100070305;5091263 + 5261;37860;1966;2106;100070305;5091263 + 5262;37872;1966;2106;100070305;5091263 + 5263;37874;1966;2107;100070305;5129137 + 5264;37884;1966;2107;100070305;5129137 + 5265;37887;1966;2108;100070305;5167024 + 5266;37896;1966;2108;100070305;5167024 + 5267;37901;1966;2109;100070305;5204925 + 5268;37908;1966;2109;100070305;5204925 + 5269;37920;1966;2109;100070305;5204925 + 5270;37924;1973;2110;97539579;4994229 + 5271;37932;1973;2110;97539579;4994229 + 5272;37944;1973;2110;97539579;4994229 + 5273;37947;1975;2111;98421789;4960996 + 5274;37956;1975;2111;98421789;4960996 + 5275;37961;1975;2112;98421789;4998957 + 5276;37968;1975;2112;98421789;4998957 + 5277;37974;1975;2113;98421789;5036931 + 5278;37980;1975;2113;98421789;5036931 + 5279;37987;1975;2114;98421789;5074918 + 5280;37992;1975;2114;98421789;5074918 + 5281;38004;1975;2114;98421789;5074918 + 5282;38011;1975;2115;98421789;5112929 + 5283;38016;1975;2115;98421789;5112929 + 5284;38027;1975;2116;98421789;5150956 + 5285;38028;1975;2116;98421789;5150956 + 5286;38040;1975;2116;98421789;5150956 + 5287;38044;1975;2117;98421789;5189000 + 5288;38052;1975;2117;98421789;5189000 + 5289;38063;1985;2118;99062531;4870228 + 5290;38064;1985;2118;99062531;4870228 + 5291;38076;1985;2118;99062531;4870228 + 5292;38085;1985;2119;99062531;4908313 + 5293;38088;1985;2119;99062531;4908313 + 5294;38100;1985;2119;99062531;4908313 + 5295;38103;1985;2120;99062531;4946416 + 5296;38112;1985;2120;99062531;4946416 + 5297;38122;1985;2121;99062531;4984538 + 5298;38124;1985;2121;99062531;4984538 + 5299;38136;1985;2121;99062531;4984538 + 5300;38138;1985;2122;99062531;5022676 + 5301;38148;1985;2122;99062531;5022676 + 5302;38158;1985;2123;99062531;5060834 + 5303;38160;1985;2123;99062531;5060834 + 5304;38172;1989;2123;100743673;4917682 + 5305;38174;1989;2124;100743673;4955856 + 5306;38184;1989;2124;100743673;4955856 + 5307;38196;1989;2124;100743673;4955856 + 5308;38196;1989;2125;100743673;4994052 + 5309;38208;1990;2125;101714848;4958229 + 5310;38209;1990;2126;101714848;4996438 + 5311;38220;1990;2126;101714848;4996438 + 5312;38222;1990;2127;101714848;5034660 + 5313;38232;1990;2127;101714848;5034660 + 5314;38244;1990;2127;101714848;5034660 + 5315;38244;1990;2128;101714848;5072904 + 5316;38256;1990;2128;101714848;5072904 + 5317;38266;1993;2129;102631635;5003590 + 5318;38268;1993;2129;102631635;5003590 + 5319;38280;1993;2129;102631635;5003590 + 5320;38284;1993;2130;102631635;5041874 + 5321;38292;1993;2130;102631635;5041874 + 5322;38303;1993;2131;102631635;5080177 + 5323;38304;1993;2131;102631635;5080177 + 5324;38316;1993;2131;102631635;5080177 + 5325;38324;2003;2132;102928410;4758824 + 5326;38328;2003;2132;102928410;4758824 + 5327;38340;2008;2132;103489186;4578418 + 5328;38346;2008;2133;103489186;4616764 + 5329;38352;2008;2133;103489186;4616764 + 5330;38364;2008;2133;103489186;4616764 + 5331;38368;2008;2134;103489186;4655132 + 5332;38376;2008;2134;103489186;4655132 + 5333;38382;2008;2135;103489186;4693514 + 5334;38388;2008;2135;103489186;4693514 + 5335;38400;2008;2135;103489186;4693514 + 5336;38403;2008;2136;103489186;4731917 + 5337;38412;2008;2136;103489186;4731917 + 5338;38416;2008;2137;103489186;4770333 + 5339;38424;2008;2137;103489186;4770333 + 5340;38436;2008;2137;103489186;4770333 + 5341;38439;2008;2138;103489186;4808772 + 5342;38448;2008;2138;103489186;4808772 + 5343;38455;2008;2139;103489186;4847227 + 5344;38460;2008;2139;103489186;4847227 + 5345;38468;2008;2140;103489186;4885695 + 5346;38472;2008;2140;103489186;4885695 + 5347;38484;2008;2140;103489186;4885695 + 5348;38491;2009;2141;104396032;4888051 + 5349;38496;2009;2141;104396032;4888051 + 5350;38508;2009;2141;104396032;4888051 + 5351;38508;2011;2142;104668657;4854231 + 5352;38520;2011;2142;104668657;4854231 + 5353;38527;2011;2143;104668657;4892758 + 5354;38532;2011;2143;104668657;4892758 + 5355;38540;2011;2144;104668657;4931298 + 5356;38544;2011;2144;104668657;4931298 + 5357;38556;2011;2144;104668657;4931298 + 5358;38560;2011;2145;104668657;4969858 + 5359;38568;2011;2145;104668657;4969858 + 5360;38579;2011;2146;104668657;5008437 + 5361;38580;2011;2146;104668657;5008437 + 5362;38592;2011;2146;104668657;5008437 + 5363;38602;2011;2147;104668657;5047039 + 5364;38604;2011;2147;104668657;5047039 + 5365;38616;2011;2147;104668657;5047039 + 5366;38616;2011;2148;104668657;5085655 + 5367;38628;2011;2148;104668657;5085655 + 5368;38631;2011;2149;104668657;5124286 + 5369;38640;2011;2149;104668657;5124286 + 5370;38647;2014;2150;107394354;5054314 + 5371;38652;2014;2150;107394354;5054314 + 5372;38660;2014;2151;107394354;5092974 + 5373;38664;2014;2151;107394354;5092974 + 5374;38676;2014;2151;107394354;5092974 + 5375;38679;2014;2152;107394354;5131653 + 5376;38688;2014;2152;107394354;5131653 + 5377;38692;2014;2153;107394354;5170345 + 5378;38700;2014;2153;107394354;5170345 + 5379;38711;2027;2154;107104653;4736655 + 5380;38712;2027;2154;107104653;4736655 + 5381;38724;2030;2154;107008260;4627235 + 5382;38730;2030;2155;107008260;4665965 + 5383;38736;2030;2155;107008260;4665965 + 5384;38748;2030;2155;107008260;4665965 + 5385;38752;2030;2156;107008260;4704717 + 5386;38760;2030;2156;107008260;4704717 + 5387;38765;2030;2157;107008260;4743482 + 5388;38772;2030;2157;107008260;4743482 + 5389;38784;2030;2157;107008260;4743482 + 5390;38784;2032;2158;106554056;4709230 + 5391;38796;2032;2158;106554056;4709230 + 5392;38804;2032;2159;106554056;4748034 + 5393;38808;2032;2159;106554056;4748034 + 5394;38820;2032;2159;106554056;4748034 + 5395;38827;2032;2160;106554056;4786861 + 5396;38832;2032;2160;106554056;4786861 + 5397;38841;2032;2161;106554056;4825702 + 5398;38844;2032;2161;106554056;4825702 + 5399;38856;2032;2161;106554056;4825702 + 5400;38863;2037;2162;106593763;4681619 + 5401;38868;2037;2162;106593763;4681619 + 5402;38879;2037;2163;106593763;4720498 + 5403;38880;2037;2163;106593763;4720498 + 5404;38892;2037;2163;106593763;4720498 + 5405;38902;2037;2164;106593763;4759400 + 5406;38904;2037;2164;106593763;4759400 + 5407;38914;2037;2165;106593763;4798314 + 5408;38916;2037;2165;106593763;4798314 + 5409;38928;2037;2165;106593763;4798314 + 5410;38932;2037;2166;106593763;4837246 + 5411;38940;2037;2166;106593763;4837246 + 5412;38949;2037;2167;106593763;4876195 + 5413;38952;2037;2167;106593763;4876195 + 5414;38961;2037;2168;106593763;4915156 + 5415;38964;2037;2168;106593763;4915156 + 5416;38976;2037;2168;106593763;4915156 + 5417;38978;2037;2169;106593763;4954134 + 5418;38988;2037;2169;106593763;4954134 + 5419;38991;2037;2170;106593763;4993125 + 5420;39000;2037;2170;106593763;4993125 + 5421;39003;2037;2171;106593763;5032128 + 5422;39012;2037;2171;106593763;5032128 + 5423;39024;2037;2171;106593763;5032128 + 5424;39027;2037;2172;106593763;5071155 + 5425;39036;2037;2172;106593763;5071155 + 5426;39039;2037;2173;106593763;5110194 + 5427;39048;2037;2173;106593763;5110194 + 5428;39060;2037;2173;106593763;5110194 + 5429;39061;2037;2174;106593763;5149255 + 5430;39072;2037;2174;106593763;5149255 + 5431;39079;2037;2175;106593763;5188334 + 5432;39084;2037;2175;106593763;5188334 + 5433;39096;2037;2175;106593763;5188334 + 5434;39100;2037;2176;106593763;5227434 + 5435;39108;2037;2176;106593763;5227434 + 5436;39120;2041;2176;108949332;5080768 + 5437;39124;2049;2177;107587924;4825691 + 5438;39132;2049;2177;107587924;4825691 + 5439;39144;2049;2177;107587924;4825691 + 5440;39145;2049;2178;107587924;4864836 + 5441;39156;2049;2178;107587924;4864836 + 5442;39161;2049;2179;107587924;4903997 + 5443;39168;2049;2179;107587924;4903997 + 5444;39180;2054;2179;105786001;4719511 + 5445;39185;2054;2180;105786001;4758696 + 5446;39192;2054;2180;105786001;4758696 + 5447;39204;2054;2180;105786001;4758696 + 5448;39205;2054;2181;105786001;4797901 + 5449;39216;2054;2181;105786001;4797901 + 5450;39217;2054;2182;105786001;4837118 + 5451;39228;2054;2182;105786001;4837118 + 5452;39240;2054;2182;105786001;4837118 + 5453;39240;2054;2183;105786001;4876358 + 5454;39252;2054;2183;105786001;4876358 + 5455;39257;2054;2184;105786001;4915615 + 5456;39264;2054;2184;105786001;4915615 + 5457;39276;2054;2184;105786001;4915615 + 5458;39276;2054;2185;105786001;4954891 + 5459;39288;2054;2185;105786001;4954891 + 5460;39292;2054;2186;105786001;4994183 + 5461;39300;2054;2186;105786001;4994183 + 5462;39307;2057;2187;107862187;4922579 + 5463;39312;2057;2187;107862187;4922579 + 5464;39321;2057;2188;107862187;4961900 + 5465;39324;2057;2188;107862187;4961900 + 5466;39334;2057;2189;107862187;5001234 + 5467;39336;2057;2189;107862187;5001234 + 5468;39347;2057;2190;107862187;5040581 + 5469;39348;2057;2190;107862187;5040581 + 5470;39360;2057;2190;107862187;5040581 + 5471;39366;2065;2191;106319425;4783422 + 5472;39372;2065;2191;106319425;4783422 + 5473;39380;2065;2192;106319425;4822802 + 5474;39384;2065;2192;106319425;4822802 + 5475;39394;2065;2193;106319425;4862196 + 5476;39396;2065;2193;106319425;4862196 + 5477;39408;2065;2193;106319425;4862196 + 5478;39418;2067;2194;106276520;4827288 + 5479;39420;2067;2194;106276520;4827288 + 5480;39432;2067;2194;106276520;4827288 + 5481;39438;2067;2195;106276520;4866726 + 5482;39444;2067;2195;106276520;4866726 + 5483;39456;2067;2195;106276520;4866726 + 5484;39462;2067;2196;106276520;4906188 + 5485;39468;2067;2196;106276520;4906188 + 5486;39479;2067;2197;106276520;4945667 + 5487;39480;2067;2197;106276520;4945667 + 5488;39492;2067;2197;106276520;4945667 + 5489;39501;2067;2198;106276520;4985168 + 5490;39504;2067;2198;106276520;4985168 + 5491;39516;2067;2198;106276520;4985168 + 5492;39521;2067;2199;106276520;5024689 + 5493;39528;2067;2199;106276520;5024689 + 5494;39535;2067;2200;106276520;5064224 + 5495;39540;2067;2200;106276520;5064224 + 5496;39552;2067;2200;106276520;5064224 + 5497;39554;2067;2201;106276520;5103778 + 5498;39564;2067;2201;106276520;5103778 + 5499;39568;2067;2202;106276520;5143346 + 5500;39576;2067;2202;106276520;5143346 + 5501;39586;2067;2203;106276520;5182932 + 5502;39588;2067;2203;106276520;5182932 + 5503;39600;2067;2203;106276520;5182932 + 5504;39607;2067;2204;106276520;5222539 + 5505;39612;2067;2204;106276520;5222539 + 5506;39621;2067;2205;106276520;5262160 + 5507;39624;2067;2205;106276520;5262160 + 5508;39635;2067;2206;106276520;5301795 + 5509;39636;2067;2206;106276520;5301795 + 5510;39648;2067;2206;106276520;5301795 + 5511;39649;2077;2207;106253425;4968701 + 5512;39660;2081;2207;104932220;4819100 + 5513;39672;2081;2207;104932220;4819100 + 5514;39672;2081;2208;104932220;4858772 + 5515;39684;2081;2208;104932220;4858772 + 5516;39685;2081;2209;104932220;4898457 + 5517;39696;2081;2209;104932220;4898457 + 5518;39707;2081;2210;104932220;4938164 + 5519;39708;2081;2210;104932220;4938164 + 5520;39720;2081;2210;104932220;4938164 + 5521;39723;2081;2211;104932220;4977887 + 5522;39732;2081;2211;104932220;4977887 + 5523;39744;2081;2211;104932220;4977887 + 5524;39746;2087;2212;105451516;4792696 + 5525;39756;2087;2212;105451516;4792696 + 5526;39768;2087;2212;105451516;4792696 + 5527;39770;2087;2213;105451516;4832466 + 5528;39780;2087;2213;105451516;4832466 + 5529;39786;2087;2214;105451516;4872252 + 5530;39792;2087;2214;105451516;4872252 + 5531;39801;2087;2215;105451516;4912053 + 5532;39804;2087;2215;105451516;4912053 + 5533;39815;2087;2216;105451516;4951868 + 5534;39816;2087;2216;105451516;4951868 + 5535;39828;2087;2216;105451516;4951868 + 5536;39829;2087;2217;105451516;4991697 + 5537;39840;2087;2217;105451516;4991697 + 5538;39841;2087;2218;105451516;5031538 + 5539;39852;2087;2218;105451516;5031538 + 5540;39853;2087;2219;105451516;5071391 + 5541;39864;2089;2219;105618626;4996264 + 5542;39876;2089;2219;105618626;4996264 + 5543;39876;2089;2220;105618626;5036140 + 5544;39888;2089;2220;105618626;5036140 + 5545;39897;2089;2221;105618626;5076037 + 5546;39900;2089;2221;105618626;5076037 + 5547;39912;2089;2221;105618626;5076037 + 5548;39919;2089;2222;105618626;5115956 + 5549;39924;2089;2222;105618626;5115956 + 5550;39934;2089;2223;105618626;5155890 + 5551;39936;2089;2223;105618626;5155890 + 5552;39948;2089;2223;105618626;5155890 + 5553;39958;2094;2224;107798576;5007699 + 5554;39960;2094;2224;107798576;5007699 + 5555;39972;2094;2224;107798576;5007699 + 5556;39977;2094;2225;107798576;5047676 + 5557;39984;2094;2225;107798576;5047676 + 5558;39996;2094;2225;107798576;5047676 + 5559;39999;2094;2226;107798576;5087675 + 5560;40008;2094;2226;107798576;5087675 + 5561;40020;2094;2226;107798576;5087675 + 5562;40023;2094;2227;107798576;5127698 + 5563;40032;2094;2227;107798576;5127698 + 5564;40044;2094;2227;107798576;5127698 + 5565;40044;2094;2228;107798576;5167742 + 5566;40056;2094;2228;107798576;5167742 + 5567;40056;2094;2229;107798576;5207798 + 5568;40068;2094;2229;107798576;5207798 + 5569;40078;2094;2230;107798576;5247876 + 5570;40080;2094;2230;107798576;5247876 + 5571;40092;2094;2230;107798576;5247876 + 5572;40095;2094;2231;107798576;5287971 + 5573;40104;2094;2231;107798576;5287971 + 5574;40114;2094;2232;107798576;5328085 + 5575;40116;2094;2232;107798576;5328085 + 5576;40128;2094;2232;107798576;5328085 + 5577;40131;2094;2233;107798576;5368216 + 5578;40140;2094;2233;107798576;5368216 + 5579;40145;2094;2234;107798576;5408361 + 5580;40152;2094;2234;107798576;5408361 + 5581;40164;2108;2234;106742797;4879266 + 5582;40165;2108;2235;106742797;4919431 + 5583;40176;2108;2235;106742797;4919431 + 5584;40177;2108;2236;106742797;4959608 + 5585;40188;2108;2236;106742797;4959608 + 5586;40191;2108;2237;106742797;4999799 + 5587;40200;2108;2237;106742797;4999799 + 5588;40212;2108;2237;106742797;4999799 + 5589;40214;2108;2238;106742797;5040013 + 5590;40224;2108;2238;106742797;5040013 + 5591;40234;2108;2239;106742797;5080247 + 5592;40236;2108;2239;106742797;5080247 + 5593;40248;2108;2239;106742797;5080247 + 5594;40249;2108;2240;106742797;5120496 + 5595;40260;2108;2240;106742797;5120496 + 5596;40272;2108;2240;106742797;5120496 + 5597;40273;2108;2241;106742797;5160769 + 5598;40284;2108;2241;106742797;5160769 + 5599;40285;2108;2242;106742797;5201054 + 5600;40296;2108;2242;106742797;5201054 + 5601;40304;2108;2243;106742797;5241358 + 5602;40308;2108;2243;106742797;5241358 + 5603;40320;2108;2243;106742797;5241358 + 5604;40325;2108;2244;106742797;5281683 + 5605;40332;2108;2244;106742797;5281683 + 5606;40337;2108;2245;106742797;5322020 + 5607;40344;2108;2245;106742797;5322020 + 5608;40354;2115;2246;107584584;5096543 + 5609;40356;2115;2246;107584584;5096543 + 5610;40368;2115;2246;107584584;5096543 + 5611;40369;2119;2247;107111304;4984617 + 5612;40380;2119;2247;107111304;4984617 + 5613;40385;2119;2248;107111304;5025002 + 5614;40392;2119;2248;107111304;5025002 + 5615;40404;2119;2248;107111304;5025002 + 5616;40406;2119;2249;107111304;5065408 + 5617;40416;2119;2249;107111304;5065408 + 5618;40427;2119;2250;107111304;5105835 + 5619;40428;2119;2250;107111304;5105835 + 5620;40440;2119;2250;107111304;5105835 + 5621;40451;2119;2251;107111304;5146286 + 5622;40452;2119;2251;107111304;5146286 + 5623;40464;2119;2251;107111304;5146286 + 5624;40471;2119;2252;107111304;5186757 + 5625;40476;2119;2252;107111304;5186757 + 5626;40484;2119;2253;107111304;5227241 + 5627;40488;2119;2253;107111304;5227241 + 5628;40499;2119;2254;107111304;5267740 + 5629;40500;2119;2254;107111304;5267740 + 5630;40512;2119;2254;107111304;5267740 + 5631;40513;2119;2255;107111304;5308253 + 5632;40524;2119;2255;107111304;5308253 + 5633;40536;2119;2255;107111304;5308253 + 5634;40536;2119;2256;107111304;5348789 + 5635;40548;2119;2256;107111304;5348789 + 5636;40560;2119;2256;107111304;5348789 + 5637;40560;2119;2257;107111304;5389349 + 5638;40572;2119;2257;107111304;5389349 + 5639;40584;2120;2257;108389251;5351227 + 5640;40584;2120;2258;108389251;5391811 + 5641;40596;2120;2258;108389251;5391811 + 5642;40602;2129;2259;108106935;5088522 + 5643;40608;2129;2259;108106935;5088522 + 5644;40618;2129;2260;108106935;5129140 + 5645;40620;2129;2260;108106935;5129140 + 5646;40632;2129;2260;108106935;5129140 + 5647;40640;2129;2261;108106935;5169780 + 5648;40644;2129;2261;108106935;5169780 + 5649;40656;2129;2261;108106935;5169780 + 5650;40664;2129;2262;108106935;5210444 + 5651;40668;2129;2262;108106935;5210444 + 5652;40678;2129;2263;108106935;5251122 + 5653;40680;2129;2263;108106935;5251122 + 5654;40692;2129;2263;108106935;5251122 + 5655;40696;2134;2264;107154546;5100095 + 5656;40704;2134;2264;107154546;5100095 + 5657;40710;2134;2265;107154546;5140805 + 5658;40716;2134;2265;107154546;5140805 + 5659;40722;2134;2266;107154546;5181527 + 5660;40728;2134;2266;107154546;5181527 + 5661;40740;2134;2266;107154546;5181527 + 5662;40746;2134;2267;107154546;5222273 + 5663;40752;2134;2267;107154546;5222273 + 5664;40764;2134;2267;107154546;5222273 + 5665;40766;2134;2268;107154546;5263039 + 5666;40776;2134;2268;107154546;5263039 + 5667;40786;2134;2269;107154546;5303825 + 5668;40788;2134;2269;107154546;5303825 + 5669;40800;2134;2269;107154546;5303825 + 5670;40803;2138;2270;107174509;5190915 + 5671;40812;2138;2270;107174509;5190915 + 5672;40824;2138;2270;107174509;5190915 + 5673;40826;2138;2271;107174509;5231741 + 5674;40836;2138;2271;107174509;5231741 + 5675;40842;2138;2272;107174509;5272583 + 5676;40848;2138;2272;107174509;5272583 + 5677;40860;2138;2272;107174509;5272583 + 5678;40864;2138;2273;107174509;5313447 + 5679;40872;2138;2273;107174509;5313447 + 5680;40883;2138;2274;107174509;5354330 + 5681;40884;2138;2274;107174509;5354330 + 5682;40896;2138;2274;107174509;5354330 + 5683;40901;2138;2275;107174509;5395231 + 5684;40908;2138;2275;107174509;5395231 + 5685;40916;2139;2276;108399348;5397679 + 5686;40920;2139;2276;108399348;5397679 + 5687;40932;2139;2276;108399348;5397679 + 5688;40934;2151;2277;109196547;4975573 + 5689;40944;2151;2277;109196547;4975573 + 5690;40951;2151;2278;109196547;5016524 + 5691;40956;2151;2278;109196547;5016524 + 5692;40968;2151;2278;109196547;5016524 + 5693;40974;2151;2279;109196547;5057498 + 5694;40980;2151;2279;109196547;5057498 + 5695;40992;2151;2279;109196547;5057498 + 5696;40992;2151;2280;109196547;5098490 + 5697;41004;2151;2280;109196547;5098490 + 5698;41016;2151;2280;109196547;5098490 + 5699;41016;2152;2281;109992779;5100814 + 5700;41028;2152;2281;109992779;5100814 + 5701;41037;2152;2282;109992779;5141851 + 5702;41040;2152;2282;109992779;5141851 + 5703;41050;2152;2283;109992779;5182901 + 5704;41052;2152;2283;109992779;5182901 + 5705;41064;2152;2283;109992779;5182901 + 5706;41072;2152;2284;109992779;5223973 + 5707;41076;2152;2284;109992779;5223973 + 5708;41084;2152;2285;109992779;5265057 + 5709;41088;2152;2285;109992779;5265057 + 5710;41100;2152;2285;109992779;5265057 + 5711;41100;2152;2286;109992779;5306157 + 5712;41112;2152;2286;109992779;5306157 + 5713;41120;2152;2287;109992779;5347277 + 5714;41124;2152;2287;109992779;5347277 + 5715;41133;2152;2288;109992779;5388410 + 5716;41136;2152;2288;109992779;5388410 + 5717;41147;2152;2289;109992779;5429557 + 5718;41148;2152;2289;109992779;5429557 + 5719;41160;2152;2289;109992779;5429557 + 5720;41162;2152;2290;109992779;5470719 + 5721;41172;2152;2290;109992779;5470719 + 5722;41184;2152;2290;109992779;5470719 + 5723;41184;2162;2291;112371115;5123947 + 5724;41196;2162;2291;112371115;5123947 + 5725;41205;2162;2292;112371115;5165152 + 5726;41208;2162;2292;112371115;5165152 + 5727;41220;2162;2292;112371115;5165152 + 5728;41227;2162;2293;112371115;5206379 + 5729;41232;2162;2293;112371115;5206379 + 5730;41244;2162;2293;112371115;5206379 + 5731;41244;2162;2294;112371115;5247623 + 5732;41256;2162;2294;112371115;5247623 + 5733;41265;2162;2295;112371115;5288888 + 5734;41268;2162;2295;112371115;5288888 + 5735;41280;2162;2295;112371115;5288888 + 5736;41288;2162;2296;112371115;5330176 + 5737;41292;2162;2296;112371115;5330176 + 5738;41304;2162;2296;112371115;5330176 + 5739;41304;2166;2297;114726050;5215783 + 5740;41316;2166;2297;114726050;5215783 + 5741;41325;2166;2298;114726050;5257108 + 5742;41328;2166;2298;114726050;5257108 + 5743;41340;2166;2298;114726050;5257108 + 5744;41346;2166;2299;114726050;5298454 + 5745;41352;2166;2299;114726050;5298454 + 5746;41364;2166;2299;114726050;5298454 + 5747;41364;2166;2300;114726050;5339818 + 5748;41376;2166;2300;114726050;5339818 + 5749;41384;2166;2301;114726050;5381202 + 5750;41388;2166;2301;114726050;5381202 + 5751;41396;2170;2302;117232207;5266665 + 5752;41400;2170;2302;117232207;5266665 + 5753;41412;2170;2302;117232207;5266665 + 5754;41414;2170;2303;117232207;5308079 + 5755;41424;2170;2303;117232207;5308079 + 5756;41436;2170;2303;117232207;5308079 + 5757;41437;2170;2304;117232207;5349516 + 5758;41448;2170;2304;117232207;5349516 + 5759;41460;2170;2304;117232207;5349516 + 5760;41460;2177;2305;117166709;5117401 + 5761;41472;2177;2305;117166709;5117401 + 5762;41472;2177;2306;117166709;5158873 + 5763;41484;2177;2306;117166709;5158873 + 5764;41490;2177;2307;117166709;5200363 + 5765;41496;2177;2307;117166709;5200363 + 5766;41508;2177;2307;117166709;5200363 + 5767;41514;2177;2308;117166709;5241877 + 5768;41520;2177;2308;117166709;5241877 + 5769;41532;2177;2308;117166709;5241877 + 5770;41537;2177;2309;117166709;5283414 + 5771;41544;2177;2309;117166709;5283414 + 5772;41556;2177;2309;117166709;5283414 + 5773;41556;2177;2310;117166709;5324970 + 5774;41568;2177;2310;117166709;5324970 + 5775;41579;2177;2311;117166709;5366549 + 5776;41580;2177;2311;117166709;5366549 + 5777;41592;2177;2311;117166709;5366549 + 5778;41593;2177;2312;117166709;5408142 + 5779;41604;2177;2312;117166709;5408142 + 5780;41612;2177;2313;117166709;5449754 + 5781;41616;2177;2313;117166709;5449754 + 5782;41628;2177;2313;117166709;5449754 + 5783;41632;2179;2314;119362442;5413040 + 5784;41640;2179;2314;119362442;5413040 + 5785;41647;2189;2315;120719073;5061891 + 5786;41652;2189;2315;120719073;5061891 + 5787;41661;2189;2316;120719073;5103552 + 5788;41664;2189;2316;120719073;5103552 + 5789;41676;2191;2316;121132070;5024806 + 5790;41684;2197;2317;117783115;4829798 + 5791;41688;2197;2317;117783115;4829798 + 5792;41696;2197;2318;117783115;4871494 + 5793;41700;2197;2318;117783115;4871494 + 5794;41708;2197;2319;117783115;4913202 + 5795;41712;2197;2319;117783115;4913202 + 5796;41722;2197;2320;117783115;4954924 + 5797;41724;2197;2320;117783115;4954924 + 5798;41736;2197;2320;117783115;4954924 + 5799;41741;2197;2321;117783115;4996665 + 5800;41748;2197;2321;117783115;4996665 + 5801;41760;2197;2321;117783115;4996665 + 5802;41762;2197;2322;117783115;5038427 + 5803;41772;2197;2322;117783115;5038427 + 5804;41778;2197;2323;117783115;5080205 + 5805;41784;2197;2323;117783115;5080205 + 5806;41796;2197;2323;117783115;5080205 + 5807;41801;2197;2324;117783115;5122006 + 5808;41808;2197;2324;117783115;5122006 + 5809;41820;2197;2324;117783115;5122006 + 5810;41820;2197;2325;117783115;5163826 + 5811;41832;2197;2325;117783115;5163826 + 5812;41843;2197;2326;117783115;5205669 + 5813;41844;2197;2326;117783115;5205669 + 5814;41856;2197;2326;117783115;5205669 + 5815;41862;2197;2327;117783115;5247531 + 5816;41868;2197;2327;117783115;5247531 + 5817;41880;2197;2327;117783115;5247531 + 5818;41886;2197;2328;117783115;5289417 + 5819;41892;2197;2328;117783115;5289417 + 5820;41904;2197;2328;117783115;5289417 + 5821;41910;2197;2329;117783115;5331327 + 5822;41916;2197;2329;117783115;5331327 + 5823;41922;2197;2330;117783115;5373249 + 5824;41928;2197;2330;117783115;5373249 + 5825;41936;2197;2331;117783115;5415185 + 5826;41940;2197;2331;117783115;5415185 + 5827;41952;2197;2331;117783115;5415185 + 5828;41957;2203;2332;120752811;5219771 + 5829;41964;2203;2332;120752811;5219771 + 5830;41973;2203;2333;120752811;5261744 + 5831;41976;2203;2333;120752811;5261744 + 5832;41988;2203;2333;120752811;5261744 + 5833;41992;2203;2334;120752811;5303736 + 5834;42000;2203;2334;120752811;5303736 + 5835;42006;2203;2335;120752811;5345742 + 5836;42012;2203;2335;120752811;5345742 + 5837;42024;2203;2335;120752811;5345742 + 5838;42025;2203;2336;120752811;5387767 + 5839;42036;2203;2336;120752811;5387767 + 5840;42044;2203;2337;120752811;5429811 + 5841;42048;2203;2337;120752811;5429811 + 5842;42060;2203;2337;120752811;5429811 + 5843;42063;2208;2338;121440859;5273612 + 5844;42072;2208;2338;121440859;5273612 + 5845;42080;2208;2339;121440859;5315692 + 5846;42084;2208;2339;121440859;5315692 + 5847;42094;2208;2340;121440859;5357786 + 5848;42096;2208;2340;121440859;5357786 + 5849;42108;2208;2340;121440859;5357786 + 5850;42114;2208;2341;121440859;5399900 + 5851;42120;2208;2341;121440859;5399900 + 5852;42132;2208;2341;121440859;5399900 + 5853;42133;2208;2342;121440859;5442033 + 5854;42144;2208;2342;121440859;5442033 + 5855;42151;2208;2343;121440859;5484184 + 5856;42156;2208;2343;121440859;5484184 + 5857;42166;2208;2344;121440859;5526350 + 5858;42168;2208;2344;121440859;5526350 + 5859;42180;2214;2344;120970458;5287817 + 5860;42189;2214;2345;120970458;5330006 + 5861;42192;2214;2345;120970458;5330006 + 5862;42204;2214;2345;120970458;5330006 + 5863;42204;2214;2346;120970458;5372210 + 5864;42216;2214;2346;120970458;5372210 + 5865;42216;2214;2347;120970458;5414426 + 5866;42228;2214;2347;120970458;5414426 + 5867;42235;2214;2348;120970458;5456661 + 5868;42240;2214;2348;120970458;5456661 + 5869;42252;2214;2348;120970458;5456661 + 5870;42258;2224;2349;122478388;5100020 + 5871;42264;2230;2349;117206731;4859725 + 5872;42276;2230;2349;117206731;4859725 + 5873;42278;2230;2350;117206731;4902003 + 5874;42288;2230;2350;117206731;4902003 + 5875;42298;2230;2351;117206731;4944301 + 5876;42300;2230;2351;117206731;4944301 + 5877;42312;2230;2351;117206731;4944301 + 5878;42321;2230;2352;117206731;4986622 + 5879;42324;2230;2352;117206731;4986622 + 5880;42334;2231;2353;117713653;4988842 + 5881;42336;2231;2353;117713653;4988842 + 5882;42348;2231;2353;117713653;4988842 + 5883;42356;2231;2354;117713653;5031198 + 5884;42360;2231;2354;117713653;5031198 + 5885;42372;2231;2354;117713653;5031198 + 5886;42378;2231;2355;117713653;5073576 + 5887;42384;2231;2355;117713653;5073576 + 5888;42393;2231;2356;117713653;5115969 + 5889;42396;2231;2356;117713653;5115969 + 5890;42407;2232;2357;118421146;5118245 + 5891;42408;2232;2357;118421146;5118245 + 5892;42420;2232;2357;118421146;5118245 + 5893;42425;2232;2358;118421146;5160670 + 5894;42432;2232;2358;118421146;5160670 + 5895;42444;2232;2358;118421146;5160670 + 5896;42444;2232;2359;118421146;5203114 + 5897;42456;2232;2359;118421146;5203114 + 5898;42467;2233;2360;119340208;5205436 + 5899;42468;2233;2360;119340208;5205436 + 5900;42480;2233;2360;119340208;5205436 + 5901;42489;2233;2361;119340208;5247925 + 5902;42492;2233;2361;119340208;5247925 + 5903;42503;2233;2362;119340208;5290428 + 5904;42504;2233;2362;119340208;5290428 + 5905;42516;2233;2362;119340208;5290428 + 5906;42527;2233;2363;119340208;5332955 + 5907;42528;2233;2363;119340208;5332955 + 5908;42540;2233;2363;119340208;5332955 + 5909;42543;2233;2364;119340208;5375498 + 5910;42552;2233;2364;119340208;5375498 + 5911;42564;2233;2364;119340208;5375498 + 5912;42566;2235;2365;119815430;5337722 + 5913;42576;2235;2365;119815430;5337722 + 5914;42585;2235;2366;119815430;5380307 + 5915;42588;2235;2366;119815430;5380307 + 5916;42600;2235;2366;119815430;5380307 + 5917;42608;2235;2367;119815430;5422915 + 5918;42612;2235;2367;119815430;5422915 + 5919;42624;2235;2367;119815430;5422915 + 5920;42629;2242;2368;119845194;5183794 + 5921;42636;2242;2368;119845194;5183794 + 5922;42648;2242;2368;119845194;5183794 + 5923;42652;2242;2369;119845194;5226446 + 5924;42660;2242;2369;119845194;5226446 + 5925;42672;2242;2369;119845194;5226446 + 5926;42673;2242;2370;119845194;5269119 + 5927;42684;2242;2370;119845194;5269119 + 5928;42688;2242;2371;119845194;5311807 + 5929;42696;2242;2371;119845194;5311807 + 5930;42708;2242;2371;119845194;5311807 + 5931;42711;2242;2372;119845194;5354518 + 5932;42720;2242;2372;119845194;5354518 + 5933;42728;2242;2373;119845194;5397246 + 5934;42732;2242;2373;119845194;5397246 + 5935;42744;2242;2373;119845194;5397246 + 5936;42745;2242;2374;119845194;5439991 + 5937;42756;2242;2374;119845194;5439991 + 5938;42761;2242;2375;119845194;5482752 + 5939;42768;2242;2375;119845194;5482752 + 5940;42778;2242;2376;119845194;5525530 + 5941;42780;2242;2376;119845194;5525530 + 5942;42792;2242;2376;119845194;5525530 + 5943;42796;2252;2377;120188013;5164317 + 5944;42804;2252;2377;120188013;5164317 + 5945;42812;2252;2378;120188013;5207129 + 5946;42816;2252;2378;120188013;5207129 + 5947;42828;2252;2378;120188013;5207129 + 5948;42830;2252;2379;120188013;5249959 + 5949;42840;2252;2379;120188013;5249959 + 5950;42851;2252;2380;120188013;5292810 + 5951;42852;2252;2380;120188013;5292810 + 5952;42864;2252;2380;120188013;5292810 + 5953;42864;2252;2381;120188013;5335674 + 5954;42876;2252;2381;120188013;5335674 + 5955;42886;2252;2382;120188013;5378560 + 5956;42888;2252;2382;120188013;5378560 + 5957;42900;2252;2382;120188013;5378560 + 5958;42906;2262;2383;120805310;5015572 + 5959;42912;2264;2383;120374739;4934166 + 5960;42918;2264;2384;120374739;4977084 + 5961;42924;2264;2384;120374739;4977084 + 5962;42930;2264;2385;120374739;5020014 + 5963;42936;2264;2385;120374739;5020014 + 5964;42945;2264;2386;120374739;5062959 + 5965;42948;2264;2386;120374739;5062959 + 5966;42960;2264;2386;120374739;5062959 + 5967;42965;2264;2387;120374739;5105924 + 5968;42972;2264;2387;120374739;5105924 + 5969;42984;2264;2387;120374739;5105924 + 5970;42988;2264;2388;120374739;5148912 + 5971;42996;2264;2388;120374739;5148912 + 5972;43003;2264;2389;120374739;5191915 + 5973;43008;2264;2389;120374739;5191915 + 5974;43020;2264;2389;120374739;5191915 + 5975;43025;2264;2390;120374739;5234940 + 5976;43032;2264;2390;120374739;5234940 + 5977;43044;2264;2390;120374739;5234940 + 5978;43046;2264;2391;120374739;5277986 + 5979;43056;2264;2391;120374739;5277986 + 5980;43062;2264;2392;120374739;5321048 + 5981;43068;2264;2392;120374739;5321048 + 5982;43080;2264;2392;120374739;5321048 + 5983;43085;2264;2393;120374739;5364133 + 5984;43092;2264;2393;120374739;5364133 + 5985;43104;2264;2393;120374739;5364133 + 5986;43104;2264;2394;120374739;5407237 + 5987;43116;2264;2394;120374739;5407237 + 5988;43121;2264;2395;120374739;5450358 + 5989;43128;2264;2395;120374739;5450358 + 5990;43138;2264;2396;120374739;5493496 + 5991;43140;2264;2396;120374739;5493496 + 5992;43151;2270;2397;121101986;5291998 + 5993;43152;2270;2397;121101986;5291998 + 5994;43164;2270;2397;121101986;5291998 + 5995;43169;2270;2398;121101986;5335167 + 5996;43176;2270;2398;121101986;5335167 + 5997;43188;2270;2398;121101986;5335167 + 5998;43190;2270;2399;121101986;5378357 + 5999;43200;2270;2399;121101986;5378357 + 6000;43205;2270;2400;121101986;5421562 + 6001;43212;2270;2400;121101986;5421562 + 6002;43221;2270;2401;121101986;5464783 + 6003;43224;2270;2401;121101986;5464783 + 6004;43236;2270;2401;121101986;5464783 + 6005;43242;2276;2402;121750435;5262685 + 6006;43248;2276;2402;121750435;5262685 + 6007;43260;2276;2402;121750435;5262685 + 6008;43263;2276;2403;121750435;5305948 + 6009;43272;2276;2403;121750435;5305948 + 6010;43278;2276;2404;121750435;5349226 + 6011;43284;2276;2404;121750435;5349226 + 6012;43296;2276;2404;121750435;5349226 + 6013;43300;2276;2405;121750435;5392526 + 6014;43308;2276;2405;121750435;5392526 + 6015;43320;2276;2405;121750435;5392526 + 6016;43323;2276;2406;121750435;5435849 + 6017;43332;2276;2406;121750435;5435849 + 6018;43338;2276;2407;121750435;5479187 + 6019;43344;2276;2407;121750435;5479187 + 6020;43356;2276;2407;121750435;5479187 + 6021;43358;2276;2408;121750435;5522545 + 6022;43368;2276;2408;121750435;5522545 + 6023;43379;2279;2409;122520225;5443007 + 6024;43380;2279;2409;122520225;5443007 + 6025;43392;2279;2409;122520225;5443007 + 6026;43399;2279;2410;122520225;5486406 + 6027;43404;2279;2410;122520225;5486406 + 6028;43416;2279;2410;122520225;5486406 + 6029;43423;2279;2411;122520225;5529829 + 6030;43428;2279;2411;122520225;5529829 + 6031;43437;2279;2412;122520225;5573266 + 6032;43440;2279;2412;122520225;5573266 + 6033;43452;2279;2412;122520225;5573266 + 6034;43455;2279;2413;122520225;5616721 + 6035;43464;2279;2413;122520225;5616721 + 6036;43473;2285;2414;121293898;5413835 + 6037;43476;2285;2414;121293898;5413835 + 6038;43488;2285;2414;121293898;5413835 + 6039;43494;2285;2415;121293898;5457329 + 6040;43500;2285;2415;121293898;5457329 + 6041;43511;2295;2416;122091123;5088865 + 6042;43512;2295;2416;122091123;5088865 + 6043;43524;2295;2416;122091123;5088865 + 6044;43529;2301;2417;117152158;4884275 + 6045;43536;2301;2417;117152158;4884275 + 6046;43548;2301;2417;117152158;4884275 + 6047;43548;2301;2418;117152158;4927823 + 6048;43560;2301;2418;117152158;4927823 + 6049;43567;2301;2419;117152158;4971390 + 6050;43572;2301;2419;117152158;4971390 + 6051;43584;2301;2419;117152158;4971390 + 6052;43588;2301;2420;117152158;5014978 + 6053;43596;2301;2420;117152158;5014978 + 6054;43605;2301;2421;117152158;5058583 + 6055;43608;2301;2421;117152158;5058583 + 6056;43620;2301;2421;117152158;5058583 + 6057;43626;2301;2422;117152158;5102209 + 6058;43632;2301;2422;117152158;5102209 + 6059;43644;2301;2422;117152158;5102209 + 6060;43645;2301;2423;117152158;5145854 + 6061;43656;2301;2423;117152158;5145854 + 6062;43667;2301;2424;117152158;5189521 + 6063;43668;2301;2424;117152158;5189521 + 6064;43680;2301;2424;117152158;5189521 + 6065;43689;2301;2425;117152158;5233210 + 6066;43692;2301;2425;117152158;5233210 + 6067;43701;2301;2426;117152158;5276911 + 6068;43704;2301;2426;117152158;5276911 + 6069;43713;2301;2427;117152158;5320624 + 6070;43716;2301;2427;117152158;5320624 + 6071;43728;2301;2427;117152158;5320624 + 6072;43732;2301;2428;117152158;5364356 + 6073;43740;2301;2428;117152158;5364356 + 6074;43752;2301;2428;117152158;5364356 + 6075;43752;2301;2429;117152158;5408108 + 6076;43764;2301;2429;117152158;5408108 + 6077;43764;2301;2430;117152158;5451872 + 6078;43776;2301;2430;117152158;5451872 + 6079;43783;2301;2431;117152158;5495655 + 6080;43788;2301;2431;117152158;5495655 + 6081;43800;2301;2431;117152158;5495655 + 6082;43801;2301;2432;117152158;5539456 + 6083;43812;2301;2432;117152158;5539456 + 6084;43824;2301;2432;117152158;5539456 + 6085;43824;2305;2433;118145710;5417497 + 6086;43836;2305;2433;118145710;5417497 + 6087;43845;2305;2434;118145710;5461342 + 6088;43848;2305;2434;118145710;5461342 + 6089;43860;2305;2434;118145710;5461342 + 6090;43860;2305;2435;118145710;5505202 + 6091;43872;2305;2435;118145710;5505202 + 6092;43884;2305;2435;118145710;5505202 + 6093;43884;2305;2436;118145710;5549086 + 6094;43896;2305;2436;118145710;5549086 + 6095;43904;2305;2437;118145710;5592990 + 6096;43908;2305;2437;118145710;5592990 + 6097;43920;2305;2437;118145710;5592990 + 6098;43927;2305;2438;118145710;5636917 + 6099;43932;2305;2438;118145710;5636917 + 6100;43939;2305;2439;118145710;5680856 + 6101;43944;2305;2439;118145710;5680856 + 6102;43956;2305;2439;118145710;5680856 + 6103;43963;2314;2440;117750207;5350659 + 6104;43968;2314;2440;117750207;5350659 + 6105;43978;2314;2441;117750207;5394637 + 6106;43980;2314;2441;117750207;5394637 + 6107;43992;2314;2441;117750207;5394637 + 6108;43995;2314;2442;117750207;5438632 + 6109;44004;2314;2442;117750207;5438632 + 6110;44008;2314;2443;117750207;5482640 + 6111;44016;2314;2443;117750207;5482640 + 6112;44024;2314;2444;117750207;5526664 + 6113;44028;2314;2444;117750207;5526664 + 6114;44040;2314;2444;117750207;5526664 + 6115;44040;2314;2445;117750207;5570704 + 6116;44052;2314;2445;117750207;5570704 + 6117;44054;2314;2446;117750207;5614758 + 6118;44064;2314;2446;117750207;5614758 + 6119;44073;2314;2447;117750207;5658831 + 6120;44076;2314;2447;117750207;5658831 + 6121;44088;2314;2447;117750207;5658831 + 6122;44095;2314;2448;117750207;5702926 + 6123;44100;2314;2448;117750207;5702926 + 6124;44112;2314;2448;117750207;5702926 + 6125;44117;2316;2449;117947793;5663698 + 6126;44124;2316;2449;117947793;5663698 + 6127;44133;2318;2450;120277605;5624427 + 6128;44136;2318;2450;120277605;5624427 + 6129;44148;2318;2450;120277605;5624427 + 6130;44150;2318;2451;120277605;5668577 + 6131;44160;2318;2451;120277605;5668577 + 6132;44164;2318;2452;120277605;5712741 + 6133;44172;2318;2452;120277605;5712741 + 6134;44184;2318;2452;120277605;5712741 + 6135;44185;2326;2453;118667746;5422597 + 6136;44196;2326;2453;118667746;5422597 + 6137;44203;2326;2454;118667746;5466800 + 6138;44208;2326;2454;118667746;5466800 + 6139;44220;2326;2454;118667746;5466800 + 6140;44221;2326;2455;118667746;5511021 + 6141;44232;2326;2455;118667746;5511021 + 6142;44243;2326;2456;118667746;5555264 + 6143;44244;2326;2456;118667746;5555264 + 6144;44256;2326;2456;118667746;5555264 + 6145;44261;2326;2457;118667746;5599525 + 6146;44268;2326;2457;118667746;5599525 + 6147;44280;2326;2457;118667746;5599525 + 6148;44280;2326;2458;118667746;5643805 + 6149;44292;2326;2458;118667746;5643805 + 6150;44298;2332;2459;117268612;5436519 + 6151;44304;2332;2459;117268612;5436519 + 6152;44311;2332;2460;117268612;5480830 + 6153;44316;2332;2460;117268612;5480830 + 6154;44328;2332;2460;117268612;5480830 + 6155;44331;2332;2461;117268612;5525161 + 6156;44340;2332;2461;117268612;5525161 + 6157;44351;2332;2462;117268612;5569512 + 6158;44352;2332;2462;117268612;5569512 + 6159;44364;2332;2462;117268612;5569512 + 6160;44365;2332;2463;117268612;5613877 + 6161;44376;2332;2463;117268612;5613877 + 6162;44382;2332;2464;117268612;5658259 + 6163;44388;2332;2464;117268612;5658259 + 6164;44397;2336;2465;118491025;5534589 + 6165;44400;2336;2465;118491025;5534589 + 6166;44412;2336;2465;118491025;5534589 + 6167;44415;2336;2466;118491025;5579004 + 6168;44424;2336;2466;118491025;5579004 + 6169;44432;2344;2467;115612844;5286446 + 6170;44436;2344;2467;115612844;5286446 + 6171;44448;2344;2467;115612844;5286446 + 6172;44454;2344;2468;115612844;5330900 + 6173;44460;2344;2468;115612844;5330900 + 6174;44471;2344;2469;115612844;5375371 + 6175;44472;2344;2469;115612844;5375371 + 6176;44484;2344;2469;115612844;5375371 + 6177;44485;2344;2470;115612844;5419856 + 6178;44496;2344;2470;115612844;5419856 + 6179;44505;2344;2471;115612844;5464361 + 6180;44508;2344;2471;115612844;5464361 + 6181;44520;2344;2471;115612844;5464361 + 6182;44529;2344;2472;115612844;5508890 + 6183;44532;2344;2472;115612844;5508890 + 6184;44544;2344;2472;115612844;5508890 + 6185;44552;2344;2473;115612844;5553442 + 6186;44556;2344;2473;115612844;5553442 + 6187;44566;2344;2474;115612844;5598008 + 6188;44568;2344;2474;115612844;5598008 + 6189;44580;2344;2474;115612844;5598008 + 6190;44585;2351;2475;116665764;5346783 + 6191;44592;2351;2475;116665764;5346783 + 6192;44601;2351;2476;116665764;5391384 + 6193;44604;2351;2476;116665764;5391384 + 6194;44616;2351;2476;116665764;5391384 + 6195;44618;2351;2477;116665764;5436002 + 6196;44628;2351;2477;116665764;5436002 + 6197;44636;2355;2478;116275215;5311177 + 6198;44640;2355;2478;116275215;5311177 + 6199;44650;2355;2479;116275215;5355827 + 6200;44652;2355;2479;116275215;5355827 + 6201;44664;2355;2479;116275215;5355827 + 6202;44672;2358;2480;117549302;5273223 + 6203;44676;2358;2480;117549302;5273223 + 6204;44688;2358;2480;117549302;5273223 + 6205;44688;2358;2481;117549302;5317911 + 6206;44700;2358;2481;117549302;5317911 + 6207;44706;2358;2482;117549302;5362617 + 6208;44712;2358;2482;117549302;5362617 + 6209;44724;2358;2482;117549302;5362617 + 6210;44724;2358;2483;117549302;5407341 + 6211;44736;2358;2483;117549302;5407341 + 6212;44746;2358;2484;117549302;5452087 + 6213;44748;2358;2484;117549302;5452087 + 6214;44760;2358;2484;117549302;5452087 + 6215;44763;2358;2485;117549302;5496850 + 6216;44772;2358;2485;117549302;5496850 + 6217;44782;2358;2486;117549302;5541632 + 6218;44784;2358;2486;117549302;5541632 + 6219;44794;2358;2487;117549302;5586426 + 6220;44796;2358;2487;117549302;5586426 + 6221;44808;2364;2487;117144884;5331331 + 6222;44809;2364;2488;117144884;5376140 + 6223;44820;2364;2488;117144884;5376140 + 6224;44824;2364;2489;117144884;5420964 + 6225;44832;2364;2489;117144884;5420964 + 6226;44839;2364;2490;117144884;5465803 + 6227;44844;2364;2490;117144884;5465803 + 6228;44854;2364;2491;117144884;5510657 + 6229;44856;2364;2491;117144884;5510657 + 6230;44868;2364;2491;117144884;5510657 + 6231;44875;2366;2492;118105367;5470339 + 6232;44880;2366;2492;118105367;5470339 + 6233;44892;2366;2492;118105367;5470339 + 6234;44892;2366;2493;118105367;5515231 + 6235;44904;2366;2493;118105367;5515231 + 6236;44915;2366;2494;118105367;5560146 + 6237;44916;2366;2494;118105367;5560146 + 6238;44928;2366;2494;118105367;5560146 + 6239;44938;2366;2495;118105367;5605084 + 6240;44940;2366;2495;118105367;5605084 + 6241;44952;2366;2495;118105367;5605084 + 6242;44952;2366;2496;118105367;5650036 + 6243;44964;2366;2496;118105367;5650036 + 6244;44967;2366;2497;118105367;5695003 + 6245;44976;2366;2497;118105367;5695003 + 6246;44988;2366;2497;118105367;5695003 + 6247;44990;2366;2498;118105367;5739993 + 6248;45000;2366;2498;118105367;5739993 + 6249;45009;2366;2499;118105367;5785002 + 6250;45012;2366;2499;118105367;5785002 + 6251;45022;2366;2500;118105367;5830024 + 6252;45024;2366;2500;118105367;5830024 + 6253;45034;2366;2501;118105367;5875058 + 6254;45036;2366;2501;118105367;5875058 + 6255;45048;2366;2501;118105367;5875058 + 6256;45050;2366;2502;118105367;5920108 + 6257;45060;2366;2502;118105367;5920108 + 6258;45072;2366;2502;118105367;5920108 + 6259;45073;2374;2503;115093527;5623594 + 6260;45084;2374;2503;115093527;5623594 + 6261;45090;2374;2504;115093527;5668684 + 6262;45096;2374;2504;115093527;5668684 + 6263;45108;2374;2504;115093527;5668684 + 6264;45111;2374;2505;115093527;5713795 + 6265;45120;2374;2505;115093527;5713795 + 6266;45128;2374;2506;115093527;5758923 + 6267;45132;2374;2506;115093527;5758923 + 6268;45140;2374;2507;115093527;5804063 + 6269;45144;2374;2507;115093527;5804063 + 6270;45156;2374;2507;115093527;5804063 + 6271;45161;2384;2508;116691123;5420653 + 6272;45168;2384;2508;116691123;5420653 + 6273;45173;2384;2509;116691123;5465826 + 6274;45180;2384;2509;116691123;5465826 + 6275;45190;2384;2510;116691123;5511016 + 6276;45192;2384;2510;116691123;5511016 + 6277;45204;2384;2510;116691123;5511016 + 6278;45214;2384;2511;116691123;5556230 + 6279;45216;2384;2511;116691123;5556230 + 6280;45228;2384;2511;116691123;5556230 + 6281;45235;2386;2512;116749106;5515555 + 6282;45240;2386;2512;116749106;5515555 + 6283;45248;2386;2513;116749106;5560803 + 6284;45252;2386;2513;116749106;5560803 + 6285;45264;2386;2513;116749106;5560803 + 6286;45269;2386;2514;116749106;5606072 + 6287;45276;2386;2514;116749106;5606072 + 6288;45281;2386;2515;116749106;5651353 + 6289;45288;2386;2515;116749106;5651353 + 6290;45300;2386;2515;116749106;5651353 + 6291;45304;2386;2516;116749106;5696657 + 6292;45312;2386;2516;116749106;5696657 + 6293;45320;2386;2517;116749106;5741977 + 6294;45324;2386;2517;116749106;5741977 + 6295;45333;2387;2518;117695381;5744322 + 6296;45336;2387;2518;117695381;5744322 + 6297;45348;2387;2518;117695381;5744322 + 6298;45352;2387;2519;117695381;5789674 + 6299;45360;2387;2519;117695381;5789674 + 6300;45365;2387;2520;117695381;5835039 + 6301;45372;2387;2520;117695381;5835039 + 6302;45384;2387;2520;117695381;5835039 + 6303;45386;2387;2521;117695381;5880425 + 6304;45396;2387;2521;117695381;5880425 + 6305;45408;2387;2521;117695381;5880425 + 6306;45409;2387;2522;117695381;5925834 + 6307;45420;2387;2522;117695381;5925834 + 6308;45425;2397;2523;115394088;5540355 + 6309;45432;2399;2523;114954247;5453960 + 6310;45444;2399;2523;114954247;5453960 + 6311;45444;2402;2524;113531902;5369678 + 6312;45456;2402;2524;113531902;5369678 + 6313;45468;2402;2524;113531902;5369678 + 6314;45468;2402;2525;113531902;5415146 + 6315;45480;2402;2525;113531902;5415146 + 6316;45492;2402;2525;113531902;5415146 + 6317;45492;2402;2526;113531902;5460638 + 6318;45504;2402;2526;113531902;5460638 + 6319;45506;2402;2527;113531902;5506144 + 6320;45516;2402;2527;113531902;5506144 + 6321;45518;2404;2528;114324245;5465084 + 6322;45528;2404;2528;114324245;5465084 + 6323;45538;2407;2529;112909695;5380603 + 6324;45540;2407;2529;112909695;5380603 + 6325;45552;2407;2529;112909695;5380603 + 6326;45562;2407;2530;112909695;5426165 + 6327;45564;2407;2530;112909695;5426165 + 6328;45574;2407;2531;112909695;5471739 + 6329;45576;2407;2531;112909695;5471739 + 6330;45588;2407;2531;112909695;5471739 + 6331;45598;2407;2532;112909695;5517337 + 6332;45600;2407;2532;112909695;5517337 + 6333;45612;2407;2532;112909695;5517337 + 6334;45617;2407;2533;112909695;5562954 + 6335;45624;2407;2533;112909695;5562954 + 6336;45634;2407;2534;112909695;5608588 + 6337;45636;2407;2534;112909695;5608588 + 6338;45646;2407;2535;112909695;5654234 + 6339;45648;2407;2535;112909695;5654234 + 6340;45660;2407;2535;112909695;5654234 + 6341;45662;2407;2536;112909695;5699896 + 6342;45672;2407;2536;112909695;5699896 + 6343;45678;2407;2537;112909695;5745574 + 6344;45684;2407;2537;112909695;5745574 + 6345;45696;2407;2537;112909695;5745574 + 6346;45697;2407;2538;112909695;5791271 + 6347;45708;2407;2538;112909695;5791271 + 6348;45714;2407;2539;112909695;5836985 + 6349;45720;2407;2539;112909695;5836985 + 6350;45731;2407;2540;112909695;5882716 + 6351;45732;2407;2540;112909695;5882716 + 6352;45743;2407;2541;112909695;5928459 + 6353;45744;2407;2541;112909695;5928459 + 6354;45756;2407;2541;112909695;5928459 + 6355;45758;2407;2542;112909695;5974217 + 6356;45768;2407;2542;112909695;5974217 + 6357;45778;2407;2543;112909695;6019995 + 6358;45780;2407;2543;112909695;6019995 + 6359;45790;2407;2544;112909695;6065785 + 6360;45792;2407;2544;112909695;6065785 + 6361;45804;2407;2544;112909695;6065785 + 6362;45804;2409;2545;114986373;6024811 + 6363;45816;2409;2545;114986373;6024811 + 6364;45818;2409;2546;114986373;6070629 + 6365;45828;2409;2546;114986373;6070629 + 6366;45840;2415;2546;116582482;5809836 + 6367;45840;2415;2547;116582482;5855676 + 6368;45852;2415;2547;116582482;5855676 + 6369;45854;2415;2548;116582482;5901530 + 6370;45864;2415;2548;116582482;5901530 + 6371;45872;2415;2549;116582482;5947402 + 6372;45876;2415;2549;116582482;5947402 + 6373;45884;2415;2550;116582482;5993286 + 6374;45888;2415;2550;116582482;5993286 + 6375;45900;2415;2550;116582482;5993286 + 6376;45905;2415;2551;116582482;6039191 + 6377;45912;2415;2551;116582482;6039191 + 6378;45924;2415;2551;116582482;6039191 + 6379;45927;2423;2552;115197203;5736343 + 6380;45936;2423;2552;115197203;5736343 + 6381;45948;2423;2552;115197203;5736343 + 6382;45948;2423;2553;115197203;5782291 + 6383;45960;2423;2553;115197203;5782291 + 6384;45971;2423;2554;115197203;5828262 + 6385;45972;2423;2554;115197203;5828262 + 6386;45984;2423;2554;115197203;5828262 + 6387;45995;2423;2555;115197203;5874257 + 6388;45996;2423;2555;115197203;5874257 + 6389;46008;2423;2555;115197203;5874257 + 6390;46009;2423;2556;115197203;5920266 + 6391;46020;2423;2556;115197203;5920266 + 6392;46022;2423;2557;115197203;5966288 + 6393;46032;2423;2557;115197203;5966288 + 6394;46035;2423;2558;115197203;6012323 + 6395;46044;2423;2558;115197203;6012323 + 6396;46053;2423;2559;115197203;6058376 + 6397;46056;2423;2559;115197203;6058376 + 6398;46068;2423;2559;115197203;6058376 + 6399;46069;2423;2560;115197203;6104445 + 6400;46080;2423;2560;115197203;6104445 + 6401;46091;2426;2561;115716989;6019433 + 6402;46092;2426;2561;115716989;6019433 + 6403;46104;2426;2561;115716989;6019433 + 6404;46104;2431;2562;115093527;5846705 + 6405;46116;2431;2562;115093527;5846705 + 6406;46117;2431;2563;115093527;5892822 + 6407;46128;2431;2563;115093527;5892822 + 6408;46140;2431;2563;115093527;5892822 + 6409;46141;2431;2564;115093527;5938963 + 6410;46152;2431;2564;115093527;5938963 + 6411;46162;2431;2565;115093527;5985125 + 6412;46164;2431;2565;115093527;5985125 + 6413;46176;2431;2565;115093527;5985125 + 6414;46182;2431;2566;115093527;6031307 + 6415;46188;2431;2566;115093527;6031307 + 6416;46200;2431;2566;115093527;6031307 + 6417;46205;2439;2567;113099159;5726366 + 6418;46212;2439;2567;113099159;5726366 + 6419;46218;2439;2568;113099159;5772584 + 6420;46224;2439;2568;113099159;5772584 + 6421;46236;2439;2568;113099159;5772584 + 6422;46238;2444;2569;110317690;5598777 + 6423;46248;2444;2569;110317690;5598777 + 6424;46260;2444;2569;110317690;5598777 + 6425;46261;2444;2570;110317690;5645038 + 6426;46272;2444;2570;110317690;5645038 + 6427;46278;2444;2571;110317690;5691316 + 6428;46284;2444;2571;110317690;5691316 + 6429;46292;2444;2572;110317690;5737608 + 6430;46296;2444;2572;110317690;5737608 + 6431;46306;2444;2573;110317690;5783914 + 6432;46308;2444;2573;110317690;5783914 + 6433;46320;2444;2573;110317690;5783914 + 6434;46323;2444;2574;110317690;5830237 + 6435;46332;2444;2574;110317690;5830237 + 6436;46339;2444;2575;110317690;5876576 + 6437;46344;2444;2575;110317690;5876576 + 6438;46356;2444;2575;110317690;5876576 + 6439;46360;2444;2576;110317690;5922936 + 6440;46368;2444;2576;110317690;5922936 + 6441;46380;2444;2576;110317690;5922936 + 6442;46383;2444;2577;110317690;5969319 + 6443;46392;2444;2577;110317690;5969319 + 6444;46402;2450;2578;109125373;5751099 + 6445;46404;2450;2578;109125373;5751099 + 6446;46416;2450;2578;109125373;5751099 + 6447;46425;2454;2579;108945949;5620751 + 6448;46428;2454;2579;108945949;5620751 + 6449;46440;2454;2579;108945949;5620751 + 6450;46444;2454;2580;108945949;5667195 + 6451;46452;2454;2580;108945949;5667195 + 6452;46463;2454;2581;108945949;5713658 + 6453;46464;2454;2581;108945949;5713658 + 6454;46476;2454;2581;108945949;5713658 + 6455;46478;2454;2582;108945949;5760136 + 6456;46488;2454;2582;108945949;5760136 + 6457;46491;2454;2583;108945949;5806627 + 6458;46500;2454;2583;108945949;5806627 + 6459;46505;2454;2584;108945949;5853132 + 6460;46512;2454;2584;108945949;5853132 + 6461;46523;2454;2585;108945949;5899655 + 6462;46524;2454;2585;108945949;5899655 + 6463;46536;2454;2585;108945949;5899655 + 6464;46539;2454;2586;108945949;5946194 + 6465;46548;2454;2586;108945949;5946194 + 6466;46554;2454;2587;108945949;5992748 + 6467;46560;2454;2587;108945949;5992748 + 6468;46568;2454;2588;108945949;6039316 + 6469;46572;2454;2588;108945949;6039316 + 6470;46581;2454;2589;108945949;6085897 + 6471;46584;2454;2589;108945949;6085897 + 6472;46596;2454;2589;108945949;6085897 + 6473;46598;2455;2590;109866494;6088252 + 6474;46608;2455;2590;109866494;6088252 + 6475;46619;2455;2591;109866494;6134871 + 6476;46620;2455;2591;109866494;6134871 + 6477;46632;2455;2591;109866494;6134871 + 6478;46643;2457;2592;111835104;6092973 + 6479;46644;2457;2592;111835104;6092973 + 6480;46656;2457;2592;111835104;6092973 + 6481;46659;2457;2593;111835104;6139632 + 6482;46668;2457;2593;111835104;6139632 + 6483;46677;2457;2594;111835104;6186309 + 6484;46680;2457;2594;111835104;6186309 + 6485;46690;2457;2595;111835104;6232999 + 6486;46692;2457;2595;111835104;6232999 + 6487;46704;2457;2595;111835104;6232999 + 6488;46705;2457;2596;111835104;6279704 + 6489;46716;2457;2596;111835104;6279704 + 6490;46728;2457;2596;111835104;6279704 + 6491;46728;2465;2597;111647758;5971582 + 6492;46740;2465;2597;111647758;5971582 + 6493;46745;2465;2598;111647758;6018327 + 6494;46752;2465;2598;111647758;6018327 + 6495;46764;2465;2598;111647758;6018327 + 6496;46769;2465;2599;111647758;6065096 + 6497;46776;2465;2599;111647758;6065096 + 6498;46782;2465;2600;111647758;6111878 + 6499;46788;2465;2600;111647758;6111878 + 6500;46796;2465;2601;111647758;6158674 + 6501;46800;2465;2601;111647758;6158674 + 6502;46812;2465;2601;111647758;6158674 + 6503;46816;2465;2602;111647758;6205490 + 6504;46824;2465;2602;111647758;6205490 + 6505;46829;2470;2603;112843108;6029972 + 6506;46836;2470;2603;112843108;6029972 + 6507;46841;2470;2604;112843108;6076813 + 6508;46848;2470;2604;112843108;6076813 + 6509;46860;2470;2604;112843108;6076813 + 6510;46860;2470;2605;112843108;6123673 + 6511;46872;2470;2605;112843108;6123673 + 6512;46873;2471;2606;113771852;6126017 + 6513;46884;2471;2606;113771852;6126017 + 6514;46888;2471;2607;113771852;6172905 + 6515;46896;2471;2607;113771852;6172905 + 6516;46908;2471;2607;113771852;6172905 + 6517;46909;2471;2608;113771852;6219814 + 6518;46920;2471;2608;113771852;6219814 + 6519;46931;2471;2609;113771852;6266745 + 6520;46932;2471;2609;113771852;6266745 + 6521;46944;2471;2609;113771852;6266745 + 6522;46955;2471;2610;113771852;6313700 + 6523;46956;2471;2610;113771852;6313700 + 6524;46968;2471;2610;113771852;6313700 + 6525;46968;2471;2611;113771852;6360668 + 6526;46980;2471;2611;113771852;6360668 + 6527;46986;2478;2612;113137792;6095446 + 6528;46992;2478;2612;113137792;6095446 + 6529;46999;2484;2613;112755552;5874146 + 6530;47004;2484;2613;112755552;5874146 + 6531;47011;2484;2614;112755552;5921157 + 6532;47016;2484;2614;112755552;5921157 + 6533;47028;2484;2614;112755552;5921157 + 6534;47033;2484;2615;112755552;5968190 + 6535;47040;2484;2615;112755552;5968190 + 6536;47052;2484;2615;112755552;5968190 + 6537;47052;2484;2616;112755552;6015242 + 6538;47064;2484;2616;112755552;6015242 + 6539;47072;2484;2617;112755552;6062314 + 6540;47076;2484;2617;112755552;6062314 + 6541;47088;2484;2617;112755552;6062314 + 6542;47093;2484;2618;112755552;6109407 + 6543;47100;2484;2618;112755552;6109407 + 6544;47106;2484;2619;112755552;6156513 + 6545;47112;2484;2619;112755552;6156513 + 6546;47122;2484;2620;112755552;6203635 + 6547;47124;2484;2620;112755552;6203635 + 6548;47136;2484;2620;112755552;6203635 + 6549;47144;2487;2621;112794068;6116394 + 6550;47148;2487;2621;112794068;6116394 + 6551;47160;2489;2621;114466315;6026731 + 6552;47160;2489;2622;114466315;6073891 + 6553;47172;2489;2622;114466315;6073891 + 6554;47173;2489;2623;114466315;6121064 + 6555;47184;2489;2623;114466315;6121064 + 6556;47196;2489;2623;114466315;6121064 + 6557;47196;2489;2624;114466315;6168260 + 6558;47208;2489;2624;114466315;6168260 + 6559;47220;2489;2624;114466315;6168260 + 6560;47220;2489;2625;114466315;6215480 + 6561;47232;2489;2625;114466315;6215480 + 6562;47236;2489;2626;114466315;6262716 + 6563;47244;2489;2626;114466315;6262716 + 6564;47256;2489;2626;114466315;6262716 + 6565;47257;2489;2627;114466315;6309973 + 6566;47268;2489;2627;114466315;6309973 + 6567;47270;2489;2628;114466315;6357243 + 6568;47280;2489;2628;114466315;6357243 + 6569;47282;2489;2629;114466315;6404525 + 6570;47292;2489;2629;114466315;6404525 + 6571;47296;2489;2630;114466315;6451821 + 6572;47304;2489;2630;114466315;6451821 + 6573;47313;2489;2631;114466315;6499134 + 6574;47316;2489;2631;114466315;6499134 + 6575;47328;2489;2631;114466315;6499134 + 6576;47336;2493;2632;117133973;6366934 + 6577;47340;2493;2632;117133973;6366934 + 6578;47349;2498;2633;116861530;6189427 + 6579;47352;2498;2633;116861530;6189427 + 6580;47361;2498;2634;116861530;6236788 + 6581;47364;2498;2634;116861530;6236788 + 6582;47376;2498;2634;116861530;6236788 + 6583;47385;2502;2635;119692731;6103994 + 6584;47388;2502;2635;119692731;6103994 + 6585;47400;2502;2635;119692731;6103994 + 6586;47406;2512;2636;116184997;5699710 + 6587;47412;2512;2636;116184997;5699710 + 6588;47419;2512;2637;116184997;5747129 + 6589;47424;2512;2637;116184997;5747129 + 6590;47434;2512;2638;116184997;5794563 + 6591;47436;2512;2638;116184997;5794563 + 6592;47448;2512;2638;116184997;5794563 + 6593;47455;2513;2639;116582482;5796749 + 6594;47460;2513;2639;116582482;5796749 + 6595;47472;2513;2639;116582482;5796749 + 6596;47476;2513;2640;116582482;5844225 + 6597;47484;2513;2640;116582482;5844225 + 6598;47489;2513;2641;116582482;5891714 + 6599;47496;2513;2641;116582482;5891714 + 6600;47502;2513;2642;116582482;5939216 + 6601;47508;2513;2642;116582482;5939216 + 6602;47514;2513;2643;116582482;5986730 + 6603;47520;2513;2643;116582482;5986730 + 6604;47531;2513;2644;116582482;6034261 + 6605;47532;2513;2644;116582482;6034261 + 6606;47544;2513;2644;116582482;6034261 + 6607;47555;2513;2645;116582482;6081816 + 6608;47556;2513;2645;116582482;6081816 + 6609;47568;2513;2645;116582482;6081816 + 6610;47568;2513;2646;116582482;6129384 + 6611;47580;2513;2646;116582482;6129384 + 6612;47584;2513;2647;116582482;6176968 + 6613;47592;2513;2647;116582482;6176968 + 6614;47596;2513;2648;116582482;6224564 + 6615;47604;2513;2648;116582482;6224564 + 6616;47614;2513;2649;116582482;6272178 + 6617;47616;2513;2649;116582482;6272178 + 6618;47628;2513;2649;116582482;6272178 + 6619;47637;2513;2650;116582482;6319815 + 6620;47640;2513;2650;116582482;6319815 + 6621;47649;2513;2651;116582482;6367464 + 6622;47652;2513;2651;116582482;6367464 + 6623;47664;2513;2651;116582482;6367464 + 6624;47666;2513;2652;116582482;6415130 + 6625;47676;2513;2652;116582482;6415130 + 6626;47680;2513;2653;116582482;6462810 + 6627;47688;2513;2653;116582482;6462810 + 6628;47694;2513;2654;116582482;6510504 + 6629;47700;2513;2654;116582482;6510504 + 6630;47712;2513;2654;116582482;6510504 + 6631;47717;2513;2655;116582482;6558221 + 6632;47724;2513;2655;116582482;6558221 + 6633;47731;2517;2656;117032187;6424714 + 6634;47736;2517;2656;117032187;6424714 + 6635;47744;2517;2657;117032187;6472458 + 6636;47748;2517;2657;117032187;6472458 + 6637;47758;2521;2658;116109268;6338704 + 6638;47760;2521;2658;116109268;6338704 + 6639;47772;2521;2658;116109268;6338704 + 6640;47777;2521;2659;116109268;6386481 + 6641;47784;2521;2659;116109268;6386481 + 6642;47796;2521;2659;116109268;6386481 + 6643;47797;2521;2660;116109268;6434278 + 6644;47808;2521;2660;116109268;6434278 + 6645;47809;2521;2661;116109268;6482087 + 6646;47820;2521;2661;116109268;6482087 + 6647;47823;2521;2662;116109268;6529910 + 6648;47832;2521;2662;116109268;6529910 + 6649;47836;2525;2663;117075798;6395917 + 6650;47844;2532;2663;117254049;6077004 + 6651;47850;2532;2664;117254049;6124854 + 6652;47856;2532;2664;117254049;6124854 + 6653;47868;2532;2664;117254049;6124854 + 6654;47874;2532;2665;117254049;6172728 + 6655;47880;2532;2665;117254049;6172728 + 6656;47891;2532;2666;117254049;6220619 + 6657;47892;2532;2666;117254049;6220619 + 6658;47904;2532;2666;117254049;6220619 + 6659;47911;2538;2667;114622797;5994499 + 6660;47916;2538;2667;114622797;5994499 + 6661;47926;2538;2668;114622797;6042425 + 6662;47928;2538;2668;114622797;6042425 + 6663;47939;2538;2669;114622797;6090364 + 6664;47940;2538;2669;114622797;6090364 + 6665;47952;2538;2669;114622797;6090364 + 6666;47962;2538;2670;114622797;6138326 + 6667;47964;2538;2670;114622797;6138326 + 6668;47976;2538;2670;114622797;6138326 + 6669;47985;2538;2671;114622797;6186311 + 6670;47988;2538;2671;114622797;6186311 + 6671;48000;2538;2671;114622797;6186311 + 6672;48004;2538;2672;114622797;6234315 + 6673;48012;2538;2672;114622797;6234315 + 6674;48024;2538;2672;114622797;6234315 + 6675;48028;2538;2673;114622797;6282343 + 6676;48036;2538;2673;114622797;6282343 + 6677;48042;2538;2674;114622797;6330385 + 6678;48048;2538;2674;114622797;6330385 + 6679;48058;2546;2675;110578310;6012181 + 6680;48060;2546;2675;110578310;6012181 + 6681;48072;2546;2675;110578310;6012181 + 6682;48078;2546;2676;110578310;6060259 + 6683;48084;2546;2676;110578310;6060259 + 6684;48091;2546;2677;110578310;6108350 + 6685;48096;2546;2677;110578310;6108350 + 6686;48103;2546;2678;110578310;6156453 + 6687;48108;2546;2678;110578310;6156453 + 6688;48120;2546;2678;110578310;6156453 + 6689;48124;2546;2679;110578310;6204577 + 6690;48132;2546;2679;110578310;6204577 + 6691;48136;2546;2680;110578310;6252713 + 6692;48144;2546;2680;110578310;6252713 + 6693;48156;2546;2680;110578310;6252713 + 6694;48158;2546;2681;110578310;6300871 + 6695;48168;2546;2681;110578310;6300871 + 6696;48179;2546;2682;110578310;6349050 + 6697;48180;2546;2682;110578310;6349050 + 6698;48192;2546;2682;110578310;6349050 + 6699;48197;2546;2683;110578310;6397247 + 6700;48204;2546;2683;110578310;6397247 + 6701;48214;2546;2684;110578310;6445461 + 6702;48216;2546;2684;110578310;6445461 + 6703;48228;2546;2684;110578310;6445461 + 6704;48238;2548;2685;111049668;6401973 + 6705;48240;2548;2685;111049668;6401973 + 6706;48252;2550;2685;112843108;6310184 + 6707;48260;2550;2686;112843108;6358444 + 6708;48264;2550;2686;112843108;6358444 + 6709;48276;2550;2686;112843108;6358444 + 6710;48279;2552;2687;113672988;6314848 + 6711;48288;2552;2687;113672988;6314848 + 6712;48297;2552;2688;113672988;6363145 + 6713;48300;2552;2688;113672988;6363145 + 6714;48312;2552;2688;113672988;6363145 + 6715;48316;2552;2689;113672988;6411461 + 6716;48324;2552;2689;113672988;6411461 + 6717;48336;2552;2689;113672988;6411461 + 6718;48337;2559;2690;113116718;6137644 + 6719;48348;2559;2690;113116718;6137644 + 6720;48357;2559;2691;113116718;6186001 + 6721;48360;2559;2691;113116718;6186001 + 6722;48370;2559;2692;113116718;6234371 + 6723;48372;2559;2692;113116718;6234371 + 6724;48384;2559;2692;113116718;6234371 + 6725;48387;2559;2693;113116718;6282758 + 6726;48396;2559;2693;113116718;6282758 + 6727;48408;2559;2693;113116718;6282758 + 6728;48408;2559;2694;113116718;6331166 + 6729;48420;2559;2694;113116718;6331166 + 6730;48420;2559;2695;113116718;6379586 + 6731;48432;2559;2695;113116718;6379586 + 6732;48439;2559;2696;113116718;6428025 + 6733;48444;2559;2696;113116718;6428025 + 6734;48451;2559;2697;113116718;6476476 + 6735;48456;2559;2697;113116718;6476476 + 6736;48463;2559;2698;113116718;6524939 + 6737;48468;2559;2698;113116718;6524939 + 6738;48480;2559;2698;113116718;6524939 + 6739;48485;2559;2699;113116718;6573424 + 6740;48492;2559;2699;113116718;6573424 + 6741;48499;2559;2700;113116718;6621923 + 6742;48504;2559;2700;113116718;6621923 + 6743;48516;2559;2700;113116718;6621923 + 6744;48518;2559;2701;113116718;6670441 + 6745;48528;2559;2701;113116718;6670441 + 6746;48533;2559;2702;113116718;6718974 + 6747;48540;2559;2702;113116718;6718974 + 6748;48552;2559;2702;113116718;6718974 + 6749;48552;2561;2703;113598896;6675331 + 6750;48564;2561;2703;113598896;6675331 + 6751;48572;2561;2704;113598896;6723903 + 6752;48576;2561;2704;113598896;6723903 + 6753;48588;2561;2704;113598896;6723903 + 6754;48588;2566;2705;117531055;6541684 + 6755;48600;2566;2705;117531055;6541684 + 6756;48603;2566;2706;117531055;6590287 + 6757;48612;2566;2706;117531055;6590287 + 6758;48624;2566;2706;117531055;6590287 + 6759;48625;2566;2707;117531055;6638912 + 6760;48636;2566;2707;117531055;6638912 + 6761;48637;2566;2708;117531055;6687549 + 6762;48648;2566;2708;117531055;6687549 + 6763;48649;2566;2709;117531055;6736198 + 6764;48660;2566;2709;117531055;6736198 + 6765;48665;2571;2710;119477383;6553576 + 6766;48672;2571;2710;119477383;6553576 + 6767;48684;2571;2710;119477383;6553576 + 6768;48687;2571;2711;119477383;6602263 + 6769;48696;2571;2711;119477383;6602263 + 6770;48701;2571;2712;119477383;6650964 + 6771;48708;2571;2712;119477383;6650964 + 6772;48719;2571;2713;119477383;6699683 + 6773;48720;2571;2713;119477383;6699683 + 6774;48732;2571;2713;119477383;6699683 + 6775;48742;2571;2714;119477383;6748425 + 6776;48744;2571;2714;119477383;6748425 + 6777;48756;2571;2714;119477383;6748425 + 6778;48765;2579;2715;120884102;6426208 + 6779;48768;2579;2715;120884102;6426208 + 6780;48777;2579;2716;120884102;6474985 + 6781;48780;2579;2716;120884102;6474985 + 6782;48792;2579;2716;120884102;6474985 + 6783;48793;2579;2717;120884102;6523778 + 6784;48804;2579;2717;120884102;6523778 + 6785;48807;2579;2718;120884102;6572585 + 6786;48816;2579;2718;120884102;6572585 + 6787;48828;2579;2718;120884102;6572585 + 6788;48830;2579;2719;120884102;6621415 + 6789;48840;2579;2719;120884102;6621415 + 6790;48843;2581;2720;121648415;6577317 + 6791;48852;2581;2720;121648415;6577317 + 6792;48856;2581;2721;121648415;6626173 + 6793;48864;2581;2721;121648415;6626173 + 6794;48876;2581;2721;121648415;6626173 + 6795;48877;2581;2722;121648415;6675050 + 6796;48888;2581;2722;121648415;6675050 + 6797;48891;2586;2723;124398451;6491329 + 6798;48900;2586;2723;124398451;6491329 + 6799;48905;2586;2724;124398451;6540234 + 6800;48912;2586;2724;124398451;6540234 + 6801;48917;2586;2725;124398451;6589151 + 6802;48924;2586;2725;124398451;6589151 + 6803;48932;2591;2726;123551631;6405074 + 6804;48936;2591;2726;123551631;6405074 + 6805;48948;2591;2726;123551631;6405074 + 6806;48954;2591;2727;123551631;6454028 + 6807;48960;2591;2727;123551631;6454028 + 6808;48972;2591;2727;123551631;6454028 + 6809;48976;2591;2728;123551631;6503004 + 6810;48984;2591;2728;123551631;6503004 + 6811;48996;2591;2728;123551631;6503004 + 6812;48996;2591;2729;123551631;6552000 + 6813;49008;2591;2729;123551631;6552000 + 6814;49015;2591;2730;123551631;6601015 + 6815;49020;2591;2730;123551631;6601015 + 6816;49032;2591;2730;123551631;6601015 + 6817;49037;2591;2731;123551631;6650052 + 6818;49044;2591;2731;123551631;6650052 + 6819;49053;2591;2732;123551631;6699105 + 6820;49056;2591;2732;123551631;6699105 + 6821;49068;2596;2732;125426195;6465646 + 6822;49076;2596;2733;125426195;6514722 + 6823;49080;2596;2733;125426195;6514722 + 6824;49092;2596;2733;125426195;6514722 + 6825;49093;2596;2734;125426195;6563815 + 6826;49104;2596;2734;125426195;6563815 + 6827;49108;2596;2735;125426195;6612923 + 6828;49116;2596;2735;125426195;6612923 + 6829;49128;2596;2735;125426195;6612923 + 6830;49129;2596;2736;125426195;6662052 + 6831;49140;2596;2736;125426195;6662052 + 6832;49146;2596;2737;125426195;6711198 + 6833;49152;2596;2737;125426195;6711198 + 6834;49158;2596;2738;125426195;6760356 + 6835;49164;2596;2738;125426195;6760356 + 6836;49176;2596;2738;125426195;6760356 + 6837;49179;2596;2739;125426195;6809535 + 6838;49188;2596;2739;125426195;6809535 + 6839;49196;2596;2740;125426195;6858731 + 6840;49200;2596;2740;125426195;6858731 + 6841;49211;2603;2741;128468881;6580364 + 6842;49212;2603;2741;128468881;6580364 + 6843;49224;2603;2741;128468881;6580364 + 6844;49225;2603;2742;128468881;6629589 + 6845;49236;2603;2742;128468881;6629589 + 6846;49239;2603;2743;128468881;6678828 + 6847;49248;2603;2743;128468881;6678828 + 6848;49260;2603;2743;128468881;6678828 + 6849;49263;2603;2744;128468881;6728091 + 6850;49272;2603;2744;128468881;6728091 + 6851;49276;2603;2745;128468881;6777367 + 6852;49284;2603;2745;128468881;6777367 + 6853;49288;2603;2746;128468881;6826655 + 6854;49296;2603;2746;128468881;6826655 + 6855;49306;2608;2747;128098464;6641500 + 6856;49308;2608;2747;128098464;6641500 + 6857;49320;2608;2747;128098464;6641500 + 6858;49320;2612;2748;126564559;6502912 + 6859;49332;2612;2748;126564559;6502912 + 6860;49333;2612;2749;126564559;6552245 + 6861;49344;2612;2749;126564559;6552245 + 6862;49348;2612;2750;126564559;6601593 + 6863;49356;2612;2750;126564559;6601593 + 6864;49368;2612;2750;126564559;6601593 + 6865;49368;2612;2751;126564559;6650961 + 6866;49380;2612;2751;126564559;6650961 + 6867;49382;2612;2752;126564559;6700343 + 6868;49392;2612;2752;126564559;6700343 + 6869;49395;2612;2753;126564559;6749738 + 6870;49404;2612;2753;126564559;6749738 + 6871;49410;2612;2754;126564559;6799148 + 6872;49416;2612;2754;126564559;6799148 + 6873;49424;2612;2755;126564559;6848572 + 6874;49428;2612;2755;126564559;6848572 + 6875;49440;2612;2755;126564559;6848572 + 6876;49447;2614;2756;127852114;6803975 + 6877;49452;2614;2756;127852114;6803975 + 6878;49464;2615;2756;129164797;6756923 + 6879;49464;2615;2757;129164797;6806387 + 6880;49476;2615;2757;129164797;6806387 + 6881;49488;2615;2757;129164797;6806387 + 6882;49488;2615;2758;129164797;6855875 + 6883;49500;2615;2758;129164797;6855875 + 6884;49509;2615;2759;129164797;6905384 + 6885;49512;2615;2759;129164797;6905384 + 6886;49524;2619;2759;129425732;6716991 + 6887;49525;2619;2760;129425732;6766516 + 6888;49536;2619;2760;129425732;6766516 + 6889;49541;2619;2761;129425732;6816057 + 6890;49548;2619;2761;129425732;6816057 + 6891;49560;2619;2761;129425732;6816057 + 6892;49560;2625;2762;127748946;6582488 + 6893;49572;2625;2762;127748946;6582488 + 6894;49582;2625;2763;127748946;6632070 + 6895;49584;2625;2763;127748946;6632070 + 6896;49596;2625;2763;127748946;6632070 + 6897;49600;2626;2764;128756390;6634413 + 6898;49608;2626;2764;128756390;6634413 + 6899;49612;2631;2765;127856083;6447528 + 6900;49620;2631;2765;127856083;6447528 + 6901;49625;2631;2766;127856083;6497153 + 6902;49632;2631;2766;127856083;6497153 + 6903;49644;2631;2766;127856083;6497153 + 6904;49646;2631;2767;127856083;6546799 + 6905;49656;2631;2767;127856083;6546799 + 6906;49661;2631;2768;127856083;6596460 + 6907;49668;2631;2768;127856083;6596460 + 6908;49674;2631;2769;127856083;6646134 + 6909;49680;2631;2769;127856083;6646134 + 6910;49688;2631;2770;127856083;6695822 + 6911;49692;2631;2770;127856083;6695822 + 6912;49704;2631;2770;127856083;6695822 + 6913;49704;2631;2771;127856083;6745526 + 6914;49716;2631;2771;127856083;6745526 + 6915;49719;2631;2772;127856083;6795245 + 6916;49728;2631;2772;127856083;6795245 + 6917;49736;2631;2773;127856083;6844981 + 6918;49740;2631;2773;127856083;6844981 + 6919;49751;2631;2774;127856083;6894732 + 6920;49752;2631;2774;127856083;6894732 + 6921;49764;2631;2774;127856083;6894732 + 6922;49769;2631;2775;127856083;6944501 + 6923;49776;2631;2775;127856083;6944501 + 6924;49786;2638;2776;130345186;6662478 + 6925;49788;2638;2776;130345186;6662478 + 6926;49800;2638;2776;130345186;6662478 + 6927;49806;2638;2777;130345186;6712284 + 6928;49812;2638;2777;130345186;6712284 + 6929;49822;2638;2778;130345186;6762106 + 6930;49824;2638;2778;130345186;6762106 + 6931;49836;2638;2778;130345186;6762106 + 6932;49838;2644;2779;130539586;6526877 + 6933;49848;2644;2779;130539586;6526877 + 6934;49857;2644;2780;130539586;6576734 + 6935;49860;2644;2780;130539586;6576734 + 6936;49872;2644;2780;130539586;6576734 + 6937;49877;2648;2781;130446399;6436249 + 6938;49884;2648;2781;130446399;6436249 + 6939;49896;2648;2781;130446399;6436249 + 6940;49901;2648;2782;130446399;6486150 + 6941;49908;2648;2782;130446399;6486150 + 6942;49920;2648;2782;130446399;6486150 + 6943;49924;2648;2783;130446399;6536074 + 6944;49932;2648;2783;130446399;6536074 + 6945;49944;2648;2783;130446399;6536074 + 6946;49946;2648;2784;130446399;6586020 + 6947;49956;2648;2784;130446399;6586020 + 6948;49968;2648;2784;130446399;6586020 + 6949;49969;2648;2785;130446399;6635989 + 6950;49980;2648;2785;130446399;6635989 + 6951;49982;2648;2786;130446399;6685971 + 6952;49992;2648;2786;130446399;6685971 + 6953;49995;2650;2787;131051266;6640680 + 6954;50004;2650;2787;131051266;6640680 + 6955;50016;2650;2787;131051266;6640680 + 6956;50016;2650;2788;131051266;6690696 + 6957;50028;2650;2788;131051266;6690696 + 6958;50039;2660;2789;128648499;6263362 + 6959;50040;2660;2789;128648499;6263362 + 6960;50052;2660;2789;128648499;6263362 + 6961;50060;2664;2790;127297579;6122039 + 6962;50064;2664;2790;127297579;6122039 + 6963;50076;2664;2790;127297579;6122039 + 6964;50083;2664;2791;127297579;6172122 + 6965;50088;2664;2791;127297579;6172122 + 6966;50100;2664;2791;127297579;6172122 + 6967;50100;2664;2792;127297579;6222222 + 6968;50112;2664;2792;127297579;6222222 + 6969;50117;2664;2793;127297579;6272339 + 6970;50124;2664;2793;127297579;6272339 + 6971;50136;2664;2793;127297579;6272339 + 6972;50136;2664;2794;127297579;6322475 + 6973;50148;2664;2794;127297579;6322475 + 6974;50154;2664;2795;127297579;6372629 + 6975;50160;2664;2795;127297579;6372629 + 6976;50169;2664;2796;127297579;6422798 + 6977;50172;2664;2796;127297579;6422798 + 6978;50184;2664;2796;127297579;6422798 + 6979;50192;2666;2797;128182013;6377188 + 6980;50196;2666;2797;128182013;6377188 + 6981;50206;2673;2798;126729710;6091508 + 6982;50208;2673;2798;126729710;6091508 + 6983;50219;2673;2799;126729710;6141727 + 6984;50220;2673;2799;126729710;6141727 + 6985;50232;2673;2799;126729710;6141727 + 6986;50239;2673;2800;126729710;6191966 + 6987;50244;2673;2800;126729710;6191966 + 6988;50251;2673;2801;126729710;6242217 + 6989;50256;2673;2801;126729710;6242217 + 6990;50268;2673;2801;126729710;6242217 + 6991;50273;2673;2802;126729710;6292490 + 6992;50280;2673;2802;126729710;6292490 + 6993;50286;2673;2803;126729710;6342776 + 6994;50292;2673;2803;126729710;6342776 + 6995;50304;2673;2803;126729710;6342776 + 6996;50310;2673;2804;126729710;6393086 + 6997;50316;2673;2804;126729710;6393086 + 6998;50328;2673;2804;126729710;6393086 + 6999;50333;2677;2805;126062568;6251089 + 7000;50340;2677;2805;126062568;6251089 + 7001;50352;2677;2805;126062568;6251089 + 7002;50353;2677;2806;126062568;6301442 + 7003;50364;2677;2806;126062568;6301442 + 7004;50372;2677;2807;126062568;6351814 + 7005;50376;2677;2807;126062568;6351814 + 7006;50385;2677;2808;126062568;6402199 + 7007;50388;2677;2808;126062568;6402199 + 7008;50400;2677;2808;126062568;6402199 + 7009;50408;2677;2809;126062568;6452607 + 7010;50412;2677;2809;126062568;6452607 + 7011;50424;2677;2809;126062568;6452607 + 7012;50427;2680;2810;126867500;6358616 + 7013;50436;2680;2810;126867500;6358616 + 7014;50447;2680;2811;126867500;6409063 + 7015;50448;2680;2811;126867500;6409063 + 7016;50460;2680;2811;126867500;6409063 + 7017;50466;2680;2812;126867500;6459529 + 7018;50472;2680;2812;126867500;6459529 + 7019;50484;2680;2812;126867500;6459529 + 7020;50489;2683;2813;125749836;6365428 + 7021;50496;2683;2813;125749836;6365428 + 7022;50506;2683;2814;125749836;6415934 + 7023;50508;2683;2814;125749836;6415934 + 7024;50520;2683;2814;125749836;6415934 + 7025;50524;2683;2815;125749836;6466458 + 7026;50532;2683;2815;125749836;6466458 + 7027;50541;2683;2816;125749836;6516999 + 7028;50544;2683;2816;125749836;6516999 + 7029;50556;2683;2816;125749836;6516999 + 7030;50560;2683;2817;125749836;6567559 + 7031;50568;2683;2817;125749836;6567559 + 7032;50573;2683;2818;125749836;6618132 + 7033;50580;2683;2818;125749836;6618132 + 7034;50590;2683;2819;125749836;6668722 + 7035;50592;2683;2819;125749836;6668722 + 7036;50604;2683;2819;125749836;6668722 + 7037;50610;2683;2820;125749836;6719332 + 7038;50616;2683;2820;125749836;6719332 + 7039;50628;2683;2820;125749836;6719332 + 7040;50631;2683;2821;125749836;6769963 + 7041;50640;2683;2821;125749836;6769963 + 7042;50644;2683;2822;125749836;6820607 + 7043;50652;2683;2822;125749836;6820607 + 7044;50664;2683;2822;125749836;6820607 + 7045;50666;2683;2823;125749836;6871273 + 7046;50676;2683;2823;125749836;6871273 + 7047;50680;2683;2824;125749836;6921953 + 7048;50688;2683;2824;125749836;6921953 + 7049;50700;2688;2824;125422301;6680563 + 7050;50702;2688;2825;125422301;6731265 + 7051;50712;2688;2825;125422301;6731265 + 7052;50718;2688;2826;125422301;6781983 + 7053;50724;2688;2826;125422301;6781983 + 7054;50731;2688;2827;125422301;6832714 + 7055;50736;2688;2827;125422301;6832714 + 7056;50748;2688;2827;125422301;6832714 + 7057;50754;2688;2828;125422301;6883468 + 7058;50760;2688;2828;125422301;6883468 + 7059;50772;2688;2828;125422301;6883468 + 7060;50777;2690;2829;127645862;6837551 + 7061;50784;2690;2829;127645862;6837551 + 7062;50796;2692;2829;130357327;6740794 + 7063;50799;2692;2830;130357327;6791593 + 7064;50808;2692;2830;130357327;6791593 + 7065;50816;2692;2831;130357327;6842409 + 7066;50820;2692;2831;130357327;6842409 + 7067;50831;2692;2832;130357327;6893240 + 7068;50832;2692;2832;130357327;6893240 + 7069;50844;2692;2832;130357327;6893240 + 7070;50849;2692;2833;130357327;6944089 + 7071;50856;2692;2833;130357327;6944089 + 7072;50868;2700;2833;126380002;6556406 + 7073;50873;2700;2834;126380002;6607279 + 7074;50880;2700;2834;126380002;6607279 + 7075;50892;2700;2834;126380002;6607279 + 7076;50893;2700;2835;126380002;6658172 + 7077;50904;2700;2835;126380002;6658172 + 7078;50912;2700;2836;126380002;6709084 + 7079;50916;2700;2836;126380002;6709084 + 7080;50928;2700;2836;126380002;6709084 + 7081;50930;2700;2837;126380002;6760014 + 7082;50940;2700;2837;126380002;6760014 + 7083;50947;2700;2838;126380002;6810961 + 7084;50952;2700;2838;126380002;6810961 + 7085;50964;2700;2838;126380002;6810961 + 7086;50969;2700;2839;126380002;6861930 + 7087;50976;2700;2839;126380002;6861930 + 7088;50987;2700;2840;126380002;6912917 + 7089;50988;2700;2840;126380002;6912917 + 7090;51000;2700;2840;126380002;6912917 + 7091;51011;2707;2841;126195715;6623818 + 7092;51012;2707;2841;126195715;6623818 + 7093;51024;2707;2841;126195715;6623818 + 7094;51028;2707;2842;126195715;6674846 + 7095;51036;2707;2842;126195715;6674846 + 7096;51048;2707;2842;126195715;6674846 + 7097;51048;2707;2843;126195715;6725894 + 7098;51060;2707;2843;126195715;6725894 + 7099;51071;2710;2844;127325248;6630964 + 7100;51072;2710;2844;127325248;6630964 + 7101;51083;2710;2845;127325248;6682047 + 7102;51084;2710;2845;127325248;6682047 + 7103;51096;2715;2845;127804488;6438343 + 7104;51097;2715;2846;127804488;6489440 + 7105;51108;2715;2846;127804488;6489440 + 7106;51112;2715;2847;127804488;6540552 + 7107;51120;2715;2847;127804488;6540552 + 7108;51132;2715;2847;127804488;6540552 + 7109;51133;2715;2848;127804488;6591685 + 7110;51144;2715;2848;127804488;6591685 + 7111;51156;2715;2848;127804488;6591685 + 7112;51156;2715;2849;127804488;6642841 + 7113;51168;2715;2849;127804488;6642841 + 7114;51170;2715;2850;127804488;6694011 + 7115;51180;2715;2850;127804488;6694011 + 7116;51188;2720;2851;129124700;6501070 + 7117;51192;2720;2851;129124700;6501070 + 7118;51204;2720;2851;129124700;6501070 + 7119;51212;2720;2852;129124700;6552282 + 7120;51216;2720;2852;129124700;6552282 + 7121;51227;2720;2853;129124700;6603509 + 7122;51228;2720;2853;129124700;6603509 + 7123;51240;2720;2853;129124700;6603509 + 7124;51249;2720;2854;129124700;6654758 + 7125;51252;2720;2854;129124700;6654758 + 7126;51264;2720;2854;129124700;6654758 + 7127;51265;2720;2855;129124700;6706023 + 7128;51276;2720;2855;129124700;6706023 + 7129;51284;2720;2856;129124700;6757307 + 7130;51288;2720;2856;129124700;6757307 + 7131;51300;2720;2856;129124700;6757307 + 7132;51307;2720;2857;129124700;6808614 + 7133;51312;2720;2857;129124700;6808614 + 7134;51322;2720;2858;129124700;6859936 + 7135;51324;2720;2858;129124700;6859936 + 7136;51335;2720;2859;129124700;6911271 + 7137;51336;2720;2859;129124700;6911271 + 7138;51348;2720;2859;129124700;6911271 + 7139;51358;2730;2860;129056564;6473129 + 7140;51360;2730;2860;129056564;6473129 + 7141;51372;2730;2860;129056564;6473129 + 7142;51372;2734;2861;125976489;6328171 + 7143;51384;2734;2861;125976489;6328171 + 7144;51388;2734;2862;125976489;6379559 + 7145;51396;2734;2862;125976489;6379559 + 7146;51401;2734;2863;125976489;6430960 + 7147;51408;2734;2863;125976489;6430960 + 7148;51416;2734;2864;125976489;6482376 + 7149;51420;2734;2864;125976489;6482376 + 7150;51432;2734;2864;125976489;6482376 + 7151;51433;2734;2865;125976489;6533809 + 7152;51444;2734;2865;125976489;6533809 + 7153;51446;2734;2866;125976489;6585255 + 7154;51456;2734;2866;125976489;6585255 + 7155;51466;2734;2867;125976489;6636721 + 7156;51468;2734;2867;125976489;6636721 + 7157;51480;2734;2867;125976489;6636721 + 7158;51482;2734;2868;125976489;6688203 + 7159;51492;2734;2868;125976489;6688203 + 7160;51497;2741;2869;124564643;6395456 + 7161;51504;2741;2869;124564643;6395456 + 7162;51512;2744;2870;123962771;6299190 + 7163;51516;2744;2870;123962771;6299190 + 7164;51526;2744;2871;123962771;6350716 + 7165;51528;2744;2871;123962771;6350716 + 7166;51540;2744;2871;123962771;6350716 + 7167;51542;2744;2872;123962771;6402258 + 7168;51552;2744;2872;123962771;6402258 + 7169;51564;2744;2872;123962771;6402258 + 7170;51565;2744;2873;123962771;6453823 + 7171;51576;2744;2873;123962771;6453823 + 7172;51584;2744;2874;123962771;6505407 + 7173;51588;2744;2874;123962771;6505407 + 7174;51597;2744;2875;123962771;6557004 + 7175;51600;2744;2875;123962771;6557004 + 7176;51612;2744;2875;123962771;6557004 + 7177;51621;2744;2876;123962771;6608625 + 7178;51624;2744;2876;123962771;6608625 + 7179;51636;2744;2876;123962771;6608625 + 7180;51638;2744;2877;123962771;6660263 + 7181;51648;2744;2877;123962771;6660263 + 7182;51655;2744;2878;123962771;6711918 + 7183;51660;2744;2878;123962771;6711918 + 7184;51672;2744;2878;123962771;6711918 + 7185;51672;2744;2879;123962771;6763590 + 7186;51684;2744;2879;123962771;6763590 + 7187;51694;2744;2880;123962771;6815284 + 7188;51696;2744;2880;123962771;6815284 + 7189;51708;2744;2880;123962771;6815284 + 7190;51708;2749;2881;123924289;6620397 + 7191;51720;2749;2881;123924289;6620397 + 7192;51729;2752;2882;126332925;6523981 + 7193;51732;2752;2882;126332925;6523981 + 7194;51744;2752;2882;126332925;6523981 + 7195;51752;2752;2883;126332925;6575733 + 7196;51756;2752;2883;126332925;6575733 + 7197;51768;2752;2883;126332925;6575733 + 7198;51774;2752;2884;126332925;6627507 + 7199;51780;2752;2884;126332925;6627507 + 7200;51792;2752;2884;126332925;6627507 + 7201;51797;2752;2885;126332925;6679304 + 7202;51804;2752;2885;126332925;6679304 + 7203;51813;2752;2886;126332925;6731117 + 7204;51816;2752;2886;126332925;6731117 + 7205;51826;2752;2887;126332925;6782943 + 7206;51828;2752;2887;126332925;6782943 + 7207;51840;2752;2887;126332925;6782943 + 7208;51846;2752;2888;126332925;6834789 + 7209;51852;2752;2888;126332925;6834789 + 7210;51861;2756;2889;129120691;6688905 + 7211;51864;2756;2889;129120691;6688905 + 7212;51876;2756;2889;129120691;6688905 + 7213;51876;2756;2890;129120691;6740781 + 7214;51888;2756;2890;129120691;6740781 + 7215;51889;2756;2891;129120691;6792670 + 7216;51900;2756;2891;129120691;6792670 + 7217;51910;2766;2892;127812424;6348892 + 7218;51912;2766;2892;127812424;6348892 + 7219;51924;2766;2892;127812424;6348892 + 7220;51934;2768;2893;126372155;6301491 + 7221;51936;2768;2893;126372155;6301491 + 7222;51948;2768;2893;126372155;6301491 + 7223;51950;2768;2894;126372155;6353441 + 7224;51960;2768;2894;126372155;6353441 + 7225;51965;2768;2895;126372155;6405406 + 7226;51972;2768;2895;126372155;6405406 + 7227;51980;2768;2896;126372155;6457386 + 7228;51984;2768;2896;126372155;6457386 + 7229;51996;2768;2896;126372155;6457386 + 7230;51997;2768;2897;126372155;6509383 + 7231;52008;2768;2897;126372155;6509383 + 7232;52013;2768;2898;126372155;6561396 + 7233;52020;2768;2898;126372155;6561396 + 7234;52031;2768;2899;126372155;6613427 + 7235;52032;2768;2899;126372155;6613427 + 7236;52044;2768;2899;126372155;6613427 + 7237;52049;2768;2900;126372155;6665476 + 7238;52056;2768;2900;126372155;6665476 + 7239;52064;2768;2901;126372155;6717540 + 7240;52068;2768;2901;126372155;6717540 + 7241;52080;2768;2901;126372155;6717540 + 7242;52087;2768;2902;126372155;6769627 + 7243;52092;2768;2902;126372155;6769627 + 7244;52104;2768;2902;126372155;6769627 + 7245;52107;2768;2903;126372155;6821734 + 7246;52116;2768;2903;126372155;6821734 + 7247;52121;2776;2904;127021214;6475896 + 7248;52128;2776;2904;127021214;6475896 + 7249;52136;2776;2905;127021214;6528032 + 7250;52140;2776;2905;127021214;6528032 + 7251;52152;2776;2905;127021214;6528032 + 7252;52153;2776;2906;127021214;6580185 + 7253;52164;2777;2906;128062674;6530363 + 7254;52173;2777;2907;128062674;6582536 + 7255;52176;2777;2907;128062674;6582536 + 7256;52188;2777;2907;128062674;6582536 + 7257;52189;2777;2908;128062674;6634725 + 7258;52200;2777;2908;128062674;6634725 + 7259;52210;2777;2909;128062674;6686935 + 7260;52212;2777;2909;128062674;6686935 + 7261;52224;2780;2909;129779838;6537363 + 7262;52231;2782;2910;130328999;6489769 + 7263;52236;2782;2910;130328999;6489769 + 7264;52248;2782;2910;130328999;6489769 + 7265;52250;2782;2911;130328999;6542019 + 7266;52260;2782;2911;130328999;6542019 + 7267;52266;2782;2912;130328999;6594285 + 7268;52272;2782;2912;130328999;6594285 + 7269;52282;2782;2913;130328999;6646567 + 7270;52284;2782;2913;130328999;6646567 + 7271;52296;2782;2913;130328999;6646567 + 7272;52298;2787;2914;130482856;6448957 + 7273;52308;2787;2914;130482856;6448957 + 7274;52310;2787;2915;130482856;6501267 + 7275;52320;2787;2915;130482856;6501267 + 7276;52323;2787;2916;130482856;6553590 + 7277;52332;2787;2916;130482856;6553590 + 7278;52344;2787;2916;130482856;6553590 + 7279;52346;2787;2917;130482856;6605936 + 7280;52356;2787;2917;130482856;6605936 + 7281;52366;2794;2918;129425732;6307613 + 7282;52368;2794;2918;129425732;6307613 + 7283;52379;2794;2919;129425732;6359992 + 7284;52380;2794;2919;129425732;6359992 + 7285;52392;2794;2919;129425732;6359992 + 7286;52392;2794;2920;129425732;6412384 + 7287;52404;2794;2920;129425732;6412384 + 7288;52406;2794;2921;129425732;6464790 + 7289;52416;2794;2921;129425732;6464790 + 7290;52428;2794;2921;129425732;6464790 + 7291;52428;2794;2922;129425732;6517218 + 7292;52440;2794;2922;129425732;6517218 + 7293;52445;2794;2923;129425732;6569663 + 7294;52452;2794;2923;129425732;6569663 + 7295;52464;2794;2923;129425732;6569663 + 7296;52465;2794;2924;129425732;6622128 + 7297;52476;2794;2924;129425732;6622128 + 7298;52480;2794;2925;129425732;6674608 + 7299;52488;2794;2925;129425732;6674608 + 7300;52497;2794;2926;129425732;6727105 + 7301;52500;2794;2926;129425732;6727105 + 7302;52512;2794;2926;129425732;6727105 + 7303;52521;2794;2927;129425732;6779626 + 7304;52524;2794;2927;129425732;6779626 + 7305;52534;2794;2928;129425732;6832160 + 7306;52536;2794;2928;129425732;6832160 + 7307;52548;2794;2928;129425732;6832160 + 7308;52550;2794;2929;129425732;6884710 + 7309;52560;2794;2929;129425732;6884710 + 7310;52569;2794;2930;129425732;6937279 + 7311;52572;2794;2930;129425732;6937279 + 7312;52584;2794;2930;129425732;6937279 + 7313;52586;2794;2931;129425732;6989865 + 7314;52596;2794;2931;129425732;6989865 + 7315;52603;2794;2932;129425732;7042468 + 7316;52608;2794;2932;129425732;7042468 + 7317;52620;2794;2932;129425732;7042468 + 7318;52621;2799;2933;131736628;6844064 + 7319;52632;2799;2933;131736628;6844064 + 7320;52642;2799;2934;131736628;6896706 + 7321;52644;2799;2934;131736628;6896706 + 7322;52656;2799;2934;131736628;6896706 + 7323;52665;2799;2935;131736628;6949371 + 7324;52668;2799;2935;131736628;6949371 + 7325;52680;2799;2935;131736628;6949371 + 7326;52680;2799;2936;131736628;7002051 + 7327;52692;2809;2936;130612560;6498653 + 7328;52704;2809;2936;130612560;6498653 + 7329;52704;2811;2937;129530254;6450444 + 7330;52716;2811;2937;129530254;6450444 + 7331;52724;2811;2938;129530254;6503168 + 7332;52728;2811;2938;129530254;6503168 + 7333;52740;2811;2938;129530254;6503168 + 7334;52740;2811;2939;129530254;6555908 + 7335;52752;2811;2939;129530254;6555908 + 7336;52761;2811;2940;129530254;6608669 + 7337;52764;2811;2940;129530254;6608669 + 7338;52776;2811;2940;129530254;6608669 + 7339;52781;2813;2941;128824368;6560455 + 7340;52788;2813;2941;128824368;6560455 + 7341;52796;2814;2942;129622785;6562727 + 7342;52800;2814;2942;129622785;6562727 + 7343;52812;2814;2942;129622785;6562727 + 7344;52813;2814;2943;129622785;6615540 + 7345;52824;2814;2943;129622785;6615540 + 7346;52828;2814;2944;129622785;6668368 + 7347;52836;2814;2944;129622785;6668368 + 7348;52848;2814;2944;129622785;6668368 + 7349;52850;2814;2945;129622785;6721218 + 7350;52860;2814;2945;129622785;6721218 + 7351;52870;2814;2946;129622785;6774088 + 7352;52872;2814;2946;129622785;6774088 + 7353;52884;2816;2946;129249042;6672987 + 7354;52894;2816;2947;129249042;6725881 + 7355;52896;2816;2947;129249042;6725881 + 7356;52908;2816;2947;129249042;6725881 + 7357;52912;2816;2948;129249042;6778793 + 7358;52920;2816;2948;129249042;6778793 + 7359;52926;2816;2949;129249042;6831719 + 7360;52932;2816;2949;129249042;6831719 + 7361;52944;2821;2949;128106419;6578671 + 7362;52947;2821;2950;128106419;6631618 + 7363;52956;2821;2950;128106419;6631618 + 7364;52968;2821;2950;128106419;6631618 + 7365;52969;2821;2951;128106419;6684587 + 7366;52980;2821;2951;128106419;6684587 + 7367;52988;2821;2952;128106419;6737575 + 7368;52992;2821;2952;128106419;6737575 + 7369;53004;2821;2952;128106419;6737575 + 7370;53004;2821;2953;128106419;6790579 + 7371;53016;2821;2953;128106419;6790579 + 7372;53022;2831;2954;124773664;6336127 + 7373;53028;2831;2954;124773664;6336127 + 7374;53040;2834;2954;123885819;6183512 + 7375;53041;2834;2955;123885819;6236553 + 7376;53052;2834;2955;123885819;6236553 + 7377;53056;2835;2956;124159216;6238697 + 7378;53064;2835;2956;124159216;6238697 + 7379;53076;2836;2956;124386865;6187767 + 7380;53080;2836;2957;124386865;6240847 + 7381;53088;2836;2957;124386865;6240847 + 7382;53100;2836;2957;124386865;6240847 + 7383;53103;2836;2958;124386865;6293950 + 7384;53112;2836;2958;124386865;6293950 + 7385;53122;2836;2959;124386865;6347072 + 7386;53124;2836;2959;124386865;6347072 + 7387;53136;2836;2959;124386865;6347072 + 7388;53141;2837;2960;124796910;6349266 + 7389;53148;2837;2960;124796910;6349266 + 7390;53160;2837;2960;124796910;6349266 + 7391;53161;2837;2961;124796910;6402427 + 7392;53172;2837;2961;124796910;6402427 + 7393;53173;2837;2962;124796910;6455600 + 7394;53184;2837;2962;124796910;6455600 + 7395;53188;2837;2963;124796910;6508788 + 7396;53196;2837;2963;124796910;6508788 + 7397;53208;2837;2963;124796910;6508788 + 7398;53208;2837;2964;124796910;6561996 + 7399;53220;2837;2964;124796910;6561996 + 7400;53220;2837;2965;124796910;6615216 + 7401;53232;2837;2965;124796910;6615216 + 7402;53237;2837;2966;124796910;6668453 + 7403;53244;2837;2966;124796910;6668453 + 7404;53250;2837;2967;124796910;6721703 + 7405;53256;2837;2967;124796910;6721703 + 7406;53268;2837;2967;124796910;6721703 + 7407;53273;2840;2968;125118926;6622009 + 7408;53280;2840;2968;125118926;6622009 + 7409;53292;2840;2968;125118926;6622009 + 7410;53292;2840;2969;125118926;6675301 + 7411;53304;2840;2969;125118926;6675301 + 7412;53307;2840;2970;125118926;6728608 + 7413;53316;2840;2970;125118926;6728608 + 7414;53327;2840;2971;125118926;6781935 + 7415;53328;2840;2971;125118926;6781935 + 7416;53340;2840;2971;125118926;6781935 + 7417;53347;2840;2972;125118926;6835282 + 7418;53352;2840;2972;125118926;6835282 + 7419;53364;2840;2972;125118926;6835282 + 7420;53367;2840;2973;125118926;6888649 + 7421;53376;2840;2973;125118926;6888649 + 7422;53386;2840;2974;125118926;6942035 + 7423;53388;2840;2974;125118926;6942035 + 7424;53398;2840;2975;125118926;6995433 + 7425;53400;2840;2975;125118926;6995433 + 7426;53412;2840;2975;125118926;6995433 + 7427;53420;2840;2976;125118926;7048853 + 7428;53424;2840;2976;125118926;7048853 + 7429;53436;2840;2976;125118926;7048853 + 7430;53442;2840;2977;125118926;7102295 + 7431;53448;2840;2977;125118926;7102295 + 7432;53459;2850;2978;127186961;6644668 + 7433;53460;2850;2978;127186961;6644668 + 7434;53472;2850;2978;127186961;6644668 + 7435;53477;2852;2979;126509556;6595706 + 7436;53484;2852;2979;126509556;6595706 + 7437;53490;2852;2980;126509556;6649196 + 7438;53496;2852;2980;126509556;6649196 + 7439;53508;2852;2980;126509556;6649196 + 7440;53508;2852;2981;126509556;6702704 + 7441;53520;2852;2981;126509556;6702704 + 7442;53532;2852;2981;126509556;6702704 + 7443;53532;2852;2982;126509556;6756236 + 7444;53544;2852;2982;126509556;6756236 + 7445;53556;2852;2982;126509556;6756236 + 7446;53556;2852;2983;126509556;6809792 + 7447;53568;2852;2983;126509556;6809792 + 7448;53572;2852;2984;126509556;6863364 + 7449;53580;2852;2984;126509556;6863364 + 7450;53587;2852;2985;126509556;6916951 + 7451;53592;2852;2985;126509556;6916951 + 7452;53600;2852;2986;126509556;6970551 + 7453;53604;2852;2986;126509556;6970551 + 7454;53615;2852;2987;126509556;7024166 + 7455;53616;2852;2987;126509556;7024166 + 7456;53627;2852;2988;126509556;7077793 + 7457;53628;2852;2988;126509556;7077793 + 7458;53640;2852;2988;126509556;7077793 + 7459;53641;2852;2989;126509556;7131434 + 7460;53652;2852;2989;126509556;7131434 + 7461;53661;2852;2990;126509556;7185095 + 7462;53664;2852;2990;126509556;7185095 + 7463;53676;2852;2990;126509556;7185095 + 7464;53676;2852;2991;126509556;7238771 + 7465;53688;2852;2991;126509556;7238771 + 7466;53695;2862;2992;123252781;6779185 + 7467;53700;2868;2992;120038841;6470445 + 7468;53712;2868;2992;120038841;6470445 + 7469;53713;2868;2993;120038841;6524158 + 7470;53724;2868;2993;120038841;6524158 + 7471;53731;2868;2994;120038841;6577889 + 7472;53736;2868;2994;120038841;6577889 + 7473;53747;2868;2995;120038841;6631636 + 7474;53748;2868;2995;120038841;6631636 + 7475;53760;2868;2995;120038841;6631636 + 7476;53768;2868;2996;120038841;6685404 + 7477;53772;2868;2996;120038841;6685404 + 7478;53784;2868;2996;120038841;6685404 + 7479;53786;2868;2997;120038841;6739190 + 7480;53796;2868;2997;120038841;6739190 + 7481;53801;2868;2998;120038841;6792991 + 7482;53808;2868;2998;120038841;6792991 + 7483;53820;2868;2998;120038841;6792991 + 7484;53821;2868;2999;120038841;6846812 + 7485;53832;2868;2999;120038841;6846812 + 7486;53842;2868;3000;120038841;6900654 + 7487;53844;2868;3000;120038841;6900654 + 7488;53856;2868;3000;120038841;6900654 + 7489;53860;2868;3001;120038841;6954514 + 7490;53868;2868;3001;120038841;6954514 + 7491;53876;2868;3002;120038841;7008390 + 7492;53880;2868;3002;120038841;7008390 + 7493;53892;2868;3002;120038841;7008390 + 7494;53899;2868;3003;120038841;7062289 + 7495;53904;2868;3003;120038841;7062289 + 7496;53916;2868;3003;120038841;7062289 + 7497;53920;2868;3004;120038841;7116209 + 7498;53928;2868;3004;120038841;7116209 + 7499;53940;2868;3004;120038841;7116209 + 7500;53942;2868;3005;120038841;7170151 + 7501;53952;2868;3005;120038841;7170151 + 7502;53964;2868;3005;120038841;7170151 + 7503;53964;2878;3006;116542672;6708203 + 7504;53976;2878;3006;116542672;6708203 + 7505;53988;2878;3006;116542672;6708203 + 7506;53988;2882;3007;116734607;6555308 + 7507;54000;2882;3007;116734607;6555308 + 7508;54010;2882;3008;116734607;6609318 + 7509;54012;2882;3008;116734607;6609318 + 7510;54024;2882;3008;116734607;6609318 + 7511;54029;2882;3009;116734607;6663347 + 7512;54036;2882;3009;116734607;6663347 + 7513;54042;2882;3010;116734607;6717389 + 7514;54048;2882;3010;116734607;6717389 + 7515;54054;2882;3011;116734607;6771443 + 7516;54060;2882;3011;116734607;6771443 + 7517;54072;2882;3011;116734607;6771443 + 7518;54076;2882;3012;116734607;6825519 + 7519;54084;2882;3012;116734607;6825519 + 7520;54092;2882;3013;116734607;6879611 + 7521;54096;2882;3013;116734607;6879611 + 7522;54108;2882;3013;116734607;6879611 + 7523;54114;2882;3014;116734607;6933725 + 7524;54120;2882;3014;116734607;6933725 + 7525;54131;2882;3015;116734607;6987856 + 7526;54132;2882;3015;116734607;6987856 + 7527;54143;2882;3016;116734607;7041999 + 7528;54144;2882;3016;116734607;7041999 + 7529;54156;2882;3016;116734607;7041999 + 7530;54167;2882;3017;116734607;7096166 + 7531;54168;2882;3017;116734607;7096166 + 7532;54180;2882;3017;116734607;7096166 + 7533;54183;2882;3018;116734607;7150349 + 7534;54192;2882;3018;116734607;7150349 + 7535;54204;2882;3018;116734607;7150349 + 7536;54204;2883;3019;118013728;7152779 + 7537;54216;2883;3019;118013728;7152779 + 7538;54216;2883;3020;118013728;7206995 + 7539;54228;2883;3020;118013728;7206995 + 7540;54237;2891;3021;114040632;6846414 + 7541;54240;2891;3021;114040632;6846414 + 7542;54251;2891;3022;114040632;6900665 + 7543;54252;2891;3022;114040632;6900665 + 7544;54264;2891;3022;114040632;6900665 + 7545;54269;2891;3023;114040632;6954934 + 7546;54276;2891;3023;114040632;6954934 + 7547;54288;2891;3023;114040632;6954934 + 7548;54288;2891;3024;114040632;7009222 + 7549;54300;2891;3024;114040632;7009222 + 7550;54309;2891;3025;114040632;7063531 + 7551;54312;2891;3025;114040632;7063531 + 7552;54324;2891;3025;114040632;7063531 + 7553;54332;2896;3026;114961385;6858037 + 7554;54336;2896;3026;114961385;6858037 + 7555;54347;2896;3027;114961385;6912384 + 7556;54348;2896;3027;114961385;6912384 + 7557;54360;2896;3027;114961385;6912384 + 7558;54368;2899;3028;116470326;6810659 + 7559;54372;2899;3028;116470326;6810659 + 7560;54384;2899;3028;116470326;6810659 + 7561;54385;2899;3029;116470326;6865044 + 7562;54396;2899;3029;116470326;6865044 + 7563;54408;2899;3029;116470326;6865044 + 7564;54409;2899;3030;116470326;6919453 + 7565;54420;2899;3030;116470326;6919453 + 7566;54421;2899;3031;116470326;6973874 + 7567;54432;2899;3031;116470326;6973874 + 7568;54444;2899;3031;116470326;6973874 + 7569;54444;2904;3032;117922161;6767803 + 7570;54456;2904;3032;117922161;6767803 + 7571;54457;2904;3033;117922161;6822260 + 7572;54468;2904;3033;117922161;6822260 + 7573;54476;2904;3034;117922161;6876736 + 7574;54480;2904;3034;117922161;6876736 + 7575;54492;2904;3034;117922161;6876736 + 7576;54493;2904;3035;117922161;6931229 + 7577;54504;2904;3035;117922161;6931229 + 7578;54516;2904;3035;117922161;6931229 + 7579;54517;2904;3036;117922161;6985746 + 7580;54528;2904;3036;117922161;6985746 + 7581;54539;2904;3037;117922161;7040285 + 7582;54540;2904;3037;117922161;7040285 + 7583;54552;2904;3037;117922161;7040285 + 7584;54562;2904;3038;117922161;7094847 + 7585;54564;2904;3038;117922161;7094847 + 7586;54576;2904;3038;117922161;7094847 + 7587;54584;2904;3039;117922161;7149431 + 7588;54588;2904;3039;117922161;7149431 + 7589;54597;2904;3040;117922161;7204028 + 7590;54600;2904;3040;117922161;7204028 + 7591;54612;2904;3040;117922161;7204028 + 7592;54620;2907;3041;117101246;7102133 + 7593;54624;2907;3041;117101246;7102133 + 7594;54636;2907;3041;117101246;7102133 + 7595;54642;2907;3042;117101246;7156775 + 7596;54648;2907;3042;117101246;7156775 + 7597;54660;2907;3042;117101246;7156775 + 7598;54665;2907;3043;117101246;7211440 + 7599;54672;2907;3043;117101246;7211440 + 7600;54683;2913;3044;118704596;6952586 + 7601;54684;2913;3044;118704596;6952586 + 7602;54696;2913;3044;118704596;6952586 + 7603;54698;2913;3045;118704596;7007284 + 7604;54708;2913;3045;118704596;7007284 + 7605;54717;2913;3046;118704596;7062001 + 7606;54720;2913;3046;118704596;7062001 + 7607;54732;2913;3046;118704596;7062001 + 7608;54739;2922;3047;115774488;6645345 + 7609;54744;2922;3047;115774488;6645345 + 7610;54756;2922;3047;115774488;6645345 + 7611;54759;2922;3048;115774488;6700104 + 7612;54768;2922;3048;115774488;6700104 + 7613;54779;2925;3049;117144884;6597441 + 7614;54780;2925;3049;117144884;6597441 + 7615;54792;2925;3049;117144884;6597441 + 7616;54794;2925;3050;117144884;6652235 + 7617;54804;2925;3050;117144884;6652235 + 7618;54808;2925;3051;117144884;6707043 + 7619;54816;2925;3051;117144884;6707043 + 7620;54821;2925;3052;117144884;6761864 + 7621;54828;2925;3052;117144884;6761864 + 7622;54835;2925;3053;117144884;6816699 + 7623;54840;2925;3053;117144884;6816699 + 7624;54851;2925;3054;117144884;6871550 + 7625;54852;2925;3054;117144884;6871550 + 7626;54864;2925;3054;117144884;6871550 + 7627;54868;2925;3055;117144884;6926418 + 7628;54876;2925;3055;117144884;6926418 + 7629;54888;2925;3055;117144884;6926418 + 7630;54890;2925;3056;117144884;6981308 + 7631;54900;2925;3056;117144884;6981308 + 7632;54912;2930;3056;117589456;6718548 + 7633;54913;2930;3057;117589456;6773461 + 7634;54924;2930;3057;117589456;6773461 + 7635;54927;2930;3058;117589456;6828388 + 7636;54936;2930;3058;117589456;6828388 + 7637;54942;2930;3059;117589456;6883330 + 7638;54948;2930;3059;117589456;6883330 + 7639;54960;2930;3059;117589456;6883330 + 7640;54965;2930;3060;117589456;6938295 + 7641;54972;2930;3060;117589456;6938295 + 7642;54981;2930;3061;117589456;6993276 + 7643;54984;2930;3061;117589456;6993276 + 7644;54996;2930;3061;117589456;6993276 + 7645;54997;2930;3062;117589456;7048273 + 7646;55008;2930;3062;117589456;7048273 + 7647;55019;2938;3063;117443509;6681913 + 7648;55020;2938;3063;117443509;6681913 + 7649;55032;2938;3063;117443509;6681913 + 7650;55042;2938;3064;117443509;6736955 + 7651;55044;2938;3064;117443509;6736955 + 7652;55056;2938;3064;117443509;6736955 + 7653;55066;2938;3065;117443509;6792021 + 7654;55068;2938;3065;117443509;6792021 + 7655;55080;2938;3065;117443509;6792021 + 7656;55086;2938;3066;117443509;6847107 + 7657;55092;2938;3066;117443509;6847107 + 7658;55104;2938;3066;117443509;6847107 + 7659;55106;2938;3067;117443509;6902213 + 7660;55116;2938;3067;117443509;6902213 + 7661;55128;2938;3067;117443509;6902213 + 7662;55129;2938;3068;117443509;6957342 + 7663;55140;2938;3068;117443509;6957342 + 7664;55143;2938;3069;117443509;7012485 + 7665;55152;2938;3069;117443509;7012485 + 7666;55157;2946;3070;115648745;6645049 + 7667;55164;2946;3070;115648745;6645049 + 7668;55176;2946;3070;115648745;6645049 + 7669;55177;2947;3071;116275215;6647314 + 7670;55188;2947;3071;116275215;6647314 + 7671;55200;2947;3071;116275215;6647314 + 7672;55200;2947;3072;116275215;6702514 + 7673;55212;2947;3072;116275215;6702514 + 7674;55219;2947;3073;116275215;6757733 + 7675;55224;2947;3073;116275215;6757733 + 7676;55232;2947;3074;116275215;6812965 + 7677;55236;2947;3074;116275215;6812965 + 7678;55244;2947;3075;116275215;6868209 + 7679;55248;2947;3075;116275215;6868209 + 7680;55260;2947;3075;116275215;6868209 + 7681;55265;2950;3076;117093975;6764632 + 7682;55272;2950;3076;117093975;6764632 + 7683;55282;2950;3077;117093975;6819914 + 7684;55284;2950;3077;117093975;6819914 + 7685;55295;2950;3078;117093975;6875209 + 7686;55296;2950;3078;117093975;6875209 + 7687;55308;2950;3078;117093975;6875209 + 7688;55310;2950;3079;117093975;6930519 + 7689;55320;2950;3079;117093975;6930519 + 7690;55332;2950;3079;117093975;6930519 + 7691;55333;2950;3080;117093975;6985852 + 7692;55344;2950;3080;117093975;6985852 + 7693;55346;2950;3081;117093975;7041198 + 7694;55356;2950;3081;117093975;7041198 + 7695;55358;2950;3082;117093975;7096556 + 7696;55368;2950;3082;117093975;7096556 + 7697;55376;2950;3083;117093975;7151932 + 7698;55380;2950;3083;117093975;7151932 + 7699;55391;2950;3084;117093975;7207323 + 7700;55392;2950;3084;117093975;7207323 + 7701;55404;2955;3084;115304553;6942212 + 7702;55407;2955;3085;115304553;6997619 + 7703;55416;2955;3085;115304553;6997619 + 7704;55419;2955;3086;115304553;7053038 + 7705;55428;2955;3086;115304553;7053038 + 7706;55440;2955;3086;115304553;7053038 + 7707;55440;2955;3087;115304553;7108478 + 7708;55452;2957;3087;115279496;7002295 + 7709;55460;2957;3088;115279496;7057755 + 7710;55464;2957;3088;115279496;7057755 + 7711;55473;2957;3089;115279496;7113228 + 7712;55476;2957;3089;115279496;7113228 + 7713;55488;2957;3089;115279496;7113228 + 7714;55490;2957;3090;115279496;7168718 + 7715;55500;2957;3090;115279496;7168718 + 7716;55508;2957;3091;115279496;7224226 + 7717;55512;2957;3091;115279496;7224226 + 7718;55524;2957;3091;115279496;7224226 + 7719;55526;2958;3092;116455862;7226630 + 7720;55536;2958;3092;116455862;7226630 + 7721;55547;2958;3093;116455862;7282177 + 7722;55548;2958;3093;116455862;7282177 + 7723;55560;2958;3093;116455862;7282177 + 7724;55568;2958;3094;116455862;7337745 + 7725;55572;2958;3094;116455862;7337745 + 7726;55584;2968;3094;113884945;6805602 + 7727;55588;2969;3095;112605116;6807883 + 7728;55596;2969;3095;112605116;6807883 + 7729;55601;2969;3096;112605116;6863484 + 7730;55608;2969;3096;112605116;6863484 + 7731;55615;2969;3097;112605116;6919099 + 7732;55620;2969;3097;112605116;6919099 + 7733;55632;2969;3097;112605116;6919099 + 7734;55635;2969;3098;112605116;6974734 + 7735;55644;2969;3098;112605116;6974734 + 7736;55656;2969;3098;112605116;6974734 + 7737;55658;2969;3099;112605116;7030392 + 7738;55668;2969;3099;112605116;7030392 + 7739;55676;2969;3100;112605116;7086068 + 7740;55680;2969;3100;112605116;7086068 + 7741;55692;2969;3100;112605116;7086068 + 7742;55695;2969;3101;112605116;7141763 + 7743;55704;2969;3101;112605116;7141763 + 7744;55707;2969;3102;112605116;7197470 + 7745;55716;2969;3102;112605116;7197470 + 7746;55728;2969;3102;112605116;7197470 + 7747;55729;2969;3103;112605116;7253199 + 7748;55740;2969;3103;112605116;7253199 + 7749;55745;2979;3104;108086798;6774831 + 7750;55752;2979;3104;108086798;6774831 + 7751;55764;2988;3104;103331862;6292593 + 7752;55766;2988;3105;103331862;6348359 + 7753;55776;2988;3105;103331862;6348359 + 7754;55786;2988;3106;103331862;6404145 + 7755;55788;2988;3106;103331862;6404145 + 7756;55800;2988;3106;103331862;6404145 + 7757;55806;2988;3107;103331862;6459951 + 7758;55812;2988;3107;103331862;6459951 + 7759;55823;2990;3108;103190794;6408437 + 7760;55824;2990;3108;103190794;6408437 + 7761;55836;2990;3108;103190794;6408437 + 7762;55842;2990;3109;103190794;6464279 + 7763;55848;2990;3109;103190794;6464279 + 7764;55859;2990;3110;103190794;6520138 + 7765;55860;2990;3110;103190794;6520138 + 7766;55872;2990;3110;103190794;6520138 + 7767;55876;2990;3111;103190794;6576014 + 7768;55884;2990;3111;103190794;6576014 + 7769;55892;2990;3112;103190794;6631906 + 7770;55896;2990;3112;103190794;6631906 + 7771;55908;2990;3112;103190794;6631906 + 7772;55916;2990;3113;103190794;6687822 + 7773;55920;2990;3113;103190794;6687822 + 7774;55932;2990;3113;103190794;6687822 + 7775;55933;2990;3114;103190794;6743755 + 7776;55944;2990;3114;103190794;6743755 + 7777;55950;2990;3115;103190794;6799705 + 7778;55956;2990;3115;103190794;6799705 + 7779;55968;2990;3115;103190794;6799705 + 7780;55972;2990;3116;103190794;6855677 + 7781;55980;2990;3116;103190794;6855677 + 7782;55990;2992;3117;104007799;6804259 + 7783;55992;2992;3117;104007799;6804259 + 7784;56002;2992;3118;104007799;6860261 + 7785;56004;2992;3118;104007799;6860261 + 7786;56016;2992;3118;104007799;6860261 + 7787;56026;2992;3119;104007799;6916287 + 7788;56028;2992;3119;104007799;6916287 + 7789;56040;2992;3119;104007799;6916287 + 7790;56042;2992;3120;104007799;6972329 + 7791;56052;2992;3120;104007799;6972329 + 7792;56063;2992;3121;104007799;7028392 + 7793;56064;2992;3121;104007799;7028392 + 7794;56076;2992;3121;104007799;7028392 + 7795;56080;2992;3122;104007799;7084472 + 7796;56088;2992;3122;104007799;7084472 + 7797;56098;2992;3123;104007799;7140570 + 7798;56100;2992;3123;104007799;7140570 + 7799;56110;2992;3124;104007799;7196680 + 7800;56112;2992;3124;104007799;7196680 + 7801;56124;2992;3124;104007799;7196680 + 7802;56133;2992;3125;104007799;7252813 + 7803;56136;2992;3125;104007799;7252813 + 7804;56148;2992;3125;104007799;7252813 + 7805;56151;2992;3126;104007799;7308964 + 7806;56160;2992;3126;104007799;7308964 + 7807;56165;2992;3127;104007799;7365129 + 7808;56172;2992;3127;104007799;7365129 + 7809;56183;2992;3128;104007799;7421312 + 7810;56184;2992;3128;104007799;7421312 + 7811;56196;2996;3128;106425110;7206280 + 7812;56199;2996;3129;106425110;7262479 + 7813;56208;2996;3129;106425110;7262479 + 7814;56213;2996;3130;106425110;7318692 + 7815;56220;2996;3130;106425110;7318692 + 7816;56229;2996;3131;106425110;7374921 + 7817;56232;2996;3131;106425110;7374921 + 7818;56244;2996;3131;106425110;7374921 + 7819;56250;3001;3132;109305092;7161971 + 7820;56256;3001;3132;109305092;7161971 + 7821;56268;3001;3132;109305092;7161971 + 7822;56274;3001;3133;109305092;7218245 + 7823;56280;3001;3133;109305092;7218245 + 7824;56292;3001;3133;109305092;7218245 + 7825;56296;3001;3134;109305092;7274541 + 7826;56304;3001;3134;109305092;7274541 + 7827;56309;3001;3135;109305092;7330850 + 7828;56316;3001;3135;109305092;7330850 + 7829;56328;3001;3135;109305092;7330850 + 7830;56333;3001;3136;109305092;7387183 + 7831;56340;3001;3136;109305092;7387183 + 7832;56351;3001;3137;109305092;7443534 + 7833;56352;3001;3137;109305092;7443534 + 7834;56364;3001;3137;109305092;7443534 + 7835;56368;3001;3138;109305092;7499902 + 7836;56376;3001;3138;109305092;7499902 + 7837;56384;3002;3139;110667611;7502387 + 7838;56388;3002;3139;110667611;7502387 + 7839;56399;3006;3140;111786503;7342972 + 7840;56400;3006;3140;111786503;7342972 + 7841;56412;3006;3140;111786503;7342972 + 7842;56416;3006;3141;111786503;7399388 + 7843;56424;3006;3141;111786503;7399388 + 7844;56432;3006;3142;111786503;7455820 + 7845;56436;3006;3142;111786503;7455820 + 7846;56448;3006;3142;111786503;7455820 + 7847;56454;3006;3143;111786503;7512274 + 7848;56460;3006;3143;111786503;7512274 + 7849;56472;3006;3143;111786503;7512274 + 7850;56474;3013;3144;110297141;7190331 + 7851;56484;3013;3144;110297141;7190331 + 7852;56489;3013;3145;110297141;7246820 + 7853;56496;3013;3145;110297141;7246820 + 7854;56508;3013;3145;110297141;7246820 + 7855;56513;3013;3146;110297141;7303333 + 7856;56520;3013;3146;110297141;7303333 + 7857;56532;3013;3146;110297141;7303333 + 7858;56533;3013;3147;110297141;7359866 + 7859;56544;3018;3147;111942796;7089038 + 7860;56555;3018;3148;111942796;7145593 + 7861;56556;3018;3148;111942796;7145593 + 7862;56568;3018;3148;111942796;7145593 + 7863;56578;3018;3149;111942796;7202171 + 7864;56580;3018;3149;111942796;7202171 + 7865;56592;3018;3149;111942796;7202171 + 7866;56600;3018;3150;111942796;7258771 + 7867;56604;3018;3150;111942796;7258771 + 7868;56616;3018;3150;111942796;7258771 + 7869;56622;3018;3151;111942796;7315393 + 7870;56628;3018;3151;111942796;7315393 + 7871;56640;3018;3151;111942796;7315393 + 7872;56646;3028;3152;107547846;6829037 + 7873;56652;3028;3152;107547846;6829037 + 7874;56659;3028;3153;107547846;6885696 + 7875;56664;3028;3153;107547846;6885696 + 7876;56676;3028;3153;107547846;6885696 + 7877;56679;3028;3154;107547846;6942375 + 7878;56688;3028;3154;107547846;6942375 + 7879;56693;3028;3155;107547846;6999068 + 7880;56700;3028;3155;107547846;6999068 + 7881;56712;3028;3155;107547846;6999068 + 7882;56716;3028;3156;107547846;7055784 + 7883;56724;3028;3156;107547846;7055784 + 7884;56731;3028;3157;107547846;7112515 + 7885;56736;3028;3157;107547846;7112515 + 7886;56743;3028;3158;107547846;7169258 + 7887;56748;3028;3158;107547846;7169258 + 7888;56759;3028;3159;107547846;7226017 + 7889;56760;3028;3159;107547846;7226017 + 7890;56772;3028;3159;107547846;7226017 + 7891;56778;3028;3160;107547846;7282795 + 7892;56784;3028;3160;107547846;7282795 + 7893;56794;3028;3161;107547846;7339589 + 7894;56796;3028;3161;107547846;7339589 + 7895;56808;3028;3161;107547846;7339589 + 7896;56813;3028;3162;107547846;7396402 + 7897;56820;3028;3162;107547846;7396402 + 7898;56825;3031;3163;108237919;7289953 + 7899;56832;3031;3163;108237919;7289953 + 7900;56840;3037;3164;108221117;7019749 + 7901;56844;3037;3164;108221117;7019749 + 7902;56856;3037;3164;108221117;7019749 + 7903;56856;3037;3165;108221117;7076605 + 7904;56868;3037;3165;108221117;7076605 + 7905;56875;3037;3166;108221117;7133480 + 7906;56880;3037;3166;108221117;7133480 + 7907;56892;3037;3166;108221117;7133480 + 7908;56896;3037;3167;108221117;7190376 + 7909;56904;3037;3167;108221117;7190376 + 7910;56910;3037;3168;108221117;7247286 + 7911;56916;3037;3168;108221117;7247286 + 7912;56925;3037;3169;108221117;7304211 + 7913;56928;3037;3169;108221117;7304211 + 7914;56940;3037;3169;108221117;7304211 + 7915;56944;3037;3170;108221117;7361155 + 7916;56952;3037;3170;108221117;7361155 + 7917;56964;3037;3170;108221117;7361155 + 7918;56967;3037;3171;108221117;7418122 + 7919;56976;3037;3171;108221117;7418122 + 7920;56979;3037;3172;108221117;7475101 + 7921;56988;3037;3172;108221117;7475101 + 7922;56997;3037;3173;108221117;7532098 + 7923;57000;3037;3173;108221117;7532098 + 7924;57012;3037;3173;108221117;7532098 + 7925;57018;3037;3174;108221117;7589116 + 7926;57024;3037;3174;108221117;7589116 + 7927;57032;3037;3175;108221117;7646148 + 7928;57036;3037;3175;108221117;7646148 + 7929;57048;3047;3175;106858856;7099444 + 7930;57052;3047;3176;106858856;7156496 + 7931;57060;3047;3176;106858856;7156496 + 7932;57065;3047;3177;106858856;7213561 + 7933;57072;3047;3177;106858856;7213561 + 7934;57084;3047;3177;106858856;7213561 + 7935;57084;3047;3178;106858856;7270645 + 7936;57096;3047;3178;106858856;7270645 + 7937;57106;3056;3179;105940484;6834192 + 7938;57108;3056;3179;105940484;6834192 + 7939;57120;3056;3179;105940484;6834192 + 7940;57122;3056;3180;105940484;6891314 + 7941;57132;3056;3180;105940484;6891314 + 7942;57142;3056;3181;105940484;6948456 + 7943;57144;3056;3181;105940484;6948456 + 7944;57156;3056;3181;105940484;6948456 + 7945;57156;3057;3182;106451548;6950685 + 7946;57168;3057;3182;106451548;6950685 + 7947;57178;3057;3183;106451548;7007863 + 7948;57180;3057;3183;106451548;7007863 + 7949;57192;3057;3183;106451548;7007863 + 7950;57192;3057;3184;106451548;7065055 + 7951;57204;3057;3184;106451548;7065055 + 7952;57214;3057;3185;106451548;7122269 + 7953;57216;3057;3185;106451548;7122269 + 7954;57228;3057;3185;106451548;7122269 + 7955;57228;3057;3186;106451548;7179497 + 7956;57240;3057;3186;106451548;7179497 + 7957;57246;3057;3187;106451548;7236743 + 7958;57252;3057;3187;106451548;7236743 + 7959;57260;3057;3188;106451548;7294003 + 7960;57264;3057;3188;106451548;7294003 + 7961;57275;3057;3189;106451548;7351278 + 7962;57276;3057;3189;106451548;7351278 + 7963;57288;3057;3189;106451548;7351278 + 7964;57292;3057;3190;106451548;7408570 + 7965;57300;3057;3190;106451548;7408570 + 7966;57310;3057;3191;106451548;7465880 + 7967;57312;3057;3191;106451548;7465880 + 7968;57324;3057;3191;106451548;7465880 + 7969;57324;3057;3192;106451548;7523204 + 7970;57336;3067;3192;107134586;6972871 + 7971;57347;3071;3193;103678936;6809541 + 7972;57348;3071;3193;103678936;6809541 + 7973;57360;3071;3193;103678936;6809541 + 7974;57366;3071;3194;103678936;6866907 + 7975;57372;3071;3194;103678936;6866907 + 7976;57384;3071;3194;103678936;6866907 + 7977;57384;3071;3195;103678936;6924291 + 7978;57396;3071;3195;103678936;6924291 + 7979;57396;3071;3196;103678936;6981687 + 7980;57408;3071;3196;103678936;6981687 + 7981;57410;3072;3197;104049788;6983878 + 7982;57420;3072;3197;104049788;6983878 + 7983;57432;3072;3197;104049788;6983878 + 7984;57432;3072;3198;104049788;7041310 + 7985;57444;3072;3198;104049788;7041310 + 7986;57445;3072;3199;104049788;7098755 + 7987;57456;3072;3199;104049788;7098755 + 7988;57463;3072;3200;104049788;7156218 + 7989;57468;3072;3200;104049788;7156218 + 7990;57480;3072;3200;104049788;7156218 + 7991;57484;3072;3201;104049788;7213702 + 7992;57492;3072;3201;104049788;7213702 + 7993;57503;3080;3202;101163686;6828898 + 7994;57504;3080;3202;101163686;6828898 + 7995;57516;3080;3202;101163686;6828898 + 7996;57522;3080;3203;101163686;6886420 + 7997;57528;3080;3203;101163686;6886420 + 7998;57538;3084;3204;100350326;6722426 + 7999;57540;3084;3204;100350326;6722426 + 8000;57552;3084;3204;100350326;6722426 + 8001;57556;3084;3205;100350326;6779982 + 8002;57564;3084;3205;100350326;6779982 + 8003;57576;3084;3205;100350326;6779982 + 8004;57578;3084;3206;100350326;6837560 + 8005;57588;3084;3206;100350326;6837560 + 8006;57596;3084;3207;100350326;6895156 + 8007;57600;3084;3207;100350326;6895156 + 8008;57612;3084;3207;100350326;6895156 + 8009;57618;3084;3208;100350326;6952774 + 8010;57624;3084;3208;100350326;6952774 + 8011;57636;3084;3208;100350326;6952774 + 8012;57639;3084;3209;100350326;7010413 + 8013;57648;3084;3209;100350326;7010413 + 8014;57654;3084;3210;100350326;7068067 + 8015;57660;3084;3210;100350326;7068067 + 8016;57670;3084;3211;100350326;7125737 + 8017;57672;3084;3211;100350326;7125737 + 8018;57684;3084;3211;100350326;7125737 + 8019;57691;3084;3212;100350326;7183428 + 8020;57696;3084;3212;100350326;7183428 + 8021;57708;3084;3212;100350326;7183428 + 8022;57712;3084;3213;100350326;7241140 + 8023;57720;3084;3213;100350326;7241140 + 8024;57732;3084;3213;100350326;7241140 + 8025;57735;3084;3214;100350326;7298875 + 8026;57744;3084;3214;100350326;7298875 + 8027;57748;3084;3215;100350326;7356623 + 8028;57756;3084;3215;100350326;7356623 + 8029;57764;3084;3216;100350326;7414387 + 8030;57768;3084;3216;100350326;7414387 + 8031;57780;3084;3216;100350326;7414387 + 8032;57783;3084;3217;100350326;7472170 + 8033;57792;3084;3217;100350326;7472170 + 8034;57799;3084;3218;100350326;7529969 + 8035;57804;3084;3218;100350326;7529969 + 8036;57815;3089;3219;101305127;7310502 + 8037;57816;3089;3219;101305127;7310502 + 8038;57827;3089;3220;101305127;7368329 + 8039;57828;3089;3220;101305127;7368329 + 8040;57840;3089;3220;101305127;7368329 + 8041;57848;3089;3221;101305127;7426177 + 8042;57852;3089;3221;101305127;7426177 + 8043;57860;3089;3222;101305127;7484037 + 8044;57864;3089;3222;101305127;7484037 + 8045;57876;3089;3222;101305127;7484037 + 8046;57881;3089;3223;101305127;7541918 + 8047;57888;3089;3223;101305127;7541918 + 8048;57894;3095;3224;101506629;7266474 + 8049;57900;3095;3224;101506629;7266474 + 8050;57912;3095;3224;101506629;7266474 + 8051;57917;3095;3225;101506629;7324391 + 8052;57924;3095;3225;101506629;7324391 + 8053;57936;3095;3225;101506629;7324391 + 8054;57937;3096;3226;102253138;7326713 + 8055;57948;3096;3226;102253138;7326713 + 8056;57957;3096;3227;102253138;7384670 + 8057;57960;3096;3227;102253138;7384670 + 8058;57972;3096;3227;102253138;7384670 + 8059;57981;3096;3228;102253138;7442651 + 8060;57984;3096;3228;102253138;7442651 + 8061;57996;3096;3228;102253138;7442651 + 8062;58001;3096;3229;102253138;7500652 + 8063;58008;3096;3229;102253138;7500652 + 8064;58013;3096;3230;102253138;7558665 + 8065;58020;3096;3230;102253138;7558665 + 8066;58032;3096;3230;102253138;7558665 + 8067;58033;3096;3231;102253138;7616698 + 8068;58044;3096;3231;102253138;7616698 + 8069;58051;3096;3232;102253138;7674749 + 8070;58056;3096;3232;102253138;7674749 + 8071;58068;3096;3232;102253138;7674749 + 8072;58075;3096;3233;102253138;7732824 + 8073;58080;3096;3233;102253138;7732824 + 8074;58088;3096;3234;102253138;7790912 + 8075;58092;3096;3234;102253138;7790912 + 8076;58104;3096;3234;102253138;7790912 + 8077;58105;3096;3235;102253138;7849017 + 8078;58116;3096;3235;102253138;7849017 + 8079;58126;3104;3236;104036866;7461532 + 8080;58128;3104;3236;104036866;7461532 + 8081;58140;3104;3236;104036866;7461532 + 8082;58148;3110;3237;105854997;7184688 + 8083;58152;3110;3237;105854997;7184688 + 8084;58160;3110;3238;105854997;7242848 + 8085;58164;3110;3238;105854997;7242848 + 8086;58176;3110;3238;105854997;7242848 + 8087;58183;3110;3239;105854997;7301031 + 8088;58188;3110;3239;105854997;7301031 + 8089;58200;3110;3239;105854997;7301031 + 8090;58207;3110;3240;105854997;7359238 + 8091;58212;3110;3240;105854997;7359238 + 8092;58224;3110;3240;105854997;7359238 + 8093;58225;3110;3241;105854997;7417463 + 8094;58236;3110;3241;105854997;7417463 + 8095;58242;3110;3242;105854997;7475705 + 8096;58248;3110;3242;105854997;7475705 + 8097;58259;3110;3243;105854997;7533964 + 8098;58260;3110;3243;105854997;7533964 + 8099;58272;3110;3243;105854997;7533964 + 8100;58279;3110;3244;105854997;7592243 + 8101;58284;3110;3244;105854997;7592243 + 8102;58293;3117;3245;105085456;7258881 + 8103;58296;3117;3245;105085456;7258881 + 8104;58308;3117;3245;105085456;7258881 + 8105;58316;3119;3246;104603682;7205129 + 8106;58320;3119;3246;104603682;7205129 + 8107;58332;3119;3246;104603682;7205129 + 8108;58336;3119;3247;104603682;7263465 + 8109;58344;3119;3247;104603682;7263465 + 8110;58356;3119;3247;104603682;7263465 + 8111;58360;3119;3248;104603682;7321825 + 8112;58368;3119;3248;104603682;7321825 + 8113;58374;3119;3249;104603682;7380199 + 8114;58380;3119;3249;104603682;7380199 + 8115;58391;3119;3250;104603682;7438590 + 8116;58392;3119;3250;104603682;7438590 + 8117;58404;3119;3250;104603682;7438590 + 8118;58404;3119;3251;104603682;7496994 + 8119;58416;3119;3251;104603682;7496994 + 8120;58425;3119;3252;104603682;7555419 + 8121;58428;3119;3252;104603682;7555419 + 8122;58440;3119;3252;104603682;7555419 + 8123;58448;3124;3253;104477096;7333383 + 8124;58452;3124;3253;104477096;7333383 + 8125;58464;3124;3253;104477096;7333383 + 8126;58465;3124;3254;104477096;7391848 + 8127;58476;3124;3254;104477096;7391848 + 8128;58483;3124;3255;104477096;7450331 + 8129;58488;3124;3255;104477096;7450331 + 8130;58500;3124;3255;104477096;7450331 + 8131;58502;3124;3256;104477096;7508833 + 8132;58512;3124;3256;104477096;7508833 + 8133;58524;3124;3256;104477096;7508833 + 8134;58526;3124;3257;104477096;7567359 + 8135;58536;3124;3257;104477096;7567359 + 8136;58541;3124;3258;104477096;7625900 + 8137;58548;3124;3258;104477096;7625900 + 8138;58560;3124;3258;104477096;7625900 + 8139;58563;3131;3259;104230856;7291073 + 8140;58572;3131;3259;104230856;7291073 + 8141;58581;3131;3260;104230856;7349654 + 8142;58584;3131;3260;104230856;7349654 + 8143;58596;3131;3260;104230856;7349654 + 8144;58601;3131;3261;104230856;7408255 + 8145;58608;3131;3261;104230856;7408255 + 8146;58620;3131;3261;104230856;7408255 + 8147;58624;3131;3262;104230856;7466879 + 8148;58632;3131;3262;104230856;7466879 + 8149;58644;3131;3262;104230856;7466879 + 8150;58648;3131;3263;104230856;7525527 + 8151;58656;3131;3263;104230856;7525527 + 8152;58667;3131;3264;104230856;7584194 + 8153;58668;3131;3264;104230856;7584194 + 8154;58680;3131;3264;104230856;7584194 + 8155;58687;3131;3265;104230856;7642881 + 8156;58692;3131;3265;104230856;7642881 + 8157;58704;3131;3265;104230856;7642881 + 8158;58708;3131;3266;104230856;7701589 + 8159;58716;3131;3266;104230856;7701589 + 8160;58722;3136;3267;104298838;7478748 + 8161;58728;3136;3267;104298838;7478748 + 8162;58734;3136;3268;104298838;7537482 + 8163;58740;3136;3268;104298838;7537482 + 8164;58752;3136;3268;104298838;7537482 + 8165;58756;3136;3269;104298838;7596238 + 8166;58764;3136;3269;104298838;7596238 + 8167;58776;3136;3269;104298838;7596238 + 8168;58776;3136;3270;104298838;7655014 + 8169;58788;3136;3270;104298838;7655014 + 8170;58791;3136;3271;104298838;7713805 + 8171;58800;3136;3271;104298838;7713805 + 8172;58804;3136;3272;104298838;7772609 + 8173;58812;3136;3272;104298838;7772609 + 8174;58822;3136;3273;104298838;7831431 + 8175;58824;3136;3273;104298838;7831431 + 8176;58836;3142;3273;107915783;7492978 + 8177;58839;3142;3274;107915783;7551817 + 8178;58848;3142;3274;107915783;7551817 + 8179;58856;3142;3275;107915783;7610673 + 8180;58860;3142;3275;107915783;7610673 + 8181;58872;3142;3275;107915783;7610673 + 8182;58879;3142;3276;107915783;7669552 + 8183;58884;3142;3276;107915783;7669552 + 8184;58893;3142;3277;107915783;7728445 + 8185;58896;3142;3277;107915783;7728445 + 8186;58907;3142;3278;107915783;7787352 + 8187;58908;3142;3278;107915783;7787352 + 8188;58919;3142;3279;107915783;7846271 + 8189;58920;3142;3279;107915783;7846271 + 8190;58932;3142;3279;107915783;7846271 + 8191;58934;3149;3280;111464187;7509463 + 8192;58944;3149;3280;111464187;7509463 + 8193;58952;3149;3281;111464187;7568415 + 8194;58956;3149;3281;111464187;7568415 + 8195;58968;3149;3281;111464187;7568415 + 8196;58976;3149;3282;111464187;7627391 + 8197;58980;3149;3282;111464187;7627391 + 8198;58992;3149;3282;111464187;7627391 + 8199;58992;3149;3283;111464187;7686383 + 8200;59004;3149;3283;111464187;7686383 + 8201;59007;3157;3284;109801701;7291901 + 8202;59016;3157;3284;109801701;7291901 + 8203;59028;3157;3284;109801701;7291901 + 8204;59030;3160;3285;109033931;7180600 + 8205;59040;3160;3285;109033931;7180600 + 8206;59049;3160;3286;109033931;7239649 + 8207;59052;3160;3286;109033931;7239649 + 8208;59063;3160;3287;109033931;7298712 + 8209;59064;3160;3287;109033931;7298712 + 8210;59076;3160;3287;109033931;7298712 + 8211;59086;3160;3288;109033931;7357798 + 8212;59088;3160;3288;109033931;7357798 + 8213;59100;3160;3288;109033931;7357798 + 8214;59107;3160;3289;109033931;7416905 + 8215;59112;3160;3289;109033931;7416905 + 8216;59124;3160;3289;109033931;7416905 + 8217;59125;3168;3290;108547535;7021090 + 8218;59136;3168;3290;108547535;7021090 + 8219;59144;3168;3291;108547535;7080234 + 8220;59148;3168;3291;108547535;7080234 + 8221;59157;3168;3292;108547535;7139391 + 8222;59160;3168;3292;108547535;7139391 + 8223;59172;3168;3292;108547535;7139391 + 8224;59174;3168;3293;108547535;7198565 + 8225;59184;3168;3293;108547535;7198565 + 8226;59188;3168;3294;108547535;7257753 + 8227;59196;3168;3294;108547535;7257753 + 8228;59205;3168;3295;108547535;7316958 + 8229;59208;3168;3295;108547535;7316958 + 8230;59220;3168;3295;108547535;7316958 + 8231;59221;3168;3296;108547535;7376179 + 8232;59232;3168;3296;108547535;7376179 + 8233;59244;3168;3296;108547535;7376179 + 8234;59245;3168;3297;108547535;7435424 + 8235;59256;3168;3297;108547535;7435424 + 8236;59261;3168;3298;108547535;7494685 + 8237;59268;3168;3298;108547535;7494685 + 8238;59276;3168;3299;108547535;7553961 + 8239;59280;3168;3299;108547535;7553961 + 8240;59290;3168;3300;108547535;7613251 + 8241;59292;3168;3300;108547535;7613251 + 8242;59304;3168;3300;108547535;7613251 + 8243;59312;3168;3301;108547535;7672563 + 8244;59316;3168;3301;108547535;7672563 + 8245;59326;3168;3302;108547535;7731889 + 8246;59328;3168;3302;108547535;7731889 + 8247;59340;3168;3302;108547535;7731889 + 8248;59344;3168;3303;108547535;7791233 + 8249;59352;3168;3303;108547535;7791233 + 8250;59364;3168;3303;108547535;7791233 + 8251;59368;3168;3304;108547535;7850601 + 8252;59376;3168;3304;108547535;7850601 + 8253;59385;3168;3305;108547535;7909986 + 8254;59388;3168;3305;108547535;7909986 + 8255;59400;3168;3305;108547535;7909986 + 8256;59407;3176;3306;109172817;7513339 + 8257;59412;3176;3306;109172817;7513339 + 8258;59424;3176;3306;109172817;7513339 + 8259;59424;3176;3307;109172817;7572763 + 8260;59436;3176;3307;109172817;7572763 + 8261;59443;3176;3308;109172817;7632206 + 8262;59448;3176;3308;109172817;7632206 + 8263;59456;3176;3309;109172817;7691662 + 8264;59460;3176;3309;109172817;7691662 + 8265;59469;3182;3310;108284978;7408343 + 8266;59472;3182;3310;108284978;7408343 + 8267;59484;3182;3310;108284978;7408343 + 8268;59491;3182;3311;108284978;7467834 + 8269;59496;3182;3311;108284978;7467834 + 8270;59508;3182;3311;108284978;7467834 + 8271;59512;3182;3312;108284978;7527346 + 8272;59520;3182;3312;108284978;7527346 + 8273;59527;3182;3313;108284978;7586873 + 8274;59532;3182;3313;108284978;7586873 + 8275;59544;3182;3313;108284978;7586873 + 8276;59544;3182;3314;108284978;7646417 + 8277;59556;3182;3314;108284978;7646417 + 8278;59556;3182;3315;108284978;7705973 + 8279;59568;3182;3315;108284978;7705973 + 8280;59571;3182;3316;108284978;7765544 + 8281;59580;3182;3316;108284978;7765544 + 8282;59591;3182;3317;108284978;7825135 + 8283;59592;3182;3317;108284978;7825135 + 8284;59604;3182;3317;108284978;7825135 + 8285;59610;3182;3318;108284978;7884745 + 8286;59616;3182;3318;108284978;7884745 + 8287;59627;3182;3319;108284978;7944372 + 8288;59628;3182;3319;108284978;7944372 + 8289;59640;3182;3319;108284978;7944372 + 8290;59647;3192;3320;106227036;7431331 + 8291;59652;3192;3320;106227036;7431331 + 8292;59664;3192;3320;106227036;7431331 + 8293;59667;3198;3321;105940484;7146565 + 8294;59676;3198;3321;105940484;7146565 + 8295;59688;3198;3321;105940484;7146565 + 8296;59689;3198;3322;105940484;7206254 + 8297;59700;3198;3322;105940484;7206254 + 8298;59712;3198;3322;105940484;7206254 + 8299;59713;3198;3323;105940484;7265967 + 8300;59724;3198;3323;105940484;7265967 + 8301;59728;3198;3324;105940484;7325695 + 8302;59736;3198;3324;105940484;7325695 + 8303;59748;3198;3324;105940484;7325695 + 8304;59749;3198;3325;105940484;7385444 + 8305;59760;3198;3325;105940484;7385444 + 8306;59766;3198;3326;105940484;7445210 + 8307;59772;3198;3326;105940484;7445210 + 8308;59778;3198;3327;105940484;7504988 + 8309;59784;3198;3327;105940484;7504988 + 8310;59796;3198;3327;105940484;7504988 + 8311;59802;3198;3328;105940484;7564790 + 8312;59808;3198;3328;105940484;7564790 + 8313;59818;3198;3329;105940484;7624608 + 8314;59820;3198;3329;105940484;7624608 + 8315;59832;3198;3329;105940484;7624608 + 8316;59839;3198;3330;105940484;7684447 + 8317;59844;3198;3330;105940484;7684447 + 8318;59852;3198;3331;105940484;7744299 + 8319;59856;3198;3331;105940484;7744299 + 8320;59868;3198;3331;105940484;7744299 + 8321;59869;3198;3332;105940484;7804168 + 8322;59880;3198;3332;105940484;7804168 + 8323;59892;3198;3332;105940484;7804168 + 8324;59892;3198;3333;105940484;7864060 + 8325;59904;3198;3333;105940484;7864060 + 8326;59908;3198;3334;105940484;7923968 + 8327;59916;3198;3334;105940484;7923968 + 8328;59920;3210;3335;105680951;7293067 + 8329;59928;3210;3335;105680951;7293067 + 8330;59933;3210;3336;105680951;7353000 + 8331;59940;3210;3336;105680951;7353000 + 8332;59947;3210;3337;105680951;7412947 + 8333;59952;3210;3337;105680951;7412947 + 8334;59959;3210;3338;105680951;7472906 + 8335;59964;3210;3338;105680951;7472906 + 8336;59976;3210;3338;105680951;7472906 + 8337;59978;3210;3339;105680951;7532884 + 8338;59988;3210;3339;105680951;7532884 + 8339;59997;3210;3340;105680951;7592881 + 8340;60000;3210;3340;105680951;7592881 + 8341;60012;3210;3340;105680951;7592881 + 8342;60013;3210;3341;105680951;7652894 + 8343;60024;3210;3341;105680951;7652894 + 8344;60032;3210;3342;105680951;7712926 + 8345;60036;3210;3342;105680951;7712926 + 8346;60048;3210;3342;105680951;7712926 + 8347;60053;3210;3343;105680951;7772979 + 8348;60060;3210;3343;105680951;7772979 + 8349;60072;3210;3343;105680951;7772979 + 8350;60077;3210;3344;105680951;7833056 + 8351;60084;3218;3344;102669880;7371009 + 8352;60096;3218;3344;102669880;7371009 + 8353;60097;3218;3345;102669880;7431106 + 8354;60108;3218;3345;102669880;7431106 + 8355;60114;3218;3346;102669880;7491220 + 8356;60120;3218;3346;102669880;7491220 + 8357;60132;3218;3346;102669880;7491220 + 8358;60135;3218;3347;102669880;7551355 + 8359;60144;3218;3347;102669880;7551355 + 8360;60156;3218;3347;102669880;7551355 + 8361;60158;3218;3348;102669880;7611513 + 8362;60168;3218;3348;102669880;7611513 + 8363;60180;3218;3348;102669880;7611513 + 8364;60182;3218;3349;102669880;7671695 + 8365;60192;3218;3349;102669880;7671695 + 8366;60204;3218;3349;102669880;7671695 + 8367;60206;3218;3350;102669880;7731901 + 8368;60216;3218;3350;102669880;7731901 + 8369;60221;3218;3351;102669880;7792122 + 8370;60228;3218;3351;102669880;7792122 + 8371;60238;3218;3352;102669880;7852360 + 8372;60240;3218;3352;102669880;7852360 + 8373;60252;3218;3352;102669880;7852360 + 8374;60256;3218;3353;102669880;7912616 + 8375;60264;3218;3353;102669880;7912616 + 8376;60275;3218;3354;102669880;7972891 + 8377;60276;3218;3354;102669880;7972891 + 8378;60288;3218;3354;102669880;7972891 + 8379;60295;3228;3355;101800151;7454083 + 8380;60300;3228;3355;101800151;7454083 + 8381;60312;3229;3355;101368054;7396070 + 8382;60316;3229;3356;101368054;7456386 + 8383;60324;3229;3356;101368054;7456386 + 8384;60336;3229;3356;101368054;7456386 + 8385;60340;3229;3357;101368054;7516726 + 8386;60348;3229;3357;101368054;7516726 + 8387;60357;3229;3358;101368054;7577083 + 8388;60360;3229;3358;101368054;7577083 + 8389;60372;3229;3358;101368054;7577083 + 8390;60376;3229;3359;101368054;7637459 + 8391;60384;3229;3359;101368054;7637459 + 8392;60391;3229;3360;101368054;7697850 + 8393;60396;3229;3360;101368054;7697850 + 8394;60406;3229;3361;101368054;7758256 + 8395;60408;3229;3361;101368054;7758256 + 8396;60420;3229;3361;101368054;7758256 + 8397;60423;3229;3362;101368054;7818679 + 8398;60432;3229;3362;101368054;7818679 + 8399;60437;3229;3363;101368054;7879116 + 8400;60444;3229;3363;101368054;7879116 + 8401;60456;3229;3363;101368054;7879116 + 8402;60459;3229;3364;101368054;7939575 + 8403;60468;3229;3364;101368054;7939575 + 8404;60479;3229;3365;101368054;8000054 + 8405;60480;3229;3365;101368054;8000054 + 8406;60492;3229;3365;101368054;8000054 + 8407;60495;3239;3366;99284230;7479373 + 8408;60504;3239;3366;99284230;7479373 + 8409;60515;3240;3367;98458465;7481663 + 8410;60516;3240;3367;98458465;7481663 + 8411;60528;3240;3367;98458465;7481663 + 8412;60537;3240;3368;98458465;7542200 + 8413;60540;3240;3368;98458465;7542200 + 8414;60552;3240;3368;98458465;7542200 + 8415;60552;3240;3369;98458465;7602752 + 8416;60564;3240;3369;98458465;7602752 + 8417;60569;3240;3370;98458465;7663321 + 8418;60576;3240;3370;98458465;7663321 + 8419;60588;3240;3370;98458465;7663321 + 8420;60588;3240;3371;98458465;7723909 + 8421;60600;3240;3371;98458465;7723909 + 8422;60612;3240;3371;98458465;7723909 + 8423;60612;3240;3372;98458465;7784521 + 8424;60624;3240;3372;98458465;7784521 + 8425;60626;3243;3373;99592969;7670367 + 8426;60636;3243;3373;99592969;7670367 + 8427;60648;3250;3373;98473751;7261893 + 8428;60648;3250;3374;98473751;7322541 + 8429;60660;3250;3374;98473751;7322541 + 8430;60670;3250;3375;98473751;7383211 + 8431;60672;3250;3375;98473751;7383211 + 8432;60684;3250;3375;98473751;7383211 + 8433;60690;3250;3376;98473751;7443901 + 8434;60696;3250;3376;98473751;7443901 + 8435;60708;3250;3376;98473751;7443901 + 8436;60713;3253;3377;99308894;7329276 + 8437;60720;3253;3377;99308894;7329276 + 8438;60732;3253;3377;99308894;7329276 + 8439;60736;3253;3378;99308894;7390012 + 8440;60744;3253;3378;99308894;7390012 + 8441;60756;3253;3378;99308894;7390012 + 8442;60758;3255;3379;100225776;7333785 + 8443;60768;3255;3379;100225776;7333785 + 8444;60779;3255;3380;100225776;7394564 + 8445;60780;3255;3380;100225776;7394564 + 8446;60792;3255;3380;100225776;7394564 + 8447;60796;3255;3381;100225776;7455360 + 8448;60804;3255;3381;100225776;7455360 + 8449;60816;3255;3381;100225776;7455360 + 8450;60816;3255;3382;100225776;7516176 + 8451;60828;3255;3382;100225776;7516176 + 8452;60831;3255;3383;100225776;7577007 + 8453;60840;3255;3383;100225776;7577007 + 8454;60852;3265;3383;96683287;6990861 + 8455;60853;3268;3384;95229430;6875502 + 8456;60864;3268;3384;95229430;6875502 + 8457;60872;3268;3385;95229430;6936374 + 8458;60876;3268;3385;95229430;6936374 + 8459;60888;3268;3385;95229430;6936374 + 8460;60895;3268;3386;95229430;6997269 + 8461;60900;3268;3386;95229430;6997269 + 8462;60912;3268;3386;95229430;6997269 + 8463;60919;3268;3387;95229430;7058188 + 8464;60924;3268;3387;95229430;7058188 + 8465;60936;3268;3387;95229430;7058188 + 8466;60941;3269;3388;95472189;7060353 + 8467;60948;3269;3388;95472189;7060353 + 8468;60960;3269;3388;95472189;7060353 + 8469;60965;3269;3389;95472189;7121318 + 8470;60972;3269;3389;95472189;7121318 + 8471;60984;3269;3389;95472189;7121318 + 8472;60988;3269;3390;95472189;7182306 + 8473;60996;3269;3390;95472189;7182306 + 8474;61000;3269;3391;95472189;7243306 + 8475;61008;3269;3391;95472189;7243306 + 8476;61016;3269;3392;95472189;7304322 + 8477;61020;3269;3392;95472189;7304322 + 8478;61029;3269;3393;95472189;7365351 + 8479;61032;3269;3393;95472189;7365351 + 8480;61044;3269;3393;95472189;7365351 + 8481;61047;3269;3394;95472189;7426398 + 8482;61056;3269;3394;95472189;7426398 + 8483;61066;3269;3395;95472189;7487464 + 8484;61068;3269;3395;95472189;7487464 + 8485;61080;3269;3395;95472189;7487464 + 8486;61084;3273;3396;95182135;7313292 + 8487;61092;3273;3396;95182135;7313292 + 8488;61099;3273;3397;95182135;7374391 + 8489;61104;3273;3397;95182135;7374391 + 8490;61115;3273;3398;95182135;7435506 + 8491;61116;3273;3398;95182135;7435506 + 8492;61128;3273;3398;95182135;7435506 + 8493;61129;3273;3399;95182135;7496635 + 8494;61140;3273;3399;95182135;7496635 + 8495;61144;3273;3400;95182135;7557779 + 8496;61152;3273;3400;95182135;7557779 + 8497;61164;3273;3400;95182135;7557779 + 8498;61167;3273;3401;95182135;7618946 + 8499;61176;3273;3401;95182135;7618946 + 8500;61187;3273;3402;95182135;7680133 + 8501;61188;3273;3402;95182135;7680133 + 8502;61200;3273;3402;95182135;7680133 + 8503;61202;3273;3403;95182135;7741335 + 8504;61212;3273;3403;95182135;7741335 + 8505;61219;3273;3404;95182135;7802554 + 8506;61224;3273;3404;95182135;7802554 + 8507;61231;3273;3405;95182135;7863785 + 8508;61236;3273;3405;95182135;7863785 + 8509;61244;3273;3406;95182135;7925029 + 8510;61248;3273;3406;95182135;7925029 + 8511;61260;3273;3406;95182135;7925029 + 8512;61268;3273;3407;95182135;7986297 + 8513;61272;3273;3407;95182135;7986297 + 8514;61282;3278;3408;95199868;7753125 + 8515;61284;3278;3408;95199868;7753125 + 8516;61296;3278;3408;95199868;7753125 + 8517;61299;3278;3409;95199868;7814424 + 8518;61308;3278;3409;95199868;7814424 + 8519;61318;3278;3410;95199868;7875742 + 8520;61320;3278;3410;95199868;7875742 + 8521;61332;3278;3410;95199868;7875742 + 8522;61335;3278;3411;95199868;7937077 + 8523;61344;3278;3411;95199868;7937077 + 8524;61356;3278;3411;95199868;7937077 + 8525;61359;3278;3412;95199868;7998436 + 8526;61368;3278;3412;95199868;7998436 + 8527;61376;3278;3413;95199868;8059812 + 8528;61380;3278;3413;95199868;8059812 + 8529;61392;3278;3413;95199868;8059812 + 8530;61395;3278;3414;95199868;8121207 + 8531;61404;3278;3414;95199868;8121207 + 8532;61407;3288;3415;93861527;7592418 + 8533;61416;3294;3415;91229694;7237425 + 8534;61421;3294;3416;91229694;7298846 + 8535;61428;3294;3416;91229694;7298846 + 8536;61440;3294;3416;91229694;7298846 + 8537;61443;3294;3417;91229694;7360289 + 8538;61452;3294;3417;91229694;7360289 + 8539;61464;3294;3417;91229694;7360289 + 8540;61467;3294;3418;91229694;7421756 + 8541;61476;3294;3418;91229694;7421756 + 8542;61479;3294;3419;91229694;7483235 + 8543;61488;3294;3419;91229694;7483235 + 8544;61500;3294;3419;91229694;7483235 + 8545;61501;3294;3420;91229694;7544736 + 8546;61512;3294;3420;91229694;7544736 + 8547;61522;3298;3421;91303370;7369255 + 8548;61524;3298;3421;91303370;7369255 + 8549;61536;3298;3421;91303370;7369255 + 8550;61545;3298;3422;91303370;7430800 + 8551;61548;3298;3422;91303370;7430800 + 8552;61560;3298;3422;91303370;7430800 + 8553;61560;3298;3423;91303370;7492360 + 8554;61572;3298;3423;91303370;7492360 + 8555;61573;3298;3424;91303370;7553933 + 8556;61584;3298;3424;91303370;7553933 + 8557;61589;3298;3425;91303370;7615522 + 8558;61596;3298;3425;91303370;7615522 + 8559;61608;3298;3425;91303370;7615522 + 8560;61609;3298;3426;91303370;7677131 + 8561;61620;3298;3426;91303370;7677131 + 8562;61621;3298;3427;91303370;7738752 + 8563;61632;3298;3427;91303370;7738752 + 8564;61635;3298;3428;91303370;7800387 + 8565;61644;3298;3428;91303370;7800387 + 8566;61656;3298;3428;91303370;7800387 + 8567;61658;3298;3429;91303370;7862045 + 8568;61668;3298;3429;91303370;7862045 + 8569;61676;3298;3430;91303370;7923721 + 8570;61680;3298;3430;91303370;7923721 + 8571;61692;3298;3430;91303370;7923721 + 8572;61693;3302;3431;90445643;7748142 + 8573;61704;3302;3431;90445643;7748142 + 8574;61712;3302;3432;90445643;7809854 + 8575;61716;3302;3432;90445643;7809854 + 8576;61726;3302;3433;90445643;7871580 + 8577;61728;3302;3433;90445643;7871580 + 8578;61740;3302;3433;90445643;7871580 + 8579;61748;3302;3434;90445643;7933328 + 8580;61752;3302;3434;90445643;7933328 + 8581;61764;3302;3434;90445643;7933328 + 8582;61768;3308;3435;90518685;7638613 + 8583;61776;3308;3435;90518685;7638613 + 8584;61788;3308;3435;90518685;7638613 + 8585;61790;3308;3436;90518685;7700403 + 8586;61800;3308;3436;90518685;7700403 + 8587;61812;3308;3436;90518685;7700403 + 8588;61812;3308;3437;90518685;7762215 + 8589;61824;3308;3437;90518685;7762215 + 8590;61824;3308;3438;90518685;7824039 + 8591;61836;3308;3438;90518685;7824039 + 8592;61848;3308;3438;90518685;7824039 + 8593;61848;3308;3439;90518685;7885887 + 8594;61860;3308;3439;90518685;7885887 + 8595;61872;3308;3439;90518685;7885887 + 8596;61872;3308;3440;90518685;7947759 + 8597;61884;3317;3440;89551477;7411888 + 8598;61884;3317;3441;89551477;7473772 + 8599;61896;3317;3441;89551477;7473772 + 8600;61908;3317;3441;89551477;7473772 + 8601;61908;3317;3442;89551477;7535680 + 8602;61920;3317;3442;89551477;7535680 + 8603;61931;3317;3443;89551477;7597611 + 8604;61932;3317;3443;89551477;7597611 + 8605;61944;3317;3443;89551477;7597611 + 8606;61946;3317;3444;89551477;7659557 + 8607;61956;3317;3444;89551477;7659557 + 8608;61958;3317;3445;89551477;7721515 + 8609;61968;3317;3445;89551477;7721515 + 8610;61980;3317;3445;89551477;7721515 + 8611;61981;3317;3446;89551477;7783496 + 8612;61992;3317;3446;89551477;7783496 + 8613;62003;3317;3447;89551477;7845499 + 8614;62004;3317;3447;89551477;7845499 + 8615;62016;3317;3447;89551477;7845499 + 8616;62025;3325;3448;87278637;7429938 + 8617;62028;3325;3448;87278637;7429938 + 8618;62040;3325;3448;87278637;7429938 + 8619;62044;3325;3449;87278637;7491982 + 8620;62052;3325;3449;87278637;7491982 + 8621;62064;3325;3449;87278637;7491982 + 8622;62066;3325;3450;87278637;7554048 + 8623;62076;3332;3450;86873106;7135198 + 8624;62086;3332;3451;86873106;7197284 + 8625;62088;3332;3451;86873106;7197284 + 8626;62100;3332;3451;86873106;7197284 + 8627;62101;3332;3452;86873106;7259385 + 8628;62112;3332;3452;86873106;7259385 + 8629;62121;3332;3453;86873106;7321506 + 8630;62124;3332;3453;86873106;7321506 + 8631;62136;3332;3453;86873106;7321506 + 8632;62143;3332;3454;86873106;7383649 + 8633;62148;3332;3454;86873106;7383649 + 8634;62160;3332;3454;86873106;7383649 + 8635;62167;3332;3455;86873106;7445816 + 8636;62172;3332;3455;86873106;7445816 + 8637;62182;3332;3456;86873106;7507998 + 8638;62184;3332;3456;86873106;7507998 + 8639;62196;3332;3456;86873106;7507998 + 8640;62205;3332;3457;86873106;7570203 + 8641;62208;3332;3457;86873106;7570203 + 8642;62220;3332;3457;86873106;7570203 + 8643;62229;3332;3458;86873106;7632432 + 8644;62232;3332;3458;86873106;7632432 + 8645;62244;3332;3458;86873106;7632432 + 8646;62244;3332;3459;86873106;7694676 + 8647;62256;3332;3459;86873106;7694676 + 8648;62256;3340;3460;84812951;7277277 + 8649;62268;3340;3460;84812951;7277277 + 8650;62268;3340;3461;84812951;7339545 + 8651;62280;3340;3461;84812951;7339545 + 8652;62291;3340;3462;84812951;7401836 + 8653;62292;3340;3462;84812951;7401836 + 8654;62304;3340;3462;84812951;7401836 + 8655;62311;3340;3463;84812951;7464147 + 8656;62316;3340;3463;84812951;7464147 + 8657;62326;3340;3464;84812951;7526473 + 8658;62328;3340;3464;84812951;7526473 + 8659;62340;3340;3464;84812951;7526473 + 8660;62344;3340;3465;84812951;7588817 + 8661;62352;3340;3465;84812951;7588817 + 8662;62364;3340;3465;84812951;7588817 + 8663;62365;3340;3466;84812951;7651182 + 8664;62376;3340;3466;84812951;7651182 + 8665;62380;3340;3467;84812951;7713562 + 8666;62388;3340;3467;84812951;7713562 + 8667;62392;3340;3468;84812951;7775954 + 8668;62400;3340;3468;84812951;7775954 + 8669;62408;3340;3469;84812951;7838362 + 8670;62412;3340;3469;84812951;7838362 + 8671;62424;3340;3469;84812951;7838362 + 8672;62430;3340;3470;84812951;7900792 + 8673;62436;3340;3470;84812951;7900792 + 8674;62448;3340;3470;84812951;7900792 + 8675;62448;3340;3471;84812951;7963240 + 8676;62460;3340;3471;84812951;7963240 + 8677;62469;3340;3472;84812951;8025709 + 8678;62472;3340;3472;84812951;8025709 + 8679;62483;3340;3473;84812951;8088192 + 8680;62484;3340;3473;84812951;8088192 + 8681;62496;3340;3473;84812951;8088192 + 8682;62502;3341;3474;85830185;8090662 + 8683;62508;3341;3474;85830185;8090662 + 8684;62520;3341;3474;85830185;8090662 + 8685;62523;3343;3475;86784142;8033055 + 8686;62532;3343;3475;86784142;8033055 + 8687;62539;3343;3476;86784142;8095594 + 8688;62544;3343;3476;86784142;8095594 + 8689;62556;3343;3476;86784142;8095594 + 8690;62558;3353;3477;87048604;7556270 + 8691;62568;3356;3477;85886166;7375319 + 8692;62580;3356;3477;85886166;7375319 + 8693;62582;3356;3478;85886166;7437901 + 8694;62592;3356;3478;85886166;7437901 + 8695;62598;3356;3479;85886166;7500499 + 8696;62604;3356;3479;85886166;7500499 + 8697;62616;3356;3479;85886166;7500499 + 8698;62621;3356;3480;85886166;7563120 + 8699;62628;3356;3480;85886166;7563120 + 8700;62636;3356;3481;85886166;7625756 + 8701;62640;3356;3481;85886166;7625756 + 8702;62652;3356;3481;85886166;7625756 + 8703;62660;3356;3482;85886166;7688416 + 8704;62664;3356;3482;85886166;7688416 + 8705;62676;3356;3482;85886166;7688416 + 8706;62676;3356;3483;85886166;7751092 + 8707;62688;3356;3483;85886166;7751092 + 8708;62698;3356;3484;85886166;7813790 + 8709;62700;3356;3484;85886166;7813790 + 8710;62712;3356;3484;85886166;7813790 + 8711;62714;3356;3485;85886166;7876504 + 8712;62724;3356;3485;85886166;7876504 + 8713;62736;3356;3485;85886166;7876504 + 8714;62736;3356;3486;85886166;7939240 + 8715;62748;3356;3486;85886166;7939240 + 8716;62756;3356;3487;85886166;8001996 + 8717;62760;3356;3487;85886166;8001996 + 8718;62772;3356;3487;85886166;8001996 + 8719;62777;3365;3488;87492978;7520950 + 8720;62784;3365;3488;87492978;7520950 + 8721;62789;3365;3489;87492978;7583739 + 8722;62796;3365;3489;87492978;7583739 + 8723;62808;3365;3489;87492978;7583739 + 8724;62811;3368;3490;87197380;7464946 + 8725;62820;3368;3490;87197380;7464946 + 8726;62832;3368;3490;87197380;7464946 + 8727;62834;3368;3491;87197380;7527780 + 8728;62844;3368;3491;87197380;7527780 + 8729;62848;3368;3492;87197380;7590628 + 8730;62856;3368;3492;87197380;7590628 + 8731;62868;3368;3492;87197380;7590628 + 8732;62870;3368;3493;87197380;7653498 + 8733;62880;3368;3493;87197380;7653498 + 8734;62890;3368;3494;87197380;7716388 + 8735;62892;3368;3494;87197380;7716388 + 8736;62904;3368;3494;87197380;7716388 + 8737;62906;3371;3495;87137839;7597525 + 8738;62916;3371;3495;87137839;7597525 + 8739;62928;3371;3495;87137839;7597525 + 8740;62930;3371;3496;87137839;7660455 + 8741;62940;3371;3496;87137839;7660455 + 8742;62942;3371;3497;87137839;7723397 + 8743;62952;3371;3497;87137839;7723397 + 8744;62959;3371;3498;87137839;7786356 + 8745;62964;3371;3498;87137839;7786356 + 8746;62975;3371;3499;87137839;7849331 + 8747;62976;3371;3499;87137839;7849331 + 8748;62988;3371;3499;87137839;7849331 + 8749;62990;3371;3500;87137839;7912321 + 8750;63000;3371;3500;87137839;7912321 + 8751;63010;3371;3501;87137839;7975331 + 8752;63012;3371;3501;87137839;7975331 + 8753;63024;3371;3501;87137839;7975331 + 8754;63027;3371;3502;87137839;8038358 + 8755;63036;3371;3502;87137839;8038358 + 8756;63048;3371;3502;87137839;8038358 + 8757;63049;3371;3503;87137839;8101407 + 8758;63060;3371;3503;87137839;8101407 + 8759;63070;3371;3504;87137839;8164477 + 8760;63072;3371;3504;87137839;8164477 + 8761;63084;3378;3504;87863202;7739636 + 8762;63085;3378;3505;87863202;7802721 + 8763;63096;3378;3505;87863202;7802721 + 8764;63098;3378;3506;87863202;7865819 + 8765;63108;3378;3506;87863202;7865819 + 8766;63120;3378;3506;87863202;7865819 + 8767;63122;3378;3507;87863202;7928941 + 8768;63132;3378;3507;87863202;7928941 + 8769;63142;3378;3508;87863202;7992083 + 8770;63144;3378;3508;87863202;7992083 + 8771;63156;3378;3508;87863202;7992083 + 8772;63156;3378;3509;87863202;8055239 + 8773;63168;3378;3509;87863202;8055239 + 8774;63173;3382;3510;88784606;7875190 + 8775;63180;3382;3510;88784606;7875190 + 8776;63192;3382;3510;88784606;7875190 + 8777;63193;3382;3511;88784606;7938383 + 8778;63204;3382;3511;88784606;7938383 + 8779;63215;3382;3512;88784606;8001598 + 8780;63216;3382;3512;88784606;8001598 + 8781;63228;3382;3512;88784606;8001598 + 8782;63231;3384;3513;88773580;7943104 + 8783;63240;3384;3513;88773580;7943104 + 8784;63252;3384;3513;88773580;7943104 + 8785;63254;3384;3514;88773580;8006358 + 8786;63264;3384;3514;88773580;8006358 + 8787;63267;3384;3515;88773580;8069625 + 8788;63276;3384;3515;88773580;8069625 + 8789;63286;3384;3516;88773580;8132911 + 8790;63288;3384;3516;88773580;8132911 + 8791;63300;3384;3516;88773580;8132911 + 8792;63304;3384;3517;88773580;8196215 + 8793;63312;3384;3517;88773580;8196215 + 8794;63324;3384;3517;88773580;8196215 + 8795;63328;3394;3518;89986274;7649677 + 8796;63336;3394;3518;89986274;7649677 + 8797;63345;3394;3519;89986274;7713022 + 8798;63348;3394;3519;89986274;7713022 + 8799;63360;3394;3519;89986274;7713022 + 8800;63363;3394;3520;89986274;7776385 + 8801;63372;3394;3520;89986274;7776385 + 8802;63384;3394;3520;89986274;7776385 + 8803;63386;3394;3521;89986274;7839771 + 8804;63396;3394;3521;89986274;7839771 + 8805;63403;3394;3522;89986274;7903174 + 8806;63408;3394;3522;89986274;7903174 + 8807;63419;3404;3523;89044105;7355016 + 8808;63420;3404;3523;89044105;7355016 + 8809;63432;3404;3523;89044105;7355016 + 8810;63437;3404;3524;89044105;7418453 + 8811;63444;3404;3524;89044105;7418453 + 8812;63456;3404;3524;89044105;7418453 + 8813;63461;3404;3525;89044105;7481914 + 8814;63468;3404;3525;89044105;7481914 + 8815;63480;3404;3525;89044105;7481914 + 8816;63484;3404;3526;89044105;7545398 + 8817;63492;3404;3526;89044105;7545398 + 8818;63500;3404;3527;89044105;7608898 + 8819;63504;3404;3527;89044105;7608898 + 8820;63516;3404;3527;89044105;7608898 + 8821;63521;3404;3528;89044105;7672419 + 8822;63528;3404;3528;89044105;7672419 + 8823;63540;3404;3528;89044105;7672419 + 8824;63544;3404;3529;89044105;7735963 + 8825;63552;3404;3529;89044105;7735963 + 8826;63559;3404;3530;89044105;7799522 + 8827;63564;3404;3530;89044105;7799522 + 8828;63576;3404;3530;89044105;7799522 + 8829;63583;3404;3531;89044105;7863105 + 8830;63588;3404;3531;89044105;7863105 + 8831;63600;3404;3531;89044105;7863105 + 8832;63605;3404;3532;89044105;7926710 + 8833;63612;3404;3532;89044105;7926710 + 8834;63620;3404;3533;89044105;7990330 + 8835;63624;3404;3533;89044105;7990330 + 8836;63636;3404;3533;89044105;7990330 + 8837;63636;3404;3534;89044105;8053966 + 8838;63648;3404;3534;89044105;8053966 + 8839;63658;3404;3535;89044105;8117624 + 8840;63660;3404;3535;89044105;8117624 + 8841;63672;3404;3535;89044105;8117624 + 8842;63673;3408;3536;88512121;7936204 + 8843;63684;3408;3536;88512121;7936204 + 8844;63687;3408;3537;88512121;7999891 + 8845;63696;3408;3537;88512121;7999891 + 8846;63708;3408;3537;88512121;7999891 + 8847;63709;3408;3538;88512121;8063600 + 8848;63720;3408;3538;88512121;8063600 + 8849;63726;3408;3539;88512121;8127326 + 8850;63732;3408;3539;88512121;8127326 + 8851;63739;3408;3540;88512121;8191065 + 8852;63744;3408;3540;88512121;8191065 + 8853;63756;3408;3540;88512121;8191065 + 8854;63762;3408;3541;88512121;8254827 + 8855;63768;3408;3541;88512121;8254827 + 8856;63774;3408;3542;88512121;8318601 + 8857;63780;3408;3542;88512121;8318601 + 8858;63788;3419;3543;90053352;7706888 + 8859;63792;3419;3543;90053352;7706888 + 8860;63804;3419;3543;90053352;7706888 + 8861;63804;3419;3544;90053352;7770692 + 8862;63816;3419;3544;90053352;7770692 + 8863;63818;3419;3545;90053352;7834510 + 8864;63828;3419;3545;90053352;7834510 + 8865;63837;3419;3546;90053352;7898347 + 8866;63840;3419;3546;90053352;7898347 + 8867;63852;3419;3546;90053352;7898347 + 8868;63857;3419;3547;90053352;7962204 + 8869;63864;3419;3547;90053352;7962204 + 8870;63876;3419;3547;90053352;7962204 + 8871;63879;3419;3548;90053352;8026083 + 8872;63888;3419;3548;90053352;8026083 + 8873;63892;3419;3549;90053352;8089975 + 8874;63900;3419;3549;90053352;8089975 + 8875;63912;3419;3549;90053352;8089975 + 8876;63914;3419;3550;90053352;8153889 + 8877;63924;3419;3550;90053352;8153889 + 8878;63931;3419;3551;90053352;8217820 + 8879;63936;3419;3551;90053352;8217820 + 8880;63948;3419;3551;90053352;8217820 + 8881;63955;3419;3552;90053352;8281775 + 8882;63960;3419;3552;90053352;8281775 + 8883;63969;3419;3553;90053352;8345744 + 8884;63972;3419;3553;90053352;8345744 + 8885;63984;3419;3553;90053352;8345744 + 8886;63993;3429;3554;88894938;7793749 + 8887;63996;3429;3554;88894938;7793749 + 8888;64008;3431;3554;88936348;7670344 + 8889;64010;3431;3555;88936348;7734354 + 8890;64020;3431;3555;88936348;7734354 + 8891;64032;3431;3555;88936348;7734354 + 8892;64033;3431;3556;88936348;7798387 + 8893;64044;3431;3556;88936348;7798387 + 8894;64051;3431;3557;88936348;7862438 + 8895;64056;3431;3557;88936348;7862438 + 8896;64068;3431;3557;88936348;7862438 + 8897;64073;3431;3558;88936348;7926511 + 8898;64080;3431;3558;88936348;7926511 + 8899;64091;3431;3559;88936348;7990602 + 8900;64092;3431;3559;88936348;7990602 + 8901;64104;3431;3559;88936348;7990602 + 8902;64107;3431;3560;88936348;8054709 + 8903;64116;3431;3560;88936348;8054709 + 8904;64127;3431;3561;88936348;8118836 + 8905;64128;3431;3561;88936348;8118836 + 8906;64140;3431;3561;88936348;8118836 + 8907;64141;3431;3562;88936348;8182977 + 8908;64152;3431;3562;88936348;8182977 + 8909;64160;3431;3563;88936348;8247137 + 8910;64164;3431;3563;88936348;8247137 + 8911;64176;3431;3563;88936348;8247137 + 8912;64178;3432;3564;89941582;8249589 + 8913;64188;3432;3564;89941582;8249589 + 8914;64190;3433;3565;90977948;8252031 + 8915;64200;3433;3565;90977948;8252031 + 8916;64212;3433;3565;90977948;8252031 + 8917;64213;3433;3566;90977948;8316244 + 8918;64224;3433;3566;90977948;8316244 + 8919;64236;3433;3566;90977948;8316244 + 8920;64237;3443;3567;90058945;7761898 + 8921;64248;3447;3567;90400724;7513931 + 8922;64250;3447;3568;90400724;7578181 + 8923;64260;3447;3568;90400724;7578181 + 8924;64266;3447;3569;90400724;7642447 + 8925;64272;3447;3569;90400724;7642447 + 8926;64283;3447;3570;90400724;7706730 + 8927;64284;3447;3570;90400724;7706730 + 8928;64296;3447;3570;90400724;7706730 + 8929;64298;3447;3571;90400724;7771028 + 8930;64308;3447;3571;90400724;7771028 + 8931;64312;3447;3572;90400724;7835340 + 8932;64320;3447;3572;90400724;7835340 + 8933;64332;3447;3572;90400724;7835340 + 8934;64334;3447;3573;90400724;7899674 + 8935;64344;3447;3573;90400724;7899674 + 8936;64350;3447;3574;90400724;7964024 + 8937;64356;3447;3574;90400724;7964024 + 8938;64362;3447;3575;90400724;8028386 + 8939;64368;3447;3575;90400724;8028386 + 8940;64380;3447;3575;90400724;8028386 + 8941;64384;3447;3576;90400724;8092770 + 8942;64392;3447;3576;90400724;8092770 + 8943;64404;3447;3576;90400724;8092770 + 8944;64408;3447;3577;90400724;8157178 + 8945;64416;3447;3577;90400724;8157178 + 8946;64425;3447;3578;90400724;8221603 + 8947;64428;3447;3578;90400724;8221603 + 8948;64440;3447;3578;90400724;8221603 + 8949;64440;3447;3579;90400724;8286043 + 8950;64452;3447;3579;90400724;8286043 + 8951;64457;3451;3580;89235071;8102203 + 8952;64464;3451;3580;89235071;8102203 + 8953;64476;3451;3580;89235071;8102203 + 8954;64477;3451;3581;89235071;8166680 + 8955;64488;3451;3581;89235071;8166680 + 8956;64500;3451;3581;89235071;8166680 + 8957;64500;3451;3582;89235071;8231180 + 8958;64512;3451;3582;89235071;8231180 + 8959;64524;3454;3582;89634928;8044749 + 8960;64524;3454;3583;89634928;8109273 + 8961;64536;3454;3583;89634928;8109273 + 8962;64536;3454;3584;89634928;8173809 + 8963;64548;3454;3584;89634928;8173809 + 8964;64555;3454;3585;89634928;8238364 + 8965;64560;3454;3585;89634928;8238364 + 8966;64572;3454;3585;89634928;8238364 + 8967;64575;3454;3586;89634928;8302939 + 8968;64584;3454;3586;89634928;8302939 + 8969;64596;3454;3586;89634928;8302939 + 8970;64596;3464;3587;89304362;7744879 + 8971;64608;3464;3587;89304362;7744879 + 8972;64612;3464;3588;89304362;7809491 + 8973;64620;3464;3588;89304362;7809491 + 8974;64626;3464;3589;89304362;7874117 + 8975;64632;3464;3589;89304362;7874117 + 8976;64644;3464;3589;89304362;7874117 + 8977;64647;3464;3590;89304362;7938764 + 8978;64656;3464;3590;89304362;7938764 + 8979;64660;3464;3591;89304362;8003424 + 8980;64668;3464;3591;89304362;8003424 + 8981;64677;3464;3592;89304362;8068101 + 8982;64680;3464;3592;89304362;8068101 + 8983;64692;3464;3592;89304362;8068101 + 8984;64700;3464;3593;89304362;8132801 + 8985;64704;3464;3593;89304362;8132801 + 8986;64716;3464;3593;89304362;8132801 + 8987;64717;3464;3594;89304362;8197518 + 8988;64728;3464;3594;89304362;8197518 + 8989;64738;3464;3595;89304362;8262256 + 8990;64740;3464;3595;89304362;8262256 + 8991;64752;3464;3595;89304362;8262256 + 8992;64759;3464;3596;89304362;8327015 + 8993;64764;3464;3596;89304362;8327015 + 8994;64776;3464;3596;89304362;8327015 + 8995;64777;3464;3597;89304362;8391792 + 8996;64788;3464;3597;89304362;8391792 + 8997;64800;3464;3597;89304362;8391792 + 8998;64801;3464;3598;89304362;8456593 + 8999;64812;3464;3598;89304362;8456593 + 9000;64820;3472;3599;90442835;8022038 + 9001;64824;3472;3599;90442835;8022038 + 9002;64834;3472;3600;90442835;8086872 + 9003;64836;3472;3600;90442835;8086872 + 9004;64848;3472;3600;90442835;8086872 + 9005;64850;3472;3601;90442835;8151722 + 9006;64860;3472;3601;90442835;8151722 + 9007;64865;3472;3602;90442835;8216587 + 9008;64872;3472;3602;90442835;8216587 + 9009;64879;3472;3603;90442835;8281466 + 9010;64884;3472;3603;90442835;8281466 + 9011;64896;3472;3603;90442835;8281466 + 9012;64897;3472;3604;90442835;8346363 + 9013;64908;3472;3604;90442835;8346363 + 9014;64909;3472;3605;90442835;8411272 + 9015;64920;3472;3605;90442835;8411272 + 9016;64932;3472;3605;90442835;8411272 + 9017;64933;3472;3606;90442835;8476205 + 9018;64944;3472;3606;90442835;8476205 + 9019;64956;3472;3606;90442835;8476205 + 9020;64956;3475;3607;92006258;8353597 + 9021;64968;3475;3607;92006258;8353597 + 9022;64971;3475;3608;92006258;8418568 + 9023;64980;3475;3608;92006258;8418568 + 9024;64988;3475;3609;92006258;8483556 + 9025;64992;3475;3609;92006258;8483556 + 9026;65004;3475;3609;92006258;8483556 + 9027;65004;3475;3610;92006258;8548560 + 9028;65016;3475;3610;92006258;8548560 + 9029;65020;3482;3611;91396966;8175249 + 9030;65028;3482;3611;91396966;8175249 + 9031;65037;3491;3612;88363846;7675323 + 9032;65040;3491;3612;88363846;7675323 + 9033;65052;3491;3612;88363846;7675323 + 9034;65056;3491;3613;88363846;7740379 + 9035;65064;3491;3613;88363846;7740379 + 9036;65076;3491;3613;88363846;7740379 + 9037;65077;3491;3614;88363846;7805456 + 9038;65088;3491;3614;88363846;7805456 + 9039;65097;3491;3615;88363846;7870553 + 9040;65100;3491;3615;88363846;7870553 + 9041;65109;3491;3616;88363846;7935662 + 9042;65112;3491;3616;88363846;7935662 + 9043;65123;3497;3617;86520483;7623288 + 9044;65124;3497;3617;86520483;7623288 + 9045;65136;3497;3617;86520483;7623288 + 9046;65144;3497;3618;86520483;7688432 + 9047;65148;3497;3618;86520483;7688432 + 9048;65160;3497;3618;86520483;7688432 + 9049;65166;3497;3619;86520483;7753598 + 9050;65172;3497;3619;86520483;7753598 + 9051;65179;3497;3620;86520483;7818777 + 9052;65184;3497;3620;86520483;7818777 + 9053;65192;3497;3621;86520483;7883969 + 9054;65196;3497;3621;86520483;7883969 + 9055;65208;3497;3621;86520483;7883969 + 9056;65215;3497;3622;86520483;7949184 + 9057;65220;3497;3622;86520483;7949184 + 9058;65232;3497;3622;86520483;7949184 + 9059;65234;3497;3623;86520483;8014418 + 9060;65244;3497;3623;86520483;8014418 + 9061;65254;3497;3624;86520483;8079672 + 9062;65256;3497;3624;86520483;8079672 + 9063;65268;3497;3624;86520483;8079672 + 9064;65274;3497;3625;86520483;8144946 + 9065;65280;3497;3625;86520483;8144946 + 9066;65291;3497;3626;86520483;8210237 + 9067;65292;3497;3626;86520483;8210237 + 9068;65304;3497;3626;86520483;8210237 + 9069;65312;3497;3627;86520483;8275549 + 9070;65316;3497;3627;86520483;8275549 + 9071;65328;3497;3627;86520483;8275549 + 9072;65331;3497;3628;86520483;8340880 + 9073;65340;3497;3628;86520483;8340880 + 9074;65351;3497;3629;86520483;8406231 + 9075;65352;3497;3629;86520483;8406231 + 9076;65364;3497;3629;86520483;8406231 + 9077;65372;3497;3630;86520483;8471603 + 9078;65376;3497;3630;86520483;8471603 + 9079;65388;3497;3630;86520483;8471603 + 9080;65395;3497;3631;86520483;8536998 + 9081;65400;3497;3631;86520483;8536998 + 9082;65412;3497;3631;86520483;8536998 + 9083;65416;3497;3632;86520483;8602414 + 9084;65424;3497;3632;86520483;8602414 + 9085;65431;3497;3633;86520483;8667845 + 9086;65436;3497;3633;86520483;8667845 + 9087;65444;3504;3634;87183844;8292083 + 9088;65448;3504;3634;87183844;8292083 + 9089;65460;3504;3634;87183844;8292083 + 9090;65462;3504;3635;87183844;8357545 + 9091;65472;3504;3635;87183844;8357545 + 9092;65481;3504;3636;87183844;8423026 + 9093;65484;3504;3636;87183844;8423026 + 9094;65493;3513;3637;84594669;7919935 + 9095;65496;3513;3637;84594669;7919935 + 9096;65508;3513;3637;84594669;7919935 + 9097;65509;3513;3638;84594669;7985444 + 9098;65520;3513;3638;84594669;7985444 + 9099;65529;3513;3639;84594669;8050973 + 9100;65532;3513;3639;84594669;8050973 + 9101;65544;3513;3639;84594669;8050973 + 9102;65551;3520;3640;84063164;7673245 + 9103;65556;3520;3640;84063164;7673245 + 9104;65568;3521;3640;84261759;7609842 + 9105;65573;3521;3641;84261759;7675415 + 9106;65580;3521;3641;84261759;7675415 + 9107;65592;3521;3641;84261759;7675415 + 9108;65595;3521;3642;84261759;7741010 + 9109;65604;3521;3642;84261759;7741010 + 9110;65612;3521;3643;84261759;7806622 + 9111;65616;3521;3643;84261759;7806622 + 9112;65628;3521;3643;84261759;7806622 + 9113;65635;3521;3644;84261759;7872257 + 9114;65640;3521;3644;84261759;7872257 + 9115;65652;3521;3644;84261759;7872257 + 9116;65656;3521;3645;84261759;7937913 + 9117;65664;3521;3645;84261759;7937913 + 9118;65676;3521;3645;84261759;7937913 + 9119;65676;3521;3646;84261759;8003589 + 9120;65688;3521;3646;84261759;8003589 + 9121;65690;3521;3647;84261759;8069279 + 9122;65700;3521;3647;84261759;8069279 + 9123;65712;3521;3647;84261759;8069279 + 9124;65712;3521;3648;84261759;8134991 + 9125;65724;3521;3648;84261759;8134991 + 9126;65724;3521;3649;84261759;8200715 + 9127;65736;3521;3649;84261759;8200715 + 9128;65743;3521;3650;84261759;8266458 + 9129;65748;3521;3650;84261759;8266458 + 9130;65755;3521;3651;84261759;8332213 + 9131;65760;3521;3651;84261759;8332213 + 9132;65772;3522;3651;84955267;8268794 + 9133;65779;3522;3652;84955267;8334573 + 9134;65784;3522;3652;84955267;8334573 + 9135;65791;3522;3653;84955267;8400364 + 9136;65796;3522;3653;84955267;8400364 + 9137;65808;3522;3653;84955267;8400364 + 9138;65811;3522;3654;84955267;8466175 + 9139;65820;3522;3654;84955267;8466175 + 9140;65832;3522;3654;84955267;8466175 + 9141;65835;3522;3655;84955267;8532010 + 9142;65844;3522;3655;84955267;8532010 + 9143;65848;3522;3656;84955267;8597858 + 9144;65856;3522;3656;84955267;8597858 + 9145;65868;3522;3656;84955267;8597858 + 9146;65869;3522;3657;84955267;8663727 + 9147;65880;3522;3657;84955267;8663727 + 9148;65882;3522;3658;84955267;8729609 + 9149;65892;3522;3658;84955267;8729609 + 9150;65902;3527;3659;85572082;8478108 + 9151;65904;3527;3659;85572082;8478108 + 9152;65915;3527;3660;85572082;8544023 + 9153;65916;3527;3660;85572082;8544023 + 9154;65928;3527;3660;85572082;8544023 + 9155;65937;3530;3661;87075635;8419274 + 9156;65940;3530;3661;87075635;8419274 + 9157;65952;3530;3661;87075635;8419274 + 9158;65952;3530;3662;87075635;8485226 + 9159;65964;3530;3662;87075635;8485226 + 9160;65970;3530;3663;87075635;8551196 + 9161;65976;3539;3663;87099971;7978143 + 9162;65988;3539;3663;87099971;7978143 + 9163;65994;3539;3664;87099971;8044137 + 9164;66000;3539;3664;87099971;8044137 + 9165;66012;3539;3664;87099971;8044137 + 9166;66012;3539;3665;87099971;8110149 + 9167;66024;3539;3665;87099971;8110149 + 9168;66028;3539;3666;87099971;8176177 + 9169;66036;3539;3666;87099971;8176177 + 9170;66044;3542;3667;86541976;8050897 + 9171;66048;3542;3667;86541976;8050897 + 9172;66060;3542;3667;86541976;8050897 + 9173;66065;3542;3668;86541976;8116962 + 9174;66072;3542;3668;86541976;8116962 + 9175;66082;3542;3669;86541976;8183044 + 9176;66084;3542;3669;86541976;8183044 + 9177;66096;3542;3669;86541976;8183044 + 9178;66100;3542;3670;86541976;8249144 + 9179;66108;3542;3670;86541976;8249144 + 9180;66118;3542;3671;86541976;8315262 + 9181;66120;3542;3671;86541976;8315262 + 9182;66130;3542;3672;86541976;8381392 + 9183;66132;3542;3672;86541976;8381392 + 9184;66144;3542;3672;86541976;8381392 + 9185;66149;3542;3673;86541976;8447541 + 9186;66156;3542;3673;86541976;8447541 + 9187;66161;3542;3674;86541976;8513702 + 9188;66168;3542;3674;86541976;8513702 + 9189;66176;3542;3675;86541976;8579878 + 9190;66180;3542;3675;86541976;8579878 + 9191;66191;3542;3676;86541976;8646069 + 9192;66192;3542;3676;86541976;8646069 + 9193;66204;3542;3676;86541976;8646069 + 9194;66214;3542;3677;86541976;8712283 + 9195;66216;3542;3677;86541976;8712283 + 9196;66228;3542;3677;86541976;8712283 + 9197;66238;3549;3678;90033783;8331520 + 9198;66240;3549;3678;90033783;8331520 + 9199;66252;3549;3678;90033783;8331520 + 9200;66259;3549;3679;90033783;8397779 + 9201;66264;3549;3679;90033783;8397779 + 9202;66271;3549;3680;90033783;8464050 + 9203;66276;3549;3680;90033783;8464050 + 9204;66288;3549;3680;90033783;8464050 + 9205;66294;3555;3681;89707316;8146453 + 9206;66300;3555;3681;89707316;8146453 + 9207;66312;3555;3681;89707316;8146453 + 9208;66314;3555;3682;89707316;8212767 + 9209;66324;3555;3682;89707316;8212767 + 9210;66335;3555;3683;89707316;8279102 + 9211;66336;3555;3683;89707316;8279102 + 9212;66348;3555;3683;89707316;8279102 + 9213;66359;3561;3684;88492886;7960871 + 9214;66360;3561;3684;88492886;7960871 + 9215;66372;3561;3684;88492886;7960871 + 9216;66380;3561;3685;88492886;8027251 + 9217;66384;3561;3685;88492886;8027251 + 9218;66396;3561;3685;88492886;8027251 + 9219;66396;3561;3686;88492886;8093647 + 9220;66408;3561;3686;88492886;8093647 + 9221;66419;3567;3687;88054370;7774838 + 9222;66420;3567;3687;88054370;7774838 + 9223;66432;3567;3687;88054370;7774838 + 9224;66441;3567;3688;88054370;7841279 + 9225;66444;3567;3688;88054370;7841279 + 9226;66456;3567;3688;88054370;7841279 + 9227;66463;3567;3689;88054370;7907742 + 9228;66468;3567;3689;88054370;7907742 + 9229;66478;3567;3690;88054370;7974220 + 9230;66480;3567;3690;88054370;7974220 + 9231;66492;3567;3690;88054370;7974220 + 9232;66502;3567;3691;88054370;8040722 + 9233;66504;3567;3691;88054370;8040722 + 9234;66516;3567;3691;88054370;8040722 + 9235;66518;3567;3692;88054370;8107240 + 9236;66528;3567;3692;88054370;8107240 + 9237;66533;3567;3693;88054370;8173773 + 9238;66540;3567;3693;88054370;8173773 + 9239;66547;3567;3694;88054370;8240320 + 9240;66552;3567;3694;88054370;8240320 + 9241;66564;3567;3694;88054370;8240320 + 9242;66571;3567;3695;88054370;8306891 + 9243;66576;3567;3695;88054370;8306891 + 9244;66588;3567;3695;88054370;8306891 + 9245;66588;3567;3696;88054370;8373479 + 9246;66600;3567;3696;88054370;8373479 + 9247;66606;3567;3697;88054370;8440085 + 9248;66612;3567;3697;88054370;8440085 + 9249;66623;3571;3698;89368158;8249549 + 9250;66624;3571;3698;89368158;8249549 + 9251;66636;3571;3698;89368158;8249549 + 9252;66637;3571;3699;89368158;8316186 + 9253;66648;3571;3699;89368158;8316186 + 9254;66652;3571;3700;89368158;8382838 + 9255;66660;3571;3700;89368158;8382838 + 9256;66669;3571;3701;89368158;8449507 + 9257;66672;3571;3701;89368158;8449507 + 9258;66681;3571;3702;89368158;8516188 + 9259;66684;3571;3702;89368158;8516188 + 9260;66696;3571;3702;89368158;8516188 + 9261;66705;3571;3703;89368158;8582893 + 9262;66708;3571;3703;89368158;8582893 + 9263;66720;3578;3703;88128217;8132190 + 9264;66725;3578;3704;88128217;8198915 + 9265;66732;3578;3704;88128217;8198915 + 9266;66744;3578;3704;88128217;8198915 + 9267;66748;3579;3705;88696438;8201206 + 9268;66756;3579;3705;88696438;8201206 + 9269;66768;3579;3705;88696438;8201206 + 9270;66770;3579;3706;88696438;8267976 + 9271;66780;3579;3706;88696438;8267976 + 9272;66792;3579;3706;88696438;8267976 + 9273;66792;3579;3707;88696438;8334768 + 9274;66804;3579;3707;88696438;8334768 + 9275;66808;3579;3708;88696438;8401576 + 9276;66816;3579;3708;88696438;8401576 + 9277;66821;3579;3709;88696438;8468397 + 9278;66828;3579;3709;88696438;8468397 + 9279;66840;3579;3709;88696438;8468397 + 9280;66845;3579;3710;88696438;8535242 + 9281;66852;3579;3710;88696438;8535242 + 9282;66864;3579;3710;88696438;8535242 + 9283;66868;3579;3711;88696438;8602110 + 9284;66876;3579;3711;88696438;8602110 + 9285;66888;3579;3711;88696438;8602110 + 9286;66888;3579;3712;88696438;8668998 + 9287;66900;3579;3712;88696438;8668998 + 9288;66901;3589;3713;89240612;8090251 + 9289;66912;3589;3713;89240612;8090251 + 9290;66913;3592;3714;88737756;7963127 + 9291;66924;3592;3714;88737756;7963127 + 9292;66931;3592;3715;88737756;8030058 + 9293;66936;3592;3715;88737756;8030058 + 9294;66948;3592;3715;88737756;8030058 + 9295;66951;3592;3716;88737756;8097009 + 9296;66960;3592;3716;88737756;8097009 + 9297;66968;3592;3717;88737756;8163977 + 9298;66972;3592;3717;88737756;8163977 + 9299;66984;3592;3717;88737756;8163977 + 9300;66991;3592;3718;88737756;8230968 + 9301;66996;3592;3718;88737756;8230968 + 9302;67008;3592;3718;88737756;8230968 + 9303;67010;3592;3719;88737756;8297978 + 9304;67020;3592;3719;88737756;8297978 + 9305;67032;3592;3719;88737756;8297978 + 9306;67033;3592;3720;88737756;8365011 + 9307;67044;3592;3720;88737756;8365011 + 9308;67056;3592;3720;88737756;8365011 + 9309;67056;3592;3721;88737756;8432067 + 9310;67068;3592;3721;88737756;8432067 + 9311;67076;3592;3722;88737756;8499143 + 9312;67080;3592;3722;88737756;8499143 + 9313;67088;3592;3723;88737756;8566231 + 9314;67092;3592;3723;88737756;8566231 + 9315;67100;3592;3724;88737756;8633331 + 9316;67104;3592;3724;88737756;8633331 + 9317;67116;3592;3724;88737756;8633331 + 9318;67123;3592;3725;88737756;8700454 + 9319;67128;3592;3725;88737756;8700454 + 9320;67135;3592;3726;88737756;8767589 + 9321;67140;3592;3726;88737756;8767589 + 9322;67152;3592;3726;88737756;8767589 + 9323;67159;3592;3727;88737756;8834748 + 9324;67164;3592;3727;88737756;8834748 + 9325;67176;3592;3727;88737756;8834748 + 9326;67183;3595;3728;91311874;8707717 + 9327;67188;3595;3728;91311874;8707717 + 9328;67196;3595;3729;91311874;8774913 + 9329;67200;3595;3729;91311874;8774913 + 9330;67212;3595;3729;91311874;8774913 + 9331;67213;3600;3730;92760627;8518044 + 9332;67224;3600;3730;92760627;8518044 + 9333;67234;3600;3731;92760627;8585278 + 9334;67236;3600;3731;92760627;8585278 + 9335;67248;3600;3731;92760627;8585278 + 9336;67254;3600;3732;92760627;8652532 + 9337;67260;3600;3732;92760627;8652532 + 9338;67270;3600;3733;92760627;8719802 + 9339;67272;3600;3733;92760627;8719802 + 9340;67284;3600;3733;92760627;8719802 + 9341;67285;3600;3734;92760627;8787087 + 9342;67296;3600;3734;92760627;8787087 + 9343;67299;3600;3735;92760627;8854386 + 9344;67308;3600;3735;92760627;8854386 + 9345;67320;3602;3735;93347123;8724642 + 9346;67320;3603;3736;94361186;8727065 + 9347;67332;3603;3736;94361186;8727065 + 9348;67336;3603;3737;94361186;8794401 + 9349;67344;3603;3737;94361186;8794401 + 9350;67352;3603;3738;94361186;8861753 + 9351;67356;3603;3738;94361186;8861753 + 9352;67368;3603;3738;94361186;8861753 + 9353;67375;3604;3739;95457369;8864219 + 9354;67380;3604;3739;95457369;8864219 + 9355;67392;3604;3739;95457369;8864219 + 9356;67398;3604;3740;95457369;8931617 + 9357;67404;3604;3740;95457369;8931617 + 9358;67416;3611;3740;97424567;8476708 + 9359;67421;3620;3741;94273334;7957986 + 9360;67428;3620;3741;94273334;7957986 + 9361;67435;3620;3742;94273334;8025421 + 9362;67440;3620;3742;94273334;8025421 + 9363;67452;3620;3742;94273334;8025421 + 9364;67452;3620;3743;94273334;8092873 + 9365;67464;3620;3743;94273334;8092873 + 9366;67476;3620;3743;94273334;8092873 + 9367;67476;3620;3744;94273334;8160349 + 9368;67488;3620;3744;94273334;8160349 + 9369;67497;3620;3745;94273334;8227846 + 9370;67500;3620;3745;94273334;8227846 + 9371;67512;3620;3745;94273334;8227846 + 9372;67520;3620;3746;94273334;8295366 + 9373;67524;3620;3746;94273334;8295366 + 9374;67532;3620;3747;94273334;8362898 + 9375;67536;3620;3747;94273334;8362898 + 9376;67544;3620;3748;94273334;8430442 + 9377;67548;3620;3748;94273334;8430442 + 9378;67559;3620;3749;94273334;8498001 + 9379;67560;3620;3749;94273334;8498001 + 9380;67572;3620;3749;94273334;8498001 + 9381;67575;3620;3750;94273334;8565576 + 9382;67584;3620;3750;94273334;8565576 + 9383;67596;3620;3750;94273334;8565576 + 9384;67596;3620;3751;94273334;8633172 + 9385;67608;3620;3751;94273334;8633172 + 9386;67618;3620;3752;94273334;8700790 + 9387;67620;3620;3752;94273334;8700790 + 9388;67632;3620;3752;94273334;8700790 + 9389;67642;3620;3753;94273334;8768432 + 9390;67644;3620;3753;94273334;8768432 + 9391;67656;3620;3753;94273334;8768432 + 9392;67658;3620;3754;94273334;8836090 + 9393;67668;3620;3754;94273334;8836090 + 9394;67678;3622;3755;95365536;8773319 + 9395;67680;3622;3755;95365536;8773319 + 9396;67692;3622;3755;95365536;8773319 + 9397;67697;3627;3756;96383568;8514554 + 9398;67704;3627;3756;96383568;8514554 + 9399;67716;3627;3756;96383568;8514554 + 9400;67721;3627;3757;96383568;8582275 + 9401;67728;3627;3757;96383568;8582275 + 9402;67734;3627;3758;96383568;8650009 + 9403;67740;3627;3758;96383568;8650009 + 9404;67752;3627;3758;96383568;8650009 + 9405;67753;3627;3759;96383568;8717762 + 9406;67764;3627;3759;96383568;8717762 + 9407;67776;3627;3759;96383568;8717762 + 9408;67777;3627;3760;96383568;8785539 + 9409;67788;3628;3760;97454820;8720188 + 9410;67799;3628;3761;97454820;8787987 + 9411;67800;3628;3761;97454820;8787987 + 9412;67812;3628;3761;97454820;8787987 + 9413;67819;3628;3762;97454820;8855806 + 9414;67824;3628;3762;97454820;8855806 + 9415;67836;3628;3762;97454820;8855806 + 9416;67837;3628;3763;97454820;8923643 + 9417;67848;3628;3763;97454820;8923643 + 9418;67852;3636;3764;98150196;8468001 + 9419;67860;3636;3764;98150196;8468001 + 9420;67864;3636;3765;98150196;8535865 + 9421;67872;3636;3765;98150196;8535865 + 9422;67877;3636;3766;98150196;8603742 + 9423;67884;3636;3766;98150196;8603742 + 9424;67896;3636;3766;98150196;8603742 + 9425;67899;3636;3767;98150196;8671641 + 9426;67908;3636;3767;98150196;8671641 + 9427;67913;3636;3768;98150196;8739554 + 9428;67920;3636;3768;98150196;8739554 + 9429;67926;3636;3769;98150196;8807480 + 9430;67932;3636;3769;98150196;8807480 + 9431;67944;3636;3769;98150196;8807480 + 9432;67944;3644;3770;96467396;8350764 + 9433;67956;3644;3770;96467396;8350764 + 9434;67960;3646;3771;96923732;8287358 + 9435;67968;3646;3771;96923732;8287358 + 9436;67980;3646;3771;96923732;8287358 + 9437;67982;3646;3772;96923732;8355340 + 9438;67992;3646;3772;96923732;8355340 + 9439;68001;3648;3773;97766976;8291905 + 9440;68004;3648;3773;97766976;8291905 + 9441;68016;3648;3773;97766976;8291905 + 9442;68024;3649;3774;98379017;8294186 + 9443;68028;3649;3774;98379017;8294186 + 9444;68040;3649;3774;98379017;8294186 + 9445;68043;3649;3775;98379017;8362229 + 9446;68052;3649;3775;98379017;8362229 + 9447;68064;3649;3775;98379017;8362229 + 9448;68066;3649;3776;98379017;8430295 + 9449;68076;3649;3776;98379017;8430295 + 9450;68085;3649;3777;98379017;8498380 + 9451;68088;3649;3777;98379017;8498380 + 9452;68100;3649;3777;98379017;8498380 + 9453;68101;3649;3778;98379017;8566481 + 9454;68112;3649;3778;98379017;8566481 + 9455;68122;3649;3779;98379017;8634603 + 9456;68124;3649;3779;98379017;8634603 + 9457;68136;3654;3779;97946234;8305632 + 9458;68141;3654;3780;97946234;8373773 + 9459;68148;3654;3780;97946234;8373773 + 9460;68159;3655;3781;98651242;8376084 + 9461;68160;3655;3781;98651242;8376084 + 9462;68172;3655;3781;98651242;8376084 + 9463;68175;3655;3782;98651242;8444259 + 9464;68184;3655;3782;98651242;8444259 + 9465;68194;3655;3783;98651242;8512453 + 9466;68196;3655;3783;98651242;8512453 + 9467;68208;3655;3783;98651242;8512453 + 9468;68217;3662;3784;99389094;8119243 + 9469;68220;3662;3784;99389094;8119243 + 9470;68232;3662;3784;99389094;8119243 + 9471;68234;3662;3785;99389094;8187477 + 9472;68244;3662;3785;99389094;8187477 + 9473;68256;3662;3785;99389094;8187477 + 9474;68258;3662;3786;99389094;8255735 + 9475;68268;3662;3786;99389094;8255735 + 9476;68280;3662;3786;99389094;8255735 + 9477;68280;3664;3787;100095164;8192009 + 9478;68292;3664;3787;100095164;8192009 + 9479;68303;3664;3788;100095164;8260312 + 9480;68304;3664;3788;100095164;8260312 + 9481;68316;3664;3788;100095164;8260312 + 9482;68321;3668;3789;99013332;8064414 + 9483;68328;3668;3789;99013332;8064414 + 9484;68340;3668;3789;99013332;8064414 + 9485;68342;3668;3790;99013332;8132756 + 9486;68352;3668;3790;99013332;8132756 + 9487;68364;3668;3790;99013332;8132756 + 9488;68366;3668;3791;99013332;8201122 + 9489;68376;3668;3791;99013332;8201122 + 9490;68380;3668;3792;99013332;8269502 + 9491;68388;3668;3792;99013332;8269502 + 9492;68392;3668;3793;99013332;8337894 + 9493;68400;3668;3793;99013332;8337894 + 9494;68412;3668;3793;99013332;8337894 + 9495;68414;3668;3794;99013332;8406308 + 9496;68424;3668;3794;99013332;8406308 + 9497;68435;3668;3795;99013332;8474743 + 9498;68436;3668;3795;99013332;8474743 + 9499;68448;3668;3795;99013332;8474743 + 9500;68450;3668;3796;99013332;8543193 + 9501;68460;3668;3796;99013332;8543193 + 9502;68472;3668;3796;99013332;8543193 + 9503;68472;3668;3797;99013332;8611665 + 9504;68484;3668;3797;99013332;8611665 + 9505;68490;3668;3798;99013332;8680155 + 9506;68496;3668;3798;99013332;8680155 + 9507;68508;3668;3798;99013332;8680155 + 9508;68512;3668;3799;99013332;8748667 + 9509;68520;3668;3799;99013332;8748667 + 9510;68524;3678;3800;96515330;8155455 + 9511;68532;3680;3800;96120584;8022890 + 9512;68544;3680;3800;96120584;8022890 + 9513;68547;3680;3801;96120584;8091437 + 9514;68556;3680;3801;96120584;8091437 + 9515;68565;3680;3802;96120584;8160002 + 9516;68568;3680;3802;96120584;8160002 + 9517;68580;3680;3802;96120584;8160002 + 9518;68581;3680;3803;96120584;8228583 + 9519;68592;3680;3803;96120584;8228583 + 9520;68597;3680;3804;96120584;8297180 + 9521;68604;3680;3804;96120584;8297180 + 9522;68612;3680;3805;96120584;8365792 + 9523;68616;3680;3805;96120584;8365792 + 9524;68628;3680;3805;96120584;8365792 + 9525;68628;3680;3806;96120584;8434420 + 9526;68640;3680;3806;96120584;8434420 + 9527;68643;3680;3807;96120584;8503063 + 9528;68652;3680;3807;96120584;8503063 + 9529;68664;3680;3807;96120584;8503063 + 9530;68666;3680;3808;96120584;8571729 + 9531;68676;3680;3808;96120584;8571729 + 9532;68688;3680;3808;96120584;8571729 + 9533;68690;3680;3809;96120584;8640419 + 9534;68700;3680;3809;96120584;8640419 + 9535;68708;3681;3810;97077329;8642813 + 9536;68712;3681;3810;97077329;8642813 + 9537;68722;3681;3811;97077329;8711535 + 9538;68724;3681;3811;97077329;8711535 + 9539;68736;3681;3811;97077329;8711535 + 9540;68745;3694;3812;93503760;7916338 + 9541;68748;3694;3812;93503760;7916338 + 9542;68757;3694;3813;93503760;7985095 + 9543;68760;3694;3813;93503760;7985095 + 9544;68772;3694;3813;93503760;7985095 + 9545;68774;3694;3814;93503760;8053869 + 9546;68784;3694;3814;93503760;8053869 + 9547;68786;3697;3815;92979769;7922838 + 9548;68796;3697;3815;92979769;7922838 + 9549;68799;3697;3816;92979769;7991637 + 9550;68808;3697;3816;92979769;7991637 + 9551;68816;3699;3817;93268903;7927164 + 9552;68820;3699;3817;93268903;7927164 + 9553;68832;3699;3817;93268903;7927164 + 9554;68835;3702;3818;91627110;7795944 + 9555;68844;3702;3818;91627110;7795944 + 9556;68853;3702;3819;91627110;7864797 + 9557;68856;3702;3819;91627110;7864797 + 9558;68868;3702;3819;91627110;7864797 + 9559;68870;3702;3820;91627110;7933667 + 9560;68880;3702;3820;91627110;7933667 + 9561;68885;3702;3821;91627110;8002552 + 9562;68892;3702;3821;91627110;8002552 + 9563;68904;3702;3821;91627110;8002552 + 9564;68907;3702;3822;91627110;8071459 + 9565;68916;3702;3822;91627110;8071459 + 9566;68926;3702;3823;91627110;8140385 + 9567;68928;3702;3823;91627110;8140385 + 9568;68940;3702;3823;91627110;8140385 + 9569;68946;3702;3824;91627110;8209331 + 9570;68952;3702;3824;91627110;8209331 + 9571;68959;3702;3825;91627110;8278290 + 9572;68964;3702;3825;91627110;8278290 + 9573;68976;3702;3825;91627110;8278290 + 9574;68979;3702;3826;91627110;8347269 + 9575;68988;3702;3826;91627110;8347269 + 9576;68992;3702;3827;91627110;8416261 + 9577;69000;3702;3827;91627110;8416261 + 9578;69008;3702;3828;91627110;8485269 + 9579;69012;3702;3828;91627110;8485269 + 9580;69023;3702;3829;91627110;8554292 + 9581;69024;3702;3829;91627110;8554292 + 9582;69036;3702;3829;91627110;8554292 + 9583;69043;3702;3830;91627110;8623335 + 9584;69048;3702;3830;91627110;8623335 + 9585;69058;3703;3831;92346825;8625668 + 9586;69060;3703;3831;92346825;8625668 + 9587;69072;3703;3831;92346825;8625668 + 9588;69082;3703;3832;92346825;8694750 + 9589;69084;3703;3832;92346825;8694750 + 9590;69094;3703;3833;92346825;8763844 + 9591;69096;3703;3833;92346825;8763844 + 9592;69108;3703;3833;92346825;8763844 + 9593;69109;3703;3834;92346825;8832953 + 9594;69120;3703;3834;92346825;8832953 + 9595;69124;3703;3835;92346825;8902077 + 9596;69132;3703;3835;92346825;8902077 + 9597;69136;3703;3836;92346825;8971213 + 9598;69144;3703;3836;92346825;8971213 + 9599;69153;3703;3837;92346825;9040366 + 9600;69156;3703;3837;92346825;9040366 + 9601;69168;3703;3837;92346825;9040366 + 9602;69175;3703;3838;92346825;9109541 + 9603;69180;3703;3838;92346825;9109541 + 9604;69192;3703;3838;92346825;9109541 + 9605;69195;3703;3839;92346825;9178736 + 9606;69204;3703;3839;92346825;9178736 + 9607;69215;3711;3840;92180677;8713411 + 9608;69216;3711;3840;92180677;8713411 + 9609;69228;3711;3840;92180677;8713411 + 9610;69229;3711;3841;92180677;8782640 + 9611;69240;3711;3841;92180677;8782640 + 9612;69252;3711;3841;92180677;8782640 + 9613;69253;3711;3842;92180677;8851893 + 9614;69264;3711;3842;92180677;8851893 + 9615;69267;3711;3843;92180677;8921160 + 9616;69276;3711;3843;92180677;8921160 + 9617;69286;3711;3844;92180677;8990446 + 9618;69288;3711;3844;92180677;8990446 + 9619;69300;3711;3844;92180677;8990446 + 9620;69300;3711;3845;92180677;9059746 + 9621;69312;3711;3845;92180677;9059746 + 9622;69313;3711;3846;92180677;9129059 + 9623;69324;3711;3846;92180677;9129059 + 9624;69327;3711;3847;92180677;9198386 + 9625;69336;3711;3847;92180677;9198386 + 9626;69344;3714;3848;93294969;9066985 + 9627;69348;3714;3848;93294969;9066985 + 9628;69360;3714;3848;93294969;9066985 + 9629;69362;3714;3849;93294969;9136347 + 9630;69372;3714;3849;93294969;9136347 + 9631;69380;3714;3850;93294969;9205727 + 9632;69384;3714;3850;93294969;9205727 + 9633;69396;3714;3850;93294969;9205727 + 9634;69397;3716;3851;95368497;9141205 + 9635;69408;3716;3851;95368497;9141205 + 9636;69410;3716;3852;95368497;9210615 + 9637;69420;3716;3852;95368497;9210615 + 9638;69427;3716;3853;95368497;9280042 + 9639;69432;3716;3853;95368497;9280042 + 9640;69444;3716;3853;95368497;9280042 + 9641;69451;3716;3854;95368497;9349493 + 9642;69456;3716;3854;95368497;9349493 + 9643;69468;3716;3854;95368497;9349493 + 9644;69475;3725;3855;99080987;8815356 + 9645;69480;3725;3855;99080987;8815356 + 9646;69492;3725;3855;99080987;8815356 + 9647;69492;3725;3856;99080987;8884848 + 9648;69504;3725;3856;99080987;8884848 + 9649;69513;3725;3857;99080987;8954361 + 9650;69516;3725;3857;99080987;8954361 + 9651;69528;3725;3857;99080987;8954361 + 9652;69535;3725;3858;99080987;9023896 + 9653;69540;3725;3858;99080987;9023896 + 9654;69552;3725;3858;99080987;9023896 + 9655;69557;3725;3859;99080987;9093453 + 9656;69564;3725;3859;99080987;9093453 + 9657;69571;3725;3860;99080987;9163024 + 9658;69576;3725;3860;99080987;9163024 + 9659;69587;3735;3861;95392188;8560198 + 9660;69588;3735;3861;95392188;8560198 + 9661;69600;3735;3861;95392188;8560198 + 9662;69607;3736;3862;95935732;8562469 + 9663;69612;3736;3862;95935732;8562469 + 9664;69624;3736;3862;95935732;8562469 + 9665;69630;3736;3863;95935732;8632099 + 9666;69636;3736;3863;95935732;8632099 + 9667;69643;3736;3864;95935732;8701742 + 9668;69648;3736;3864;95935732;8701742 + 9669;69660;3736;3864;95935732;8701742 + 9670;69667;3737;3865;96650272;8704057 + 9671;69672;3737;3865;96650272;8704057 + 9672;69684;3737;3865;96650272;8704057 + 9673;69690;3737;3866;96650272;8773747 + 9674;69696;3737;3866;96650272;8773747 + 9675;69706;3737;3867;96650272;8843453 + 9676;69708;3737;3867;96650272;8843453 + 9677;69720;3737;3867;96650272;8843453 + 9678;69722;3737;3868;96650272;8913175 + 9679;69732;3737;3868;96650272;8913175 + 9680;69737;3737;3869;96650272;8982912 + 9681;69744;3737;3869;96650272;8982912 + 9682;69750;3737;3870;96650272;9052662 + 9683;69756;3737;3870;96650272;9052662 + 9684;69768;3737;3870;96650272;9052662 + 9685;69770;3737;3871;96650272;9122432 + 9686;69780;3737;3871;96650272;9122432 + 9687;69792;3737;3871;96650272;9122432 + 9688;69792;3737;3872;96650272;9192224 + 9689;69804;3737;3872;96650272;9192224 + 9690;69805;3737;3873;96650272;9262029 + 9691;69816;3737;3873;96650272;9262029 + 9692;69821;3737;3874;96650272;9331850 + 9693;69828;3737;3874;96650272;9331850 + 9694;69836;3737;3875;96650272;9401686 + 9695;69840;3737;3875;96650272;9401686 + 9696;69852;3737;3875;96650272;9401686 + 9697;69856;3745;3876;100020605;8931968 + 9698;69864;3745;3876;100020605;8931968 + 9699;69870;3750;3877;100781215;8664032 + 9700;69876;3750;3877;100781215;8664032 + 9701;69888;3750;3877;100781215;8664032 + 9702;69892;3750;3878;100781215;8733924 + 9703;69900;3750;3878;100781215;8733924 + 9704;69911;3750;3879;100781215;8803835 + 9705;69912;3750;3879;100781215;8803835 + 9706;69924;3750;3879;100781215;8803835 + 9707;69925;3750;3880;100781215;8873760 + 9708;69936;3750;3880;100781215;8873760 + 9709;69948;3750;3880;100781215;8873760 + 9710;69949;3750;3881;100781215;8943709 + 9711;69960;3750;3881;100781215;8943709 + 9712;69966;3750;3882;100781215;9013675 + 9713;69972;3750;3882;100781215;9013675 + 9714;69984;3750;3882;100781215;9013675 + 9715;69986;3750;3883;100781215;9083661 + 9716;69996;3750;3883;100781215;9083661 + 9717;70005;3758;3884;103104326;8612165 + 9718;70008;3758;3884;103104326;8612165 + 9719;70020;3758;3884;103104326;8612165 + 9720;70020;3758;3885;103104326;8682185 + 9721;70032;3758;3885;103104326;8682185 + 9722;70043;3758;3886;103104326;8752228 + 9723;70044;3758;3886;103104326;8752228 + 9724;70056;3758;3886;103104326;8752228 + 9725;70063;3758;3887;103104326;8822291 + 9726;70068;3758;3887;103104326;8822291 + 9727;70079;3758;3888;103104326;8892370 + 9728;70080;3758;3888;103104326;8892370 + 9729;70092;3758;3888;103104326;8892370 + 9730;70102;3758;3889;103104326;8962472 + 9731;70104;3758;3889;103104326;8962472 + 9732;70115;3758;3890;103104326;9032587 + 9733;70116;3758;3890;103104326;9032587 + 9734;70128;3761;3890;102618889;8829192 + 9735;70137;3761;3891;102618889;8899329 + 9736;70140;3761;3891;102618889;8899329 + 9737;70151;3764;3892;102323006;8765927 + 9738;70152;3764;3892;102323006;8765927 + 9739;70164;3764;3892;102323006;8765927 + 9740;70170;3764;3893;102323006;8836097 + 9741;70176;3764;3893;102323006;8836097 + 9742;70188;3764;3893;102323006;8836097 + 9743;70189;3764;3894;102323006;8906286 + 9744;70200;3764;3894;102323006;8906286 + 9745;70205;3764;3895;102323006;8976491 + 9746;70212;3764;3895;102323006;8976491 + 9747;70224;3764;3895;102323006;8976491 + 9748;70226;3764;3896;102323006;9046717 + 9749;70236;3764;3896;102323006;9046717 + 9750;70242;3767;3897;101699059;8913270 + 9751;70248;3767;3897;101699059;8913270 + 9752;70260;3767;3897;101699059;8913270 + 9753;70264;3767;3898;101699059;8983534 + 9754;70272;3767;3898;101699059;8983534 + 9755;70284;3767;3898;101699059;8983534 + 9756;70288;3774;3899;100172889;8577942 + 9757;70296;3774;3899;100172889;8577942 + 9758;70308;3774;3899;100172889;8577942 + 9759;70311;3777;3900;100425131;8444001 + 9760;70320;3777;3900;100425131;8444001 + 9761;70332;3777;3900;100425131;8444001 + 9762;70333;3777;3901;100425131;8514334 + 9763;70344;3777;3901;100425131;8514334 + 9764;70349;3777;3902;100425131;8584683 + 9765;70356;3777;3902;100425131;8584683 + 9766;70366;3777;3903;100425131;8655049 + 9767;70368;3777;3903;100425131;8655049 + 9768;70380;3777;3903;100425131;8655049 + 9769;70388;3777;3904;100425131;8725437 + 9770;70392;3777;3904;100425131;8725437 + 9771;70401;3777;3905;100425131;8795838 + 9772;70404;3777;3905;100425131;8795838 + 9773;70416;3777;3905;100425131;8795838 + 9774;70422;3777;3906;100425131;8866260 + 9775;70428;3777;3906;100425131;8866260 + 9776;70440;3777;3906;100425131;8866260 + 9777;70444;3777;3907;100425131;8936704 + 9778;70452;3777;3907;100425131;8936704 + 9779;70464;3777;3907;100425131;8936704 + 9780;70466;3777;3908;100425131;9007170 + 9781;70476;3777;3908;100425131;9007170 + 9782;70483;3777;3909;100425131;9077653 + 9783;70488;3777;3909;100425131;9077653 + 9784;70499;3777;3910;100425131;9148152 + 9785;70500;3777;3910;100425131;9148152 + 9786;70512;3777;3910;100425131;9148152 + 9787;70523;3787;3911;95775020;8536592 + 9788;70524;3787;3911;95775020;8536592 + 9789;70536;3789;3911;94751647;8399929 + 9790;70542;3789;3912;94751647;8470471 + 9791;70548;3789;3912;94751647;8470471 + 9792;70560;3789;3912;94751647;8470471 + 9793;70565;3789;3913;94751647;8541036 + 9794;70572;3789;3913;94751647;8541036 + 9795;70584;3789;3913;94751647;8541036 + 9796;70585;3789;3914;94751647;8611621 + 9797;70596;3789;3914;94751647;8611621 + 9798;70604;3789;3915;94751647;8682225 + 9799;70608;3789;3915;94751647;8682225 + 9800;70617;3789;3916;94751647;8752842 + 9801;70620;3789;3916;94751647;8752842 + 9802;70632;3789;3916;94751647;8752842 + 9803;70639;3789;3917;94751647;8823481 + 9804;70644;3789;3917;94751647;8823481 + 9805;70652;3789;3918;94751647;8894133 + 9806;70656;3789;3918;94751647;8894133 + 9807;70668;3789;3918;94751647;8894133 + 9808;70671;3789;3919;94751647;8964804 + 9809;70680;3789;3919;94751647;8964804 + 9810;70692;3791;3919;95691794;8828058 + 9811;70695;3791;3920;95691794;8898753 + 9812;70704;3791;3920;95691794;8898753 + 9813;70710;3791;3921;95691794;8969463 + 9814;70716;3791;3921;95691794;8969463 + 9815;70728;3791;3921;95691794;8969463 + 9816;70731;3791;3922;95691794;9040194 + 9817;70740;3791;3922;95691794;9040194 + 9818;70752;3791;3922;95691794;9040194 + 9819;70755;3791;3923;95691794;9110949 + 9820;70764;3791;3923;95691794;9110949 + 9821;70776;3791;3923;95691794;9110949 + 9822;70777;3791;3924;95691794;9181726 + 9823;70788;3791;3924;95691794;9181726 + 9824;70798;3791;3925;95691794;9252524 + 9825;70800;3791;3925;95691794;9252524 + 9826;70812;3791;3925;95691794;9252524 + 9827;70819;3791;3926;95691794;9323343 + 9828;70824;3791;3926;95691794;9323343 + 9829;70836;3791;3926;95691794;9323343 + 9830;70840;3791;3927;95691794;9394183 + 9831;70848;3791;3927;95691794;9394183 + 9832;70853;3794;3928;98382071;9259795 + 9833;70860;3798;3928;97345952;8985871 + 9834;70867;3798;3929;97345952;9056738 + 9835;70872;3798;3929;97345952;9056738 + 9836;70884;3798;3929;97345952;9056738 + 9837;70886;3798;3930;97345952;9127624 + 9838;70896;3798;3930;97345952;9127624 + 9839;70907;3798;3931;97345952;9198531 + 9840;70908;3798;3931;97345952;9198531 + 9841;70920;3798;3931;97345952;9198531 + 9842;70929;3798;3932;97345952;9269460 + 9843;70932;3798;3932;97345952;9269460 + 9844;70944;3798;3932;97345952;9269460 + 9845;70952;3798;3933;97345952;9340412 + 9846;70956;3798;3933;97345952;9340412 + 9847;70968;3799;3933;98427901;9271888 + 9848;70975;3799;3934;98427901;9342863 + 9849;70980;3799;3934;98427901;9342863 + 9850;70992;3799;3934;98427901;9342863 + 9851;70994;3807;3935;99225678;8865018 + 9852;71004;3807;3935;99225678;8865018 + 9853;71006;3807;3936;99225678;8936024 + 9854;71016;3807;3936;99225678;8936024 + 9855;71023;3810;3937;99974034;8800927 + 9856;71028;3810;3937;99974034;8800927 + 9857;71040;3810;3937;99974034;8800927 + 9858;71041;3810;3938;99974034;8871968 + 9859;71052;3810;3938;99974034;8871968 + 9860;71055;3810;3939;99974034;8943023 + 9861;71064;3810;3939;99974034;8943023 + 9862;71076;3810;3939;99974034;8943023 + 9863;71079;3810;3940;99974034;9014102 + 9864;71088;3810;3940;99974034;9014102 + 9865;71093;3810;3941;99974034;9085195 + 9866;71100;3810;3941;99974034;9085195 + 9867;71112;3810;3941;99974034;9085195 + 9868;71112;3810;3942;99974034;9156307 + 9869;71124;3810;3942;99974034;9156307 + 9870;71128;3810;3943;99974034;9227435 + 9871;71136;3810;3943;99974034;9227435 + 9872;71148;3810;3943;99974034;9227435 + 9873;71150;3810;3944;99974034;9298585 + 9874;71160;3810;3944;99974034;9298585 + 9875;71172;3810;3944;99974034;9298585 + 9876;71174;3810;3945;99974034;9369759 + 9877;71184;3810;3945;99974034;9369759 + 9878;71195;3820;3946;99234921;8752834 + 9879;71196;3820;3946;99234921;8752834 + 9880;71208;3820;3946;99234921;8752834 + 9881;71215;3826;3947;99013332;8410340 + 9882;71220;3826;3947;99013332;8410340 + 9883;71232;3826;3947;99013332;8410340 + 9884;71233;3826;3948;99013332;8481573 + 9885;71244;3826;3948;99013332;8481573 + 9886;71247;3826;3949;99013332;8552820 + 9887;71256;3826;3949;99013332;8552820 + 9888;71267;3826;3950;99013332;8624087 + 9889;71268;3826;3950;99013332;8624087 + 9890;71280;3826;3950;99013332;8624087 + 9891;71280;3826;3951;99013332;8695367 + 9892;71292;3826;3951;99013332;8695367 + 9893;71298;3826;3952;99013332;8766665 + 9894;71304;3826;3952;99013332;8766665 + 9895;71311;3826;3953;99013332;8837976 + 9896;71316;3826;3953;99013332;8837976 + 9897;71328;3826;3953;99013332;8837976 + 9898;71332;3826;3954;99013332;8909308 + 9899;71340;3826;3954;99013332;8909308 + 9900;71346;3826;3955;99013332;8980654 + 9901;71352;3826;3955;99013332;8980654 + 9902;71364;3826;3955;99013332;8980654 + 9903;71368;3827;3956;99859252;8983014 + 9904;71376;3827;3956;99859252;8983014 + 9905;71382;3827;3957;99859252;9054396 + 9906;71388;3827;3957;99859252;9054396 + 9907;71400;3827;3957;99859252;9054396 + 9908;71406;3827;3958;99859252;9125802 + 9909;71412;3827;3958;99859252;9125802 + 9910;71419;3827;3959;99859252;9197221 + 9911;71424;3827;3959;99859252;9197221 + 9912;71436;3827;3959;99859252;9197221 + 9913;71440;3827;3960;99859252;9268661 + 9914;71448;3827;3960;99859252;9268661 + 9915;71460;3827;3960;99859252;9268661 + 9916;71460;3836;3961;99151767;8718299 + 9917;71472;3836;3961;99151767;8718299 + 9918;71484;3836;3961;99151767;8718299 + 9919;71484;3836;3962;99151767;8789783 + 9920;71496;3836;3962;99151767;8789783 + 9921;71497;3836;3963;99151767;8861280 + 9922;71508;3836;3963;99151767;8861280 + 9923;71512;3836;3964;99151767;8932792 + 9924;71520;3836;3964;99151767;8932792 + 9925;71525;3836;3965;99151767;9004317 + 9926;71532;3836;3965;99151767;9004317 + 9927;71538;3836;3966;99151767;9075855 + 9928;71544;3836;3966;99151767;9075855 + 9929;71553;3836;3967;99151767;9147408 + 9930;71556;3836;3967;99151767;9147408 + 9931;71566;3836;3968;99151767;9218974 + 9932;71568;3836;3968;99151767;9218974 + 9933;71579;3836;3969;99151767;9290553 + 9934;71580;3836;3969;99151767;9290553 + 9935;71592;3836;3969;99151767;9290553 + 9936;71596;3836;3970;99151767;9362149 + 9937;71604;3836;3970;99151767;9362149 + 9938;71613;3836;3971;99151767;9433762 + 9939;71616;3836;3971;99151767;9433762 + 9940;71628;3836;3971;99151767;9433762 + 9941;71632;3845;3972;98296580;8882161 + 9942;71640;3845;3972;98296580;8882161 + 9943;71651;3845;3973;98296580;8953812 + 9944;71652;3845;3973;98296580;8953812 + 9945;71664;3845;3973;98296580;8953812 + 9946;71671;3845;3974;98296580;9025483 + 9947;71676;3845;3974;98296580;9025483 + 9948;71688;3845;3974;98296580;9025483 + 9949;71691;3845;3975;98296580;9097174 + 9950;71700;3845;3975;98296580;9097174 + 9951;71712;3845;3975;98296580;9097174 + 9952;71712;3845;3976;98296580;9168886 + 9953;71724;3845;3976;98296580;9168886 + 9954;71734;3845;3977;98296580;9240620 + 9955;71736;3845;3977;98296580;9240620 + 9956;71747;3845;3978;98296580;9312367 + 9957;71748;3845;3978;98296580;9312367 + 9958;71760;3845;3978;98296580;9312367 + 9959;71765;3851;3979;99494068;8967912 + 9960;71772;3851;3979;99494068;8967912 + 9961;71781;3851;3980;99494068;9039693 + 9962;71784;3851;3980;99494068;9039693 + 9963;71796;3851;3980;99494068;9039693 + 9964;71799;3851;3981;99494068;9111492 + 9965;71808;3851;3981;99494068;9111492 + 9966;71816;3851;3982;99494068;9183308 + 9967;71820;3851;3982;99494068;9183308 + 9968;71832;3851;3982;99494068;9183308 + 9969;71836;3851;3983;99494068;9255144 + 9970;71844;3851;3983;99494068;9255144 + 9971;71853;3851;3984;99494068;9326997 + 9972;71856;3851;3984;99494068;9326997 + 9973;71868;3851;3984;99494068;9326997 + 9974;71875;3851;3985;99494068;9398872 + 9975;71880;3851;3985;99494068;9398872 + 9976;71892;3851;3985;99494068;9398872 + 9977;71895;3856;3986;102689008;9123409 + 9978;71904;3856;3986;102689008;9123409 + 9979;71911;3856;3987;102689008;9195320 + 9980;71916;3856;3987;102689008;9195320 + 9981;71928;3856;3987;102689008;9195320 + 9982;71932;3856;3988;102689008;9267252 + 9983;71940;3856;3988;102689008;9267252 + 9984;71947;3856;3989;102689008;9339199 + 9985;71952;3856;3989;102689008;9339199 + 9986;71964;3856;3989;102689008;9339199 + 9987;71970;3856;3990;102689008;9411169 + 9988;71976;3856;3990;102689008;9411169 + 9989;71987;3863;3991;102211874;8996026 + 9990;71988;3863;3991;102211874;8996026 + 9991;72000;3863;3991;102211874;8996026 + 9992;72004;3863;3992;102211874;9068030 + 9993;72012;3863;3992;102211874;9068030 + 9994;72024;3863;3992;102211874;9068030 + 9995;72026;3863;3993;102211874;9140056 + 9996;72036;3863;3993;102211874;9140056 + 9997;72038;3863;3994;102211874;9212094 + 9998;72048;3863;3994;102211874;9212094 + 9999;72051;3863;3995;102211874;9284145 + 10000;72060;3863;3995;102211874;9284145 + 10001;72072;3863;3995;102211874;9284145 + 10002;72072;3863;3996;102211874;9356217 + 10003;72084;3863;3996;102211874;9356217 + 10004;72085;3863;3997;102211874;9428302 + 10005;72096;3863;3997;102211874;9428302 + 10006;72108;3863;3997;102211874;9428302 + 10007;72109;3863;3998;102211874;9500411 + 10008;72120;3863;3998;102211874;9500411 + 10009;72123;3863;3999;102211874;9572534 + 10010;72132;3869;3999;101882363;9154262 + 10011;72142;3869;4000;101882363;9226404 + 10012;72144;3869;4000;101882363;9226404 + 10013;72156;3869;4000;101882363;9226404 + 10014;72166;3869;4001;101882363;9298570 + 10015;72168;3869;4001;101882363;9298570 + 10016;72180;3869;4001;101882363;9298570 + 10017;72192;3869;4001;101882363;9298570 + 10018;72204;3875;4001;100428249;8879690 + 10019;72216;3875;4001;100428249;8879690 + 10020;72228;3875;4001;100428249;8879690 + 10021;72240;3875;4001;100428249;8879690 + 10022;72252;3875;4001;100428249;8879690 + 10023;72264;3875;4001;100428249;8879690 + 10024;72276;3876;4001;101408977;8809820 + 10025;72288;3876;4001;101408977;8809820 + 10026;72300;3876;4001;101408977;8809820 + 10027;72312;3876;4001;101408977;8809820 + 10028;72324;3876;4001;101408977;8809820 + 10029;72336;3876;4001;101408977;8809820 + 10030;72348;3880;4001;101254814;8530143 + 10031;72360;3880;4001;101254814;8530143 + 10032;72372;3880;4001;101254814;8530143 + 10033;72384;3880;4001;101254814;8530143 + 10034;72396;3880;4001;101254814;8530143 + 10035;72408;3880;4001;101254814;8530143 + 10036;72420;3880;4001;101254814;8530143 + 10037;72432;3887;4001;103598491;8039981 + 10038;72444;3887;4001;103598491;8039981 + 10039;72456;3887;4001;103598491;8039981 + 10040;72468;3887;4001;103598491;8039981 + 10041;72480;3888;4001;104457635;7969879 + 10042;72492;3888;4001;104457635;7969879 + 10043;72504;3888;4001;104457635;7969879 + 10044;72516;3888;4001;104457635;7969879 + 10045;72528;3888;4001;104457635;7969879 + 10046;72540;3888;4001;104457635;7969879 + 10047;72552;3895;4001;106316124;7478686 + 10048;72564;3895;4001;106316124;7478686 + 10049;72576;3895;4001;106316124;7478686 + 10050;72588;3895;4001;106316124;7478686 + 10051;72600;3895;4001;106316124;7478686 + 10052;72612;3895;4001;106316124;7478686 + 10053;72624;3895;4001;106316124;7478686 + 10054;72636;3895;4001;106316124;7478686 + 10055;72648;3895;4001;106316124;7478686 + 10056;72660;3895;4001;106316124;7478686 + 10057;72672;3902;4001;104925704;6986533 + 10058;72684;3902;4001;104925704;6986533 + 10059;72696;3902;4001;104925704;6986533 + 10060;72708;3902;4001;104925704;6986533 + 10061;72720;3902;4001;104925704;6986533 + 10062;72732;3902;4001;104925704;6986533 + 10063;72744;3902;4001;104925704;6986533 + 10064;72756;3902;4001;104925704;6986533 + 10065;72768;3902;4001;104925704;6986533 + 10066;72780;3902;4001;104925704;6986533 + 10067;72792;3913;4001;104584197;6211215 + 10068;72804;3913;4001;104584197;6211215 + 10069;72816;3913;4001;104584197;6211215 + 10070;72828;3913;4001;104584197;6211215 + 10071;72840;3913;4001;104584197;6211215 + 10072;72852;3916;4001;104889875;5999355 + 10073;72864;3916;4001;104889875;5999355 + 10074;72876;3916;4001;104889875;5999355 + 10075;72888;3916;4001;104889875;5999355 + 10076;72900;3916;4001;104889875;5999355 + 10077;72912;3916;4001;104889875;5999355 + 10078;72924;3916;4001;104889875;5999355 + 10079;72936;3916;4001;104889875;5999355 + 10080;72948;3916;4001;104889875;5999355 + 10081;72960;3916;4001;104889875;5999355 + 10082;72972;3916;4001;104889875;5999355 + 10083;72984;3916;4001;104889875;5999355 + 10084;72996;3916;4001;104889875;5999355 + 10085;73008;3916;4001;104889875;5999355 + 10086;73020;3916;4001;104889875;5999355 + 10087;73032;3916;4001;104889875;5999355 + 10088;73044;3916;4001;104889875;5999355 + 10089;73056;3916;4001;104889875;5999355 + 10090;73068;3926;4001;106785890;5291907 + 10091;73080;3926;4001;106785890;5291907 + 10092;73092;3926;4001;106785890;5291907 + 10093;73104;3926;4001;106785890;5291907 + 10094;73116;3926;4001;106785890;5291907 + 10095;73128;3926;4001;106785890;5291907 + 10096;73140;3926;4001;106785890;5291907 + 10097;73152;3926;4001;106785890;5291907 + 10098;73164;3926;4001;106785890;5291907 + 10099;73176;3926;4001;106785890;5291907 + 10100;73188;3926;4001;106785890;5291907 + 10101;73200;3926;4001;106785890;5291907 + 10102;73212;3926;4001;106785890;5291907 + 10103;73224;3926;4001;106785890;5291907 + 10104;73236;3926;4001;106785890;5291907 + 10105;73248;3926;4001;106785890;5291907 + 10106;73260;3926;4001;106785890;5291907 + 10107;73272;3926;4001;106785890;5291907 + 10108;73284;3926;4001;106785890;5291907 + 10109;73296;3926;4001;106785890;5291907 + 10110;73308;3926;4001;106785890;5291907 + 10111;73320;3930;4001;106293020;5008394 + 10112;73332;3930;4001;106293020;5008394 + 10113;73344;3930;4001;106293020;5008394 + 10114;73356;3930;4001;106293020;5008394 + 10115;73368;3930;4001;106293020;5008394 + 10116;73380;3930;4001;106293020;5008394 + 10117;73392;3937;4001;106765998;4511474 + 10118;73404;3937;4001;106765998;4511474 + 10119;73416;3937;4001;106765998;4511474 + 10120;73428;3937;4001;106765998;4511474 + 10121;73440;3937;4001;106765998;4511474 + 10122;73452;3937;4001;106765998;4511474 + 10123;73464;3944;4001;105740029;4013683 + 10124;73476;3944;4001;105740029;4013683 + 10125;73488;3944;4001;105740029;4013683 + 10126;73500;3944;4001;105740029;4013683 + 10127;73512;3944;4001;105740029;4013683 + 10128;73524;3944;4001;105740029;4013683 + 10129;73536;3944;4001;105740029;4013683 + 10130;73548;3944;4001;105740029;4013683 + 10131;73560;3944;4001;105740029;4013683 + 10132;73572;3944;4001;105740029;4013683 + 10133;73584;3953;4001;104964805;3372305 + 10134;73596;3953;4001;104964805;3372305 + 10135;73608;3953;4001;104964805;3372305 + 10136;73620;3953;4001;104964805;3372305 + 10137;73632;3953;4001;104964805;3372305 + 10138;73644;3953;4001;104964805;3372305 + 10139;73656;3953;4001;104964805;3372305 + 10140;73668;3953;4001;104964805;3372305 + 10141;73680;3953;4001;104964805;3372305 + 10142;73692;3953;4001;104964805;3372305 + 10143;73704;3953;4001;104964805;3372305 + 10144;73716;3953;4001;104964805;3372305 + 10145;73728;3953;4001;104964805;3372305 + 10146;73740;3953;4001;104964805;3372305 + 10147;73752;3953;4001;104964805;3372305 + 10148;73764;3953;4001;104964805;3372305 + 10149;73776;3953;4001;104964805;3372305 + 10150;73788;3962;4001;105438420;2729503 + 10151;73800;3962;4001;105438420;2729503 + 10152;73812;3962;4001;105438420;2729503 + 10153;73824;3962;4001;105438420;2729503 + 10154;73836;3962;4001;105438420;2729503 + 10155;73848;3962;4001;105438420;2729503 + 10156;73860;3965;4001;105736746;2514928 + 10157;73872;3965;4001;105736746;2514928 + 10158;73884;3965;4001;105736746;2514928 + 10159;73896;3965;4001;105736746;2514928 + 10160;73908;3965;4001;105736746;2514928 + 10161;73920;3965;4001;105736746;2514928 + 10162;73932;3965;4001;105736746;2514928 + 10163;73944;3965;4001;105736746;2514928 + 10164;73956;3965;4001;105736746;2514928 + 10165;73968;3971;4001;105897732;2085389 + 10166;73980;3971;4001;105897732;2085389 + 10167;73992;3971;4001;105897732;2085389 + 10168;74004;3971;4001;105897732;2085389 + 10169;74016;3971;4001;105897732;2085389 + 10170;74028;3971;4001;105897732;2085389 + 10171;74040;3971;4001;105897732;2085389 + 10172;74052;3971;4001;105897732;2085389 + 10173;74064;3971;4001;105897732;2085389 + 10174;74076;3971;4001;105897732;2085389 + 10175;74088;3971;4001;105897732;2085389 + 10176;74100;3971;4001;105897732;2085389 + 10177;74112;3971;4001;105897732;2085389 + 10178;74124;3971;4001;105897732;2085389 + 10179;74136;3971;4001;105897732;2085389 + 10180;74148;3971;4001;105897732;2085389 + 10181;74160;3971;4001;105897732;2085389 + 10182;74172;3971;4001;105897732;2085389 + 10183;74184;3981;4001;108100222;1368022 + 10184;74196;3981;4001;108100222;1368022 + 10185;74208;3981;4001;108100222;1368022 + 10186;74220;3981;4001;108100222;1368022 + 10187;74232;3983;4001;106882083;1224333 + 10188;74244;3983;4001;106882083;1224333 + 10189;74256;3983;4001;106882083;1224333 + 10190;74268;3983;4001;106882083;1224333 + 10191;74280;3983;4001;106882083;1224333 + 10192;74292;3983;4001;106882083;1224333 + 10193;74304;3983;4001;106882083;1224333 + 10194;74316;3983;4001;106882083;1224333 + 10195;74328;3983;4001;106882083;1224333 + 10196;74340;3983;4001;106882083;1224333 + 10197;74352;3983;4001;106882083;1224333 + 10198;74364;3983;4001;106882083;1224333 + -----------------------------! + +Test result: ok. 1 passed; 0 failed; finished in 8.20s +| contracts/L1/TaikoToken.sol:TaikoToken contract | | | | | | +|-------------------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1203248 | 6042 | | | | | +| Function Name | min | avg | median | max | # calls | +| burn | 10388 | 10388 | 10388 | 10388 | 1 | +| init | 161878 | 161878 | 161878 | 161878 | 1 | +| mint | 48066 | 48066 | 48066 | 48066 | 1 | +| transfer | 30008 | 30008 | 30008 | 30008 | 1 | + + +| contracts/common/AddressManager.sol:AddressManager contract | | | | | | +|-------------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 268706 | 1374 | | | | | +| Function Name | min | avg | median | max | # calls | +| getAddress | 538 | 539 | 538 | 2538 | 8006 | +| init | 48211 | 48211 | 48211 | 48211 | 1 | +| setAddress | 3073 | 20991 | 24973 | 24973 | 11 | + + +| contracts/signal/SignalService.sol:SignalService contract | | | | | | +|-----------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1561631 | 7832 | | | | | +| Function Name | min | avg | median | max | # calls | +| init | 92994 | 92994 | 92994 | 92994 | 1 | + + +| test/LibLn.sol:LibLn contract | | | | | | +|-------------------------------|-----------------|------|--------|------|---------| +| Deployment Cost | Deployment Size | | | | | +| 227894 | 1196 | | | | | +| Function Name | min | avg | median | max | # calls | +| calcInitProofTimeIssued | 1626 | 1626 | 1626 | 1626 | 1 | + + +| test/TaikoL1.sim.sol:TaikoL1_b contract | | | | | | +|-----------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 3481693 | 17421 | | | | | +| Function Name | min | avg | median | max | # calls | +| depositTaikoToken | 40114 | 40114 | 40114 | 40114 | 1 | +| getBlockFee | 464 | 464 | 464 | 464 | 1 | +| getConfig | 2546 | 2546 | 2546 | 2546 | 1 | +| getStateVariables | 2251 | 2251 | 2251 | 10251 | 14199 | +| getVerifierName | 494 | 494 | 494 | 494 | 2 | +| init | 230235 | 230235 | 230235 | 230235 | 1 | +| proposeBlock | 25391 | 51457 | 25444 | 183368 | 4000 | +| proveBlock | 17096 | 48663 | 19096 | 199112 | 4000 | +| resolve(bytes32,bool)(address) | 2007 | 2009 | 2007 | 8507 | 4002 | +| resolve(uint256,bytes32,bool)(address) | 1964 | 1965 | 1964 | 3964 | 4002 | + + + diff --git a/packages/protocol/simulation/exports/simulation_data_1682693127.txt b/packages/protocol/simulation/exports/simulation_data_1682693127.txt new file mode 100644 index 00000000000..eafe567a8b5 --- /dev/null +++ b/packages/protocol/simulation/exports/simulation_data_1682693127.txt @@ -0,0 +1,14285 @@ + +> @taiko/protocol@0.6.1 test:sim /Users/keszeyd/work/taiko_major_upgrade_ref/taiko-mono/packages/protocol +> forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000 + +No files changed, compilation skipped + +Running 1 test for test/TaikoL1.sim.sol:TaikoL1Simulation +[PASS] testGeneratingManyRandomBlocksNonConsecutive() (gas: 1249460282044) +Logs: + 31337 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0x72384992222BE015DE0146a6D7E5dA0E19d2Ba49 + 31337 45889272483043749622685123383852074881457604843399824532951312269642964140032 → 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5 + 167 52670410704698717800542732036128729340597328726126075889694804077029212815360 → 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb + 167 52640402180712775100801168841838825813708635172629202311207512447469335085056 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 167 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C + 167 52640402180752029697201414225623803055489816253066935491057410734051802742784 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 31337 16777316 → 0x08526067985167EcFcB1F9720C72DbBF36c96018 + 31337 52640402180752042938242321556083758872323763589890511990531751287648111558656 → 0x0F8458E544c9D4C7C25A881240727209caae20B8 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0x34A1D3fff3958843C43aD80F30b94c510645C316 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0xFEfC6BAF87cF3684058D62Da40Ff3A795946Ab06 + 0:[0→1] fee:100000000 nextEthDepositToProcess:0 numEthDeposits:0 // init + 31337 16777316 → 0x4d04375eCD86c2B81eb0F55B37aA3fAb41CeCBc4 + BlockId, ProofTime + 1 ; 1713 + 2 ; 2383 + 3 ; 1892 + 4 ; 1665 + 5 ; 1677 + 6 ; 1872 + 7 ; 1907 + 8 ; 2221 + 9 ; 1886 + 10 ; 1859 + 11 ; 2069 + 12 ; 1626 + 13 ; 1725 + 14 ; 2090 + 15 ; 2084 + 16 ; 2066 + 17 ; 2324 + 18 ; 1800 + 19 ; 1861 + 20 ; 2214 + 21 ; 1619 + 22 ; 1949 + 23 ; 2249 + 24 ; 2295 + 25 ; 2306 + 26 ; 2056 + 27 ; 1732 + 28 ; 1684 + 29 ; 2032 + 30 ; 2051 + 31 ; 2128 + 32 ; 1625 + 33 ; 2224 + 34 ; 2135 + 35 ; 2078 + 36 ; 1829 + 37 ; 1763 + 38 ; 1773 + 39 ; 1711 + 40 ; 1878 + 41 ; 1940 + 42 ; 1631 + 43 ; 2238 + 44 ; 1900 + 45 ; 2255 + 46 ; 1628 + 47 ; 2248 + 48 ; 2051 + 49 ; 2263 + 50 ; 1687 + 51 ; 1688 + 52 ; 1971 + 53 ; 2005 + 54 ; 2394 + 55 ; 2401 + 56 ; 1961 + 57 ; 2190 + 58 ; 1919 + 59 ; 2403 + 60 ; 2222 + 61 ; 2403 + 62 ; 1749 + 63 ; 2076 + 64 ; 2213 + 65 ; 1792 + 66 ; 1711 + 67 ; 1700 + 68 ; 1878 + 69 ; 2365 + 70 ; 2146 + 71 ; 2326 + 72 ; 1719 + 73 ; 1663 + 74 ; 1927 + 75 ; 2192 + 76 ; 2179 + 77 ; 2359 + 78 ; 2316 + 79 ; 2142 + 80 ; 2350 + 81 ; 1624 + 82 ; 2253 + 83 ; 2240 + 84 ; 1732 + 85 ; 2185 + 86 ; 1636 + 87 ; 2209 + 88 ; 1693 + 89 ; 2378 + 90 ; 1882 + 91 ; 1997 + 92 ; 1819 + 93 ; 1962 + 94 ; 1735 + 95 ; 1716 + 96 ; 2258 + 97 ; 1894 + 98 ; 2197 + 99 ; 2107 + 100 ; 2142 + 101 ; 2102 + 102 ; 1856 + 103 ; 2296 + 104 ; 2056 + 105 ; 1897 + 106 ; 1815 + 107 ; 1837 + 108 ; 1981 + 109 ; 2265 + 110 ; 1627 + 111 ; 1713 + 112 ; 1868 + 113 ; 2253 + 114 ; 2328 + 115 ; 2088 + 116 ; 1858 + 117 ; 1793 + 118 ; 1804 + 119 ; 2257 + 120 ; 2370 + 121 ; 2219 + 122 ; 1820 + 123 ; 2355 + 124 ; 2110 + 125 ; 2195 + 126 ; 1987 + 127 ; 2135 + 128 ; 2326 + 129 ; 1889 + 130 ; 1954 + 131 ; 2408 + 132 ; 1921 + 133 ; 2108 + 134 ; 2085 + 135 ; 1870 + 136 ; 1791 + 137 ; 2358 + 138 ; 2179 + 139 ; 2199 + 140 ; 2314 + 141 ; 1676 + 142 ; 1949 + 143 ; 2166 + 144 ; 1934 + 145 ; 1622 + 146 ; 1745 + 147 ; 2082 + 148 ; 2083 + 149 ; 1742 + 150 ; 2063 + 151 ; 2248 + 152 ; 1901 + 153 ; 2374 + 154 ; 2220 + 155 ; 2284 + 156 ; 1820 + 157 ; 2127 + 158 ; 2029 + 159 ; 1809 + 160 ; 2036 + 161 ; 1953 + 162 ; 2347 + 163 ; 1940 + 164 ; 1997 + 165 ; 2299 + 166 ; 1912 + 167 ; 2254 + 168 ; 1718 + 169 ; 1851 + 170 ; 1935 + 171 ; 2330 + 172 ; 1823 + 173 ; 1922 + 174 ; 1993 + 175 ; 2214 + 176 ; 1636 + 177 ; 2234 + 178 ; 2083 + 179 ; 1909 + 180 ; 1787 + 181 ; 1936 + 182 ; 1846 + 183 ; 2019 + 184 ; 1805 + 185 ; 2222 + 186 ; 1719 + 187 ; 1894 + 188 ; 1932 + 189 ; 1892 + 190 ; 1644 + 191 ; 2137 + 192 ; 1764 + 193 ; 1793 + 194 ; 1748 + 195 ; 1619 + 196 ; 1986 + 197 ; 1640 + 198 ; 2121 + 199 ; 2257 + 200 ; 1625 + 201 ; 2063 + 202 ; 1623 + 203 ; 2163 + 204 ; 1881 + 205 ; 1759 + 206 ; 1718 + 207 ; 1730 + 208 ; 1629 + 209 ; 2286 + 210 ; 1777 + 211 ; 1683 + 212 ; 2262 + 213 ; 2400 + 214 ; 2348 + 215 ; 2080 + 216 ; 2393 + 217 ; 2294 + 218 ; 1650 + 219 ; 1969 + 220 ; 2207 + 221 ; 1841 + 222 ; 2118 + 223 ; 1993 + 224 ; 1716 + 225 ; 1829 + 226 ; 2274 + 227 ; 1794 + 228 ; 1693 + 229 ; 1637 + 230 ; 2202 + 231 ; 1839 + 232 ; 1990 + 233 ; 2071 + 234 ; 2218 + 235 ; 2049 + 236 ; 1852 + 237 ; 1783 + 238 ; 2092 + 239 ; 2228 + 240 ; 1965 + 241 ; 2222 + 242 ; 1791 + 243 ; 2125 + 244 ; 1691 + 245 ; 1657 + 246 ; 2407 + 247 ; 1701 + 248 ; 1780 + 249 ; 2335 + 250 ; 2278 + 251 ; 1632 + 252 ; 1961 + 253 ; 2072 + 254 ; 1918 + 255 ; 2193 + 256 ; 1686 + 257 ; 1739 + 258 ; 1707 + 259 ; 1881 + 260 ; 2017 + 261 ; 2375 + 262 ; 1723 + 263 ; 2142 + 264 ; 1680 + 265 ; 1861 + 266 ; 2216 + 267 ; 2332 + 268 ; 1685 + 269 ; 2148 + 270 ; 1995 + 271 ; 1893 + 272 ; 2339 + 273 ; 2176 + 274 ; 2154 + 275 ; 1776 + 276 ; 2387 + 277 ; 2109 + 278 ; 1802 + 279 ; 2010 + 280 ; 2314 + 281 ; 1726 + 282 ; 2259 + 283 ; 2146 + 284 ; 1999 + 285 ; 1801 + 286 ; 2079 + 287 ; 2166 + 288 ; 1843 + 289 ; 2028 + 290 ; 2200 + 291 ; 2332 + 292 ; 2142 + 293 ; 2124 + 294 ; 2026 + 295 ; 1966 + 296 ; 2041 + 297 ; 2292 + 298 ; 1736 + 299 ; 2272 + 300 ; 2024 + 301 ; 1628 + 302 ; 1751 + 303 ; 2375 + 304 ; 1933 + 305 ; 1922 + 306 ; 2334 + 307 ; 2261 + 308 ; 1709 + 309 ; 2128 + 310 ; 1735 + 311 ; 1923 + 312 ; 1797 + 313 ; 1931 + 314 ; 1801 + 315 ; 1663 + 316 ; 2038 + 317 ; 1774 + 318 ; 2381 + 319 ; 1739 + 320 ; 1781 + 321 ; 2077 + 322 ; 1799 + 323 ; 2382 + 324 ; 2389 + 325 ; 1984 + 326 ; 2227 + 327 ; 1618 + 328 ; 2341 + 329 ; 1981 + 330 ; 2400 + 331 ; 2285 + 332 ; 2370 + 333 ; 2292 + 334 ; 1796 + 335 ; 1666 + 336 ; 1881 + 337 ; 1895 + 338 ; 1802 + 339 ; 1697 + 340 ; 2411 + 341 ; 2124 + 342 ; 2104 + 343 ; 1627 + 344 ; 2178 + 345 ; 1949 + 346 ; 1956 + 347 ; 2120 + 348 ; 2032 + 349 ; 1972 + 350 ; 1741 + 351 ; 2202 + 352 ; 2159 + 353 ; 1908 + 354 ; 2166 + 355 ; 2358 + 356 ; 2360 + 357 ; 2047 + 358 ; 1664 + 359 ; 1659 + 360 ; 1771 + 361 ; 1982 + 362 ; 1765 + 363 ; 2089 + 364 ; 2303 + 365 ; 1705 + 366 ; 2184 + 367 ; 2166 + 368 ; 1684 + 369 ; 1660 + 370 ; 2391 + 371 ; 1882 + 372 ; 2130 + 373 ; 1752 + 374 ; 2104 + 375 ; 1954 + 376 ; 1666 + 377 ; 2208 + 378 ; 2314 + 379 ; 2050 + 380 ; 1640 + 381 ; 1772 + 382 ; 1947 + 383 ; 2265 + 384 ; 1742 + 385 ; 2318 + 386 ; 2116 + 387 ; 2412 + 388 ; 2294 + 389 ; 1889 + 390 ; 2018 + 391 ; 1966 + 392 ; 1998 + 393 ; 2090 + 394 ; 2010 + 395 ; 1851 + 396 ; 2135 + 397 ; 2358 + 398 ; 2162 + 399 ; 1805 + 400 ; 1818 + 401 ; 1878 + 402 ; 2234 + 403 ; 1673 + 404 ; 1949 + 405 ; 2274 + 406 ; 2087 + 407 ; 2033 + 408 ; 1919 + 409 ; 1875 + 410 ; 2137 + 411 ; 1906 + 412 ; 2320 + 413 ; 2103 + 414 ; 1843 + 415 ; 1897 + 416 ; 2348 + 417 ; 1632 + 418 ; 1748 + 419 ; 2026 + 420 ; 2217 + 421 ; 2140 + 422 ; 2340 + 423 ; 1650 + 424 ; 2345 + 425 ; 2212 + 426 ; 2054 + 427 ; 1670 + 428 ; 2315 + 429 ; 1902 + 430 ; 2273 + 431 ; 2153 + 432 ; 2082 + 433 ; 2125 + 434 ; 1713 + 435 ; 1866 + 436 ; 2245 + 437 ; 1815 + 438 ; 2249 + 439 ; 2125 + 440 ; 1640 + 441 ; 2194 + 442 ; 2248 + 443 ; 2230 + 444 ; 2351 + 445 ; 1813 + 446 ; 2090 + 447 ; 1879 + 448 ; 1835 + 449 ; 2362 + 450 ; 1777 + 451 ; 2070 + 452 ; 1860 + 453 ; 1654 + 454 ; 1991 + 455 ; 1815 + 456 ; 2212 + 457 ; 2010 + 458 ; 2046 + 459 ; 2061 + 460 ; 1869 + 461 ; 1955 + 462 ; 2112 + 463 ; 2286 + 464 ; 1754 + 465 ; 1769 + 466 ; 1640 + 467 ; 1822 + 468 ; 2148 + 469 ; 2301 + 470 ; 2009 + 471 ; 1989 + 472 ; 1763 + 473 ; 1628 + 474 ; 1736 + 475 ; 1943 + 476 ; 2338 + 477 ; 1950 + 478 ; 2271 + 479 ; 1631 + 480 ; 2382 + 481 ; 2263 + 482 ; 2134 + 483 ; 1757 + 484 ; 1997 + 485 ; 1647 + 486 ; 1679 + 487 ; 2006 + 488 ; 1822 + 489 ; 2114 + 490 ; 1874 + 491 ; 2329 + 492 ; 2116 + 493 ; 1863 + 494 ; 2021 + 495 ; 2226 + 496 ; 1661 + 497 ; 1718 + 498 ; 2188 + 499 ; 2087 + 500 ; 2202 + 501 ; 1945 + 502 ; 1848 + 503 ; 1654 + 504 ; 1614 + 505 ; 2110 + 506 ; 1974 + 507 ; 2412 + 508 ; 2304 + 509 ; 2405 + 510 ; 1914 + 511 ; 1981 + 512 ; 1903 + 513 ; 2220 + 514 ; 1616 + 515 ; 1647 + 516 ; 1657 + 517 ; 1984 + 518 ; 2100 + 519 ; 1620 + 520 ; 1758 + 521 ; 2399 + 522 ; 1752 + 523 ; 1658 + 524 ; 2243 + 525 ; 2212 + 526 ; 2112 + 527 ; 2387 + 528 ; 2151 + 529 ; 2364 + 530 ; 1908 + 531 ; 1641 + 532 ; 2271 + 533 ; 2272 + 534 ; 2041 + 535 ; 2210 + 536 ; 2353 + 537 ; 1744 + 538 ; 1758 + 539 ; 1813 + 540 ; 1734 + 541 ; 1912 + 542 ; 2335 + 543 ; 1837 + 544 ; 1730 + 545 ; 1644 + 546 ; 1711 + 547 ; 2308 + 548 ; 2194 + 549 ; 1892 + 550 ; 1757 + 551 ; 1811 + 552 ; 2412 + 553 ; 2342 + 554 ; 1834 + 555 ; 1982 + 556 ; 2164 + 557 ; 1989 + 558 ; 2008 + 559 ; 1969 + 560 ; 2257 + 561 ; 2067 + 562 ; 2167 + 563 ; 2289 + 564 ; 2388 + 565 ; 2224 + 566 ; 1966 + 567 ; 1718 + 568 ; 2123 + 569 ; 2087 + 570 ; 1993 + 571 ; 2392 + 572 ; 1880 + 573 ; 2087 + 574 ; 2098 + 575 ; 1741 + 576 ; 1905 + 577 ; 2326 + 578 ; 2018 + 579 ; 2246 + 580 ; 2340 + 581 ; 1777 + 582 ; 1845 + 583 ; 2233 + 584 ; 1689 + 585 ; 1776 + 586 ; 1994 + 587 ; 2328 + 588 ; 2014 + 589 ; 2079 + 590 ; 2373 + 591 ; 2219 + 592 ; 2262 + 593 ; 2393 + 594 ; 2052 + 595 ; 2235 + 596 ; 1917 + 597 ; 2257 + 598 ; 1817 + 599 ; 2378 + 600 ; 2258 + 601 ; 1693 + 602 ; 2351 + 603 ; 1620 + 604 ; 2146 + 605 ; 1805 + 606 ; 2136 + 607 ; 2008 + 608 ; 1728 + 609 ; 1703 + 610 ; 2213 + 611 ; 1723 + 612 ; 2123 + 613 ; 1754 + 614 ; 2030 + 615 ; 1793 + 616 ; 2191 + 617 ; 2191 + 618 ; 2133 + 619 ; 2332 + 620 ; 2083 + 621 ; 1929 + 622 ; 2256 + 623 ; 1612 + 624 ; 1698 + 625 ; 2284 + 626 ; 1809 + 627 ; 2361 + 628 ; 1993 + 629 ; 1777 + 630 ; 1748 + 631 ; 2195 + 632 ; 2408 + 633 ; 2374 + 634 ; 2264 + 635 ; 2146 + 636 ; 2339 + 637 ; 1778 + 638 ; 2192 + 639 ; 2102 + 640 ; 1676 + 641 ; 2290 + 642 ; 1762 + 643 ; 1975 + 644 ; 1652 + 645 ; 1824 + 646 ; 1616 + 647 ; 2264 + 648 ; 2352 + 649 ; 2311 + 650 ; 2077 + 651 ; 2196 + 652 ; 1717 + 653 ; 2293 + 654 ; 2141 + 655 ; 1884 + 656 ; 1957 + 657 ; 1870 + 658 ; 1938 + 659 ; 1812 + 660 ; 2336 + 661 ; 1875 + 662 ; 2185 + 663 ; 1719 + 664 ; 2014 + 665 ; 1947 + 666 ; 2265 + 667 ; 2283 + 668 ; 2410 + 669 ; 2287 + 670 ; 2412 + 671 ; 1888 + 672 ; 1741 + 673 ; 1805 + 674 ; 1704 + 675 ; 1740 + 676 ; 1654 + 677 ; 2374 + 678 ; 1661 + 679 ; 1792 + 680 ; 1728 + 681 ; 2245 + 682 ; 1920 + 683 ; 2400 + 684 ; 2134 + 685 ; 1661 + 686 ; 2181 + 687 ; 1901 + 688 ; 1793 + 689 ; 2117 + 690 ; 2335 + 691 ; 1649 + 692 ; 2226 + 693 ; 1620 + 694 ; 1991 + 695 ; 2059 + 696 ; 1868 + 697 ; 1963 + 698 ; 1734 + 699 ; 1627 + 700 ; 2354 + 701 ; 1831 + 702 ; 1865 + 703 ; 2135 + 704 ; 2249 + 705 ; 1755 + 706 ; 1758 + 707 ; 1851 + 708 ; 1966 + 709 ; 1733 + 710 ; 1870 + 711 ; 2388 + 712 ; 2265 + 713 ; 2351 + 714 ; 1818 + 715 ; 1676 + 716 ; 2366 + 717 ; 1807 + 718 ; 1966 + 719 ; 1733 + 720 ; 1947 + 721 ; 2294 + 722 ; 2166 + 723 ; 1982 + 724 ; 1747 + 725 ; 2192 + 726 ; 2079 + 727 ; 2206 + 728 ; 1647 + 729 ; 2326 + 730 ; 2265 + 731 ; 2010 + 732 ; 2396 + 733 ; 1661 + 734 ; 2023 + 735 ; 1890 + 736 ; 2362 + 737 ; 2263 + 738 ; 2217 + 739 ; 2163 + 740 ; 2128 + 741 ; 1881 + 742 ; 2147 + 743 ; 2122 + 744 ; 1988 + 745 ; 2079 + 746 ; 1913 + 747 ; 2126 + 748 ; 2307 + 749 ; 1753 + 750 ; 2031 + 751 ; 2198 + 752 ; 2144 + 753 ; 2089 + 754 ; 2286 + 755 ; 1873 + 756 ; 2344 + 757 ; 2125 + 758 ; 1830 + 759 ; 1716 + 760 ; 2116 + 761 ; 1685 + 762 ; 2151 + 763 ; 2384 + 764 ; 2011 + 765 ; 1798 + 766 ; 2349 + 767 ; 2259 + 768 ; 1845 + 769 ; 2133 + 770 ; 2100 + 771 ; 1848 + 772 ; 1962 + 773 ; 2387 + 774 ; 2335 + 775 ; 2167 + 776 ; 2412 + 777 ; 2053 + 778 ; 2210 + 779 ; 1656 + 780 ; 1744 + 781 ; 1829 + 782 ; 1733 + 783 ; 2179 + 784 ; 2152 + 785 ; 1676 + 786 ; 1995 + 787 ; 2048 + 788 ; 2111 + 789 ; 2407 + 790 ; 1680 + 791 ; 2076 + 792 ; 2273 + 793 ; 1934 + 794 ; 2345 + 795 ; 1698 + 796 ; 1830 + 797 ; 2068 + 798 ; 1975 + 799 ; 2350 + 800 ; 2084 + 801 ; 2248 + 802 ; 2175 + 803 ; 1685 + 804 ; 2276 + 805 ; 1769 + 806 ; 2318 + 807 ; 1617 + 808 ; 1919 + 809 ; 1765 + 810 ; 2148 + 811 ; 2362 + 812 ; 1851 + 813 ; 2288 + 814 ; 1638 + 815 ; 2088 + 816 ; 2120 + 817 ; 2109 + 818 ; 1909 + 819 ; 2318 + 820 ; 2320 + 821 ; 2214 + 822 ; 1949 + 823 ; 1945 + 824 ; 2012 + 825 ; 1941 + 826 ; 2363 + 827 ; 1641 + 828 ; 1906 + 829 ; 1853 + 830 ; 2082 + 831 ; 1629 + 832 ; 1790 + 833 ; 1878 + 834 ; 2196 + 835 ; 2101 + 836 ; 2063 + 837 ; 1688 + 838 ; 2185 + 839 ; 2111 + 840 ; 2370 + 841 ; 2139 + 842 ; 2270 + 843 ; 2079 + 844 ; 1986 + 845 ; 1703 + 846 ; 1931 + 847 ; 1874 + 848 ; 1891 + 849 ; 2236 + 850 ; 2314 + 851 ; 1830 + 852 ; 2307 + 853 ; 1616 + 854 ; 1811 + 855 ; 1829 + 856 ; 2016 + 857 ; 2357 + 858 ; 1641 + 859 ; 1797 + 860 ; 1823 + 861 ; 1974 + 862 ; 1941 + 863 ; 2146 + 864 ; 2327 + 865 ; 1699 + 866 ; 1763 + 867 ; 2364 + 868 ; 2219 + 869 ; 1711 + 870 ; 2135 + 871 ; 2151 + 872 ; 1785 + 873 ; 1968 + 874 ; 2370 + 875 ; 2288 + 876 ; 2135 + 877 ; 2126 + 878 ; 1827 + 879 ; 1871 + 880 ; 2013 + 881 ; 2074 + 882 ; 2176 + 883 ; 2257 + 884 ; 1838 + 885 ; 2027 + 886 ; 1831 + 887 ; 2226 + 888 ; 1969 + 889 ; 1617 + 890 ; 2401 + 891 ; 1979 + 892 ; 2074 + 893 ; 1703 + 894 ; 1724 + 895 ; 2003 + 896 ; 2136 + 897 ; 2246 + 898 ; 2314 + 899 ; 2026 + 900 ; 1679 + 901 ; 1801 + 902 ; 2135 + 903 ; 1864 + 904 ; 2211 + 905 ; 1648 + 906 ; 2221 + 907 ; 2057 + 908 ; 2397 + 909 ; 1689 + 910 ; 1921 + 911 ; 2130 + 912 ; 1751 + 913 ; 2100 + 914 ; 2376 + 915 ; 1726 + 916 ; 2098 + 917 ; 2261 + 918 ; 2360 + 919 ; 1783 + 920 ; 2277 + 921 ; 1813 + 922 ; 1860 + 923 ; 1912 + 924 ; 2340 + 925 ; 2193 + 926 ; 1715 + 927 ; 1725 + 928 ; 1983 + 929 ; 2297 + 930 ; 2283 + 931 ; 1748 + 932 ; 2252 + 933 ; 1627 + 934 ; 1796 + 935 ; 2240 + 936 ; 1673 + 937 ; 1767 + 938 ; 2011 + 939 ; 2041 + 940 ; 2186 + 941 ; 1654 + 942 ; 1884 + 943 ; 1963 + 944 ; 2303 + 945 ; 2277 + 946 ; 2068 + 947 ; 1926 + 948 ; 1658 + 949 ; 1686 + 950 ; 1736 + 951 ; 1835 + 952 ; 1637 + 953 ; 1898 + 954 ; 1767 + 955 ; 2370 + 956 ; 1915 + 957 ; 2332 + 958 ; 1983 + 959 ; 2345 + 960 ; 1703 + 961 ; 1961 + 962 ; 2322 + 963 ; 2132 + 964 ; 1826 + 965 ; 1699 + 966 ; 2371 + 967 ; 2117 + 968 ; 2156 + 969 ; 2089 + 970 ; 1664 + 971 ; 1785 + 972 ; 1974 + 973 ; 1649 + 974 ; 2281 + 975 ; 1777 + 976 ; 2320 + 977 ; 2135 + 978 ; 2352 + 979 ; 1717 + 980 ; 2087 + 981 ; 1695 + 982 ; 2236 + 983 ; 2215 + 984 ; 1704 + 985 ; 2039 + 986 ; 2121 + 987 ; 2352 + 988 ; 2064 + 989 ; 2010 + 990 ; 2101 + 991 ; 2028 + 992 ; 2119 + 993 ; 2403 + 994 ; 2372 + 995 ; 2409 + 996 ; 1873 + 997 ; 1627 + 998 ; 1843 + 999 ; 2279 + 1000 ; 1969 + 1001 ; 1987 + 1002 ; 1838 + 1003 ; 2100 + 1004 ; 1983 + 1005 ; 2058 + 1006 ; 1668 + 1007 ; 1844 + 1008 ; 2362 + 1009 ; 2104 + 1010 ; 1680 + 1011 ; 1726 + 1012 ; 1685 + 1013 ; 1800 + 1014 ; 1933 + 1015 ; 2086 + 1016 ; 2264 + 1017 ; 2364 + 1018 ; 1941 + 1019 ; 2396 + 1020 ; 2215 + 1021 ; 2378 + 1022 ; 2199 + 1023 ; 2245 + 1024 ; 1936 + 1025 ; 2138 + 1026 ; 2283 + 1027 ; 2308 + 1028 ; 1874 + 1029 ; 1732 + 1030 ; 1765 + 1031 ; 1891 + 1032 ; 2275 + 1033 ; 1914 + 1034 ; 2254 + 1035 ; 2388 + 1036 ; 2375 + 1037 ; 2303 + 1038 ; 2384 + 1039 ; 2130 + 1040 ; 2060 + 1041 ; 2015 + 1042 ; 2102 + 1043 ; 2227 + 1044 ; 2024 + 1045 ; 2270 + 1046 ; 2223 + 1047 ; 2356 + 1048 ; 2236 + 1049 ; 1679 + 1050 ; 1793 + 1051 ; 2215 + 1052 ; 2335 + 1053 ; 1990 + 1054 ; 1626 + 1055 ; 2138 + 1056 ; 2218 + 1057 ; 2410 + 1058 ; 2396 + 1059 ; 1911 + 1060 ; 1683 + 1061 ; 2407 + 1062 ; 1771 + 1063 ; 1679 + 1064 ; 1619 + 1065 ; 1818 + 1066 ; 2132 + 1067 ; 2410 + 1068 ; 1631 + 1069 ; 2106 + 1070 ; 2142 + 1071 ; 2258 + 1072 ; 2141 + 1073 ; 1692 + 1074 ; 2135 + 1075 ; 2336 + 1076 ; 2299 + 1077 ; 1835 + 1078 ; 1850 + 1079 ; 2191 + 1080 ; 2329 + 1081 ; 2071 + 1082 ; 2148 + 1083 ; 1912 + 1084 ; 2176 + 1085 ; 1957 + 1086 ; 2085 + 1087 ; 2235 + 1088 ; 1999 + 1089 ; 1736 + 1090 ; 1612 + 1091 ; 1947 + 1092 ; 1916 + 1093 ; 1816 + 1094 ; 1850 + 1095 ; 2171 + 1096 ; 1770 + 1097 ; 1851 + 1098 ; 2258 + 1099 ; 2358 + 1100 ; 2315 + 1101 ; 2208 + 1102 ; 1909 + 1103 ; 1732 + 1104 ; 2042 + 1105 ; 1800 + 1106 ; 1911 + 1107 ; 1656 + 1108 ; 2353 + 1109 ; 2118 + 1110 ; 2385 + 1111 ; 1754 + 1112 ; 2218 + 1113 ; 2268 + 1114 ; 1741 + 1115 ; 2137 + 1116 ; 1774 + 1117 ; 1972 + 1118 ; 1906 + 1119 ; 1628 + 1120 ; 1870 + 1121 ; 2061 + 1122 ; 2409 + 1123 ; 2036 + 1124 ; 1767 + 1125 ; 1634 + 1126 ; 1628 + 1127 ; 2046 + 1128 ; 2317 + 1129 ; 2153 + 1130 ; 1716 + 1131 ; 2142 + 1132 ; 1702 + 1133 ; 1866 + 1134 ; 2231 + 1135 ; 2124 + 1136 ; 1947 + 1137 ; 1988 + 1138 ; 2297 + 1139 ; 2013 + 1140 ; 1723 + 1141 ; 1689 + 1142 ; 1793 + 1143 ; 2021 + 1144 ; 2007 + 1145 ; 2268 + 1146 ; 2040 + 1147 ; 2212 + 1148 ; 2387 + 1149 ; 2228 + 1150 ; 1868 + 1151 ; 2089 + 1152 ; 1942 + 1153 ; 1993 + 1154 ; 2329 + 1155 ; 2095 + 1156 ; 1921 + 1157 ; 2227 + 1158 ; 1747 + 1159 ; 2096 + 1160 ; 1764 + 1161 ; 2056 + 1162 ; 2268 + 1163 ; 1839 + 1164 ; 2370 + 1165 ; 2268 + 1166 ; 1983 + 1167 ; 2240 + 1168 ; 1637 + 1169 ; 1675 + 1170 ; 1687 + 1171 ; 1862 + 1172 ; 2203 + 1173 ; 1798 + 1174 ; 1722 + 1175 ; 2129 + 1176 ; 2000 + 1177 ; 1725 + 1178 ; 2117 + 1179 ; 2389 + 1180 ; 2168 + 1181 ; 2343 + 1182 ; 2103 + 1183 ; 1938 + 1184 ; 2014 + 1185 ; 2027 + 1186 ; 2053 + 1187 ; 1882 + 1188 ; 1614 + 1189 ; 1759 + 1190 ; 2072 + 1191 ; 1704 + 1192 ; 1927 + 1193 ; 1678 + 1194 ; 2351 + 1195 ; 2273 + 1196 ; 2135 + 1197 ; 2404 + 1198 ; 2032 + 1199 ; 1708 + 1200 ; 2168 + 1201 ; 1940 + 1202 ; 1636 + 1203 ; 2149 + 1204 ; 1648 + 1205 ; 1750 + 1206 ; 1900 + 1207 ; 1873 + 1208 ; 1844 + 1209 ; 2009 + 1210 ; 2382 + 1211 ; 1631 + 1212 ; 1793 + 1213 ; 2309 + 1214 ; 1787 + 1215 ; 1980 + 1216 ; 2138 + 1217 ; 2354 + 1218 ; 2132 + 1219 ; 1782 + 1220 ; 1738 + 1221 ; 2016 + 1222 ; 1828 + 1223 ; 1751 + 1224 ; 1872 + 1225 ; 1869 + 1226 ; 2362 + 1227 ; 1982 + 1228 ; 1791 + 1229 ; 1976 + 1230 ; 2114 + 1231 ; 2163 + 1232 ; 2006 + 1233 ; 2000 + 1234 ; 2374 + 1235 ; 1633 + 1236 ; 1933 + 1237 ; 1873 + 1238 ; 2184 + 1239 ; 1767 + 1240 ; 1939 + 1241 ; 1837 + 1242 ; 2124 + 1243 ; 1961 + 1244 ; 2316 + 1245 ; 1960 + 1246 ; 2263 + 1247 ; 2147 + 1248 ; 1946 + 1249 ; 1737 + 1250 ; 1838 + 1251 ; 2064 + 1252 ; 2119 + 1253 ; 1724 + 1254 ; 2229 + 1255 ; 2215 + 1256 ; 1665 + 1257 ; 2281 + 1258 ; 2206 + 1259 ; 1947 + 1260 ; 1817 + 1261 ; 1677 + 1262 ; 2357 + 1263 ; 2296 + 1264 ; 2197 + 1265 ; 2258 + 1266 ; 1733 + 1267 ; 2242 + 1268 ; 1674 + 1269 ; 1868 + 1270 ; 1616 + 1271 ; 1708 + 1272 ; 1936 + 1273 ; 2021 + 1274 ; 2086 + 1275 ; 1722 + 1276 ; 2144 + 1277 ; 1790 + 1278 ; 2010 + 1279 ; 1803 + 1280 ; 1937 + 1281 ; 2000 + 1282 ; 1771 + 1283 ; 2355 + 1284 ; 2201 + 1285 ; 2145 + 1286 ; 2379 + 1287 ; 2141 + 1288 ; 1959 + 1289 ; 2211 + 1290 ; 2014 + 1291 ; 2212 + 1292 ; 2050 + 1293 ; 2032 + 1294 ; 2055 + 1295 ; 2025 + 1296 ; 1858 + 1297 ; 2162 + 1298 ; 1701 + 1299 ; 1933 + 1300 ; 2089 + 1301 ; 2310 + 1302 ; 1745 + 1303 ; 1710 + 1304 ; 2104 + 1305 ; 1626 + 1306 ; 2265 + 1307 ; 2203 + 1308 ; 1843 + 1309 ; 1849 + 1310 ; 2309 + 1311 ; 1844 + 1312 ; 2231 + 1313 ; 1761 + 1314 ; 2135 + 1315 ; 1825 + 1316 ; 1696 + 1317 ; 1668 + 1318 ; 1878 + 1319 ; 1832 + 1320 ; 2223 + 1321 ; 1733 + 1322 ; 1922 + 1323 ; 1937 + 1324 ; 1738 + 1325 ; 1859 + 1326 ; 2033 + 1327 ; 1735 + 1328 ; 2185 + 1329 ; 2276 + 1330 ; 1661 + 1331 ; 2243 + 1332 ; 1691 + 1333 ; 2212 + 1334 ; 2070 + 1335 ; 1983 + 1336 ; 1905 + 1337 ; 2322 + 1338 ; 1858 + 1339 ; 1829 + 1340 ; 2374 + 1341 ; 2011 + 1342 ; 2026 + 1343 ; 1866 + 1344 ; 1681 + 1345 ; 2370 + 1346 ; 2139 + 1347 ; 2364 + 1348 ; 1965 + 1349 ; 2394 + 1350 ; 1942 + 1351 ; 2108 + 1352 ; 2097 + 1353 ; 1934 + 1354 ; 1687 + 1355 ; 2161 + 1356 ; 1701 + 1357 ; 1683 + 1358 ; 2184 + 1359 ; 1841 + 1360 ; 2165 + 1361 ; 1818 + 1362 ; 2272 + 1363 ; 1911 + 1364 ; 2092 + 1365 ; 1620 + 1366 ; 1719 + 1367 ; 1762 + 1368 ; 2264 + 1369 ; 2161 + 1370 ; 2215 + 1371 ; 2174 + 1372 ; 1967 + 1373 ; 2193 + 1374 ; 2114 + 1375 ; 1710 + 1376 ; 1634 + 1377 ; 2193 + 1378 ; 1757 + 1379 ; 1668 + 1380 ; 1769 + 1381 ; 1853 + 1382 ; 1993 + 1383 ; 2052 + 1384 ; 1736 + 1385 ; 2259 + 1386 ; 2047 + 1387 ; 2102 + 1388 ; 2105 + 1389 ; 2243 + 1390 ; 2248 + 1391 ; 2174 + 1392 ; 2114 + 1393 ; 1682 + 1394 ; 1653 + 1395 ; 1640 + 1396 ; 1809 + 1397 ; 1868 + 1398 ; 1774 + 1399 ; 2226 + 1400 ; 1878 + 1401 ; 2258 + 1402 ; 2027 + 1403 ; 2321 + 1404 ; 1943 + 1405 ; 1664 + 1406 ; 2091 + 1407 ; 1957 + 1408 ; 2306 + 1409 ; 1900 + 1410 ; 2310 + 1411 ; 1963 + 1412 ; 2213 + 1413 ; 2075 + 1414 ; 1742 + 1415 ; 2034 + 1416 ; 1881 + 1417 ; 2357 + 1418 ; 1969 + 1419 ; 2267 + 1420 ; 1759 + 1421 ; 1924 + 1422 ; 2036 + 1423 ; 2324 + 1424 ; 2105 + 1425 ; 1812 + 1426 ; 1983 + 1427 ; 2091 + 1428 ; 2218 + 1429 ; 1683 + 1430 ; 1969 + 1431 ; 1953 + 1432 ; 2367 + 1433 ; 2183 + 1434 ; 2037 + 1435 ; 1742 + 1436 ; 1647 + 1437 ; 1898 + 1438 ; 2313 + 1439 ; 1829 + 1440 ; 1953 + 1441 ; 1741 + 1442 ; 2002 + 1443 ; 2102 + 1444 ; 1755 + 1445 ; 1841 + 1446 ; 1775 + 1447 ; 2269 + 1448 ; 1764 + 1449 ; 2243 + 1450 ; 1960 + 1451 ; 1637 + 1452 ; 1878 + 1453 ; 2075 + 1454 ; 2131 + 1455 ; 1772 + 1456 ; 2366 + 1457 ; 2090 + 1458 ; 2300 + 1459 ; 2309 + 1460 ; 2095 + 1461 ; 1681 + 1462 ; 2205 + 1463 ; 1674 + 1464 ; 2194 + 1465 ; 2342 + 1466 ; 1946 + 1467 ; 2255 + 1468 ; 2300 + 1469 ; 1878 + 1470 ; 1637 + 1471 ; 2112 + 1472 ; 2007 + 1473 ; 1625 + 1474 ; 1749 + 1475 ; 1886 + 1476 ; 2316 + 1477 ; 2145 + 1478 ; 2051 + 1479 ; 1685 + 1480 ; 1924 + 1481 ; 2117 + 1482 ; 2338 + 1483 ; 1772 + 1484 ; 2401 + 1485 ; 2249 + 1486 ; 2376 + 1487 ; 1924 + 1488 ; 1628 + 1489 ; 1953 + 1490 ; 2033 + 1491 ; 2211 + 1492 ; 2275 + 1493 ; 2062 + 1494 ; 2256 + 1495 ; 2212 + 1496 ; 2350 + 1497 ; 1734 + 1498 ; 1812 + 1499 ; 1648 + 1500 ; 2015 + 1501 ; 1865 + 1502 ; 2293 + 1503 ; 1795 + 1504 ; 1671 + 1505 ; 2236 + 1506 ; 1976 + 1507 ; 1965 + 1508 ; 2105 + 1509 ; 1754 + 1510 ; 2187 + 1511 ; 2402 + 1512 ; 1707 + 1513 ; 2214 + 1514 ; 1745 + 1515 ; 1770 + 1516 ; 1708 + 1517 ; 2057 + 1518 ; 2268 + 1519 ; 1670 + 1520 ; 2315 + 1521 ; 2019 + 1522 ; 1731 + 1523 ; 2140 + 1524 ; 1877 + 1525 ; 1639 + 1526 ; 2301 + 1527 ; 2059 + 1528 ; 2007 + 1529 ; 1981 + 1530 ; 1666 + 1531 ; 2188 + 1532 ; 2391 + 1533 ; 1908 + 1534 ; 1865 + 1535 ; 2266 + 1536 ; 1883 + 1537 ; 2245 + 1538 ; 2057 + 1539 ; 1766 + 1540 ; 2244 + 1541 ; 1747 + 1542 ; 2368 + 1543 ; 2163 + 1544 ; 2357 + 1545 ; 2250 + 1546 ; 2271 + 1547 ; 2104 + 1548 ; 1992 + 1549 ; 2106 + 1550 ; 2302 + 1551 ; 1850 + 1552 ; 2327 + 1553 ; 2281 + 1554 ; 2012 + 1555 ; 2236 + 1556 ; 1903 + 1557 ; 2350 + 1558 ; 2270 + 1559 ; 2182 + 1560 ; 1892 + 1561 ; 1709 + 1562 ; 1749 + 1563 ; 2003 + 1564 ; 1846 + 1565 ; 2284 + 1566 ; 1683 + 1567 ; 1853 + 1568 ; 1992 + 1569 ; 1634 + 1570 ; 2359 + 1571 ; 2099 + 1572 ; 2270 + 1573 ; 2274 + 1574 ; 1917 + 1575 ; 2260 + 1576 ; 1826 + 1577 ; 2031 + 1578 ; 2000 + 1579 ; 1869 + 1580 ; 1702 + 1581 ; 1963 + 1582 ; 1758 + 1583 ; 2005 + 1584 ; 2022 + 1585 ; 2388 + 1586 ; 2124 + 1587 ; 2072 + 1588 ; 2129 + 1589 ; 2359 + 1590 ; 2256 + 1591 ; 2008 + 1592 ; 2133 + 1593 ; 2349 + 1594 ; 1992 + 1595 ; 2348 + 1596 ; 1918 + 1597 ; 2373 + 1598 ; 1759 + 1599 ; 2081 + 1600 ; 2251 + 1601 ; 1666 + 1602 ; 1914 + 1603 ; 2168 + 1604 ; 2035 + 1605 ; 1856 + 1606 ; 1744 + 1607 ; 2134 + 1608 ; 1803 + 1609 ; 2082 + 1610 ; 2106 + 1611 ; 1833 + 1612 ; 1926 + 1613 ; 1683 + 1614 ; 2331 + 1615 ; 2166 + 1616 ; 1756 + 1617 ; 2210 + 1618 ; 2255 + 1619 ; 1956 + 1620 ; 1802 + 1621 ; 2009 + 1622 ; 1619 + 1623 ; 2065 + 1624 ; 1777 + 1625 ; 2385 + 1626 ; 2244 + 1627 ; 2379 + 1628 ; 1869 + 1629 ; 1998 + 1630 ; 2078 + 1631 ; 2211 + 1632 ; 2266 + 1633 ; 2003 + 1634 ; 1861 + 1635 ; 2256 + 1636 ; 2079 + 1637 ; 2257 + 1638 ; 1839 + 1639 ; 2209 + 1640 ; 2229 + 1641 ; 2095 + 1642 ; 1831 + 1643 ; 2236 + 1644 ; 2159 + 1645 ; 2159 + 1646 ; 2039 + 1647 ; 2300 + 1648 ; 1702 + 1649 ; 2136 + 1650 ; 1868 + 1651 ; 2285 + 1652 ; 1860 + 1653 ; 1747 + 1654 ; 2290 + 1655 ; 2364 + 1656 ; 1792 + 1657 ; 2148 + 1658 ; 2147 + 1659 ; 1896 + 1660 ; 2188 + 1661 ; 1685 + 1662 ; 2146 + 1663 ; 1937 + 1664 ; 1991 + 1665 ; 2289 + 1666 ; 1992 + 1667 ; 1891 + 1668 ; 2022 + 1669 ; 2001 + 1670 ; 2065 + 1671 ; 1645 + 1672 ; 2165 + 1673 ; 1771 + 1674 ; 1824 + 1675 ; 2013 + 1676 ; 1667 + 1677 ; 2185 + 1678 ; 1956 + 1679 ; 2322 + 1680 ; 2018 + 1681 ; 1832 + 1682 ; 1720 + 1683 ; 1928 + 1684 ; 1709 + 1685 ; 1798 + 1686 ; 2253 + 1687 ; 2053 + 1688 ; 1623 + 1689 ; 2285 + 1690 ; 2377 + 1691 ; 2173 + 1692 ; 1948 + 1693 ; 1862 + 1694 ; 1883 + 1695 ; 2196 + 1696 ; 1926 + 1697 ; 2040 + 1698 ; 2130 + 1699 ; 2032 + 1700 ; 1762 + 1701 ; 2312 + 1702 ; 1669 + 1703 ; 1622 + 1704 ; 1777 + 1705 ; 1783 + 1706 ; 1995 + 1707 ; 2224 + 1708 ; 2390 + 1709 ; 2185 + 1710 ; 2091 + 1711 ; 1910 + 1712 ; 1981 + 1713 ; 2291 + 1714 ; 2187 + 1715 ; 2159 + 1716 ; 2192 + 1717 ; 2210 + 1718 ; 1871 + 1719 ; 1962 + 1720 ; 2150 + 1721 ; 2094 + 1722 ; 1696 + 1723 ; 2239 + 1724 ; 2260 + 1725 ; 1771 + 1726 ; 1795 + 1727 ; 1738 + 1728 ; 1791 + 1729 ; 2000 + 1730 ; 1763 + 1731 ; 2151 + 1732 ; 2164 + 1733 ; 2063 + 1734 ; 2305 + 1735 ; 1897 + 1736 ; 2018 + 1737 ; 1732 + 1738 ; 2068 + 1739 ; 2206 + 1740 ; 1666 + 1741 ; 1971 + 1742 ; 1732 + 1743 ; 2354 + 1744 ; 1813 + 1745 ; 2382 + 1746 ; 1947 + 1747 ; 2351 + 1748 ; 2378 + 1749 ; 2291 + 1750 ; 1835 + 1751 ; 1853 + 1752 ; 2379 + 1753 ; 1982 + 1754 ; 1731 + 1755 ; 1924 + 1756 ; 1740 + 1757 ; 2327 + 1758 ; 2108 + 1759 ; 2314 + 1760 ; 2203 + 1761 ; 1985 + 1762 ; 2322 + 1763 ; 2353 + 1764 ; 2237 + 1765 ; 1659 + 1766 ; 2190 + 1767 ; 1930 + 1768 ; 2033 + 1769 ; 2016 + 1770 ; 2177 + 1771 ; 1743 + 1772 ; 1717 + 1773 ; 1761 + 1774 ; 1677 + 1775 ; 2289 + 1776 ; 2103 + 1777 ; 2276 + 1778 ; 2304 + 1779 ; 2389 + 1780 ; 2347 + 1781 ; 1947 + 1782 ; 1708 + 1783 ; 1969 + 1784 ; 1778 + 1785 ; 1764 + 1786 ; 2364 + 1787 ; 1647 + 1788 ; 2194 + 1789 ; 2002 + 1790 ; 2325 + 1791 ; 2327 + 1792 ; 2075 + 1793 ; 2249 + 1794 ; 1714 + 1795 ; 2240 + 1796 ; 2265 + 1797 ; 2325 + 1798 ; 2112 + 1799 ; 1939 + 1800 ; 2260 + 1801 ; 2385 + 1802 ; 2137 + 1803 ; 1973 + 1804 ; 2047 + 1805 ; 1831 + 1806 ; 1676 + 1807 ; 2215 + 1808 ; 2074 + 1809 ; 1842 + 1810 ; 1975 + 1811 ; 2269 + 1812 ; 1783 + 1813 ; 2032 + 1814 ; 2086 + 1815 ; 2137 + 1816 ; 2241 + 1817 ; 1791 + 1818 ; 1797 + 1819 ; 2099 + 1820 ; 2087 + 1821 ; 2148 + 1822 ; 1703 + 1823 ; 2284 + 1824 ; 2270 + 1825 ; 1796 + 1826 ; 1665 + 1827 ; 1874 + 1828 ; 2139 + 1829 ; 1764 + 1830 ; 1791 + 1831 ; 1639 + 1832 ; 1715 + 1833 ; 1740 + 1834 ; 2214 + 1835 ; 2148 + 1836 ; 2410 + 1837 ; 1998 + 1838 ; 2396 + 1839 ; 1797 + 1840 ; 2373 + 1841 ; 2201 + 1842 ; 2259 + 1843 ; 1996 + 1844 ; 2254 + 1845 ; 2380 + 1846 ; 1832 + 1847 ; 2198 + 1848 ; 2337 + 1849 ; 2356 + 1850 ; 1707 + 1851 ; 2194 + 1852 ; 1980 + 1853 ; 2276 + 1854 ; 2167 + 1855 ; 1936 + 1856 ; 2268 + 1857 ; 1738 + 1858 ; 2044 + 1859 ; 2069 + 1860 ; 1741 + 1861 ; 1819 + 1862 ; 2389 + 1863 ; 2046 + 1864 ; 2101 + 1865 ; 2277 + 1866 ; 1759 + 1867 ; 1778 + 1868 ; 1655 + 1869 ; 1703 + 1870 ; 1850 + 1871 ; 1664 + 1872 ; 2206 + 1873 ; 1722 + 1874 ; 2152 + 1875 ; 1902 + 1876 ; 1702 + 1877 ; 2014 + 1878 ; 2267 + 1879 ; 1764 + 1880 ; 1833 + 1881 ; 2248 + 1882 ; 2270 + 1883 ; 1613 + 1884 ; 1890 + 1885 ; 1736 + 1886 ; 1667 + 1887 ; 2122 + 1888 ; 2161 + 1889 ; 2146 + 1890 ; 1792 + 1891 ; 2071 + 1892 ; 1879 + 1893 ; 2263 + 1894 ; 2151 + 1895 ; 1615 + 1896 ; 2137 + 1897 ; 1876 + 1898 ; 1947 + 1899 ; 2160 + 1900 ; 2184 + 1901 ; 2019 + 1902 ; 1777 + 1903 ; 1659 + 1904 ; 2288 + 1905 ; 2159 + 1906 ; 1700 + 1907 ; 1764 + 1908 ; 2195 + 1909 ; 1781 + 1910 ; 1756 + 1911 ; 2310 + 1912 ; 1821 + 1913 ; 1688 + 1914 ; 2310 + 1915 ; 2232 + 1916 ; 1655 + 1917 ; 2206 + 1918 ; 1806 + 1919 ; 2045 + 1920 ; 2204 + 1921 ; 1934 + 1922 ; 1800 + 1923 ; 2225 + 1924 ; 1731 + 1925 ; 2144 + 1926 ; 1944 + 1927 ; 2037 + 1928 ; 2268 + 1929 ; 2329 + 1930 ; 1728 + 1931 ; 1684 + 1932 ; 1906 + 1933 ; 1725 + 1934 ; 1961 + 1935 ; 1907 + 1936 ; 2157 + 1937 ; 1948 + 1938 ; 2141 + 1939 ; 1741 + 1940 ; 2073 + 1941 ; 2220 + 1942 ; 2272 + 1943 ; 1724 + 1944 ; 1924 + 1945 ; 2096 + 1946 ; 2103 + 1947 ; 1649 + 1948 ; 1732 + 1949 ; 1927 + 1950 ; 1988 + 1951 ; 1663 + 1952 ; 2357 + 1953 ; 1986 + 1954 ; 2153 + 1955 ; 2335 + 1956 ; 1646 + 1957 ; 1626 + 1958 ; 2022 + 1959 ; 1627 + 1960 ; 2361 + 1961 ; 1810 + 1962 ; 1827 + 1963 ; 1757 + 1964 ; 1669 + 1965 ; 2293 + 1966 ; 2177 + 1967 ; 2377 + 1968 ; 1811 + 1969 ; 1706 + 1970 ; 1758 + 1971 ; 1634 + 1972 ; 2295 + 1973 ; 1685 + 1974 ; 2299 + 1975 ; 2017 + 1976 ; 2378 + 1977 ; 2076 + 1978 ; 1992 + 1979 ; 1715 + 1980 ; 2146 + 1981 ; 2051 + 1982 ; 2219 + 1983 ; 1905 + 1984 ; 2200 + 1985 ; 1657 + 1986 ; 2337 + 1987 ; 2254 + 1988 ; 2132 + 1989 ; 1871 + 1990 ; 2322 + 1991 ; 2358 + 1992 ; 2298 + 1993 ; 1672 + 1994 ; 2364 + 1995 ; 2329 + 1996 ; 2003 + 1997 ; 2220 + 1998 ; 2069 + 1999 ; 1878 + 2000 ; 1908 + 2001 ; 1779 + 2002 ; 1952 + 2003 ; 1721 + 2004 ; 1934 + 2005 ; 2143 + 2006 ; 2126 + 2007 ; 1890 + 2008 ; 2147 + 2009 ; 2294 + 2010 ; 2292 + 2011 ; 1818 + 2012 ; 2391 + 2013 ; 2132 + 2014 ; 2344 + 2015 ; 2406 + 2016 ; 1901 + 2017 ; 1846 + 2018 ; 2337 + 2019 ; 1949 + 2020 ; 2330 + 2021 ; 1874 + 2022 ; 1759 + 2023 ; 1775 + 2024 ; 1973 + 2025 ; 2033 + 2026 ; 1791 + 2027 ; 2108 + 2028 ; 2204 + 2029 ; 2100 + 2030 ; 1706 + 2031 ; 2203 + 2032 ; 1686 + 2033 ; 2254 + 2034 ; 1763 + 2035 ; 1802 + 2036 ; 2100 + 2037 ; 2158 + 2038 ; 2406 + 2039 ; 1901 + 2040 ; 2324 + 2041 ; 2125 + 2042 ; 2359 + 2043 ; 2091 + 2044 ; 1641 + 2045 ; 1678 + 2046 ; 1860 + 2047 ; 2136 + 2048 ; 2006 + 2049 ; 1928 + 2050 ; 2258 + 2051 ; 1786 + 2052 ; 1764 + 2053 ; 1988 + 2054 ; 1725 + 2055 ; 2287 + 2056 ; 2187 + 2057 ; 2191 + 2058 ; 2298 + 2059 ; 2092 + 2060 ; 1883 + 2061 ; 1910 + 2062 ; 2207 + 2063 ; 1629 + 2064 ; 1783 + 2065 ; 1838 + 2066 ; 2184 + 2067 ; 1829 + 2068 ; 2397 + 2069 ; 1671 + 2070 ; 1840 + 2071 ; 2000 + 2072 ; 2144 + 2073 ; 1869 + 2074 ; 2047 + 2075 ; 1954 + 2076 ; 2021 + 2077 ; 2180 + 2078 ; 2042 + 2079 ; 1725 + 2080 ; 2079 + 2081 ; 1803 + 2082 ; 2241 + 2083 ; 2196 + 2084 ; 2035 + 2085 ; 2002 + 2086 ; 2085 + 2087 ; 1678 + 2088 ; 2244 + 2089 ; 1833 + 2090 ; 2300 + 2091 ; 2232 + 2092 ; 2121 + 2093 ; 1916 + 2094 ; 2154 + 2095 ; 2410 + 2096 ; 2070 + 2097 ; 1993 + 2098 ; 2337 + 2099 ; 1681 + 2100 ; 1898 + 2101 ; 1972 + 2102 ; 2137 + 2103 ; 1887 + 2104 ; 1767 + 2105 ; 1876 + 2106 ; 2080 + 2107 ; 1905 + 2108 ; 1852 + 2109 ; 2370 + 2110 ; 1910 + 2111 ; 1709 + 2112 ; 2157 + 2113 ; 2165 + 2114 ; 2269 + 2115 ; 1764 + 2116 ; 2252 + 2117 ; 1713 + 2118 ; 1739 + 2119 ; 2206 + 2120 ; 2395 + 2121 ; 2399 + 2122 ; 2194 + 2123 ; 1645 + 2124 ; 1975 + 2125 ; 1960 + 2126 ; 1764 + 2127 ; 1623 + 2128 ; 2232 + 2129 ; 2241 + 2130 ; 2321 + 2131 ; 1873 + 2132 ; 1676 + 2133 ; 1658 + 2134 ; 2252 + 2135 ; 2337 + 2136 ; 1739 + 2137 ; 1891 + 2138 ; 2091 + 2139 ; 2379 + 2140 ; 2375 + 2141 ; 2282 + 2142 ; 1941 + 2143 ; 1801 + 2144 ; 1728 + 2145 ; 2210 + 2146 ; 2130 + 2147 ; 2049 + 2148 ; 1847 + 2149 ; 2162 + 2150 ; 1969 + 2151 ; 1898 + 2152 ; 2247 + 2153 ; 2403 + 2154 ; 2287 + 2155 ; 2304 + 2156 ; 1627 + 2157 ; 2175 + 2158 ; 2252 + 2159 ; 2105 + 2160 ; 1970 + 2161 ; 1776 + 2162 ; 1920 + 2163 ; 2327 + 2164 ; 2080 + 2165 ; 2101 + 2166 ; 2212 + 2167 ; 2366 + 2168 ; 1890 + 2169 ; 2239 + 2170 ; 2253 + 2171 ; 2357 + 2172 ; 1711 + 2173 ; 1882 + 2174 ; 2094 + 2175 ; 1653 + 2176 ; 2142 + 2177 ; 2234 + 2178 ; 2411 + 2179 ; 2213 + 2180 ; 2377 + 2181 ; 2108 + 2182 ; 2072 + 2183 ; 1818 + 2184 ; 2110 + 2185 ; 2190 + 2186 ; 1741 + 2187 ; 2043 + 2188 ; 2128 + 2189 ; 1907 + 2190 ; 2237 + 2191 ; 1899 + 2192 ; 2215 + 2193 ; 1646 + 2194 ; 1817 + 2195 ; 1681 + 2196 ; 1789 + 2197 ; 2027 + 2198 ; 2368 + 2199 ; 2334 + 2200 ; 2311 + 2201 ; 2056 + 2202 ; 1662 + 2203 ; 2149 + 2204 ; 2364 + 2205 ; 1917 + 2206 ; 1834 + 2207 ; 2273 + 2208 ; 1860 + 2209 ; 2406 + 2210 ; 2040 + 2211 ; 2275 + 2212 ; 1770 + 2213 ; 1832 + 2214 ; 1630 + 2215 ; 2362 + 2216 ; 2258 + 2217 ; 2296 + 2218 ; 1904 + 2219 ; 1989 + 2220 ; 2178 + 2221 ; 1746 + 2222 ; 1768 + 2223 ; 1990 + 2224 ; 2038 + 2225 ; 1958 + 2226 ; 1801 + 2227 ; 1790 + 2228 ; 1796 + 2229 ; 1677 + 2230 ; 1639 + 2231 ; 2152 + 2232 ; 2206 + 2233 ; 2262 + 2234 ; 2328 + 2235 ; 1826 + 2236 ; 2375 + 2237 ; 1930 + 2238 ; 1976 + 2239 ; 2044 + 2240 ; 1810 + 2241 ; 1922 + 2242 ; 2042 + 2243 ; 2404 + 2244 ; 2380 + 2245 ; 2278 + 2246 ; 1890 + 2247 ; 1894 + 2248 ; 1972 + 2249 ; 1873 + 2250 ; 1874 + 2251 ; 1717 + 2252 ; 1940 + 2253 ; 2336 + 2254 ; 2155 + 2255 ; 1896 + 2256 ; 1773 + 2257 ; 2219 + 2258 ; 1984 + 2259 ; 2143 + 2260 ; 2205 + 2261 ; 1807 + 2262 ; 1777 + 2263 ; 2086 + 2264 ; 1825 + 2265 ; 2361 + 2266 ; 2161 + 2267 ; 1755 + 2268 ; 2215 + 2269 ; 2040 + 2270 ; 1740 + 2271 ; 2320 + 2272 ; 1935 + 2273 ; 2071 + 2274 ; 2173 + 2275 ; 2097 + 2276 ; 1654 + 2277 ; 2364 + 2278 ; 1987 + 2279 ; 1891 + 2280 ; 2393 + 2281 ; 2210 + 2282 ; 1754 + 2283 ; 1756 + 2284 ; 1945 + 2285 ; 1696 + 2286 ; 2315 + 2287 ; 1948 + 2288 ; 2074 + 2289 ; 1972 + 2290 ; 2071 + 2291 ; 1994 + 2292 ; 2078 + 2293 ; 2039 + 2294 ; 2023 + 2295 ; 1827 + 2296 ; 1971 + 2297 ; 1875 + 2298 ; 1750 + 2299 ; 1765 + 2300 ; 1732 + 2301 ; 1655 + 2302 ; 2349 + 2303 ; 2017 + 2304 ; 1891 + 2305 ; 2067 + 2306 ; 2398 + 2307 ; 1903 + 2308 ; 2008 + 2309 ; 2032 + 2310 ; 1842 + 2311 ; 2272 + 2312 ; 1722 + 2313 ; 2093 + 2314 ; 1739 + 2315 ; 2390 + 2316 ; 1690 + 2317 ; 2371 + 2318 ; 2285 + 2319 ; 2397 + 2320 ; 2055 + 2321 ; 1716 + 2322 ; 2074 + 2323 ; 1931 + 2324 ; 1838 + 2325 ; 1739 + 2326 ; 1920 + 2327 ; 2350 + 2328 ; 1700 + 2329 ; 1716 + 2330 ; 1937 + 2331 ; 1933 + 2332 ; 2060 + 2333 ; 2340 + 2334 ; 2287 + 2335 ; 1833 + 2336 ; 1926 + 2337 ; 2304 + 2338 ; 1826 + 2339 ; 1998 + 2340 ; 2070 + 2341 ; 1875 + 2342 ; 1843 + 2343 ; 1623 + 2344 ; 1773 + 2345 ; 2315 + 2346 ; 1878 + 2347 ; 2151 + 2348 ; 1809 + 2349 ; 2143 + 2350 ; 2173 + 2351 ; 1914 + 2352 ; 2229 + 2353 ; 1981 + 2354 ; 1849 + 2355 ; 1885 + 2356 ; 2189 + 2357 ; 2036 + 2358 ; 2165 + 2359 ; 2273 + 2360 ; 2129 + 2361 ; 1753 + 2362 ; 1959 + 2363 ; 1890 + 2364 ; 1963 + 2365 ; 2216 + 2366 ; 2073 + 2367 ; 2372 + 2368 ; 1899 + 2369 ; 1754 + 2370 ; 1913 + 2371 ; 1777 + 2372 ; 1785 + 2373 ; 1785 + 2374 ; 1987 + 2375 ; 2315 + 2376 ; 2287 + 2377 ; 2186 + 2378 ; 1878 + 2379 ; 2079 + 2380 ; 2155 + 2381 ; 2008 + 2382 ; 1868 + 2383 ; 2176 + 2384 ; 1622 + 2385 ; 2225 + 2386 ; 1817 + 2387 ; 2273 + 2388 ; 2353 + 2389 ; 1682 + 2390 ; 2302 + 2391 ; 1973 + 2392 ; 1887 + 2393 ; 2078 + 2394 ; 1901 + 2395 ; 1900 + 2396 ; 1768 + 2397 ; 1650 + 2398 ; 1869 + 2399 ; 2034 + 2400 ; 2158 + 2401 ; 1654 + 2402 ; 1826 + 2403 ; 2180 + 2404 ; 2070 + 2405 ; 2149 + 2406 ; 1825 + 2407 ; 1664 + 2408 ; 2363 + 2409 ; 2250 + 2410 ; 2342 + 2411 ; 2011 + 2412 ; 2298 + 2413 ; 1831 + 2414 ; 2212 + 2415 ; 1828 + 2416 ; 2335 + 2417 ; 1879 + 2418 ; 2005 + 2419 ; 1889 + 2420 ; 1993 + 2421 ; 2069 + 2422 ; 1859 + 2423 ; 1690 + 2424 ; 2341 + 2425 ; 1908 + 2426 ; 1935 + 2427 ; 2303 + 2428 ; 2044 + 2429 ; 1930 + 2430 ; 1821 + 2431 ; 1793 + 2432 ; 2321 + 2433 ; 2104 + 2434 ; 1728 + 2435 ; 1638 + 2436 ; 2106 + 2437 ; 2036 + 2438 ; 1814 + 2439 ; 1794 + 2440 ; 2184 + 2441 ; 1645 + 2442 ; 1698 + 2443 ; 1948 + 2444 ; 1788 + 2445 ; 2287 + 2446 ; 1822 + 2447 ; 1747 + 2448 ; 2157 + 2449 ; 1881 + 2450 ; 1834 + 2451 ; 2182 + 2452 ; 2024 + 2453 ; 1891 + 2454 ; 1902 + 2455 ; 2284 + 2456 ; 2310 + 2457 ; 2288 + 2458 ; 2365 + 2459 ; 1772 + 2460 ; 2072 + 2461 ; 2289 + 2462 ; 1797 + 2463 ; 1905 + 2464 ; 2065 + 2465 ; 1785 + 2466 ; 2334 + 2467 ; 2067 + 2468 ; 2169 + 2469 ; 1961 + 2470 ; 1877 + 2471 ; 2277 + 2472 ; 2361 + 2473 ; 1921 + 2474 ; 1802 + 2475 ; 2146 + 2476 ; 1626 + 2477 ; 1918 + 2478 ; 2137 + 2479 ; 2267 + 2480 ; 1731 + 2481 ; 2137 + 2482 ; 2096 + 2483 ; 1970 + 2484 ; 1768 + 2485 ; 2288 + 2486 ; 1829 + 2487 ; 1933 + 2488 ; 2265 + 2489 ; 2235 + 2490 ; 2404 + 2491 ; 2238 + 2492 ; 2022 + 2493 ; 2130 + 2494 ; 2343 + 2495 ; 1881 + 2496 ; 2084 + 2497 ; 1786 + 2498 ; 1896 + 2499 ; 2294 + 2500 ; 2245 + 2501 ; 2252 + 2502 ; 2032 + 2503 ; 2248 + 2504 ; 1984 + 2505 ; 1641 + 2506 ; 1958 + 2507 ; 2080 + 2508 ; 2092 + 2509 ; 1831 + 2510 ; 1704 + 2511 ; 1683 + 2512 ; 1951 + 2513 ; 2123 + 2514 ; 2384 + 2515 ; 2100 + 2516 ; 1915 + 2517 ; 1777 + 2518 ; 2334 + 2519 ; 1795 + 2520 ; 1924 + 2521 ; 1744 + 2522 ; 2345 + 2523 ; 2162 + 2524 ; 1628 + 2525 ; 2184 + 2526 ; 2273 + 2527 ; 2222 + 2528 ; 1774 + 2529 ; 2046 + 2530 ; 2079 + 2531 ; 1959 + 2532 ; 1787 + 2533 ; 2210 + 2534 ; 2045 + 2535 ; 1651 + 2536 ; 1714 + 2537 ; 1769 + 2538 ; 1958 + 2539 ; 2253 + 2540 ; 1714 + 2541 ; 1863 + 2542 ; 1909 + 2543 ; 2052 + 2544 ; 1641 + 2545 ; 1668 + 2546 ; 1847 + 2547 ; 2307 + 2548 ; 1856 + 2549 ; 2303 + 2550 ; 2239 + 2551 ; 2284 + 2552 ; 1978 + 2553 ; 2288 + 2554 ; 2109 + 2555 ; 1975 + 2556 ; 1781 + 2557 ; 2062 + 2558 ; 1981 + 2559 ; 1737 + 2560 ; 2387 + 2561 ; 1776 + 2562 ; 2400 + 2563 ; 2218 + 2564 ; 2194 + 2565 ; 2306 + 2566 ; 2043 + 2567 ; 2385 + 2568 ; 2291 + 2569 ; 1885 + 2570 ; 2108 + 2571 ; 1925 + 2572 ; 2391 + 2573 ; 1678 + 2574 ; 2092 + 2575 ; 1766 + 2576 ; 1880 + 2577 ; 2221 + 2578 ; 2202 + 2579 ; 2251 + 2580 ; 2313 + 2581 ; 1916 + 2582 ; 2339 + 2583 ; 2118 + 2584 ; 2183 + 2585 ; 1918 + 2586 ; 2227 + 2587 ; 2294 + 2588 ; 1762 + 2589 ; 1993 + 2590 ; 2123 + 2591 ; 1673 + 2592 ; 2337 + 2593 ; 1978 + 2594 ; 1707 + 2595 ; 2293 + 2596 ; 2235 + 2597 ; 2406 + 2598 ; 1943 + 2599 ; 2082 + 2600 ; 2343 + 2601 ; 2242 + 2602 ; 2136 + 2603 ; 1711 + 2604 ; 2372 + 2605 ; 1878 + 2606 ; 2165 + 2607 ; 1752 + 2608 ; 1805 + 2609 ; 2297 + 2610 ; 1970 + 2611 ; 1755 + 2612 ; 1642 + 2613 ; 2376 + 2614 ; 1976 + 2615 ; 2342 + 2616 ; 2389 + 2617 ; 1776 + 2618 ; 2196 + 2619 ; 1756 + 2620 ; 2348 + 2621 ; 1969 + 2622 ; 1632 + 2623 ; 1802 + 2624 ; 1933 + 2625 ; 1974 + 2626 ; 2266 + 2627 ; 2278 + 2628 ; 1831 + 2629 ; 1760 + 2630 ; 1976 + 2631 ; 1994 + 2632 ; 2377 + 2633 ; 2033 + 2634 ; 2240 + 2635 ; 2315 + 2636 ; 1920 + 2637 ; 1779 + 2638 ; 2048 + 2639 ; 2295 + 2640 ; 1628 + 2641 ; 2268 + 2642 ; 2034 + 2643 ; 1815 + 2644 ; 2086 + 2645 ; 2247 + 2646 ; 2224 + 2647 ; 1815 + 2648 ; 1743 + 2649 ; 2297 + 2650 ; 1878 + 2651 ; 2305 + 2652 ; 2211 + 2653 ; 2160 + 2654 ; 1946 + 2655 ; 2173 + 2656 ; 1660 + 2657 ; 1717 + 2658 ; 1687 + 2659 ; 1862 + 2660 ; 1813 + 2661 ; 1848 + 2662 ; 1700 + 2663 ; 2097 + 2664 ; 2067 + 2665 ; 2233 + 2666 ; 2016 + 2667 ; 2207 + 2668 ; 1809 + 2669 ; 2043 + 2670 ; 2069 + 2671 ; 1807 + 2672 ; 1940 + 2673 ; 1849 + 2674 ; 2212 + 2675 ; 1982 + 2676 ; 2038 + 2677 ; 1650 + 2678 ; 2232 + 2679 ; 1886 + 2680 ; 2126 + 2681 ; 2231 + 2682 ; 1869 + 2683 ; 1654 + 2684 ; 2390 + 2685 ; 1620 + 2686 ; 1912 + 2687 ; 2018 + 2688 ; 2041 + 2689 ; 2380 + 2690 ; 2212 + 2691 ; 2359 + 2692 ; 2344 + 2693 ; 2385 + 2694 ; 1839 + 2695 ; 1738 + 2696 ; 2175 + 2697 ; 1841 + 2698 ; 1615 + 2699 ; 1687 + 2700 ; 1826 + 2701 ; 2402 + 2702 ; 1845 + 2703 ; 1803 + 2704 ; 1876 + 2705 ; 2146 + 2706 ; 2166 + 2707 ; 1806 + 2708 ; 2361 + 2709 ; 1794 + 2710 ; 2171 + 2711 ; 2327 + 2712 ; 1832 + 2713 ; 2139 + 2714 ; 1846 + 2715 ; 2042 + 2716 ; 2331 + 2717 ; 1884 + 2718 ; 1936 + 2719 ; 2080 + 2720 ; 2165 + 2721 ; 2412 + 2722 ; 1991 + 2723 ; 2190 + 2724 ; 1958 + 2725 ; 1849 + 2726 ; 2188 + 2727 ; 1709 + 2728 ; 1713 + 2729 ; 1847 + 2730 ; 2256 + 2731 ; 1735 + 2732 ; 1875 + 2733 ; 1784 + 2734 ; 1880 + 2735 ; 2306 + 2736 ; 1735 + 2737 ; 1826 + 2738 ; 2120 + 2739 ; 1973 + 2740 ; 2096 + 2741 ; 1672 + 2742 ; 2205 + 2743 ; 1628 + 2744 ; 2050 + 2745 ; 2351 + 2746 ; 1971 + 2747 ; 1736 + 2748 ; 1806 + 2749 ; 2191 + 2750 ; 2295 + 2751 ; 2269 + 2752 ; 2095 + 2753 ; 2390 + 2754 ; 2368 + 2755 ; 2215 + 2756 ; 1782 + 2757 ; 2350 + 2758 ; 2084 + 2759 ; 2220 + 2760 ; 1765 + 2761 ; 2078 + 2762 ; 2260 + 2763 ; 1808 + 2764 ; 1664 + 2765 ; 1949 + 2766 ; 1624 + 2767 ; 1773 + 2768 ; 1888 + 2769 ; 2370 + 2770 ; 2271 + 2771 ; 1841 + 2772 ; 2033 + 2773 ; 2060 + 2774 ; 1907 + 2775 ; 1802 + 2776 ; 1985 + 2777 ; 2276 + 2778 ; 2316 + 2779 ; 1908 + 2780 ; 2244 + 2781 ; 2270 + 2782 ; 1892 + 2783 ; 2287 + 2784 ; 2037 + 2785 ; 2200 + 2786 ; 1628 + 2787 ; 1951 + 2788 ; 2253 + 2789 ; 1888 + 2790 ; 2076 + 2791 ; 1705 + 2792 ; 2055 + 2793 ; 1819 + 2794 ; 2033 + 2795 ; 2386 + 2796 ; 2015 + 2797 ; 2169 + 2798 ; 2138 + 2799 ; 1927 + 2800 ; 2375 + 2801 ; 1914 + 2802 ; 2121 + 2803 ; 2244 + 2804 ; 1840 + 2805 ; 2162 + 2806 ; 2102 + 2807 ; 1635 + 2808 ; 1748 + 2809 ; 1713 + 2810 ; 1833 + 2811 ; 1925 + 2812 ; 2226 + 2813 ; 1624 + 2814 ; 2212 + 2815 ; 2273 + 2816 ; 1660 + 2817 ; 2306 + 2818 ; 1779 + 2819 ; 2078 + 2820 ; 1837 + 2821 ; 1779 + 2822 ; 2296 + 2823 ; 2056 + 2824 ; 1625 + 2825 ; 2086 + 2826 ; 1973 + 2827 ; 1751 + 2828 ; 2054 + 2829 ; 1642 + 2830 ; 1957 + 2831 ; 1841 + 2832 ; 2064 + 2833 ; 1856 + 2834 ; 1889 + 2835 ; 2084 + 2836 ; 2072 + 2837 ; 2119 + 2838 ; 2234 + 2839 ; 1742 + 2840 ; 2146 + 2841 ; 2365 + 2842 ; 1836 + 2843 ; 1769 + 2844 ; 2302 + 2845 ; 1970 + 2846 ; 2099 + 2847 ; 2239 + 2848 ; 2200 + 2849 ; 1704 + 2850 ; 2174 + 2851 ; 1771 + 2852 ; 2083 + 2853 ; 2386 + 2854 ; 1824 + 2855 ; 1656 + 2856 ; 1727 + 2857 ; 1951 + 2858 ; 1960 + 2859 ; 2230 + 2860 ; 1704 + 2861 ; 1803 + 2862 ; 2049 + 2863 ; 1644 + 2864 ; 1807 + 2865 ; 2121 + 2866 ; 1966 + 2867 ; 1805 + 2868 ; 1884 + 2869 ; 2385 + 2870 ; 1692 + 2871 ; 2309 + 2872 ; 1644 + 2873 ; 1737 + 2874 ; 2100 + 2875 ; 2057 + 2876 ; 1666 + 2877 ; 1725 + 2878 ; 1863 + 2879 ; 2031 + 2880 ; 2027 + 2881 ; 1972 + 2882 ; 2075 + 2883 ; 2364 + 2884 ; 2373 + 2885 ; 1675 + 2886 ; 1688 + 2887 ; 1720 + 2888 ; 1664 + 2889 ; 2240 + 2890 ; 1713 + 2891 ; 1928 + 2892 ; 2334 + 2893 ; 2266 + 2894 ; 2053 + 2895 ; 1813 + 2896 ; 1858 + 2897 ; 2286 + 2898 ; 2118 + 2899 ; 2055 + 2900 ; 2319 + 2901 ; 2109 + 2902 ; 1836 + 2903 ; 2083 + 2904 ; 2117 + 2905 ; 2398 + 2906 ; 1655 + 2907 ; 1761 + 2908 ; 2400 + 2909 ; 1989 + 2910 ; 1849 + 2911 ; 2067 + 2912 ; 2237 + 2913 ; 1974 + 2914 ; 2368 + 2915 ; 2105 + 2916 ; 1667 + 2917 ; 1657 + 2918 ; 1706 + 2919 ; 2113 + 2920 ; 1945 + 2921 ; 1783 + 2922 ; 1968 + 2923 ; 2246 + 2924 ; 2227 + 2925 ; 1945 + 2926 ; 2326 + 2927 ; 2254 + 2928 ; 1744 + 2929 ; 1945 + 2930 ; 1918 + 2931 ; 2353 + 2932 ; 1855 + 2933 ; 1807 + 2934 ; 1800 + 2935 ; 2261 + 2936 ; 2014 + 2937 ; 1966 + 2938 ; 2008 + 2939 ; 2336 + 2940 ; 1833 + 2941 ; 2176 + 2942 ; 1959 + 2943 ; 2021 + 2944 ; 1696 + 2945 ; 1776 + 2946 ; 1811 + 2947 ; 2187 + 2948 ; 2274 + 2949 ; 2006 + 2950 ; 1985 + 2951 ; 2345 + 2952 ; 1640 + 2953 ; 1797 + 2954 ; 2034 + 2955 ; 1753 + 2956 ; 2310 + 2957 ; 1709 + 2958 ; 2340 + 2959 ; 2372 + 2960 ; 2155 + 2961 ; 1715 + 2962 ; 1942 + 2963 ; 1978 + 2964 ; 1688 + 2965 ; 1786 + 2966 ; 1955 + 2967 ; 1805 + 2968 ; 2015 + 2969 ; 1649 + 2970 ; 2355 + 2971 ; 2047 + 2972 ; 2223 + 2973 ; 1624 + 2974 ; 1672 + 2975 ; 1910 + 2976 ; 1654 + 2977 ; 1743 + 2978 ; 1969 + 2979 ; 1614 + 2980 ; 1937 + 2981 ; 1797 + 2982 ; 1714 + 2983 ; 2095 + 2984 ; 1767 + 2985 ; 1974 + 2986 ; 1836 + 2987 ; 1735 + 2988 ; 1813 + 2989 ; 2100 + 2990 ; 1882 + 2991 ; 2231 + 2992 ; 2049 + 2993 ; 2396 + 2994 ; 2333 + 2995 ; 1894 + 2996 ; 2169 + 2997 ; 2373 + 2998 ; 2237 + 2999 ; 2072 + 3000 ; 1997 + 3001 ; 2246 + 3002 ; 2412 + 3003 ; 2406 + 3004 ; 1824 + 3005 ; 1883 + 3006 ; 2263 + 3007 ; 2404 + 3008 ; 1640 + 3009 ; 1940 + 3010 ; 2130 + 3011 ; 1784 + 3012 ; 1687 + 3013 ; 2074 + 3014 ; 2346 + 3015 ; 2332 + 3016 ; 1817 + 3017 ; 2266 + 3018 ; 1781 + 3019 ; 2367 + 3020 ; 1846 + 3021 ; 1861 + 3022 ; 1752 + 3023 ; 2013 + 3024 ; 1651 + 3025 ; 1677 + 3026 ; 1916 + 3027 ; 1801 + 3028 ; 1956 + 3029 ; 2353 + 3030 ; 2139 + 3031 ; 1753 + 3032 ; 2314 + 3033 ; 2262 + 3034 ; 1837 + 3035 ; 2025 + 3036 ; 1904 + 3037 ; 1731 + 3038 ; 2397 + 3039 ; 2223 + 3040 ; 2228 + 3041 ; 2265 + 3042 ; 1629 + 3043 ; 1901 + 3044 ; 1717 + 3045 ; 1953 + 3046 ; 1624 + 3047 ; 1785 + 3048 ; 2263 + 3049 ; 1664 + 3050 ; 2047 + 3051 ; 2148 + 3052 ; 2057 + 3053 ; 1751 + 3054 ; 1901 + 3055 ; 2133 + 3056 ; 1875 + 3057 ; 2168 + 3058 ; 2332 + 3059 ; 2300 + 3060 ; 1724 + 3061 ; 2059 + 3062 ; 1871 + 3063 ; 2002 + 3064 ; 2133 + 3065 ; 2080 + 3066 ; 2088 + 3067 ; 1747 + 3068 ; 1722 + 3069 ; 1725 + 3070 ; 1722 + 3071 ; 1827 + 3072 ; 2128 + 3073 ; 2195 + 3074 ; 2075 + 3075 ; 1962 + 3076 ; 1715 + 3077 ; 1908 + 3078 ; 1714 + 3079 ; 1665 + 3080 ; 1964 + 3081 ; 2109 + 3082 ; 1959 + 3083 ; 1867 + 3084 ; 1857 + 3085 ; 2331 + 3086 ; 2164 + 3087 ; 1822 + 3088 ; 1841 + 3089 ; 2212 + 3090 ; 2315 + 3091 ; 2277 + 3092 ; 1737 + 3093 ; 1789 + 3094 ; 2169 + 3095 ; 1855 + 3096 ; 2249 + 3097 ; 2412 + 3098 ; 2394 + 3099 ; 1873 + 3100 ; 2081 + 3101 ; 2058 + 3102 ; 1879 + 3103 ; 1850 + 3104 ; 2114 + 3105 ; 2281 + 3106 ; 2176 + 3107 ; 1921 + 3108 ; 2176 + 3109 ; 1973 + 3110 ; 2109 + 3111 ; 2335 + 3112 ; 1791 + 3113 ; 1826 + 3114 ; 1661 + 3115 ; 2204 + 3116 ; 2185 + 3117 ; 1854 + 3118 ; 2220 + 3119 ; 1658 + 3120 ; 2316 + 3121 ; 2087 + 3122 ; 1749 + 3123 ; 1951 + 3124 ; 1923 + 3125 ; 2340 + 3126 ; 2178 + 3127 ; 2026 + 3128 ; 1739 + 3129 ; 2089 + 3130 ; 1977 + 3131 ; 1666 + 3132 ; 2378 + 3133 ; 1897 + 3134 ; 2074 + 3135 ; 1652 + 3136 ; 2085 + 3137 ; 2401 + 3138 ; 2192 + 3139 ; 2349 + 3140 ; 2149 + 3141 ; 2022 + 3142 ; 2063 + 3143 ; 2395 + 3144 ; 2347 + 3145 ; 2230 + 3146 ; 1964 + 3147 ; 2139 + 3148 ; 2284 + 3149 ; 1774 + 3150 ; 2322 + 3151 ; 1755 + 3152 ; 2074 + 3153 ; 1644 + 3154 ; 2046 + 3155 ; 2157 + 3156 ; 1785 + 3157 ; 1837 + 3158 ; 2190 + 3159 ; 1756 + 3160 ; 1867 + 3161 ; 2250 + 3162 ; 1830 + 3163 ; 1640 + 3164 ; 2137 + 3165 ; 2172 + 3166 ; 1968 + 3167 ; 2023 + 3168 ; 1940 + 3169 ; 2400 + 3170 ; 2085 + 3171 ; 2224 + 3172 ; 1842 + 3173 ; 2049 + 3174 ; 1941 + 3175 ; 1981 + 3176 ; 1767 + 3177 ; 2324 + 3178 ; 1951 + 3179 ; 2075 + 3180 ; 1976 + 3181 ; 1660 + 3182 ; 1829 + 3183 ; 2392 + 3184 ; 1714 + 3185 ; 1873 + 3186 ; 2053 + 3187 ; 2045 + 3188 ; 2095 + 3189 ; 1871 + 3190 ; 1721 + 3191 ; 1806 + 3192 ; 1942 + 3193 ; 1843 + 3194 ; 1873 + 3195 ; 2076 + 3196 ; 2188 + 3197 ; 2114 + 3198 ; 1897 + 3199 ; 2389 + 3200 ; 2062 + 3201 ; 1947 + 3202 ; 1759 + 3203 ; 2094 + 3204 ; 2141 + 3205 ; 1915 + 3206 ; 1969 + 3207 ; 2229 + 3208 ; 2087 + 3209 ; 1807 + 3210 ; 1678 + 3211 ; 2327 + 3212 ; 1782 + 3213 ; 1741 + 3214 ; 2152 + 3215 ; 1705 + 3216 ; 2133 + 3217 ; 1625 + 3218 ; 1708 + 3219 ; 2393 + 3220 ; 2047 + 3221 ; 1730 + 3222 ; 2121 + 3223 ; 1884 + 3224 ; 2223 + 3225 ; 1613 + 3226 ; 1840 + 3227 ; 2197 + 3228 ; 1808 + 3229 ; 1876 + 3230 ; 2401 + 3231 ; 2058 + 3232 ; 1669 + 3233 ; 2295 + 3234 ; 1695 + 3235 ; 1771 + 3236 ; 1612 + 3237 ; 2073 + 3238 ; 1950 + 3239 ; 1937 + 3240 ; 1744 + 3241 ; 2322 + 3242 ; 1859 + 3243 ; 2227 + 3244 ; 2286 + 3245 ; 2106 + 3246 ; 1969 + 3247 ; 1722 + 3248 ; 2180 + 3249 ; 1636 + 3250 ; 1828 + 3251 ; 2218 + 3252 ; 2139 + 3253 ; 1954 + 3254 ; 2203 + 3255 ; 2119 + 3256 ; 2246 + 3257 ; 1630 + 3258 ; 2038 + 3259 ; 2128 + 3260 ; 1834 + 3261 ; 1917 + 3262 ; 1774 + 3263 ; 1805 + 3264 ; 1911 + 3265 ; 1688 + 3266 ; 1735 + 3267 ; 1928 + 3268 ; 1888 + 3269 ; 2095 + 3270 ; 2232 + 3271 ; 1879 + 3272 ; 1853 + 3273 ; 1990 + 3274 ; 2365 + 3275 ; 2292 + 3276 ; 1717 + 3277 ; 1792 + 3278 ; 1905 + 3279 ; 2410 + 3280 ; 2098 + 3281 ; 2103 + 3282 ; 2037 + 3283 ; 1852 + 3284 ; 1777 + 3285 ; 1917 + 3286 ; 2027 + 3287 ; 1756 + 3288 ; 1697 + 3289 ; 1838 + 3290 ; 1725 + 3291 ; 1850 + 3292 ; 2005 + 3293 ; 2023 + 3294 ; 1721 + 3295 ; 2233 + 3296 ; 1975 + 3297 ; 1809 + 3298 ; 2061 + 3299 ; 2329 + 3300 ; 1837 + 3301 ; 1828 + 3302 ; 1754 + 3303 ; 2340 + 3304 ; 2191 + 3305 ; 1724 + 3306 ; 1799 + 3307 ; 1989 + 3308 ; 2061 + 3309 ; 2349 + 3310 ; 2153 + 3311 ; 1641 + 3312 ; 1788 + 3313 ; 1995 + 3314 ; 2155 + 3315 ; 1770 + 3316 ; 2224 + 3317 ; 1696 + 3318 ; 2327 + 3319 ; 1669 + 3320 ; 1743 + 3321 ; 1771 + 3322 ; 2191 + 3323 ; 1854 + 3324 ; 1968 + 3325 ; 1753 + 3326 ; 2234 + 3327 ; 1950 + 3328 ; 2185 + 3329 ; 1618 + 3330 ; 2031 + 3331 ; 1869 + 3332 ; 2054 + 3333 ; 2287 + 3334 ; 2092 + 3335 ; 2110 + 3336 ; 1644 + 3337 ; 1830 + 3338 ; 1666 + 3339 ; 1974 + 3340 ; 1728 + 3341 ; 2397 + 3342 ; 2408 + 3343 ; 1974 + 3344 ; 2386 + 3345 ; 1786 + 3346 ; 2112 + 3347 ; 2056 + 3348 ; 2294 + 3349 ; 1803 + 3350 ; 2025 + 3351 ; 1929 + 3352 ; 1818 + 3353 ; 2019 + 3354 ; 1840 + 3355 ; 1658 + 3356 ; 2108 + 3357 ; 2343 + 3358 ; 2100 + 3359 ; 2090 + 3360 ; 1851 + 3361 ; 2140 + 3362 ; 1916 + 3363 ; 1929 + 3364 ; 2170 + 3365 ; 2175 + 3366 ; 2233 + 3367 ; 1984 + 3368 ; 1713 + 3369 ; 2268 + 3370 ; 1752 + 3371 ; 1997 + 3372 ; 2390 + 3373 ; 2075 + 3374 ; 1982 + 3375 ; 1979 + 3376 ; 1956 + 3377 ; 1941 + 3378 ; 2035 + 3379 ; 2324 + 3380 ; 1993 + 3381 ; 2204 + 3382 ; 1867 + 3383 ; 2318 + 3384 ; 1704 + 3385 ; 2367 + 3386 ; 2037 + 3387 ; 2106 + 3388 ; 2106 + 3389 ; 2075 + 3390 ; 1817 + 3391 ; 2201 + 3392 ; 1759 + 3393 ; 2101 + 3394 ; 1998 + 3395 ; 2272 + 3396 ; 1978 + 3397 ; 2233 + 3398 ; 1816 + 3399 ; 1667 + 3400 ; 1916 + 3401 ; 1955 + 3402 ; 1931 + 3403 ; 2031 + 3404 ; 1992 + 3405 ; 2362 + 3406 ; 1772 + 3407 ; 1781 + 3408 ; 1944 + 3409 ; 2404 + 3410 ; 1926 + 3411 ; 2206 + 3412 ; 1864 + 3413 ; 2326 + 3414 ; 2243 + 3415 ; 1631 + 3416 ; 2064 + 3417 ; 2081 + 3418 ; 1745 + 3419 ; 2209 + 3420 ; 2390 + 3421 ; 1644 + 3422 ; 1626 + 3423 ; 2268 + 3424 ; 2035 + 3425 ; 1744 + 3426 ; 2024 + 3427 ; 2080 + 3428 ; 1972 + 3429 ; 1930 + 3430 ; 2250 + 3431 ; 1791 + 3432 ; 2375 + 3433 ; 2382 + 3434 ; 2391 + 3435 ; 1729 + 3436 ; 1911 + 3437 ; 1892 + 3438 ; 1875 + 3439 ; 1962 + 3440 ; 2152 + 3441 ; 1973 + 3442 ; 1822 + 3443 ; 2096 + 3444 ; 2045 + 3445 ; 2164 + 3446 ; 1998 + 3447 ; 1967 + 3448 ; 2349 + 3449 ; 1835 + 3450 ; 1786 + 3451 ; 1664 + 3452 ; 2328 + 3453 ; 2238 + 3454 ; 1617 + 3455 ; 2343 + 3456 ; 1914 + 3457 ; 2178 + 3458 ; 2210 + 3459 ; 2007 + 3460 ; 2186 + 3461 ; 1760 + 3462 ; 1871 + 3463 ; 1805 + 3464 ; 1737 + 3465 ; 2395 + 3466 ; 1888 + 3467 ; 1862 + 3468 ; 2239 + 3469 ; 2221 + 3470 ; 1991 + 3471 ; 1939 + 3472 ; 1977 + 3473 ; 2378 + 3474 ; 2123 + 3475 ; 2090 + 3476 ; 2399 + 3477 ; 1992 + 3478 ; 1639 + 3479 ; 1818 + 3480 ; 2122 + 3481 ; 2054 + 3482 ; 1853 + 3483 ; 2277 + 3484 ; 1640 + 3485 ; 1815 + 3486 ; 1756 + 3487 ; 1721 + 3488 ; 1768 + 3489 ; 2156 + 3490 ; 1839 + 3491 ; 2058 + 3492 ; 2193 + 3493 ; 1910 + 3494 ; 1808 + 3495 ; 1938 + 3496 ; 1736 + 3497 ; 1814 + 3498 ; 2400 + 3499 ; 2248 + 3500 ; 1636 + 3501 ; 1974 + 3502 ; 2260 + 3503 ; 2025 + 3504 ; 1794 + 3505 ; 2335 + 3506 ; 1619 + 3507 ; 2035 + 3508 ; 1666 + 3509 ; 1997 + 3510 ; 2058 + 3511 ; 1851 + 3512 ; 1855 + 3513 ; 1730 + 3514 ; 2219 + 3515 ; 1914 + 3516 ; 1619 + 3517 ; 2141 + 3518 ; 2082 + 3519 ; 1895 + 3520 ; 2018 + 3521 ; 2089 + 3522 ; 2277 + 3523 ; 2401 + 3524 ; 2128 + 3525 ; 2202 + 3526 ; 1679 + 3527 ; 1888 + 3528 ; 2331 + 3529 ; 2007 + 3530 ; 2262 + 3531 ; 2307 + 3532 ; 2077 + 3533 ; 2078 + 3534 ; 1884 + 3535 ; 2032 + 3536 ; 2146 + 3537 ; 1874 + 3538 ; 1809 + 3539 ; 1919 + 3540 ; 2212 + 3541 ; 1721 + 3542 ; 1899 + 3543 ; 2367 + 3544 ; 2288 + 3545 ; 2180 + 3546 ; 2030 + 3547 ; 2040 + 3548 ; 2221 + 3549 ; 2239 + 3550 ; 2302 + 3551 ; 1975 + 3552 ; 1801 + 3553 ; 2192 + 3554 ; 1843 + 3555 ; 1848 + 3556 ; 2246 + 3557 ; 1729 + 3558 ; 1815 + 3559 ; 2081 + 3560 ; 1935 + 3561 ; 1833 + 3562 ; 2196 + 3563 ; 2019 + 3564 ; 1870 + 3565 ; 1849 + 3566 ; 1935 + 3567 ; 2049 + 3568 ; 2282 + 3569 ; 1862 + 3570 ; 2251 + 3571 ; 2134 + 3572 ; 2313 + 3573 ; 1919 + 3574 ; 1640 + 3575 ; 1824 + 3576 ; 1785 + 3577 ; 2150 + 3578 ; 2010 + 3579 ; 2220 + 3580 ; 2354 + 3581 ; 1724 + 3582 ; 1912 + 3583 ; 2167 + 3584 ; 2076 + 3585 ; 2177 + 3586 ; 1781 + 3587 ; 1917 + 3588 ; 2057 + 3589 ; 2162 + 3590 ; 2167 + 3591 ; 2033 + 3592 ; 1657 + 3593 ; 2386 + 3594 ; 2362 + 3595 ; 2212 + 3596 ; 2372 + 3597 ; 1792 + 3598 ; 2098 + 3599 ; 2274 + 3600 ; 2036 + 3601 ; 2378 + 3602 ; 1851 + 3603 ; 2361 + 3604 ; 2385 + 3605 ; 2408 + 3606 ; 1728 + 3607 ; 2036 + 3608 ; 2292 + 3609 ; 2275 + 3610 ; 1953 + 3611 ; 2056 + 3612 ; 2289 + 3613 ; 1755 + 3614 ; 2083 + 3615 ; 1770 + 3616 ; 2199 + 3617 ; 1779 + 3618 ; 1636 + 3619 ; 1740 + 3620 ; 1807 + 3621 ; 2389 + 3622 ; 2008 + 3623 ; 2371 + 3624 ; 2095 + 3625 ; 1744 + 3626 ; 2004 + 3627 ; 2193 + 3628 ; 2369 + 3629 ; 2409 + 3630 ; 2022 + 3631 ; 1988 + 3632 ; 2301 + 3633 ; 1629 + 3634 ; 1859 + 3635 ; 1946 + 3636 ; 2179 + 3637 ; 2372 + 3638 ; 2012 + 3639 ; 1681 + 3640 ; 2291 + 3641 ; 1780 + 3642 ; 1815 + 3643 ; 1754 + 3644 ; 1842 + 3645 ; 2224 + 3646 ; 1954 + 3647 ; 2217 + 3648 ; 2088 + 3649 ; 2214 + 3650 ; 2315 + 3651 ; 2194 + 3652 ; 2108 + 3653 ; 1628 + 3654 ; 1678 + 3655 ; 2244 + 3656 ; 2283 + 3657 ; 1894 + 3658 ; 1840 + 3659 ; 2231 + 3660 ; 2197 + 3661 ; 1709 + 3662 ; 2177 + 3663 ; 2226 + 3664 ; 2028 + 3665 ; 2233 + 3666 ; 2057 + 3667 ; 1794 + 3668 ; 1618 + 3669 ; 2358 + 3670 ; 1771 + 3671 ; 1764 + 3672 ; 1733 + 3673 ; 1998 + 3674 ; 1923 + 3675 ; 2085 + 3676 ; 2237 + 3677 ; 1727 + 3678 ; 1711 + 3679 ; 2185 + 3680 ; 1709 + 3681 ; 2332 + 3682 ; 2342 + 3683 ; 1682 + 3684 ; 1806 + 3685 ; 2232 + 3686 ; 1774 + 3687 ; 2096 + 3688 ; 1754 + 3689 ; 1742 + 3690 ; 1974 + 3691 ; 2142 + 3692 ; 1705 + 3693 ; 1931 + 3694 ; 1781 + 3695 ; 2128 + 3696 ; 2006 + 3697 ; 1724 + 3698 ; 2105 + 3699 ; 2021 + 3700 ; 2097 + 3701 ; 1619 + 3702 ; 1751 + 3703 ; 2265 + 3704 ; 2401 + 3705 ; 2268 + 3706 ; 1735 + 3707 ; 1913 + 3708 ; 1648 + 3709 ; 2048 + 3710 ; 2226 + 3711 ; 1807 + 3712 ; 2376 + 3713 ; 2261 + 3714 ; 1789 + 3715 ; 2375 + 3716 ; 2359 + 3717 ; 2408 + 3718 ; 2095 + 3719 ; 1899 + 3720 ; 2342 + 3721 ; 2152 + 3722 ; 2009 + 3723 ; 2206 + 3724 ; 2152 + 3725 ; 2084 + 3726 ; 2368 + 3727 ; 2163 + 3728 ; 1872 + 3729 ; 1732 + 3730 ; 1805 + 3731 ; 1626 + 3732 ; 2037 + 3733 ; 1751 + 3734 ; 1886 + 3735 ; 1668 + 3736 ; 2196 + 3737 ; 2252 + 3738 ; 2406 + 3739 ; 2243 + 3740 ; 2247 + 3741 ; 1707 + 3742 ; 2326 + 3743 ; 2191 + 3744 ; 2283 + 3745 ; 1805 + 3746 ; 2277 + 3747 ; 2033 + 3748 ; 1951 + 3749 ; 1955 + 3750 ; 2093 + 3751 ; 2315 + 3752 ; 2137 + 3753 ; 1963 + 3754 ; 2231 + 3755 ; 2216 + 3756 ; 1963 + 3757 ; 2190 + 3758 ; 1823 + 3759 ; 2282 + 3760 ; 1983 + 3761 ; 1622 + 3762 ; 2244 + 3763 ; 1901 + 3764 ; 1801 + 3765 ; 2293 + 3766 ; 1656 + 3767 ; 1893 + 3768 ; 2300 + 3769 ; 2097 + 3770 ; 1897 + 3771 ; 1690 + 3772 ; 1789 + 3773 ; 1908 + 3774 ; 1923 + 3775 ; 2185 + 3776 ; 1907 + 3777 ; 2028 + 3778 ; 2330 + 3779 ; 1784 + 3780 ; 1820 + 3781 ; 1625 + 3782 ; 1905 + 3783 ; 1707 + 3784 ; 2005 + 3785 ; 2044 + 3786 ; 1749 + 3787 ; 1634 + 3788 ; 1767 + 3789 ; 1913 + 3790 ; 2256 + 3791 ; 2088 + 3792 ; 2389 + 3793 ; 2252 + 3794 ; 2291 + 3795 ; 2349 + 3796 ; 1983 + 3797 ; 1629 + 3798 ; 1750 + 3799 ; 2369 + 3800 ; 2374 + 3801 ; 2294 + 3802 ; 1771 + 3803 ; 1847 + 3804 ; 2071 + 3805 ; 1769 + 3806 ; 2143 + 3807 ; 2095 + 3808 ; 2269 + 3809 ; 2203 + 3810 ; 1809 + 3811 ; 2386 + 3812 ; 1793 + 3813 ; 1711 + 3814 ; 2087 + 3815 ; 2207 + 3816 ; 2160 + 3817 ; 1947 + 3818 ; 1731 + 3819 ; 1879 + 3820 ; 1990 + 3821 ; 2001 + 3822 ; 2125 + 3823 ; 2097 + 3824 ; 2011 + 3825 ; 2045 + 3826 ; 1727 + 3827 ; 2287 + 3828 ; 2377 + 3829 ; 2082 + 3830 ; 2088 + 3831 ; 2304 + 3832 ; 1838 + 3833 ; 1664 + 3834 ; 1882 + 3835 ; 1774 + 3836 ; 1879 + 3837 ; 2386 + 3838 ; 2153 + 3839 ; 1809 + 3840 ; 1787 + 3841 ; 1688 + 3842 ; 2270 + 3843 ; 1672 + 3844 ; 2201 + 3845 ; 1872 + 3846 ; 2363 + 3847 ; 2127 + 3848 ; 1991 + 3849 ; 1932 + 3850 ; 2116 + 3851 ; 1939 + 3852 ; 2405 + 3853 ; 2328 + 3854 ; 2227 + 3855 ; 1850 + 3856 ; 2273 + 3857 ; 2383 + 3858 ; 1936 + 3859 ; 1652 + 3860 ; 1845 + 3861 ; 1897 + 3862 ; 2188 + 3863 ; 2040 + 3864 ; 2397 + 3865 ; 2183 + 3866 ; 2137 + 3867 ; 1671 + 3868 ; 1909 + 3869 ; 1677 + 3870 ; 2358 + 3871 ; 1894 + 3872 ; 2219 + 3873 ; 1758 + 3874 ; 1637 + 3875 ; 1749 + 3876 ; 2326 + 3877 ; 2394 + 3878 ; 2125 + 3879 ; 1842 + 3880 ; 1642 + 3881 ; 2394 + 3882 ; 1794 + 3883 ; 2364 + 3884 ; 2060 + 3885 ; 2087 + 3886 ; 1911 + 3887 ; 2218 + 3888 ; 2279 + 3889 ; 2316 + 3890 ; 2286 + 3891 ; 2220 + 3892 ; 1627 + 3893 ; 2248 + 3894 ; 1874 + 3895 ; 2088 + 3896 ; 2344 + 3897 ; 2068 + 3898 ; 1876 + 3899 ; 1858 + 3900 ; 1711 + 3901 ; 1689 + 3902 ; 2121 + 3903 ; 2315 + 3904 ; 1794 + 3905 ; 2238 + 3906 ; 2191 + 3907 ; 2142 + 3908 ; 2217 + 3909 ; 2046 + 3910 ; 1759 + 3911 ; 1927 + 3912 ; 1725 + 3913 ; 1684 + 3914 ; 2178 + 3915 ; 1869 + 3916 ; 2086 + 3917 ; 2344 + 3918 ; 2321 + 3919 ; 1986 + 3920 ; 1636 + 3921 ; 2257 + 3922 ; 1978 + 3923 ; 2072 + 3924 ; 2083 + 3925 ; 1995 + 3926 ; 2035 + 3927 ; 2379 + 3928 ; 1961 + 3929 ; 1849 + 3930 ; 1714 + 3931 ; 2389 + 3932 ; 1761 + 3933 ; 2198 + 3934 ; 1640 + 3935 ; 2179 + 3936 ; 2046 + 3937 ; 2021 + 3938 ; 2329 + 3939 ; 2262 + 3940 ; 1626 + 3941 ; 2280 + 3942 ; 1654 + 3943 ; 1944 + 3944 ; 1685 + 3945 ; 2288 + 3946 ; 2180 + 3947 ; 2152 + 3948 ; 1891 + 3949 ; 1776 + 3950 ; 1811 + 3951 ; 2120 + 3952 ; 1664 + 3953 ; 1998 + 3954 ; 2366 + 3955 ; 1949 + 3956 ; 2103 + 3957 ; 1806 + 3958 ; 1844 + 3959 ; 2068 + 3960 ; 2194 + 3961 ; 2183 + 3962 ; 1749 + 3963 ; 2258 + 3964 ; 1630 + 3965 ; 2242 + 3966 ; 2328 + 3967 ; 1890 + 3968 ; 2158 + 3969 ; 1764 + 3970 ; 2016 + 3971 ; 1971 + 3972 ; 2388 + 3973 ; 1841 + 3974 ; 2030 + 3975 ; 2155 + 3976 ; 2052 + 3977 ; 2288 + 3978 ; 2064 + 3979 ; 2000 + 3980 ; 1934 + 3981 ; 2041 + 3982 ; 1630 + 3983 ; 2031 + 3984 ; 2404 + 3985 ; 1833 + 3986 ; 2047 + 3987 ; 2369 + 3988 ; 1628 + 3989 ; 1721 + 3990 ; 1677 + 3991 ; 1723 + 3992 ; 2072 + 3993 ; 2291 + 3994 ; 1740 + 3995 ; 2159 + 3996 ; 2286 + 3997 ; 2265 + 3998 ; 1846 + 3999 ; 2039 + 4000 ; 1768 + Last second: 74373 + Proof time target: 2013 + Average proposal time: 18 + Average proof time: 2013 + +logCount,time,lastVerifiedBlockId,numBlocks,blockFee,accProposedAt + !----------------------------- + 1;1;0;1;100000000;0 + 2;12;0;1;100000000;0 + 3;20;0;2;100000000;20 + 4;24;0;2;100000000;20 + 5;36;0;2;100000000;20 + 6;43;0;3;100000000;63 + 7;48;0;3;100000000;63 + 8;57;0;4;100000000;120 + 9;60;0;4;100000000;120 + 10;69;0;5;100000000;189 + 11;72;0;5;100000000;189 + 12;84;0;5;100000000;189 + 13;92;0;6;100000000;281 + 14;96;0;6;100000000;281 + 15;104;0;7;100000000;385 + 16;108;0;7;100000000;385 + 17;120;0;7;100000000;385 + 18;126;0;8;100000000;511 + 19;132;0;8;100000000;511 + 20;143;0;9;100000000;654 + 21;144;0;9;100000000;654 + 22;156;0;9;100000000;654 + 23;156;0;10;100000000;810 + 24;168;0;10;100000000;810 + 25;176;0;11;100000000;986 + 26;180;0;11;100000000;986 + 27;192;0;11;100000000;986 + 28;199;0;12;100000000;1185 + 29;204;0;12;100000000;1185 + 30;215;0;13;100000000;1400 + 31;216;0;13;100000000;1400 + 32;228;0;13;100000000;1400 + 33;234;0;14;100000000;1634 + 34;240;0;14;100000000;1634 + 35;250;0;15;100000000;1884 + 36;252;0;15;100000000;1884 + 37;264;0;15;100000000;1884 + 38;269;0;16;100000000;2153 + 39;276;0;16;100000000;2153 + 40;283;0;17;100000000;2436 + 41;288;0;17;100000000;2436 + 42;296;0;18;100000000;2732 + 43;300;0;18;100000000;2732 + 44;312;0;18;100000000;2732 + 45;315;0;19;100000000;3047 + 46;324;0;19;100000000;3047 + 47;331;0;20;100000000;3378 + 48;336;0;20;100000000;3378 + 49;348;0;20;100000000;3378 + 50;354;0;21;100000000;3732 + 51;360;0;21;100000000;3732 + 52;372;0;21;100000000;3732 + 53;376;0;22;100000000;4108 + 54;384;0;22;100000000;4108 + 55;391;0;23;100000000;4499 + 56;396;0;23;100000000;4499 + 57;408;0;23;100000000;4499 + 58;413;0;24;100000000;4912 + 59;420;0;24;100000000;4912 + 60;429;0;25;100000000;5341 + 61;432;0;25;100000000;5341 + 62;444;0;25;100000000;5341 + 63;452;0;26;100000000;5793 + 64;456;0;26;100000000;5793 + 65;468;0;26;100000000;5793 + 66;470;0;27;100000000;6263 + 67;480;0;27;100000000;6263 + 68;492;0;27;100000000;6263 + 69;494;0;28;100000000;6757 + 70;504;0;28;100000000;6757 + 71;509;0;29;100000000;7266 + 72;516;0;29;100000000;7266 + 73;528;0;29;100000000;7266 + 74;533;0;30;100000000;7799 + 75;540;0;30;100000000;7799 + 76;552;0;30;100000000;7799 + 77;555;0;31;100000000;8354 + 78;564;0;31;100000000;8354 + 79;569;0;32;100000000;8923 + 80;576;0;32;100000000;8923 + 81;583;0;33;100000000;9506 + 82;588;0;33;100000000;9506 + 83;600;0;33;100000000;9506 + 84;600;0;34;100000000;10106 + 85;612;0;34;100000000;10106 + 86;622;0;35;100000000;10728 + 87;624;0;35;100000000;10728 + 88;636;0;35;100000000;10728 + 89;641;0;36;100000000;11369 + 90;648;0;36;100000000;11369 + 91;658;0;37;100000000;12027 + 92;660;0;37;100000000;12027 + 93;670;0;38;100000000;12697 + 94;672;0;38;100000000;12697 + 95;684;0;38;100000000;12697 + 96;688;0;39;100000000;13385 + 97;696;0;39;100000000;13385 + 98;708;0;39;100000000;13385 + 99;712;0;40;100000000;14097 + 100;720;0;40;100000000;14097 + 101;730;0;41;100000000;14827 + 102;732;0;41;100000000;14827 + 103;744;0;41;100000000;14827 + 104;746;0;42;100000000;15573 + 105;756;0;42;100000000;15573 + 106;768;0;42;100000000;15573 + 107;770;0;43;100000000;16343 + 108;780;0;43;100000000;16343 + 109;790;0;44;100000000;17133 + 110;792;0;44;100000000;17133 + 111;804;0;44;100000000;17133 + 112;811;0;45;100000000;17944 + 113;816;0;45;100000000;17944 + 114;826;0;46;100000000;18770 + 115;828;0;46;100000000;18770 + 116;840;0;46;100000000;18770 + 117;842;0;47;100000000;19612 + 118;852;0;47;100000000;19612 + 119;859;0;48;100000000;20471 + 120;864;0;48;100000000;20471 + 121;872;0;49;100000000;21343 + 122;876;0;49;100000000;21343 + 123;888;0;49;100000000;21343 + 124;893;0;50;100000000;22236 + 125;900;0;50;100000000;22236 + 126;912;0;50;100000000;22236 + 127;914;0;51;100000000;23150 + 128;924;0;51;100000000;23150 + 129;935;0;52;100000000;24085 + 130;936;0;52;100000000;24085 + 131;948;0;52;100000000;24085 + 132;959;0;53;100000000;25044 + 133;960;0;53;100000000;25044 + 134;972;0;53;100000000;25044 + 135;972;0;54;100000000;26016 + 136;984;0;54;100000000;26016 + 137;986;0;55;100000000;27002 + 138;996;0;55;100000000;27002 + 139;1007;0;56;100000000;28009 + 140;1008;0;56;100000000;28009 + 141;1020;0;56;100000000;28009 + 142;1031;0;57;100000000;29040 + 143;1032;0;57;100000000;29040 + 144;1044;0;57;100000000;29040 + 145;1055;0;58;100000000;30095 + 146;1056;0;58;100000000;30095 + 147;1068;0;58;100000000;30095 + 148;1069;0;59;100000000;31164 + 149;1080;0;59;100000000;31164 + 150;1081;0;60;100000000;32245 + 151;1092;0;60;100000000;32245 + 152;1104;0;60;100000000;32245 + 153;1104;0;61;100000000;33349 + 154;1116;0;61;100000000;33349 + 155;1117;0;62;100000000;34466 + 156;1128;0;62;100000000;34466 + 157;1140;0;62;100000000;34466 + 158;1141;0;63;100000000;35607 + 159;1152;0;63;100000000;35607 + 160;1158;0;64;100000000;36765 + 161;1164;0;64;100000000;36765 + 162;1176;0;64;100000000;36765 + 163;1181;0;65;100000000;37946 + 164;1188;0;65;100000000;37946 + 165;1199;0;66;100000000;39145 + 166;1200;0;66;100000000;39145 + 167;1212;0;66;100000000;39145 + 168;1212;0;67;100000000;40357 + 169;1224;0;67;100000000;40357 + 170;1226;0;68;100000000;41583 + 171;1236;0;68;100000000;41583 + 172;1243;0;69;100000000;42826 + 173;1248;0;69;100000000;42826 + 174;1257;0;70;100000000;44083 + 175;1260;0;70;100000000;44083 + 176;1272;0;70;100000000;44083 + 177;1276;0;71;100000000;45359 + 178;1284;0;71;100000000;45359 + 179;1293;0;72;100000000;46652 + 180;1296;0;72;100000000;46652 + 181;1306;0;73;100000000;47958 + 182;1308;0;73;100000000;47958 + 183;1320;0;73;100000000;47958 + 184;1320;0;74;100000000;49278 + 185;1332;0;74;100000000;49278 + 186;1333;0;75;100000000;50611 + 187;1344;0;75;100000000;50611 + 188;1349;0;76;100000000;51960 + 189;1356;0;76;100000000;51960 + 190;1368;0;76;100000000;51960 + 191;1373;0;77;100000000;53333 + 192;1380;0;77;100000000;53333 + 193;1387;0;78;100000000;54720 + 194;1392;0;78;100000000;54720 + 195;1404;0;78;100000000;54720 + 196;1404;0;79;100000000;56124 + 197;1416;0;79;100000000;56124 + 198;1427;0;80;100000000;57551 + 199;1428;0;80;100000000;57551 + 200;1440;0;80;100000000;57551 + 201;1449;0;81;100000000;59000 + 202;1452;0;81;100000000;59000 + 203;1464;0;81;100000000;59000 + 204;1465;0;82;100000000;60465 + 205;1476;0;82;100000000;60465 + 206;1477;0;83;100000000;61942 + 207;1488;0;83;100000000;61942 + 208;1495;0;84;100000000;63437 + 209;1500;0;84;100000000;63437 + 210;1512;0;84;100000000;63437 + 211;1513;0;85;100000000;64950 + 212;1524;0;85;100000000;64950 + 213;1528;0;86;100000000;66478 + 214;1536;0;86;100000000;66478 + 215;1548;0;86;100000000;66478 + 216;1549;0;87;100000000;68027 + 217;1560;0;87;100000000;68027 + 218;1566;0;88;100000000;69593 + 219;1572;0;88;100000000;69593 + 220;1583;0;89;100000000;71176 + 221;1584;0;89;100000000;71176 + 222;1596;0;89;100000000;71176 + 223;1605;0;90;100000000;72781 + 224;1608;0;90;100000000;72781 + 225;1620;0;90;100000000;72781 + 226;1620;0;91;100000000;74401 + 227;1632;0;91;100000000;74401 + 228;1638;0;92;100000000;76039 + 229;1644;0;92;100000000;76039 + 230;1656;0;92;100000000;76039 + 231;1658;0;93;100000000;77697 + 232;1668;0;93;100000000;77697 + 233;1673;0;94;100000000;79370 + 234;1680;0;94;100000000;79370 + 235;1687;0;95;100000000;81057 + 236;1692;0;95;100000000;81057 + 237;1699;0;96;100000000;82756 + 238;1704;0;96;100000000;82756 + 239;1716;0;96;100000000;82756 + 240;1722;0;97;100000000;84478 + 241;1728;0;97;100000000;84478 + 242;1734;0;98;100000000;86212 + 243;1740;0;98;100000000;86212 + 244;1752;0;98;100000000;86212 + 245;1753;0;99;100000000;87965 + 246;1764;0;99;100000000;87965 + 247;1768;0;100;100000000;89733 + 248;1776;0;100;100000000;89733 + 249;1787;0;101;100000000;91520 + 250;1788;0;101;100000000;91520 + 251;1800;0;101;100000000;91520 + 252;1803;1;102;99071759;93303 + 253;1812;1;102;99071759;93303 + 254;1816;1;103;99071759;95119 + 255;1824;1;103;99071759;95119 + 256;1833;1;104;99071759;96952 + 257;1836;1;104;99071759;96952 + 258;1848;1;104;99071759;96952 + 259;1850;1;105;99071759;98802 + 260;1860;1;105;99071759;98802 + 261;1871;1;106;99071759;100673 + 262;1872;1;106;99071759;100673 + 263;1884;1;106;99071759;100673 + 264;1889;1;107;99071759;102562 + 265;1896;1;107;99071759;102562 + 266;1901;1;108;99071759;104463 + 267;1908;1;108;99071759;104463 + 268;1920;1;108;99071759;104463 + 269;1922;1;109;99071759;106385 + 270;1932;1;109;99071759;106385 + 271;1937;1;110;99071759;108322 + 272;1944;1;110;99071759;108322 + 273;1956;1;110;99071759;108322 + 274;1957;1;111;99071759;110279 + 275;1968;1;111;99071759;110279 + 276;1972;1;112;99071759;112251 + 277;1980;1;112;99071759;112251 + 278;1984;1;113;99071759;114235 + 279;1992;1;113;99071759;114235 + 280;2004;1;113;99071759;114235 + 281;2005;1;114;99071759;116240 + 282;2016;1;114;99071759;116240 + 283;2023;1;115;99071759;118263 + 284;2028;1;115;99071759;118263 + 285;2039;1;116;99071759;120302 + 286;2040;1;116;99071759;120302 + 287;2052;1;116;99071759;120302 + 288;2061;1;117;99071759;122363 + 289;2064;1;117;99071759;122363 + 290;2076;1;117;99071759;122363 + 291;2081;1;118;99071759;124444 + 292;2088;1;118;99071759;124444 + 293;2100;1;118;99071759;124444 + 294;2105;1;119;99071759;126549 + 295;2112;1;119;99071759;126549 + 296;2118;1;120;99071759;128667 + 297;2124;1;120;99071759;128667 + 298;2135;1;121;99071759;130802 + 299;2136;1;121;99071759;130802 + 300;2148;1;121;99071759;130802 + 301;2148;1;122;99071759;132950 + 302;2160;1;122;99071759;132950 + 303;2163;1;123;99071759;135113 + 304;2172;1;123;99071759;135113 + 305;2179;1;124;99071759;137292 + 306;2184;1;124;99071759;137292 + 307;2196;1;124;99071759;137292 + 308;2196;1;125;99071759;139488 + 309;2208;1;125;99071759;139488 + 310;2211;1;126;99071759;141699 + 311;2220;1;126;99071759;141699 + 312;2232;1;126;99071759;141699 + 313;2232;1;127;99071759;143931 + 314;2244;1;127;99071759;143931 + 315;2245;1;128;99071759;146176 + 316;2256;1;128;99071759;146176 + 317;2260;1;129;99071759;148436 + 318;2268;1;129;99071759;148436 + 319;2280;1;129;99071759;148436 + 320;2282;1;130;99071759;150718 + 321;2292;1;130;99071759;150718 + 322;2298;1;131;99071759;153016 + 323;2304;1;131;99071759;153016 + 324;2316;1;131;99071759;153016 + 325;2322;1;132;99071759;155338 + 326;2328;1;132;99071759;155338 + 327;2334;1;133;99071759;157672 + 328;2340;1;133;99071759;157672 + 329;2352;1;133;99071759;157672 + 330;2358;1;134;99071759;160030 + 331;2364;1;134;99071759;160030 + 332;2375;1;135;99071759;162405 + 333;2376;1;135;99071759;162405 + 334;2388;1;135;99071759;162405 + 335;2388;1;136;99071759;164793 + 336;2400;1;136;99071759;164793 + 337;2407;1;137;99071759;167200 + 338;2412;1;137;99071759;167200 + 339;2419;1;138;99071759;169619 + 340;2424;1;138;99071759;169619 + 341;2436;1;138;99071759;169619 + 342;2436;1;139;99071759;172055 + 343;2448;1;139;99071759;172055 + 344;2460;1;139;99071759;172055 + 345;2460;1;140;99071759;174515 + 346;2472;1;140;99071759;174515 + 347;2480;1;141;99071759;176995 + 348;2484;1;141;99071759;176995 + 349;2493;16;142;95528526;177072 + 350;2496;16;142;95528526;177072 + 351;2508;16;142;95528526;177072 + 352;2514;16;143;95528526;179586 + 353;2520;16;143;95528526;179586 + 354;2532;16;143;95528526;179586 + 355;2538;16;144;95528526;182124 + 356;2544;16;144;95528526;182124 + 357;2554;16;145;95528526;184678 + 358;2556;16;145;95528526;184678 + 359;2568;16;145;95528526;184678 + 360;2575;16;146;95528526;187253 + 361;2580;16;146;95528526;187253 + 362;2592;16;146;95528526;187253 + 363;2598;16;147;95528526;189851 + 364;2604;16;147;95528526;189851 + 365;2616;16;147;95528526;189851 + 366;2617;16;148;95528526;192468 + 367;2628;16;148;95528526;192468 + 368;2630;16;149;95528526;195098 + 369;2640;16;149;95528526;195098 + 370;2644;16;150;95528526;197742 + 371;2652;16;150;95528526;197742 + 372;2661;16;151;95528526;200403 + 373;2664;16;151;95528526;200403 + 374;2676;16;151;95528526;200403 + 375;2677;16;152;95528526;203080 + 376;2688;22;152;94610543;201017 + 377;2700;22;152;94610543;201017 + 378;2700;22;153;94610543;203717 + 379;2712;22;153;94610543;203717 + 380;2724;22;153;94610543;203717 + 381;2724;23;154;95306336;206028 + 382;2736;23;154;95306336;206028 + 383;2741;23;155;95306336;208769 + 384;2748;23;155;95306336;208769 + 385;2753;23;156;95306336;211522 + 386;2760;23;156;95306336;211522 + 387;2772;23;156;95306336;211522 + 388;2775;23;157;95306336;214297 + 389;2784;23;157;95306336;214297 + 390;2790;24;158;96144462;216658 + 391;2796;24;158;96144462;216658 + 392;2808;24;158;96144462;216658 + 393;2810;24;159;96144462;219468 + 394;2820;24;159;96144462;219468 + 395;2826;32;160;94692828;218129 + 396;2832;32;160;94692828;218129 + 397;2839;32;161;94692828;220968 + 398;2844;32;161;94692828;220968 + 399;2856;32;161;94692828;220968 + 400;2856;32;162;94692828;223824 + 401;2868;32;162;94692828;223824 + 402;2876;32;163;94692828;226700 + 403;2880;32;163;94692828;226700 + 404;2889;42;164;91320380;222752 + 405;2892;42;164;91320380;222752 + 406;2904;42;164;91320380;222752 + 407;2910;42;165;91320380;225662 + 408;2916;42;165;91320380;225662 + 409;2928;42;165;91320380;225662 + 410;2933;42;166;91320380;228595 + 411;2940;42;166;91320380;228595 + 412;2952;42;166;91320380;228595 + 413;2954;42;167;91320380;231549 + 414;2964;42;167;91320380;231549 + 415;2976;42;167;91320380;231549 + 416;2978;42;168;91320380;234527 + 417;2988;42;168;91320380;234527 + 418;2994;42;169;91320380;237521 + 419;3000;42;169;91320380;237521 + 420;3008;42;170;91320380;240529 + 421;3012;42;170;91320380;240529 + 422;3024;42;170;91320380;240529 + 423;3028;42;171;91320380;243557 + 424;3036;42;171;91320380;243557 + 425;3048;42;171;91320380;243557 + 426;3049;42;172;91320380;246606 + 427;3060;42;172;91320380;246606 + 428;3066;42;173;91320380;249672 + 429;3072;42;173;91320380;249672 + 430;3084;42;173;91320380;249672 + 431;3088;44;174;91638490;251159 + 432;3096;44;174;91638490;251159 + 433;3108;44;174;91638490;251159 + 434;3110;44;175;91638490;254269 + 435;3120;44;175;91638490;254269 + 436;3124;44;176;91638490;257393 + 437;3132;44;176;91638490;257393 + 438;3138;44;177;91638490;260531 + 439;3144;44;177;91638490;260531 + 440;3150;46;178;91232527;262013 + 441;3156;46;178;91232527;262013 + 442;3165;46;179;91232527;265178 + 443;3168;46;179;91232527;265178 + 444;3178;48;180;92009115;266625 + 445;3180;48;180;92009115;266625 + 446;3192;48;180;92009115;266625 + 447;3196;48;181;92009115;269821 + 448;3204;48;181;92009115;269821 + 449;3212;48;182;92009115;273033 + 450;3216;48;182;92009115;273033 + 451;3227;53;183;90729714;271587 + 452;3228;53;183;90729714;271587 + 453;3240;53;183;90729714;271587 + 454;3242;53;184;90729714;274829 + 455;3252;53;184;90729714;274829 + 456;3255;53;185;90729714;278084 + 457;3264;53;185;90729714;278084 + 458;3272;53;186;90729714;281356 + 459;3276;53;186;90729714;281356 + 460;3288;53;186;90729714;281356 + 461;3294;53;187;90729714;284650 + 462;3300;53;187;90729714;284650 + 463;3312;53;187;90729714;284650 + 464;3312;53;188;90729714;287962 + 465;3324;53;188;90729714;287962 + 466;3334;53;189;90729714;291296 + 467;3336;53;189;90729714;291296 + 468;3348;53;189;90729714;291296 + 469;3353;53;190;90729714;294649 + 470;3360;53;190;90729714;294649 + 471;3368;53;191;90729714;298017 + 472;3372;53;191;90729714;298017 + 473;3382;53;192;90729714;301399 + 474;3384;53;192;90729714;301399 + 475;3396;53;192;90729714;301399 + 476;3404;53;193;90729714;304803 + 477;3408;53;193;90729714;304803 + 478;3420;53;193;90729714;304803 + 479;3426;53;194;90729714;308229 + 480;3432;53;194;90729714;308229 + 481;3444;53;194;90729714;308229 + 482;3444;54;195;91809362;310687 + 483;3456;54;195;91809362;310687 + 484;3457;54;196;91809362;314144 + 485;3468;54;196;91809362;314144 + 486;3480;58;196;93011530;309982 + 487;3481;58;197;93011530;313463 + 488;3492;58;197;93011530;313463 + 489;3503;58;198;93011530;316966 + 490;3504;58;198;93011530;316966 + 491;3516;58;198;93011530;316966 + 492;3517;58;199;93011530;320483 + 493;3528;58;199;93011530;320483 + 494;3540;58;199;93011530;320483 + 495;3540;58;200;93011530;324023 + 496;3552;58;200;93011530;324023 + 497;3553;60;201;94757531;325391 + 498;3564;60;201;94757531;325391 + 499;3576;60;201;94757531;325391 + 500;3577;60;202;94757531;328968 + 501;3588;68;202;93060636;319491 + 502;3589;68;203;93060636;323080 + 503;3600;68;203;93060636;323080 + 504;3605;68;204;93060636;326685 + 505;3612;68;204;93060636;326685 + 506;3624;68;204;93060636;326685 + 507;3627;68;205;93060636;330312 + 508;3636;68;205;93060636;330312 + 509;3648;68;205;93060636;330312 + 510;3650;68;206;93060636;333962 + 511;3660;68;206;93060636;333962 + 512;3662;68;207;93060636;337624 + 513;3672;68;207;93060636;337624 + 514;3682;76;208;94261627;330799 + 515;3684;76;208;94261627;330799 + 516;3696;76;208;94261627;330799 + 517;3698;76;209;94261627;334497 + 518;3708;76;209;94261627;334497 + 519;3720;76;209;94261627;334497 + 520;3720;76;210;94261627;338217 + 521;3732;76;210;94261627;338217 + 522;3743;76;211;94261627;341960 + 523;3744;76;211;94261627;341960 + 524;3756;76;211;94261627;341960 + 525;3759;76;212;94261627;345719 + 526;3768;76;212;94261627;345719 + 527;3778;76;213;94261627;349497 + 528;3780;76;213;94261627;349497 + 529;3790;76;214;94261627;353287 + 530;3792;76;214;94261627;353287 + 531;3804;76;214;94261627;353287 + 532;3806;79;215;96566286;352875 + 533;3816;79;215;96566286;352875 + 534;3818;79;216;96566286;356693 + 535;3828;79;216;96566286;356693 + 536;3839;79;217;96566286;360532 + 537;3840;79;217;96566286;360532 + 538;3852;79;217;96566286;360532 + 539;3857;79;218;96566286;364389 + 540;3864;79;218;96566286;364389 + 541;3875;88;219;95983401;354639 + 542;3876;88;219;95983401;354639 + 543;3888;88;219;95983401;354639 + 544;3892;88;220;95983401;358531 + 545;3900;88;220;95983401;358531 + 546;3907;88;221;95983401;362438 + 547;3912;88;221;95983401;362438 + 548;3924;88;221;95983401;362438 + 549;3929;88;222;95983401;366367 + 550;3936;88;222;95983401;366367 + 551;3943;88;223;95983401;370310 + 552;3948;88;223;95983401;370310 + 553;3960;88;223;95983401;370310 + 554;3962;88;224;95983401;374272 + 555;3972;88;224;95983401;374272 + 556;3974;88;225;95983401;378246 + 557;3984;88;225;95983401;378246 + 558;3996;88;225;95983401;378246 + 559;3996;88;226;95983401;382242 + 560;4008;88;226;95983401;382242 + 561;4012;88;227;95983401;386254 + 562;4020;88;227;95983401;386254 + 563;4028;88;228;95983401;390282 + 564;4032;88;228;95983401;390282 + 565;4043;98;229;95117142;377536 + 566;4044;98;229;95117142;377536 + 567;4056;98;229;95117142;377536 + 568;4056;102;230;95575993;374418 + 569;4068;102;230;95575993;374418 + 570;4080;102;230;95575993;374418 + 571;4080;102;231;95575993;378498 + 572;4092;102;231;95575993;378498 + 573;4097;102;232;95575993;382595 + 574;4104;102;232;95575993;382595 + 575;4116;102;232;95575993;382595 + 576;4116;102;233;95575993;386711 + 577;4128;102;233;95575993;386711 + 578;4136;102;234;95575993;390847 + 579;4140;102;234;95575993;390847 + 580;4152;102;234;95575993;390847 + 581;4160;102;235;95575993;395007 + 582;4164;102;235;95575993;395007 + 583;4176;102;235;95575993;395007 + 584;4178;102;236;95575993;399185 + 585;4188;102;236;95575993;399185 + 586;4198;108;237;94996137;392117 + 587;4200;108;237;94996137;392117 + 588;4211;108;238;94996137;396328 + 589;4212;108;238;94996137;396328 + 590;4223;108;239;94996137;400551 + 591;4224;108;239;94996137;400551 + 592;4236;108;239;94996137;400551 + 593;4247;108;240;94996137;404798 + 594;4248;108;240;94996137;404798 + 595;4260;108;240;94996137;404798 + 596;4269;112;241;93303659;401217 + 597;4272;112;241;93303659;401217 + 598;4284;112;241;93303659;401217 + 599;4291;112;242;93303659;405508 + 600;4296;112;242;93303659;405508 + 601;4303;112;243;93303659;409811 + 602;4308;112;243;93303659;409811 + 603;4318;113;244;94001514;412124 + 604;4320;113;244;94001514;412124 + 605;4332;113;244;94001514;412124 + 606;4339;113;245;94001514;416463 + 607;4344;113;245;94001514;416463 + 608;4353;113;246;94001514;420816 + 609;4356;113;246;94001514;420816 + 610;4368;113;246;94001514;420816 + 611;4368;113;247;94001514;425184 + 612;4380;113;247;94001514;425184 + 613;4389;113;248;94001514;429573 + 614;4392;113;248;94001514;429573 + 615;4403;113;249;94001514;433976 + 616;4404;113;249;94001514;433976 + 617;4416;113;249;94001514;433976 + 618;4418;118;250;93437012;428085 + 619;4428;118;250;93437012;428085 + 620;4440;118;250;93437012;428085 + 621;4440;119;251;94147557;430407 + 622;4452;119;251;94147557;430407 + 623;4459;119;252;94147557;434866 + 624;4464;119;252;94147557;434866 + 625;4473;119;253;94147557;439339 + 626;4476;119;253;94147557;439339 + 627;4486;119;254;94147557;443825 + 628;4488;119;254;94147557;443825 + 629;4500;119;254;94147557;443825 + 630;4504;119;255;94147557;448329 + 631;4512;119;255;94147557;448329 + 632;4524;119;255;94147557;448329 + 633;4527;119;256;94147557;452856 + 634;4536;119;256;94147557;452856 + 635;4548;119;256;94147557;452856 + 636;4548;119;257;94147557;457404 + 637;4560;119;257;94147557;457404 + 638;4562;119;258;94147557;461966 + 639;4572;119;258;94147557;461966 + 640;4581;122;259;95235344;460101 + 641;4584;122;259;95235344;460101 + 642;4594;127;260;97379205;453632 + 643;4596;127;260;97379205;453632 + 644;4608;127;260;97379205;453632 + 645;4610;127;261;97379205;458242 + 646;4620;127;261;97379205;458242 + 647;4623;127;262;97379205;462865 + 648;4632;127;262;97379205;462865 + 649;4640;127;263;97379205;467505 + 650;4644;127;263;97379205;467505 + 651;4656;127;263;97379205;467505 + 652;4660;130;264;97773047;465325 + 653;4668;130;264;97773047;465325 + 654;4680;130;264;97773047;465325 + 655;4682;130;265;97773047;470007 + 656;4692;130;265;97773047;470007 + 657;4695;130;266;97773047;474702 + 658;4704;130;266;97773047;474702 + 659;4716;130;266;97773047;474702 + 660;4719;130;267;97773047;479421 + 661;4728;130;267;97773047;479421 + 662;4740;130;267;97773047;479421 + 663;4742;130;268;97773047;484163 + 664;4752;130;268;97773047;484163 + 665;4762;130;269;97773047;488925 + 666;4764;130;269;97773047;488925 + 667;4776;130;269;97773047;488925 + 668;4777;130;270;97773047;493702 + 669;4788;130;270;97773047;493702 + 670;4796;136;271;98092313;484314 + 671;4800;136;271;98092313;484314 + 672;4812;136;271;98092313;484314 + 673;4812;136;272;98092313;489126 + 674;4824;136;272;98092313;489126 + 675;4829;136;273;98092313;493955 + 676;4836;136;273;98092313;493955 + 677;4848;139;273;100238224;486640 + 678;4850;139;274;100238224;491490 + 679;4860;149;274;97727522;465847 + 680;4866;150;275;97879353;468052 + 681;4872;150;275;97879353;468052 + 682;4881;150;276;97879353;472933 + 683;4884;150;276;97879353;472933 + 684;4896;150;276;97879353;472933 + 685;4900;150;277;97879353;477833 + 686;4908;150;277;97879353;477833 + 687;4914;150;278;97879353;482747 + 688;4920;150;278;97879353;482747 + 689;4932;150;278;97879353;482747 + 690;4934;150;279;97879353;487681 + 691;4944;150;279;97879353;487681 + 692;4955;150;280;97879353;492636 + 693;4956;150;280;97879353;492636 + 694;4968;150;280;97879353;492636 + 695;4972;150;281;97879353;497608 + 696;4980;150;281;97879353;497608 + 697;4989;152;282;98253862;497220 + 698;4992;152;282;98253862;497220 + 699;5004;152;282;98253862;497220 + 700;5013;152;283;98253862;502233 + 701;5016;152;283;98253862;502233 + 702;5026;152;284;98253862;507259 + 703;5028;152;284;98253862;507259 + 704;5040;152;284;98253862;507259 + 705;5047;152;285;98253862;512306 + 706;5052;152;285;98253862;512306 + 707;5064;152;285;98253862;512306 + 708;5066;152;286;98253862;517372 + 709;5076;152;286;98253862;517372 + 710;5088;152;286;98253862;517372 + 711;5089;152;287;98253862;522461 + 712;5100;152;287;98253862;522461 + 713;5112;152;287;98253862;522461 + 714;5112;152;288;98253862;527573 + 715;5124;152;288;98253862;527573 + 716;5128;152;289;98253862;532701 + 717;5136;152;289;98253862;532701 + 718;5148;152;289;98253862;532701 + 719;5151;152;290;98253862;537852 + 720;5160;152;290;98253862;537852 + 721;5163;161;291;99899566;517901 + 722;5172;161;291;99899566;517901 + 723;5178;161;292;99899566;523079 + 724;5184;161;292;99899566;523079 + 725;5194;161;293;99899566;528273 + 726;5196;161;293;99899566;528273 + 727;5208;161;293;99899566;528273 + 728;5212;161;294;99899566;533485 + 729;5220;161;294;99899566;533485 + 730;5224;161;295;99899566;538709 + 731;5232;161;295;99899566;538709 + 732;5244;161;295;99899566;538709 + 733;5245;161;296;99899566;543954 + 734;5256;161;296;99899566;543954 + 735;5262;161;297;99899566;549216 + 736;5268;161;297;99899566;549216 + 737;5280;161;297;99899566;549216 + 738;5285;164;298;100662380;545826 + 739;5292;164;298;100662380;545826 + 740;5302;170;299;100322289;533233 + 741;5304;170;299;100322289;533233 + 742;5314;170;300;100322289;538547 + 743;5316;170;300;100322289;538547 + 744;5328;170;300;100322289;538547 + 745;5331;170;301;100322289;543878 + 746;5340;170;301;100322289;543878 + 747;5348;170;302;100322289;549226 + 748;5352;170;302;100322289;549226 + 749;5364;170;302;100322289;549226 + 750;5366;170;303;100322289;554592 + 751;5376;170;303;100322289;554592 + 752;5381;170;304;100322289;559973 + 753;5388;170;304;100322289;559973 + 754;5400;170;304;100322289;559973 + 755;5404;170;305;100322289;565377 + 756;5412;170;305;100322289;565377 + 757;5424;170;305;100322289;565377 + 758;5428;170;306;100322289;570805 + 759;5436;170;306;100322289;570805 + 760;5448;176;306;99825153;552230 + 761;5450;184;307;98333210;532055 + 762;5460;184;307;98333210;532055 + 763;5470;184;308;98333210;537525 + 764;5472;184;308;98333210;537525 + 765;5484;184;308;98333210;537525 + 766;5485;184;309;98333210;543010 + 767;5496;184;309;98333210;543010 + 768;5504;184;310;98333210;548514 + 769;5508;184;310;98333210;548514 + 770;5520;184;310;98333210;548514 + 771;5520;184;311;98333210;554034 + 772;5532;184;311;98333210;554034 + 773;5544;184;311;98333210;554034 + 774;5544;184;312;98333210;559578 + 775;5556;184;312;98333210;559578 + 776;5565;190;313;95995323;545210 + 777;5568;190;313;95995323;545210 + 778;5580;190;313;95995323;545210 + 779;5589;197;314;91900623;526702 + 780;5592;197;314;91900623;526702 + 781;5604;197;314;91900623;526702 + 782;5612;197;315;91900623;532314 + 783;5616;197;315;91900623;532314 + 784;5628;197;315;91900623;532314 + 785;5635;197;316;91900623;537949 + 786;5640;197;316;91900623;537949 + 787;5647;197;317;91900623;543596 + 788;5652;197;317;91900623;543596 + 789;5664;197;317;91900623;543596 + 790;5665;197;318;91900623;549261 + 791;5676;197;318;91900623;549261 + 792;5685;197;319;91900623;554946 + 793;5688;197;319;91900623;554946 + 794;5700;197;319;91900623;554946 + 795;5705;198;320;92209302;557134 + 796;5712;198;320;92209302;557134 + 797;5724;198;320;92209302;557134 + 798;5725;198;321;92209302;562859 + 799;5736;198;321;92209302;562859 + 800;5748;198;321;92209302;562859 + 801;5748;198;322;92209302;568607 + 802;5760;198;322;92209302;568607 + 803;5765;198;323;92209302;574372 + 804;5772;198;323;92209302;574372 + 805;5784;198;323;92209302;574372 + 806;5784;198;324;92209302;580156 + 807;5796;198;324;92209302;580156 + 808;5796;198;325;92209302;585952 + 809;5808;198;325;92209302;585952 + 810;5820;198;325;92209302;585952 + 811;5820;198;326;92209302;591772 + 812;5832;198;326;92209302;591772 + 813;5836;198;327;92209302;597608 + 814;5844;198;327;92209302;597608 + 815;5849;198;328;92209302;603457 + 816;5856;198;328;92209302;603457 + 817;5866;208;329;87517429;573140 + 818;5868;208;329;87517429;573140 + 819;5878;208;330;87517429;579018 + 820;5880;208;330;87517429;579018 + 821;5892;208;330;87517429;579018 + 822;5902;208;331;87517429;584920 + 823;5904;208;331;87517429;584920 + 824;5914;208;332;87517429;590834 + 825;5916;208;332;87517429;590834 + 826;5928;208;332;87517429;590834 + 827;5937;208;333;87517429;596771 + 828;5940;208;333;87517429;596771 + 829;5952;208;333;87517429;596771 + 830;5956;208;334;87517429;602727 + 831;5964;208;334;87517429;602727 + 832;5974;208;335;87517429;608701 + 833;5976;208;335;87517429;608701 + 834;5986;208;336;87517429;614687 + 835;5988;208;336;87517429;614687 + 836;5998;208;337;87517429;620685 + 837;6000;208;337;87517429;620685 + 838;6012;208;337;87517429;620685 + 839;6020;208;338;87517429;626705 + 840;6024;208;338;87517429;626705 + 841;6036;208;338;87517429;626705 + 842;6036;208;339;87517429;632741 + 843;6048;208;339;87517429;632741 + 844;6048;208;340;87517429;638789 + 845;6060;208;340;87517429;638789 + 846;6071;211;341;86724883;633638 + 847;6072;211;341;86724883;633638 + 848;6084;211;341;86724883;633638 + 849;6089;211;342;86724883;639727 + 850;6096;211;342;86724883;639727 + 851;6102;212;343;87397952;642051 + 852;6108;212;343;87397952;642051 + 853;6120;212;343;87397952;642051 + 854;6123;212;344;87397952;648174 + 855;6132;212;344;87397952;648174 + 856;6142;212;345;87397952;654316 + 857;6144;212;345;87397952;654316 + 858;6156;212;345;87397952;654316 + 859;6159;212;346;87397952;660475 + 860;6168;212;346;87397952;660475 + 861;6172;212;347;87397952;666647 + 862;6180;212;347;87397952;666647 + 863;6192;212;347;87397952;666647 + 864;6195;212;348;87397952;672842 + 865;6204;212;348;87397952;672842 + 866;6216;212;348;87397952;672842 + 867;6216;212;349;87397952;679058 + 868;6228;212;349;87397952;679058 + 869;6230;212;350;87397952;685288 + 870;6240;212;350;87397952;685288 + 871;6252;212;350;87397952;685288 + 872;6253;215;351;89565380;680127 + 873;6264;215;351;89565380;680127 + 874;6269;215;352;89565380;686396 + 875;6276;215;352;89565380;686396 + 876;6283;215;353;89565380;692679 + 877;6288;215;353;89565380;692679 + 878;6299;225;354;89232300;659804 + 879;6300;225;354;89232300;659804 + 880;6312;225;354;89232300;659804 + 881;6312;225;355;89232300;666116 + 882;6324;225;355;89232300;666116 + 883;6329;225;356;89232300;672445 + 884;6336;225;356;89232300;672445 + 885;6348;225;356;89232300;672445 + 886;6353;233;357;87574510;646230 + 887;6360;233;357;87574510;646230 + 888;6365;233;358;87574510;652595 + 889;6372;233;358;87574510;652595 + 890;6384;233;358;87574510;652595 + 891;6385;233;359;87574510;658980 + 892;6396;233;359;87574510;658980 + 893;6397;233;360;87574510;665377 + 894;6408;233;360;87574510;665377 + 895;6411;233;361;87574510;671788 + 896;6420;233;361;87574510;671788 + 897;6428;233;362;87574510;678216 + 898;6432;233;362;87574510;678216 + 899;6444;238;362;87381672;657246 + 900;6444;238;363;87381672;663690 + 901;6456;238;363;87381672;663690 + 902;6456;238;364;87381672;670146 + 903;6468;238;364;87381672;670146 + 904;6477;238;365;87381672;676623 + 905;6480;238;365;87381672;676623 + 906;6492;238;365;87381672;676623 + 907;6497;238;366;87381672;683120 + 908;6504;238;366;87381672;683120 + 909;6515;238;367;87381672;689635 + 910;6516;238;367;87381672;689635 + 911;6528;238;367;87381672;689635 + 912;6538;240;368;87835927;687657 + 913;6540;240;368;87835927;687657 + 914;6552;240;368;87835927;687657 + 915;6560;240;369;87835927;694217 + 916;6564;240;369;87835927;694217 + 917;6576;240;369;87835927;694217 + 918;6582;245;370;86271017;679195 + 919;6588;245;370;86271017;679195 + 920;6600;245;370;86271017;679195 + 921;6604;245;371;86271017;685799 + 922;6612;245;371;86271017;685799 + 923;6624;245;371;86271017;685799 + 924;6628;245;372;86271017;692427 + 925;6636;245;372;86271017;692427 + 926;6648;245;372;86271017;692427 + 927;6648;245;373;86271017;699075 + 928;6660;245;373;86271017;699075 + 929;6662;245;374;86271017;705737 + 930;6672;245;374;86271017;705737 + 931;6678;245;375;86271017;712415 + 932;6684;245;375;86271017;712415 + 933;6696;245;375;86271017;712415 + 934;6700;245;376;86271017;719115 + 935;6708;245;376;86271017;719115 + 936;6720;245;376;86271017;719115 + 937;6720;245;377;86271017;725835 + 938;6732;245;377;86271017;725835 + 939;6742;245;378;86271017;732577 + 940;6744;245;378;86271017;732577 + 941;6756;245;378;86271017;732577 + 942;6756;245;379;86271017;739333 + 943;6768;245;379;86271017;739333 + 944;6774;245;380;86271017;746107 + 945;6780;245;380;86271017;746107 + 946;6792;245;380;86271017;746107 + 947;6797;245;381;86271017;752904 + 948;6804;245;381;86271017;752904 + 949;6816;245;381;86271017;752904 + 950;6817;245;382;86271017;759721 + 951;6828;245;382;86271017;759721 + 952;6834;245;383;86271017;766555 + 953;6840;245;383;86271017;766555 + 954;6848;255;384;86665665;728936 + 955;6852;255;384;86665665;728936 + 956;6860;260;385;83924947;712901 + 957;6864;260;385;83924947;712901 + 958;6872;260;386;83924947;719773 + 959;6876;260;386;83924947;719773 + 960;6888;260;386;83924947;719773 + 961;6896;260;387;83924947;726669 + 962;6900;260;387;83924947;726669 + 963;6912;260;387;83924947;726669 + 964;6918;260;388;83924947;733587 + 965;6924;260;388;83924947;733587 + 966;6931;260;389;83924947;740518 + 967;6936;260;389;83924947;740518 + 968;6948;260;389;83924947;740518 + 969;6952;260;390;83924947;747470 + 970;6960;260;390;83924947;747470 + 971;6968;260;391;83924947;754438 + 972;6972;260;391;83924947;754438 + 973;6984;260;391;83924947;754438 + 974;6990;260;392;83924947;761428 + 975;6996;260;392;83924947;761428 + 976;7008;260;392;83924947;761428 + 977;7014;260;393;83924947;768442 + 978;7020;260;393;83924947;768442 + 979;7030;260;394;83924947;775472 + 980;7032;260;394;83924947;775472 + 981;7043;260;395;83924947;782515 + 982;7044;260;395;83924947;782515 + 983;7055;260;396;83924947;789570 + 984;7056;260;396;83924947;789570 + 985;7068;260;396;83924947;789570 + 986;7074;266;397;83714149;768625 + 987;7080;266;397;83714149;768625 + 988;7092;266;397;83714149;768625 + 989;7097;266;398;83714149;775722 + 990;7104;266;398;83714149;775722 + 991;7116;266;398;83714149;775722 + 992;7119;266;399;83714149;782841 + 993;7128;266;399;83714149;782841 + 994;7139;271;400;83682965;766091 + 995;7140;271;400;83682965;766091 + 996;7152;271;400;83682965;766091 + 997;7155;271;401;83682965;773246 + 998;7164;271;401;83682965;773246 + 999;7172;271;402;83682965;780418 + 1000;7176;271;402;83682965;780418 + 1001;7188;271;402;83682965;780418 + 1002;7188;271;403;83682965;787606 + 1003;7200;271;403;83682965;787606 + 1004;7208;271;404;83682965;794814 + 1005;7212;271;404;83682965;794814 + 1006;7224;271;404;83682965;794814 + 1007;7225;271;405;83682965;802039 + 1008;7236;271;405;83682965;802039 + 1009;7237;275;406;84710314;789850 + 1010;7248;275;406;84710314;789850 + 1011;7256;275;407;84710314;797106 + 1012;7260;275;407;84710314;797106 + 1013;7272;275;407;84710314;797106 + 1014;7272;275;408;84710314;804378 + 1015;7284;275;408;84710314;804378 + 1016;7284;275;409;84710314;811662 + 1017;7296;275;409;84710314;811662 + 1018;7300;275;410;84710314;818962 + 1019;7308;275;410;84710314;818962 + 1020;7317;275;411;84710314;826279 + 1021;7320;275;411;84710314;826279 + 1022;7329;275;412;84710314;833608 + 1023;7332;275;412;84710314;833608 + 1024;7344;275;412;84710314;833608 + 1025;7347;285;413;85830185;791139 + 1026;7356;289;413;86000907;770659 + 1027;7361;289;414;86000907;778020 + 1028;7368;289;414;86000907;778020 + 1029;7376;289;415;86000907;785396 + 1030;7380;289;415;86000907;785396 + 1031;7390;289;416;86000907;792786 + 1032;7392;289;416;86000907;792786 + 1033;7404;289;416;86000907;792786 + 1034;7407;289;417;86000907;800193 + 1035;7416;289;417;86000907;800193 + 1036;7421;289;418;86000907;807614 + 1037;7428;289;418;86000907;807614 + 1038;7439;290;419;86501681;809890 + 1039;7440;290;419;86501681;809890 + 1040;7452;290;419;86501681;809890 + 1041;7456;290;420;86501681;817346 + 1042;7464;290;420;86501681;817346 + 1043;7473;290;421;86501681;824819 + 1044;7476;290;421;86501681;824819 + 1045;7488;290;421;86501681;824819 + 1046;7496;290;422;86501681;832315 + 1047;7500;290;422;86501681;832315 + 1048;7511;290;423;86501681;839826 + 1049;7512;290;423;86501681;839826 + 1050;7524;290;423;86501681;839826 + 1051;7535;290;424;86501681;847361 + 1052;7536;290;424;86501681;847361 + 1053;7548;290;424;86501681;847361 + 1054;7551;290;425;86501681;854912 + 1055;7560;290;425;86501681;854912 + 1056;7569;290;426;86501681;862481 + 1057;7572;290;426;86501681;862481 + 1058;7584;296;426;87999708;831166 + 1059;7593;296;427;87999708;838759 + 1060;7596;296;427;87999708;838759 + 1061;7608;296;427;87999708;838759 + 1062;7617;296;428;87999708;846376 + 1063;7620;296;428;87999708;846376 + 1064;7632;296;428;87999708;846376 + 1065;7641;298;429;88005173;843430 + 1066;7644;298;429;88005173;843430 + 1067;7653;302;430;86981063;829724 + 1068;7656;302;430;86981063;829724 + 1069;7668;302;430;86981063;829724 + 1070;7670;302;431;86981063;837394 + 1071;7680;302;431;86981063;837394 + 1072;7691;302;432;86981063;845085 + 1073;7692;302;432;86981063;845085 + 1074;7704;302;432;86981063;845085 + 1075;7704;302;433;86981063;852789 + 1076;7716;302;433;86981063;852789 + 1077;7718;302;434;86981063;860507 + 1078;7728;302;434;86981063;860507 + 1079;7740;302;434;86981063;860507 + 1080;7740;302;435;86981063;868247 + 1081;7752;302;435;86981063;868247 + 1082;7756;302;436;86981063;876003 + 1083;7764;302;436;86981063;876003 + 1084;7772;302;437;86981063;883775 + 1085;7776;302;437;86981063;883775 + 1086;7788;302;437;86981063;883775 + 1087;7793;302;438;86981063;891568 + 1088;7800;302;438;86981063;891568 + 1089;7812;302;438;86981063;891568 + 1090;7816;305;439;87498411;883171 + 1091;7824;305;439;87498411;883171 + 1092;7833;305;440;87498411;891004 + 1093;7836;305;440;87498411;891004 + 1094;7848;305;440;87498411;891004 + 1095;7852;315;441;85224740;843482 + 1096;7860;317;441;84660357;832170 + 1097;7870;317;442;84660357;840040 + 1098;7872;317;442;84660357;840040 + 1099;7884;317;442;84660357;840040 + 1100;7885;317;443;84660357;847925 + 1101;7896;317;443;84660357;847925 + 1102;7906;317;444;84660357;855831 + 1103;7908;317;444;84660357;855831 + 1104;7920;317;444;84660357;855831 + 1105;7928;317;445;84660357;863759 + 1106;7932;317;445;84660357;863759 + 1107;7944;317;445;84660357;863759 + 1108;7946;317;446;84660357;871705 + 1109;7956;317;446;84660357;871705 + 1110;7968;317;446;84660357;871705 + 1111;7969;317;447;84660357;879674 + 1112;7980;317;447;84660357;879674 + 1113;7991;317;448;84660357;887665 + 1114;7992;317;448;84660357;887665 + 1115;8004;317;448;84660357;887665 + 1116;8008;317;449;84660357;895673 + 1117;8016;317;449;84660357;895673 + 1118;8022;317;450;84660357;903695 + 1119;8028;317;450;84660357;903695 + 1120;8040;317;450;84660357;903695 + 1121;8040;317;451;84660357;911735 + 1122;8052;317;451;84660357;911735 + 1123;8057;317;452;84660357;919792 + 1124;8064;317;452;84660357;919792 + 1125;8073;317;453;84660357;927865 + 1126;8076;317;453;84660357;927865 + 1127;8088;317;453;84660357;927865 + 1128;8091;317;454;84660357;935956 + 1129;8100;317;454;84660357;935956 + 1130;8109;317;455;84660357;944065 + 1131;8112;317;455;84660357;944065 + 1132;8123;317;456;84660357;952188 + 1133;8124;317;456;84660357;952188 + 1134;8136;322;456;83906709;923560 + 1135;8147;322;457;83906709;931707 + 1136;8148;322;457;83906709;931707 + 1137;8160;322;457;83906709;931707 + 1138;8160;322;458;83906709;939867 + 1139;8172;322;458;83906709;939867 + 1140;8183;322;459;83906709;948050 + 1141;8184;322;459;83906709;948050 + 1142;8196;322;459;83906709;948050 + 1143;8200;322;460;83906709;956250 + 1144;8208;322;460;83906709;956250 + 1145;8213;322;461;83906709;964463 + 1146;8220;322;461;83906709;964463 + 1147;8225;322;462;83906709;972688 + 1148;8232;322;462;83906709;972688 + 1149;8244;323;462;84873538;966904 + 1150;8249;327;463;85312105;951852 + 1151;8256;327;463;85312105;951852 + 1152;8265;327;464;85312105;960117 + 1153;8268;327;464;85312105;960117 + 1154;8280;327;464;85312105;960117 + 1155;8284;329;465;86099760;956657 + 1156;8292;329;465;86099760;956657 + 1157;8302;329;466;86099760;964959 + 1158;8304;329;466;86099760;964959 + 1159;8316;329;466;86099760;964959 + 1160;8316;329;467;86099760;973275 + 1161;8328;329;467;86099760;973275 + 1162;8329;329;468;86099760;981604 + 1163;8340;329;468;86099760;981604 + 1164;8351;329;469;86099760;989955 + 1165;8352;329;469;86099760;989955 + 1166;8364;329;469;86099760;989955 + 1167;8365;331;470;87879572;986504 + 1168;8376;331;470;87879572;986504 + 1169;8383;339;471;85976878;946932 + 1170;8388;339;471;85976878;946932 + 1171;8400;339;471;85976878;946932 + 1172;8404;339;472;85976878;955336 + 1173;8412;339;472;85976878;955336 + 1174;8424;339;472;85976878;955336 + 1175;8424;339;473;85976878;963760 + 1176;8436;339;473;85976878;963760 + 1177;8440;339;474;85976878;972200 + 1178;8448;339;474;85976878;972200 + 1179;8460;339;474;85976878;972200 + 1180;8461;339;475;85976878;980661 + 1181;8472;339;475;85976878;980661 + 1182;8475;339;476;85976878;989136 + 1183;8484;339;476;85976878;989136 + 1184;8494;339;477;85976878;997630 + 1185;8496;339;477;85976878;997630 + 1186;8508;339;477;85976878;997630 + 1187;8517;339;478;85976878;1006147 + 1188;8520;339;478;85976878;1006147 + 1189;8532;339;478;85976878;1006147 + 1190;8535;339;479;85976878;1014682 + 1191;8544;339;479;85976878;1014682 + 1192;8547;354;480;87197380;930314 + 1193;8556;354;480;87197380;930314 + 1194;8568;354;480;87197380;930314 + 1195;8570;354;481;87197380;938884 + 1196;8580;354;481;87197380;938884 + 1197;8592;354;481;87197380;938884 + 1198;8593;354;482;87197380;947477 + 1199;8604;354;482;87197380;947477 + 1200;8611;354;483;87197380;956088 + 1201;8616;354;483;87197380;956088 + 1202;8627;354;484;87197380;964715 + 1203;8628;354;484;87197380;964715 + 1204;8640;354;484;87197380;964715 + 1205;8642;354;485;87197380;973357 + 1206;8652;354;485;87197380;973357 + 1207;8660;354;486;87197380;982017 + 1208;8664;354;486;87197380;982017 + 1209;8675;354;487;87197380;990692 + 1210;8676;354;487;87197380;990692 + 1211;8687;354;488;87197380;999379 + 1212;8688;354;488;87197380;999379 + 1213;8700;354;488;87197380;999379 + 1214;8710;354;489;87197380;1008089 + 1215;8712;354;489;87197380;1008089 + 1216;8724;354;489;87197380;1008089 + 1217;8724;354;490;87197380;1016813 + 1218;8736;354;490;87197380;1016813 + 1219;8746;354;491;87197380;1025559 + 1220;8748;354;491;87197380;1025559 + 1221;8759;355;492;88136426;1027989 + 1222;8760;355;492;88136426;1027989 + 1223;8772;355;492;88136426;1027989 + 1224;8775;363;493;86062342;985525 + 1225;8784;363;493;86062342;985525 + 1226;8796;363;493;86062342;985525 + 1227;8799;363;494;86062342;994324 + 1228;8808;363;494;86062342;994324 + 1229;8820;363;494;86062342;994324 + 1230;8820;363;495;86062342;1003144 + 1231;8832;363;495;86062342;1003144 + 1232;8836;363;496;86062342;1011980 + 1233;8844;369;496;85063482;972811 + 1234;8851;369;497;85063482;981662 + 1235;8856;369;497;85063482;981662 + 1236;8865;369;498;85063482;990527 + 1237;8868;369;498;85063482;990527 + 1238;8880;369;498;85063482;990527 + 1239;8888;369;499;85063482;999415 + 1240;8892;369;499;85063482;999415 + 1241;8901;369;500;85063482;1008316 + 1242;8904;369;500;85063482;1008316 + 1243;8916;369;500;85063482;1008316 + 1244;8919;369;501;85063482;1017235 + 1245;8928;369;501;85063482;1017235 + 1246;8940;369;501;85063482;1017235 + 1247;8941;369;502;85063482;1026176 + 1248;8952;369;502;85063482;1026176 + 1249;8956;369;503;85063482;1035132 + 1250;8964;369;503;85063482;1035132 + 1251;8969;369;504;85063482;1044101 + 1252;8976;369;504;85063482;1044101 + 1253;8988;369;504;85063482;1044101 + 1254;8992;369;505;85063482;1053093 + 1255;9000;369;505;85063482;1053093 + 1256;9012;369;505;85063482;1053093 + 1257;9016;369;506;85063482;1062109 + 1258;9024;369;506;85063482;1062109 + 1259;9029;369;507;85063482;1071138 + 1260;9036;369;507;85063482;1071138 + 1261;9048;369;507;85063482;1071138 + 1262;9049;369;508;85063482;1080187 + 1263;9060;369;508;85063482;1080187 + 1264;9068;377;509;85018596;1035873 + 1265;9072;377;509;85018596;1035873 + 1266;9084;377;509;85018596;1035873 + 1267;9089;377;510;85018596;1044962 + 1268;9096;377;510;85018596;1044962 + 1269;9108;377;510;85018596;1044962 + 1270;9110;377;511;85018596;1054072 + 1271;9120;377;511;85018596;1054072 + 1272;9127;377;512;85018596;1063199 + 1273;9132;377;512;85018596;1063199 + 1274;9142;382;513;84120604;1038363 + 1275;9144;382;513;84120604;1038363 + 1276;9156;382;513;84120604;1038363 + 1277;9159;382;514;84120604;1047522 + 1278;9168;382;514;84120604;1047522 + 1279;9175;384;515;84070994;1042989 + 1280;9180;384;515;84070994;1042989 + 1281;9192;384;515;84070994;1042989 + 1282;9198;384;516;84070994;1052187 + 1283;9204;384;516;84070994;1052187 + 1284;9213;384;517;84070994;1061400 + 1285;9216;384;517;84070994;1061400 + 1286;9225;384;518;84070994;1070625 + 1287;9228;384;518;84070994;1070625 + 1288;9240;384;518;84070994;1070625 + 1289;9242;384;519;84070994;1079867 + 1290;9252;384;519;84070994;1079867 + 1291;9256;386;520;85142751;1075355 + 1292;9264;386;520;85142751;1075355 + 1293;9276;386;520;85142751;1075355 + 1294;9276;386;521;85142751;1084631 + 1295;9288;386;521;85142751;1084631 + 1296;9290;386;522;85142751;1093921 + 1297;9300;386;522;85142751;1093921 + 1298;9312;386;522;85142751;1093921 + 1299;9313;386;523;85142751;1103234 + 1300;9324;386;523;85142751;1103234 + 1301;9326;386;524;85142751;1112560 + 1302;9336;386;524;85142751;1112560 + 1303;9346;386;525;85142751;1121906 + 1304;9348;386;525;85142751;1121906 + 1305;9359;386;526;85142751;1131265 + 1306;9360;386;526;85142751;1131265 + 1307;9372;386;526;85142751;1131265 + 1308;9381;386;527;85142751;1140646 + 1309;9384;386;527;85142751;1140646 + 1310;9396;386;527;85142751;1140646 + 1311;9402;396;528;86563475;1080073 + 1312;9408;396;528;86563475;1080073 + 1313;9417;396;529;86563475;1089490 + 1314;9420;396;529;86563475;1089490 + 1315;9432;396;529;86563475;1089490 + 1316;9441;396;530;86563475;1098931 + 1317;9444;396;530;86563475;1098931 + 1318;9456;396;530;86563475;1098931 + 1319;9458;396;531;86563475;1108389 + 1320;9468;396;531;86563475;1108389 + 1321;9478;396;532;86563475;1117867 + 1322;9480;396;532;86563475;1117867 + 1323;9492;396;532;86563475;1117867 + 1324;9492;396;533;86563475;1127359 + 1325;9504;396;533;86563475;1127359 + 1326;9516;396;533;86563475;1127359 + 1327;9516;404;534;85955526;1079572 + 1328;9528;404;534;85955526;1079572 + 1329;9530;404;535;85955526;1089102 + 1330;9540;404;535;85955526;1089102 + 1331;9545;404;536;85955526;1098647 + 1332;9552;404;536;85955526;1098647 + 1333;9561;404;537;85955526;1108208 + 1334;9564;404;537;85955526;1108208 + 1335;9576;404;537;85955526;1108208 + 1336;9577;411;538;86329966;1066790 + 1337;9588;411;538;86329966;1066790 + 1338;9595;411;539;86329966;1076385 + 1339;9600;411;539;86329966;1076385 + 1340;9607;411;540;86329966;1085992 + 1341;9612;411;540;86329966;1085992 + 1342;9622;411;541;86329966;1095614 + 1343;9624;411;541;86329966;1095614 + 1344;9635;411;542;86329966;1105249 + 1345;9636;411;542;86329966;1105249 + 1346;9648;411;542;86329966;1105249 + 1347;9655;411;543;86329966;1114904 + 1348;9660;411;543;86329966;1114904 + 1349;9672;411;543;86329966;1114904 + 1350;9673;411;544;86329966;1124577 + 1351;9684;411;544;86329966;1124577 + 1352;9690;411;545;86329966;1134267 + 1353;9696;411;545;86329966;1134267 + 1354;9706;411;546;86329966;1143973 + 1355;9708;411;546;86329966;1143973 + 1356;9720;411;546;86329966;1143973 + 1357;9725;411;547;86329966;1153698 + 1358;9732;411;547;86329966;1153698 + 1359;9744;411;547;86329966;1153698 + 1360;9747;415;548;86628002;1133971 + 1361;9756;415;548;86628002;1133971 + 1362;9768;415;548;86628002;1133971 + 1363;9770;415;549;86628002;1143741 + 1364;9780;415;549;86628002;1143741 + 1365;9792;415;549;86628002;1143741 + 1366;9794;415;550;86628002;1153535 + 1367;9804;415;550;86628002;1153535 + 1368;9816;415;550;86628002;1153535 + 1369;9818;421;551;86716806;1118661 + 1370;9828;421;551;86716806;1118661 + 1371;9836;421;552;86716806;1128497 + 1372;9840;421;552;86716806;1128497 + 1373;9852;421;552;86716806;1128497 + 1374;9856;421;553;86716806;1138353 + 1375;9864;421;553;86716806;1138353 + 1376;9871;421;554;86716806;1148224 + 1377;9876;421;554;86716806;1148224 + 1378;9888;421;554;86716806;1148224 + 1379;9889;421;555;86716806;1158113 + 1380;9900;421;555;86716806;1158113 + 1381;9910;421;556;86716806;1168023 + 1382;9912;421;556;86716806;1168023 + 1383;9924;421;556;86716806;1168023 + 1384;9928;423;557;86619934;1162905 + 1385;9936;423;557;86619934;1162905 + 1386;9944;423;558;86619934;1172849 + 1387;9948;423;558;86619934;1172849 + 1388;9960;427;558;87237999;1142519 + 1389;9967;427;559;87237999;1152486 + 1390;9972;427;559;87237999;1152486 + 1391;9984;427;559;87237999;1152486 + 1392;9985;427;560;87237999;1162471 + 1393;9996;427;560;87237999;1162471 + 1394;10008;427;560;87237999;1162471 + 1395;10009;427;561;87237999;1172480 + 1396;10020;435;561;88122744;1110907 + 1397;10025;435;562;88122744;1120932 + 1398;10032;435;562;88122744;1120932 + 1399;10044;435;562;88122744;1120932 + 1400;10047;435;563;88122744;1130979 + 1401;10056;435;563;88122744;1130979 + 1402;10066;435;564;88122744;1141045 + 1403;10068;435;564;88122744;1141045 + 1404;10080;435;564;88122744;1141045 + 1405;10086;437;565;88215819;1135566 + 1406;10092;437;565;88215819;1135566 + 1407;10104;437;565;88215819;1135566 + 1408;10107;437;566;88215819;1145673 + 1409;10116;437;566;88215819;1145673 + 1410;10123;437;567;88215819;1155796 + 1411;10128;441;567;88644130;1124425 + 1412;10138;441;568;88644130;1134563 + 1413;10140;441;568;88644130;1134563 + 1414;10152;441;568;88644130;1134563 + 1415;10153;441;569;88644130;1144716 + 1416;10164;441;569;88644130;1144716 + 1417;10168;441;570;88644130;1154884 + 1418;10176;441;570;88644130;1154884 + 1419;10183;441;571;88644130;1165067 + 1420;10188;441;571;88644130;1165067 + 1421;10200;443;571;89896913;1149276 + 1422;10203;443;572;89896913;1159479 + 1423;10212;443;572;89896913;1159479 + 1424;10219;443;573;89896913;1169698 + 1425;10224;443;573;89896913;1169698 + 1426;10236;443;573;89896913;1169698 + 1427;10240;443;574;89896913;1179938 + 1428;10248;443;574;89896913;1179938 + 1429;10260;443;574;89896913;1179938 + 1430;10261;443;575;89896913;1190199 + 1431;10272;443;575;89896913;1190199 + 1432;10284;443;575;89896913;1190199 + 1433;10284;443;576;89896913;1200483 + 1434;10296;443;576;89896913;1200483 + 1435;10296;443;577;89896913;1210779 + 1436;10308;443;577;89896913;1210779 + 1437;10308;443;578;89896913;1221087 + 1438;10320;443;578;89896913;1221087 + 1439;10332;443;578;89896913;1221087 + 1440;10332;443;579;89896913;1231419 + 1441;10344;443;579;89896913;1231419 + 1442;10350;448;580;89626580;1201927 + 1443;10356;448;580;89626580;1201927 + 1444;10368;448;580;89626580;1201927 + 1445;10368;448;581;89626580;1212295 + 1446;10380;448;581;89626580;1212295 + 1447;10390;448;582;89626580;1222685 + 1448;10392;448;582;89626580;1222685 + 1449;10404;448;582;89626580;1222685 + 1450;10404;448;583;89626580;1233089 + 1451;10416;448;583;89626580;1233089 + 1452;10420;448;584;89626580;1243509 + 1453;10428;448;584;89626580;1243509 + 1454;10440;448;584;89626580;1243509 + 1455;10441;448;585;89626580;1253950 + 1456;10452;448;585;89626580;1253950 + 1457;10461;458;586;88704700;1183406 + 1458;10464;458;586;88704700;1183406 + 1459;10476;462;586;88553353;1150519 + 1460;10485;462;587;88553353;1161004 + 1461;10488;462;587;88553353;1161004 + 1462;10500;462;587;88553353;1161004 + 1463;10501;462;588;88553353;1171505 + 1464;10512;462;588;88553353;1171505 + 1465;10524;462;588;88553353;1171505 + 1466;10525;462;589;88553353;1182030 + 1467;10536;462;589;88553353;1182030 + 1468;10544;462;590;88553353;1192574 + 1469;10548;462;590;88553353;1192574 + 1470;10560;462;590;88553353;1192574 + 1471;10560;462;591;88553353;1203134 + 1472;10572;462;591;88553353;1203134 + 1473;10573;462;592;88553353;1213707 + 1474;10584;462;592;88553353;1213707 + 1475;10596;462;592;88553353;1213707 + 1476;10597;462;593;88553353;1224304 + 1477;10608;462;593;88553353;1224304 + 1478;10610;462;594;88553353;1234914 + 1479;10620;462;594;88553353;1234914 + 1480;10632;468;594;86759895;1185067 + 1481;10632;468;595;86759895;1195699 + 1482;10644;468;595;86759895;1195699 + 1483;10652;468;596;86759895;1206351 + 1484;10656;468;596;86759895;1206351 + 1485;10666;468;597;86759895;1217017 + 1486;10668;468;597;86759895;1217017 + 1487;10680;468;597;86759895;1217017 + 1488;10687;468;598;86759895;1227704 + 1489;10692;468;598;86759895;1227704 + 1490;10702;468;599;86759895;1238406 + 1491;10704;468;599;86759895;1238406 + 1492;10714;468;600;86759895;1249120 + 1493;10716;468;600;86759895;1249120 + 1494;10728;468;600;86759895;1249120 + 1495;10734;475;601;84836653;1200902 + 1496;10740;475;601;84836653;1200902 + 1497;10752;475;601;84836653;1200902 + 1498;10756;475;602;84836653;1211658 + 1499;10764;475;602;84836653;1211658 + 1500;10773;475;603;84836653;1222431 + 1501;10776;475;603;84836653;1222431 + 1502;10788;475;603;84836653;1222431 + 1503;10789;475;604;84836653;1233220 + 1504;10800;475;604;84836653;1233220 + 1505;10811;475;605;84836653;1244031 + 1506;10812;475;605;84836653;1244031 + 1507;10824;475;605;84836653;1244031 + 1508;10832;475;606;84836653;1254863 + 1509;10836;475;606;84836653;1254863 + 1510;10848;475;606;84836653;1254863 + 1511;10850;475;607;84836653;1265713 + 1512;10860;475;607;84836653;1265713 + 1513;10868;475;608;84836653;1276581 + 1514;10872;475;608;84836653;1276581 + 1515;10880;475;609;84836653;1287461 + 1516;10884;475;609;84836653;1287461 + 1517;10892;479;610;85200929;1264260 + 1518;10896;479;610;85200929;1264260 + 1519;10904;479;611;85200929;1275164 + 1520;10908;479;611;85200929;1275164 + 1521;10917;479;612;85200929;1286081 + 1522;10920;479;612;85200929;1286081 + 1523;10932;479;612;85200929;1286081 + 1524;10933;479;613;85200929;1297014 + 1525;10944;479;613;85200929;1297014 + 1526;10951;479;614;85200929;1307965 + 1527;10956;479;614;85200929;1307965 + 1528;10964;479;615;85200929;1318929 + 1529;10968;479;615;85200929;1318929 + 1530;10979;479;616;85200929;1329908 + 1531;10980;479;616;85200929;1329908 + 1532;10992;479;616;85200929;1329908 + 1533;10996;479;617;85200929;1340904 + 1534;11004;479;617;85200929;1340904 + 1535;11015;489;618;84335044;1265420 + 1536;11016;489;618;84335044;1265420 + 1537;11028;490;618;83971863;1256674 + 1538;11039;490;619;83971863;1267713 + 1539;11040;490;619;83971863;1267713 + 1540;11052;490;619;83971863;1267713 + 1541;11063;490;620;83971863;1278776 + 1542;11064;490;620;83971863;1278776 + 1543;11076;490;620;83971863;1278776 + 1544;11084;490;621;83971863;1289860 + 1545;11088;490;621;83971863;1289860 + 1546;11100;490;621;83971863;1289860 + 1547;11106;490;622;83971863;1300966 + 1548;11112;490;622;83971863;1300966 + 1549;11120;490;623;83971863;1312086 + 1550;11124;490;623;83971863;1312086 + 1551;11135;490;624;83971863;1323221 + 1552;11136;490;624;83971863;1323221 + 1553;11148;490;624;83971863;1323221 + 1554;11155;499;625;84212066;1254882 + 1555;11160;499;625;84212066;1254882 + 1556;11172;499;625;84212066;1254882 + 1557;11176;499;626;84212066;1266058 + 1558;11184;499;626;84212066;1266058 + 1559;11194;506;627;82289076;1214430 + 1560;11196;506;627;82289076;1214430 + 1561;11208;506;627;82289076;1214430 + 1562;11211;506;628;82289076;1225641 + 1563;11220;506;628;82289076;1225641 + 1564;11232;506;628;82289076;1225641 + 1565;11232;506;629;82289076;1236873 + 1566;11244;506;629;82289076;1236873 + 1567;11255;506;630;82289076;1248128 + 1568;11256;506;630;82289076;1248128 + 1569;11268;506;630;82289076;1248128 + 1570;11276;506;631;82289076;1259404 + 1571;11280;506;631;82289076;1259404 + 1572;11292;506;631;82289076;1259404 + 1573;11293;506;632;82289076;1270697 + 1574;11304;506;632;82289076;1270697 + 1575;11316;506;632;82289076;1270697 + 1576;11317;506;633;82289076;1282014 + 1577;11328;506;633;82289076;1282014 + 1578;11340;506;633;82289076;1282014 + 1579;11340;506;634;82289076;1293354 + 1580;11352;506;634;82289076;1293354 + 1581;11353;506;635;82289076;1304707 + 1582;11364;506;635;82289076;1304707 + 1583;11373;506;636;82289076;1316080 + 1584;11376;506;636;82289076;1316080 + 1585;11387;506;637;82289076;1327467 + 1586;11388;506;637;82289076;1327467 + 1587;11400;506;637;82289076;1327467 + 1588;11404;506;638;82289076;1338871 + 1589;11412;506;638;82289076;1338871 + 1590;11422;506;639;82289076;1350293 + 1591;11424;506;639;82289076;1350293 + 1592;11436;506;639;82289076;1350293 + 1593;11444;506;640;82289076;1361737 + 1594;11448;506;640;82289076;1361737 + 1595;11460;506;640;82289076;1361737 + 1596;11464;506;641;82289076;1373201 + 1597;11472;506;641;82289076;1373201 + 1598;11484;506;641;82289076;1373201 + 1599;11485;506;642;82289076;1384686 + 1600;11496;506;642;82289076;1384686 + 1601;11501;506;643;82289076;1396187 + 1602;11508;506;643;82289076;1396187 + 1603;11520;506;643;82289076;1396187 + 1604;11521;508;644;84070994;1389591 + 1605;11532;508;644;84070994;1389591 + 1606;11533;508;645;84070994;1401124 + 1607;11544;508;645;84070994;1401124 + 1608;11549;508;646;84070994;1412673 + 1609;11556;508;646;84070994;1412673 + 1610;11561;518;647;82255869;1332554 + 1611;11568;518;647;82255869;1332554 + 1612;11580;520;647;80617481;1314022 + 1613;11582;520;648;80617481;1325604 + 1614;11592;520;648;80617481;1325604 + 1615;11595;520;649;80617481;1337199 + 1616;11604;520;649;80617481;1337199 + 1617;11614;520;650;80617481;1348813 + 1618;11616;520;650;80617481;1348813 + 1619;11628;520;650;80617481;1348813 + 1620;11631;520;651;80617481;1360444 + 1621;11640;520;651;80617481;1360444 + 1622;11650;520;652;80617481;1372094 + 1623;11652;520;652;80617481;1372094 + 1624;11664;520;652;80617481;1372094 + 1625;11667;520;653;80617481;1383761 + 1626;11676;520;653;80617481;1383761 + 1627;11679;520;654;80617481;1395440 + 1628;11688;520;654;80617481;1395440 + 1629;11698;520;655;80617481;1407138 + 1630;11700;520;655;80617481;1407138 + 1631;11712;520;655;80617481;1407138 + 1632;11716;520;656;80617481;1418854 + 1633;11724;520;656;80617481;1418854 + 1634;11736;520;656;80617481;1418854 + 1635;11736;520;657;80617481;1430590 + 1636;11748;520;657;80617481;1430590 + 1637;11759;526;658;81366844;1386334 + 1638;11760;526;658;81366844;1386334 + 1639;11772;526;658;81366844;1386334 + 1640;11780;526;659;81366844;1398114 + 1641;11784;526;659;81366844;1398114 + 1642;11796;526;659;81366844;1398114 + 1643;11804;526;660;81366844;1409918 + 1644;11808;526;660;81366844;1409918 + 1645;11820;526;660;81366844;1409918 + 1646;11823;526;661;81366844;1421741 + 1647;11832;526;661;81366844;1421741 + 1648;11840;526;662;81366844;1433581 + 1649;11844;526;662;81366844;1433581 + 1650;11856;526;662;81366844;1433581 + 1651;11857;528;663;82670642;1426619 + 1652;11868;528;663;82670642;1426619 + 1653;11880;528;663;82670642;1426619 + 1654;11880;535;664;84266991;1372039 + 1655;11892;535;664;84266991;1372039 + 1656;11892;535;665;84266991;1383931 + 1657;11904;535;665;84266991;1383931 + 1658;11908;535;666;84266991;1395839 + 1659;11916;535;666;84266991;1395839 + 1660;11928;535;666;84266991;1395839 + 1661;11931;535;667;84266991;1407770 + 1662;11940;535;667;84266991;1407770 + 1663;11952;535;667;84266991;1407770 + 1664;11955;535;668;84266991;1419725 + 1665;11964;535;668;84266991;1419725 + 1666;11976;541;668;82291631;1362128 + 1667;11977;541;669;82291631;1374105 + 1668;11988;541;669;82291631;1374105 + 1669;11998;541;670;82291631;1386103 + 1670;12000;541;670;82291631;1386103 + 1671;12012;541;670;82291631;1386103 + 1672;12019;541;671;82291631;1398122 + 1673;12024;541;671;82291631;1398122 + 1674;12036;541;671;82291631;1398122 + 1675;12039;541;672;82291631;1410161 + 1676;12048;541;672;82291631;1410161 + 1677;12053;546;673;80252866;1373765 + 1678;12060;546;673;80252866;1373765 + 1679;12072;546;673;80252866;1373765 + 1680;12077;546;674;80252866;1385842 + 1681;12084;546;674;80252866;1385842 + 1682;12091;546;675;80252866;1397933 + 1683;12096;546;675;80252866;1397933 + 1684;12108;546;675;80252866;1397933 + 1685;12115;551;676;79996630;1361083 + 1686;12120;551;676;79996630;1361083 + 1687;12132;551;676;79996630;1361083 + 1688;12139;551;677;79996630;1373222 + 1689;12144;551;677;79996630;1373222 + 1690;12154;551;678;79996630;1385376 + 1691;12156;551;678;79996630;1385376 + 1692;12168;551;678;79996630;1385376 + 1693;12176;551;679;79996630;1397552 + 1694;12180;551;679;79996630;1397552 + 1695;12192;551;679;79996630;1397552 + 1696;12196;551;680;79996630;1409748 + 1697;12204;551;680;79996630;1409748 + 1698;12214;551;681;79996630;1421962 + 1699;12216;551;681;79996630;1421962 + 1700;12228;551;681;79996630;1421962 + 1701;12232;551;682;79996630;1434194 + 1702;12240;551;682;79996630;1434194 + 1703;12246;551;683;79996630;1446440 + 1704;12252;551;683;79996630;1446440 + 1705;12262;551;684;79996630;1458702 + 1706;12264;551;684;79996630;1458702 + 1707;12274;551;685;79996630;1470976 + 1708;12276;551;685;79996630;1470976 + 1709;12286;551;686;79996630;1483262 + 1710;12288;551;686;79996630;1483262 + 1711;12300;551;686;79996630;1483262 + 1712;12303;551;687;79996630;1495565 + 1713;12312;551;687;79996630;1495565 + 1714;12320;551;688;79996630;1507885 + 1715;12324;551;688;79996630;1507885 + 1716;12333;562;689;82642412;1410787 + 1717;12336;562;689;82642412;1410787 + 1718;12348;562;689;82642412;1410787 + 1719;12349;562;690;82642412;1423136 + 1720;12360;562;690;82642412;1423136 + 1721;12372;562;690;82642412;1423136 + 1722;12372;562;691;82642412;1435508 + 1723;12384;562;691;82642412;1435508 + 1724;12388;562;692;82642412;1447896 + 1725;12396;562;692;82642412;1447896 + 1726;12404;562;693;82642412;1460300 + 1727;12408;562;693;82642412;1460300 + 1728;12420;562;693;82642412;1460300 + 1729;12428;563;694;83353643;1462662 + 1730;12432;563;694;83353643;1462662 + 1731;12440;563;695;83353643;1475102 + 1732;12444;563;695;83353643;1475102 + 1733;12456;563;695;83353643;1475102 + 1734;12461;563;696;83353643;1487563 + 1735;12468;563;696;83353643;1487563 + 1736;12473;563;697;83353643;1500036 + 1737;12480;563;697;83353643;1500036 + 1738;12489;563;698;83353643;1512525 + 1739;12492;563;698;83353643;1512525 + 1740;12503;563;699;83353643;1525028 + 1741;12504;563;699;83353643;1525028 + 1742;12516;563;699;83353643;1525028 + 1743;12518;563;700;83353643;1537546 + 1744;12528;563;700;83353643;1537546 + 1745;12536;570;701;84416255;1479124 + 1746;12540;570;701;84416255;1479124 + 1747;12552;570;701;84416255;1479124 + 1748;12554;570;702;84416255;1491678 + 1749;12564;570;702;84416255;1491678 + 1750;12576;570;702;84416255;1491678 + 1751;12578;570;703;84416255;1504256 + 1752;12588;570;703;84416255;1504256 + 1753;12600;570;703;84416255;1504256 + 1754;12600;570;704;84416255;1516856 + 1755;12612;570;704;84416255;1516856 + 1756;12620;570;705;84416255;1529476 + 1757;12624;570;705;84416255;1529476 + 1758;12635;570;706;84416255;1542111 + 1759;12636;570;706;84416255;1542111 + 1760;12648;570;706;84416255;1542111 + 1761;12655;576;707;84481804;1493263 + 1762;12660;576;707;84481804;1493263 + 1763;12671;576;708;84481804;1505934 + 1764;12672;576;708;84481804;1505934 + 1765;12684;576;708;84481804;1505934 + 1766;12695;579;709;85939515;1487639 + 1767;12696;579;709;85939515;1487639 + 1768;12708;579;709;85939515;1487639 + 1769;12709;579;710;85939515;1500348 + 1770;12720;579;710;85939515;1500348 + 1771;12727;579;711;85939515;1513075 + 1772;12732;579;711;85939515;1513075 + 1773;12744;579;711;85939515;1513075 + 1774;12746;579;712;85939515;1525821 + 1775;12756;579;712;85939515;1525821 + 1776;12758;579;713;85939515;1538579 + 1777;12768;579;713;85939515;1538579 + 1778;12773;586;714;84781357;1478383 + 1779;12780;586;714;84781357;1478383 + 1780;12792;586;714;84781357;1478383 + 1781;12797;586;715;84781357;1491180 + 1782;12804;586;715;84781357;1491180 + 1783;12816;586;715;84781357;1491180 + 1784;12820;586;716;84781357;1504000 + 1785;12828;586;716;84781357;1504000 + 1786;12833;586;717;84781357;1516833 + 1787;12840;586;717;84781357;1516833 + 1788;12852;586;717;84781357;1516833 + 1789;12857;586;718;84781357;1529690 + 1790;12864;586;718;84781357;1529690 + 1791;12871;586;719;84781357;1542561 + 1792;12876;586;719;84781357;1542561 + 1793;12886;586;720;84781357;1555447 + 1794;12888;586;720;84781357;1555447 + 1795;12900;586;720;84781357;1555447 + 1796;12910;589;721;85792885;1536787 + 1797;12912;589;721;85792885;1536787 + 1798;12924;589;721;85792885;1536787 + 1799;12930;589;722;85792885;1549717 + 1800;12936;589;722;85792885;1549717 + 1801;12948;589;722;85792885;1549717 + 1802;12954;589;723;85792885;1562671 + 1803;12960;589;723;85792885;1562671 + 1804;12972;589;723;85792885;1562671 + 1805;12975;589;724;85792885;1575646 + 1806;12984;589;724;85792885;1575646 + 1807;12994;592;725;87991512;1556910 + 1808;12996;592;725;87991512;1556910 + 1809;13006;592;726;87991512;1569916 + 1810;13008;592;726;87991512;1569916 + 1811;13020;592;726;87991512;1569916 + 1812;13027;592;727;87991512;1582943 + 1813;13032;592;727;87991512;1582943 + 1814;13039;592;728;87991512;1595982 + 1815;13044;592;728;87991512;1595982 + 1816;13056;592;728;87991512;1595982 + 1817;13063;598;729;89626580;1545096 + 1818;13068;598;729;89626580;1545096 + 1819;13080;598;729;89626580;1545096 + 1820;13084;598;730;89626580;1558180 + 1821;13092;598;730;89626580;1558180 + 1822;13100;598;731;89626580;1571280 + 1823;13104;598;731;89626580;1571280 + 1824;13115;598;732;89626580;1584395 + 1825;13116;598;732;89626580;1584395 + 1826;13127;598;733;89626580;1597522 + 1827;13128;598;733;89626580;1597522 + 1828;13140;598;733;89626580;1597522 + 1829;13147;598;734;89626580;1610669 + 1830;13152;598;734;89626580;1610669 + 1831;13164;598;734;89626580;1610669 + 1832;13171;601;735;90437219;1591636 + 1833;13176;601;735;90437219;1591636 + 1834;13188;615;735;87539170;1439293 + 1835;13194;615;736;87539170;1452487 + 1836;13200;615;736;87539170;1452487 + 1837;13212;615;736;87539170;1452487 + 1838;13218;615;737;87539170;1465705 + 1839;13224;615;737;87539170;1465705 + 1840;13236;615;737;87539170;1465705 + 1841;13236;615;738;87539170;1478941 + 1842;13248;615;738;87539170;1478941 + 1843;13252;616;739;88024302;1481197 + 1844;13260;616;739;88024302;1481197 + 1845;13272;616;739;88024302;1481197 + 1846;13275;618;740;88842513;1472418 + 1847;13284;618;740;88842513;1472418 + 1848;13291;618;741;88842513;1485709 + 1849;13296;618;741;88842513;1485709 + 1850;13307;618;742;88842513;1499016 + 1851;13308;618;742;88842513;1499016 + 1852;13320;618;742;88842513;1499016 + 1853;13324;618;743;88842513;1512340 + 1854;13332;618;743;88842513;1512340 + 1855;13342;618;744;88842513;1525682 + 1856;13344;618;744;88842513;1525682 + 1857;13356;618;744;88842513;1525682 + 1858;13360;618;745;88842513;1539042 + 1859;13368;618;745;88842513;1539042 + 1860;13380;618;745;88842513;1539042 + 1861;13382;618;746;88842513;1552424 + 1862;13392;618;746;88842513;1552424 + 1863;13404;618;746;88842513;1552424 + 1864;13405;618;747;88842513;1565829 + 1865;13416;618;747;88842513;1565829 + 1866;13419;618;748;88842513;1579248 + 1867;13428;618;748;88842513;1579248 + 1868;13440;618;748;88842513;1579248 + 1869;13440;618;749;88842513;1592688 + 1870;13452;618;749;88842513;1592688 + 1871;13452;618;750;88842513;1606140 + 1872;13464;624;750;88380309;1539477 + 1873;13468;624;751;88380309;1552945 + 1874;13476;624;751;88380309;1552945 + 1875;13487;624;752;88380309;1566432 + 1876;13488;624;752;88380309;1566432 + 1877;13500;624;752;88380309;1566432 + 1878;13500;624;753;88380309;1579932 + 1879;13512;624;753;88380309;1579932 + 1880;13518;624;754;88380309;1593450 + 1881;13524;624;754;88380309;1593450 + 1882;13535;626;755;88564351;1584615 + 1883;13536;626;755;88564351;1584615 + 1884;13548;626;755;88564351;1584615 + 1885;13552;626;756;88564351;1598167 + 1886;13560;626;756;88564351;1598167 + 1887;13566;626;757;88564351;1611733 + 1888;13572;626;757;88564351;1611733 + 1889;13584;626;757;88564351;1611733 + 1890;13589;626;758;88564351;1625322 + 1891;13596;626;758;88564351;1625322 + 1892;13606;626;759;88564351;1638928 + 1893;13608;626;759;88564351;1638928 + 1894;13620;626;759;88564351;1638928 + 1895;13620;626;760;88564351;1652548 + 1896;13632;626;760;88564351;1652548 + 1897;13636;631;761;88589103;1609917 + 1898;13644;631;761;88589103;1609917 + 1899;13652;631;762;88589103;1623569 + 1900;13656;631;762;88589103;1623569 + 1901;13668;631;762;88589103;1623569 + 1902;13669;631;763;88589103;1637238 + 1903;13680;631;763;88589103;1637238 + 1904;13692;631;763;88589103;1637238 + 1905;13692;631;764;88589103;1650930 + 1906;13704;631;764;88589103;1650930 + 1907;13714;631;765;88589103;1664644 + 1908;13716;631;765;88589103;1664644 + 1909;13727;631;766;88589103;1678371 + 1910;13728;631;766;88589103;1678371 + 1911;13740;631;766;88589103;1678371 + 1912;13740;631;767;88589103;1692111 + 1913;13752;631;767;88589103;1692111 + 1914;13755;631;768;88589103;1705866 + 1915;13764;631;768;88589103;1705866 + 1916;13775;631;769;88589103;1719641 + 1917;13776;631;769;88589103;1719641 + 1918;13788;631;769;88589103;1719641 + 1919;13788;640;770;91843574;1630925 + 1920;13800;640;770;91843574;1630925 + 1921;13805;640;771;91843574;1644730 + 1922;13812;640;771;91843574;1644730 + 1923;13824;640;771;91843574;1644730 + 1924;13828;640;772;91843574;1658558 + 1925;13836;640;772;91843574;1658558 + 1926;13840;646;773;89149224;1603248 + 1927;13848;646;773;89149224;1603248 + 1928;13859;646;774;89149224;1617107 + 1929;13860;646;774;89149224;1617107 + 1930;13872;646;774;89149224;1617107 + 1931;13881;646;775;89149224;1630988 + 1932;13884;646;775;89149224;1630988 + 1933;13896;646;775;89149224;1630988 + 1934;13905;646;776;89149224;1644893 + 1935;13908;647;776;89846686;1633311 + 1936;13920;647;776;89846686;1633311 + 1937;13929;647;777;89846686;1647240 + 1938;13932;647;777;89846686;1647240 + 1939;13943;647;778;89846686;1661183 + 1940;13944;647;778;89846686;1661183 + 1941;13956;647;778;89846686;1661183 + 1942;13959;647;779;89846686;1675142 + 1943;13968;647;779;89846686;1675142 + 1944;13980;647;779;89846686;1675142 + 1945;13980;647;780;89846686;1689122 + 1946;13992;647;780;89846686;1689122 + 1947;13998;647;781;89846686;1703120 + 1948;14004;647;781;89846686;1703120 + 1949;14013;652;782;91502022;1658976 + 1950;14016;652;782;91502022;1658976 + 1951;14028;652;782;91502022;1658976 + 1952;14030;652;783;91502022;1673006 + 1953;14040;659;783;90946882;1590834 + 1954;14052;659;783;90946882;1590834 + 1955;14053;659;784;90946882;1604887 + 1956;14064;659;784;90946882;1604887 + 1957;14065;659;785;90946882;1618952 + 1958;14076;659;785;90946882;1618952 + 1959;14088;659;785;90946882;1618952 + 1960;14089;659;786;90946882;1633041 + 1961;14100;659;786;90946882;1633041 + 1962;14106;659;787;90946882;1647147 + 1963;14112;659;787;90946882;1647147 + 1964;14119;659;788;90946882;1661266 + 1965;14124;659;788;90946882;1661266 + 1966;14136;659;788;90946882;1661266 + 1967;14137;659;789;90946882;1675403 + 1968;14148;659;789;90946882;1675403 + 1969;14155;659;790;90946882;1689558 + 1970;14160;659;790;90946882;1689558 + 1971;14172;659;790;90946882;1689558 + 1972;14178;659;791;90946882;1703736 + 1973;14184;659;791;90946882;1703736 + 1974;14195;659;792;90946882;1717931 + 1975;14196;659;792;90946882;1717931 + 1976;14208;659;792;90946882;1717931 + 1977;14215;659;793;90946882;1732146 + 1978;14220;659;793;90946882;1732146 + 1979;14232;665;793;90941235;1660946 + 1980;14237;665;794;90941235;1675183 + 1981;14244;665;794;90941235;1675183 + 1982;14251;665;795;90941235;1689434 + 1983;14256;665;795;90941235;1689434 + 1984;14267;666;796;91655563;1691770 + 1985;14268;666;796;91655563;1691770 + 1986;14280;666;796;91655563;1691770 + 1987;14281;666;797;91655563;1706051 + 1988;14292;666;797;91655563;1706051 + 1989;14293;666;798;91655563;1720344 + 1990;14304;666;798;91655563;1720344 + 1991;14316;666;798;91655563;1720344 + 1992;14316;667;799;92427142;1722705 + 1993;14328;667;799;92427142;1722705 + 1994;14340;667;799;92427142;1722705 + 1995;14340;667;800;92427142;1737045 + 1996;14352;667;800;92427142;1737045 + 1997;14354;667;801;92427142;1751399 + 1998;14364;667;801;92427142;1751399 + 1999;14374;667;802;92427142;1765773 + 2000;14376;667;802;92427142;1765773 + 2001;14388;667;802;92427142;1765773 + 2002;14391;667;803;92427142;1780164 + 2003;14400;667;803;92427142;1780164 + 2004;14412;667;803;92427142;1780164 + 2005;14414;667;804;92427142;1794578 + 2006;14424;667;804;92427142;1794578 + 2007;14428;667;805;92427142;1809006 + 2008;14436;667;805;92427142;1809006 + 2009;14448;667;805;92427142;1809006 + 2010;14451;669;806;94372905;1799482 + 2011;14460;669;806;94372905;1799482 + 2012;14463;669;807;94372905;1813945 + 2013;14472;669;807;94372905;1813945 + 2014;14479;669;808;94372905;1828424 + 2015;14484;669;808;94372905;1828424 + 2016;14495;676;809;91071211;1758386 + 2017;14496;676;809;91071211;1758386 + 2018;14508;676;809;91071211;1758386 + 2019;14514;676;810;91071211;1772900 + 2020;14520;676;810;91071211;1772900 + 2021;14532;676;810;91071211;1772900 + 2022;14536;676;811;91071211;1787436 + 2023;14544;676;811;91071211;1787436 + 2024;14552;676;812;91071211;1801988 + 2025;14556;676;812;91071211;1801988 + 2026;14568;676;812;91071211;1801988 + 2027;14568;676;813;91071211;1816556 + 2028;14580;676;813;91071211;1816556 + 2029;14587;676;814;91071211;1831143 + 2030;14592;676;814;91071211;1831143 + 2031;14604;682;814;90064537;1757925 + 2032;14608;682;815;90064537;1772533 + 2033;14616;682;815;90064537;1772533 + 2034;14623;682;816;90064537;1787156 + 2035;14628;682;816;90064537;1787156 + 2036;14640;682;816;90064537;1787156 + 2037;14645;682;817;90064537;1801801 + 2038;14652;682;817;90064537;1801801 + 2039;14664;682;817;90064537;1801801 + 2040;14664;682;818;90064537;1816465 + 2041;14676;682;818;90064537;1816465 + 2042;14684;682;819;90064537;1831149 + 2043;14688;682;819;90064537;1831149 + 2044;14700;682;819;90064537;1831149 + 2045;14706;682;820;90064537;1845855 + 2046;14712;682;820;90064537;1845855 + 2047;14722;689;821;90333386;1774450 + 2048;14724;689;821;90333386;1774450 + 2049;14736;689;821;90333386;1774450 + 2050;14736;689;822;90333386;1789186 + 2051;14748;689;822;90333386;1789186 + 2052;14753;689;823;90333386;1803939 + 2053;14760;689;823;90333386;1803939 + 2054;14766;689;824;90333386;1818705 + 2055;14772;689;824;90333386;1818705 + 2056;14781;699;825;87414235;1709010 + 2057;14784;699;825;87414235;1709010 + 2058;14796;699;825;87414235;1709010 + 2059;14796;699;826;87414235;1723806 + 2060;14808;699;826;87414235;1723806 + 2061;14813;699;827;87414235;1738619 + 2062;14820;699;827;87414235;1738619 + 2063;14825;699;828;87414235;1753444 + 2064;14832;699;828;87414235;1753444 + 2065;14842;699;829;87414235;1768286 + 2066;14844;699;829;87414235;1768286 + 2067;14856;699;829;87414235;1768286 + 2068;14863;699;830;87414235;1783149 + 2069;14868;699;830;87414235;1783149 + 2070;14880;699;830;87414235;1783149 + 2071;14880;699;831;87414235;1798029 + 2072;14892;699;831;87414235;1798029 + 2073;14901;699;832;87414235;1812930 + 2074;14904;699;832;87414235;1812930 + 2075;14916;699;832;87414235;1812930 + 2076;14922;699;833;87414235;1827852 + 2077;14928;699;833;87414235;1827852 + 2078;14940;699;833;87414235;1827852 + 2079;14945;699;834;87414235;1842797 + 2080;14952;699;834;87414235;1842797 + 2081;14959;710;835;85333298;1718776 + 2082;14964;710;835;85333298;1718776 + 2083;14976;710;835;85333298;1718776 + 2084;14978;710;836;85333298;1733754 + 2085;14988;710;836;85333298;1733754 + 2086;15000;710;836;85333298;1733754 + 2087;15002;710;837;85333298;1748756 + 2088;15012;710;837;85333298;1748756 + 2089;15014;710;838;85333298;1763770 + 2090;15024;710;838;85333298;1763770 + 2091;15027;710;839;85333298;1778797 + 2092;15036;710;839;85333298;1778797 + 2093;15048;710;839;85333298;1778797 + 2094;15051;710;840;85333298;1793848 + 2095;15060;710;840;85333298;1793848 + 2096;15063;710;841;85333298;1808911 + 2097;15072;710;841;85333298;1808911 + 2098;15076;710;842;85333298;1823987 + 2099;15084;710;842;85333298;1823987 + 2100;15091;710;843;85333298;1839078 + 2101;15096;710;843;85333298;1839078 + 2102;15108;710;843;85333298;1839078 + 2103;15111;710;844;85333298;1854189 + 2104;15120;710;844;85333298;1854189 + 2105;15129;710;845;85333298;1869318 + 2106;15132;710;845;85333298;1869318 + 2107;15144;710;845;85333298;1869318 + 2108;15150;710;846;85333298;1884468 + 2109;15156;710;846;85333298;1884468 + 2110;15168;710;846;85333298;1884468 + 2111;15173;710;847;85333298;1899641 + 2112;15180;710;847;85333298;1899641 + 2113;15192;710;847;85333298;1899641 + 2114;15192;710;848;85333298;1914833 + 2115;15204;715;848;86488254;1850939 + 2116;15209;715;849;86488254;1866148 + 2117;15216;715;849;86488254;1866148 + 2118;15224;715;850;86488254;1881372 + 2119;15228;715;850;86488254;1881372 + 2120;15237;715;851;86488254;1896609 + 2121;15240;715;851;86488254;1896609 + 2122;15249;715;852;86488254;1911858 + 2123;15252;715;852;86488254;1911858 + 2124;15264;715;852;86488254;1911858 + 2125;15273;720;853;85830185;1862774 + 2126;15276;720;853;85830185;1862774 + 2127;15288;720;853;85830185;1862774 + 2128;15289;726;854;86854227;1800177 + 2129;15300;726;854;86854227;1800177 + 2130;15312;726;854;86854227;1800177 + 2131;15312;728;855;86388954;1789387 + 2132;15324;728;855;86388954;1789387 + 2133;15336;728;855;86388954;1789387 + 2134;15336;728;856;86388954;1804723 + 2135;15348;728;856;86388954;1804723 + 2136;15348;728;857;86388954;1820071 + 2137;15360;728;857;86388954;1820071 + 2138;15364;728;858;86388954;1835435 + 2139;15372;728;858;86388954;1835435 + 2140;15384;728;858;86388954;1835435 + 2141;15385;728;859;86388954;1850820 + 2142;15396;728;859;86388954;1850820 + 2143;15406;728;860;86388954;1866226 + 2144;15408;728;860;86388954;1866226 + 2145;15420;728;860;86388954;1866226 + 2146;15421;728;861;86388954;1881647 + 2147;15432;728;861;86388954;1881647 + 2148;15442;728;862;86388954;1897089 + 2149;15444;728;862;86388954;1897089 + 2150;15456;728;862;86388954;1897089 + 2151;15457;728;863;86388954;1912546 + 2152;15468;728;863;86388954;1912546 + 2153;15472;731;864;87909591;1888719 + 2154;15480;731;864;87909591;1888719 + 2155;15486;731;865;87909591;1904205 + 2156;15492;731;865;87909591;1904205 + 2157;15501;731;866;87909591;1919706 + 2158;15504;731;866;87909591;1919706 + 2159;15516;731;866;87909591;1919706 + 2160;15525;731;867;87909591;1935231 + 2161;15528;731;867;87909591;1935231 + 2162;15540;731;867;87909591;1935231 + 2163;15542;731;868;87909591;1950773 + 2164;15552;731;868;87909591;1950773 + 2165;15554;731;869;87909591;1966327 + 2166;15564;731;869;87909591;1966327 + 2167;15567;731;870;87909591;1981894 + 2168;15576;731;870;87909591;1981894 + 2169;15586;735;871;87686062;1944841 + 2170;15588;735;871;87686062;1944841 + 2171;15599;735;872;87686062;1960440 + 2172;15600;735;872;87686062;1960440 + 2173;15612;735;872;87686062;1960440 + 2174;15617;735;873;87686062;1976057 + 2175;15624;735;873;87686062;1976057 + 2176;15636;735;873;87686062;1976057 + 2177;15641;745;874;91071211;1858711 + 2178;15648;747;874;91107978;1831887 + 2179;15660;747;874;91107978;1831887 + 2180;15660;747;875;91107978;1847547 + 2181;15672;747;875;91107978;1847547 + 2182;15680;747;876;91107978;1863227 + 2183;15684;747;876;91107978;1863227 + 2184;15696;747;876;91107978;1863227 + 2185;15702;747;877;91107978;1878929 + 2186;15708;747;877;91107978;1878929 + 2187;15716;747;878;91107978;1894645 + 2188;15720;747;878;91107978;1894645 + 2189;15732;747;878;91107978;1894645 + 2190;15740;747;879;91107978;1910385 + 2191;15744;747;879;91107978;1910385 + 2192;15756;747;879;91107978;1910385 + 2193;15760;747;880;91107978;1926145 + 2194;15768;747;880;91107978;1926145 + 2195;15774;747;881;91107978;1941919 + 2196;15780;747;881;91107978;1941919 + 2197;15792;747;881;91107978;1941919 + 2198;15795;747;882;91107978;1957714 + 2199;15804;747;882;91107978;1957714 + 2200;15812;753;883;92372634;1892661 + 2201;15816;753;883;92372634;1892661 + 2202;15827;753;884;92372634;1908488 + 2203;15828;753;884;92372634;1908488 + 2204;15840;753;884;92372634;1908488 + 2205;15844;753;885;92372634;1924332 + 2206;15852;753;885;92372634;1924332 + 2207;15859;753;886;92372634;1940191 + 2208;15864;753;886;92372634;1940191 + 2209;15876;753;886;92372634;1940191 + 2210;15883;755;887;92754867;1928987 + 2211;15888;755;887;92754867;1928987 + 2212;15900;755;887;92754867;1928987 + 2213;15902;755;888;92754867;1944889 + 2214;15912;755;888;92754867;1944889 + 2215;15924;755;888;92754867;1944889 + 2216;15924;755;889;92754867;1960813 + 2217;15936;755;889;92754867;1960813 + 2218;15945;755;890;92754867;1976758 + 2219;15948;755;890;92754867;1976758 + 2220;15957;755;891;92754867;1992715 + 2221;15960;755;891;92754867;1992715 + 2222;15971;762;892;92398449;1913348 + 2223;15972;762;892;92398449;1913348 + 2224;15984;762;892;92398449;1913348 + 2225;15990;762;893;92398449;1929338 + 2226;15996;762;893;92398449;1929338 + 2227;16008;762;893;92398449;1929338 + 2228;16008;762;894;92398449;1945346 + 2229;16020;762;894;92398449;1945346 + 2230;16027;762;895;92398449;1961373 + 2231;16032;762;895;92398449;1961373 + 2232;16044;762;895;92398449;1961373 + 2233;16045;762;896;92398449;1977418 + 2234;16056;762;896;92398449;1977418 + 2235;16062;762;897;92398449;1993480 + 2236;16068;762;897;92398449;1993480 + 2237;16080;762;897;92398449;1993480 + 2238;16081;762;898;92398449;2009561 + 2239;16092;762;898;92398449;2009561 + 2240;16104;762;898;92398449;2009561 + 2241;16104;762;899;92398449;2025665 + 2242;16116;762;899;92398449;2025665 + 2243;16123;762;900;92398449;2041788 + 2244;16128;762;900;92398449;2041788 + 2245;16139;765;901;92841303;2016794 + 2246;16140;765;901;92841303;2016794 + 2247;16152;765;901;92841303;2016794 + 2248;16156;772;902;94016108;1936419 + 2249;16164;772;902;94016108;1936419 + 2250;16174;772;903;94016108;1952593 + 2251;16176;772;903;94016108;1952593 + 2252;16188;772;903;94016108;1952593 + 2253;16197;772;904;94016108;1968790 + 2254;16200;772;904;94016108;1968790 + 2255;16212;772;904;94016108;1968790 + 2256;16221;772;905;94016108;1985011 + 2257;16224;772;905;94016108;1985011 + 2258;16235;772;906;94016108;2001246 + 2259;16236;772;906;94016108;2001246 + 2260;16248;772;906;94016108;2001246 + 2261;16250;772;907;94016108;2017496 + 2262;16260;772;907;94016108;2017496 + 2263;16264;772;908;94016108;2033760 + 2264;16272;772;908;94016108;2033760 + 2265;16279;772;909;94016108;2050039 + 2266;16284;772;909;94016108;2050039 + 2267;16293;772;910;94016108;2066332 + 2268;16296;772;910;94016108;2066332 + 2269;16308;772;910;94016108;2066332 + 2270;16317;775;911;96530314;2041004 + 2271;16320;775;911;96530314;2041004 + 2272;16332;775;911;96530314;2041004 + 2273;16337;775;912;96530314;2057341 + 2274;16344;775;912;96530314;2057341 + 2275;16356;775;912;96530314;2057341 + 2276;16357;775;913;96530314;2073698 + 2277;16368;775;913;96530314;2073698 + 2278;16373;775;914;96530314;2090071 + 2279;16380;775;914;96530314;2090071 + 2280;16392;775;914;96530314;2090071 + 2281;16395;775;915;96530314;2106466 + 2282;16404;775;915;96530314;2106466 + 2283;16416;785;915;95084662;1966407 + 2284;16418;788;916;95424773;1940463 + 2285;16428;788;916;95424773;1940463 + 2286;16440;788;916;95424773;1940463 + 2287;16440;788;917;95424773;1956903 + 2288;16452;788;917;95424773;1956903 + 2289;16455;788;918;95424773;1973358 + 2290;16464;788;918;95424773;1973358 + 2291;16473;788;919;95424773;1989831 + 2292;16476;788;919;95424773;1989831 + 2293;16488;788;919;95424773;1989831 + 2294;16497;788;920;95424773;2006328 + 2295;16500;788;920;95424773;2006328 + 2296;16512;788;920;95424773;2006328 + 2297;16516;788;921;95424773;2022844 + 2298;16524;788;921;95424773;2022844 + 2299;16536;788;921;95424773;2022844 + 2300;16539;788;922;95424773;2039383 + 2301;16548;788;922;95424773;2039383 + 2302;16558;788;923;95424773;2055941 + 2303;16560;788;923;95424773;2055941 + 2304;16572;788;923;95424773;2055941 + 2305;16573;788;924;95424773;2072514 + 2306;16584;788;924;95424773;2072514 + 2307;16589;788;925;95424773;2089103 + 2308;16596;788;925;95424773;2089103 + 2309;16608;788;925;95424773;2089103 + 2310;16608;788;926;95424773;2105711 + 2311;16620;788;926;95424773;2105711 + 2312;16631;793;927;96332708;2051362 + 2313;16632;793;927;96332708;2051362 + 2314;16644;793;927;96332708;2051362 + 2315;16646;793;928;96332708;2068008 + 2316;16656;793;928;96332708;2068008 + 2317;16658;798;929;95888085;2013258 + 2318;16668;798;929;95888085;2013258 + 2319;16680;798;929;95888085;2013258 + 2320;16682;798;930;95888085;2029940 + 2321;16692;798;930;95888085;2029940 + 2322;16695;798;931;95888085;2046635 + 2323;16704;798;931;95888085;2046635 + 2324;16716;798;931;95888085;2046635 + 2325;16717;798;932;95888085;2063352 + 2326;16728;798;932;95888085;2063352 + 2327;16740;798;932;95888085;2063352 + 2328;16741;798;933;95888085;2080093 + 2329;16752;798;933;95888085;2080093 + 2330;16762;803;934;97318754;2024982 + 2331;16764;803;934;97318754;2024982 + 2332;16776;805;934;97376181;1996103 + 2333;16776;805;935;97376181;2012879 + 2334;16788;805;935;97376181;2012879 + 2335;16790;805;936;97376181;2029669 + 2336;16800;805;936;97376181;2029669 + 2337;16812;805;936;97376181;2029669 + 2338;16814;805;937;97376181;2046483 + 2339;16824;805;937;97376181;2046483 + 2340;16829;805;938;97376181;2063312 + 2341;16836;805;938;97376181;2063312 + 2342;16843;810;939;96479377;2007668 + 2343;16848;810;939;96479377;2007668 + 2344;16860;810;939;96479377;2007668 + 2345;16867;810;940;96479377;2024535 + 2346;16872;810;940;96479377;2024535 + 2347;16883;810;941;96479377;2041418 + 2348;16884;810;941;96479377;2041418 + 2349;16896;810;941;96479377;2041418 + 2350;16897;810;942;96479377;2058315 + 2351;16908;810;942;96479377;2058315 + 2352;16911;810;943;96479377;2075226 + 2353;16920;810;943;96479377;2075226 + 2354;16930;810;944;96479377;2092156 + 2355;16932;810;944;96479377;2092156 + 2356;16944;810;944;96479377;2092156 + 2357;16952;810;945;96479377;2109108 + 2358;16956;810;945;96479377;2109108 + 2359;16967;810;946;96479377;2126075 + 2360;16968;810;946;96479377;2126075 + 2361;16979;818;947;97264381;2026123 + 2362;16980;818;947;97264381;2026123 + 2363;16991;818;948;97264381;2043114 + 2364;16992;818;948;97264381;2043114 + 2365;17004;818;948;97264381;2043114 + 2366;17004;818;949;97264381;2060118 + 2367;17016;818;949;97264381;2060118 + 2368;17021;818;950;97264381;2077139 + 2369;17028;818;950;97264381;2077139 + 2370;17040;818;950;97264381;2077139 + 2371;17045;818;951;97264381;2094184 + 2372;17052;818;951;97264381;2094184 + 2373;17064;818;951;97264381;2094184 + 2374;17064;818;952;97264381;2111248 + 2375;17076;818;952;97264381;2111248 + 2376;17079;818;953;97264381;2128327 + 2377;17088;818;953;97264381;2128327 + 2378;17100;818;953;97264381;2128327 + 2379;17100;819;954;98189820;2130721 + 2380;17112;825;954;99117910;2042167 + 2381;17119;825;955;99117910;2059286 + 2382;17124;825;955;99117910;2059286 + 2383;17136;825;955;99117910;2059286 + 2384;17143;825;956;99117910;2076429 + 2385;17148;825;956;99117910;2076429 + 2386;17160;825;956;99117910;2076429 + 2387;17167;825;957;99117910;2093596 + 2388;17172;825;957;99117910;2093596 + 2389;17184;825;957;99117910;2093596 + 2390;17188;825;958;99117910;2110784 + 2391;17196;825;958;99117910;2110784 + 2392;17208;825;958;99117910;2110784 + 2393;17208;825;959;99117910;2127992 + 2394;17220;825;959;99117910;2127992 + 2395;17227;825;960;99117910;2145219 + 2396;17232;825;960;99117910;2145219 + 2397;17244;825;960;99117910;2145219 + 2398;17245;837;961;96189250;1983520 + 2399;17256;837;961;96189250;1983520 + 2400;17265;837;962;96189250;2000785 + 2401;17268;837;962;96189250;2000785 + 2402;17280;839;962;96998994;1970707 + 2403;17280;839;963;96998994;1987987 + 2404;17292;839;963;96998994;1987987 + 2405;17299;839;964;96998994;2005286 + 2406;17304;839;964;96998994;2005286 + 2407;17315;839;965;96998994;2022601 + 2408;17316;839;965;96998994;2022601 + 2409;17328;839;965;96998994;2022601 + 2410;17339;839;966;96998994;2039940 + 2411;17340;839;966;96998994;2039940 + 2412;17352;839;966;96998994;2039940 + 2413;17360;839;967;96998994;2057300 + 2414;17364;839;967;96998994;2057300 + 2415;17375;839;968;96998994;2074675 + 2416;17376;839;968;96998994;2074675 + 2417;17388;839;968;96998994;2074675 + 2418;17394;839;969;96998994;2092069 + 2419;17400;839;969;96998994;2092069 + 2420;17412;839;969;96998994;2092069 + 2421;17416;839;970;96998994;2109485 + 2422;17424;839;970;96998994;2109485 + 2423;17435;839;971;96998994;2126920 + 2424;17436;839;971;96998994;2126920 + 2425;17448;839;971;96998994;2126920 + 2426;17457;839;972;96998994;2144377 + 2427;17460;839;972;96998994;2144377 + 2428;17470;839;973;96998994;2161847 + 2429;17472;839;973;96998994;2161847 + 2430;17484;839;973;96998994;2161847 + 2431;17493;848;974;97379205;2043146 + 2432;17496;848;974;97379205;2043146 + 2433;17508;848;974;97379205;2043146 + 2434;17517;848;975;97379205;2060663 + 2435;17520;848;975;97379205;2060663 + 2436;17532;848;975;97379205;2060663 + 2437;17536;849;976;98055773;2062975 + 2438;17544;849;976;98055773;2062975 + 2439;17554;849;977;98055773;2080529 + 2440;17556;849;977;98055773;2080529 + 2441;17568;849;977;98055773;2080529 + 2442;17577;849;978;98055773;2098106 + 2443;17580;849;978;98055773;2098106 + 2444;17592;849;978;98055773;2098106 + 2445;17594;849;979;98055773;2115700 + 2446;17604;849;979;98055773;2115700 + 2447;17609;849;980;98055773;2133309 + 2448;17616;849;980;98055773;2133309 + 2449;17624;851;981;98415677;2120447 + 2450;17628;851;981;98415677;2120447 + 2451;17640;851;981;98415677;2120447 + 2452;17644;856;982;96941790;2061533 + 2453;17652;856;982;96941790;2061533 + 2454;17659;856;983;96941790;2079192 + 2455;17664;856;983;96941790;2079192 + 2456;17676;856;983;96941790;2079192 + 2457;17678;856;984;96941790;2096870 + 2458;17688;856;984;96941790;2096870 + 2459;17698;856;985;96941790;2114568 + 2460;17700;856;985;96941790;2114568 + 2461;17712;856;985;96941790;2114568 + 2462;17715;856;986;96941790;2132283 + 2463;17724;856;986;96941790;2132283 + 2464;17735;856;987;96941790;2150018 + 2465;17736;856;987;96941790;2150018 + 2466;17748;856;987;96941790;2150018 + 2467;17752;856;988;96941790;2167770 + 2468;17760;856;988;96941790;2167770 + 2469;17768;856;989;96941790;2185538 + 2470;17772;856;989;96941790;2185538 + 2471;17784;856;989;96941790;2185538 + 2472;17790;863;990;95709622;2095381 + 2473;17796;863;990;95709622;2095381 + 2474;17806;863;991;95709622;2113187 + 2475;17808;863;991;95709622;2113187 + 2476;17820;863;991;95709622;2113187 + 2477;17820;863;992;95709622;2131007 + 2478;17832;863;992;95709622;2131007 + 2479;17844;863;992;95709622;2131007 + 2480;17844;863;993;95709622;2148851 + 2481;17856;863;993;95709622;2148851 + 2482;17866;863;994;95709622;2166717 + 2483;17868;863;994;95709622;2166717 + 2484;17880;863;994;95709622;2166717 + 2485;17889;866;995;94969596;2138094 + 2486;17892;866;995;94969596;2138094 + 2487;17904;866;995;94969596;2138094 + 2488;17908;866;996;94969596;2156002 + 2489;17916;866;996;94969596;2156002 + 2490;17927;866;997;94969596;2173929 + 2491;17928;866;997;94969596;2173929 + 2492;17940;866;997;94969596;2173929 + 2493;17944;866;998;94969596;2191873 + 2494;17952;866;998;94969596;2191873 + 2495;17963;866;999;94969596;2209836 + 2496;17964;866;999;94969596;2209836 + 2497;17976;873;999;95685853;2100730 + 2498;17982;873;1000;95685853;2118712 + 2499;17988;873;1000;95685853;2118712 + 2500;18000;873;1000;95685853;2118712 + 2501;18004;873;1001;95685853;2136716 + 2502;18012;873;1001;95685853;2136716 + 2503;18022;873;1002;95685853;2154738 + 2504;18024;873;1002;95685853;2154738 + 2505;18036;873;1002;95685853;2154738 + 2506;18039;873;1003;95685853;2172777 + 2507;18048;873;1003;95685853;2172777 + 2508;18060;873;1003;95685853;2172777 + 2509;18063;873;1004;95685853;2190840 + 2510;18072;873;1004;95685853;2190840 + 2511;18080;873;1005;95685853;2208920 + 2512;18084;873;1005;95685853;2208920 + 2513;18096;873;1005;95685853;2208920 + 2514;18100;882;1006;97979691;2085381 + 2515;18108;882;1006;97979691;2085381 + 2516;18116;882;1007;97979691;2103497 + 2517;18120;882;1007;97979691;2103497 + 2518;18132;882;1007;97979691;2103497 + 2519;18132;882;1008;97979691;2121629 + 2520;18144;882;1008;97979691;2121629 + 2521;18148;886;1009;97678986;2076364 + 2522;18156;886;1009;97678986;2076364 + 2523;18166;886;1010;97678986;2094530 + 2524;18168;886;1010;97678986;2094530 + 2525;18178;886;1011;97678986;2112708 + 2526;18180;886;1011;97678986;2112708 + 2527;18192;886;1011;97678986;2112708 + 2528;18198;889;1012;96992971;2083135 + 2529;18204;889;1012;96992971;2083135 + 2530;18216;889;1012;96992971;2083135 + 2531;18220;889;1013;96992971;2101355 + 2532;18228;889;1013;96992971;2101355 + 2533;18234;889;1014;96992971;2119589 + 2534;18240;889;1014;96992971;2119589 + 2535;18252;889;1014;96992971;2119589 + 2536;18255;889;1015;96992971;2137844 + 2537;18264;889;1015;96992971;2137844 + 2538;18272;889;1016;96992971;2156116 + 2539;18276;889;1016;96992971;2156116 + 2540;18288;889;1016;96992971;2156116 + 2541;18290;889;1017;96992971;2174406 + 2542;18300;889;1017;96992971;2174406 + 2543;18303;889;1018;96992971;2192709 + 2544;18312;889;1018;96992971;2192709 + 2545;18324;889;1018;96992971;2192709 + 2546;18327;889;1019;96992971;2211036 + 2547;18336;889;1019;96992971;2211036 + 2548;18343;889;1020;96992971;2229379 + 2549;18348;889;1020;96992971;2229379 + 2550;18359;889;1021;96992971;2247738 + 2551;18360;889;1021;96992971;2247738 + 2552;18372;889;1021;96992971;2247738 + 2553;18377;889;1022;96992971;2266115 + 2554;18384;889;1022;96992971;2266115 + 2555;18389;889;1023;96992971;2284504 + 2556;18396;889;1023;96992971;2284504 + 2557;18408;889;1023;96992971;2284504 + 2558;18409;889;1024;96992971;2302913 + 2559;18420;897;1024;97482056;2174772 + 2560;18423;897;1025;97482056;2193195 + 2561;18432;897;1025;97482056;2193195 + 2562;18436;897;1026;97482056;2211631 + 2563;18444;897;1026;97482056;2211631 + 2564;18451;897;1027;97482056;2230082 + 2565;18456;897;1027;97482056;2230082 + 2566;18468;897;1027;97482056;2230082 + 2567;18474;897;1028;97482056;2248556 + 2568;18480;897;1028;97482056;2248556 + 2569;18492;903;1028;96701299;2151663 + 2570;18498;905;1029;96201196;2137705 + 2571;18504;905;1029;96201196;2137705 + 2572;18516;905;1029;96201196;2137705 + 2573;18519;905;1030;96201196;2156224 + 2574;18528;905;1030;96201196;2156224 + 2575;18540;907;1030;96956840;2123710 + 2576;18541;907;1031;96956840;2142251 + 2577;18552;907;1031;96956840;2142251 + 2578;18561;907;1032;96956840;2160812 + 2579;18564;907;1032;96956840;2160812 + 2580;18575;907;1033;96956840;2179387 + 2581;18576;907;1033;96956840;2179387 + 2582;18588;907;1033;96956840;2179387 + 2583;18594;907;1034;96956840;2197981 + 2584;18600;907;1034;96956840;2197981 + 2585;18608;907;1035;96956840;2216589 + 2586;18612;907;1035;96956840;2216589 + 2587;18624;907;1035;96956840;2216589 + 2588;18625;907;1036;96956840;2235214 + 2589;18636;907;1036;96956840;2235214 + 2590;18642;907;1037;96956840;2253856 + 2591;18648;907;1037;96956840;2253856 + 2592;18660;907;1037;96956840;2253856 + 2593;18660;907;1038;96956840;2272516 + 2594;18672;907;1038;96956840;2272516 + 2595;18676;907;1039;96956840;2291192 + 2596;18684;907;1039;96956840;2291192 + 2597;18690;907;1040;96956840;2309882 + 2598;18696;907;1040;96956840;2309882 + 2599;18706;907;1041;96956840;2328588 + 2600;18708;907;1041;96956840;2328588 + 2601;18720;907;1041;96956840;2328588 + 2602;18722;907;1042;96956840;2347310 + 2603;18732;907;1042;96956840;2347310 + 2604;18739;913;1043;96686289;2268093 + 2605;18744;913;1043;96686289;2268093 + 2606;18754;913;1044;96686289;2286847 + 2607;18756;913;1044;96686289;2286847 + 2608;18768;913;1044;96686289;2286847 + 2609;18776;913;1045;96686289;2305623 + 2610;18780;913;1045;96686289;2305623 + 2611;18791;913;1046;96686289;2324414 + 2612;18792;913;1046;96686289;2324414 + 2613;18804;913;1046;96686289;2324414 + 2614;18806;913;1047;96686289;2343220 + 2615;18816;913;1047;96686289;2343220 + 2616;18823;913;1048;96686289;2362043 + 2617;18828;913;1048;96686289;2362043 + 2618;18840;917;1048;97921908;2296335 + 2619;18844;917;1049;97921908;2315179 + 2620;18852;917;1049;97921908;2315179 + 2621;18859;917;1050;97921908;2334038 + 2622;18864;917;1050;97921908;2334038 + 2623;18873;917;1051;97921908;2352911 + 2624;18876;917;1051;97921908;2352911 + 2625;18888;917;1051;97921908;2352911 + 2626;18896;923;1052;97700218;2272651 + 2627;18900;923;1052;97700218;2272651 + 2628;18912;923;1052;97700218;2272651 + 2629;18915;923;1053;97700218;2291566 + 2630;18924;923;1053;97700218;2291566 + 2631;18932;923;1054;97700218;2310498 + 2632;18936;923;1054;97700218;2310498 + 2633;18948;923;1054;97700218;2310498 + 2634;18952;923;1055;97700218;2329450 + 2635;18960;923;1055;97700218;2329450 + 2636;18972;923;1055;97700218;2329450 + 2637;18972;923;1056;97700218;2348422 + 2638;18984;923;1056;97700218;2348422 + 2639;18991;928;1057;97370135;2284281 + 2640;18996;928;1057;97370135;2284281 + 2641;19006;928;1058;97370135;2303287 + 2642;19008;928;1058;97370135;2303287 + 2643;19020;928;1058;97370135;2303287 + 2644;19027;928;1059;97370135;2322314 + 2645;19032;928;1059;97370135;2322314 + 2646;19044;928;1059;97370135;2322314 + 2647;19051;931;1060;98247761;2291271 + 2648;19056;931;1060;98247761;2291271 + 2649;19068;931;1060;98247761;2291271 + 2650;19069;934;1061;97143661;2260061 + 2651;19080;934;1061;97143661;2260061 + 2652;19087;934;1062;97143661;2279148 + 2653;19092;934;1062;97143661;2279148 + 2654;19104;939;1062;96144462;2195005 + 2655;19107;939;1063;96144462;2214112 + 2656;19116;939;1063;96144462;2214112 + 2657;19128;939;1063;96144462;2214112 + 2658;19128;939;1064;96144462;2233240 + 2659;19140;939;1064;96144462;2233240 + 2660;19152;943;1064;95061047;2165619 + 2661;19152;943;1065;95061047;2184771 + 2662;19164;943;1065;95061047;2184771 + 2663;19174;943;1066;95061047;2203945 + 2664;19176;943;1066;95061047;2203945 + 2665;19187;943;1067;95061047;2223132 + 2666;19188;943;1067;95061047;2223132 + 2667;19200;943;1067;95061047;2223132 + 2668;19207;943;1068;95061047;2242339 + 2669;19212;943;1068;95061047;2242339 + 2670;19219;943;1069;95061047;2261558 + 2671;19224;943;1069;95061047;2261558 + 2672;19236;943;1069;95061047;2261558 + 2673;19240;943;1070;95061047;2280798 + 2674;19248;943;1070;95061047;2280798 + 2675;19260;943;1070;95061047;2280798 + 2676;19261;943;1071;95061047;2300059 + 2677;19272;943;1071;95061047;2300059 + 2678;19274;943;1072;95061047;2319333 + 2679;19284;943;1072;95061047;2319333 + 2680;19286;943;1073;95061047;2338619 + 2681;19296;943;1073;95061047;2338619 + 2682;19300;943;1074;95061047;2357919 + 2683;19308;943;1074;95061047;2357919 + 2684;19320;943;1074;95061047;2357919 + 2685;19320;953;1075;91852129;2207037 + 2686;19332;954;1075;91153249;2189918 + 2687;19334;954;1076;91153249;2209252 + 2688;19344;954;1076;91153249;2209252 + 2689;19349;954;1077;91153249;2228601 + 2690;19356;954;1077;91153249;2228601 + 2691;19368;954;1077;91153249;2228601 + 2692;19370;954;1078;91153249;2247971 + 2693;19380;954;1078;91153249;2247971 + 2694;19392;954;1078;91153249;2247971 + 2695;19394;954;1079;91153249;2267365 + 2696;19404;954;1079;91153249;2267365 + 2697;19411;954;1080;91153249;2286776 + 2698;19416;954;1080;91153249;2286776 + 2699;19428;954;1080;91153249;2286776 + 2700;19435;954;1081;91153249;2306211 + 2701;19440;954;1081;91153249;2306211 + 2702;19452;954;1081;91153249;2306211 + 2703;19454;954;1082;91153249;2325665 + 2704;19464;954;1082;91153249;2325665 + 2705;19471;954;1083;91153249;2345136 + 2706;19476;954;1083;91153249;2345136 + 2707;19488;954;1083;91153249;2345136 + 2708;19493;954;1084;91153249;2364629 + 2709;19500;954;1084;91153249;2364629 + 2710;19509;954;1085;91153249;2384138 + 2711;19512;954;1085;91153249;2384138 + 2712;19524;954;1085;91153249;2384138 + 2713;19529;954;1086;91153249;2403667 + 2714;19536;954;1086;91153249;2403667 + 2715;19544;954;1087;91153249;2423211 + 2716;19548;954;1087;91153249;2423211 + 2717;19560;954;1087;91153249;2423211 + 2718;19560;954;1088;91153249;2442771 + 2719;19572;954;1088;91153249;2442771 + 2720;19575;956;1089;91889211;2428036 + 2721;19584;956;1089;91889211;2428036 + 2722;19595;958;1090;92717436;2413235 + 2723;19596;958;1090;92717436;2413235 + 2724;19608;958;1090;92717436;2413235 + 2725;19619;958;1091;92717436;2432854 + 2726;19620;958;1091;92717436;2432854 + 2727;19632;958;1091;92717436;2432854 + 2728;19633;961;1092;92631115;2400750 + 2729;19644;961;1092;92631115;2400750 + 2730;19645;961;1093;92631115;2420395 + 2731;19656;961;1093;92631115;2420395 + 2732;19665;965;1094;92421403;2370827 + 2733;19668;965;1094;92421403;2370827 + 2734;19680;965;1094;92421403;2370827 + 2735;19688;965;1095;92421403;2390515 + 2736;19692;965;1095;92421403;2390515 + 2737;19703;965;1096;92421403;2410218 + 2738;19704;965;1096;92421403;2410218 + 2739;19716;965;1096;92421403;2410218 + 2740;19718;965;1097;92421403;2429936 + 2741;19728;965;1097;92421403;2429936 + 2742;19740;965;1097;92421403;2429936 + 2743;19741;965;1098;92421403;2449677 + 2744;19752;965;1098;92421403;2449677 + 2745;19764;965;1098;92421403;2449677 + 2746;19764;965;1099;92421403;2469441 + 2747;19776;965;1099;92421403;2469441 + 2748;19788;965;1099;92421403;2469441 + 2749;19788;965;1100;92421403;2489229 + 2750;19800;973;1100;91567387;2349829 + 2751;19811;973;1101;91567387;2369640 + 2752;19812;973;1101;91567387;2369640 + 2753;19824;973;1101;91567387;2369640 + 2754;19832;973;1102;91567387;2389472 + 2755;19836;973;1102;91567387;2389472 + 2756;19848;973;1102;91567387;2389472 + 2757;19853;973;1103;91567387;2409325 + 2758;19860;975;1103;91658409;2374272 + 2759;19872;975;1103;91658409;2374272 + 2760;19872;975;1104;91658409;2394144 + 2761;19884;975;1104;91658409;2394144 + 2762;19889;975;1105;91658409;2414033 + 2763;19896;975;1105;91658409;2414033 + 2764;19901;975;1106;91658409;2433934 + 2765;19908;975;1106;91658409;2433934 + 2766;19915;975;1107;91658409;2453849 + 2767;19920;975;1107;91658409;2453849 + 2768;19932;975;1107;91658409;2453849 + 2769;19933;975;1108;91658409;2473782 + 2770;19944;975;1108;91658409;2473782 + 2771;19953;977;1109;92887436;2458604 + 2772;19956;977;1109;92887436;2458604 + 2773;19965;977;1110;92887436;2478569 + 2774;19968;977;1110;92887436;2478569 + 2775;19977;977;1111;92887436;2498546 + 2776;19980;977;1111;92887436;2498546 + 2777;19992;977;1111;92887436;2498546 + 2778;19999;977;1112;92887436;2518545 + 2779;20004;977;1112;92887436;2518545 + 2780;20013;986;1113;93028858;2379602 + 2781;20016;986;1113;93028858;2379602 + 2782;20028;986;1113;93028858;2379602 + 2783;20028;986;1114;93028858;2399630 + 2784;20040;986;1114;93028858;2399630 + 2785;20041;986;1115;93028858;2419671 + 2786;20052;986;1115;93028858;2419671 + 2787;20064;986;1115;93028858;2419671 + 2788;20064;986;1116;93028858;2439735 + 2789;20076;986;1116;93028858;2439735 + 2790;20083;986;1117;93028858;2459818 + 2791;20088;986;1117;93028858;2459818 + 2792;20096;986;1118;93028858;2479914 + 2793;20100;986;1118;93028858;2479914 + 2794;20112;986;1118;93028858;2479914 + 2795;20113;986;1119;93028858;2500027 + 2796;20124;986;1119;93028858;2500027 + 2797;20131;986;1120;93028858;2520158 + 2798;20136;986;1120;93028858;2520158 + 2799;20148;986;1120;93028858;2520158 + 2800;20150;986;1121;93028858;2540308 + 2801;20160;986;1121;93028858;2540308 + 2802;20164;992;1122;94766358;2453692 + 2803;20172;992;1122;94766358;2453692 + 2804;20184;992;1122;94766358;2453692 + 2805;20187;992;1123;94766358;2473879 + 2806;20196;992;1123;94766358;2473879 + 2807;20200;992;1124;94766358;2494079 + 2808;20208;992;1124;94766358;2494079 + 2809;20220;992;1124;94766358;2494079 + 2810;20221;992;1125;94766358;2514300 + 2811;20232;992;1125;94766358;2514300 + 2812;20234;992;1126;94766358;2534534 + 2813;20244;992;1126;94766358;2534534 + 2814;20252;992;1127;94766358;2554786 + 2815;20256;992;1127;94766358;2554786 + 2816;20265;992;1128;94766358;2575051 + 2817;20268;992;1128;94766358;2575051 + 2818;20280;992;1128;94766358;2575051 + 2819;20287;992;1129;94766358;2595338 + 2820;20292;992;1129;94766358;2595338 + 2821;20301;992;1130;94766358;2615639 + 2822;20304;992;1130;94766358;2615639 + 2823;20316;992;1130;94766358;2615639 + 2824;20322;992;1131;94766358;2635961 + 2825;20328;992;1131;94766358;2635961 + 2826;20339;994;1132;96995983;2620545 + 2827;20340;994;1132;96995983;2620545 + 2828;20352;994;1132;96995983;2620545 + 2829;20353;994;1133;96995983;2640898 + 2830;20364;994;1133;96995983;2640898 + 2831;20373;994;1134;96995983;2661271 + 2832;20376;994;1134;96995983;2661271 + 2833;20388;994;1134;96995983;2661271 + 2834;20393;1004;1135;96329718;2501732 + 2835;20400;1004;1135;96329718;2501732 + 2836;20408;1007;1136;94937166;2467792 + 2837;20412;1007;1136;94937166;2467792 + 2838;20424;1007;1136;94937166;2467792 + 2839;20425;1007;1137;94937166;2488217 + 2840;20436;1007;1137;94937166;2488217 + 2841;20447;1007;1138;94937166;2508664 + 2842;20448;1007;1138;94937166;2508664 + 2843;20460;1007;1138;94937166;2508664 + 2844;20470;1007;1139;94937166;2529134 + 2845;20472;1007;1139;94937166;2529134 + 2846;20484;1007;1139;94937166;2529134 + 2847;20487;1007;1140;94937166;2549621 + 2848;20496;1007;1140;94937166;2549621 + 2849;20507;1007;1141;94937166;2570128 + 2850;20508;1007;1141;94937166;2570128 + 2851;20520;1007;1141;94937166;2570128 + 2852;20530;1007;1142;94937166;2590658 + 2853;20532;1007;1142;94937166;2590658 + 2854;20544;1007;1142;94937166;2590658 + 2855;20552;1007;1143;94937166;2611210 + 2856;20556;1007;1143;94937166;2611210 + 2857;20566;1007;1144;94937166;2631776 + 2858;20568;1007;1144;94937166;2631776 + 2859;20580;1015;1144;92815364;2486105 + 2860;20582;1015;1145;92815364;2506687 + 2861;20592;1015;1145;92815364;2506687 + 2862;20604;1015;1145;92815364;2506687 + 2863;20605;1015;1146;92815364;2527292 + 2864;20616;1015;1146;92815364;2527292 + 2865;20627;1016;1147;93541509;2529629 + 2866;20628;1016;1147;93541509;2529629 + 2867;20640;1016;1147;93541509;2529629 + 2868;20650;1016;1148;93541509;2550279 + 2869;20652;1016;1148;93541509;2550279 + 2870;20664;1016;1148;93541509;2550279 + 2871;20672;1016;1149;93541509;2570951 + 2872;20676;1016;1149;93541509;2570951 + 2873;20688;1016;1149;93541509;2570951 + 2874;20689;1016;1150;93541509;2591640 + 2875;20700;1016;1150;93541509;2591640 + 2876;20705;1016;1151;93541509;2612345 + 2877;20712;1016;1151;93541509;2612345 + 2878;20724;1016;1151;93541509;2612345 + 2879;20728;1018;1152;94355326;2596443 + 2880;20736;1018;1152;94355326;2596443 + 2881;20748;1018;1152;94355326;2596443 + 2882;20751;1018;1153;94355326;2617194 + 2883;20760;1018;1153;94355326;2617194 + 2884;20771;1018;1154;94355326;2637965 + 2885;20772;1018;1154;94355326;2637965 + 2886;20784;1018;1154;94355326;2637965 + 2887;20795;1018;1155;94355326;2658760 + 2888;20796;1018;1155;94355326;2658760 + 2889;20808;1020;1155;96084779;2622058 + 2890;20811;1020;1156;96084779;2642869 + 2891;20820;1020;1156;96084779;2642869 + 2892;20832;1026;1156;99426131;2532384 + 2893;20832;1026;1157;99426131;2553216 + 2894;20844;1026;1157;99426131;2553216 + 2895;20845;1031;1158;97909748;2481468 + 2896;20856;1031;1158;97909748;2481468 + 2897;20858;1031;1159;97909748;2502326 + 2898;20868;1031;1159;97909748;2502326 + 2899;20874;1031;1160;97909748;2523200 + 2900;20880;1031;1160;97909748;2523200 + 2901;20887;1031;1161;97909748;2544087 + 2902;20892;1031;1161;97909748;2544087 + 2903;20904;1031;1161;97909748;2544087 + 2904;20905;1031;1162;97909748;2564992 + 2905;20916;1031;1162;97909748;2564992 + 2906;20928;1034;1162;99145610;2509215 + 2907;20928;1034;1163;99145610;2530143 + 2908;20940;1034;1163;99145610;2530143 + 2909;20948;1034;1164;99145610;2551091 + 2910;20952;1034;1164;99145610;2551091 + 2911;20964;1034;1164;99145610;2551091 + 2912;20972;1034;1165;99145610;2572063 + 2913;20976;1034;1165;99145610;2572063 + 2914;20988;1034;1165;99145610;2572063 + 2915;20989;1034;1166;99145610;2593052 + 2916;21000;1034;1166;99145610;2593052 + 2917;21004;1034;1167;99145610;2614056 + 2918;21012;1034;1167;99145610;2614056 + 2919;21019;1034;1168;99145610;2635075 + 2920;21024;1034;1168;99145610;2635075 + 2921;21036;1034;1168;99145610;2635075 + 2922;21037;1034;1169;99145610;2656112 + 2923;21048;1034;1169;99145610;2656112 + 2924;21055;1034;1170;99145610;2677167 + 2925;21060;1034;1170;99145610;2677167 + 2926;21072;1034;1170;99145610;2677167 + 2927;21074;1035;1171;100306716;2679616 + 2928;21084;1037;1171;102357959;2642314 + 2929;21088;1037;1172;102357959;2663402 + 2930;21096;1037;1172;102357959;2663402 + 2931;21108;1037;1172;102357959;2663402 + 2932;21110;1037;1173;102357959;2684512 + 2933;21120;1037;1173;102357959;2684512 + 2934;21128;1046;1174;106633485;2536980 + 2935;21132;1046;1174;106633485;2536980 + 2936;21144;1046;1174;106633485;2536980 + 2937;21145;1046;1175;106633485;2558125 + 2938;21156;1046;1175;106633485;2558125 + 2939;21164;1046;1176;106633485;2579289 + 2940;21168;1046;1176;106633485;2579289 + 2941;21180;1046;1176;106633485;2579289 + 2942;21188;1046;1177;106633485;2600477 + 2943;21192;1046;1177;106633485;2600477 + 2944;21204;1046;1177;106633485;2600477 + 2945;21212;1046;1178;106633485;2621689 + 2946;21216;1046;1178;106633485;2621689 + 2947;21226;1046;1179;106633485;2642915 + 2948;21228;1046;1179;106633485;2642915 + 2949;21240;1046;1179;106633485;2642915 + 2950;21246;1051;1180;107344350;2569866 + 2951;21252;1051;1180;107344350;2569866 + 2952;21264;1051;1180;107344350;2569866 + 2953;21267;1051;1181;107344350;2591133 + 2954;21276;1051;1181;107344350;2591133 + 2955;21285;1051;1182;107344350;2612418 + 2956;21288;1051;1182;107344350;2612418 + 2957;21300;1051;1182;107344350;2612418 + 2958;21306;1051;1183;107344350;2633724 + 2959;21312;1051;1183;107344350;2633724 + 2960;21321;1056;1184;108153937;2560283 + 2961;21324;1056;1184;108153937;2560283 + 2962;21336;1056;1184;108153937;2560283 + 2963;21339;1056;1185;108153937;2581622 + 2964;21348;1056;1185;108153937;2581622 + 2965;21357;1056;1186;108153937;2602979 + 2966;21360;1056;1186;108153937;2602979 + 2967;21372;1056;1186;108153937;2602979 + 2968;21375;1056;1187;108153937;2624354 + 2969;21384;1056;1187;108153937;2624354 + 2970;21388;1056;1188;108153937;2645742 + 2971;21396;1056;1188;108153937;2645742 + 2972;21408;1056;1188;108153937;2645742 + 2973;21408;1056;1189;108153937;2667150 + 2974;21420;1056;1189;108153937;2667150 + 2975;21427;1056;1190;108153937;2688577 + 2976;21432;1056;1190;108153937;2688577 + 2977;21444;1056;1190;108153937;2688577 + 2978;21445;1056;1191;108153937;2710022 + 2979;21456;1056;1191;108153937;2710022 + 2980;21458;1056;1192;108153937;2731480 + 2981;21468;1056;1192;108153937;2731480 + 2982;21471;1056;1193;108153937;2752951 + 2983;21480;1056;1193;108153937;2752951 + 2984;21484;1060;1194;109328851;2698282 + 2985;21492;1060;1194;109328851;2698282 + 2986;21497;1060;1195;109328851;2719779 + 2987;21504;1060;1195;109328851;2719779 + 2988;21516;1060;1195;109328851;2719779 + 2989;21520;1060;1196;109328851;2741299 + 2990;21528;1060;1196;109328851;2741299 + 2991;21540;1060;1196;109328851;2741299 + 2992;21541;1060;1197;109328851;2762840 + 2993;21552;1060;1197;109328851;2762840 + 2994;21553;1060;1198;109328851;2784393 + 2995;21564;1066;1198;107137912;2669558 + 2996;21575;1066;1199;107137912;2691133 + 2997;21576;1066;1199;107137912;2691133 + 2998;21587;1066;1200;107137912;2712720 + 2999;21588;1066;1200;107137912;2712720 + 3000;21600;1066;1200;107137912;2712720 + 3001;21605;1066;1201;107137912;2734325 + 3002;21612;1066;1201;107137912;2734325 + 3003;21620;1066;1202;107137912;2755945 + 3004;21624;1066;1202;107137912;2755945 + 3005;21633;1066;1203;107137912;2777578 + 3006;21636;1066;1203;107137912;2777578 + 3007;21648;1066;1203;107137912;2777578 + 3008;21651;1066;1204;107137912;2799229 + 3009;21660;1066;1204;107137912;2799229 + 3010;21668;1066;1205;107137912;2820897 + 3011;21672;1066;1205;107137912;2820897 + 3012;21684;1066;1205;107137912;2820897 + 3013;21684;1074;1206;108513839;2688474 + 3014;21696;1074;1206;108513839;2688474 + 3015;21701;1074;1207;108513839;2710175 + 3016;21708;1074;1207;108513839;2710175 + 3017;21719;1074;1208;108513839;2731894 + 3018;21720;1074;1208;108513839;2731894 + 3019;21732;1074;1208;108513839;2731894 + 3020;21737;1079;1209;110026935;2656773 + 3021;21744;1079;1209;110026935;2656773 + 3022;21756;1079;1209;110026935;2656773 + 3023;21759;1079;1210;110026935;2678532 + 3024;21768;1079;1210;110026935;2678532 + 3025;21777;1079;1211;110026935;2700309 + 3026;21780;1079;1211;110026935;2700309 + 3027;21789;1079;1212;110026935;2722098 + 3028;21792;1079;1212;110026935;2722098 + 3029;21801;1079;1213;110026935;2743899 + 3030;21804;1079;1213;110026935;2743899 + 3031;21816;1079;1213;110026935;2743899 + 3032;21824;1086;1214;112050592;2629288 + 3033;21828;1086;1214;112050592;2629288 + 3034;21840;1086;1214;112050592;2629288 + 3035;21848;1086;1215;112050592;2651136 + 3036;21852;1086;1215;112050592;2651136 + 3037;21864;1094;1215;108648689;2494156 + 3038;21868;1094;1216;108648689;2516024 + 3039;21876;1094;1216;108648689;2516024 + 3040;21888;1094;1216;108648689;2516024 + 3041;21888;1094;1217;108648689;2537912 + 3042;21900;1094;1217;108648689;2537912 + 3043;21907;1094;1218;108648689;2559819 + 3044;21912;1094;1218;108648689;2559819 + 3045;21924;1094;1218;108648689;2559819 + 3046;21927;1094;1219;108648689;2581746 + 3047;21936;1094;1219;108648689;2581746 + 3048;21942;1097;1220;107818659;2544526 + 3049;21948;1097;1220;107818659;2544526 + 3050;21960;1097;1220;107818659;2544526 + 3051;21964;1097;1221;107818659;2566490 + 3052;21972;1097;1221;107818659;2566490 + 3053;21984;1097;1221;107818659;2566490 + 3054;21985;1097;1222;107818659;2588475 + 3055;21996;1097;1222;107818659;2588475 + 3056;22004;1097;1223;107818659;2610479 + 3057;22008;1097;1223;107818659;2610479 + 3058;22017;1097;1224;107818659;2632496 + 3059;22020;1097;1224;107818659;2632496 + 3060;22032;1097;1224;107818659;2632496 + 3061;22040;1097;1225;107818659;2654536 + 3062;22044;1097;1225;107818659;2654536 + 3063;22056;1097;1225;107818659;2654536 + 3064;22060;1097;1226;107818659;2676596 + 3065;22068;1097;1226;107818659;2676596 + 3066;22074;1097;1227;107818659;2698670 + 3067;22080;1097;1227;107818659;2698670 + 3068;22089;1098;1228;108641942;2700995 + 3069;22092;1098;1228;108641942;2700995 + 3070;22101;1098;1229;108641942;2723096 + 3071;22104;1098;1229;108641942;2723096 + 3072;22116;1098;1229;108641942;2723096 + 3073;22120;1098;1230;108641942;2745216 + 3074;22128;1098;1230;108641942;2745216 + 3075;22140;1098;1230;108641942;2745216 + 3076;22142;1098;1231;108641942;2767358 + 3077;22152;1098;1231;108641942;2767358 + 3078;22155;1098;1232;108641942;2789513 + 3079;22164;1098;1232;108641942;2789513 + 3080;22176;1098;1232;108641942;2789513 + 3081;22178;1098;1233;108641942;2811691 + 3082;22188;1098;1233;108641942;2811691 + 3083;22195;1098;1234;108641942;2833886 + 3084;22200;1098;1234;108641942;2833886 + 3085;22212;1098;1234;108641942;2833886 + 3086;22214;1107;1235;108016347;2677306 + 3087;22224;1107;1235;108016347;2677306 + 3088;22230;1107;1236;108016347;2699536 + 3089;22236;1107;1236;108016347;2699536 + 3090;22244;1107;1237;108016347;2721780 + 3091;22248;1107;1237;108016347;2721780 + 3092;22259;1107;1238;108016347;2744039 + 3093;22260;1107;1238;108016347;2744039 + 3094;22272;1107;1238;108016347;2744039 + 3095;22277;1107;1239;108016347;2766316 + 3096;22284;1107;1239;108016347;2766316 + 3097;22296;1107;1239;108016347;2766316 + 3098;22299;1107;1240;108016347;2788615 + 3099;22308;1107;1240;108016347;2788615 + 3100;22316;1107;1241;108016347;2810931 + 3101;22320;1107;1241;108016347;2810931 + 3102;22332;1107;1241;108016347;2810931 + 3103;22332;1107;1242;108016347;2833263 + 3104;22344;1107;1242;108016347;2833263 + 3105;22344;1107;1243;108016347;2855607 + 3106;22356;1107;1243;108016347;2855607 + 3107;22359;1107;1244;108016347;2877966 + 3108;22368;1107;1244;108016347;2877966 + 3109;22378;1109;1245;109519106;2860426 + 3110;22380;1109;1245;109519106;2860426 + 3111;22392;1109;1245;109519106;2860426 + 3112;22397;1109;1246;109519106;2882823 + 3113;22404;1109;1246;109519106;2882823 + 3114;22414;1109;1247;109519106;2905237 + 3115;22416;1109;1247;109519106;2905237 + 3116;22428;1109;1247;109519106;2905237 + 3117;22429;1119;1248;108345511;2727121 + 3118;22440;1121;1248;108026409;2686807 + 3119;22444;1121;1249;108026409;2709251 + 3120;22452;1121;1249;108026409;2709251 + 3121;22463;1121;1250;108026409;2731714 + 3122;22464;1121;1250;108026409;2731714 + 3123;22476;1121;1250;108026409;2731714 + 3124;22483;1121;1251;108026409;2754197 + 3125;22488;1121;1251;108026409;2754197 + 3126;22500;1121;1251;108026409;2754197 + 3127;22505;1121;1252;108026409;2776702 + 3128;22512;1121;1252;108026409;2776702 + 3129;22524;1121;1252;108026409;2776702 + 3130;22524;1121;1253;108026409;2799226 + 3131;22536;1121;1253;108026409;2799226 + 3132;22536;1121;1254;108026409;2821762 + 3133;22548;1121;1254;108026409;2821762 + 3134;22552;1121;1255;108026409;2844314 + 3135;22560;1121;1255;108026409;2844314 + 3136;22567;1121;1256;108026409;2866881 + 3137;22572;1121;1256;108026409;2866881 + 3138;22584;1121;1256;108026409;2866881 + 3139;22587;1121;1257;108026409;2889468 + 3140;22596;1121;1257;108026409;2889468 + 3141;22608;1121;1257;108026409;2889468 + 3142;22609;1121;1258;108026409;2912077 + 3143;22620;1121;1258;108026409;2912077 + 3144;22632;1121;1258;108026409;2912077 + 3145;22632;1121;1259;108026409;2934709 + 3146;22644;1121;1259;108026409;2934709 + 3147;22652;1121;1260;108026409;2957361 + 3148;22656;1121;1260;108026409;2957361 + 3149;22668;1131;1260;107084703;2754753 + 3150;22669;1133;1261;105572726;2736696 + 3151;22680;1133;1261;105572726;2736696 + 3152;22690;1137;1262;106355742;2677713 + 3153;22692;1137;1262;106355742;2677713 + 3154;22704;1137;1262;106355742;2677713 + 3155;22711;1137;1263;106355742;2700424 + 3156;22716;1137;1263;106355742;2700424 + 3157;22723;1137;1264;106355742;2723147 + 3158;22728;1137;1264;106355742;2723147 + 3159;22740;1137;1264;106355742;2723147 + 3160;22742;1137;1265;106355742;2745889 + 3161;22752;1137;1265;106355742;2745889 + 3162;22763;1137;1266;106355742;2768652 + 3163;22764;1137;1266;106355742;2768652 + 3164;22776;1137;1266;106355742;2768652 + 3165;22779;1137;1267;106355742;2791431 + 3166;22788;1137;1267;106355742;2791431 + 3167;22798;1137;1268;106355742;2814229 + 3168;22800;1137;1268;106355742;2814229 + 3169;22812;1137;1268;106355742;2814229 + 3170;22812;1137;1269;106355742;2837041 + 3171;22824;1137;1269;106355742;2837041 + 3172;22827;1144;1270;104561470;2716174 + 3173;22836;1144;1270;104561470;2716174 + 3174;22846;1144;1271;104561470;2739020 + 3175;22848;1144;1271;104561470;2739020 + 3176;22860;1144;1271;104561470;2739020 + 3177;22870;1144;1272;104561470;2761890 + 3178;22872;1144;1272;104561470;2761890 + 3179;22884;1144;1272;104561470;2761890 + 3180;22886;1144;1273;104561470;2784776 + 3181;22896;1144;1273;104561470;2784776 + 3182;22904;1144;1274;104561470;2807680 + 3183;22908;1144;1274;104561470;2807680 + 3184;22920;1144;1274;104561470;2807680 + 3185;22925;1144;1275;104561470;2830605 + 3186;22932;1144;1275;104561470;2830605 + 3187;22944;1147;1275;106134728;2768723 + 3188;22949;1147;1276;106134728;2791672 + 3189;22956;1147;1276;106134728;2791672 + 3190;22965;1147;1277;106134728;2814637 + 3191;22968;1147;1277;106134728;2814637 + 3192;22980;1147;1277;106134728;2814637 + 3193;22987;1147;1278;106134728;2837624 + 3194;22992;1147;1278;106134728;2837624 + 3195;23003;1147;1279;106134728;2860627 + 3196;23004;1147;1279;106134728;2860627 + 3197;23016;1147;1279;106134728;2860627 + 3198;23018;1147;1280;106134728;2883645 + 3199;23028;1147;1280;106134728;2883645 + 3200;23040;1147;1280;106134728;2883645 + 3201;23040;1147;1281;106134728;2906685 + 3202;23052;1147;1281;106134728;2906685 + 3203;23057;1147;1282;106134728;2929742 + 3204;23064;1147;1282;106134728;2929742 + 3205;23076;1147;1282;106134728;2929742 + 3206;23081;1147;1283;106134728;2952823 + 3207;23088;1147;1283;106134728;2952823 + 3208;23100;1147;1283;106134728;2952823 + 3209;23101;1147;1284;106134728;2975924 + 3210;23112;1147;1284;106134728;2975924 + 3211;23123;1153;1285;107557864;2874731 + 3212;23124;1153;1285;107557864;2874731 + 3213;23136;1153;1285;107557864;2874731 + 3214;23137;1153;1286;107557864;2897868 + 3215;23148;1153;1286;107557864;2897868 + 3216;23158;1153;1287;107557864;2921026 + 3217;23160;1153;1287;107557864;2921026 + 3218;23172;1153;1287;107557864;2921026 + 3219;23180;1153;1288;107557864;2944206 + 3220;23184;1153;1288;107557864;2944206 + 3221;23193;1161;1289;107996227;2800592 + 3222;23196;1161;1289;107996227;2800592 + 3223;23208;1161;1289;107996227;2800592 + 3224;23212;1161;1290;107996227;2823804 + 3225;23220;1161;1290;107996227;2823804 + 3226;23230;1161;1291;107996227;2847034 + 3227;23232;1161;1291;107996227;2847034 + 3228;23244;1161;1291;107996227;2847034 + 3229;23248;1161;1292;107996227;2870282 + 3230;23256;1161;1292;107996227;2870282 + 3231;23268;1163;1292;108268169;2828406 + 3232;23269;1163;1293;108268169;2851675 + 3233;23280;1163;1293;108268169;2851675 + 3234;23284;1163;1294;108268169;2874959 + 3235;23292;1163;1294;108268169;2874959 + 3236;23304;1163;1294;108268169;2874959 + 3237;23306;1163;1295;108268169;2898265 + 3238;23316;1163;1295;108268169;2898265 + 3239;23325;1163;1296;108268169;2921590 + 3240;23328;1163;1296;108268169;2921590 + 3241;23340;1163;1296;108268169;2921590 + 3242;23349;1163;1297;108268169;2944939 + 3243;23352;1163;1297;108268169;2944939 + 3244;23364;1163;1297;108268169;2944939 + 3245;23371;1163;1298;108268169;2968310 + 3246;23376;1163;1298;108268169;2968310 + 3247;23388;1163;1298;108268169;2968310 + 3248;23388;1163;1299;108268169;2991698 + 3249;23400;1163;1299;108268169;2991698 + 3250;23405;1173;1300;106908634;2804627 + 3251;23412;1178;1300;105680951;2698692 + 3252;23424;1178;1300;105680951;2698692 + 3253;23425;1178;1301;105680951;2722117 + 3254;23436;1178;1301;105680951;2722117 + 3255;23439;1178;1302;105680951;2745556 + 3256;23448;1178;1302;105680951;2745556 + 3257;23457;1178;1303;105680951;2769013 + 3258;23460;1178;1303;105680951;2769013 + 3259;23472;1178;1303;105680951;2769013 + 3260;23476;1178;1304;105680951;2792489 + 3261;23484;1178;1304;105680951;2792489 + 3262;23496;1178;1304;105680951;2792489 + 3263;23498;1178;1305;105680951;2815987 + 3264;23508;1178;1305;105680951;2815987 + 3265;23516;1178;1306;105680951;2839503 + 3266;23520;1178;1306;105680951;2839503 + 3267;23532;1178;1306;105680951;2839503 + 3268;23539;1178;1307;105680951;2863042 + 3269;23544;1178;1307;105680951;2863042 + 3270;23553;1178;1308;105680951;2886595 + 3271;23556;1178;1308;105680951;2886595 + 3272;23568;1178;1308;105680951;2886595 + 3273;23570;1178;1309;105680951;2910165 + 3274;23580;1178;1309;105680951;2910165 + 3275;23590;1178;1310;105680951;2933755 + 3276;23592;1178;1310;105680951;2933755 + 3277;23604;1178;1310;105680951;2933755 + 3278;23606;1178;1311;105680951;2957361 + 3279;23616;1178;1311;105680951;2957361 + 3280;23619;1178;1312;105680951;2980980 + 3281;23628;1178;1312;105680951;2980980 + 3282;23633;1178;1313;105680951;3004613 + 3283;23640;1178;1313;105680951;3004613 + 3284;23652;1178;1313;105680951;3004613 + 3285;23652;1178;1314;105680951;3028265 + 3286;23664;1178;1314;105680951;3028265 + 3287;23670;1178;1315;105680951;3051935 + 3288;23676;1178;1315;105680951;3051935 + 3289;23687;1178;1316;105680951;3075622 + 3290;23688;1178;1316;105680951;3075622 + 3291;23700;1178;1316;105680951;3075622 + 3292;23705;1193;1317;103975511;2778750 + 3293;23712;1193;1317;103975511;2778750 + 3294;23719;1193;1318;103975511;2802469 + 3295;23724;1193;1318;103975511;2802469 + 3296;23731;1193;1319;103975511;2826200 + 3297;23736;1193;1319;103975511;2826200 + 3298;23748;1193;1319;103975511;2826200 + 3299;23753;1193;1320;103975511;2849953 + 3300;23760;1193;1320;103975511;2849953 + 3301;23772;1193;1320;103975511;2849953 + 3302;23773;1193;1321;103975511;2873726 + 3303;23784;1193;1321;103975511;2873726 + 3304;23793;1193;1322;103975511;2897519 + 3305;23796;1193;1322;103975511;2897519 + 3306;23808;1193;1322;103975511;2897519 + 3307;23813;1193;1323;103975511;2921332 + 3308;23820;1193;1323;103975511;2921332 + 3309;23832;1193;1323;103975511;2921332 + 3310;23836;1193;1324;103975511;2945168 + 3311;23844;1193;1324;103975511;2945168 + 3312;23851;1193;1325;103975511;2969019 + 3313;23856;1193;1325;103975511;2969019 + 3314;23868;1193;1325;103975511;2969019 + 3315;23874;1193;1326;103975511;2992893 + 3316;23880;1193;1326;103975511;2992893 + 3317;23888;1193;1327;103975511;3016781 + 3318;23892;1193;1327;103975511;3016781 + 3319;23900;1193;1328;103975511;3040681 + 3320;23904;1193;1328;103975511;3040681 + 3321;23916;1196;1328;106326027;2976123 + 3322;23916;1196;1329;106326027;3000039 + 3323;23928;1196;1329;106326027;3000039 + 3324;23932;1196;1330;106326027;3023971 + 3325;23940;1196;1330;106326027;3023971 + 3326;23952;1196;1330;106326027;3023971 + 3327;23955;1196;1331;106326027;3047926 + 3328;23964;1196;1331;106326027;3047926 + 3329;23971;1196;1332;106326027;3071897 + 3330;23976;1196;1332;106326027;3071897 + 3331;23988;1196;1332;106326027;3071897 + 3332;23993;1196;1333;106326027;3095890 + 3333;24000;1196;1333;106326027;3095890 + 3334;24012;1196;1333;106326027;3095890 + 3335;24015;1196;1334;106326027;3119905 + 3336;24024;1196;1334;106326027;3119905 + 3337;24033;1209;1335;102730464;2862446 + 3338;24036;1209;1335;102730464;2862446 + 3339;24048;1209;1335;102730464;2862446 + 3340;24051;1209;1336;102730464;2886497 + 3341;24060;1209;1336;102730464;2886497 + 3342;24063;1209;1337;102730464;2910560 + 3343;24072;1209;1337;102730464;2910560 + 3344;24084;1209;1337;102730464;2910560 + 3345;24084;1209;1338;102730464;2934644 + 3346;24096;1209;1338;102730464;2934644 + 3347;24104;1209;1339;102730464;2958748 + 3348;24108;1209;1339;102730464;2958748 + 3349;24117;1209;1340;102730464;2982865 + 3350;24120;1209;1340;102730464;2982865 + 3351;24132;1209;1340;102730464;2982865 + 3352;24135;1209;1341;102730464;3007000 + 3353;24144;1209;1341;102730464;3007000 + 3354;24155;1209;1342;102730464;3031155 + 3355;24156;1209;1342;102730464;3031155 + 3356;24168;1209;1342;102730464;3031155 + 3357;24174;1209;1343;102730464;3055329 + 3358;24180;1209;1343;102730464;3055329 + 3359;24192;1209;1343;102730464;3055329 + 3360;24193;1209;1344;102730464;3079522 + 3361;24204;1209;1344;102730464;3079522 + 3362;24208;1209;1345;102730464;3103730 + 3363;24216;1209;1345;102730464;3103730 + 3364;24228;1209;1345;102730464;3103730 + 3365;24229;1216;1346;102504253;2975164 + 3366;24240;1216;1346;102504253;2975164 + 3367;24242;1216;1347;102504253;2999406 + 3368;24252;1216;1347;102504253;2999406 + 3369;24258;1216;1348;102504253;3023664 + 3370;24264;1216;1348;102504253;3023664 + 3371;24270;1216;1349;102504253;3047934 + 3372;24276;1216;1349;102504253;3047934 + 3373;24288;1216;1349;102504253;3047934 + 3374;24290;1216;1350;102504253;3072224 + 3375;24300;1216;1350;102504253;3072224 + 3376;24303;1216;1351;102504253;3096527 + 3377;24312;1216;1351;102504253;3096527 + 3378;24320;1216;1352;102504253;3120847 + 3379;24324;1225;1352;100067198;2923001 + 3380;24336;1225;1352;100067198;2923001 + 3381;24338;1225;1353;100067198;2947339 + 3382;24348;1225;1353;100067198;2947339 + 3383;24357;1225;1354;100067198;2971696 + 3384;24360;1225;1354;100067198;2971696 + 3385;24372;1225;1354;100067198;2971696 + 3386;24375;1225;1355;100067198;2996071 + 3387;24384;1225;1355;100067198;2996071 + 3388;24389;1225;1356;100067198;3020460 + 3389;24396;1225;1356;100067198;3020460 + 3390;24405;1225;1357;100067198;3044865 + 3391;24408;1225;1357;100067198;3044865 + 3392;24419;1225;1358;100067198;3069284 + 3393;24420;1225;1358;100067198;3069284 + 3394;24432;1225;1358;100067198;3069284 + 3395;24432;1225;1359;100067198;3093716 + 3396;24444;1225;1359;100067198;3093716 + 3397;24450;1225;1360;100067198;3118166 + 3398;24456;1225;1360;100067198;3118166 + 3399;24468;1225;1360;100067198;3118166 + 3400;24473;1225;1361;100067198;3142639 + 3401;24480;1225;1361;100067198;3142639 + 3402;24492;1225;1361;100067198;3142639 + 3403;24497;1233;1362;100972269;2990082 + 3404;24504;1233;1362;100972269;2990082 + 3405;24511;1233;1363;100972269;3014593 + 3406;24516;1233;1363;100972269;3014593 + 3407;24528;1233;1363;100972269;3014593 + 3408;24534;1233;1364;100972269;3039127 + 3409;24540;1233;1364;100972269;3039127 + 3410;24552;1233;1364;100972269;3039127 + 3411;24556;1233;1365;100972269;3063683 + 3412;24564;1233;1365;100972269;3063683 + 3413;24576;1233;1365;100972269;3063683 + 3414;24577;1233;1366;100972269;3088260 + 3415;24588;1233;1366;100972269;3088260 + 3416;24593;1233;1367;100972269;3112853 + 3417;24600;1233;1367;100972269;3112853 + 3418;24612;1233;1367;100972269;3112853 + 3419;24614;1233;1368;100972269;3137467 + 3420;24624;1233;1368;100972269;3137467 + 3421;24634;1233;1369;100972269;3162101 + 3422;24636;1233;1369;100972269;3162101 + 3423;24648;1233;1369;100972269;3162101 + 3424;24648;1243;1370;99401438;2963875 + 3425;24660;1243;1370;99401438;2963875 + 3426;24667;1243;1371;99401438;2988542 + 3427;24672;1243;1371;99401438;2988542 + 3428;24683;1243;1372;99401438;3013225 + 3429;24684;1243;1372;99401438;3013225 + 3430;24696;1243;1372;99401438;3013225 + 3431;24702;1243;1373;99401438;3037927 + 3432;24708;1243;1373;99401438;3037927 + 3433;24715;1243;1374;99401438;3062642 + 3434;24720;1243;1374;99401438;3062642 + 3435;24732;1243;1374;99401438;3062642 + 3436;24738;1243;1375;99401438;3087380 + 3437;24744;1243;1375;99401438;3087380 + 3438;24756;1243;1375;99401438;3087380 + 3439;24761;1253;1376;99352071;2887568 + 3440;24768;1253;1376;99352071;2887568 + 3441;24780;1253;1376;99352071;2887568 + 3442;24781;1253;1377;99352071;2912349 + 3443;24792;1253;1377;99352071;2912349 + 3444;24797;1253;1378;99352071;2937146 + 3445;24804;1253;1378;99352071;2937146 + 3446;24816;1253;1378;99352071;2937146 + 3447;24817;1253;1379;99352071;2961963 + 3448;24828;1253;1379;99352071;2961963 + 3449;24830;1253;1380;99352071;2986793 + 3450;24840;1253;1380;99352071;2986793 + 3451;24844;1256;1381;99568235;2943931 + 3452;24852;1256;1381;99568235;2943931 + 3453;24861;1256;1382;99568235;2968792 + 3454;24864;1256;1382;99568235;2968792 + 3455;24876;1256;1382;99568235;2968792 + 3456;24880;1256;1383;99568235;2993672 + 3457;24888;1256;1383;99568235;2993672 + 3458;24894;1256;1384;99568235;3018566 + 3459;24900;1256;1384;99568235;3018566 + 3460;24912;1256;1384;99568235;3018566 + 3461;24912;1256;1385;99568235;3043478 + 3462;24924;1256;1385;99568235;3043478 + 3463;24928;1256;1386;99568235;3068406 + 3464;24936;1256;1386;99568235;3068406 + 3465;24948;1256;1386;99568235;3068406 + 3466;24948;1256;1387;99568235;3093354 + 3467;24960;1256;1387;99568235;3093354 + 3468;24960;1261;1388;99145610;3005062 + 3469;24972;1261;1388;99145610;3005062 + 3470;24978;1261;1389;99145610;3030040 + 3471;24984;1261;1389;99145610;3030040 + 3472;24992;1261;1390;99145610;3055032 + 3473;24996;1261;1390;99145610;3055032 + 3474;25008;1261;1390;99145610;3055032 + 3475;25015;1261;1391;99145610;3080047 + 3476;25020;1261;1391;99145610;3080047 + 3477;25031;1261;1392;99145610;3105078 + 3478;25032;1261;1392;99145610;3105078 + 3479;25044;1261;1392;99145610;3105078 + 3480;25051;1261;1393;99145610;3130129 + 3481;25056;1261;1393;99145610;3130129 + 3482;25064;1261;1394;99145610;3155193 + 3483;25068;1261;1394;99145610;3155193 + 3484;25080;1261;1394;99145610;3155193 + 3485;25083;1261;1395;99145610;3180276 + 3486;25092;1261;1395;99145610;3180276 + 3487;25104;1261;1395;99145610;3180276 + 3488;25106;1261;1396;99145610;3205382 + 3489;25116;1261;1396;99145610;3205382 + 3490;25119;1261;1397;99145610;3230501 + 3491;25128;1261;1397;99145610;3230501 + 3492;25140;1261;1397;99145610;3230501 + 3493;25143;1275;1398;97715386;2936109 + 3494;25152;1275;1398;97715386;2936109 + 3495;25160;1275;1399;97715386;2961269 + 3496;25164;1275;1399;97715386;2961269 + 3497;25176;1275;1399;97715386;2961269 + 3498;25183;1282;1400;95804761;2825301 + 3499;25188;1282;1400;95804761;2825301 + 3500;25200;1282;1400;95804761;2825301 + 3501;25206;1282;1401;95804761;2850507 + 3502;25212;1282;1401;95804761;2850507 + 3503;25222;1282;1402;95804761;2875729 + 3504;25224;1282;1402;95804761;2875729 + 3505;25234;1282;1403;95804761;2900963 + 3506;25236;1282;1403;95804761;2900963 + 3507;25247;1282;1404;95804761;2926210 + 3508;25248;1282;1404;95804761;2926210 + 3509;25260;1282;1404;95804761;2926210 + 3510;25262;1282;1405;95804761;2951472 + 3511;25272;1282;1405;95804761;2951472 + 3512;25278;1282;1406;95804761;2976750 + 3513;25284;1282;1406;95804761;2976750 + 3514;25296;1282;1406;95804761;2976750 + 3515;25299;1282;1407;95804761;3002049 + 3516;25308;1282;1407;95804761;3002049 + 3517;25320;1282;1407;95804761;3002049 + 3518;25320;1282;1408;95804761;3027369 + 3519;25332;1282;1408;95804761;3027369 + 3520;25343;1282;1409;95804761;3052712 + 3521;25344;1282;1409;95804761;3052712 + 3522;25356;1282;1409;95804761;3052712 + 3523;25366;1282;1410;95804761;3078078 + 3524;25368;1282;1410;95804761;3078078 + 3525;25380;1282;1410;95804761;3078078 + 3526;25380;1282;1411;95804761;3103458 + 3527;25392;1282;1411;95804761;3103458 + 3528;25402;1282;1412;95804761;3128860 + 3529;25404;1282;1412;95804761;3128860 + 3530;25416;1282;1412;95804761;3128860 + 3531;25423;1282;1413;95804761;3154283 + 3532;25428;1282;1413;95804761;3154283 + 3533;25440;1282;1413;95804761;3154283 + 3534;25443;1282;1414;95804761;3179726 + 3535;25452;1282;1414;95804761;3179726 + 3536;25455;1282;1415;95804761;3205181 + 3537;25464;1282;1415;95804761;3205181 + 3538;25476;1282;1415;95804761;3205181 + 3539;25476;1282;1416;95804761;3230657 + 3540;25488;1282;1416;95804761;3230657 + 3541;25490;1282;1417;95804761;3256147 + 3542;25500;1282;1417;95804761;3256147 + 3543;25502;1282;1418;95804761;3281649 + 3544;25512;1282;1418;95804761;3281649 + 3545;25522;1285;1419;97794299;3237810 + 3546;25524;1285;1419;97794299;3237810 + 3547;25536;1285;1419;97794299;3237810 + 3548;25538;1285;1420;97794299;3263348 + 3549;25548;1285;1420;97794299;3263348 + 3550;25560;1285;1420;97794299;3263348 + 3551;25561;1285;1421;97794299;3288909 + 3552;25572;1285;1421;97794299;3288909 + 3553;25582;1285;1422;97794299;3314491 + 3554;25584;1285;1422;97794299;3314491 + 3555;25596;1285;1422;97794299;3314491 + 3556;25599;1295;1423;100715526;3107685 + 3557;25608;1300;1423;99713637;2990747 + 3558;25620;1300;1423;99713637;2990747 + 3559;25620;1300;1424;99713637;3016367 + 3560;25632;1300;1424;99713637;3016367 + 3561;25643;1300;1425;99713637;3042010 + 3562;25644;1300;1425;99713637;3042010 + 3563;25656;1300;1425;99713637;3042010 + 3564;25661;1300;1426;99713637;3067671 + 3565;25668;1300;1426;99713637;3067671 + 3566;25676;1300;1427;99713637;3093347 + 3567;25680;1300;1427;99713637;3093347 + 3568;25692;1300;1427;99713637;3093347 + 3569;25696;1300;1428;99713637;3119043 + 3570;25704;1300;1428;99713637;3119043 + 3571;25708;1300;1429;99713637;3144751 + 3572;25716;1300;1429;99713637;3144751 + 3573;25721;1300;1430;99713637;3170472 + 3574;25728;1300;1430;99713637;3170472 + 3575;25735;1300;1431;99713637;3196207 + 3576;25740;1300;1431;99713637;3196207 + 3577;25752;1300;1431;99713637;3196207 + 3578;25754;1300;1432;99713637;3221961 + 3579;25764;1300;1432;99713637;3221961 + 3580;25775;1300;1433;99713637;3247736 + 3581;25776;1300;1433;99713637;3247736 + 3582;25788;1300;1433;99713637;3247736 + 3583;25797;1300;1434;99713637;3273533 + 3584;25800;1300;1434;99713637;3273533 + 3585;25812;1300;1434;99713637;3273533 + 3586;25815;1305;1435;97964482;3181962 + 3587;25824;1305;1435;97964482;3181962 + 3588;25830;1305;1436;97964482;3207792 + 3589;25836;1305;1436;97964482;3207792 + 3590;25847;1305;1437;97964482;3233639 + 3591;25848;1305;1437;97964482;3233639 + 3592;25860;1305;1437;97964482;3233639 + 3593;25865;1309;1438;98293528;3165252 + 3594;25872;1309;1438;98293528;3165252 + 3595;25884;1309;1438;98293528;3165252 + 3596;25888;1309;1439;98293528;3191140 + 3597;25896;1309;1439;98293528;3191140 + 3598;25906;1309;1440;98293528;3217046 + 3599;25908;1309;1440;98293528;3217046 + 3600;25920;1309;1440;98293528;3217046 + 3601;25920;1309;1441;98293528;3242966 + 3602;25932;1309;1441;98293528;3242966 + 3603;25934;1309;1442;98293528;3268900 + 3604;25944;1309;1442;98293528;3268900 + 3605;25951;1309;1443;98293528;3294851 + 3606;25956;1309;1443;98293528;3294851 + 3607;25965;1309;1444;98293528;3320816 + 3608;25968;1309;1444;98293528;3320816 + 3609;25980;1309;1444;98293528;3320816 + 3610;25984;1319;1445;95433661;3110025 + 3611;25992;1319;1445;95433661;3110025 + 3612;26003;1319;1446;95433661;3136028 + 3613;26004;1319;1446;95433661;3136028 + 3614;26016;1319;1446;95433661;3136028 + 3615;26016;1319;1447;95433661;3162044 + 3616;26028;1319;1447;95433661;3162044 + 3617;26035;1319;1448;95433661;3188079 + 3618;26040;1319;1448;95433661;3188079 + 3619;26052;1319;1448;95433661;3188079 + 3620;26052;1319;1449;95433661;3214131 + 3621;26064;1327;1449;92734710;3023403 + 3622;26070;1327;1450;92734710;3049473 + 3623;26076;1327;1450;92734710;3049473 + 3624;26088;1327;1450;92734710;3049473 + 3625;26092;1327;1451;92734710;3075565 + 3626;26100;1327;1451;92734710;3075565 + 3627;26111;1327;1452;92734710;3101676 + 3628;26112;1327;1452;92734710;3101676 + 3629;26124;1327;1452;92734710;3101676 + 3630;26125;1327;1453;92734710;3127801 + 3631;26136;1327;1453;92734710;3127801 + 3632;26148;1327;1453;92734710;3127801 + 3633;26149;1327;1454;92734710;3153950 + 3634;26160;1327;1454;92734710;3153950 + 3635;26166;1328;1455;93231265;3156200 + 3636;26172;1328;1455;93231265;3156200 + 3637;26179;1328;1456;93231265;3182379 + 3638;26184;1328;1456;93231265;3182379 + 3639;26193;1328;1457;93231265;3208572 + 3640;26196;1328;1457;93231265;3208572 + 3641;26208;1328;1457;93231265;3208572 + 3642;26212;1328;1458;93231265;3234784 + 3643;26220;1328;1458;93231265;3234784 + 3644;26224;1328;1459;93231265;3261008 + 3645;26232;1328;1459;93231265;3261008 + 3646;26244;1328;1459;93231265;3261008 + 3647;26245;1328;1460;93231265;3287253 + 3648;26256;1328;1460;93231265;3287253 + 3649;26265;1328;1461;93231265;3313518 + 3650;26268;1328;1461;93231265;3313518 + 3651;26280;1328;1461;93231265;3313518 + 3652;26287;1336;1462;93049079;3147792 + 3653;26292;1336;1462;93049079;3147792 + 3654;26304;1336;1462;93049079;3147792 + 3655;26304;1336;1463;93049079;3174096 + 3656;26316;1336;1463;93049079;3174096 + 3657;26320;1336;1464;93049079;3200416 + 3658;26328;1336;1464;93049079;3200416 + 3659;26337;1336;1465;93049079;3226753 + 3660;26340;1336;1465;93049079;3226753 + 3661;26352;1336;1465;93049079;3226753 + 3662;26361;1336;1466;93049079;3253114 + 3663;26364;1336;1466;93049079;3253114 + 3664;26375;1336;1467;93049079;3279489 + 3665;26376;1336;1467;93049079;3279489 + 3666;26388;1336;1467;93049079;3279489 + 3667;26398;1336;1468;93049079;3305887 + 3668;26400;1336;1468;93049079;3305887 + 3669;26412;1336;1468;93049079;3305887 + 3670;26422;1336;1469;93049079;3332309 + 3671;26424;1336;1469;93049079;3332309 + 3672;26436;1336;1469;93049079;3332309 + 3673;26441;1336;1470;93049079;3358750 + 3674;26448;1336;1470;93049079;3358750 + 3675;26460;1336;1470;93049079;3358750 + 3676;26464;1336;1471;93049079;3385214 + 3677;26472;1339;1471;92962449;3312909 + 3678;26484;1339;1471;92962449;3312909 + 3679;26485;1339;1472;92962449;3339394 + 3680;26496;1339;1472;92962449;3339394 + 3681;26497;1339;1473;92962449;3365891 + 3682;26508;1339;1473;92962449;3365891 + 3683;26513;1339;1474;92962449;3392404 + 3684;26520;1339;1474;92962449;3392404 + 3685;26526;1339;1475;92962449;3418930 + 3686;26532;1339;1475;92962449;3418930 + 3687;26543;1339;1476;92962449;3445473 + 3688;26544;1339;1476;92962449;3445473 + 3689;26556;1339;1476;92962449;3445473 + 3690;26556;1339;1477;92962449;3472029 + 3691;26568;1339;1477;92962449;3472029 + 3692;26575;1344;1478;92654126;3377739 + 3693;26580;1344;1478;92654126;3377739 + 3694;26588;1344;1479;92654126;3404327 + 3695;26592;1344;1479;92654126;3404327 + 3696;26603;1344;1480;92654126;3430930 + 3697;26604;1344;1480;92654126;3430930 + 3698;26616;1344;1480;92654126;3430930 + 3699;26623;1344;1481;92654126;3457553 + 3700;26628;1344;1481;92654126;3457553 + 3701;26637;1344;1482;92654126;3484190 + 3702;26640;1344;1482;92654126;3484190 + 3703;26652;1344;1482;92654126;3484190 + 3704;26652;1344;1483;92654126;3510842 + 3705;26664;1344;1483;92654126;3510842 + 3706;26670;1346;1484;94054064;3489041 + 3707;26676;1346;1484;94054064;3489041 + 3708;26688;1348;1484;94943062;3440513 + 3709;26692;1348;1485;94943062;3467205 + 3710;26700;1348;1485;94943062;3467205 + 3711;26710;1348;1486;94943062;3493915 + 3712;26712;1348;1486;94943062;3493915 + 3713;26722;1348;1487;94943062;3520637 + 3714;26724;1348;1487;94943062;3520637 + 3715;26735;1348;1488;94943062;3547372 + 3716;26736;1348;1488;94943062;3547372 + 3717;26748;1361;1488;93614144;3230324 + 3718;26749;1361;1489;93614144;3257073 + 3719;26760;1361;1489;93614144;3257073 + 3720;26769;1361;1490;93614144;3283842 + 3721;26772;1361;1490;93614144;3283842 + 3722;26782;1361;1491;93614144;3310624 + 3723;26784;1361;1491;93614144;3310624 + 3724;26796;1361;1491;93614144;3310624 + 3725;26803;1361;1492;93614144;3337427 + 3726;26808;1361;1492;93614144;3337427 + 3727;26820;1361;1492;93614144;3337427 + 3728;26826;1361;1493;93614144;3364253 + 3729;26832;1361;1493;93614144;3364253 + 3730;26844;1361;1493;93614144;3364253 + 3731;26845;1367;1494;91595822;3243713 + 3732;26856;1367;1494;91595822;3243713 + 3733;26867;1367;1495;91595822;3270580 + 3734;26868;1367;1495;91595822;3270580 + 3735;26880;1367;1495;91595822;3270580 + 3736;26886;1367;1496;91595822;3297466 + 3737;26892;1367;1496;91595822;3297466 + 3738;26900;1367;1497;91595822;3324366 + 3739;26904;1367;1497;91595822;3324366 + 3740;26916;1367;1497;91595822;3324366 + 3741;26920;1367;1498;91595822;3351286 + 3742;26928;1367;1498;91595822;3351286 + 3743;26940;1367;1498;91595822;3351286 + 3744;26942;1367;1499;91595822;3378228 + 3745;26952;1367;1499;91595822;3378228 + 3746;26954;1367;1500;91595822;3405182 + 3747;26964;1367;1500;91595822;3405182 + 3748;26976;1367;1500;91595822;3405182 + 3749;26977;1376;1501;92496040;3209830 + 3750;26988;1376;1501;92496040;3209830 + 3751;26994;1376;1502;92496040;3236824 + 3752;27000;1376;1502;92496040;3236824 + 3753;27008;1376;1503;92496040;3263832 + 3754;27012;1376;1503;92496040;3263832 + 3755;27023;1376;1504;92496040;3290855 + 3756;27024;1376;1504;92496040;3290855 + 3757;27036;1376;1504;92496040;3290855 + 3758;27037;1376;1505;92496040;3317892 + 3759;27048;1376;1505;92496040;3317892 + 3760;27050;1384;1506;89437553;3146107 + 3761;27060;1384;1506;89437553;3146107 + 3762;27063;1384;1507;89437553;3173170 + 3763;27072;1384;1507;89437553;3173170 + 3764;27084;1384;1507;89437553;3173170 + 3765;27087;1384;1508;89437553;3200257 + 3766;27096;1384;1508;89437553;3200257 + 3767;27102;1384;1509;89437553;3227359 + 3768;27108;1384;1509;89437553;3227359 + 3769;27114;1384;1510;89437553;3254473 + 3770;27120;1384;1510;89437553;3254473 + 3771;27132;1384;1510;89437553;3254473 + 3772;27133;1384;1511;89437553;3281606 + 3773;27144;1384;1511;89437553;3281606 + 3774;27145;1384;1512;89437553;3308751 + 3775;27156;1384;1512;89437553;3308751 + 3776;27168;1384;1512;89437553;3308751 + 3777;27168;1384;1513;89437553;3335919 + 3778;27180;1384;1513;89437553;3335919 + 3779;27186;1384;1514;89437553;3363105 + 3780;27192;1384;1514;89437553;3363105 + 3781;27204;1384;1514;89437553;3363105 + 3782;27206;1384;1515;89437553;3390311 + 3783;27216;1384;1515;89437553;3390311 + 3784;27223;1384;1516;89437553;3417534 + 3785;27228;1384;1516;89437553;3417534 + 3786;27239;1384;1517;89437553;3444773 + 3787;27240;1384;1517;89437553;3444773 + 3788;27252;1384;1517;89437553;3444773 + 3789;27260;1388;1518;90726897;3372219 + 3790;27264;1388;1518;90726897;3372219 + 3791;27276;1388;1518;90726897;3372219 + 3792;27279;1388;1519;90726897;3399498 + 3793;27288;1388;1519;90726897;3399498 + 3794;27296;1389;1520;91377104;3401802 + 3795;27300;1389;1520;91377104;3401802 + 3796;27312;1389;1520;91377104;3401802 + 3797;27312;1389;1521;91377104;3429114 + 3798;27324;1389;1521;91377104;3429114 + 3799;27329;1398;1522;88158320;3230671 + 3800;27336;1398;1522;88158320;3230671 + 3801;27348;1398;1522;88158320;3230671 + 3802;27348;1398;1523;88158320;3258019 + 3803;27360;1398;1523;88158320;3258019 + 3804;27366;1398;1524;88158320;3285385 + 3805;27372;1398;1524;88158320;3285385 + 3806;27380;1398;1525;88158320;3312765 + 3807;27384;1398;1525;88158320;3312765 + 3808;27392;1398;1526;88158320;3340157 + 3809;27396;1398;1526;88158320;3340157 + 3810;27404;1398;1527;88158320;3367561 + 3811;27408;1398;1527;88158320;3367561 + 3812;27420;1398;1527;88158320;3367561 + 3813;27426;1398;1528;88158320;3394987 + 3814;27432;1398;1528;88158320;3394987 + 3815;27444;1398;1528;88158320;3394987 + 3816;27449;1398;1529;88158320;3422436 + 3817;27456;1398;1529;88158320;3422436 + 3818;27468;1398;1529;88158320;3422436 + 3819;27473;1400;1530;88372077;3399520 + 3820;27480;1400;1530;88372077;3399520 + 3821;27486;1400;1531;88372077;3427006 + 3822;27492;1400;1531;88372077;3427006 + 3823;27502;1400;1532;88372077;3454508 + 3824;27504;1400;1532;88372077;3454508 + 3825;27516;1400;1532;88372077;3454508 + 3826;27521;1400;1533;88372077;3482029 + 3827;27528;1400;1533;88372077;3482029 + 3828;27533;1400;1534;88372077;3509562 + 3829;27540;1400;1534;88372077;3509562 + 3830;27552;1400;1534;88372077;3509562 + 3831;27554;1402;1535;89085584;3486660 + 3832;27564;1402;1535;89085584;3486660 + 3833;27570;1402;1536;89085584;3514230 + 3834;27576;1402;1536;89085584;3514230 + 3835;27588;1402;1536;89085584;3514230 + 3836;27594;1402;1537;89085584;3541824 + 3837;27600;1402;1537;89085584;3541824 + 3838;27610;1402;1538;89085584;3569434 + 3839;27612;1402;1538;89085584;3569434 + 3840;27624;1402;1538;89085584;3569434 + 3841;27624;1402;1539;89085584;3597058 + 3842;27636;1407;1539;88839755;3470652 + 3843;27636;1407;1540;88839755;3498288 + 3844;27648;1407;1540;88839755;3498288 + 3845;27657;1407;1541;88839755;3525945 + 3846;27660;1407;1541;88839755;3525945 + 3847;27672;1407;1541;88839755;3525945 + 3848;27675;1407;1542;88839755;3553620 + 3849;27684;1407;1542;88839755;3553620 + 3850;27695;1407;1543;88839755;3581315 + 3851;27696;1407;1543;88839755;3581315 + 3852;27708;1407;1543;88839755;3581315 + 3853;27719;1409;1544;89337641;3558325 + 3854;27720;1409;1544;89337641;3558325 + 3855;27732;1409;1544;89337641;3558325 + 3856;27739;1409;1545;89337641;3586064 + 3857;27744;1409;1545;89337641;3586064 + 3858;27756;1409;1545;89337641;3586064 + 3859;27762;1416;1546;89690606;3435757 + 3860;27768;1416;1546;89690606;3435757 + 3861;27774;1416;1547;89690606;3463531 + 3862;27780;1416;1547;89690606;3463531 + 3863;27788;1416;1548;89690606;3491319 + 3864;27792;1416;1548;89690606;3491319 + 3865;27804;1416;1548;89690606;3491319 + 3866;27807;1416;1549;89690606;3519126 + 3867;27816;1416;1549;89690606;3519126 + 3868;27828;1416;1549;89690606;3519126 + 3869;27831;1416;1550;89690606;3546957 + 3870;27840;1416;1550;89690606;3546957 + 3871;27849;1416;1551;89690606;3574806 + 3872;27852;1416;1551;89690606;3574806 + 3873;27864;1416;1551;89690606;3574806 + 3874;27871;1416;1552;89690606;3602677 + 3875;27876;1416;1552;89690606;3602677 + 3876;27888;1416;1552;89690606;3602677 + 3877;27889;1416;1553;89690606;3630566 + 3878;27900;1416;1553;89690606;3630566 + 3879;27908;1416;1554;89690606;3658474 + 3880;27912;1416;1554;89690606;3658474 + 3881;27924;1416;1554;89690606;3658474 + 3882;27932;1422;1555;90344606;3533102 + 3883;27936;1422;1555;90344606;3533102 + 3884;27947;1422;1556;90344606;3561049 + 3885;27948;1422;1556;90344606;3561049 + 3886;27960;1422;1556;90344606;3561049 + 3887;27961;1422;1557;90344606;3589010 + 3888;27972;1422;1557;90344606;3589010 + 3889;27974;1422;1558;90344606;3616984 + 3890;27984;1422;1558;90344606;3616984 + 3891;27994;1422;1559;90344606;3644978 + 3892;27996;1422;1559;90344606;3644978 + 3893;28008;1422;1559;90344606;3644978 + 3894;28015;1431;1560;90403531;3441779 + 3895;28020;1431;1560;90403531;3441779 + 3896;28028;1431;1561;90403531;3469807 + 3897;28032;1431;1561;90403531;3469807 + 3898;28043;1431;1562;90403531;3497850 + 3899;28044;1431;1562;90403531;3497850 + 3900;28056;1431;1562;90403531;3497850 + 3901;28060;1431;1563;90403531;3525910 + 3902;28068;1431;1563;90403531;3525910 + 3903;28080;1431;1563;90403531;3525910 + 3904;28080;1431;1564;90403531;3553990 + 3905;28092;1431;1564;90403531;3553990 + 3906;28094;1431;1565;90403531;3582084 + 3907;28104;1431;1565;90403531;3582084 + 3908;28116;1431;1565;90403531;3582084 + 3909;28117;1431;1566;90403531;3610201 + 3910;28128;1431;1566;90403531;3610201 + 3911;28134;1431;1567;90403531;3638335 + 3912;28140;1431;1567;90403531;3638335 + 3913;28152;1431;1567;90403531;3638335 + 3914;28153;1431;1568;90403531;3666488 + 3915;28164;1431;1568;90403531;3666488 + 3916;28174;1431;1569;90403531;3694662 + 3917;28176;1431;1569;90403531;3694662 + 3918;28187;1431;1570;90403531;3722849 + 3919;28188;1431;1570;90403531;3722849 + 3920;28200;1431;1570;90403531;3722849 + 3921;28202;1437;1571;89832740;3596122 + 3922;28212;1437;1571;89832740;3596122 + 3923;28214;1437;1572;89832740;3624336 + 3924;28224;1437;1572;89832740;3624336 + 3925;28235;1437;1573;89832740;3652571 + 3926;28236;1437;1573;89832740;3652571 + 3927;28248;1437;1573;89832740;3652571 + 3928;28258;1437;1574;89832740;3680829 + 3929;28260;1437;1574;89832740;3680829 + 3930;28272;1437;1574;89832740;3680829 + 3931;28275;1446;1575;87612585;3475537 + 3932;28284;1446;1575;87612585;3475537 + 3933;28296;1446;1575;87612585;3475537 + 3934;28296;1446;1576;87612585;3503833 + 3935;28308;1446;1576;87612585;3503833 + 3936;28308;1446;1577;87612585;3532141 + 3937;28320;1446;1577;87612585;3532141 + 3938;28320;1446;1578;87612585;3560461 + 3939;28332;1446;1578;87612585;3560461 + 3940;28343;1446;1579;87612585;3588804 + 3941;28344;1446;1579;87612585;3588804 + 3942;28356;1446;1579;87612585;3588804 + 3943;28356;1446;1580;87612585;3617160 + 3944;28368;1446;1580;87612585;3617160 + 3945;28375;1455;1581;86563475;3410556 + 3946;28380;1455;1581;86563475;3410556 + 3947;28387;1455;1582;86563475;3438943 + 3948;28392;1455;1582;86563475;3438943 + 3949;28399;1455;1583;86563475;3467342 + 3950;28404;1455;1583;86563475;3467342 + 3951;28414;1455;1584;86563475;3495756 + 3952;28416;1455;1584;86563475;3495756 + 3953;28428;1455;1584;86563475;3495756 + 3954;28438;1455;1585;86563475;3524194 + 3955;28440;1455;1585;86563475;3524194 + 3956;28452;1455;1585;86563475;3524194 + 3957;28460;1455;1586;86563475;3552654 + 3958;28464;1455;1586;86563475;3552654 + 3959;28476;1455;1586;86563475;3552654 + 3960;28476;1455;1587;86563475;3581130 + 3961;28488;1455;1587;86563475;3581130 + 3962;28490;1455;1588;86563475;3609620 + 3963;28500;1455;1588;86563475;3609620 + 3964;28512;1455;1588;86563475;3609620 + 3965;28513;1455;1589;86563475;3638133 + 3966;28524;1455;1589;86563475;3638133 + 3967;28536;1455;1589;86563475;3638133 + 3968;28536;1455;1590;86563475;3666669 + 3969;28548;1455;1590;86563475;3666669 + 3970;28550;1455;1591;86563475;3695219 + 3971;28560;1455;1591;86563475;3695219 + 3972;28562;1455;1592;86563475;3723781 + 3973;28572;1455;1592;86563475;3723781 + 3974;28574;1455;1593;86563475;3752355 + 3975;28584;1455;1593;86563475;3752355 + 3976;28593;1455;1594;86563475;3780948 + 3977;28596;1455;1594;86563475;3780948 + 3978;28608;1455;1594;86563475;3780948 + 3979;28612;1455;1595;86563475;3809560 + 3980;28620;1455;1595;86563475;3809560 + 3981;28626;1464;1596;88732246;3601799 + 3982;28632;1464;1596;88732246;3601799 + 3983;28638;1464;1597;88732246;3630437 + 3984;28644;1464;1597;88732246;3630437 + 3985;28656;1464;1597;88732246;3630437 + 3986;28657;1464;1598;88732246;3659094 + 3987;28668;1464;1598;88732246;3659094 + 3988;28677;1464;1599;88732246;3687771 + 3989;28680;1464;1599;88732246;3687771 + 3990;28689;1464;1600;88732246;3716460 + 3991;28692;1464;1600;88732246;3716460 + 3992;28704;1464;1600;88732246;3716460 + 3993;28704;1464;1601;88732246;3745164 + 3994;28716;1464;1601;88732246;3745164 + 3995;28723;1464;1602;88732246;3773887 + 3996;28728;1464;1602;88732246;3773887 + 3997;28740;1464;1602;88732246;3773887 + 3998;28744;1464;1603;88732246;3802631 + 3999;28752;1464;1603;88732246;3802631 + 4000;28756;1464;1604;88732246;3831387 + 4001;28764;1464;1604;88732246;3831387 + 4002;28774;1467;1605;90131674;3781027 + 4003;28776;1467;1605;90131674;3781027 + 4004;28788;1467;1605;90131674;3781027 + 4005;28798;1475;1606;87620746;3597934 + 4006;28800;1475;1606;87620746;3597934 + 4007;28812;1475;1606;87620746;3597934 + 4008;28812;1475;1607;87620746;3626746 + 4009;28824;1475;1607;87620746;3626746 + 4010;28829;1475;1608;87620746;3655575 + 4011;28836;1475;1608;87620746;3655575 + 4012;28848;1475;1608;87620746;3655575 + 4013;28849;1475;1609;87620746;3684424 + 4014;28860;1475;1609;87620746;3684424 + 4015;28871;1475;1610;87620746;3713295 + 4016;28872;1475;1610;87620746;3713295 + 4017;28884;1475;1610;87620746;3713295 + 4018;28885;1475;1611;87620746;3742180 + 4019;28896;1475;1611;87620746;3742180 + 4020;28903;1475;1612;87620746;3771083 + 4021;28908;1475;1612;87620746;3771083 + 4022;28920;1475;1612;87620746;3771083 + 4023;28925;1475;1613;87620746;3800008 + 4024;28932;1475;1613;87620746;3800008 + 4025;28939;1481;1614;88057104;3669365 + 4026;28944;1481;1614;88057104;3669365 + 4027;28956;1481;1614;88057104;3669365 + 4028;28958;1481;1615;88057104;3698323 + 4029;28968;1481;1615;88057104;3698323 + 4030;28980;1481;1615;88057104;3698323 + 4031;28980;1481;1616;88057104;3727303 + 4032;28992;1481;1616;88057104;3727303 + 4033;28999;1481;1617;88057104;3756302 + 4034;29004;1481;1617;88057104;3756302 + 4035;29016;1481;1617;88057104;3756302 + 4036;29017;1481;1618;88057104;3785319 + 4037;29028;1481;1618;88057104;3785319 + 4038;29029;1481;1619;88057104;3814348 + 4039;29040;1481;1619;88057104;3814348 + 4040;29049;1481;1620;88057104;3843397 + 4041;29052;1481;1620;88057104;3843397 + 4042;29064;1483;1620;88287060;3790075 + 4043;29070;1483;1621;88287060;3819145 + 4044;29076;1483;1621;88287060;3819145 + 4045;29088;1483;1621;88287060;3819145 + 4046;29091;1483;1622;88287060;3848236 + 4047;29100;1483;1622;88287060;3848236 + 4048;29112;1483;1622;88287060;3848236 + 4049;29115;1483;1623;88287060;3877351 + 4050;29124;1483;1623;88287060;3877351 + 4051;29130;1483;1624;88287060;3906481 + 4052;29136;1483;1624;88287060;3906481 + 4053;29148;1483;1624;88287060;3906481 + 4054;29152;1483;1625;88287060;3935633 + 4055;29160;1483;1625;88287060;3935633 + 4056;29171;1493;1626;91020329;3697171 + 4057;29172;1493;1626;91020329;3697171 + 4058;29183;1495;1627;92278038;3672601 + 4059;29184;1495;1627;92278038;3672601 + 4060;29196;1495;1627;92278038;3672601 + 4061;29200;1495;1628;92278038;3701801 + 4062;29208;1495;1628;92278038;3701801 + 4063;29220;1495;1628;92278038;3701801 + 4064;29223;1495;1629;92278038;3731024 + 4065;29232;1495;1629;92278038;3731024 + 4066;29237;1495;1630;92278038;3760261 + 4067;29244;1495;1630;92278038;3760261 + 4068;29251;1495;1631;92278038;3789512 + 4069;29256;1495;1631;92278038;3789512 + 4070;29268;1495;1631;92278038;3789512 + 4071;29268;1495;1632;92278038;3818780 + 4072;29280;1495;1632;92278038;3818780 + 4073;29292;1495;1632;92278038;3818780 + 4074;29292;1495;1633;92278038;3848072 + 4075;29304;1495;1633;92278038;3848072 + 4076;29309;1495;1634;92278038;3877381 + 4077;29316;1495;1634;92278038;3877381 + 4078;29328;1501;1634;90423181;3715694 + 4079;29329;1501;1635;90423181;3745023 + 4080;29340;1501;1635;90423181;3745023 + 4081;29341;1501;1636;90423181;3774364 + 4082;29352;1501;1636;90423181;3774364 + 4083;29364;1501;1636;90423181;3774364 + 4084;29365;1509;1637;89559819;3587245 + 4085;29376;1509;1637;89559819;3587245 + 4086;29382;1510;1638;90044965;3589494 + 4087;29388;1510;1638;90044965;3589494 + 4088;29400;1510;1638;90044965;3589494 + 4089;29403;1510;1639;90044965;3618897 + 4090;29412;1510;1639;90044965;3618897 + 4091;29424;1510;1639;90044965;3618897 + 4092;29424;1510;1640;90044965;3648321 + 4093;29436;1510;1640;90044965;3648321 + 4094;29441;1510;1641;90044965;3677762 + 4095;29448;1510;1641;90044965;3677762 + 4096;29458;1510;1642;90044965;3707220 + 4097;29460;1510;1642;90044965;3707220 + 4098;29472;1510;1642;90044965;3707220 + 4099;29473;1510;1643;90044965;3736693 + 4100;29484;1510;1643;90044965;3736693 + 4101;29486;1510;1644;90044965;3766179 + 4102;29496;1510;1644;90044965;3766179 + 4103;29502;1510;1645;90044965;3795681 + 4104;29508;1510;1645;90044965;3795681 + 4105;29520;1510;1645;90044965;3795681 + 4106;29523;1510;1646;90044965;3825204 + 4107;29532;1510;1646;90044965;3825204 + 4108;29543;1510;1647;90044965;3854747 + 4109;29544;1510;1647;90044965;3854747 + 4110;29556;1510;1647;90044965;3854747 + 4111;29561;1510;1648;90044965;3884308 + 4112;29568;1510;1648;90044965;3884308 + 4113;29580;1510;1648;90044965;3884308 + 4114;29582;1510;1649;90044965;3913890 + 4115;29592;1510;1649;90044965;3913890 + 4116;29602;1510;1650;90044965;3943492 + 4117;29604;1510;1650;90044965;3943492 + 4118;29616;1510;1650;90044965;3943492 + 4119;29623;1519;1651;88448937;3728113 + 4120;29628;1519;1651;88448937;3728113 + 4121;29640;1519;1651;88448937;3728113 + 4122;29643;1519;1652;88448937;3757756 + 4123;29652;1519;1652;88448937;3757756 + 4124;29664;1519;1652;88448937;3757756 + 4125;29664;1519;1653;88448937;3787420 + 4126;29676;1519;1653;88448937;3787420 + 4127;29685;1519;1654;88448937;3817105 + 4128;29688;1519;1654;88448937;3817105 + 4129;29700;1525;1654;87473964;3652978 + 4130;29707;1525;1655;87473964;3682685 + 4131;29712;1525;1655;87473964;3682685 + 4132;29724;1525;1655;87473964;3682685 + 4133;29725;1525;1656;87473964;3712410 + 4134;29736;1525;1656;87473964;3712410 + 4135;29747;1525;1657;87473964;3742157 + 4136;29748;1525;1657;87473964;3742157 + 4137;29760;1525;1657;87473964;3742157 + 4138;29760;1525;1658;87473964;3771917 + 4139;29772;1525;1658;87473964;3771917 + 4140;29775;1531;1659;87811386;3636952 + 4141;29784;1531;1659;87811386;3636952 + 4142;29788;1531;1660;87811386;3666740 + 4143;29796;1531;1660;87811386;3666740 + 4144;29808;1531;1660;87811386;3666740 + 4145;29810;1531;1661;87811386;3696550 + 4146;29820;1531;1661;87811386;3696550 + 4147;29831;1531;1662;87811386;3726381 + 4148;29832;1531;1662;87811386;3726381 + 4149;29844;1531;1662;87811386;3726381 + 4150;29844;1531;1663;87811386;3756225 + 4151;29856;1531;1663;87811386;3756225 + 4152;29868;1531;1663;87811386;3756225 + 4153;29868;1531;1664;87811386;3786093 + 4154;29880;1531;1664;87811386;3786093 + 4155;29888;1531;1665;87811386;3815981 + 4156;29892;1531;1665;87811386;3815981 + 4157;29901;1531;1666;87811386;3845882 + 4158;29904;1531;1666;87811386;3845882 + 4159;29916;1531;1666;87811386;3845882 + 4160;29919;1531;1667;87811386;3875801 + 4161;29928;1531;1667;87811386;3875801 + 4162;29933;1531;1668;87811386;3905734 + 4163;29940;1531;1668;87811386;3905734 + 4164;29947;1531;1669;87811386;3935681 + 4165;29952;1531;1669;87811386;3935681 + 4166;29964;1531;1669;87811386;3935681 + 4167;29971;1531;1670;87811386;3965652 + 4168;29976;1531;1670;87811386;3965652 + 4169;29983;1541;1671;88473656;3719661 + 4170;29988;1541;1671;88473656;3719661 + 4171;30000;1541;1671;88473656;3719661 + 4172;30007;1541;1672;88473656;3749668 + 4173;30012;1541;1672;88473656;3749668 + 4174;30024;1541;1672;88473656;3749668 + 4175;30029;1541;1673;88473656;3779697 + 4176;30036;1541;1673;88473656;3779697 + 4177;30043;1541;1674;88473656;3809740 + 4178;30048;1541;1674;88473656;3809740 + 4179;30060;1541;1674;88473656;3809740 + 4180;30065;1541;1675;88473656;3839805 + 4181;30072;1541;1675;88473656;3839805 + 4182;30080;1541;1676;88473656;3869885 + 4183;30084;1541;1676;88473656;3869885 + 4184;30096;1541;1676;88473656;3869885 + 4185;30102;1541;1677;88473656;3899987 + 4186;30108;1541;1677;88473656;3899987 + 4187;30116;1541;1678;88473656;3930103 + 4188;30120;1541;1678;88473656;3930103 + 4189;30132;1541;1678;88473656;3930103 + 4190;30133;1543;1679;89871796;3904822 + 4191;30144;1543;1679;89871796;3904822 + 4192;30155;1543;1680;89871796;3934977 + 4193;30156;1543;1680;89871796;3934977 + 4194;30168;1549;1680;92711679;3768276 + 4195;30174;1549;1681;92711679;3798450 + 4196;30180;1549;1681;92711679;3798450 + 4197;30192;1549;1681;92711679;3798450 + 4198;30194;1549;1682;92711679;3828644 + 4199;30204;1549;1682;92711679;3828644 + 4200;30211;1551;1683;93075084;3803135 + 4201;30216;1551;1683;93075084;3803135 + 4202;30228;1551;1683;93075084;3803135 + 4203;30234;1551;1684;93075084;3833369 + 4204;30240;1551;1684;93075084;3833369 + 4205;30252;1551;1684;93075084;3833369 + 4206;30257;1551;1685;93075084;3863626 + 4207;30264;1551;1685;93075084;3863626 + 4208;30269;1551;1686;93075084;3893895 + 4209;30276;1551;1686;93075084;3893895 + 4210;30281;1556;1687;95102377;3784539 + 4211;30288;1556;1687;95102377;3784539 + 4212;30300;1556;1687;95102377;3784539 + 4213;30301;1556;1688;95102377;3814840 + 4214;30312;1556;1688;95102377;3814840 + 4215;30323;1556;1689;95102377;3845163 + 4216;30324;1556;1689;95102377;3845163 + 4217;30336;1556;1689;95102377;3845163 + 4218;30344;1556;1690;95102377;3875507 + 4219;30348;1556;1690;95102377;3875507 + 4220;30359;1556;1691;95102377;3905866 + 4221;30360;1556;1691;95102377;3905866 + 4222;30372;1556;1691;95102377;3905866 + 4223;30382;1556;1692;95102377;3936248 + 4224;30384;1556;1692;95102377;3936248 + 4225;30396;1564;1692;94798729;3711960 + 4226;30403;1564;1693;94798729;3742363 + 4227;30408;1564;1693;94798729;3742363 + 4228;30420;1564;1693;94798729;3742363 + 4229;30422;1564;1694;94798729;3772785 + 4230;30432;1564;1694;94798729;3772785 + 4231;30444;1564;1694;94798729;3772785 + 4232;30445;1564;1695;94798729;3803230 + 4233;30456;1564;1695;94798729;3803230 + 4234;30468;1564;1695;94798729;3803230 + 4235;30468;1569;1696;92994204;3692933 + 4236;30480;1569;1696;92994204;3692933 + 4237;30484;1569;1697;92994204;3723417 + 4238;30492;1569;1697;92994204;3723417 + 4239;30503;1569;1698;92994204;3753920 + 4240;30504;1569;1698;92994204;3753920 + 4241;30516;1569;1698;92994204;3753920 + 4242;30522;1569;1699;92994204;3784442 + 4243;30528;1569;1699;92994204;3784442 + 4244;30540;1569;1699;92994204;3784442 + 4245;30544;1569;1700;92994204;3814986 + 4246;30552;1569;1700;92994204;3814986 + 4247;30562;1569;1701;92994204;3845548 + 4248;30564;1569;1701;92994204;3845548 + 4249;30574;1569;1702;92994204;3876122 + 4250;30576;1569;1702;92994204;3876122 + 4251;30588;1569;1702;92994204;3876122 + 4252;30590;1569;1703;92994204;3906712 + 4253;30600;1569;1703;92994204;3906712 + 4254;30606;1569;1704;92994204;3937318 + 4255;30612;1569;1704;92994204;3937318 + 4256;30624;1579;1704;95259002;3654511 + 4257;30626;1584;1705;93457322;3543124 + 4258;30636;1584;1705;93457322;3543124 + 4259;30644;1584;1706;93457322;3573768 + 4260;30648;1584;1706;93457322;3573768 + 4261;30660;1584;1706;93457322;3573768 + 4262;30661;1584;1707;93457322;3604429 + 4263;30672;1584;1707;93457322;3604429 + 4264;30684;1584;1707;93457322;3604429 + 4265;30684;1584;1708;93457322;3635113 + 4266;30696;1584;1708;93457322;3635113 + 4267;30706;1584;1709;93457322;3665819 + 4268;30708;1584;1709;93457322;3665819 + 4269;30720;1584;1709;93457322;3665819 + 4270;30728;1584;1710;93457322;3696547 + 4271;30732;1584;1710;93457322;3696547 + 4272;30744;1584;1710;93457322;3696547 + 4273;30744;1584;1711;93457322;3727291 + 4274;30756;1584;1711;93457322;3727291 + 4275;30757;1584;1712;93457322;3758048 + 4276;30768;1584;1712;93457322;3758048 + 4277;30772;1584;1713;93457322;3788820 + 4278;30780;1584;1713;93457322;3788820 + 4279;30792;1584;1713;93457322;3788820 + 4280;30795;1584;1714;93457322;3819615 + 4281;30804;1584;1714;93457322;3819615 + 4282;30814;1584;1715;93457322;3850429 + 4283;30816;1584;1715;93457322;3850429 + 4284;30828;1584;1715;93457322;3850429 + 4285;30837;1584;1716;93457322;3881266 + 4286;30840;1584;1716;93457322;3881266 + 4287;30852;1584;1716;93457322;3881266 + 4288;30860;1584;1717;93457322;3912126 + 4289;30864;1584;1717;93457322;3912126 + 4290;30876;1584;1717;93457322;3912126 + 4291;30879;1584;1718;93457322;3943005 + 4292;30888;1584;1718;93457322;3943005 + 4293;30900;1584;1718;93457322;3943005 + 4294;30903;1584;1719;93457322;3973908 + 4295;30912;1584;1719;93457322;3973908 + 4296;30923;1588;1720;95395150;3890892 + 4297;30924;1588;1720;95395150;3890892 + 4298;30936;1588;1720;95395150;3890892 + 4299;30945;1588;1721;95395150;3921837 + 4300;30948;1588;1721;95395150;3921837 + 4301;30960;1592;1721;97503245;3807615 + 4302;30962;1592;1722;97503245;3838577 + 4303;30972;1592;1722;97503245;3838577 + 4304;30980;1592;1723;97503245;3869557 + 4305;30984;1592;1723;97503245;3869557 + 4306;30993;1592;1724;97503245;3900550 + 4307;30996;1592;1724;97503245;3900550 + 4308;31008;1594;1724;98461522;3843345 + 4309;31012;1594;1725;98461522;3874357 + 4310;31020;1594;1725;98461522;3874357 + 4311;31028;1594;1726;98461522;3905385 + 4312;31032;1594;1726;98461522;3905385 + 4313;31044;1594;1726;98461522;3905385 + 4314;31046;1596;1727;99197955;3879167 + 4315;31056;1596;1727;99197955;3879167 + 4316;31065;1596;1728;99197955;3910232 + 4317;31068;1596;1728;99197955;3910232 + 4318;31077;1596;1729;99197955;3941309 + 4319;31080;1596;1729;99197955;3941309 + 4320;31092;1596;1729;99197955;3941309 + 4321;31099;1613;1730;96743342;3482873 + 4322;31104;1613;1730;96743342;3482873 + 4323;31112;1613;1731;96743342;3513985 + 4324;31116;1613;1731;96743342;3513985 + 4325;31128;1613;1731;96743342;3513985 + 4326;31128;1613;1732;96743342;3545113 + 4327;31140;1613;1732;96743342;3545113 + 4328;31140;1613;1733;96743342;3576253 + 4329;31152;1613;1733;96743342;3576253 + 4330;31159;1613;1734;96743342;3607412 + 4331;31164;1613;1734;96743342;3607412 + 4332;31176;1613;1734;96743342;3607412 + 4333;31181;1613;1735;96743342;3638593 + 4334;31188;1613;1735;96743342;3638593 + 4335;31195;1613;1736;96743342;3669788 + 4336;31200;1613;1736;96743342;3669788 + 4337;31212;1613;1736;96743342;3669788 + 4338;31217;1613;1737;96743342;3701005 + 4339;31224;1613;1737;96743342;3701005 + 4340;31236;1613;1737;96743342;3701005 + 4341;31237;1613;1738;96743342;3732242 + 4342;31248;1613;1738;96743342;3732242 + 4343;31254;1613;1739;96743342;3763496 + 4344;31260;1613;1739;96743342;3763496 + 4345;31272;1613;1739;96743342;3763496 + 4346;31274;1613;1740;96743342;3794770 + 4347;31284;1613;1740;96743342;3794770 + 4348;31288;1613;1741;96743342;3826058 + 4349;31296;1613;1741;96743342;3826058 + 4350;31306;1613;1742;96743342;3857364 + 4351;31308;1613;1742;96743342;3857364 + 4352;31320;1613;1742;96743342;3857364 + 4353;31322;1613;1743;96743342;3888686 + 4354;31332;1613;1743;96743342;3888686 + 4355;31336;1613;1744;96743342;3920022 + 4356;31344;1613;1744;96743342;3920022 + 4357;31356;1613;1744;96743342;3920022 + 4358;31360;1623;1745;96860558;3660944 + 4359;31368;1623;1745;96860558;3660944 + 4360;31377;1624;1746;96153418;3663169 + 4361;31380;1624;1746;96153418;3663169 + 4362;31390;1624;1747;96153418;3694559 + 4363;31392;1624;1747;96153418;3694559 + 4364;31404;1624;1747;96153418;3694559 + 4365;31404;1624;1748;96153418;3725963 + 4366;31416;1624;1748;96153418;3725963 + 4367;31423;1624;1749;96153418;3757386 + 4368;31428;1624;1749;96153418;3757386 + 4369;31440;1624;1749;96153418;3757386 + 4370;31441;1624;1750;96153418;3788827 + 4371;31452;1624;1750;96153418;3788827 + 4372;31464;1624;1750;96153418;3788827 + 4373;31464;1624;1751;96153418;3820291 + 4374;31476;1624;1751;96153418;3820291 + 4375;31484;1624;1752;96153418;3851775 + 4376;31488;1624;1752;96153418;3851775 + 4377;31500;1624;1752;96153418;3851775 + 4378;31503;1624;1753;96153418;3883278 + 4379;31512;1624;1753;96153418;3883278 + 4380;31522;1624;1754;96153418;3914800 + 4381;31524;1624;1754;96153418;3914800 + 4382;31536;1624;1754;96153418;3914800 + 4383;31544;1624;1755;96153418;3946344 + 4384;31548;1624;1755;96153418;3946344 + 4385;31560;1624;1755;96153418;3946344 + 4386;31567;1624;1756;96153418;3977911 + 4387;31572;1624;1756;96153418;3977911 + 4388;31581;1624;1757;96153418;4009492 + 4389;31584;1624;1757;96153418;4009492 + 4390;31596;1624;1757;96153418;4009492 + 4391;31605;1624;1758;96153418;4041097 + 4392;31608;1624;1758;96153418;4041097 + 4393;31620;1624;1758;96153418;4041097 + 4394;31623;1626;1759;97970565;4014366 + 4395;31632;1626;1759;97970565;4014366 + 4396;31644;1634;1759;99691968;3780257 + 4397;31646;1634;1760;99691968;3811903 + 4398;31656;1634;1760;99691968;3811903 + 4399;31668;1636;1760;100653004;3753197 + 4400;31669;1636;1761;100653004;3784866 + 4401;31680;1636;1761;100653004;3784866 + 4402;31690;1636;1762;100653004;3816556 + 4403;31692;1636;1762;100653004;3816556 + 4404;31704;1636;1762;100653004;3816556 + 4405;31713;1639;1763;101487721;3760060 + 4406;31716;1639;1763;101487721;3760060 + 4407;31728;1639;1763;101487721;3760060 + 4408;31736;1642;1764;101853897;3703424 + 4409;31740;1642;1764;101853897;3703424 + 4410;31752;1642;1764;101853897;3703424 + 4411;31756;1642;1765;101853897;3735180 + 4412;31764;1642;1765;101853897;3735180 + 4413;31769;1642;1766;101853897;3766949 + 4414;31776;1642;1766;101853897;3766949 + 4415;31788;1642;1766;101853897;3766949 + 4416;31793;1646;1767;103579194;3680688 + 4417;31800;1646;1767;103579194;3680688 + 4418;31812;1646;1767;103579194;3680688 + 4419;31816;1646;1768;103579194;3712504 + 4420;31824;1646;1768;103579194;3712504 + 4421;31828;1646;1769;103579194;3744332 + 4422;31836;1646;1769;103579194;3744332 + 4423;31848;1646;1769;103579194;3744332 + 4424;31852;1646;1770;103579194;3776184 + 4425;31860;1646;1770;103579194;3776184 + 4426;31869;1646;1771;103579194;3808053 + 4427;31872;1646;1771;103579194;3808053 + 4428;31884;1646;1771;103579194;3808053 + 4429;31886;1646;1772;103579194;3839939 + 4430;31896;1646;1772;103579194;3839939 + 4431;31907;1646;1773;103579194;3871846 + 4432;31908;1646;1773;103579194;3871846 + 4433;31920;1646;1773;103579194;3871846 + 4434;31927;1650;1774;103431366;3785405 + 4435;31932;1650;1774;103431366;3785405 + 4436;31941;1650;1775;103431366;3817346 + 4437;31944;1650;1775;103431366;3817346 + 4438;31953;1650;1776;103431366;3849299 + 4439;31956;1650;1776;103431366;3849299 + 4440;31968;1650;1776;103431366;3849299 + 4441;31977;1650;1777;103431366;3881276 + 4442;31980;1650;1777;103431366;3881276 + 4443;31992;1653;1777;102960372;3792284 + 4444;31994;1653;1778;102960372;3824278 + 4445;32004;1653;1778;102960372;3824278 + 4446;32006;1653;1779;102960372;3856284 + 4447;32016;1653;1779;102960372;3856284 + 4448;32027;1653;1780;102960372;3888311 + 4449;32028;1653;1780;102960372;3888311 + 4450;32040;1653;1780;102960372;3888311 + 4451;32048;1653;1781;102960372;3920359 + 4452;32052;1653;1781;102960372;3920359 + 4453;32064;1653;1781;102960372;3920359 + 4454;32068;1654;1782;103849686;3922720 + 4455;32076;1654;1782;103849686;3922720 + 4456;32088;1654;1782;103849686;3922720 + 4457;32092;1654;1783;103849686;3954812 + 4458;32100;1654;1783;103849686;3954812 + 4459;32111;1654;1784;103849686;3986923 + 4460;32112;1654;1784;103849686;3986923 + 4461;32124;1654;1784;103849686;3986923 + 4462;32129;1654;1785;103849686;4019052 + 4463;32136;1654;1785;103849686;4019052 + 4464;32143;1654;1786;103849686;4051195 + 4465;32148;1654;1786;103849686;4051195 + 4466;32160;1654;1786;103849686;4051195 + 4467;32166;1664;1787;104379827;3785325 + 4468;32172;1664;1787;104379827;3785325 + 4469;32182;1664;1788;104379827;3817507 + 4470;32184;1664;1788;104379827;3817507 + 4471;32196;1664;1788;104379827;3817507 + 4472;32203;1664;1789;104379827;3849710 + 4473;32208;1664;1789;104379827;3849710 + 4474;32217;1664;1790;104379827;3881927 + 4475;32220;1664;1790;104379827;3881927 + 4476;32232;1664;1790;104379827;3881927 + 4477;32239;1664;1791;104379827;3914166 + 4478;32244;1664;1791;104379827;3914166 + 4479;32256;1664;1791;104379827;3914166 + 4480;32257;1674;1792;102883679;3646625 + 4481;32268;1676;1792;101784349;3586443 + 4482;32273;1676;1793;101784349;3618716 + 4483;32280;1676;1793;101784349;3618716 + 4484;32287;1676;1794;101784349;3651003 + 4485;32292;1676;1794;101784349;3651003 + 4486;32304;1676;1794;101784349;3651003 + 4487;32304;1676;1795;101784349;3683307 + 4488;32316;1676;1795;101784349;3683307 + 4489;32328;1676;1795;101784349;3683307 + 4490;32328;1676;1796;101784349;3715635 + 4491;32340;1676;1796;101784349;3715635 + 4492;32352;1676;1796;101784349;3715635 + 4493;32352;1676;1797;101784349;3747987 + 4494;32364;1676;1797;101784349;3747987 + 4495;32367;1678;1798;102148424;3720105 + 4496;32376;1678;1798;102148424;3720105 + 4497;32380;1678;1799;102148424;3752485 + 4498;32388;1678;1799;102148424;3752485 + 4499;32400;1678;1799;102148424;3752485 + 4500;32400;1678;1800;102148424;3784885 + 4501;32412;1678;1800;102148424;3784885 + 4502;32414;1678;1801;102148424;3817299 + 4503;32424;1678;1801;102148424;3817299 + 4504;32427;1678;1802;102148424;3849726 + 4505;32436;1678;1802;102148424;3849726 + 4506;32441;1678;1803;102148424;3882167 + 4507;32448;1678;1803;102148424;3882167 + 4508;32458;1678;1804;102148424;3914625 + 4509;32460;1678;1804;102148424;3914625 + 4510;32472;1678;1804;102148424;3914625 + 4511;32480;1678;1805;102148424;3947105 + 4512;32484;1678;1805;102148424;3947105 + 4513;32495;1678;1806;102148424;3979600 + 4514;32496;1678;1806;102148424;3979600 + 4515;32508;1678;1806;102148424;3979600 + 4516;32512;1678;1807;102148424;4012112 + 4517;32520;1678;1807;102148424;4012112 + 4518;32532;1678;1807;102148424;4012112 + 4519;32536;1678;1808;102148424;4044648 + 4520;32544;1685;1808;99753892;3833154 + 4521;32548;1685;1809;99753892;3865702 + 4522;32556;1685;1809;99753892;3865702 + 4523;32561;1685;1810;99753892;3898263 + 4524;32568;1685;1810;99753892;3898263 + 4525;32573;1685;1811;99753892;3930836 + 4526;32580;1685;1811;99753892;3930836 + 4527;32590;1685;1812;99753892;3963426 + 4528;32592;1685;1812;99753892;3963426 + 4529;32604;1685;1812;99753892;3963426 + 4530;32608;1688;1813;99413784;3905129 + 4531;32616;1688;1813;99413784;3905129 + 4532;32624;1688;1814;99413784;3937753 + 4533;32628;1688;1814;99413784;3937753 + 4534;32636;1688;1815;99413784;3970389 + 4535;32640;1688;1815;99413784;3970389 + 4536;32652;1688;1815;99413784;3970389 + 4537;32657;1688;1816;99413784;4003046 + 4538;32664;1688;1816;99413784;4003046 + 4539;32674;1688;1817;99413784;4035720 + 4540;32676;1688;1817;99413784;4035720 + 4541;32688;1688;1817;99413784;4035720 + 4542;32694;1689;1818;100256899;4038070 + 4543;32700;1689;1818;100256899;4038070 + 4544;32712;1689;1818;100256899;4038070 + 4545;32712;1689;1819;100256899;4070782 + 4546;32724;1689;1819;100256899;4070782 + 4547;32729;1689;1820;100256899;4103511 + 4548;32736;1689;1820;100256899;4103511 + 4549;32747;1689;1821;100256899;4136258 + 4550;32748;1689;1821;100256899;4136258 + 4551;32760;1689;1821;100256899;4136258 + 4552;32766;1689;1822;100256899;4169024 + 4553;32772;1689;1822;100256899;4169024 + 4554;32780;1689;1823;100256899;4201804 + 4555;32784;1689;1823;100256899;4201804 + 4556;32796;1689;1823;100256899;4201804 + 4557;32798;1699;1824;101626460;3930070 + 4558;32808;1700;1824;100837554;3899508 + 4559;32817;1700;1825;100837554;3932325 + 4560;32820;1700;1825;100837554;3932325 + 4561;32832;1700;1825;100837554;3932325 + 4562;32832;1700;1826;100837554;3965157 + 4563;32844;1700;1826;100837554;3965157 + 4564;32851;1700;1827;100837554;3998008 + 4565;32856;1700;1827;100837554;3998008 + 4566;32868;1700;1827;100837554;3998008 + 4567;32873;1700;1828;100837554;4030881 + 4568;32880;1700;1828;100837554;4030881 + 4569;32892;1700;1828;100837554;4030881 + 4570;32895;1700;1829;100837554;4063776 + 4571;32904;1700;1829;100837554;4063776 + 4572;32907;1700;1830;100837554;4096683 + 4573;32916;1700;1830;100837554;4096683 + 4574;32928;1700;1830;100837554;4096683 + 4575;32930;1700;1831;100837554;4129613 + 4576;32940;1700;1831;100837554;4129613 + 4577;32946;1706;1832;97997945;3978858 + 4578;32952;1706;1832;97997945;3978858 + 4579;32964;1706;1832;97997945;3978858 + 4580;32969;1707;1833;98642054;3981143 + 4581;32976;1707;1833;98642054;3981143 + 4582;32988;1707;1833;98642054;3981143 + 4583;32993;1707;1834;98642054;4014136 + 4584;33000;1707;1834;98642054;4014136 + 4585;33007;1707;1835;98642054;4047143 + 4586;33012;1707;1835;98642054;4047143 + 4587;33024;1707;1835;98642054;4047143 + 4588;33024;1707;1836;98642054;4080167 + 4589;33036;1707;1836;98642054;4080167 + 4590;33044;1707;1837;98642054;4113211 + 4591;33048;1707;1837;98642054;4113211 + 4592;33060;1707;1837;98642054;4113211 + 4593;33068;1707;1838;98642054;4146279 + 4594;33072;1707;1838;98642054;4146279 + 4595;33080;1707;1839;98642054;4179359 + 4596;33084;1707;1839;98642054;4179359 + 4597;33096;1707;1839;98642054;4179359 + 4598;33097;1707;1840;98642054;4212456 + 4599;33108;1707;1840;98642054;4212456 + 4600;33114;1707;1841;98642054;4245570 + 4601;33120;1707;1841;98642054;4245570 + 4602;33132;1707;1841;98642054;4245570 + 4603;33136;1707;1842;98642054;4278706 + 4604;33144;1707;1842;98642054;4278706 + 4605;33156;1707;1842;98642054;4278706 + 4606;33157;1717;1843;103235659;4003971 + 4607;33168;1717;1843;103235659;4003971 + 4608;33180;1722;1843;102303947;3849258 + 4609;33180;1722;1844;102303947;3882438 + 4610;33192;1722;1844;102303947;3882438 + 4611;33201;1722;1845;102303947;3915639 + 4612;33204;1722;1845;102303947;3915639 + 4613;33216;1722;1845;102303947;3915639 + 4614;33225;1722;1846;102303947;3948864 + 4615;33228;1722;1846;102303947;3948864 + 4616;33240;1722;1846;102303947;3948864 + 4617;33246;1722;1847;102303947;3982110 + 4618;33252;1722;1847;102303947;3982110 + 4619;33264;1722;1847;102303947;3982110 + 4620;33265;1722;1848;102303947;4015375 + 4621;33276;1722;1848;102303947;4015375 + 4622;33287;1722;1849;102303947;4048662 + 4623;33288;1722;1849;102303947;4048662 + 4624;33300;1723;1849;103024327;4017669 + 4625;33307;1723;1850;103024327;4050976 + 4626;33312;1723;1850;103024327;4050976 + 4627;33324;1723;1850;103024327;4050976 + 4628;33325;1723;1851;103024327;4084301 + 4629;33336;1723;1851;103024327;4084301 + 4630;33345;1731;1852;100387722;3869079 + 4631;33348;1731;1852;100387722;3869079 + 4632;33360;1731;1852;100387722;3869079 + 4633;33360;1731;1853;100387722;3902439 + 4634;33372;1731;1853;100387722;3902439 + 4635;33384;1731;1853;100387722;3902439 + 4636;33384;1733;1854;101016169;3873524 + 4637;33396;1733;1854;101016169;3873524 + 4638;33404;1733;1855;101016169;3906928 + 4639;33408;1733;1855;101016169;3906928 + 4640;33420;1733;1855;101016169;3906928 + 4641;33426;1733;1856;101016169;3940354 + 4642;33432;1733;1856;101016169;3940354 + 4643;33443;1733;1857;101016169;3973797 + 4644;33444;1733;1857;101016169;3973797 + 4645;33456;1733;1857;101016169;3973797 + 4646;33466;1733;1858;101016169;4007263 + 4647;33468;1733;1858;101016169;4007263 + 4648;33480;1733;1858;101016169;4007263 + 4649;33481;1733;1859;101016169;4040744 + 4650;33492;1733;1859;101016169;4040744 + 4651;33499;1733;1860;101016169;4074243 + 4652;33504;1733;1860;101016169;4074243 + 4653;33513;1733;1861;101016169;4107756 + 4654;33516;1733;1861;101016169;4107756 + 4655;33528;1733;1861;101016169;4107756 + 4656;33532;1733;1862;101016169;4141288 + 4657;33540;1733;1862;101016169;4141288 + 4658;33552;1733;1862;101016169;4141288 + 4659;33556;1742;1863;99392180;3893570 + 4660;33564;1742;1863;99392180;3893570 + 4661;33574;1742;1864;99392180;3927144 + 4662;33576;1742;1864;99392180;3927144 + 4663;33587;1742;1865;99392180;3960731 + 4664;33588;1742;1865;99392180;3960731 + 4665;33599;1742;1866;99392180;3994330 + 4666;33600;1742;1866;99392180;3994330 + 4667;33612;1742;1866;99392180;3994330 + 4668;33618;1742;1867;99392180;4027948 + 4669;33624;1742;1867;99392180;4027948 + 4670;33636;1742;1867;99392180;4027948 + 4671;33638;1742;1868;99392180;4061586 + 4672;33648;1742;1868;99392180;4061586 + 4673;33658;1742;1869;99392180;4095244 + 4674;33660;1742;1869;99392180;4095244 + 4675;33672;1742;1869;99392180;4095244 + 4676;33673;1742;1870;99392180;4128917 + 4677;33684;1742;1870;99392180;4128917 + 4678;33689;1742;1871;99392180;4162606 + 4679;33696;1742;1871;99392180;4162606 + 4680;33708;1742;1871;99392180;4162606 + 4681;33709;1742;1872;99392180;4196315 + 4682;33720;1742;1872;99392180;4196315 + 4683;33732;1742;1872;99392180;4196315 + 4684;33732;1742;1873;99392180;4230047 + 4685;33744;1742;1873;99392180;4230047 + 4686;33745;1742;1874;99392180;4263792 + 4687;33756;1744;1874;99828252;4201096 + 4688;33765;1744;1875;99828252;4234861 + 4689;33768;1744;1875;99828252;4234861 + 4690;33780;1744;1875;99828252;4234861 + 4691;33786;1744;1876;99828252;4268647 + 4692;33792;1744;1876;99828252;4268647 + 4693;33804;1744;1876;99828252;4268647 + 4694;33804;1744;1877;99828252;4302451 + 4695;33816;1744;1877;99828252;4302451 + 4696;33820;1747;1878;101834925;4242100 + 4697;33828;1747;1878;101834925;4242100 + 4698;33836;1747;1879;101834925;4275936 + 4699;33840;1747;1879;101834925;4275936 + 4700;33852;1747;1879;101834925;4275936 + 4701;33854;1747;1880;101834925;4309790 + 4702;33864;1751;1880;102803851;4183978 + 4703;33873;1751;1881;102803851;4217851 + 4704;33876;1751;1881;102803851;4217851 + 4705;33888;1751;1881;102803851;4217851 + 4706;33897;1751;1882;102803851;4251748 + 4707;33900;1751;1882;102803851;4251748 + 4708;33912;1751;1882;102803851;4251748 + 4709;33912;1751;1883;102803851;4285660 + 4710;33924;1751;1883;102803851;4285660 + 4711;33935;1751;1884;102803851;4319595 + 4712;33936;1751;1884;102803851;4319595 + 4713;33948;1751;1884;102803851;4319595 + 4714;33958;1756;1885;101822279;4195836 + 4715;33960;1756;1885;101822279;4195836 + 4716;33971;1756;1886;101822279;4229807 + 4717;33972;1756;1886;101822279;4229807 + 4718;33984;1756;1886;101822279;4229807 + 4719;33993;1758;1887;103123535;4200572 + 4720;33996;1758;1887;103123535;4200572 + 4721;34008;1758;1887;103123535;4200572 + 4722;34011;1758;1888;103123535;4234583 + 4723;34020;1758;1888;103123535;4234583 + 4724;34031;1761;1889;104616674;4173609 + 4725;34032;1761;1889;104616674;4173609 + 4726;34044;1761;1889;104616674;4173609 + 4727;34045;1761;1890;104616674;4207654 + 4728;34056;1761;1890;104616674;4207654 + 4729;34057;1761;1891;104616674;4241711 + 4730;34068;1761;1891;104616674;4241711 + 4731;34077;1761;1892;104616674;4275788 + 4732;34080;1761;1892;104616674;4275788 + 4733;34089;1761;1893;104616674;4309877 + 4734;34092;1761;1893;104616674;4309877 + 4735;34104;1761;1893;104616674;4309877 + 4736;34104;1762;1894;105625185;4312268 + 4737;34116;1762;1894;105625185;4312268 + 4738;34127;1762;1895;105625185;4346395 + 4739;34128;1762;1895;105625185;4346395 + 4740;34140;1762;1895;105625185;4346395 + 4741;34149;1772;1896;105379511;4062332 + 4742;34152;1772;1896;105379511;4062332 + 4743;34163;1774;1897;103473122;4032627 + 4744;34164;1774;1897;103473122;4032627 + 4745;34176;1774;1897;103473122;4032627 + 4746;34180;1774;1898;103473122;4066807 + 4747;34188;1774;1898;103473122;4066807 + 4748;34194;1774;1899;103473122;4101001 + 4749;34200;1774;1899;103473122;4101001 + 4750;34212;1774;1899;103473122;4101001 + 4751;34212;1774;1900;103473122;4135213 + 4752;34224;1774;1900;103473122;4135213 + 4753;34228;1774;1901;103473122;4169441 + 4754;34236;1774;1901;103473122;4169441 + 4755;34248;1774;1901;103473122;4169441 + 4756;34249;1774;1902;103473122;4203690 + 4757;34260;1774;1902;103473122;4203690 + 4758;34265;1774;1903;103473122;4237955 + 4759;34272;1774;1903;103473122;4237955 + 4760;34280;1774;1904;103473122;4272235 + 4761;34284;1774;1904;103473122;4272235 + 4762;34296;1774;1904;103473122;4272235 + 4763;34296;1774;1905;103473122;4306531 + 4764;34308;1774;1905;103473122;4306531 + 4765;34308;1776;1906;104655659;4276909 + 4766;34320;1776;1906;104655659;4276909 + 4767;34331;1777;1907;105513742;4279246 + 4768;34332;1777;1907;105513742;4279246 + 4769;34344;1777;1907;105513742;4279246 + 4770;34348;1777;1908;105513742;4313594 + 4771;34356;1777;1908;105513742;4313594 + 4772;34368;1777;1908;105513742;4313594 + 4773;34370;1778;1909;106471380;4315958 + 4774;34380;1778;1909;106471380;4315958 + 4775;34389;1778;1910;106471380;4350347 + 4776;34392;1778;1910;106471380;4350347 + 4777;34404;1778;1910;106471380;4350347 + 4778;34406;1778;1911;106471380;4384753 + 4779;34416;1778;1911;106471380;4384753 + 4780;34421;1778;1912;106471380;4419174 + 4781;34428;1778;1912;106471380;4419174 + 4782;34435;1778;1913;106471380;4453609 + 4783;34440;1778;1913;106471380;4453609 + 4784;34452;1778;1913;106471380;4453609 + 4785;34453;1778;1914;106471380;4488062 + 4786;34464;1778;1914;106471380;4488062 + 4787;34473;1778;1915;106471380;4522535 + 4788;34476;1778;1915;106471380;4522535 + 4789;34488;1785;1915;105848424;4297917 + 4790;34495;1785;1916;105848424;4332412 + 4791;34500;1785;1916;105848424;4332412 + 4792;34512;1785;1916;105848424;4332412 + 4793;34515;1785;1917;105848424;4366927 + 4794;34524;1785;1917;105848424;4366927 + 4795;34531;1785;1918;105848424;4401458 + 4796;34536;1785;1918;105848424;4401458 + 4797;34548;1785;1918;105848424;4401458 + 4798;34553;1785;1919;105848424;4436011 + 4799;34560;1785;1919;105848424;4436011 + 4800;34572;1785;1919;105848424;4436011 + 4801;34577;1785;1920;105848424;4470588 + 4802;34584;1785;1920;105848424;4470588 + 4803;34593;1789;1921;106359044;4376413 + 4804;34596;1789;1921;106359044;4376413 + 4805;34608;1789;1921;106359044;4376413 + 4806;34612;1789;1922;106359044;4411025 + 4807;34620;1789;1922;106359044;4411025 + 4808;34625;1790;1923;107394354;4413411 + 4809;34632;1790;1923;107394354;4413411 + 4810;34637;1790;1924;107394354;4448048 + 4811;34644;1790;1924;107394354;4448048 + 4812;34656;1790;1924;107394354;4448048 + 4813;34657;1795;1925;109210109;4321256 + 4814;34668;1795;1925;109210109;4321256 + 4815;34672;1795;1926;109210109;4355928 + 4816;34680;1795;1926;109210109;4355928 + 4817;34689;1796;1927;110067936;4358265 + 4818;34692;1796;1927;110067936;4358265 + 4819;34704;1796;1927;110067936;4358265 + 4820;34710;1796;1928;110067936;4392975 + 4821;34716;1796;1928;110067936;4392975 + 4822;34728;1796;1928;110067936;4392975 + 4823;34730;1796;1929;110067936;4427705 + 4824;34740;1796;1929;110067936;4427705 + 4825;34751;1796;1930;110067936;4462456 + 4826;34752;1796;1930;110067936;4462456 + 4827;34764;1796;1930;110067936;4462456 + 4828;34775;1800;1931;112081907;4367670 + 4829;34776;1800;1931;112081907;4367670 + 4830;34788;1800;1931;112081907;4367670 + 4831;34790;1800;1932;112081907;4402460 + 4832;34800;1800;1932;112081907;4402460 + 4833;34812;1800;1932;112081907;4402460 + 4834;34814;1800;1933;112081907;4437274 + 4835;34824;1800;1933;112081907;4437274 + 4836;34836;1800;1933;112081907;4437274 + 4837;34838;1800;1934;112081907;4472112 + 4838;34848;1800;1934;112081907;4472112 + 4839;34856;1800;1935;112081907;4506968 + 4840;34860;1800;1935;112081907;4506968 + 4841;34872;1800;1935;112081907;4506968 + 4842;34880;1810;1936;112168940;4216817 + 4843;34884;1810;1936;112168940;4216817 + 4844;34894;1810;1937;112168940;4251711 + 4845;34896;1810;1937;112168940;4251711 + 4846;34908;1810;1937;112168940;4251711 + 4847;34917;1810;1938;112168940;4286628 + 4848;34920;1810;1938;112168940;4286628 + 4849;34932;1810;1938;112168940;4286628 + 4850;34938;1815;1939;113014913;4158451 + 4851;34944;1815;1939;113014913;4158451 + 4852;34956;1815;1939;113014913;4158451 + 4853;34956;1815;1940;113014913;4193407 + 4854;34968;1815;1940;113014913;4193407 + 4855;34977;1822;1941;112228160;3999282 + 4856;34980;1822;1941;112228160;3999282 + 4857;34989;1822;1942;112228160;4034271 + 4858;34992;1822;1942;112228160;4034271 + 4859;35004;1822;1942;112228160;4034271 + 4860;35013;1822;1943;112228160;4069284 + 4861;35016;1822;1943;112228160;4069284 + 4862;35028;1822;1943;112228160;4069284 + 4863;35034;1822;1944;112228160;4104318 + 4864;35040;1822;1944;112228160;4104318 + 4865;35052;1822;1944;112228160;4104318 + 4866;35052;1822;1945;112228160;4139370 + 4867;35064;1822;1945;112228160;4139370 + 4868;35067;1822;1946;112228160;4174437 + 4869;35076;1822;1946;112228160;4174437 + 4870;35085;1822;1947;112228160;4209522 + 4871;35088;1822;1947;112228160;4209522 + 4872;35099;1822;1948;112228160;4244621 + 4873;35100;1822;1948;112228160;4244621 + 4874;35112;1822;1948;112228160;4244621 + 4875;35122;1822;1949;112228160;4279743 + 4876;35124;1822;1949;112228160;4279743 + 4877;35134;1822;1950;112228160;4314877 + 4878;35136;1822;1950;112228160;4314877 + 4879;35148;1822;1950;112228160;4314877 + 4880;35149;1832;1951;108147221;4021208 + 4881;35160;1832;1951;108147221;4021208 + 4882;35167;1833;1952;107234422;4023382 + 4883;35172;1833;1952;107234422;4023382 + 4884;35179;1833;1953;107234422;4058561 + 4885;35184;1833;1953;107234422;4058561 + 4886;35196;1833;1953;107234422;4058561 + 4887;35199;1833;1954;107234422;4093760 + 4888;35208;1833;1954;107234422;4093760 + 4889;35211;1833;1955;107234422;4128971 + 4890;35220;1833;1955;107234422;4128971 + 4891;35225;1833;1956;107234422;4164196 + 4892;35232;1833;1956;107234422;4164196 + 4893;35244;1833;1956;107234422;4164196 + 4894;35246;1833;1957;107234422;4199442 + 4895;35256;1833;1957;107234422;4199442 + 4896;35259;1833;1958;107234422;4234701 + 4897;35268;1833;1958;107234422;4234701 + 4898;35280;1833;1958;107234422;4234701 + 4899;35280;1833;1959;107234422;4269981 + 4900;35292;1833;1959;107234422;4269981 + 4901;35298;1835;1960;108358968;4239248 + 4902;35304;1835;1960;108358968;4239248 + 4903;35316;1835;1960;108358968;4239248 + 4904;35317;1835;1961;108358968;4274565 + 4905;35328;1835;1961;108358968;4274565 + 4906;35339;1835;1962;108358968;4309904 + 4907;35340;1835;1962;108358968;4309904 + 4908;35352;1835;1962;108358968;4309904 + 4909;35363;1835;1963;108358968;4345267 + 4910;35364;1835;1963;108358968;4345267 + 4911;35376;1835;1963;108358968;4345267 + 4912;35380;1835;1964;108358968;4380647 + 4913;35388;1835;1964;108358968;4380647 + 4914;35400;1835;1964;108358968;4380647 + 4915;35403;1835;1965;108358968;4416050 + 4916;35412;1835;1965;108358968;4416050 + 4917;35424;1835;1965;108358968;4416050 + 4918;35427;1835;1966;108358968;4451477 + 4919;35436;1835;1966;108358968;4451477 + 4920;35445;1835;1967;108358968;4486922 + 4921;35448;1835;1967;108358968;4486922 + 4922;35460;1835;1967;108358968;4486922 + 4923;35468;1835;1968;108358968;4522390 + 4924;35472;1835;1968;108358968;4522390 + 4925;35484;1835;1968;108358968;4522390 + 4926;35486;1835;1969;108358968;4557876 + 4927;35496;1835;1969;108358968;4557876 + 4928;35501;1835;1970;108358968;4593377 + 4929;35508;1835;1970;108358968;4593377 + 4930;35520;1835;1970;108358968;4593377 + 4931;35520;1837;1971;109651801;4562785 + 4932;35532;1837;1971;109651801;4562785 + 4933;35534;1837;1972;109651801;4598319 + 4934;35544;1839;1972;110221827;4532142 + 4935;35549;1844;1973;113761255;4401903 + 4936;35556;1844;1973;113761255;4401903 + 4937;35562;1844;1974;113761255;4437465 + 4938;35568;1844;1974;113761255;4437465 + 4939;35580;1844;1974;113761255;4437465 + 4940;35584;1844;1975;113761255;4473049 + 4941;35592;1844;1975;113761255;4473049 + 4942;35596;1844;1976;113761255;4508645 + 4943;35604;1844;1976;113761255;4508645 + 4944;35613;1844;1977;113761255;4544258 + 4945;35616;1844;1977;113761255;4544258 + 4946;35628;1844;1977;113761255;4544258 + 4947;35637;1844;1978;113761255;4579895 + 4948;35640;1844;1978;113761255;4579895 + 4949;35649;1844;1979;113761255;4615544 + 4950;35652;1844;1979;113761255;4615544 + 4951;35662;1844;1980;113761255;4651206 + 4952;35664;1844;1980;113761255;4651206 + 4953;35676;1844;1980;113761255;4651206 + 4954;35677;1847;1981;115079234;4587147 + 4955;35688;1847;1981;115079234;4587147 + 4956;35689;1848;1982;116242729;4589549 + 4957;35700;1848;1982;116242729;4589549 + 4958;35701;1848;1983;116242729;4625250 + 4959;35712;1848;1983;116242729;4625250 + 4960;35720;1848;1984;116242729;4660970 + 4961;35724;1848;1984;116242729;4660970 + 4962;35734;1855;1985;118153047;4463153 + 4963;35736;1855;1985;118153047;4463153 + 4964;35748;1855;1985;118153047;4463153 + 4965;35753;1855;1986;118153047;4498906 + 4966;35760;1855;1986;118153047;4498906 + 4967;35767;1855;1987;118153047;4534673 + 4968;35772;1855;1987;118153047;4534673 + 4969;35781;1861;1988;116698369;4369520 + 4970;35784;1861;1988;116698369;4369520 + 4971;35796;1861;1988;116698369;4369520 + 4972;35796;1861;1989;116698369;4405316 + 4973;35808;1861;1989;116698369;4405316 + 4974;35808;1861;1990;116698369;4441124 + 4975;35820;1861;1990;116698369;4441124 + 4976;35823;1861;1991;116698369;4476947 + 4977;35832;1861;1991;116698369;4476947 + 4978;35844;1861;1991;116698369;4476947 + 4979;35846;1861;1992;116698369;4512793 + 4980;35856;1861;1992;116698369;4512793 + 4981;35860;1861;1993;116698369;4548653 + 4982;35868;1861;1993;116698369;4548653 + 4983;35874;1861;1994;116698369;4584527 + 4984;35880;1861;1994;116698369;4584527 + 4985;35892;1861;1994;116698369;4584527 + 4986;35893;1861;1995;116698369;4620420 + 4987;35904;1861;1995;116698369;4620420 + 4988;35914;1861;1996;116698369;4656334 + 4989;35916;1861;1996;116698369;4656334 + 4990;35928;1861;1996;116698369;4656334 + 4991;35936;1861;1997;116698369;4692270 + 4992;35940;1861;1997;116698369;4692270 + 4993;35948;1861;1998;116698369;4728218 + 4994;35952;1861;1998;116698369;4728218 + 4995;35960;1861;1999;116698369;4764178 + 4996;35964;1861;1999;116698369;4764178 + 4997;35976;1861;1999;116698369;4764178 + 4998;35976;1861;2000;116698369;4800154 + 4999;35988;1861;2000;116698369;4800154 + 5000;35988;1861;2001;116698369;4836142 + 5001;36000;1861;2001;116698369;4836142 + 5002;36004;1861;2002;116698369;4872146 + 5003;36012;1861;2002;116698369;4872146 + 5004;36022;1871;2003;113454379;4571867 + 5005;36024;1871;2003;113454379;4571867 + 5006;36036;1877;2003;112123675;4369215 + 5007;36036;1877;2004;112123675;4405251 + 5008;36048;1877;2004;112123675;4405251 + 5009;36048;1877;2005;112123675;4441299 + 5010;36060;1877;2005;112123675;4441299 + 5011;36062;1877;2006;112123675;4477361 + 5012;36072;1877;2006;112123675;4477361 + 5013;36081;1877;2007;112123675;4513442 + 5014;36084;1877;2007;112123675;4513442 + 5015;36096;1877;2007;112123675;4513442 + 5016;36096;1877;2008;112123675;4549538 + 5017;36108;1877;2008;112123675;4549538 + 5018;36119;1877;2009;112123675;4585657 + 5019;36120;1877;2009;112123675;4585657 + 5020;36132;1877;2009;112123675;4585657 + 5021;36135;1877;2010;112123675;4621792 + 5022;36144;1877;2010;112123675;4621792 + 5023;36152;1877;2011;112123675;4657944 + 5024;36156;1877;2011;112123675;4657944 + 5025;36168;1877;2011;112123675;4657944 + 5026;36176;1880;2012;111516110;4592557 + 5027;36180;1880;2012;111516110;4592557 + 5028;36192;1880;2012;111516110;4592557 + 5029;36193;1880;2013;111516110;4628750 + 5030;36204;1880;2013;111516110;4628750 + 5031;36206;1881;2014;112332743;4631059 + 5032;36216;1881;2014;112332743;4631059 + 5033;36220;1881;2015;112332743;4667279 + 5034;36228;1881;2015;112332743;4667279 + 5035;36234;1881;2016;112332743;4703513 + 5036;36240;1881;2016;112332743;4703513 + 5037;36252;1881;2016;112332743;4703513 + 5038;36252;1891;2017;110047434;4399775 + 5039;36264;1892;2017;109590537;4365686 + 5040;36266;1892;2018;109590537;4401952 + 5041;36276;1892;2018;109590537;4401952 + 5042;36287;1892;2019;109590537;4438239 + 5043;36288;1892;2019;109590537;4438239 + 5044;36300;1892;2019;109590537;4438239 + 5045;36305;1892;2020;109590537;4474544 + 5046;36312;1892;2020;109590537;4474544 + 5047;36321;1892;2021;109590537;4510865 + 5048;36324;1892;2021;109590537;4510865 + 5049;36336;1892;2021;109590537;4510865 + 5050;36343;1892;2022;109590537;4547208 + 5051;36348;1892;2022;109590537;4547208 + 5052;36357;1892;2023;109590537;4583565 + 5053;36360;1892;2023;109590537;4583565 + 5054;36369;1892;2024;109590537;4619934 + 5055;36372;1892;2024;109590537;4619934 + 5056;36384;1892;2024;109590537;4619934 + 5057;36392;1892;2025;109590537;4656326 + 5058;36396;1892;2025;109590537;4656326 + 5059;36408;1892;2025;109590537;4656326 + 5060;36408;1892;2026;109590537;4692734 + 5061;36420;1892;2026;109590537;4692734 + 5062;36425;1892;2027;109590537;4729159 + 5063;36432;1892;2027;109590537;4729159 + 5064;36442;1899;2028;109788065;4526472 + 5065;36444;1899;2028;109788065;4526472 + 5066;36455;1899;2029;109788065;4562927 + 5067;36456;1899;2029;109788065;4562927 + 5068;36468;1899;2029;109788065;4562927 + 5069;36473;1903;2030;108389251;4462378 + 5070;36480;1903;2030;108389251;4462378 + 5071;36492;1903;2030;108389251;4462378 + 5072;36492;1903;2031;108389251;4498870 + 5073;36504;1903;2031;108389251;4498870 + 5074;36506;1903;2032;108389251;4535376 + 5075;36516;1903;2032;108389251;4535376 + 5076;36528;1903;2032;108389251;4535376 + 5077;36530;1903;2033;108389251;4571906 + 5078;36540;1903;2033;108389251;4571906 + 5079;36547;1903;2034;108389251;4608453 + 5080;36552;1903;2034;108389251;4608453 + 5081;36564;1903;2034;108389251;4608453 + 5082;36570;1903;2035;108389251;4645023 + 5083;36576;1903;2035;108389251;4645023 + 5084;36588;1903;2035;108389251;4645023 + 5085;36593;1903;2036;108389251;4681616 + 5086;36600;1903;2036;108389251;4681616 + 5087;36606;1903;2037;108389251;4718222 + 5088;36612;1903;2037;108389251;4718222 + 5089;36624;1903;2037;108389251;4718222 + 5090;36630;1903;2038;108389251;4754852 + 5091;36636;1903;2038;108389251;4754852 + 5092;36646;1910;2039;106892039;4551050 + 5093;36648;1910;2039;106892039;4551050 + 5094;36660;1910;2039;106892039;4551050 + 5095;36661;1910;2040;106892039;4587711 + 5096;36672;1910;2040;106892039;4587711 + 5097;36673;1910;2041;106892039;4624384 + 5098;36684;1910;2041;106892039;4624384 + 5099;36686;1910;2042;106892039;4661070 + 5100;36696;1910;2042;106892039;4661070 + 5101;36702;1910;2043;106892039;4697772 + 5102;36708;1910;2043;106892039;4697772 + 5103;36720;1910;2043;106892039;4697772 + 5104;36725;1910;2044;106892039;4734497 + 5105;36732;1910;2044;106892039;4734497 + 5106;36744;1910;2044;106892039;4734497 + 5107;36746;1910;2045;106892039;4771243 + 5108;36756;1910;2045;106892039;4771243 + 5109;36766;1910;2046;106892039;4808009 + 5110;36768;1910;2046;106892039;4808009 + 5111;36780;1910;2046;106892039;4808009 + 5112;36790;1910;2047;106892039;4844799 + 5113;36792;1910;2047;106892039;4844799 + 5114;36804;1913;2047;106164390;4741490 + 5115;36806;1913;2048;106164390;4778296 + 5116;36816;1913;2048;106164390;4778296 + 5117;36827;1913;2049;106164390;4815123 + 5118;36828;1913;2049;106164390;4815123 + 5119;36839;1913;2050;106164390;4851962 + 5120;36840;1913;2050;106164390;4851962 + 5121;36852;1913;2050;106164390;4851962 + 5122;36861;1922;2051;106411894;4577849 + 5123;36864;1922;2051;106411894;4577849 + 5124;36876;1922;2051;106411894;4577849 + 5125;36883;1922;2052;106411894;4614732 + 5126;36888;1922;2052;106411894;4614732 + 5127;36895;1922;2053;106411894;4651627 + 5128;36900;1922;2053;106411894;4651627 + 5129;36912;1922;2053;106411894;4651627 + 5130;36915;1922;2054;106411894;4688542 + 5131;36924;1922;2054;106411894;4688542 + 5132;36932;1927;2055;106464769;4552109 + 5133;36936;1927;2055;106464769;4552109 + 5134;36948;1927;2055;106464769;4552109 + 5135;36955;1927;2056;106464769;4589064 + 5136;36960;1927;2056;106464769;4589064 + 5137;36968;1927;2057;106464769;4626032 + 5138;36972;1927;2057;106464769;4626032 + 5139;36984;1927;2057;106464769;4626032 + 5140;36988;1927;2058;106464769;4663020 + 5141;36996;1927;2058;106464769;4663020 + 5142;37002;1927;2059;106464769;4700022 + 5143;37008;1927;2059;106464769;4700022 + 5144;37020;1927;2059;106464769;4700022 + 5145;37026;1927;2060;106464769;4737048 + 5146;37032;1927;2060;106464769;4737048 + 5147;37039;1927;2061;106464769;4774087 + 5148;37044;1927;2061;106464769;4774087 + 5149;37052;1927;2062;106464769;4811139 + 5150;37056;1927;2062;106464769;4811139 + 5151;37068;1928;2062;107311027;4776409 + 5152;37068;1928;2063;107311027;4813477 + 5153;37080;1928;2063;107311027;4813477 + 5154;37091;1928;2064;107311027;4850568 + 5155;37092;1928;2064;107311027;4850568 + 5156;37104;1928;2064;107311027;4850568 + 5157;37113;1928;2065;107311027;4887681 + 5158;37116;1928;2065;107311027;4887681 + 5159;37128;1928;2065;107311027;4887681 + 5160;37134;1928;2066;107311027;4924815 + 5161;37140;1928;2066;107311027;4924815 + 5162;37152;1938;2066;105186649;4576362 + 5163;37157;1940;2067;104496561;4543586 + 5164;37164;1940;2067;104496561;4543586 + 5165;37169;1940;2068;104496561;4580755 + 5166;37176;1940;2068;104496561;4580755 + 5167;37187;1940;2069;104496561;4617942 + 5168;37188;1940;2069;104496561;4617942 + 5169;37200;1940;2069;104496561;4617942 + 5170;37205;1940;2070;104496561;4655147 + 5171;37212;1940;2070;104496561;4655147 + 5172;37224;1940;2070;104496561;4655147 + 5173;37226;1940;2071;104496561;4692373 + 5174;37236;1940;2071;104496561;4692373 + 5175;37247;1940;2072;104496561;4729620 + 5176;37248;1940;2072;104496561;4729620 + 5177;37260;1940;2072;104496561;4729620 + 5178;37270;1941;2073;105170321;4731901 + 5179;37272;1941;2073;105170321;4731901 + 5180;37284;1941;2073;105170321;4731901 + 5181;37288;1941;2074;105170321;4769189 + 5182;37296;1941;2074;105170321;4769189 + 5183;37300;1941;2075;105170321;4806489 + 5184;37308;1941;2075;105170321;4806489 + 5185;37320;1941;2075;105170321;4806489 + 5186;37324;1941;2076;105170321;4843813 + 5187;37332;1941;2076;105170321;4843813 + 5188;37341;1941;2077;105170321;4881154 + 5189;37344;1941;2077;105170321;4881154 + 5190;37355;1951;2078;101790670;4567587 + 5191;37356;1951;2078;101790670;4567587 + 5192;37368;1951;2078;101790670;4567587 + 5193;37374;1951;2079;101790670;4604961 + 5194;37380;1951;2079;101790670;4604961 + 5195;37392;1951;2079;101790670;4604961 + 5196;37395;1951;2080;101790670;4642356 + 5197;37404;1951;2080;101790670;4642356 + 5198;37407;1951;2081;101790670;4679763 + 5199;37416;1951;2081;101790670;4679763 + 5200;37425;1951;2082;101790670;4717188 + 5201;37428;1951;2082;101790670;4717188 + 5202;37437;1951;2083;101790670;4754625 + 5203;37440;1951;2083;101790670;4754625 + 5204;37452;1951;2083;101790670;4754625 + 5205;37459;1951;2084;101790670;4792084 + 5206;37464;1951;2084;101790670;4792084 + 5207;37476;1951;2084;101790670;4792084 + 5208;37483;1951;2085;101790670;4829567 + 5209;37488;1951;2085;101790670;4829567 + 5210;37500;1951;2085;101790670;4829567 + 5211;37505;1951;2086;101790670;4867072 + 5212;37512;1951;2086;101790670;4867072 + 5213;37520;1951;2087;101790670;4904592 + 5214;37524;1951;2087;101790670;4904592 + 5215;37533;1951;2088;101790670;4942125 + 5216;37536;1951;2088;101790670;4942125 + 5217;37548;1951;2088;101790670;4942125 + 5218;37552;1951;2089;101790670;4979677 + 5219;37560;1951;2089;101790670;4979677 + 5220;37572;1951;2089;101790670;4979677 + 5221;37575;1951;2090;101790670;5017252 + 5222;37584;1951;2090;101790670;5017252 + 5223;37594;1951;2091;101790670;5054846 + 5224;37596;1951;2091;101790670;5054846 + 5225;37608;1951;2091;101790670;5054846 + 5226;37613;1954;2092;103245275;4986870 + 5227;37620;1954;2092;103245275;4986870 + 5228;37630;1959;2093;100684260;4848192 + 5229;37632;1959;2093;100684260;4848192 + 5230;37644;1959;2093;100684260;4848192 + 5231;37649;1959;2094;100684260;4885841 + 5232;37656;1959;2094;100684260;4885841 + 5233;37663;1959;2095;100684260;4923504 + 5234;37668;1959;2095;100684260;4923504 + 5235;37679;1959;2096;100684260;4961183 + 5236;37680;1959;2096;100684260;4961183 + 5237;37692;1959;2096;100684260;4961183 + 5238;37695;1959;2097;100684260;4998878 + 5239;37704;1959;2097;100684260;4998878 + 5240;37710;1959;2098;100684260;5036588 + 5241;37716;1959;2098;100684260;5036588 + 5242;37722;1959;2099;100684260;5074310 + 5243;37728;1959;2099;100684260;5074310 + 5244;37740;1959;2099;100684260;5074310 + 5245;37745;1964;2100;98700261;4935253 + 5246;37752;1964;2100;98700261;4935253 + 5247;37764;1964;2100;98700261;4935253 + 5248;37765;1964;2101;98700261;4973018 + 5249;37776;1964;2101;98700261;4973018 + 5250;37788;1966;2101;100070305;4902146 + 5251;37789;1966;2102;100070305;4939935 + 5252;37800;1966;2102;100070305;4939935 + 5253;37804;1966;2103;100070305;4977739 + 5254;37812;1966;2103;100070305;4977739 + 5255;37824;1966;2103;100070305;4977739 + 5256;37827;1966;2104;100070305;5015566 + 5257;37836;1966;2104;100070305;5015566 + 5258;37842;1966;2105;100070305;5053408 + 5259;37848;1966;2105;100070305;5053408 + 5260;37855;1966;2106;100070305;5091263 + 5261;37860;1966;2106;100070305;5091263 + 5262;37872;1966;2106;100070305;5091263 + 5263;37874;1966;2107;100070305;5129137 + 5264;37884;1966;2107;100070305;5129137 + 5265;37887;1966;2108;100070305;5167024 + 5266;37896;1966;2108;100070305;5167024 + 5267;37901;1966;2109;100070305;5204925 + 5268;37908;1966;2109;100070305;5204925 + 5269;37920;1966;2109;100070305;5204925 + 5270;37924;1973;2110;97539579;4994229 + 5271;37932;1973;2110;97539579;4994229 + 5272;37944;1973;2110;97539579;4994229 + 5273;37947;1975;2111;98421789;4960996 + 5274;37956;1975;2111;98421789;4960996 + 5275;37961;1975;2112;98421789;4998957 + 5276;37968;1975;2112;98421789;4998957 + 5277;37974;1975;2113;98421789;5036931 + 5278;37980;1975;2113;98421789;5036931 + 5279;37987;1975;2114;98421789;5074918 + 5280;37992;1975;2114;98421789;5074918 + 5281;38004;1975;2114;98421789;5074918 + 5282;38011;1975;2115;98421789;5112929 + 5283;38016;1975;2115;98421789;5112929 + 5284;38027;1975;2116;98421789;5150956 + 5285;38028;1975;2116;98421789;5150956 + 5286;38040;1975;2116;98421789;5150956 + 5287;38044;1975;2117;98421789;5189000 + 5288;38052;1975;2117;98421789;5189000 + 5289;38063;1985;2118;99062531;4870228 + 5290;38064;1985;2118;99062531;4870228 + 5291;38076;1985;2118;99062531;4870228 + 5292;38085;1985;2119;99062531;4908313 + 5293;38088;1985;2119;99062531;4908313 + 5294;38100;1985;2119;99062531;4908313 + 5295;38103;1985;2120;99062531;4946416 + 5296;38112;1985;2120;99062531;4946416 + 5297;38122;1985;2121;99062531;4984538 + 5298;38124;1985;2121;99062531;4984538 + 5299;38136;1985;2121;99062531;4984538 + 5300;38138;1985;2122;99062531;5022676 + 5301;38148;1985;2122;99062531;5022676 + 5302;38158;1985;2123;99062531;5060834 + 5303;38160;1985;2123;99062531;5060834 + 5304;38172;1989;2123;100743673;4917682 + 5305;38174;1989;2124;100743673;4955856 + 5306;38184;1989;2124;100743673;4955856 + 5307;38196;1989;2124;100743673;4955856 + 5308;38196;1989;2125;100743673;4994052 + 5309;38208;1990;2125;101714848;4958229 + 5310;38209;1990;2126;101714848;4996438 + 5311;38220;1990;2126;101714848;4996438 + 5312;38222;1990;2127;101714848;5034660 + 5313;38232;1990;2127;101714848;5034660 + 5314;38244;1990;2127;101714848;5034660 + 5315;38244;1990;2128;101714848;5072904 + 5316;38256;1990;2128;101714848;5072904 + 5317;38266;1993;2129;102631635;5003590 + 5318;38268;1993;2129;102631635;5003590 + 5319;38280;1993;2129;102631635;5003590 + 5320;38284;1993;2130;102631635;5041874 + 5321;38292;1993;2130;102631635;5041874 + 5322;38303;1993;2131;102631635;5080177 + 5323;38304;1993;2131;102631635;5080177 + 5324;38316;1993;2131;102631635;5080177 + 5325;38324;2003;2132;102928410;4758824 + 5326;38328;2003;2132;102928410;4758824 + 5327;38340;2008;2132;103489186;4578418 + 5328;38346;2008;2133;103489186;4616764 + 5329;38352;2008;2133;103489186;4616764 + 5330;38364;2008;2133;103489186;4616764 + 5331;38368;2008;2134;103489186;4655132 + 5332;38376;2008;2134;103489186;4655132 + 5333;38382;2008;2135;103489186;4693514 + 5334;38388;2008;2135;103489186;4693514 + 5335;38400;2008;2135;103489186;4693514 + 5336;38403;2008;2136;103489186;4731917 + 5337;38412;2008;2136;103489186;4731917 + 5338;38416;2008;2137;103489186;4770333 + 5339;38424;2008;2137;103489186;4770333 + 5340;38436;2008;2137;103489186;4770333 + 5341;38439;2008;2138;103489186;4808772 + 5342;38448;2008;2138;103489186;4808772 + 5343;38455;2008;2139;103489186;4847227 + 5344;38460;2008;2139;103489186;4847227 + 5345;38468;2008;2140;103489186;4885695 + 5346;38472;2008;2140;103489186;4885695 + 5347;38484;2008;2140;103489186;4885695 + 5348;38491;2009;2141;104396032;4888051 + 5349;38496;2009;2141;104396032;4888051 + 5350;38508;2009;2141;104396032;4888051 + 5351;38508;2011;2142;104668657;4854231 + 5352;38520;2011;2142;104668657;4854231 + 5353;38527;2011;2143;104668657;4892758 + 5354;38532;2011;2143;104668657;4892758 + 5355;38540;2011;2144;104668657;4931298 + 5356;38544;2011;2144;104668657;4931298 + 5357;38556;2011;2144;104668657;4931298 + 5358;38560;2011;2145;104668657;4969858 + 5359;38568;2011;2145;104668657;4969858 + 5360;38579;2011;2146;104668657;5008437 + 5361;38580;2011;2146;104668657;5008437 + 5362;38592;2011;2146;104668657;5008437 + 5363;38602;2011;2147;104668657;5047039 + 5364;38604;2011;2147;104668657;5047039 + 5365;38616;2011;2147;104668657;5047039 + 5366;38616;2011;2148;104668657;5085655 + 5367;38628;2011;2148;104668657;5085655 + 5368;38631;2011;2149;104668657;5124286 + 5369;38640;2011;2149;104668657;5124286 + 5370;38647;2014;2150;107394354;5054314 + 5371;38652;2014;2150;107394354;5054314 + 5372;38660;2014;2151;107394354;5092974 + 5373;38664;2014;2151;107394354;5092974 + 5374;38676;2014;2151;107394354;5092974 + 5375;38679;2014;2152;107394354;5131653 + 5376;38688;2014;2152;107394354;5131653 + 5377;38692;2014;2153;107394354;5170345 + 5378;38700;2014;2153;107394354;5170345 + 5379;38711;2027;2154;107104653;4736655 + 5380;38712;2027;2154;107104653;4736655 + 5381;38724;2030;2154;107008260;4627235 + 5382;38730;2030;2155;107008260;4665965 + 5383;38736;2030;2155;107008260;4665965 + 5384;38748;2030;2155;107008260;4665965 + 5385;38752;2030;2156;107008260;4704717 + 5386;38760;2030;2156;107008260;4704717 + 5387;38765;2030;2157;107008260;4743482 + 5388;38772;2030;2157;107008260;4743482 + 5389;38784;2030;2157;107008260;4743482 + 5390;38784;2032;2158;106554056;4709230 + 5391;38796;2032;2158;106554056;4709230 + 5392;38804;2032;2159;106554056;4748034 + 5393;38808;2032;2159;106554056;4748034 + 5394;38820;2032;2159;106554056;4748034 + 5395;38827;2032;2160;106554056;4786861 + 5396;38832;2032;2160;106554056;4786861 + 5397;38841;2032;2161;106554056;4825702 + 5398;38844;2032;2161;106554056;4825702 + 5399;38856;2032;2161;106554056;4825702 + 5400;38863;2037;2162;106593763;4681619 + 5401;38868;2037;2162;106593763;4681619 + 5402;38879;2037;2163;106593763;4720498 + 5403;38880;2037;2163;106593763;4720498 + 5404;38892;2037;2163;106593763;4720498 + 5405;38902;2037;2164;106593763;4759400 + 5406;38904;2037;2164;106593763;4759400 + 5407;38914;2037;2165;106593763;4798314 + 5408;38916;2037;2165;106593763;4798314 + 5409;38928;2037;2165;106593763;4798314 + 5410;38932;2037;2166;106593763;4837246 + 5411;38940;2037;2166;106593763;4837246 + 5412;38949;2037;2167;106593763;4876195 + 5413;38952;2037;2167;106593763;4876195 + 5414;38961;2037;2168;106593763;4915156 + 5415;38964;2037;2168;106593763;4915156 + 5416;38976;2037;2168;106593763;4915156 + 5417;38978;2037;2169;106593763;4954134 + 5418;38988;2037;2169;106593763;4954134 + 5419;38991;2037;2170;106593763;4993125 + 5420;39000;2037;2170;106593763;4993125 + 5421;39003;2037;2171;106593763;5032128 + 5422;39012;2037;2171;106593763;5032128 + 5423;39024;2037;2171;106593763;5032128 + 5424;39027;2037;2172;106593763;5071155 + 5425;39036;2037;2172;106593763;5071155 + 5426;39039;2037;2173;106593763;5110194 + 5427;39048;2037;2173;106593763;5110194 + 5428;39060;2037;2173;106593763;5110194 + 5429;39061;2037;2174;106593763;5149255 + 5430;39072;2037;2174;106593763;5149255 + 5431;39079;2037;2175;106593763;5188334 + 5432;39084;2037;2175;106593763;5188334 + 5433;39096;2037;2175;106593763;5188334 + 5434;39100;2037;2176;106593763;5227434 + 5435;39108;2037;2176;106593763;5227434 + 5436;39120;2041;2176;108949332;5080768 + 5437;39124;2049;2177;107587924;4825691 + 5438;39132;2049;2177;107587924;4825691 + 5439;39144;2049;2177;107587924;4825691 + 5440;39145;2049;2178;107587924;4864836 + 5441;39156;2049;2178;107587924;4864836 + 5442;39161;2049;2179;107587924;4903997 + 5443;39168;2049;2179;107587924;4903997 + 5444;39180;2054;2179;105786001;4719511 + 5445;39185;2054;2180;105786001;4758696 + 5446;39192;2054;2180;105786001;4758696 + 5447;39204;2054;2180;105786001;4758696 + 5448;39205;2054;2181;105786001;4797901 + 5449;39216;2054;2181;105786001;4797901 + 5450;39217;2054;2182;105786001;4837118 + 5451;39228;2054;2182;105786001;4837118 + 5452;39240;2054;2182;105786001;4837118 + 5453;39240;2054;2183;105786001;4876358 + 5454;39252;2054;2183;105786001;4876358 + 5455;39257;2054;2184;105786001;4915615 + 5456;39264;2054;2184;105786001;4915615 + 5457;39276;2054;2184;105786001;4915615 + 5458;39276;2054;2185;105786001;4954891 + 5459;39288;2054;2185;105786001;4954891 + 5460;39292;2054;2186;105786001;4994183 + 5461;39300;2054;2186;105786001;4994183 + 5462;39307;2057;2187;107862187;4922579 + 5463;39312;2057;2187;107862187;4922579 + 5464;39321;2057;2188;107862187;4961900 + 5465;39324;2057;2188;107862187;4961900 + 5466;39334;2057;2189;107862187;5001234 + 5467;39336;2057;2189;107862187;5001234 + 5468;39347;2057;2190;107862187;5040581 + 5469;39348;2057;2190;107862187;5040581 + 5470;39360;2057;2190;107862187;5040581 + 5471;39366;2065;2191;106319425;4783422 + 5472;39372;2065;2191;106319425;4783422 + 5473;39380;2065;2192;106319425;4822802 + 5474;39384;2065;2192;106319425;4822802 + 5475;39394;2065;2193;106319425;4862196 + 5476;39396;2065;2193;106319425;4862196 + 5477;39408;2065;2193;106319425;4862196 + 5478;39418;2067;2194;106276520;4827288 + 5479;39420;2067;2194;106276520;4827288 + 5480;39432;2067;2194;106276520;4827288 + 5481;39438;2067;2195;106276520;4866726 + 5482;39444;2067;2195;106276520;4866726 + 5483;39456;2067;2195;106276520;4866726 + 5484;39462;2067;2196;106276520;4906188 + 5485;39468;2067;2196;106276520;4906188 + 5486;39479;2067;2197;106276520;4945667 + 5487;39480;2067;2197;106276520;4945667 + 5488;39492;2067;2197;106276520;4945667 + 5489;39501;2067;2198;106276520;4985168 + 5490;39504;2067;2198;106276520;4985168 + 5491;39516;2067;2198;106276520;4985168 + 5492;39521;2067;2199;106276520;5024689 + 5493;39528;2067;2199;106276520;5024689 + 5494;39535;2067;2200;106276520;5064224 + 5495;39540;2067;2200;106276520;5064224 + 5496;39552;2067;2200;106276520;5064224 + 5497;39554;2067;2201;106276520;5103778 + 5498;39564;2067;2201;106276520;5103778 + 5499;39568;2067;2202;106276520;5143346 + 5500;39576;2067;2202;106276520;5143346 + 5501;39586;2067;2203;106276520;5182932 + 5502;39588;2067;2203;106276520;5182932 + 5503;39600;2067;2203;106276520;5182932 + 5504;39607;2067;2204;106276520;5222539 + 5505;39612;2067;2204;106276520;5222539 + 5506;39621;2067;2205;106276520;5262160 + 5507;39624;2067;2205;106276520;5262160 + 5508;39635;2067;2206;106276520;5301795 + 5509;39636;2067;2206;106276520;5301795 + 5510;39648;2067;2206;106276520;5301795 + 5511;39649;2077;2207;106253425;4968701 + 5512;39660;2081;2207;104932220;4819100 + 5513;39672;2081;2207;104932220;4819100 + 5514;39672;2081;2208;104932220;4858772 + 5515;39684;2081;2208;104932220;4858772 + 5516;39685;2081;2209;104932220;4898457 + 5517;39696;2081;2209;104932220;4898457 + 5518;39707;2081;2210;104932220;4938164 + 5519;39708;2081;2210;104932220;4938164 + 5520;39720;2081;2210;104932220;4938164 + 5521;39723;2081;2211;104932220;4977887 + 5522;39732;2081;2211;104932220;4977887 + 5523;39744;2081;2211;104932220;4977887 + 5524;39746;2087;2212;105451516;4792696 + 5525;39756;2087;2212;105451516;4792696 + 5526;39768;2087;2212;105451516;4792696 + 5527;39770;2087;2213;105451516;4832466 + 5528;39780;2087;2213;105451516;4832466 + 5529;39786;2087;2214;105451516;4872252 + 5530;39792;2087;2214;105451516;4872252 + 5531;39801;2087;2215;105451516;4912053 + 5532;39804;2087;2215;105451516;4912053 + 5533;39815;2087;2216;105451516;4951868 + 5534;39816;2087;2216;105451516;4951868 + 5535;39828;2087;2216;105451516;4951868 + 5536;39829;2087;2217;105451516;4991697 + 5537;39840;2087;2217;105451516;4991697 + 5538;39841;2087;2218;105451516;5031538 + 5539;39852;2087;2218;105451516;5031538 + 5540;39853;2087;2219;105451516;5071391 + 5541;39864;2089;2219;105618626;4996264 + 5542;39876;2089;2219;105618626;4996264 + 5543;39876;2089;2220;105618626;5036140 + 5544;39888;2089;2220;105618626;5036140 + 5545;39897;2089;2221;105618626;5076037 + 5546;39900;2089;2221;105618626;5076037 + 5547;39912;2089;2221;105618626;5076037 + 5548;39919;2089;2222;105618626;5115956 + 5549;39924;2089;2222;105618626;5115956 + 5550;39934;2089;2223;105618626;5155890 + 5551;39936;2089;2223;105618626;5155890 + 5552;39948;2089;2223;105618626;5155890 + 5553;39958;2094;2224;107798576;5007699 + 5554;39960;2094;2224;107798576;5007699 + 5555;39972;2094;2224;107798576;5007699 + 5556;39977;2094;2225;107798576;5047676 + 5557;39984;2094;2225;107798576;5047676 + 5558;39996;2094;2225;107798576;5047676 + 5559;39999;2094;2226;107798576;5087675 + 5560;40008;2094;2226;107798576;5087675 + 5561;40020;2094;2226;107798576;5087675 + 5562;40023;2094;2227;107798576;5127698 + 5563;40032;2094;2227;107798576;5127698 + 5564;40044;2094;2227;107798576;5127698 + 5565;40044;2094;2228;107798576;5167742 + 5566;40056;2094;2228;107798576;5167742 + 5567;40056;2094;2229;107798576;5207798 + 5568;40068;2094;2229;107798576;5207798 + 5569;40078;2094;2230;107798576;5247876 + 5570;40080;2094;2230;107798576;5247876 + 5571;40092;2094;2230;107798576;5247876 + 5572;40095;2094;2231;107798576;5287971 + 5573;40104;2094;2231;107798576;5287971 + 5574;40114;2094;2232;107798576;5328085 + 5575;40116;2094;2232;107798576;5328085 + 5576;40128;2094;2232;107798576;5328085 + 5577;40131;2094;2233;107798576;5368216 + 5578;40140;2094;2233;107798576;5368216 + 5579;40145;2094;2234;107798576;5408361 + 5580;40152;2094;2234;107798576;5408361 + 5581;40164;2108;2234;106742797;4879266 + 5582;40165;2108;2235;106742797;4919431 + 5583;40176;2108;2235;106742797;4919431 + 5584;40177;2108;2236;106742797;4959608 + 5585;40188;2108;2236;106742797;4959608 + 5586;40191;2108;2237;106742797;4999799 + 5587;40200;2108;2237;106742797;4999799 + 5588;40212;2108;2237;106742797;4999799 + 5589;40214;2108;2238;106742797;5040013 + 5590;40224;2108;2238;106742797;5040013 + 5591;40234;2108;2239;106742797;5080247 + 5592;40236;2108;2239;106742797;5080247 + 5593;40248;2108;2239;106742797;5080247 + 5594;40249;2108;2240;106742797;5120496 + 5595;40260;2108;2240;106742797;5120496 + 5596;40272;2108;2240;106742797;5120496 + 5597;40273;2108;2241;106742797;5160769 + 5598;40284;2108;2241;106742797;5160769 + 5599;40285;2108;2242;106742797;5201054 + 5600;40296;2108;2242;106742797;5201054 + 5601;40304;2108;2243;106742797;5241358 + 5602;40308;2108;2243;106742797;5241358 + 5603;40320;2108;2243;106742797;5241358 + 5604;40325;2108;2244;106742797;5281683 + 5605;40332;2108;2244;106742797;5281683 + 5606;40337;2108;2245;106742797;5322020 + 5607;40344;2108;2245;106742797;5322020 + 5608;40354;2115;2246;107584584;5096543 + 5609;40356;2115;2246;107584584;5096543 + 5610;40368;2115;2246;107584584;5096543 + 5611;40369;2119;2247;107111304;4984617 + 5612;40380;2119;2247;107111304;4984617 + 5613;40385;2119;2248;107111304;5025002 + 5614;40392;2119;2248;107111304;5025002 + 5615;40404;2119;2248;107111304;5025002 + 5616;40406;2119;2249;107111304;5065408 + 5617;40416;2119;2249;107111304;5065408 + 5618;40427;2119;2250;107111304;5105835 + 5619;40428;2119;2250;107111304;5105835 + 5620;40440;2119;2250;107111304;5105835 + 5621;40451;2119;2251;107111304;5146286 + 5622;40452;2119;2251;107111304;5146286 + 5623;40464;2119;2251;107111304;5146286 + 5624;40471;2119;2252;107111304;5186757 + 5625;40476;2119;2252;107111304;5186757 + 5626;40484;2119;2253;107111304;5227241 + 5627;40488;2119;2253;107111304;5227241 + 5628;40499;2119;2254;107111304;5267740 + 5629;40500;2119;2254;107111304;5267740 + 5630;40512;2119;2254;107111304;5267740 + 5631;40513;2119;2255;107111304;5308253 + 5632;40524;2119;2255;107111304;5308253 + 5633;40536;2119;2255;107111304;5308253 + 5634;40536;2119;2256;107111304;5348789 + 5635;40548;2119;2256;107111304;5348789 + 5636;40560;2119;2256;107111304;5348789 + 5637;40560;2119;2257;107111304;5389349 + 5638;40572;2119;2257;107111304;5389349 + 5639;40584;2120;2257;108389251;5351227 + 5640;40584;2120;2258;108389251;5391811 + 5641;40596;2120;2258;108389251;5391811 + 5642;40602;2129;2259;108106935;5088522 + 5643;40608;2129;2259;108106935;5088522 + 5644;40618;2129;2260;108106935;5129140 + 5645;40620;2129;2260;108106935;5129140 + 5646;40632;2129;2260;108106935;5129140 + 5647;40640;2129;2261;108106935;5169780 + 5648;40644;2129;2261;108106935;5169780 + 5649;40656;2129;2261;108106935;5169780 + 5650;40664;2129;2262;108106935;5210444 + 5651;40668;2129;2262;108106935;5210444 + 5652;40678;2129;2263;108106935;5251122 + 5653;40680;2129;2263;108106935;5251122 + 5654;40692;2129;2263;108106935;5251122 + 5655;40696;2134;2264;107154546;5100095 + 5656;40704;2134;2264;107154546;5100095 + 5657;40710;2134;2265;107154546;5140805 + 5658;40716;2134;2265;107154546;5140805 + 5659;40722;2134;2266;107154546;5181527 + 5660;40728;2134;2266;107154546;5181527 + 5661;40740;2134;2266;107154546;5181527 + 5662;40746;2134;2267;107154546;5222273 + 5663;40752;2134;2267;107154546;5222273 + 5664;40764;2134;2267;107154546;5222273 + 5665;40766;2134;2268;107154546;5263039 + 5666;40776;2134;2268;107154546;5263039 + 5667;40786;2134;2269;107154546;5303825 + 5668;40788;2134;2269;107154546;5303825 + 5669;40800;2134;2269;107154546;5303825 + 5670;40803;2138;2270;107174509;5190915 + 5671;40812;2138;2270;107174509;5190915 + 5672;40824;2138;2270;107174509;5190915 + 5673;40826;2138;2271;107174509;5231741 + 5674;40836;2138;2271;107174509;5231741 + 5675;40842;2138;2272;107174509;5272583 + 5676;40848;2138;2272;107174509;5272583 + 5677;40860;2138;2272;107174509;5272583 + 5678;40864;2138;2273;107174509;5313447 + 5679;40872;2138;2273;107174509;5313447 + 5680;40883;2138;2274;107174509;5354330 + 5681;40884;2138;2274;107174509;5354330 + 5682;40896;2138;2274;107174509;5354330 + 5683;40901;2138;2275;107174509;5395231 + 5684;40908;2138;2275;107174509;5395231 + 5685;40916;2139;2276;108399348;5397679 + 5686;40920;2139;2276;108399348;5397679 + 5687;40932;2139;2276;108399348;5397679 + 5688;40934;2151;2277;109196547;4975573 + 5689;40944;2151;2277;109196547;4975573 + 5690;40951;2151;2278;109196547;5016524 + 5691;40956;2151;2278;109196547;5016524 + 5692;40968;2151;2278;109196547;5016524 + 5693;40974;2151;2279;109196547;5057498 + 5694;40980;2151;2279;109196547;5057498 + 5695;40992;2151;2279;109196547;5057498 + 5696;40992;2151;2280;109196547;5098490 + 5697;41004;2151;2280;109196547;5098490 + 5698;41016;2151;2280;109196547;5098490 + 5699;41016;2152;2281;109992779;5100814 + 5700;41028;2152;2281;109992779;5100814 + 5701;41037;2152;2282;109992779;5141851 + 5702;41040;2152;2282;109992779;5141851 + 5703;41050;2152;2283;109992779;5182901 + 5704;41052;2152;2283;109992779;5182901 + 5705;41064;2152;2283;109992779;5182901 + 5706;41072;2152;2284;109992779;5223973 + 5707;41076;2152;2284;109992779;5223973 + 5708;41084;2152;2285;109992779;5265057 + 5709;41088;2152;2285;109992779;5265057 + 5710;41100;2152;2285;109992779;5265057 + 5711;41100;2152;2286;109992779;5306157 + 5712;41112;2152;2286;109992779;5306157 + 5713;41120;2152;2287;109992779;5347277 + 5714;41124;2152;2287;109992779;5347277 + 5715;41133;2152;2288;109992779;5388410 + 5716;41136;2152;2288;109992779;5388410 + 5717;41147;2152;2289;109992779;5429557 + 5718;41148;2152;2289;109992779;5429557 + 5719;41160;2152;2289;109992779;5429557 + 5720;41162;2152;2290;109992779;5470719 + 5721;41172;2152;2290;109992779;5470719 + 5722;41184;2152;2290;109992779;5470719 + 5723;41184;2162;2291;112371115;5123947 + 5724;41196;2162;2291;112371115;5123947 + 5725;41205;2162;2292;112371115;5165152 + 5726;41208;2162;2292;112371115;5165152 + 5727;41220;2162;2292;112371115;5165152 + 5728;41227;2162;2293;112371115;5206379 + 5729;41232;2162;2293;112371115;5206379 + 5730;41244;2162;2293;112371115;5206379 + 5731;41244;2162;2294;112371115;5247623 + 5732;41256;2162;2294;112371115;5247623 + 5733;41265;2162;2295;112371115;5288888 + 5734;41268;2162;2295;112371115;5288888 + 5735;41280;2162;2295;112371115;5288888 + 5736;41288;2162;2296;112371115;5330176 + 5737;41292;2162;2296;112371115;5330176 + 5738;41304;2162;2296;112371115;5330176 + 5739;41304;2166;2297;114726050;5215783 + 5740;41316;2166;2297;114726050;5215783 + 5741;41325;2166;2298;114726050;5257108 + 5742;41328;2166;2298;114726050;5257108 + 5743;41340;2166;2298;114726050;5257108 + 5744;41346;2166;2299;114726050;5298454 + 5745;41352;2166;2299;114726050;5298454 + 5746;41364;2166;2299;114726050;5298454 + 5747;41364;2166;2300;114726050;5339818 + 5748;41376;2166;2300;114726050;5339818 + 5749;41384;2166;2301;114726050;5381202 + 5750;41388;2166;2301;114726050;5381202 + 5751;41396;2170;2302;117232207;5266665 + 5752;41400;2170;2302;117232207;5266665 + 5753;41412;2170;2302;117232207;5266665 + 5754;41414;2170;2303;117232207;5308079 + 5755;41424;2170;2303;117232207;5308079 + 5756;41436;2170;2303;117232207;5308079 + 5757;41437;2170;2304;117232207;5349516 + 5758;41448;2170;2304;117232207;5349516 + 5759;41460;2170;2304;117232207;5349516 + 5760;41460;2177;2305;117166709;5117401 + 5761;41472;2177;2305;117166709;5117401 + 5762;41472;2177;2306;117166709;5158873 + 5763;41484;2177;2306;117166709;5158873 + 5764;41490;2177;2307;117166709;5200363 + 5765;41496;2177;2307;117166709;5200363 + 5766;41508;2177;2307;117166709;5200363 + 5767;41514;2177;2308;117166709;5241877 + 5768;41520;2177;2308;117166709;5241877 + 5769;41532;2177;2308;117166709;5241877 + 5770;41537;2177;2309;117166709;5283414 + 5771;41544;2177;2309;117166709;5283414 + 5772;41556;2177;2309;117166709;5283414 + 5773;41556;2177;2310;117166709;5324970 + 5774;41568;2177;2310;117166709;5324970 + 5775;41579;2177;2311;117166709;5366549 + 5776;41580;2177;2311;117166709;5366549 + 5777;41592;2177;2311;117166709;5366549 + 5778;41593;2177;2312;117166709;5408142 + 5779;41604;2177;2312;117166709;5408142 + 5780;41612;2177;2313;117166709;5449754 + 5781;41616;2177;2313;117166709;5449754 + 5782;41628;2177;2313;117166709;5449754 + 5783;41632;2179;2314;119362442;5413040 + 5784;41640;2179;2314;119362442;5413040 + 5785;41647;2189;2315;120719073;5061891 + 5786;41652;2189;2315;120719073;5061891 + 5787;41661;2189;2316;120719073;5103552 + 5788;41664;2189;2316;120719073;5103552 + 5789;41676;2191;2316;121132070;5024806 + 5790;41684;2197;2317;117783115;4829798 + 5791;41688;2197;2317;117783115;4829798 + 5792;41696;2197;2318;117783115;4871494 + 5793;41700;2197;2318;117783115;4871494 + 5794;41708;2197;2319;117783115;4913202 + 5795;41712;2197;2319;117783115;4913202 + 5796;41722;2197;2320;117783115;4954924 + 5797;41724;2197;2320;117783115;4954924 + 5798;41736;2197;2320;117783115;4954924 + 5799;41741;2197;2321;117783115;4996665 + 5800;41748;2197;2321;117783115;4996665 + 5801;41760;2197;2321;117783115;4996665 + 5802;41762;2197;2322;117783115;5038427 + 5803;41772;2197;2322;117783115;5038427 + 5804;41778;2197;2323;117783115;5080205 + 5805;41784;2197;2323;117783115;5080205 + 5806;41796;2197;2323;117783115;5080205 + 5807;41801;2197;2324;117783115;5122006 + 5808;41808;2197;2324;117783115;5122006 + 5809;41820;2197;2324;117783115;5122006 + 5810;41820;2197;2325;117783115;5163826 + 5811;41832;2197;2325;117783115;5163826 + 5812;41843;2197;2326;117783115;5205669 + 5813;41844;2197;2326;117783115;5205669 + 5814;41856;2197;2326;117783115;5205669 + 5815;41862;2197;2327;117783115;5247531 + 5816;41868;2197;2327;117783115;5247531 + 5817;41880;2197;2327;117783115;5247531 + 5818;41886;2197;2328;117783115;5289417 + 5819;41892;2197;2328;117783115;5289417 + 5820;41904;2197;2328;117783115;5289417 + 5821;41910;2197;2329;117783115;5331327 + 5822;41916;2197;2329;117783115;5331327 + 5823;41922;2197;2330;117783115;5373249 + 5824;41928;2197;2330;117783115;5373249 + 5825;41936;2197;2331;117783115;5415185 + 5826;41940;2197;2331;117783115;5415185 + 5827;41952;2197;2331;117783115;5415185 + 5828;41957;2203;2332;120752811;5219771 + 5829;41964;2203;2332;120752811;5219771 + 5830;41973;2203;2333;120752811;5261744 + 5831;41976;2203;2333;120752811;5261744 + 5832;41988;2203;2333;120752811;5261744 + 5833;41992;2203;2334;120752811;5303736 + 5834;42000;2203;2334;120752811;5303736 + 5835;42006;2203;2335;120752811;5345742 + 5836;42012;2203;2335;120752811;5345742 + 5837;42024;2203;2335;120752811;5345742 + 5838;42025;2203;2336;120752811;5387767 + 5839;42036;2203;2336;120752811;5387767 + 5840;42044;2203;2337;120752811;5429811 + 5841;42048;2203;2337;120752811;5429811 + 5842;42060;2203;2337;120752811;5429811 + 5843;42063;2208;2338;121440859;5273612 + 5844;42072;2208;2338;121440859;5273612 + 5845;42080;2208;2339;121440859;5315692 + 5846;42084;2208;2339;121440859;5315692 + 5847;42094;2208;2340;121440859;5357786 + 5848;42096;2208;2340;121440859;5357786 + 5849;42108;2208;2340;121440859;5357786 + 5850;42114;2208;2341;121440859;5399900 + 5851;42120;2208;2341;121440859;5399900 + 5852;42132;2208;2341;121440859;5399900 + 5853;42133;2208;2342;121440859;5442033 + 5854;42144;2208;2342;121440859;5442033 + 5855;42151;2208;2343;121440859;5484184 + 5856;42156;2208;2343;121440859;5484184 + 5857;42166;2208;2344;121440859;5526350 + 5858;42168;2208;2344;121440859;5526350 + 5859;42180;2214;2344;120970458;5287817 + 5860;42189;2214;2345;120970458;5330006 + 5861;42192;2214;2345;120970458;5330006 + 5862;42204;2214;2345;120970458;5330006 + 5863;42204;2214;2346;120970458;5372210 + 5864;42216;2214;2346;120970458;5372210 + 5865;42216;2214;2347;120970458;5414426 + 5866;42228;2214;2347;120970458;5414426 + 5867;42235;2214;2348;120970458;5456661 + 5868;42240;2214;2348;120970458;5456661 + 5869;42252;2214;2348;120970458;5456661 + 5870;42258;2224;2349;122478388;5100020 + 5871;42264;2230;2349;117206731;4859725 + 5872;42276;2230;2349;117206731;4859725 + 5873;42278;2230;2350;117206731;4902003 + 5874;42288;2230;2350;117206731;4902003 + 5875;42298;2230;2351;117206731;4944301 + 5876;42300;2230;2351;117206731;4944301 + 5877;42312;2230;2351;117206731;4944301 + 5878;42321;2230;2352;117206731;4986622 + 5879;42324;2230;2352;117206731;4986622 + 5880;42334;2231;2353;117713653;4988842 + 5881;42336;2231;2353;117713653;4988842 + 5882;42348;2231;2353;117713653;4988842 + 5883;42356;2231;2354;117713653;5031198 + 5884;42360;2231;2354;117713653;5031198 + 5885;42372;2231;2354;117713653;5031198 + 5886;42378;2231;2355;117713653;5073576 + 5887;42384;2231;2355;117713653;5073576 + 5888;42393;2231;2356;117713653;5115969 + 5889;42396;2231;2356;117713653;5115969 + 5890;42407;2232;2357;118421146;5118245 + 5891;42408;2232;2357;118421146;5118245 + 5892;42420;2232;2357;118421146;5118245 + 5893;42425;2232;2358;118421146;5160670 + 5894;42432;2232;2358;118421146;5160670 + 5895;42444;2232;2358;118421146;5160670 + 5896;42444;2232;2359;118421146;5203114 + 5897;42456;2232;2359;118421146;5203114 + 5898;42467;2233;2360;119340208;5205436 + 5899;42468;2233;2360;119340208;5205436 + 5900;42480;2233;2360;119340208;5205436 + 5901;42489;2233;2361;119340208;5247925 + 5902;42492;2233;2361;119340208;5247925 + 5903;42503;2233;2362;119340208;5290428 + 5904;42504;2233;2362;119340208;5290428 + 5905;42516;2233;2362;119340208;5290428 + 5906;42527;2233;2363;119340208;5332955 + 5907;42528;2233;2363;119340208;5332955 + 5908;42540;2233;2363;119340208;5332955 + 5909;42543;2233;2364;119340208;5375498 + 5910;42552;2233;2364;119340208;5375498 + 5911;42564;2233;2364;119340208;5375498 + 5912;42566;2235;2365;119815430;5337722 + 5913;42576;2235;2365;119815430;5337722 + 5914;42585;2235;2366;119815430;5380307 + 5915;42588;2235;2366;119815430;5380307 + 5916;42600;2235;2366;119815430;5380307 + 5917;42608;2235;2367;119815430;5422915 + 5918;42612;2235;2367;119815430;5422915 + 5919;42624;2235;2367;119815430;5422915 + 5920;42629;2242;2368;119845194;5183794 + 5921;42636;2242;2368;119845194;5183794 + 5922;42648;2242;2368;119845194;5183794 + 5923;42652;2242;2369;119845194;5226446 + 5924;42660;2242;2369;119845194;5226446 + 5925;42672;2242;2369;119845194;5226446 + 5926;42673;2242;2370;119845194;5269119 + 5927;42684;2242;2370;119845194;5269119 + 5928;42688;2242;2371;119845194;5311807 + 5929;42696;2242;2371;119845194;5311807 + 5930;42708;2242;2371;119845194;5311807 + 5931;42711;2242;2372;119845194;5354518 + 5932;42720;2242;2372;119845194;5354518 + 5933;42728;2242;2373;119845194;5397246 + 5934;42732;2242;2373;119845194;5397246 + 5935;42744;2242;2373;119845194;5397246 + 5936;42745;2242;2374;119845194;5439991 + 5937;42756;2242;2374;119845194;5439991 + 5938;42761;2242;2375;119845194;5482752 + 5939;42768;2242;2375;119845194;5482752 + 5940;42778;2242;2376;119845194;5525530 + 5941;42780;2242;2376;119845194;5525530 + 5942;42792;2242;2376;119845194;5525530 + 5943;42796;2252;2377;120188013;5164317 + 5944;42804;2252;2377;120188013;5164317 + 5945;42812;2252;2378;120188013;5207129 + 5946;42816;2252;2378;120188013;5207129 + 5947;42828;2252;2378;120188013;5207129 + 5948;42830;2252;2379;120188013;5249959 + 5949;42840;2252;2379;120188013;5249959 + 5950;42851;2252;2380;120188013;5292810 + 5951;42852;2252;2380;120188013;5292810 + 5952;42864;2252;2380;120188013;5292810 + 5953;42864;2252;2381;120188013;5335674 + 5954;42876;2252;2381;120188013;5335674 + 5955;42886;2252;2382;120188013;5378560 + 5956;42888;2252;2382;120188013;5378560 + 5957;42900;2252;2382;120188013;5378560 + 5958;42906;2262;2383;120805310;5015572 + 5959;42912;2264;2383;120374739;4934166 + 5960;42918;2264;2384;120374739;4977084 + 5961;42924;2264;2384;120374739;4977084 + 5962;42930;2264;2385;120374739;5020014 + 5963;42936;2264;2385;120374739;5020014 + 5964;42945;2264;2386;120374739;5062959 + 5965;42948;2264;2386;120374739;5062959 + 5966;42960;2264;2386;120374739;5062959 + 5967;42965;2264;2387;120374739;5105924 + 5968;42972;2264;2387;120374739;5105924 + 5969;42984;2264;2387;120374739;5105924 + 5970;42988;2264;2388;120374739;5148912 + 5971;42996;2264;2388;120374739;5148912 + 5972;43003;2264;2389;120374739;5191915 + 5973;43008;2264;2389;120374739;5191915 + 5974;43020;2264;2389;120374739;5191915 + 5975;43025;2264;2390;120374739;5234940 + 5976;43032;2264;2390;120374739;5234940 + 5977;43044;2264;2390;120374739;5234940 + 5978;43046;2264;2391;120374739;5277986 + 5979;43056;2264;2391;120374739;5277986 + 5980;43062;2264;2392;120374739;5321048 + 5981;43068;2264;2392;120374739;5321048 + 5982;43080;2264;2392;120374739;5321048 + 5983;43085;2264;2393;120374739;5364133 + 5984;43092;2264;2393;120374739;5364133 + 5985;43104;2264;2393;120374739;5364133 + 5986;43104;2264;2394;120374739;5407237 + 5987;43116;2264;2394;120374739;5407237 + 5988;43121;2264;2395;120374739;5450358 + 5989;43128;2264;2395;120374739;5450358 + 5990;43138;2264;2396;120374739;5493496 + 5991;43140;2264;2396;120374739;5493496 + 5992;43151;2270;2397;121101986;5291998 + 5993;43152;2270;2397;121101986;5291998 + 5994;43164;2270;2397;121101986;5291998 + 5995;43169;2270;2398;121101986;5335167 + 5996;43176;2270;2398;121101986;5335167 + 5997;43188;2270;2398;121101986;5335167 + 5998;43190;2270;2399;121101986;5378357 + 5999;43200;2270;2399;121101986;5378357 + 6000;43205;2270;2400;121101986;5421562 + 6001;43212;2270;2400;121101986;5421562 + 6002;43221;2270;2401;121101986;5464783 + 6003;43224;2270;2401;121101986;5464783 + 6004;43236;2270;2401;121101986;5464783 + 6005;43242;2276;2402;121750435;5262685 + 6006;43248;2276;2402;121750435;5262685 + 6007;43260;2276;2402;121750435;5262685 + 6008;43263;2276;2403;121750435;5305948 + 6009;43272;2276;2403;121750435;5305948 + 6010;43278;2276;2404;121750435;5349226 + 6011;43284;2276;2404;121750435;5349226 + 6012;43296;2276;2404;121750435;5349226 + 6013;43300;2276;2405;121750435;5392526 + 6014;43308;2276;2405;121750435;5392526 + 6015;43320;2276;2405;121750435;5392526 + 6016;43323;2276;2406;121750435;5435849 + 6017;43332;2276;2406;121750435;5435849 + 6018;43338;2276;2407;121750435;5479187 + 6019;43344;2276;2407;121750435;5479187 + 6020;43356;2276;2407;121750435;5479187 + 6021;43358;2276;2408;121750435;5522545 + 6022;43368;2276;2408;121750435;5522545 + 6023;43379;2279;2409;122520225;5443007 + 6024;43380;2279;2409;122520225;5443007 + 6025;43392;2279;2409;122520225;5443007 + 6026;43399;2279;2410;122520225;5486406 + 6027;43404;2279;2410;122520225;5486406 + 6028;43416;2279;2410;122520225;5486406 + 6029;43423;2279;2411;122520225;5529829 + 6030;43428;2279;2411;122520225;5529829 + 6031;43437;2279;2412;122520225;5573266 + 6032;43440;2279;2412;122520225;5573266 + 6033;43452;2279;2412;122520225;5573266 + 6034;43455;2279;2413;122520225;5616721 + 6035;43464;2279;2413;122520225;5616721 + 6036;43473;2285;2414;121293898;5413835 + 6037;43476;2285;2414;121293898;5413835 + 6038;43488;2285;2414;121293898;5413835 + 6039;43494;2285;2415;121293898;5457329 + 6040;43500;2285;2415;121293898;5457329 + 6041;43511;2295;2416;122091123;5088865 + 6042;43512;2295;2416;122091123;5088865 + 6043;43524;2295;2416;122091123;5088865 + 6044;43529;2301;2417;117152158;4884275 + 6045;43536;2301;2417;117152158;4884275 + 6046;43548;2301;2417;117152158;4884275 + 6047;43548;2301;2418;117152158;4927823 + 6048;43560;2301;2418;117152158;4927823 + 6049;43567;2301;2419;117152158;4971390 + 6050;43572;2301;2419;117152158;4971390 + 6051;43584;2301;2419;117152158;4971390 + 6052;43588;2301;2420;117152158;5014978 + 6053;43596;2301;2420;117152158;5014978 + 6054;43605;2301;2421;117152158;5058583 + 6055;43608;2301;2421;117152158;5058583 + 6056;43620;2301;2421;117152158;5058583 + 6057;43626;2301;2422;117152158;5102209 + 6058;43632;2301;2422;117152158;5102209 + 6059;43644;2301;2422;117152158;5102209 + 6060;43645;2301;2423;117152158;5145854 + 6061;43656;2301;2423;117152158;5145854 + 6062;43667;2301;2424;117152158;5189521 + 6063;43668;2301;2424;117152158;5189521 + 6064;43680;2301;2424;117152158;5189521 + 6065;43689;2301;2425;117152158;5233210 + 6066;43692;2301;2425;117152158;5233210 + 6067;43701;2301;2426;117152158;5276911 + 6068;43704;2301;2426;117152158;5276911 + 6069;43713;2301;2427;117152158;5320624 + 6070;43716;2301;2427;117152158;5320624 + 6071;43728;2301;2427;117152158;5320624 + 6072;43732;2301;2428;117152158;5364356 + 6073;43740;2301;2428;117152158;5364356 + 6074;43752;2301;2428;117152158;5364356 + 6075;43752;2301;2429;117152158;5408108 + 6076;43764;2301;2429;117152158;5408108 + 6077;43764;2301;2430;117152158;5451872 + 6078;43776;2301;2430;117152158;5451872 + 6079;43783;2301;2431;117152158;5495655 + 6080;43788;2301;2431;117152158;5495655 + 6081;43800;2301;2431;117152158;5495655 + 6082;43801;2301;2432;117152158;5539456 + 6083;43812;2301;2432;117152158;5539456 + 6084;43824;2301;2432;117152158;5539456 + 6085;43824;2305;2433;118145710;5417497 + 6086;43836;2305;2433;118145710;5417497 + 6087;43845;2305;2434;118145710;5461342 + 6088;43848;2305;2434;118145710;5461342 + 6089;43860;2305;2434;118145710;5461342 + 6090;43860;2305;2435;118145710;5505202 + 6091;43872;2305;2435;118145710;5505202 + 6092;43884;2305;2435;118145710;5505202 + 6093;43884;2305;2436;118145710;5549086 + 6094;43896;2305;2436;118145710;5549086 + 6095;43904;2305;2437;118145710;5592990 + 6096;43908;2305;2437;118145710;5592990 + 6097;43920;2305;2437;118145710;5592990 + 6098;43927;2305;2438;118145710;5636917 + 6099;43932;2305;2438;118145710;5636917 + 6100;43939;2305;2439;118145710;5680856 + 6101;43944;2305;2439;118145710;5680856 + 6102;43956;2305;2439;118145710;5680856 + 6103;43963;2314;2440;117750207;5350659 + 6104;43968;2314;2440;117750207;5350659 + 6105;43978;2314;2441;117750207;5394637 + 6106;43980;2314;2441;117750207;5394637 + 6107;43992;2314;2441;117750207;5394637 + 6108;43995;2314;2442;117750207;5438632 + 6109;44004;2314;2442;117750207;5438632 + 6110;44008;2314;2443;117750207;5482640 + 6111;44016;2314;2443;117750207;5482640 + 6112;44024;2314;2444;117750207;5526664 + 6113;44028;2314;2444;117750207;5526664 + 6114;44040;2314;2444;117750207;5526664 + 6115;44040;2314;2445;117750207;5570704 + 6116;44052;2314;2445;117750207;5570704 + 6117;44054;2314;2446;117750207;5614758 + 6118;44064;2314;2446;117750207;5614758 + 6119;44073;2314;2447;117750207;5658831 + 6120;44076;2314;2447;117750207;5658831 + 6121;44088;2314;2447;117750207;5658831 + 6122;44095;2314;2448;117750207;5702926 + 6123;44100;2314;2448;117750207;5702926 + 6124;44112;2314;2448;117750207;5702926 + 6125;44117;2316;2449;117947793;5663698 + 6126;44124;2316;2449;117947793;5663698 + 6127;44133;2318;2450;120277605;5624427 + 6128;44136;2318;2450;120277605;5624427 + 6129;44148;2318;2450;120277605;5624427 + 6130;44150;2318;2451;120277605;5668577 + 6131;44160;2318;2451;120277605;5668577 + 6132;44164;2318;2452;120277605;5712741 + 6133;44172;2318;2452;120277605;5712741 + 6134;44184;2318;2452;120277605;5712741 + 6135;44185;2326;2453;118667746;5422597 + 6136;44196;2326;2453;118667746;5422597 + 6137;44203;2326;2454;118667746;5466800 + 6138;44208;2326;2454;118667746;5466800 + 6139;44220;2326;2454;118667746;5466800 + 6140;44221;2326;2455;118667746;5511021 + 6141;44232;2326;2455;118667746;5511021 + 6142;44243;2326;2456;118667746;5555264 + 6143;44244;2326;2456;118667746;5555264 + 6144;44256;2326;2456;118667746;5555264 + 6145;44261;2326;2457;118667746;5599525 + 6146;44268;2326;2457;118667746;5599525 + 6147;44280;2326;2457;118667746;5599525 + 6148;44280;2326;2458;118667746;5643805 + 6149;44292;2326;2458;118667746;5643805 + 6150;44298;2332;2459;117268612;5436519 + 6151;44304;2332;2459;117268612;5436519 + 6152;44311;2332;2460;117268612;5480830 + 6153;44316;2332;2460;117268612;5480830 + 6154;44328;2332;2460;117268612;5480830 + 6155;44331;2332;2461;117268612;5525161 + 6156;44340;2332;2461;117268612;5525161 + 6157;44351;2332;2462;117268612;5569512 + 6158;44352;2332;2462;117268612;5569512 + 6159;44364;2332;2462;117268612;5569512 + 6160;44365;2332;2463;117268612;5613877 + 6161;44376;2332;2463;117268612;5613877 + 6162;44382;2332;2464;117268612;5658259 + 6163;44388;2332;2464;117268612;5658259 + 6164;44397;2336;2465;118491025;5534589 + 6165;44400;2336;2465;118491025;5534589 + 6166;44412;2336;2465;118491025;5534589 + 6167;44415;2336;2466;118491025;5579004 + 6168;44424;2336;2466;118491025;5579004 + 6169;44432;2344;2467;115612844;5286446 + 6170;44436;2344;2467;115612844;5286446 + 6171;44448;2344;2467;115612844;5286446 + 6172;44454;2344;2468;115612844;5330900 + 6173;44460;2344;2468;115612844;5330900 + 6174;44471;2344;2469;115612844;5375371 + 6175;44472;2344;2469;115612844;5375371 + 6176;44484;2344;2469;115612844;5375371 + 6177;44485;2344;2470;115612844;5419856 + 6178;44496;2344;2470;115612844;5419856 + 6179;44505;2344;2471;115612844;5464361 + 6180;44508;2344;2471;115612844;5464361 + 6181;44520;2344;2471;115612844;5464361 + 6182;44529;2344;2472;115612844;5508890 + 6183;44532;2344;2472;115612844;5508890 + 6184;44544;2344;2472;115612844;5508890 + 6185;44552;2344;2473;115612844;5553442 + 6186;44556;2344;2473;115612844;5553442 + 6187;44566;2344;2474;115612844;5598008 + 6188;44568;2344;2474;115612844;5598008 + 6189;44580;2344;2474;115612844;5598008 + 6190;44585;2351;2475;116665764;5346783 + 6191;44592;2351;2475;116665764;5346783 + 6192;44601;2351;2476;116665764;5391384 + 6193;44604;2351;2476;116665764;5391384 + 6194;44616;2351;2476;116665764;5391384 + 6195;44618;2351;2477;116665764;5436002 + 6196;44628;2351;2477;116665764;5436002 + 6197;44636;2355;2478;116275215;5311177 + 6198;44640;2355;2478;116275215;5311177 + 6199;44650;2355;2479;116275215;5355827 + 6200;44652;2355;2479;116275215;5355827 + 6201;44664;2355;2479;116275215;5355827 + 6202;44672;2358;2480;117549302;5273223 + 6203;44676;2358;2480;117549302;5273223 + 6204;44688;2358;2480;117549302;5273223 + 6205;44688;2358;2481;117549302;5317911 + 6206;44700;2358;2481;117549302;5317911 + 6207;44706;2358;2482;117549302;5362617 + 6208;44712;2358;2482;117549302;5362617 + 6209;44724;2358;2482;117549302;5362617 + 6210;44724;2358;2483;117549302;5407341 + 6211;44736;2358;2483;117549302;5407341 + 6212;44746;2358;2484;117549302;5452087 + 6213;44748;2358;2484;117549302;5452087 + 6214;44760;2358;2484;117549302;5452087 + 6215;44763;2358;2485;117549302;5496850 + 6216;44772;2358;2485;117549302;5496850 + 6217;44782;2358;2486;117549302;5541632 + 6218;44784;2358;2486;117549302;5541632 + 6219;44794;2358;2487;117549302;5586426 + 6220;44796;2358;2487;117549302;5586426 + 6221;44808;2364;2487;117144884;5331331 + 6222;44809;2364;2488;117144884;5376140 + 6223;44820;2364;2488;117144884;5376140 + 6224;44824;2364;2489;117144884;5420964 + 6225;44832;2364;2489;117144884;5420964 + 6226;44839;2364;2490;117144884;5465803 + 6227;44844;2364;2490;117144884;5465803 + 6228;44854;2364;2491;117144884;5510657 + 6229;44856;2364;2491;117144884;5510657 + 6230;44868;2364;2491;117144884;5510657 + 6231;44875;2366;2492;118105367;5470339 + 6232;44880;2366;2492;118105367;5470339 + 6233;44892;2366;2492;118105367;5470339 + 6234;44892;2366;2493;118105367;5515231 + 6235;44904;2366;2493;118105367;5515231 + 6236;44915;2366;2494;118105367;5560146 + 6237;44916;2366;2494;118105367;5560146 + 6238;44928;2366;2494;118105367;5560146 + 6239;44938;2366;2495;118105367;5605084 + 6240;44940;2366;2495;118105367;5605084 + 6241;44952;2366;2495;118105367;5605084 + 6242;44952;2366;2496;118105367;5650036 + 6243;44964;2366;2496;118105367;5650036 + 6244;44967;2366;2497;118105367;5695003 + 6245;44976;2366;2497;118105367;5695003 + 6246;44988;2366;2497;118105367;5695003 + 6247;44990;2366;2498;118105367;5739993 + 6248;45000;2366;2498;118105367;5739993 + 6249;45009;2366;2499;118105367;5785002 + 6250;45012;2366;2499;118105367;5785002 + 6251;45022;2366;2500;118105367;5830024 + 6252;45024;2366;2500;118105367;5830024 + 6253;45034;2366;2501;118105367;5875058 + 6254;45036;2366;2501;118105367;5875058 + 6255;45048;2366;2501;118105367;5875058 + 6256;45050;2366;2502;118105367;5920108 + 6257;45060;2366;2502;118105367;5920108 + 6258;45072;2366;2502;118105367;5920108 + 6259;45073;2374;2503;115093527;5623594 + 6260;45084;2374;2503;115093527;5623594 + 6261;45090;2374;2504;115093527;5668684 + 6262;45096;2374;2504;115093527;5668684 + 6263;45108;2374;2504;115093527;5668684 + 6264;45111;2374;2505;115093527;5713795 + 6265;45120;2374;2505;115093527;5713795 + 6266;45128;2374;2506;115093527;5758923 + 6267;45132;2374;2506;115093527;5758923 + 6268;45140;2374;2507;115093527;5804063 + 6269;45144;2374;2507;115093527;5804063 + 6270;45156;2374;2507;115093527;5804063 + 6271;45161;2384;2508;116691123;5420653 + 6272;45168;2384;2508;116691123;5420653 + 6273;45173;2384;2509;116691123;5465826 + 6274;45180;2384;2509;116691123;5465826 + 6275;45190;2384;2510;116691123;5511016 + 6276;45192;2384;2510;116691123;5511016 + 6277;45204;2384;2510;116691123;5511016 + 6278;45214;2384;2511;116691123;5556230 + 6279;45216;2384;2511;116691123;5556230 + 6280;45228;2384;2511;116691123;5556230 + 6281;45235;2386;2512;116749106;5515555 + 6282;45240;2386;2512;116749106;5515555 + 6283;45248;2386;2513;116749106;5560803 + 6284;45252;2386;2513;116749106;5560803 + 6285;45264;2386;2513;116749106;5560803 + 6286;45269;2386;2514;116749106;5606072 + 6287;45276;2386;2514;116749106;5606072 + 6288;45281;2386;2515;116749106;5651353 + 6289;45288;2386;2515;116749106;5651353 + 6290;45300;2386;2515;116749106;5651353 + 6291;45304;2386;2516;116749106;5696657 + 6292;45312;2386;2516;116749106;5696657 + 6293;45320;2386;2517;116749106;5741977 + 6294;45324;2386;2517;116749106;5741977 + 6295;45333;2387;2518;117695381;5744322 + 6296;45336;2387;2518;117695381;5744322 + 6297;45348;2387;2518;117695381;5744322 + 6298;45352;2387;2519;117695381;5789674 + 6299;45360;2387;2519;117695381;5789674 + 6300;45365;2387;2520;117695381;5835039 + 6301;45372;2387;2520;117695381;5835039 + 6302;45384;2387;2520;117695381;5835039 + 6303;45386;2387;2521;117695381;5880425 + 6304;45396;2387;2521;117695381;5880425 + 6305;45408;2387;2521;117695381;5880425 + 6306;45409;2387;2522;117695381;5925834 + 6307;45420;2387;2522;117695381;5925834 + 6308;45425;2397;2523;115394088;5540355 + 6309;45432;2399;2523;114954247;5453960 + 6310;45444;2399;2523;114954247;5453960 + 6311;45444;2402;2524;113531902;5369678 + 6312;45456;2402;2524;113531902;5369678 + 6313;45468;2402;2524;113531902;5369678 + 6314;45468;2402;2525;113531902;5415146 + 6315;45480;2402;2525;113531902;5415146 + 6316;45492;2402;2525;113531902;5415146 + 6317;45492;2402;2526;113531902;5460638 + 6318;45504;2402;2526;113531902;5460638 + 6319;45506;2402;2527;113531902;5506144 + 6320;45516;2402;2527;113531902;5506144 + 6321;45518;2404;2528;114324245;5465084 + 6322;45528;2404;2528;114324245;5465084 + 6323;45538;2407;2529;112909695;5380603 + 6324;45540;2407;2529;112909695;5380603 + 6325;45552;2407;2529;112909695;5380603 + 6326;45562;2407;2530;112909695;5426165 + 6327;45564;2407;2530;112909695;5426165 + 6328;45574;2407;2531;112909695;5471739 + 6329;45576;2407;2531;112909695;5471739 + 6330;45588;2407;2531;112909695;5471739 + 6331;45598;2407;2532;112909695;5517337 + 6332;45600;2407;2532;112909695;5517337 + 6333;45612;2407;2532;112909695;5517337 + 6334;45617;2407;2533;112909695;5562954 + 6335;45624;2407;2533;112909695;5562954 + 6336;45634;2407;2534;112909695;5608588 + 6337;45636;2407;2534;112909695;5608588 + 6338;45646;2407;2535;112909695;5654234 + 6339;45648;2407;2535;112909695;5654234 + 6340;45660;2407;2535;112909695;5654234 + 6341;45662;2407;2536;112909695;5699896 + 6342;45672;2407;2536;112909695;5699896 + 6343;45678;2407;2537;112909695;5745574 + 6344;45684;2407;2537;112909695;5745574 + 6345;45696;2407;2537;112909695;5745574 + 6346;45697;2407;2538;112909695;5791271 + 6347;45708;2407;2538;112909695;5791271 + 6348;45714;2407;2539;112909695;5836985 + 6349;45720;2407;2539;112909695;5836985 + 6350;45731;2407;2540;112909695;5882716 + 6351;45732;2407;2540;112909695;5882716 + 6352;45743;2407;2541;112909695;5928459 + 6353;45744;2407;2541;112909695;5928459 + 6354;45756;2407;2541;112909695;5928459 + 6355;45758;2407;2542;112909695;5974217 + 6356;45768;2407;2542;112909695;5974217 + 6357;45778;2407;2543;112909695;6019995 + 6358;45780;2407;2543;112909695;6019995 + 6359;45790;2407;2544;112909695;6065785 + 6360;45792;2407;2544;112909695;6065785 + 6361;45804;2407;2544;112909695;6065785 + 6362;45804;2409;2545;114986373;6024811 + 6363;45816;2409;2545;114986373;6024811 + 6364;45818;2409;2546;114986373;6070629 + 6365;45828;2409;2546;114986373;6070629 + 6366;45840;2415;2546;116582482;5809836 + 6367;45840;2415;2547;116582482;5855676 + 6368;45852;2415;2547;116582482;5855676 + 6369;45854;2415;2548;116582482;5901530 + 6370;45864;2415;2548;116582482;5901530 + 6371;45872;2415;2549;116582482;5947402 + 6372;45876;2415;2549;116582482;5947402 + 6373;45884;2415;2550;116582482;5993286 + 6374;45888;2415;2550;116582482;5993286 + 6375;45900;2415;2550;116582482;5993286 + 6376;45905;2415;2551;116582482;6039191 + 6377;45912;2415;2551;116582482;6039191 + 6378;45924;2415;2551;116582482;6039191 + 6379;45927;2423;2552;115197203;5736343 + 6380;45936;2423;2552;115197203;5736343 + 6381;45948;2423;2552;115197203;5736343 + 6382;45948;2423;2553;115197203;5782291 + 6383;45960;2423;2553;115197203;5782291 + 6384;45971;2423;2554;115197203;5828262 + 6385;45972;2423;2554;115197203;5828262 + 6386;45984;2423;2554;115197203;5828262 + 6387;45995;2423;2555;115197203;5874257 + 6388;45996;2423;2555;115197203;5874257 + 6389;46008;2423;2555;115197203;5874257 + 6390;46009;2423;2556;115197203;5920266 + 6391;46020;2423;2556;115197203;5920266 + 6392;46022;2423;2557;115197203;5966288 + 6393;46032;2423;2557;115197203;5966288 + 6394;46035;2423;2558;115197203;6012323 + 6395;46044;2423;2558;115197203;6012323 + 6396;46053;2423;2559;115197203;6058376 + 6397;46056;2423;2559;115197203;6058376 + 6398;46068;2423;2559;115197203;6058376 + 6399;46069;2423;2560;115197203;6104445 + 6400;46080;2423;2560;115197203;6104445 + 6401;46091;2426;2561;115716989;6019433 + 6402;46092;2426;2561;115716989;6019433 + 6403;46104;2426;2561;115716989;6019433 + 6404;46104;2431;2562;115093527;5846705 + 6405;46116;2431;2562;115093527;5846705 + 6406;46117;2431;2563;115093527;5892822 + 6407;46128;2431;2563;115093527;5892822 + 6408;46140;2431;2563;115093527;5892822 + 6409;46141;2431;2564;115093527;5938963 + 6410;46152;2431;2564;115093527;5938963 + 6411;46162;2431;2565;115093527;5985125 + 6412;46164;2431;2565;115093527;5985125 + 6413;46176;2431;2565;115093527;5985125 + 6414;46182;2431;2566;115093527;6031307 + 6415;46188;2431;2566;115093527;6031307 + 6416;46200;2431;2566;115093527;6031307 + 6417;46205;2439;2567;113099159;5726366 + 6418;46212;2439;2567;113099159;5726366 + 6419;46218;2439;2568;113099159;5772584 + 6420;46224;2439;2568;113099159;5772584 + 6421;46236;2439;2568;113099159;5772584 + 6422;46238;2444;2569;110317690;5598777 + 6423;46248;2444;2569;110317690;5598777 + 6424;46260;2444;2569;110317690;5598777 + 6425;46261;2444;2570;110317690;5645038 + 6426;46272;2444;2570;110317690;5645038 + 6427;46278;2444;2571;110317690;5691316 + 6428;46284;2444;2571;110317690;5691316 + 6429;46292;2444;2572;110317690;5737608 + 6430;46296;2444;2572;110317690;5737608 + 6431;46306;2444;2573;110317690;5783914 + 6432;46308;2444;2573;110317690;5783914 + 6433;46320;2444;2573;110317690;5783914 + 6434;46323;2444;2574;110317690;5830237 + 6435;46332;2444;2574;110317690;5830237 + 6436;46339;2444;2575;110317690;5876576 + 6437;46344;2444;2575;110317690;5876576 + 6438;46356;2444;2575;110317690;5876576 + 6439;46360;2444;2576;110317690;5922936 + 6440;46368;2444;2576;110317690;5922936 + 6441;46380;2444;2576;110317690;5922936 + 6442;46383;2444;2577;110317690;5969319 + 6443;46392;2444;2577;110317690;5969319 + 6444;46402;2450;2578;109125373;5751099 + 6445;46404;2450;2578;109125373;5751099 + 6446;46416;2450;2578;109125373;5751099 + 6447;46425;2454;2579;108945949;5620751 + 6448;46428;2454;2579;108945949;5620751 + 6449;46440;2454;2579;108945949;5620751 + 6450;46444;2454;2580;108945949;5667195 + 6451;46452;2454;2580;108945949;5667195 + 6452;46463;2454;2581;108945949;5713658 + 6453;46464;2454;2581;108945949;5713658 + 6454;46476;2454;2581;108945949;5713658 + 6455;46478;2454;2582;108945949;5760136 + 6456;46488;2454;2582;108945949;5760136 + 6457;46491;2454;2583;108945949;5806627 + 6458;46500;2454;2583;108945949;5806627 + 6459;46505;2454;2584;108945949;5853132 + 6460;46512;2454;2584;108945949;5853132 + 6461;46523;2454;2585;108945949;5899655 + 6462;46524;2454;2585;108945949;5899655 + 6463;46536;2454;2585;108945949;5899655 + 6464;46539;2454;2586;108945949;5946194 + 6465;46548;2454;2586;108945949;5946194 + 6466;46554;2454;2587;108945949;5992748 + 6467;46560;2454;2587;108945949;5992748 + 6468;46568;2454;2588;108945949;6039316 + 6469;46572;2454;2588;108945949;6039316 + 6470;46581;2454;2589;108945949;6085897 + 6471;46584;2454;2589;108945949;6085897 + 6472;46596;2454;2589;108945949;6085897 + 6473;46598;2455;2590;109866494;6088252 + 6474;46608;2455;2590;109866494;6088252 + 6475;46619;2455;2591;109866494;6134871 + 6476;46620;2455;2591;109866494;6134871 + 6477;46632;2455;2591;109866494;6134871 + 6478;46643;2457;2592;111835104;6092973 + 6479;46644;2457;2592;111835104;6092973 + 6480;46656;2457;2592;111835104;6092973 + 6481;46659;2457;2593;111835104;6139632 + 6482;46668;2457;2593;111835104;6139632 + 6483;46677;2457;2594;111835104;6186309 + 6484;46680;2457;2594;111835104;6186309 + 6485;46690;2457;2595;111835104;6232999 + 6486;46692;2457;2595;111835104;6232999 + 6487;46704;2457;2595;111835104;6232999 + 6488;46705;2457;2596;111835104;6279704 + 6489;46716;2457;2596;111835104;6279704 + 6490;46728;2457;2596;111835104;6279704 + 6491;46728;2465;2597;111647758;5971582 + 6492;46740;2465;2597;111647758;5971582 + 6493;46745;2465;2598;111647758;6018327 + 6494;46752;2465;2598;111647758;6018327 + 6495;46764;2465;2598;111647758;6018327 + 6496;46769;2465;2599;111647758;6065096 + 6497;46776;2465;2599;111647758;6065096 + 6498;46782;2465;2600;111647758;6111878 + 6499;46788;2465;2600;111647758;6111878 + 6500;46796;2465;2601;111647758;6158674 + 6501;46800;2465;2601;111647758;6158674 + 6502;46812;2465;2601;111647758;6158674 + 6503;46816;2465;2602;111647758;6205490 + 6504;46824;2465;2602;111647758;6205490 + 6505;46829;2470;2603;112843108;6029972 + 6506;46836;2470;2603;112843108;6029972 + 6507;46841;2470;2604;112843108;6076813 + 6508;46848;2470;2604;112843108;6076813 + 6509;46860;2470;2604;112843108;6076813 + 6510;46860;2470;2605;112843108;6123673 + 6511;46872;2470;2605;112843108;6123673 + 6512;46873;2471;2606;113771852;6126017 + 6513;46884;2471;2606;113771852;6126017 + 6514;46888;2471;2607;113771852;6172905 + 6515;46896;2471;2607;113771852;6172905 + 6516;46908;2471;2607;113771852;6172905 + 6517;46909;2471;2608;113771852;6219814 + 6518;46920;2471;2608;113771852;6219814 + 6519;46931;2471;2609;113771852;6266745 + 6520;46932;2471;2609;113771852;6266745 + 6521;46944;2471;2609;113771852;6266745 + 6522;46955;2471;2610;113771852;6313700 + 6523;46956;2471;2610;113771852;6313700 + 6524;46968;2471;2610;113771852;6313700 + 6525;46968;2471;2611;113771852;6360668 + 6526;46980;2471;2611;113771852;6360668 + 6527;46986;2478;2612;113137792;6095446 + 6528;46992;2478;2612;113137792;6095446 + 6529;46999;2484;2613;112755552;5874146 + 6530;47004;2484;2613;112755552;5874146 + 6531;47011;2484;2614;112755552;5921157 + 6532;47016;2484;2614;112755552;5921157 + 6533;47028;2484;2614;112755552;5921157 + 6534;47033;2484;2615;112755552;5968190 + 6535;47040;2484;2615;112755552;5968190 + 6536;47052;2484;2615;112755552;5968190 + 6537;47052;2484;2616;112755552;6015242 + 6538;47064;2484;2616;112755552;6015242 + 6539;47072;2484;2617;112755552;6062314 + 6540;47076;2484;2617;112755552;6062314 + 6541;47088;2484;2617;112755552;6062314 + 6542;47093;2484;2618;112755552;6109407 + 6543;47100;2484;2618;112755552;6109407 + 6544;47106;2484;2619;112755552;6156513 + 6545;47112;2484;2619;112755552;6156513 + 6546;47122;2484;2620;112755552;6203635 + 6547;47124;2484;2620;112755552;6203635 + 6548;47136;2484;2620;112755552;6203635 + 6549;47144;2487;2621;112794068;6116394 + 6550;47148;2487;2621;112794068;6116394 + 6551;47160;2489;2621;114466315;6026731 + 6552;47160;2489;2622;114466315;6073891 + 6553;47172;2489;2622;114466315;6073891 + 6554;47173;2489;2623;114466315;6121064 + 6555;47184;2489;2623;114466315;6121064 + 6556;47196;2489;2623;114466315;6121064 + 6557;47196;2489;2624;114466315;6168260 + 6558;47208;2489;2624;114466315;6168260 + 6559;47220;2489;2624;114466315;6168260 + 6560;47220;2489;2625;114466315;6215480 + 6561;47232;2489;2625;114466315;6215480 + 6562;47236;2489;2626;114466315;6262716 + 6563;47244;2489;2626;114466315;6262716 + 6564;47256;2489;2626;114466315;6262716 + 6565;47257;2489;2627;114466315;6309973 + 6566;47268;2489;2627;114466315;6309973 + 6567;47270;2489;2628;114466315;6357243 + 6568;47280;2489;2628;114466315;6357243 + 6569;47282;2489;2629;114466315;6404525 + 6570;47292;2489;2629;114466315;6404525 + 6571;47296;2489;2630;114466315;6451821 + 6572;47304;2489;2630;114466315;6451821 + 6573;47313;2489;2631;114466315;6499134 + 6574;47316;2489;2631;114466315;6499134 + 6575;47328;2489;2631;114466315;6499134 + 6576;47336;2493;2632;117133973;6366934 + 6577;47340;2493;2632;117133973;6366934 + 6578;47349;2498;2633;116861530;6189427 + 6579;47352;2498;2633;116861530;6189427 + 6580;47361;2498;2634;116861530;6236788 + 6581;47364;2498;2634;116861530;6236788 + 6582;47376;2498;2634;116861530;6236788 + 6583;47385;2502;2635;119692731;6103994 + 6584;47388;2502;2635;119692731;6103994 + 6585;47400;2502;2635;119692731;6103994 + 6586;47406;2512;2636;116184997;5699710 + 6587;47412;2512;2636;116184997;5699710 + 6588;47419;2512;2637;116184997;5747129 + 6589;47424;2512;2637;116184997;5747129 + 6590;47434;2512;2638;116184997;5794563 + 6591;47436;2512;2638;116184997;5794563 + 6592;47448;2512;2638;116184997;5794563 + 6593;47455;2513;2639;116582482;5796749 + 6594;47460;2513;2639;116582482;5796749 + 6595;47472;2513;2639;116582482;5796749 + 6596;47476;2513;2640;116582482;5844225 + 6597;47484;2513;2640;116582482;5844225 + 6598;47489;2513;2641;116582482;5891714 + 6599;47496;2513;2641;116582482;5891714 + 6600;47502;2513;2642;116582482;5939216 + 6601;47508;2513;2642;116582482;5939216 + 6602;47514;2513;2643;116582482;5986730 + 6603;47520;2513;2643;116582482;5986730 + 6604;47531;2513;2644;116582482;6034261 + 6605;47532;2513;2644;116582482;6034261 + 6606;47544;2513;2644;116582482;6034261 + 6607;47555;2513;2645;116582482;6081816 + 6608;47556;2513;2645;116582482;6081816 + 6609;47568;2513;2645;116582482;6081816 + 6610;47568;2513;2646;116582482;6129384 + 6611;47580;2513;2646;116582482;6129384 + 6612;47584;2513;2647;116582482;6176968 + 6613;47592;2513;2647;116582482;6176968 + 6614;47596;2513;2648;116582482;6224564 + 6615;47604;2513;2648;116582482;6224564 + 6616;47614;2513;2649;116582482;6272178 + 6617;47616;2513;2649;116582482;6272178 + 6618;47628;2513;2649;116582482;6272178 + 6619;47637;2513;2650;116582482;6319815 + 6620;47640;2513;2650;116582482;6319815 + 6621;47649;2513;2651;116582482;6367464 + 6622;47652;2513;2651;116582482;6367464 + 6623;47664;2513;2651;116582482;6367464 + 6624;47666;2513;2652;116582482;6415130 + 6625;47676;2513;2652;116582482;6415130 + 6626;47680;2513;2653;116582482;6462810 + 6627;47688;2513;2653;116582482;6462810 + 6628;47694;2513;2654;116582482;6510504 + 6629;47700;2513;2654;116582482;6510504 + 6630;47712;2513;2654;116582482;6510504 + 6631;47717;2513;2655;116582482;6558221 + 6632;47724;2513;2655;116582482;6558221 + 6633;47731;2517;2656;117032187;6424714 + 6634;47736;2517;2656;117032187;6424714 + 6635;47744;2517;2657;117032187;6472458 + 6636;47748;2517;2657;117032187;6472458 + 6637;47758;2521;2658;116109268;6338704 + 6638;47760;2521;2658;116109268;6338704 + 6639;47772;2521;2658;116109268;6338704 + 6640;47777;2521;2659;116109268;6386481 + 6641;47784;2521;2659;116109268;6386481 + 6642;47796;2521;2659;116109268;6386481 + 6643;47797;2521;2660;116109268;6434278 + 6644;47808;2521;2660;116109268;6434278 + 6645;47809;2521;2661;116109268;6482087 + 6646;47820;2521;2661;116109268;6482087 + 6647;47823;2521;2662;116109268;6529910 + 6648;47832;2521;2662;116109268;6529910 + 6649;47836;2525;2663;117075798;6395917 + 6650;47844;2532;2663;117254049;6077004 + 6651;47850;2532;2664;117254049;6124854 + 6652;47856;2532;2664;117254049;6124854 + 6653;47868;2532;2664;117254049;6124854 + 6654;47874;2532;2665;117254049;6172728 + 6655;47880;2532;2665;117254049;6172728 + 6656;47891;2532;2666;117254049;6220619 + 6657;47892;2532;2666;117254049;6220619 + 6658;47904;2532;2666;117254049;6220619 + 6659;47911;2538;2667;114622797;5994499 + 6660;47916;2538;2667;114622797;5994499 + 6661;47926;2538;2668;114622797;6042425 + 6662;47928;2538;2668;114622797;6042425 + 6663;47939;2538;2669;114622797;6090364 + 6664;47940;2538;2669;114622797;6090364 + 6665;47952;2538;2669;114622797;6090364 + 6666;47962;2538;2670;114622797;6138326 + 6667;47964;2538;2670;114622797;6138326 + 6668;47976;2538;2670;114622797;6138326 + 6669;47985;2538;2671;114622797;6186311 + 6670;47988;2538;2671;114622797;6186311 + 6671;48000;2538;2671;114622797;6186311 + 6672;48004;2538;2672;114622797;6234315 + 6673;48012;2538;2672;114622797;6234315 + 6674;48024;2538;2672;114622797;6234315 + 6675;48028;2538;2673;114622797;6282343 + 6676;48036;2538;2673;114622797;6282343 + 6677;48042;2538;2674;114622797;6330385 + 6678;48048;2538;2674;114622797;6330385 + 6679;48058;2546;2675;110578310;6012181 + 6680;48060;2546;2675;110578310;6012181 + 6681;48072;2546;2675;110578310;6012181 + 6682;48078;2546;2676;110578310;6060259 + 6683;48084;2546;2676;110578310;6060259 + 6684;48091;2546;2677;110578310;6108350 + 6685;48096;2546;2677;110578310;6108350 + 6686;48103;2546;2678;110578310;6156453 + 6687;48108;2546;2678;110578310;6156453 + 6688;48120;2546;2678;110578310;6156453 + 6689;48124;2546;2679;110578310;6204577 + 6690;48132;2546;2679;110578310;6204577 + 6691;48136;2546;2680;110578310;6252713 + 6692;48144;2546;2680;110578310;6252713 + 6693;48156;2546;2680;110578310;6252713 + 6694;48158;2546;2681;110578310;6300871 + 6695;48168;2546;2681;110578310;6300871 + 6696;48179;2546;2682;110578310;6349050 + 6697;48180;2546;2682;110578310;6349050 + 6698;48192;2546;2682;110578310;6349050 + 6699;48197;2546;2683;110578310;6397247 + 6700;48204;2546;2683;110578310;6397247 + 6701;48214;2546;2684;110578310;6445461 + 6702;48216;2546;2684;110578310;6445461 + 6703;48228;2546;2684;110578310;6445461 + 6704;48238;2548;2685;111049668;6401973 + 6705;48240;2548;2685;111049668;6401973 + 6706;48252;2550;2685;112843108;6310184 + 6707;48260;2550;2686;112843108;6358444 + 6708;48264;2550;2686;112843108;6358444 + 6709;48276;2550;2686;112843108;6358444 + 6710;48279;2552;2687;113672988;6314848 + 6711;48288;2552;2687;113672988;6314848 + 6712;48297;2552;2688;113672988;6363145 + 6713;48300;2552;2688;113672988;6363145 + 6714;48312;2552;2688;113672988;6363145 + 6715;48316;2552;2689;113672988;6411461 + 6716;48324;2552;2689;113672988;6411461 + 6717;48336;2552;2689;113672988;6411461 + 6718;48337;2559;2690;113116718;6137644 + 6719;48348;2559;2690;113116718;6137644 + 6720;48357;2559;2691;113116718;6186001 + 6721;48360;2559;2691;113116718;6186001 + 6722;48370;2559;2692;113116718;6234371 + 6723;48372;2559;2692;113116718;6234371 + 6724;48384;2559;2692;113116718;6234371 + 6725;48387;2559;2693;113116718;6282758 + 6726;48396;2559;2693;113116718;6282758 + 6727;48408;2559;2693;113116718;6282758 + 6728;48408;2559;2694;113116718;6331166 + 6729;48420;2559;2694;113116718;6331166 + 6730;48420;2559;2695;113116718;6379586 + 6731;48432;2559;2695;113116718;6379586 + 6732;48439;2559;2696;113116718;6428025 + 6733;48444;2559;2696;113116718;6428025 + 6734;48451;2559;2697;113116718;6476476 + 6735;48456;2559;2697;113116718;6476476 + 6736;48463;2559;2698;113116718;6524939 + 6737;48468;2559;2698;113116718;6524939 + 6738;48480;2559;2698;113116718;6524939 + 6739;48485;2559;2699;113116718;6573424 + 6740;48492;2559;2699;113116718;6573424 + 6741;48499;2559;2700;113116718;6621923 + 6742;48504;2559;2700;113116718;6621923 + 6743;48516;2559;2700;113116718;6621923 + 6744;48518;2559;2701;113116718;6670441 + 6745;48528;2559;2701;113116718;6670441 + 6746;48533;2559;2702;113116718;6718974 + 6747;48540;2559;2702;113116718;6718974 + 6748;48552;2559;2702;113116718;6718974 + 6749;48552;2561;2703;113598896;6675331 + 6750;48564;2561;2703;113598896;6675331 + 6751;48572;2561;2704;113598896;6723903 + 6752;48576;2561;2704;113598896;6723903 + 6753;48588;2561;2704;113598896;6723903 + 6754;48588;2566;2705;117531055;6541684 + 6755;48600;2566;2705;117531055;6541684 + 6756;48603;2566;2706;117531055;6590287 + 6757;48612;2566;2706;117531055;6590287 + 6758;48624;2566;2706;117531055;6590287 + 6759;48625;2566;2707;117531055;6638912 + 6760;48636;2566;2707;117531055;6638912 + 6761;48637;2566;2708;117531055;6687549 + 6762;48648;2566;2708;117531055;6687549 + 6763;48649;2566;2709;117531055;6736198 + 6764;48660;2566;2709;117531055;6736198 + 6765;48665;2571;2710;119477383;6553576 + 6766;48672;2571;2710;119477383;6553576 + 6767;48684;2571;2710;119477383;6553576 + 6768;48687;2571;2711;119477383;6602263 + 6769;48696;2571;2711;119477383;6602263 + 6770;48701;2571;2712;119477383;6650964 + 6771;48708;2571;2712;119477383;6650964 + 6772;48719;2571;2713;119477383;6699683 + 6773;48720;2571;2713;119477383;6699683 + 6774;48732;2571;2713;119477383;6699683 + 6775;48742;2571;2714;119477383;6748425 + 6776;48744;2571;2714;119477383;6748425 + 6777;48756;2571;2714;119477383;6748425 + 6778;48765;2579;2715;120884102;6426208 + 6779;48768;2579;2715;120884102;6426208 + 6780;48777;2579;2716;120884102;6474985 + 6781;48780;2579;2716;120884102;6474985 + 6782;48792;2579;2716;120884102;6474985 + 6783;48793;2579;2717;120884102;6523778 + 6784;48804;2579;2717;120884102;6523778 + 6785;48807;2579;2718;120884102;6572585 + 6786;48816;2579;2718;120884102;6572585 + 6787;48828;2579;2718;120884102;6572585 + 6788;48830;2579;2719;120884102;6621415 + 6789;48840;2579;2719;120884102;6621415 + 6790;48843;2581;2720;121648415;6577317 + 6791;48852;2581;2720;121648415;6577317 + 6792;48856;2581;2721;121648415;6626173 + 6793;48864;2581;2721;121648415;6626173 + 6794;48876;2581;2721;121648415;6626173 + 6795;48877;2581;2722;121648415;6675050 + 6796;48888;2581;2722;121648415;6675050 + 6797;48891;2586;2723;124398451;6491329 + 6798;48900;2586;2723;124398451;6491329 + 6799;48905;2586;2724;124398451;6540234 + 6800;48912;2586;2724;124398451;6540234 + 6801;48917;2586;2725;124398451;6589151 + 6802;48924;2586;2725;124398451;6589151 + 6803;48932;2591;2726;123551631;6405074 + 6804;48936;2591;2726;123551631;6405074 + 6805;48948;2591;2726;123551631;6405074 + 6806;48954;2591;2727;123551631;6454028 + 6807;48960;2591;2727;123551631;6454028 + 6808;48972;2591;2727;123551631;6454028 + 6809;48976;2591;2728;123551631;6503004 + 6810;48984;2591;2728;123551631;6503004 + 6811;48996;2591;2728;123551631;6503004 + 6812;48996;2591;2729;123551631;6552000 + 6813;49008;2591;2729;123551631;6552000 + 6814;49015;2591;2730;123551631;6601015 + 6815;49020;2591;2730;123551631;6601015 + 6816;49032;2591;2730;123551631;6601015 + 6817;49037;2591;2731;123551631;6650052 + 6818;49044;2591;2731;123551631;6650052 + 6819;49053;2591;2732;123551631;6699105 + 6820;49056;2591;2732;123551631;6699105 + 6821;49068;2596;2732;125426195;6465646 + 6822;49076;2596;2733;125426195;6514722 + 6823;49080;2596;2733;125426195;6514722 + 6824;49092;2596;2733;125426195;6514722 + 6825;49093;2596;2734;125426195;6563815 + 6826;49104;2596;2734;125426195;6563815 + 6827;49108;2596;2735;125426195;6612923 + 6828;49116;2596;2735;125426195;6612923 + 6829;49128;2596;2735;125426195;6612923 + 6830;49129;2596;2736;125426195;6662052 + 6831;49140;2596;2736;125426195;6662052 + 6832;49146;2596;2737;125426195;6711198 + 6833;49152;2596;2737;125426195;6711198 + 6834;49158;2596;2738;125426195;6760356 + 6835;49164;2596;2738;125426195;6760356 + 6836;49176;2596;2738;125426195;6760356 + 6837;49179;2596;2739;125426195;6809535 + 6838;49188;2596;2739;125426195;6809535 + 6839;49196;2596;2740;125426195;6858731 + 6840;49200;2596;2740;125426195;6858731 + 6841;49211;2603;2741;128468881;6580364 + 6842;49212;2603;2741;128468881;6580364 + 6843;49224;2603;2741;128468881;6580364 + 6844;49225;2603;2742;128468881;6629589 + 6845;49236;2603;2742;128468881;6629589 + 6846;49239;2603;2743;128468881;6678828 + 6847;49248;2603;2743;128468881;6678828 + 6848;49260;2603;2743;128468881;6678828 + 6849;49263;2603;2744;128468881;6728091 + 6850;49272;2603;2744;128468881;6728091 + 6851;49276;2603;2745;128468881;6777367 + 6852;49284;2603;2745;128468881;6777367 + 6853;49288;2603;2746;128468881;6826655 + 6854;49296;2603;2746;128468881;6826655 + 6855;49306;2608;2747;128098464;6641500 + 6856;49308;2608;2747;128098464;6641500 + 6857;49320;2608;2747;128098464;6641500 + 6858;49320;2612;2748;126564559;6502912 + 6859;49332;2612;2748;126564559;6502912 + 6860;49333;2612;2749;126564559;6552245 + 6861;49344;2612;2749;126564559;6552245 + 6862;49348;2612;2750;126564559;6601593 + 6863;49356;2612;2750;126564559;6601593 + 6864;49368;2612;2750;126564559;6601593 + 6865;49368;2612;2751;126564559;6650961 + 6866;49380;2612;2751;126564559;6650961 + 6867;49382;2612;2752;126564559;6700343 + 6868;49392;2612;2752;126564559;6700343 + 6869;49395;2612;2753;126564559;6749738 + 6870;49404;2612;2753;126564559;6749738 + 6871;49410;2612;2754;126564559;6799148 + 6872;49416;2612;2754;126564559;6799148 + 6873;49424;2612;2755;126564559;6848572 + 6874;49428;2612;2755;126564559;6848572 + 6875;49440;2612;2755;126564559;6848572 + 6876;49447;2614;2756;127852114;6803975 + 6877;49452;2614;2756;127852114;6803975 + 6878;49464;2615;2756;129164797;6756923 + 6879;49464;2615;2757;129164797;6806387 + 6880;49476;2615;2757;129164797;6806387 + 6881;49488;2615;2757;129164797;6806387 + 6882;49488;2615;2758;129164797;6855875 + 6883;49500;2615;2758;129164797;6855875 + 6884;49509;2615;2759;129164797;6905384 + 6885;49512;2615;2759;129164797;6905384 + 6886;49524;2619;2759;129425732;6716991 + 6887;49525;2619;2760;129425732;6766516 + 6888;49536;2619;2760;129425732;6766516 + 6889;49541;2619;2761;129425732;6816057 + 6890;49548;2619;2761;129425732;6816057 + 6891;49560;2619;2761;129425732;6816057 + 6892;49560;2625;2762;127748946;6582488 + 6893;49572;2625;2762;127748946;6582488 + 6894;49582;2625;2763;127748946;6632070 + 6895;49584;2625;2763;127748946;6632070 + 6896;49596;2625;2763;127748946;6632070 + 6897;49600;2626;2764;128756390;6634413 + 6898;49608;2626;2764;128756390;6634413 + 6899;49612;2631;2765;127856083;6447528 + 6900;49620;2631;2765;127856083;6447528 + 6901;49625;2631;2766;127856083;6497153 + 6902;49632;2631;2766;127856083;6497153 + 6903;49644;2631;2766;127856083;6497153 + 6904;49646;2631;2767;127856083;6546799 + 6905;49656;2631;2767;127856083;6546799 + 6906;49661;2631;2768;127856083;6596460 + 6907;49668;2631;2768;127856083;6596460 + 6908;49674;2631;2769;127856083;6646134 + 6909;49680;2631;2769;127856083;6646134 + 6910;49688;2631;2770;127856083;6695822 + 6911;49692;2631;2770;127856083;6695822 + 6912;49704;2631;2770;127856083;6695822 + 6913;49704;2631;2771;127856083;6745526 + 6914;49716;2631;2771;127856083;6745526 + 6915;49719;2631;2772;127856083;6795245 + 6916;49728;2631;2772;127856083;6795245 + 6917;49736;2631;2773;127856083;6844981 + 6918;49740;2631;2773;127856083;6844981 + 6919;49751;2631;2774;127856083;6894732 + 6920;49752;2631;2774;127856083;6894732 + 6921;49764;2631;2774;127856083;6894732 + 6922;49769;2631;2775;127856083;6944501 + 6923;49776;2631;2775;127856083;6944501 + 6924;49786;2638;2776;130345186;6662478 + 6925;49788;2638;2776;130345186;6662478 + 6926;49800;2638;2776;130345186;6662478 + 6927;49806;2638;2777;130345186;6712284 + 6928;49812;2638;2777;130345186;6712284 + 6929;49822;2638;2778;130345186;6762106 + 6930;49824;2638;2778;130345186;6762106 + 6931;49836;2638;2778;130345186;6762106 + 6932;49838;2644;2779;130539586;6526877 + 6933;49848;2644;2779;130539586;6526877 + 6934;49857;2644;2780;130539586;6576734 + 6935;49860;2644;2780;130539586;6576734 + 6936;49872;2644;2780;130539586;6576734 + 6937;49877;2648;2781;130446399;6436249 + 6938;49884;2648;2781;130446399;6436249 + 6939;49896;2648;2781;130446399;6436249 + 6940;49901;2648;2782;130446399;6486150 + 6941;49908;2648;2782;130446399;6486150 + 6942;49920;2648;2782;130446399;6486150 + 6943;49924;2648;2783;130446399;6536074 + 6944;49932;2648;2783;130446399;6536074 + 6945;49944;2648;2783;130446399;6536074 + 6946;49946;2648;2784;130446399;6586020 + 6947;49956;2648;2784;130446399;6586020 + 6948;49968;2648;2784;130446399;6586020 + 6949;49969;2648;2785;130446399;6635989 + 6950;49980;2648;2785;130446399;6635989 + 6951;49982;2648;2786;130446399;6685971 + 6952;49992;2648;2786;130446399;6685971 + 6953;49995;2650;2787;131051266;6640680 + 6954;50004;2650;2787;131051266;6640680 + 6955;50016;2650;2787;131051266;6640680 + 6956;50016;2650;2788;131051266;6690696 + 6957;50028;2650;2788;131051266;6690696 + 6958;50039;2660;2789;128648499;6263362 + 6959;50040;2660;2789;128648499;6263362 + 6960;50052;2660;2789;128648499;6263362 + 6961;50060;2664;2790;127297579;6122039 + 6962;50064;2664;2790;127297579;6122039 + 6963;50076;2664;2790;127297579;6122039 + 6964;50083;2664;2791;127297579;6172122 + 6965;50088;2664;2791;127297579;6172122 + 6966;50100;2664;2791;127297579;6172122 + 6967;50100;2664;2792;127297579;6222222 + 6968;50112;2664;2792;127297579;6222222 + 6969;50117;2664;2793;127297579;6272339 + 6970;50124;2664;2793;127297579;6272339 + 6971;50136;2664;2793;127297579;6272339 + 6972;50136;2664;2794;127297579;6322475 + 6973;50148;2664;2794;127297579;6322475 + 6974;50154;2664;2795;127297579;6372629 + 6975;50160;2664;2795;127297579;6372629 + 6976;50169;2664;2796;127297579;6422798 + 6977;50172;2664;2796;127297579;6422798 + 6978;50184;2664;2796;127297579;6422798 + 6979;50192;2666;2797;128182013;6377188 + 6980;50196;2666;2797;128182013;6377188 + 6981;50206;2673;2798;126729710;6091508 + 6982;50208;2673;2798;126729710;6091508 + 6983;50219;2673;2799;126729710;6141727 + 6984;50220;2673;2799;126729710;6141727 + 6985;50232;2673;2799;126729710;6141727 + 6986;50239;2673;2800;126729710;6191966 + 6987;50244;2673;2800;126729710;6191966 + 6988;50251;2673;2801;126729710;6242217 + 6989;50256;2673;2801;126729710;6242217 + 6990;50268;2673;2801;126729710;6242217 + 6991;50273;2673;2802;126729710;6292490 + 6992;50280;2673;2802;126729710;6292490 + 6993;50286;2673;2803;126729710;6342776 + 6994;50292;2673;2803;126729710;6342776 + 6995;50304;2673;2803;126729710;6342776 + 6996;50310;2673;2804;126729710;6393086 + 6997;50316;2673;2804;126729710;6393086 + 6998;50328;2673;2804;126729710;6393086 + 6999;50333;2677;2805;126062568;6251089 + 7000;50340;2677;2805;126062568;6251089 + 7001;50352;2677;2805;126062568;6251089 + 7002;50353;2677;2806;126062568;6301442 + 7003;50364;2677;2806;126062568;6301442 + 7004;50372;2677;2807;126062568;6351814 + 7005;50376;2677;2807;126062568;6351814 + 7006;50385;2677;2808;126062568;6402199 + 7007;50388;2677;2808;126062568;6402199 + 7008;50400;2677;2808;126062568;6402199 + 7009;50408;2677;2809;126062568;6452607 + 7010;50412;2677;2809;126062568;6452607 + 7011;50424;2677;2809;126062568;6452607 + 7012;50427;2680;2810;126867500;6358616 + 7013;50436;2680;2810;126867500;6358616 + 7014;50447;2680;2811;126867500;6409063 + 7015;50448;2680;2811;126867500;6409063 + 7016;50460;2680;2811;126867500;6409063 + 7017;50466;2680;2812;126867500;6459529 + 7018;50472;2680;2812;126867500;6459529 + 7019;50484;2680;2812;126867500;6459529 + 7020;50489;2683;2813;125749836;6365428 + 7021;50496;2683;2813;125749836;6365428 + 7022;50506;2683;2814;125749836;6415934 + 7023;50508;2683;2814;125749836;6415934 + 7024;50520;2683;2814;125749836;6415934 + 7025;50524;2683;2815;125749836;6466458 + 7026;50532;2683;2815;125749836;6466458 + 7027;50541;2683;2816;125749836;6516999 + 7028;50544;2683;2816;125749836;6516999 + 7029;50556;2683;2816;125749836;6516999 + 7030;50560;2683;2817;125749836;6567559 + 7031;50568;2683;2817;125749836;6567559 + 7032;50573;2683;2818;125749836;6618132 + 7033;50580;2683;2818;125749836;6618132 + 7034;50590;2683;2819;125749836;6668722 + 7035;50592;2683;2819;125749836;6668722 + 7036;50604;2683;2819;125749836;6668722 + 7037;50610;2683;2820;125749836;6719332 + 7038;50616;2683;2820;125749836;6719332 + 7039;50628;2683;2820;125749836;6719332 + 7040;50631;2683;2821;125749836;6769963 + 7041;50640;2683;2821;125749836;6769963 + 7042;50644;2683;2822;125749836;6820607 + 7043;50652;2683;2822;125749836;6820607 + 7044;50664;2683;2822;125749836;6820607 + 7045;50666;2683;2823;125749836;6871273 + 7046;50676;2683;2823;125749836;6871273 + 7047;50680;2683;2824;125749836;6921953 + 7048;50688;2683;2824;125749836;6921953 + 7049;50700;2688;2824;125422301;6680563 + 7050;50702;2688;2825;125422301;6731265 + 7051;50712;2688;2825;125422301;6731265 + 7052;50718;2688;2826;125422301;6781983 + 7053;50724;2688;2826;125422301;6781983 + 7054;50731;2688;2827;125422301;6832714 + 7055;50736;2688;2827;125422301;6832714 + 7056;50748;2688;2827;125422301;6832714 + 7057;50754;2688;2828;125422301;6883468 + 7058;50760;2688;2828;125422301;6883468 + 7059;50772;2688;2828;125422301;6883468 + 7060;50777;2690;2829;127645862;6837551 + 7061;50784;2690;2829;127645862;6837551 + 7062;50796;2692;2829;130357327;6740794 + 7063;50799;2692;2830;130357327;6791593 + 7064;50808;2692;2830;130357327;6791593 + 7065;50816;2692;2831;130357327;6842409 + 7066;50820;2692;2831;130357327;6842409 + 7067;50831;2692;2832;130357327;6893240 + 7068;50832;2692;2832;130357327;6893240 + 7069;50844;2692;2832;130357327;6893240 + 7070;50849;2692;2833;130357327;6944089 + 7071;50856;2692;2833;130357327;6944089 + 7072;50868;2700;2833;126380002;6556406 + 7073;50873;2700;2834;126380002;6607279 + 7074;50880;2700;2834;126380002;6607279 + 7075;50892;2700;2834;126380002;6607279 + 7076;50893;2700;2835;126380002;6658172 + 7077;50904;2700;2835;126380002;6658172 + 7078;50912;2700;2836;126380002;6709084 + 7079;50916;2700;2836;126380002;6709084 + 7080;50928;2700;2836;126380002;6709084 + 7081;50930;2700;2837;126380002;6760014 + 7082;50940;2700;2837;126380002;6760014 + 7083;50947;2700;2838;126380002;6810961 + 7084;50952;2700;2838;126380002;6810961 + 7085;50964;2700;2838;126380002;6810961 + 7086;50969;2700;2839;126380002;6861930 + 7087;50976;2700;2839;126380002;6861930 + 7088;50987;2700;2840;126380002;6912917 + 7089;50988;2700;2840;126380002;6912917 + 7090;51000;2700;2840;126380002;6912917 + 7091;51011;2707;2841;126195715;6623818 + 7092;51012;2707;2841;126195715;6623818 + 7093;51024;2707;2841;126195715;6623818 + 7094;51028;2707;2842;126195715;6674846 + 7095;51036;2707;2842;126195715;6674846 + 7096;51048;2707;2842;126195715;6674846 + 7097;51048;2707;2843;126195715;6725894 + 7098;51060;2707;2843;126195715;6725894 + 7099;51071;2710;2844;127325248;6630964 + 7100;51072;2710;2844;127325248;6630964 + 7101;51083;2710;2845;127325248;6682047 + 7102;51084;2710;2845;127325248;6682047 + 7103;51096;2715;2845;127804488;6438343 + 7104;51097;2715;2846;127804488;6489440 + 7105;51108;2715;2846;127804488;6489440 + 7106;51112;2715;2847;127804488;6540552 + 7107;51120;2715;2847;127804488;6540552 + 7108;51132;2715;2847;127804488;6540552 + 7109;51133;2715;2848;127804488;6591685 + 7110;51144;2715;2848;127804488;6591685 + 7111;51156;2715;2848;127804488;6591685 + 7112;51156;2715;2849;127804488;6642841 + 7113;51168;2715;2849;127804488;6642841 + 7114;51170;2715;2850;127804488;6694011 + 7115;51180;2715;2850;127804488;6694011 + 7116;51188;2720;2851;129124700;6501070 + 7117;51192;2720;2851;129124700;6501070 + 7118;51204;2720;2851;129124700;6501070 + 7119;51212;2720;2852;129124700;6552282 + 7120;51216;2720;2852;129124700;6552282 + 7121;51227;2720;2853;129124700;6603509 + 7122;51228;2720;2853;129124700;6603509 + 7123;51240;2720;2853;129124700;6603509 + 7124;51249;2720;2854;129124700;6654758 + 7125;51252;2720;2854;129124700;6654758 + 7126;51264;2720;2854;129124700;6654758 + 7127;51265;2720;2855;129124700;6706023 + 7128;51276;2720;2855;129124700;6706023 + 7129;51284;2720;2856;129124700;6757307 + 7130;51288;2720;2856;129124700;6757307 + 7131;51300;2720;2856;129124700;6757307 + 7132;51307;2720;2857;129124700;6808614 + 7133;51312;2720;2857;129124700;6808614 + 7134;51322;2720;2858;129124700;6859936 + 7135;51324;2720;2858;129124700;6859936 + 7136;51335;2720;2859;129124700;6911271 + 7137;51336;2720;2859;129124700;6911271 + 7138;51348;2720;2859;129124700;6911271 + 7139;51358;2730;2860;129056564;6473129 + 7140;51360;2730;2860;129056564;6473129 + 7141;51372;2730;2860;129056564;6473129 + 7142;51372;2734;2861;125976489;6328171 + 7143;51384;2734;2861;125976489;6328171 + 7144;51388;2734;2862;125976489;6379559 + 7145;51396;2734;2862;125976489;6379559 + 7146;51401;2734;2863;125976489;6430960 + 7147;51408;2734;2863;125976489;6430960 + 7148;51416;2734;2864;125976489;6482376 + 7149;51420;2734;2864;125976489;6482376 + 7150;51432;2734;2864;125976489;6482376 + 7151;51433;2734;2865;125976489;6533809 + 7152;51444;2734;2865;125976489;6533809 + 7153;51446;2734;2866;125976489;6585255 + 7154;51456;2734;2866;125976489;6585255 + 7155;51466;2734;2867;125976489;6636721 + 7156;51468;2734;2867;125976489;6636721 + 7157;51480;2734;2867;125976489;6636721 + 7158;51482;2734;2868;125976489;6688203 + 7159;51492;2734;2868;125976489;6688203 + 7160;51497;2741;2869;124564643;6395456 + 7161;51504;2741;2869;124564643;6395456 + 7162;51512;2744;2870;123962771;6299190 + 7163;51516;2744;2870;123962771;6299190 + 7164;51526;2744;2871;123962771;6350716 + 7165;51528;2744;2871;123962771;6350716 + 7166;51540;2744;2871;123962771;6350716 + 7167;51542;2744;2872;123962771;6402258 + 7168;51552;2744;2872;123962771;6402258 + 7169;51564;2744;2872;123962771;6402258 + 7170;51565;2744;2873;123962771;6453823 + 7171;51576;2744;2873;123962771;6453823 + 7172;51584;2744;2874;123962771;6505407 + 7173;51588;2744;2874;123962771;6505407 + 7174;51597;2744;2875;123962771;6557004 + 7175;51600;2744;2875;123962771;6557004 + 7176;51612;2744;2875;123962771;6557004 + 7177;51621;2744;2876;123962771;6608625 + 7178;51624;2744;2876;123962771;6608625 + 7179;51636;2744;2876;123962771;6608625 + 7180;51638;2744;2877;123962771;6660263 + 7181;51648;2744;2877;123962771;6660263 + 7182;51655;2744;2878;123962771;6711918 + 7183;51660;2744;2878;123962771;6711918 + 7184;51672;2744;2878;123962771;6711918 + 7185;51672;2744;2879;123962771;6763590 + 7186;51684;2744;2879;123962771;6763590 + 7187;51694;2744;2880;123962771;6815284 + 7188;51696;2744;2880;123962771;6815284 + 7189;51708;2744;2880;123962771;6815284 + 7190;51708;2749;2881;123924289;6620397 + 7191;51720;2749;2881;123924289;6620397 + 7192;51729;2752;2882;126332925;6523981 + 7193;51732;2752;2882;126332925;6523981 + 7194;51744;2752;2882;126332925;6523981 + 7195;51752;2752;2883;126332925;6575733 + 7196;51756;2752;2883;126332925;6575733 + 7197;51768;2752;2883;126332925;6575733 + 7198;51774;2752;2884;126332925;6627507 + 7199;51780;2752;2884;126332925;6627507 + 7200;51792;2752;2884;126332925;6627507 + 7201;51797;2752;2885;126332925;6679304 + 7202;51804;2752;2885;126332925;6679304 + 7203;51813;2752;2886;126332925;6731117 + 7204;51816;2752;2886;126332925;6731117 + 7205;51826;2752;2887;126332925;6782943 + 7206;51828;2752;2887;126332925;6782943 + 7207;51840;2752;2887;126332925;6782943 + 7208;51846;2752;2888;126332925;6834789 + 7209;51852;2752;2888;126332925;6834789 + 7210;51861;2756;2889;129120691;6688905 + 7211;51864;2756;2889;129120691;6688905 + 7212;51876;2756;2889;129120691;6688905 + 7213;51876;2756;2890;129120691;6740781 + 7214;51888;2756;2890;129120691;6740781 + 7215;51889;2756;2891;129120691;6792670 + 7216;51900;2756;2891;129120691;6792670 + 7217;51910;2766;2892;127812424;6348892 + 7218;51912;2766;2892;127812424;6348892 + 7219;51924;2766;2892;127812424;6348892 + 7220;51934;2768;2893;126372155;6301491 + 7221;51936;2768;2893;126372155;6301491 + 7222;51948;2768;2893;126372155;6301491 + 7223;51950;2768;2894;126372155;6353441 + 7224;51960;2768;2894;126372155;6353441 + 7225;51965;2768;2895;126372155;6405406 + 7226;51972;2768;2895;126372155;6405406 + 7227;51980;2768;2896;126372155;6457386 + 7228;51984;2768;2896;126372155;6457386 + 7229;51996;2768;2896;126372155;6457386 + 7230;51997;2768;2897;126372155;6509383 + 7231;52008;2768;2897;126372155;6509383 + 7232;52013;2768;2898;126372155;6561396 + 7233;52020;2768;2898;126372155;6561396 + 7234;52031;2768;2899;126372155;6613427 + 7235;52032;2768;2899;126372155;6613427 + 7236;52044;2768;2899;126372155;6613427 + 7237;52049;2768;2900;126372155;6665476 + 7238;52056;2768;2900;126372155;6665476 + 7239;52064;2768;2901;126372155;6717540 + 7240;52068;2768;2901;126372155;6717540 + 7241;52080;2768;2901;126372155;6717540 + 7242;52087;2768;2902;126372155;6769627 + 7243;52092;2768;2902;126372155;6769627 + 7244;52104;2768;2902;126372155;6769627 + 7245;52107;2768;2903;126372155;6821734 + 7246;52116;2768;2903;126372155;6821734 + 7247;52121;2776;2904;127021214;6475896 + 7248;52128;2776;2904;127021214;6475896 + 7249;52136;2776;2905;127021214;6528032 + 7250;52140;2776;2905;127021214;6528032 + 7251;52152;2776;2905;127021214;6528032 + 7252;52153;2776;2906;127021214;6580185 + 7253;52164;2777;2906;128062674;6530363 + 7254;52173;2777;2907;128062674;6582536 + 7255;52176;2777;2907;128062674;6582536 + 7256;52188;2777;2907;128062674;6582536 + 7257;52189;2777;2908;128062674;6634725 + 7258;52200;2777;2908;128062674;6634725 + 7259;52210;2777;2909;128062674;6686935 + 7260;52212;2777;2909;128062674;6686935 + 7261;52224;2780;2909;129779838;6537363 + 7262;52231;2782;2910;130328999;6489769 + 7263;52236;2782;2910;130328999;6489769 + 7264;52248;2782;2910;130328999;6489769 + 7265;52250;2782;2911;130328999;6542019 + 7266;52260;2782;2911;130328999;6542019 + 7267;52266;2782;2912;130328999;6594285 + 7268;52272;2782;2912;130328999;6594285 + 7269;52282;2782;2913;130328999;6646567 + 7270;52284;2782;2913;130328999;6646567 + 7271;52296;2782;2913;130328999;6646567 + 7272;52298;2787;2914;130482856;6448957 + 7273;52308;2787;2914;130482856;6448957 + 7274;52310;2787;2915;130482856;6501267 + 7275;52320;2787;2915;130482856;6501267 + 7276;52323;2787;2916;130482856;6553590 + 7277;52332;2787;2916;130482856;6553590 + 7278;52344;2787;2916;130482856;6553590 + 7279;52346;2787;2917;130482856;6605936 + 7280;52356;2787;2917;130482856;6605936 + 7281;52366;2794;2918;129425732;6307613 + 7282;52368;2794;2918;129425732;6307613 + 7283;52379;2794;2919;129425732;6359992 + 7284;52380;2794;2919;129425732;6359992 + 7285;52392;2794;2919;129425732;6359992 + 7286;52392;2794;2920;129425732;6412384 + 7287;52404;2794;2920;129425732;6412384 + 7288;52406;2794;2921;129425732;6464790 + 7289;52416;2794;2921;129425732;6464790 + 7290;52428;2794;2921;129425732;6464790 + 7291;52428;2794;2922;129425732;6517218 + 7292;52440;2794;2922;129425732;6517218 + 7293;52445;2794;2923;129425732;6569663 + 7294;52452;2794;2923;129425732;6569663 + 7295;52464;2794;2923;129425732;6569663 + 7296;52465;2794;2924;129425732;6622128 + 7297;52476;2794;2924;129425732;6622128 + 7298;52480;2794;2925;129425732;6674608 + 7299;52488;2794;2925;129425732;6674608 + 7300;52497;2794;2926;129425732;6727105 + 7301;52500;2794;2926;129425732;6727105 + 7302;52512;2794;2926;129425732;6727105 + 7303;52521;2794;2927;129425732;6779626 + 7304;52524;2794;2927;129425732;6779626 + 7305;52534;2794;2928;129425732;6832160 + 7306;52536;2794;2928;129425732;6832160 + 7307;52548;2794;2928;129425732;6832160 + 7308;52550;2794;2929;129425732;6884710 + 7309;52560;2794;2929;129425732;6884710 + 7310;52569;2794;2930;129425732;6937279 + 7311;52572;2794;2930;129425732;6937279 + 7312;52584;2794;2930;129425732;6937279 + 7313;52586;2794;2931;129425732;6989865 + 7314;52596;2794;2931;129425732;6989865 + 7315;52603;2794;2932;129425732;7042468 + 7316;52608;2794;2932;129425732;7042468 + 7317;52620;2794;2932;129425732;7042468 + 7318;52621;2799;2933;131736628;6844064 + 7319;52632;2799;2933;131736628;6844064 + 7320;52642;2799;2934;131736628;6896706 + 7321;52644;2799;2934;131736628;6896706 + 7322;52656;2799;2934;131736628;6896706 + 7323;52665;2799;2935;131736628;6949371 + 7324;52668;2799;2935;131736628;6949371 + 7325;52680;2799;2935;131736628;6949371 + 7326;52680;2799;2936;131736628;7002051 + 7327;52692;2809;2936;130612560;6498653 + 7328;52704;2809;2936;130612560;6498653 + 7329;52704;2811;2937;129530254;6450444 + 7330;52716;2811;2937;129530254;6450444 + 7331;52724;2811;2938;129530254;6503168 + 7332;52728;2811;2938;129530254;6503168 + 7333;52740;2811;2938;129530254;6503168 + 7334;52740;2811;2939;129530254;6555908 + 7335;52752;2811;2939;129530254;6555908 + 7336;52761;2811;2940;129530254;6608669 + 7337;52764;2811;2940;129530254;6608669 + 7338;52776;2811;2940;129530254;6608669 + 7339;52781;2813;2941;128824368;6560455 + 7340;52788;2813;2941;128824368;6560455 + 7341;52796;2814;2942;129622785;6562727 + 7342;52800;2814;2942;129622785;6562727 + 7343;52812;2814;2942;129622785;6562727 + 7344;52813;2814;2943;129622785;6615540 + 7345;52824;2814;2943;129622785;6615540 + 7346;52828;2814;2944;129622785;6668368 + 7347;52836;2814;2944;129622785;6668368 + 7348;52848;2814;2944;129622785;6668368 + 7349;52850;2814;2945;129622785;6721218 + 7350;52860;2814;2945;129622785;6721218 + 7351;52870;2814;2946;129622785;6774088 + 7352;52872;2814;2946;129622785;6774088 + 7353;52884;2816;2946;129249042;6672987 + 7354;52894;2816;2947;129249042;6725881 + 7355;52896;2816;2947;129249042;6725881 + 7356;52908;2816;2947;129249042;6725881 + 7357;52912;2816;2948;129249042;6778793 + 7358;52920;2816;2948;129249042;6778793 + 7359;52926;2816;2949;129249042;6831719 + 7360;52932;2816;2949;129249042;6831719 + 7361;52944;2821;2949;128106419;6578671 + 7362;52947;2821;2950;128106419;6631618 + 7363;52956;2821;2950;128106419;6631618 + 7364;52968;2821;2950;128106419;6631618 + 7365;52969;2821;2951;128106419;6684587 + 7366;52980;2821;2951;128106419;6684587 + 7367;52988;2821;2952;128106419;6737575 + 7368;52992;2821;2952;128106419;6737575 + 7369;53004;2821;2952;128106419;6737575 + 7370;53004;2821;2953;128106419;6790579 + 7371;53016;2821;2953;128106419;6790579 + 7372;53022;2831;2954;124773664;6336127 + 7373;53028;2831;2954;124773664;6336127 + 7374;53040;2834;2954;123885819;6183512 + 7375;53041;2834;2955;123885819;6236553 + 7376;53052;2834;2955;123885819;6236553 + 7377;53056;2835;2956;124159216;6238697 + 7378;53064;2835;2956;124159216;6238697 + 7379;53076;2836;2956;124386865;6187767 + 7380;53080;2836;2957;124386865;6240847 + 7381;53088;2836;2957;124386865;6240847 + 7382;53100;2836;2957;124386865;6240847 + 7383;53103;2836;2958;124386865;6293950 + 7384;53112;2836;2958;124386865;6293950 + 7385;53122;2836;2959;124386865;6347072 + 7386;53124;2836;2959;124386865;6347072 + 7387;53136;2836;2959;124386865;6347072 + 7388;53141;2837;2960;124796910;6349266 + 7389;53148;2837;2960;124796910;6349266 + 7390;53160;2837;2960;124796910;6349266 + 7391;53161;2837;2961;124796910;6402427 + 7392;53172;2837;2961;124796910;6402427 + 7393;53173;2837;2962;124796910;6455600 + 7394;53184;2837;2962;124796910;6455600 + 7395;53188;2837;2963;124796910;6508788 + 7396;53196;2837;2963;124796910;6508788 + 7397;53208;2837;2963;124796910;6508788 + 7398;53208;2837;2964;124796910;6561996 + 7399;53220;2837;2964;124796910;6561996 + 7400;53220;2837;2965;124796910;6615216 + 7401;53232;2837;2965;124796910;6615216 + 7402;53237;2837;2966;124796910;6668453 + 7403;53244;2837;2966;124796910;6668453 + 7404;53250;2837;2967;124796910;6721703 + 7405;53256;2837;2967;124796910;6721703 + 7406;53268;2837;2967;124796910;6721703 + 7407;53273;2840;2968;125118926;6622009 + 7408;53280;2840;2968;125118926;6622009 + 7409;53292;2840;2968;125118926;6622009 + 7410;53292;2840;2969;125118926;6675301 + 7411;53304;2840;2969;125118926;6675301 + 7412;53307;2840;2970;125118926;6728608 + 7413;53316;2840;2970;125118926;6728608 + 7414;53327;2840;2971;125118926;6781935 + 7415;53328;2840;2971;125118926;6781935 + 7416;53340;2840;2971;125118926;6781935 + 7417;53347;2840;2972;125118926;6835282 + 7418;53352;2840;2972;125118926;6835282 + 7419;53364;2840;2972;125118926;6835282 + 7420;53367;2840;2973;125118926;6888649 + 7421;53376;2840;2973;125118926;6888649 + 7422;53386;2840;2974;125118926;6942035 + 7423;53388;2840;2974;125118926;6942035 + 7424;53398;2840;2975;125118926;6995433 + 7425;53400;2840;2975;125118926;6995433 + 7426;53412;2840;2975;125118926;6995433 + 7427;53420;2840;2976;125118926;7048853 + 7428;53424;2840;2976;125118926;7048853 + 7429;53436;2840;2976;125118926;7048853 + 7430;53442;2840;2977;125118926;7102295 + 7431;53448;2840;2977;125118926;7102295 + 7432;53459;2850;2978;127186961;6644668 + 7433;53460;2850;2978;127186961;6644668 + 7434;53472;2850;2978;127186961;6644668 + 7435;53477;2852;2979;126509556;6595706 + 7436;53484;2852;2979;126509556;6595706 + 7437;53490;2852;2980;126509556;6649196 + 7438;53496;2852;2980;126509556;6649196 + 7439;53508;2852;2980;126509556;6649196 + 7440;53508;2852;2981;126509556;6702704 + 7441;53520;2852;2981;126509556;6702704 + 7442;53532;2852;2981;126509556;6702704 + 7443;53532;2852;2982;126509556;6756236 + 7444;53544;2852;2982;126509556;6756236 + 7445;53556;2852;2982;126509556;6756236 + 7446;53556;2852;2983;126509556;6809792 + 7447;53568;2852;2983;126509556;6809792 + 7448;53572;2852;2984;126509556;6863364 + 7449;53580;2852;2984;126509556;6863364 + 7450;53587;2852;2985;126509556;6916951 + 7451;53592;2852;2985;126509556;6916951 + 7452;53600;2852;2986;126509556;6970551 + 7453;53604;2852;2986;126509556;6970551 + 7454;53615;2852;2987;126509556;7024166 + 7455;53616;2852;2987;126509556;7024166 + 7456;53627;2852;2988;126509556;7077793 + 7457;53628;2852;2988;126509556;7077793 + 7458;53640;2852;2988;126509556;7077793 + 7459;53641;2852;2989;126509556;7131434 + 7460;53652;2852;2989;126509556;7131434 + 7461;53661;2852;2990;126509556;7185095 + 7462;53664;2852;2990;126509556;7185095 + 7463;53676;2852;2990;126509556;7185095 + 7464;53676;2852;2991;126509556;7238771 + 7465;53688;2852;2991;126509556;7238771 + 7466;53695;2862;2992;123252781;6779185 + 7467;53700;2868;2992;120038841;6470445 + 7468;53712;2868;2992;120038841;6470445 + 7469;53713;2868;2993;120038841;6524158 + 7470;53724;2868;2993;120038841;6524158 + 7471;53731;2868;2994;120038841;6577889 + 7472;53736;2868;2994;120038841;6577889 + 7473;53747;2868;2995;120038841;6631636 + 7474;53748;2868;2995;120038841;6631636 + 7475;53760;2868;2995;120038841;6631636 + 7476;53768;2868;2996;120038841;6685404 + 7477;53772;2868;2996;120038841;6685404 + 7478;53784;2868;2996;120038841;6685404 + 7479;53786;2868;2997;120038841;6739190 + 7480;53796;2868;2997;120038841;6739190 + 7481;53801;2868;2998;120038841;6792991 + 7482;53808;2868;2998;120038841;6792991 + 7483;53820;2868;2998;120038841;6792991 + 7484;53821;2868;2999;120038841;6846812 + 7485;53832;2868;2999;120038841;6846812 + 7486;53842;2868;3000;120038841;6900654 + 7487;53844;2868;3000;120038841;6900654 + 7488;53856;2868;3000;120038841;6900654 + 7489;53860;2868;3001;120038841;6954514 + 7490;53868;2868;3001;120038841;6954514 + 7491;53876;2868;3002;120038841;7008390 + 7492;53880;2868;3002;120038841;7008390 + 7493;53892;2868;3002;120038841;7008390 + 7494;53899;2868;3003;120038841;7062289 + 7495;53904;2868;3003;120038841;7062289 + 7496;53916;2868;3003;120038841;7062289 + 7497;53920;2868;3004;120038841;7116209 + 7498;53928;2868;3004;120038841;7116209 + 7499;53940;2868;3004;120038841;7116209 + 7500;53942;2868;3005;120038841;7170151 + 7501;53952;2868;3005;120038841;7170151 + 7502;53964;2868;3005;120038841;7170151 + 7503;53964;2878;3006;116542672;6708203 + 7504;53976;2878;3006;116542672;6708203 + 7505;53988;2878;3006;116542672;6708203 + 7506;53988;2882;3007;116734607;6555308 + 7507;54000;2882;3007;116734607;6555308 + 7508;54010;2882;3008;116734607;6609318 + 7509;54012;2882;3008;116734607;6609318 + 7510;54024;2882;3008;116734607;6609318 + 7511;54029;2882;3009;116734607;6663347 + 7512;54036;2882;3009;116734607;6663347 + 7513;54042;2882;3010;116734607;6717389 + 7514;54048;2882;3010;116734607;6717389 + 7515;54054;2882;3011;116734607;6771443 + 7516;54060;2882;3011;116734607;6771443 + 7517;54072;2882;3011;116734607;6771443 + 7518;54076;2882;3012;116734607;6825519 + 7519;54084;2882;3012;116734607;6825519 + 7520;54092;2882;3013;116734607;6879611 + 7521;54096;2882;3013;116734607;6879611 + 7522;54108;2882;3013;116734607;6879611 + 7523;54114;2882;3014;116734607;6933725 + 7524;54120;2882;3014;116734607;6933725 + 7525;54131;2882;3015;116734607;6987856 + 7526;54132;2882;3015;116734607;6987856 + 7527;54143;2882;3016;116734607;7041999 + 7528;54144;2882;3016;116734607;7041999 + 7529;54156;2882;3016;116734607;7041999 + 7530;54167;2882;3017;116734607;7096166 + 7531;54168;2882;3017;116734607;7096166 + 7532;54180;2882;3017;116734607;7096166 + 7533;54183;2882;3018;116734607;7150349 + 7534;54192;2882;3018;116734607;7150349 + 7535;54204;2882;3018;116734607;7150349 + 7536;54204;2883;3019;118013728;7152779 + 7537;54216;2883;3019;118013728;7152779 + 7538;54216;2883;3020;118013728;7206995 + 7539;54228;2883;3020;118013728;7206995 + 7540;54237;2891;3021;114040632;6846414 + 7541;54240;2891;3021;114040632;6846414 + 7542;54251;2891;3022;114040632;6900665 + 7543;54252;2891;3022;114040632;6900665 + 7544;54264;2891;3022;114040632;6900665 + 7545;54269;2891;3023;114040632;6954934 + 7546;54276;2891;3023;114040632;6954934 + 7547;54288;2891;3023;114040632;6954934 + 7548;54288;2891;3024;114040632;7009222 + 7549;54300;2891;3024;114040632;7009222 + 7550;54309;2891;3025;114040632;7063531 + 7551;54312;2891;3025;114040632;7063531 + 7552;54324;2891;3025;114040632;7063531 + 7553;54332;2896;3026;114961385;6858037 + 7554;54336;2896;3026;114961385;6858037 + 7555;54347;2896;3027;114961385;6912384 + 7556;54348;2896;3027;114961385;6912384 + 7557;54360;2896;3027;114961385;6912384 + 7558;54368;2899;3028;116470326;6810659 + 7559;54372;2899;3028;116470326;6810659 + 7560;54384;2899;3028;116470326;6810659 + 7561;54385;2899;3029;116470326;6865044 + 7562;54396;2899;3029;116470326;6865044 + 7563;54408;2899;3029;116470326;6865044 + 7564;54409;2899;3030;116470326;6919453 + 7565;54420;2899;3030;116470326;6919453 + 7566;54421;2899;3031;116470326;6973874 + 7567;54432;2899;3031;116470326;6973874 + 7568;54444;2899;3031;116470326;6973874 + 7569;54444;2904;3032;117922161;6767803 + 7570;54456;2904;3032;117922161;6767803 + 7571;54457;2904;3033;117922161;6822260 + 7572;54468;2904;3033;117922161;6822260 + 7573;54476;2904;3034;117922161;6876736 + 7574;54480;2904;3034;117922161;6876736 + 7575;54492;2904;3034;117922161;6876736 + 7576;54493;2904;3035;117922161;6931229 + 7577;54504;2904;3035;117922161;6931229 + 7578;54516;2904;3035;117922161;6931229 + 7579;54517;2904;3036;117922161;6985746 + 7580;54528;2904;3036;117922161;6985746 + 7581;54539;2904;3037;117922161;7040285 + 7582;54540;2904;3037;117922161;7040285 + 7583;54552;2904;3037;117922161;7040285 + 7584;54562;2904;3038;117922161;7094847 + 7585;54564;2904;3038;117922161;7094847 + 7586;54576;2904;3038;117922161;7094847 + 7587;54584;2904;3039;117922161;7149431 + 7588;54588;2904;3039;117922161;7149431 + 7589;54597;2904;3040;117922161;7204028 + 7590;54600;2904;3040;117922161;7204028 + 7591;54612;2904;3040;117922161;7204028 + 7592;54620;2907;3041;117101246;7102133 + 7593;54624;2907;3041;117101246;7102133 + 7594;54636;2907;3041;117101246;7102133 + 7595;54642;2907;3042;117101246;7156775 + 7596;54648;2907;3042;117101246;7156775 + 7597;54660;2907;3042;117101246;7156775 + 7598;54665;2907;3043;117101246;7211440 + 7599;54672;2907;3043;117101246;7211440 + 7600;54683;2913;3044;118704596;6952586 + 7601;54684;2913;3044;118704596;6952586 + 7602;54696;2913;3044;118704596;6952586 + 7603;54698;2913;3045;118704596;7007284 + 7604;54708;2913;3045;118704596;7007284 + 7605;54717;2913;3046;118704596;7062001 + 7606;54720;2913;3046;118704596;7062001 + 7607;54732;2913;3046;118704596;7062001 + 7608;54739;2922;3047;115774488;6645345 + 7609;54744;2922;3047;115774488;6645345 + 7610;54756;2922;3047;115774488;6645345 + 7611;54759;2922;3048;115774488;6700104 + 7612;54768;2922;3048;115774488;6700104 + 7613;54779;2925;3049;117144884;6597441 + 7614;54780;2925;3049;117144884;6597441 + 7615;54792;2925;3049;117144884;6597441 + 7616;54794;2925;3050;117144884;6652235 + 7617;54804;2925;3050;117144884;6652235 + 7618;54808;2925;3051;117144884;6707043 + 7619;54816;2925;3051;117144884;6707043 + 7620;54821;2925;3052;117144884;6761864 + 7621;54828;2925;3052;117144884;6761864 + 7622;54835;2925;3053;117144884;6816699 + 7623;54840;2925;3053;117144884;6816699 + 7624;54851;2925;3054;117144884;6871550 + 7625;54852;2925;3054;117144884;6871550 + 7626;54864;2925;3054;117144884;6871550 + 7627;54868;2925;3055;117144884;6926418 + 7628;54876;2925;3055;117144884;6926418 + 7629;54888;2925;3055;117144884;6926418 + 7630;54890;2925;3056;117144884;6981308 + 7631;54900;2925;3056;117144884;6981308 + 7632;54912;2930;3056;117589456;6718548 + 7633;54913;2930;3057;117589456;6773461 + 7634;54924;2930;3057;117589456;6773461 + 7635;54927;2930;3058;117589456;6828388 + 7636;54936;2930;3058;117589456;6828388 + 7637;54942;2930;3059;117589456;6883330 + 7638;54948;2930;3059;117589456;6883330 + 7639;54960;2930;3059;117589456;6883330 + 7640;54965;2930;3060;117589456;6938295 + 7641;54972;2930;3060;117589456;6938295 + 7642;54981;2930;3061;117589456;6993276 + 7643;54984;2930;3061;117589456;6993276 + 7644;54996;2930;3061;117589456;6993276 + 7645;54997;2930;3062;117589456;7048273 + 7646;55008;2930;3062;117589456;7048273 + 7647;55019;2938;3063;117443509;6681913 + 7648;55020;2938;3063;117443509;6681913 + 7649;55032;2938;3063;117443509;6681913 + 7650;55042;2938;3064;117443509;6736955 + 7651;55044;2938;3064;117443509;6736955 + 7652;55056;2938;3064;117443509;6736955 + 7653;55066;2938;3065;117443509;6792021 + 7654;55068;2938;3065;117443509;6792021 + 7655;55080;2938;3065;117443509;6792021 + 7656;55086;2938;3066;117443509;6847107 + 7657;55092;2938;3066;117443509;6847107 + 7658;55104;2938;3066;117443509;6847107 + 7659;55106;2938;3067;117443509;6902213 + 7660;55116;2938;3067;117443509;6902213 + 7661;55128;2938;3067;117443509;6902213 + 7662;55129;2938;3068;117443509;6957342 + 7663;55140;2938;3068;117443509;6957342 + 7664;55143;2938;3069;117443509;7012485 + 7665;55152;2938;3069;117443509;7012485 + 7666;55157;2946;3070;115648745;6645049 + 7667;55164;2946;3070;115648745;6645049 + 7668;55176;2946;3070;115648745;6645049 + 7669;55177;2947;3071;116275215;6647314 + 7670;55188;2947;3071;116275215;6647314 + 7671;55200;2947;3071;116275215;6647314 + 7672;55200;2947;3072;116275215;6702514 + 7673;55212;2947;3072;116275215;6702514 + 7674;55219;2947;3073;116275215;6757733 + 7675;55224;2947;3073;116275215;6757733 + 7676;55232;2947;3074;116275215;6812965 + 7677;55236;2947;3074;116275215;6812965 + 7678;55244;2947;3075;116275215;6868209 + 7679;55248;2947;3075;116275215;6868209 + 7680;55260;2947;3075;116275215;6868209 + 7681;55265;2950;3076;117093975;6764632 + 7682;55272;2950;3076;117093975;6764632 + 7683;55282;2950;3077;117093975;6819914 + 7684;55284;2950;3077;117093975;6819914 + 7685;55295;2950;3078;117093975;6875209 + 7686;55296;2950;3078;117093975;6875209 + 7687;55308;2950;3078;117093975;6875209 + 7688;55310;2950;3079;117093975;6930519 + 7689;55320;2950;3079;117093975;6930519 + 7690;55332;2950;3079;117093975;6930519 + 7691;55333;2950;3080;117093975;6985852 + 7692;55344;2950;3080;117093975;6985852 + 7693;55346;2950;3081;117093975;7041198 + 7694;55356;2950;3081;117093975;7041198 + 7695;55358;2950;3082;117093975;7096556 + 7696;55368;2950;3082;117093975;7096556 + 7697;55376;2950;3083;117093975;7151932 + 7698;55380;2950;3083;117093975;7151932 + 7699;55391;2950;3084;117093975;7207323 + 7700;55392;2950;3084;117093975;7207323 + 7701;55404;2955;3084;115304553;6942212 + 7702;55407;2955;3085;115304553;6997619 + 7703;55416;2955;3085;115304553;6997619 + 7704;55419;2955;3086;115304553;7053038 + 7705;55428;2955;3086;115304553;7053038 + 7706;55440;2955;3086;115304553;7053038 + 7707;55440;2955;3087;115304553;7108478 + 7708;55452;2957;3087;115279496;7002295 + 7709;55460;2957;3088;115279496;7057755 + 7710;55464;2957;3088;115279496;7057755 + 7711;55473;2957;3089;115279496;7113228 + 7712;55476;2957;3089;115279496;7113228 + 7713;55488;2957;3089;115279496;7113228 + 7714;55490;2957;3090;115279496;7168718 + 7715;55500;2957;3090;115279496;7168718 + 7716;55508;2957;3091;115279496;7224226 + 7717;55512;2957;3091;115279496;7224226 + 7718;55524;2957;3091;115279496;7224226 + 7719;55526;2958;3092;116455862;7226630 + 7720;55536;2958;3092;116455862;7226630 + 7721;55547;2958;3093;116455862;7282177 + 7722;55548;2958;3093;116455862;7282177 + 7723;55560;2958;3093;116455862;7282177 + 7724;55568;2958;3094;116455862;7337745 + 7725;55572;2958;3094;116455862;7337745 + 7726;55584;2968;3094;113884945;6805602 + 7727;55588;2969;3095;112605116;6807883 + 7728;55596;2969;3095;112605116;6807883 + 7729;55601;2969;3096;112605116;6863484 + 7730;55608;2969;3096;112605116;6863484 + 7731;55615;2969;3097;112605116;6919099 + 7732;55620;2969;3097;112605116;6919099 + 7733;55632;2969;3097;112605116;6919099 + 7734;55635;2969;3098;112605116;6974734 + 7735;55644;2969;3098;112605116;6974734 + 7736;55656;2969;3098;112605116;6974734 + 7737;55658;2969;3099;112605116;7030392 + 7738;55668;2969;3099;112605116;7030392 + 7739;55676;2969;3100;112605116;7086068 + 7740;55680;2969;3100;112605116;7086068 + 7741;55692;2969;3100;112605116;7086068 + 7742;55695;2969;3101;112605116;7141763 + 7743;55704;2969;3101;112605116;7141763 + 7744;55707;2969;3102;112605116;7197470 + 7745;55716;2969;3102;112605116;7197470 + 7746;55728;2969;3102;112605116;7197470 + 7747;55729;2969;3103;112605116;7253199 + 7748;55740;2969;3103;112605116;7253199 + 7749;55745;2979;3104;108086798;6774831 + 7750;55752;2979;3104;108086798;6774831 + 7751;55764;2988;3104;103331862;6292593 + 7752;55766;2988;3105;103331862;6348359 + 7753;55776;2988;3105;103331862;6348359 + 7754;55786;2988;3106;103331862;6404145 + 7755;55788;2988;3106;103331862;6404145 + 7756;55800;2988;3106;103331862;6404145 + 7757;55806;2988;3107;103331862;6459951 + 7758;55812;2988;3107;103331862;6459951 + 7759;55823;2990;3108;103190794;6408437 + 7760;55824;2990;3108;103190794;6408437 + 7761;55836;2990;3108;103190794;6408437 + 7762;55842;2990;3109;103190794;6464279 + 7763;55848;2990;3109;103190794;6464279 + 7764;55859;2990;3110;103190794;6520138 + 7765;55860;2990;3110;103190794;6520138 + 7766;55872;2990;3110;103190794;6520138 + 7767;55876;2990;3111;103190794;6576014 + 7768;55884;2990;3111;103190794;6576014 + 7769;55892;2990;3112;103190794;6631906 + 7770;55896;2990;3112;103190794;6631906 + 7771;55908;2990;3112;103190794;6631906 + 7772;55916;2990;3113;103190794;6687822 + 7773;55920;2990;3113;103190794;6687822 + 7774;55932;2990;3113;103190794;6687822 + 7775;55933;2990;3114;103190794;6743755 + 7776;55944;2990;3114;103190794;6743755 + 7777;55950;2990;3115;103190794;6799705 + 7778;55956;2990;3115;103190794;6799705 + 7779;55968;2990;3115;103190794;6799705 + 7780;55972;2990;3116;103190794;6855677 + 7781;55980;2990;3116;103190794;6855677 + 7782;55990;2992;3117;104007799;6804259 + 7783;55992;2992;3117;104007799;6804259 + 7784;56002;2992;3118;104007799;6860261 + 7785;56004;2992;3118;104007799;6860261 + 7786;56016;2992;3118;104007799;6860261 + 7787;56026;2992;3119;104007799;6916287 + 7788;56028;2992;3119;104007799;6916287 + 7789;56040;2992;3119;104007799;6916287 + 7790;56042;2992;3120;104007799;6972329 + 7791;56052;2992;3120;104007799;6972329 + 7792;56063;2992;3121;104007799;7028392 + 7793;56064;2992;3121;104007799;7028392 + 7794;56076;2992;3121;104007799;7028392 + 7795;56080;2992;3122;104007799;7084472 + 7796;56088;2992;3122;104007799;7084472 + 7797;56098;2992;3123;104007799;7140570 + 7798;56100;2992;3123;104007799;7140570 + 7799;56110;2992;3124;104007799;7196680 + 7800;56112;2992;3124;104007799;7196680 + 7801;56124;2992;3124;104007799;7196680 + 7802;56133;2992;3125;104007799;7252813 + 7803;56136;2992;3125;104007799;7252813 + 7804;56148;2992;3125;104007799;7252813 + 7805;56151;2992;3126;104007799;7308964 + 7806;56160;2992;3126;104007799;7308964 + 7807;56165;2992;3127;104007799;7365129 + 7808;56172;2992;3127;104007799;7365129 + 7809;56183;2992;3128;104007799;7421312 + 7810;56184;2992;3128;104007799;7421312 + 7811;56196;2996;3128;106425110;7206280 + 7812;56199;2996;3129;106425110;7262479 + 7813;56208;2996;3129;106425110;7262479 + 7814;56213;2996;3130;106425110;7318692 + 7815;56220;2996;3130;106425110;7318692 + 7816;56229;2996;3131;106425110;7374921 + 7817;56232;2996;3131;106425110;7374921 + 7818;56244;2996;3131;106425110;7374921 + 7819;56250;3001;3132;109305092;7161971 + 7820;56256;3001;3132;109305092;7161971 + 7821;56268;3001;3132;109305092;7161971 + 7822;56274;3001;3133;109305092;7218245 + 7823;56280;3001;3133;109305092;7218245 + 7824;56292;3001;3133;109305092;7218245 + 7825;56296;3001;3134;109305092;7274541 + 7826;56304;3001;3134;109305092;7274541 + 7827;56309;3001;3135;109305092;7330850 + 7828;56316;3001;3135;109305092;7330850 + 7829;56328;3001;3135;109305092;7330850 + 7830;56333;3001;3136;109305092;7387183 + 7831;56340;3001;3136;109305092;7387183 + 7832;56351;3001;3137;109305092;7443534 + 7833;56352;3001;3137;109305092;7443534 + 7834;56364;3001;3137;109305092;7443534 + 7835;56368;3001;3138;109305092;7499902 + 7836;56376;3001;3138;109305092;7499902 + 7837;56384;3002;3139;110667611;7502387 + 7838;56388;3002;3139;110667611;7502387 + 7839;56399;3006;3140;111786503;7342972 + 7840;56400;3006;3140;111786503;7342972 + 7841;56412;3006;3140;111786503;7342972 + 7842;56416;3006;3141;111786503;7399388 + 7843;56424;3006;3141;111786503;7399388 + 7844;56432;3006;3142;111786503;7455820 + 7845;56436;3006;3142;111786503;7455820 + 7846;56448;3006;3142;111786503;7455820 + 7847;56454;3006;3143;111786503;7512274 + 7848;56460;3006;3143;111786503;7512274 + 7849;56472;3006;3143;111786503;7512274 + 7850;56474;3013;3144;110297141;7190331 + 7851;56484;3013;3144;110297141;7190331 + 7852;56489;3013;3145;110297141;7246820 + 7853;56496;3013;3145;110297141;7246820 + 7854;56508;3013;3145;110297141;7246820 + 7855;56513;3013;3146;110297141;7303333 + 7856;56520;3013;3146;110297141;7303333 + 7857;56532;3013;3146;110297141;7303333 + 7858;56533;3013;3147;110297141;7359866 + 7859;56544;3018;3147;111942796;7089038 + 7860;56555;3018;3148;111942796;7145593 + 7861;56556;3018;3148;111942796;7145593 + 7862;56568;3018;3148;111942796;7145593 + 7863;56578;3018;3149;111942796;7202171 + 7864;56580;3018;3149;111942796;7202171 + 7865;56592;3018;3149;111942796;7202171 + 7866;56600;3018;3150;111942796;7258771 + 7867;56604;3018;3150;111942796;7258771 + 7868;56616;3018;3150;111942796;7258771 + 7869;56622;3018;3151;111942796;7315393 + 7870;56628;3018;3151;111942796;7315393 + 7871;56640;3018;3151;111942796;7315393 + 7872;56646;3028;3152;107547846;6829037 + 7873;56652;3028;3152;107547846;6829037 + 7874;56659;3028;3153;107547846;6885696 + 7875;56664;3028;3153;107547846;6885696 + 7876;56676;3028;3153;107547846;6885696 + 7877;56679;3028;3154;107547846;6942375 + 7878;56688;3028;3154;107547846;6942375 + 7879;56693;3028;3155;107547846;6999068 + 7880;56700;3028;3155;107547846;6999068 + 7881;56712;3028;3155;107547846;6999068 + 7882;56716;3028;3156;107547846;7055784 + 7883;56724;3028;3156;107547846;7055784 + 7884;56731;3028;3157;107547846;7112515 + 7885;56736;3028;3157;107547846;7112515 + 7886;56743;3028;3158;107547846;7169258 + 7887;56748;3028;3158;107547846;7169258 + 7888;56759;3028;3159;107547846;7226017 + 7889;56760;3028;3159;107547846;7226017 + 7890;56772;3028;3159;107547846;7226017 + 7891;56778;3028;3160;107547846;7282795 + 7892;56784;3028;3160;107547846;7282795 + 7893;56794;3028;3161;107547846;7339589 + 7894;56796;3028;3161;107547846;7339589 + 7895;56808;3028;3161;107547846;7339589 + 7896;56813;3028;3162;107547846;7396402 + 7897;56820;3028;3162;107547846;7396402 + 7898;56825;3031;3163;108237919;7289953 + 7899;56832;3031;3163;108237919;7289953 + 7900;56840;3037;3164;108221117;7019749 + 7901;56844;3037;3164;108221117;7019749 + 7902;56856;3037;3164;108221117;7019749 + 7903;56856;3037;3165;108221117;7076605 + 7904;56868;3037;3165;108221117;7076605 + 7905;56875;3037;3166;108221117;7133480 + 7906;56880;3037;3166;108221117;7133480 + 7907;56892;3037;3166;108221117;7133480 + 7908;56896;3037;3167;108221117;7190376 + 7909;56904;3037;3167;108221117;7190376 + 7910;56910;3037;3168;108221117;7247286 + 7911;56916;3037;3168;108221117;7247286 + 7912;56925;3037;3169;108221117;7304211 + 7913;56928;3037;3169;108221117;7304211 + 7914;56940;3037;3169;108221117;7304211 + 7915;56944;3037;3170;108221117;7361155 + 7916;56952;3037;3170;108221117;7361155 + 7917;56964;3037;3170;108221117;7361155 + 7918;56967;3037;3171;108221117;7418122 + 7919;56976;3037;3171;108221117;7418122 + 7920;56979;3037;3172;108221117;7475101 + 7921;56988;3037;3172;108221117;7475101 + 7922;56997;3037;3173;108221117;7532098 + 7923;57000;3037;3173;108221117;7532098 + 7924;57012;3037;3173;108221117;7532098 + 7925;57018;3037;3174;108221117;7589116 + 7926;57024;3037;3174;108221117;7589116 + 7927;57032;3037;3175;108221117;7646148 + 7928;57036;3037;3175;108221117;7646148 + 7929;57048;3047;3175;106858856;7099444 + 7930;57052;3047;3176;106858856;7156496 + 7931;57060;3047;3176;106858856;7156496 + 7932;57065;3047;3177;106858856;7213561 + 7933;57072;3047;3177;106858856;7213561 + 7934;57084;3047;3177;106858856;7213561 + 7935;57084;3047;3178;106858856;7270645 + 7936;57096;3047;3178;106858856;7270645 + 7937;57106;3056;3179;105940484;6834192 + 7938;57108;3056;3179;105940484;6834192 + 7939;57120;3056;3179;105940484;6834192 + 7940;57122;3056;3180;105940484;6891314 + 7941;57132;3056;3180;105940484;6891314 + 7942;57142;3056;3181;105940484;6948456 + 7943;57144;3056;3181;105940484;6948456 + 7944;57156;3056;3181;105940484;6948456 + 7945;57156;3057;3182;106451548;6950685 + 7946;57168;3057;3182;106451548;6950685 + 7947;57178;3057;3183;106451548;7007863 + 7948;57180;3057;3183;106451548;7007863 + 7949;57192;3057;3183;106451548;7007863 + 7950;57192;3057;3184;106451548;7065055 + 7951;57204;3057;3184;106451548;7065055 + 7952;57214;3057;3185;106451548;7122269 + 7953;57216;3057;3185;106451548;7122269 + 7954;57228;3057;3185;106451548;7122269 + 7955;57228;3057;3186;106451548;7179497 + 7956;57240;3057;3186;106451548;7179497 + 7957;57246;3057;3187;106451548;7236743 + 7958;57252;3057;3187;106451548;7236743 + 7959;57260;3057;3188;106451548;7294003 + 7960;57264;3057;3188;106451548;7294003 + 7961;57275;3057;3189;106451548;7351278 + 7962;57276;3057;3189;106451548;7351278 + 7963;57288;3057;3189;106451548;7351278 + 7964;57292;3057;3190;106451548;7408570 + 7965;57300;3057;3190;106451548;7408570 + 7966;57310;3057;3191;106451548;7465880 + 7967;57312;3057;3191;106451548;7465880 + 7968;57324;3057;3191;106451548;7465880 + 7969;57324;3057;3192;106451548;7523204 + 7970;57336;3067;3192;107134586;6972871 + 7971;57347;3071;3193;103678936;6809541 + 7972;57348;3071;3193;103678936;6809541 + 7973;57360;3071;3193;103678936;6809541 + 7974;57366;3071;3194;103678936;6866907 + 7975;57372;3071;3194;103678936;6866907 + 7976;57384;3071;3194;103678936;6866907 + 7977;57384;3071;3195;103678936;6924291 + 7978;57396;3071;3195;103678936;6924291 + 7979;57396;3071;3196;103678936;6981687 + 7980;57408;3071;3196;103678936;6981687 + 7981;57410;3072;3197;104049788;6983878 + 7982;57420;3072;3197;104049788;6983878 + 7983;57432;3072;3197;104049788;6983878 + 7984;57432;3072;3198;104049788;7041310 + 7985;57444;3072;3198;104049788;7041310 + 7986;57445;3072;3199;104049788;7098755 + 7987;57456;3072;3199;104049788;7098755 + 7988;57463;3072;3200;104049788;7156218 + 7989;57468;3072;3200;104049788;7156218 + 7990;57480;3072;3200;104049788;7156218 + 7991;57484;3072;3201;104049788;7213702 + 7992;57492;3072;3201;104049788;7213702 + 7993;57503;3080;3202;101163686;6828898 + 7994;57504;3080;3202;101163686;6828898 + 7995;57516;3080;3202;101163686;6828898 + 7996;57522;3080;3203;101163686;6886420 + 7997;57528;3080;3203;101163686;6886420 + 7998;57538;3084;3204;100350326;6722426 + 7999;57540;3084;3204;100350326;6722426 + 8000;57552;3084;3204;100350326;6722426 + 8001;57556;3084;3205;100350326;6779982 + 8002;57564;3084;3205;100350326;6779982 + 8003;57576;3084;3205;100350326;6779982 + 8004;57578;3084;3206;100350326;6837560 + 8005;57588;3084;3206;100350326;6837560 + 8006;57596;3084;3207;100350326;6895156 + 8007;57600;3084;3207;100350326;6895156 + 8008;57612;3084;3207;100350326;6895156 + 8009;57618;3084;3208;100350326;6952774 + 8010;57624;3084;3208;100350326;6952774 + 8011;57636;3084;3208;100350326;6952774 + 8012;57639;3084;3209;100350326;7010413 + 8013;57648;3084;3209;100350326;7010413 + 8014;57654;3084;3210;100350326;7068067 + 8015;57660;3084;3210;100350326;7068067 + 8016;57670;3084;3211;100350326;7125737 + 8017;57672;3084;3211;100350326;7125737 + 8018;57684;3084;3211;100350326;7125737 + 8019;57691;3084;3212;100350326;7183428 + 8020;57696;3084;3212;100350326;7183428 + 8021;57708;3084;3212;100350326;7183428 + 8022;57712;3084;3213;100350326;7241140 + 8023;57720;3084;3213;100350326;7241140 + 8024;57732;3084;3213;100350326;7241140 + 8025;57735;3084;3214;100350326;7298875 + 8026;57744;3084;3214;100350326;7298875 + 8027;57748;3084;3215;100350326;7356623 + 8028;57756;3084;3215;100350326;7356623 + 8029;57764;3084;3216;100350326;7414387 + 8030;57768;3084;3216;100350326;7414387 + 8031;57780;3084;3216;100350326;7414387 + 8032;57783;3084;3217;100350326;7472170 + 8033;57792;3084;3217;100350326;7472170 + 8034;57799;3084;3218;100350326;7529969 + 8035;57804;3084;3218;100350326;7529969 + 8036;57815;3089;3219;101305127;7310502 + 8037;57816;3089;3219;101305127;7310502 + 8038;57827;3089;3220;101305127;7368329 + 8039;57828;3089;3220;101305127;7368329 + 8040;57840;3089;3220;101305127;7368329 + 8041;57848;3089;3221;101305127;7426177 + 8042;57852;3089;3221;101305127;7426177 + 8043;57860;3089;3222;101305127;7484037 + 8044;57864;3089;3222;101305127;7484037 + 8045;57876;3089;3222;101305127;7484037 + 8046;57881;3089;3223;101305127;7541918 + 8047;57888;3089;3223;101305127;7541918 + 8048;57894;3095;3224;101506629;7266474 + 8049;57900;3095;3224;101506629;7266474 + 8050;57912;3095;3224;101506629;7266474 + 8051;57917;3095;3225;101506629;7324391 + 8052;57924;3095;3225;101506629;7324391 + 8053;57936;3095;3225;101506629;7324391 + 8054;57937;3096;3226;102253138;7326713 + 8055;57948;3096;3226;102253138;7326713 + 8056;57957;3096;3227;102253138;7384670 + 8057;57960;3096;3227;102253138;7384670 + 8058;57972;3096;3227;102253138;7384670 + 8059;57981;3096;3228;102253138;7442651 + 8060;57984;3096;3228;102253138;7442651 + 8061;57996;3096;3228;102253138;7442651 + 8062;58001;3096;3229;102253138;7500652 + 8063;58008;3096;3229;102253138;7500652 + 8064;58013;3096;3230;102253138;7558665 + 8065;58020;3096;3230;102253138;7558665 + 8066;58032;3096;3230;102253138;7558665 + 8067;58033;3096;3231;102253138;7616698 + 8068;58044;3096;3231;102253138;7616698 + 8069;58051;3096;3232;102253138;7674749 + 8070;58056;3096;3232;102253138;7674749 + 8071;58068;3096;3232;102253138;7674749 + 8072;58075;3096;3233;102253138;7732824 + 8073;58080;3096;3233;102253138;7732824 + 8074;58088;3096;3234;102253138;7790912 + 8075;58092;3096;3234;102253138;7790912 + 8076;58104;3096;3234;102253138;7790912 + 8077;58105;3096;3235;102253138;7849017 + 8078;58116;3096;3235;102253138;7849017 + 8079;58126;3104;3236;104036866;7461532 + 8080;58128;3104;3236;104036866;7461532 + 8081;58140;3104;3236;104036866;7461532 + 8082;58148;3110;3237;105854997;7184688 + 8083;58152;3110;3237;105854997;7184688 + 8084;58160;3110;3238;105854997;7242848 + 8085;58164;3110;3238;105854997;7242848 + 8086;58176;3110;3238;105854997;7242848 + 8087;58183;3110;3239;105854997;7301031 + 8088;58188;3110;3239;105854997;7301031 + 8089;58200;3110;3239;105854997;7301031 + 8090;58207;3110;3240;105854997;7359238 + 8091;58212;3110;3240;105854997;7359238 + 8092;58224;3110;3240;105854997;7359238 + 8093;58225;3110;3241;105854997;7417463 + 8094;58236;3110;3241;105854997;7417463 + 8095;58242;3110;3242;105854997;7475705 + 8096;58248;3110;3242;105854997;7475705 + 8097;58259;3110;3243;105854997;7533964 + 8098;58260;3110;3243;105854997;7533964 + 8099;58272;3110;3243;105854997;7533964 + 8100;58279;3110;3244;105854997;7592243 + 8101;58284;3110;3244;105854997;7592243 + 8102;58293;3117;3245;105085456;7258881 + 8103;58296;3117;3245;105085456;7258881 + 8104;58308;3117;3245;105085456;7258881 + 8105;58316;3119;3246;104603682;7205129 + 8106;58320;3119;3246;104603682;7205129 + 8107;58332;3119;3246;104603682;7205129 + 8108;58336;3119;3247;104603682;7263465 + 8109;58344;3119;3247;104603682;7263465 + 8110;58356;3119;3247;104603682;7263465 + 8111;58360;3119;3248;104603682;7321825 + 8112;58368;3119;3248;104603682;7321825 + 8113;58374;3119;3249;104603682;7380199 + 8114;58380;3119;3249;104603682;7380199 + 8115;58391;3119;3250;104603682;7438590 + 8116;58392;3119;3250;104603682;7438590 + 8117;58404;3119;3250;104603682;7438590 + 8118;58404;3119;3251;104603682;7496994 + 8119;58416;3119;3251;104603682;7496994 + 8120;58425;3119;3252;104603682;7555419 + 8121;58428;3119;3252;104603682;7555419 + 8122;58440;3119;3252;104603682;7555419 + 8123;58448;3124;3253;104477096;7333383 + 8124;58452;3124;3253;104477096;7333383 + 8125;58464;3124;3253;104477096;7333383 + 8126;58465;3124;3254;104477096;7391848 + 8127;58476;3124;3254;104477096;7391848 + 8128;58483;3124;3255;104477096;7450331 + 8129;58488;3124;3255;104477096;7450331 + 8130;58500;3124;3255;104477096;7450331 + 8131;58502;3124;3256;104477096;7508833 + 8132;58512;3124;3256;104477096;7508833 + 8133;58524;3124;3256;104477096;7508833 + 8134;58526;3124;3257;104477096;7567359 + 8135;58536;3124;3257;104477096;7567359 + 8136;58541;3124;3258;104477096;7625900 + 8137;58548;3124;3258;104477096;7625900 + 8138;58560;3124;3258;104477096;7625900 + 8139;58563;3131;3259;104230856;7291073 + 8140;58572;3131;3259;104230856;7291073 + 8141;58581;3131;3260;104230856;7349654 + 8142;58584;3131;3260;104230856;7349654 + 8143;58596;3131;3260;104230856;7349654 + 8144;58601;3131;3261;104230856;7408255 + 8145;58608;3131;3261;104230856;7408255 + 8146;58620;3131;3261;104230856;7408255 + 8147;58624;3131;3262;104230856;7466879 + 8148;58632;3131;3262;104230856;7466879 + 8149;58644;3131;3262;104230856;7466879 + 8150;58648;3131;3263;104230856;7525527 + 8151;58656;3131;3263;104230856;7525527 + 8152;58667;3131;3264;104230856;7584194 + 8153;58668;3131;3264;104230856;7584194 + 8154;58680;3131;3264;104230856;7584194 + 8155;58687;3131;3265;104230856;7642881 + 8156;58692;3131;3265;104230856;7642881 + 8157;58704;3131;3265;104230856;7642881 + 8158;58708;3131;3266;104230856;7701589 + 8159;58716;3131;3266;104230856;7701589 + 8160;58722;3136;3267;104298838;7478748 + 8161;58728;3136;3267;104298838;7478748 + 8162;58734;3136;3268;104298838;7537482 + 8163;58740;3136;3268;104298838;7537482 + 8164;58752;3136;3268;104298838;7537482 + 8165;58756;3136;3269;104298838;7596238 + 8166;58764;3136;3269;104298838;7596238 + 8167;58776;3136;3269;104298838;7596238 + 8168;58776;3136;3270;104298838;7655014 + 8169;58788;3136;3270;104298838;7655014 + 8170;58791;3136;3271;104298838;7713805 + 8171;58800;3136;3271;104298838;7713805 + 8172;58804;3136;3272;104298838;7772609 + 8173;58812;3136;3272;104298838;7772609 + 8174;58822;3136;3273;104298838;7831431 + 8175;58824;3136;3273;104298838;7831431 + 8176;58836;3142;3273;107915783;7492978 + 8177;58839;3142;3274;107915783;7551817 + 8178;58848;3142;3274;107915783;7551817 + 8179;58856;3142;3275;107915783;7610673 + 8180;58860;3142;3275;107915783;7610673 + 8181;58872;3142;3275;107915783;7610673 + 8182;58879;3142;3276;107915783;7669552 + 8183;58884;3142;3276;107915783;7669552 + 8184;58893;3142;3277;107915783;7728445 + 8185;58896;3142;3277;107915783;7728445 + 8186;58907;3142;3278;107915783;7787352 + 8187;58908;3142;3278;107915783;7787352 + 8188;58919;3142;3279;107915783;7846271 + 8189;58920;3142;3279;107915783;7846271 + 8190;58932;3142;3279;107915783;7846271 + 8191;58934;3149;3280;111464187;7509463 + 8192;58944;3149;3280;111464187;7509463 + 8193;58952;3149;3281;111464187;7568415 + 8194;58956;3149;3281;111464187;7568415 + 8195;58968;3149;3281;111464187;7568415 + 8196;58976;3149;3282;111464187;7627391 + 8197;58980;3149;3282;111464187;7627391 + 8198;58992;3149;3282;111464187;7627391 + 8199;58992;3149;3283;111464187;7686383 + 8200;59004;3149;3283;111464187;7686383 + 8201;59007;3157;3284;109801701;7291901 + 8202;59016;3157;3284;109801701;7291901 + 8203;59028;3157;3284;109801701;7291901 + 8204;59030;3160;3285;109033931;7180600 + 8205;59040;3160;3285;109033931;7180600 + 8206;59049;3160;3286;109033931;7239649 + 8207;59052;3160;3286;109033931;7239649 + 8208;59063;3160;3287;109033931;7298712 + 8209;59064;3160;3287;109033931;7298712 + 8210;59076;3160;3287;109033931;7298712 + 8211;59086;3160;3288;109033931;7357798 + 8212;59088;3160;3288;109033931;7357798 + 8213;59100;3160;3288;109033931;7357798 + 8214;59107;3160;3289;109033931;7416905 + 8215;59112;3160;3289;109033931;7416905 + 8216;59124;3160;3289;109033931;7416905 + 8217;59125;3168;3290;108547535;7021090 + 8218;59136;3168;3290;108547535;7021090 + 8219;59144;3168;3291;108547535;7080234 + 8220;59148;3168;3291;108547535;7080234 + 8221;59157;3168;3292;108547535;7139391 + 8222;59160;3168;3292;108547535;7139391 + 8223;59172;3168;3292;108547535;7139391 + 8224;59174;3168;3293;108547535;7198565 + 8225;59184;3168;3293;108547535;7198565 + 8226;59188;3168;3294;108547535;7257753 + 8227;59196;3168;3294;108547535;7257753 + 8228;59205;3168;3295;108547535;7316958 + 8229;59208;3168;3295;108547535;7316958 + 8230;59220;3168;3295;108547535;7316958 + 8231;59221;3168;3296;108547535;7376179 + 8232;59232;3168;3296;108547535;7376179 + 8233;59244;3168;3296;108547535;7376179 + 8234;59245;3168;3297;108547535;7435424 + 8235;59256;3168;3297;108547535;7435424 + 8236;59261;3168;3298;108547535;7494685 + 8237;59268;3168;3298;108547535;7494685 + 8238;59276;3168;3299;108547535;7553961 + 8239;59280;3168;3299;108547535;7553961 + 8240;59290;3168;3300;108547535;7613251 + 8241;59292;3168;3300;108547535;7613251 + 8242;59304;3168;3300;108547535;7613251 + 8243;59312;3168;3301;108547535;7672563 + 8244;59316;3168;3301;108547535;7672563 + 8245;59326;3168;3302;108547535;7731889 + 8246;59328;3168;3302;108547535;7731889 + 8247;59340;3168;3302;108547535;7731889 + 8248;59344;3168;3303;108547535;7791233 + 8249;59352;3168;3303;108547535;7791233 + 8250;59364;3168;3303;108547535;7791233 + 8251;59368;3168;3304;108547535;7850601 + 8252;59376;3168;3304;108547535;7850601 + 8253;59385;3168;3305;108547535;7909986 + 8254;59388;3168;3305;108547535;7909986 + 8255;59400;3168;3305;108547535;7909986 + 8256;59407;3176;3306;109172817;7513339 + 8257;59412;3176;3306;109172817;7513339 + 8258;59424;3176;3306;109172817;7513339 + 8259;59424;3176;3307;109172817;7572763 + 8260;59436;3176;3307;109172817;7572763 + 8261;59443;3176;3308;109172817;7632206 + 8262;59448;3176;3308;109172817;7632206 + 8263;59456;3176;3309;109172817;7691662 + 8264;59460;3176;3309;109172817;7691662 + 8265;59469;3182;3310;108284978;7408343 + 8266;59472;3182;3310;108284978;7408343 + 8267;59484;3182;3310;108284978;7408343 + 8268;59491;3182;3311;108284978;7467834 + 8269;59496;3182;3311;108284978;7467834 + 8270;59508;3182;3311;108284978;7467834 + 8271;59512;3182;3312;108284978;7527346 + 8272;59520;3182;3312;108284978;7527346 + 8273;59527;3182;3313;108284978;7586873 + 8274;59532;3182;3313;108284978;7586873 + 8275;59544;3182;3313;108284978;7586873 + 8276;59544;3182;3314;108284978;7646417 + 8277;59556;3182;3314;108284978;7646417 + 8278;59556;3182;3315;108284978;7705973 + 8279;59568;3182;3315;108284978;7705973 + 8280;59571;3182;3316;108284978;7765544 + 8281;59580;3182;3316;108284978;7765544 + 8282;59591;3182;3317;108284978;7825135 + 8283;59592;3182;3317;108284978;7825135 + 8284;59604;3182;3317;108284978;7825135 + 8285;59610;3182;3318;108284978;7884745 + 8286;59616;3182;3318;108284978;7884745 + 8287;59627;3182;3319;108284978;7944372 + 8288;59628;3182;3319;108284978;7944372 + 8289;59640;3182;3319;108284978;7944372 + 8290;59647;3192;3320;106227036;7431331 + 8291;59652;3192;3320;106227036;7431331 + 8292;59664;3192;3320;106227036;7431331 + 8293;59667;3198;3321;105940484;7146565 + 8294;59676;3198;3321;105940484;7146565 + 8295;59688;3198;3321;105940484;7146565 + 8296;59689;3198;3322;105940484;7206254 + 8297;59700;3198;3322;105940484;7206254 + 8298;59712;3198;3322;105940484;7206254 + 8299;59713;3198;3323;105940484;7265967 + 8300;59724;3198;3323;105940484;7265967 + 8301;59728;3198;3324;105940484;7325695 + 8302;59736;3198;3324;105940484;7325695 + 8303;59748;3198;3324;105940484;7325695 + 8304;59749;3198;3325;105940484;7385444 + 8305;59760;3198;3325;105940484;7385444 + 8306;59766;3198;3326;105940484;7445210 + 8307;59772;3198;3326;105940484;7445210 + 8308;59778;3198;3327;105940484;7504988 + 8309;59784;3198;3327;105940484;7504988 + 8310;59796;3198;3327;105940484;7504988 + 8311;59802;3198;3328;105940484;7564790 + 8312;59808;3198;3328;105940484;7564790 + 8313;59818;3198;3329;105940484;7624608 + 8314;59820;3198;3329;105940484;7624608 + 8315;59832;3198;3329;105940484;7624608 + 8316;59839;3198;3330;105940484;7684447 + 8317;59844;3198;3330;105940484;7684447 + 8318;59852;3198;3331;105940484;7744299 + 8319;59856;3198;3331;105940484;7744299 + 8320;59868;3198;3331;105940484;7744299 + 8321;59869;3198;3332;105940484;7804168 + 8322;59880;3198;3332;105940484;7804168 + 8323;59892;3198;3332;105940484;7804168 + 8324;59892;3198;3333;105940484;7864060 + 8325;59904;3198;3333;105940484;7864060 + 8326;59908;3198;3334;105940484;7923968 + 8327;59916;3198;3334;105940484;7923968 + 8328;59920;3210;3335;105680951;7293067 + 8329;59928;3210;3335;105680951;7293067 + 8330;59933;3210;3336;105680951;7353000 + 8331;59940;3210;3336;105680951;7353000 + 8332;59947;3210;3337;105680951;7412947 + 8333;59952;3210;3337;105680951;7412947 + 8334;59959;3210;3338;105680951;7472906 + 8335;59964;3210;3338;105680951;7472906 + 8336;59976;3210;3338;105680951;7472906 + 8337;59978;3210;3339;105680951;7532884 + 8338;59988;3210;3339;105680951;7532884 + 8339;59997;3210;3340;105680951;7592881 + 8340;60000;3210;3340;105680951;7592881 + 8341;60012;3210;3340;105680951;7592881 + 8342;60013;3210;3341;105680951;7652894 + 8343;60024;3210;3341;105680951;7652894 + 8344;60032;3210;3342;105680951;7712926 + 8345;60036;3210;3342;105680951;7712926 + 8346;60048;3210;3342;105680951;7712926 + 8347;60053;3210;3343;105680951;7772979 + 8348;60060;3210;3343;105680951;7772979 + 8349;60072;3210;3343;105680951;7772979 + 8350;60077;3210;3344;105680951;7833056 + 8351;60084;3218;3344;102669880;7371009 + 8352;60096;3218;3344;102669880;7371009 + 8353;60097;3218;3345;102669880;7431106 + 8354;60108;3218;3345;102669880;7431106 + 8355;60114;3218;3346;102669880;7491220 + 8356;60120;3218;3346;102669880;7491220 + 8357;60132;3218;3346;102669880;7491220 + 8358;60135;3218;3347;102669880;7551355 + 8359;60144;3218;3347;102669880;7551355 + 8360;60156;3218;3347;102669880;7551355 + 8361;60158;3218;3348;102669880;7611513 + 8362;60168;3218;3348;102669880;7611513 + 8363;60180;3218;3348;102669880;7611513 + 8364;60182;3218;3349;102669880;7671695 + 8365;60192;3218;3349;102669880;7671695 + 8366;60204;3218;3349;102669880;7671695 + 8367;60206;3218;3350;102669880;7731901 + 8368;60216;3218;3350;102669880;7731901 + 8369;60221;3218;3351;102669880;7792122 + 8370;60228;3218;3351;102669880;7792122 + 8371;60238;3218;3352;102669880;7852360 + 8372;60240;3218;3352;102669880;7852360 + 8373;60252;3218;3352;102669880;7852360 + 8374;60256;3218;3353;102669880;7912616 + 8375;60264;3218;3353;102669880;7912616 + 8376;60275;3218;3354;102669880;7972891 + 8377;60276;3218;3354;102669880;7972891 + 8378;60288;3218;3354;102669880;7972891 + 8379;60295;3228;3355;101800151;7454083 + 8380;60300;3228;3355;101800151;7454083 + 8381;60312;3229;3355;101368054;7396070 + 8382;60316;3229;3356;101368054;7456386 + 8383;60324;3229;3356;101368054;7456386 + 8384;60336;3229;3356;101368054;7456386 + 8385;60340;3229;3357;101368054;7516726 + 8386;60348;3229;3357;101368054;7516726 + 8387;60357;3229;3358;101368054;7577083 + 8388;60360;3229;3358;101368054;7577083 + 8389;60372;3229;3358;101368054;7577083 + 8390;60376;3229;3359;101368054;7637459 + 8391;60384;3229;3359;101368054;7637459 + 8392;60391;3229;3360;101368054;7697850 + 8393;60396;3229;3360;101368054;7697850 + 8394;60406;3229;3361;101368054;7758256 + 8395;60408;3229;3361;101368054;7758256 + 8396;60420;3229;3361;101368054;7758256 + 8397;60423;3229;3362;101368054;7818679 + 8398;60432;3229;3362;101368054;7818679 + 8399;60437;3229;3363;101368054;7879116 + 8400;60444;3229;3363;101368054;7879116 + 8401;60456;3229;3363;101368054;7879116 + 8402;60459;3229;3364;101368054;7939575 + 8403;60468;3229;3364;101368054;7939575 + 8404;60479;3229;3365;101368054;8000054 + 8405;60480;3229;3365;101368054;8000054 + 8406;60492;3229;3365;101368054;8000054 + 8407;60495;3239;3366;99284230;7479373 + 8408;60504;3239;3366;99284230;7479373 + 8409;60515;3240;3367;98458465;7481663 + 8410;60516;3240;3367;98458465;7481663 + 8411;60528;3240;3367;98458465;7481663 + 8412;60537;3240;3368;98458465;7542200 + 8413;60540;3240;3368;98458465;7542200 + 8414;60552;3240;3368;98458465;7542200 + 8415;60552;3240;3369;98458465;7602752 + 8416;60564;3240;3369;98458465;7602752 + 8417;60569;3240;3370;98458465;7663321 + 8418;60576;3240;3370;98458465;7663321 + 8419;60588;3240;3370;98458465;7663321 + 8420;60588;3240;3371;98458465;7723909 + 8421;60600;3240;3371;98458465;7723909 + 8422;60612;3240;3371;98458465;7723909 + 8423;60612;3240;3372;98458465;7784521 + 8424;60624;3240;3372;98458465;7784521 + 8425;60626;3243;3373;99592969;7670367 + 8426;60636;3243;3373;99592969;7670367 + 8427;60648;3250;3373;98473751;7261893 + 8428;60648;3250;3374;98473751;7322541 + 8429;60660;3250;3374;98473751;7322541 + 8430;60670;3250;3375;98473751;7383211 + 8431;60672;3250;3375;98473751;7383211 + 8432;60684;3250;3375;98473751;7383211 + 8433;60690;3250;3376;98473751;7443901 + 8434;60696;3250;3376;98473751;7443901 + 8435;60708;3250;3376;98473751;7443901 + 8436;60713;3253;3377;99308894;7329276 + 8437;60720;3253;3377;99308894;7329276 + 8438;60732;3253;3377;99308894;7329276 + 8439;60736;3253;3378;99308894;7390012 + 8440;60744;3253;3378;99308894;7390012 + 8441;60756;3253;3378;99308894;7390012 + 8442;60758;3255;3379;100225776;7333785 + 8443;60768;3255;3379;100225776;7333785 + 8444;60779;3255;3380;100225776;7394564 + 8445;60780;3255;3380;100225776;7394564 + 8446;60792;3255;3380;100225776;7394564 + 8447;60796;3255;3381;100225776;7455360 + 8448;60804;3255;3381;100225776;7455360 + 8449;60816;3255;3381;100225776;7455360 + 8450;60816;3255;3382;100225776;7516176 + 8451;60828;3255;3382;100225776;7516176 + 8452;60831;3255;3383;100225776;7577007 + 8453;60840;3255;3383;100225776;7577007 + 8454;60852;3265;3383;96683287;6990861 + 8455;60853;3268;3384;95229430;6875502 + 8456;60864;3268;3384;95229430;6875502 + 8457;60872;3268;3385;95229430;6936374 + 8458;60876;3268;3385;95229430;6936374 + 8459;60888;3268;3385;95229430;6936374 + 8460;60895;3268;3386;95229430;6997269 + 8461;60900;3268;3386;95229430;6997269 + 8462;60912;3268;3386;95229430;6997269 + 8463;60919;3268;3387;95229430;7058188 + 8464;60924;3268;3387;95229430;7058188 + 8465;60936;3268;3387;95229430;7058188 + 8466;60941;3269;3388;95472189;7060353 + 8467;60948;3269;3388;95472189;7060353 + 8468;60960;3269;3388;95472189;7060353 + 8469;60965;3269;3389;95472189;7121318 + 8470;60972;3269;3389;95472189;7121318 + 8471;60984;3269;3389;95472189;7121318 + 8472;60988;3269;3390;95472189;7182306 + 8473;60996;3269;3390;95472189;7182306 + 8474;61000;3269;3391;95472189;7243306 + 8475;61008;3269;3391;95472189;7243306 + 8476;61016;3269;3392;95472189;7304322 + 8477;61020;3269;3392;95472189;7304322 + 8478;61029;3269;3393;95472189;7365351 + 8479;61032;3269;3393;95472189;7365351 + 8480;61044;3269;3393;95472189;7365351 + 8481;61047;3269;3394;95472189;7426398 + 8482;61056;3269;3394;95472189;7426398 + 8483;61066;3269;3395;95472189;7487464 + 8484;61068;3269;3395;95472189;7487464 + 8485;61080;3269;3395;95472189;7487464 + 8486;61084;3273;3396;95182135;7313292 + 8487;61092;3273;3396;95182135;7313292 + 8488;61099;3273;3397;95182135;7374391 + 8489;61104;3273;3397;95182135;7374391 + 8490;61115;3273;3398;95182135;7435506 + 8491;61116;3273;3398;95182135;7435506 + 8492;61128;3273;3398;95182135;7435506 + 8493;61129;3273;3399;95182135;7496635 + 8494;61140;3273;3399;95182135;7496635 + 8495;61144;3273;3400;95182135;7557779 + 8496;61152;3273;3400;95182135;7557779 + 8497;61164;3273;3400;95182135;7557779 + 8498;61167;3273;3401;95182135;7618946 + 8499;61176;3273;3401;95182135;7618946 + 8500;61187;3273;3402;95182135;7680133 + 8501;61188;3273;3402;95182135;7680133 + 8502;61200;3273;3402;95182135;7680133 + 8503;61202;3273;3403;95182135;7741335 + 8504;61212;3273;3403;95182135;7741335 + 8505;61219;3273;3404;95182135;7802554 + 8506;61224;3273;3404;95182135;7802554 + 8507;61231;3273;3405;95182135;7863785 + 8508;61236;3273;3405;95182135;7863785 + 8509;61244;3273;3406;95182135;7925029 + 8510;61248;3273;3406;95182135;7925029 + 8511;61260;3273;3406;95182135;7925029 + 8512;61268;3273;3407;95182135;7986297 + 8513;61272;3273;3407;95182135;7986297 + 8514;61282;3278;3408;95199868;7753125 + 8515;61284;3278;3408;95199868;7753125 + 8516;61296;3278;3408;95199868;7753125 + 8517;61299;3278;3409;95199868;7814424 + 8518;61308;3278;3409;95199868;7814424 + 8519;61318;3278;3410;95199868;7875742 + 8520;61320;3278;3410;95199868;7875742 + 8521;61332;3278;3410;95199868;7875742 + 8522;61335;3278;3411;95199868;7937077 + 8523;61344;3278;3411;95199868;7937077 + 8524;61356;3278;3411;95199868;7937077 + 8525;61359;3278;3412;95199868;7998436 + 8526;61368;3278;3412;95199868;7998436 + 8527;61376;3278;3413;95199868;8059812 + 8528;61380;3278;3413;95199868;8059812 + 8529;61392;3278;3413;95199868;8059812 + 8530;61395;3278;3414;95199868;8121207 + 8531;61404;3278;3414;95199868;8121207 + 8532;61407;3288;3415;93861527;7592418 + 8533;61416;3294;3415;91229694;7237425 + 8534;61421;3294;3416;91229694;7298846 + 8535;61428;3294;3416;91229694;7298846 + 8536;61440;3294;3416;91229694;7298846 + 8537;61443;3294;3417;91229694;7360289 + 8538;61452;3294;3417;91229694;7360289 + 8539;61464;3294;3417;91229694;7360289 + 8540;61467;3294;3418;91229694;7421756 + 8541;61476;3294;3418;91229694;7421756 + 8542;61479;3294;3419;91229694;7483235 + 8543;61488;3294;3419;91229694;7483235 + 8544;61500;3294;3419;91229694;7483235 + 8545;61501;3294;3420;91229694;7544736 + 8546;61512;3294;3420;91229694;7544736 + 8547;61522;3298;3421;91303370;7369255 + 8548;61524;3298;3421;91303370;7369255 + 8549;61536;3298;3421;91303370;7369255 + 8550;61545;3298;3422;91303370;7430800 + 8551;61548;3298;3422;91303370;7430800 + 8552;61560;3298;3422;91303370;7430800 + 8553;61560;3298;3423;91303370;7492360 + 8554;61572;3298;3423;91303370;7492360 + 8555;61573;3298;3424;91303370;7553933 + 8556;61584;3298;3424;91303370;7553933 + 8557;61589;3298;3425;91303370;7615522 + 8558;61596;3298;3425;91303370;7615522 + 8559;61608;3298;3425;91303370;7615522 + 8560;61609;3298;3426;91303370;7677131 + 8561;61620;3298;3426;91303370;7677131 + 8562;61621;3298;3427;91303370;7738752 + 8563;61632;3298;3427;91303370;7738752 + 8564;61635;3298;3428;91303370;7800387 + 8565;61644;3298;3428;91303370;7800387 + 8566;61656;3298;3428;91303370;7800387 + 8567;61658;3298;3429;91303370;7862045 + 8568;61668;3298;3429;91303370;7862045 + 8569;61676;3298;3430;91303370;7923721 + 8570;61680;3298;3430;91303370;7923721 + 8571;61692;3298;3430;91303370;7923721 + 8572;61693;3302;3431;90445643;7748142 + 8573;61704;3302;3431;90445643;7748142 + 8574;61712;3302;3432;90445643;7809854 + 8575;61716;3302;3432;90445643;7809854 + 8576;61726;3302;3433;90445643;7871580 + 8577;61728;3302;3433;90445643;7871580 + 8578;61740;3302;3433;90445643;7871580 + 8579;61748;3302;3434;90445643;7933328 + 8580;61752;3302;3434;90445643;7933328 + 8581;61764;3302;3434;90445643;7933328 + 8582;61768;3308;3435;90518685;7638613 + 8583;61776;3308;3435;90518685;7638613 + 8584;61788;3308;3435;90518685;7638613 + 8585;61790;3308;3436;90518685;7700403 + 8586;61800;3308;3436;90518685;7700403 + 8587;61812;3308;3436;90518685;7700403 + 8588;61812;3308;3437;90518685;7762215 + 8589;61824;3308;3437;90518685;7762215 + 8590;61824;3308;3438;90518685;7824039 + 8591;61836;3308;3438;90518685;7824039 + 8592;61848;3308;3438;90518685;7824039 + 8593;61848;3308;3439;90518685;7885887 + 8594;61860;3308;3439;90518685;7885887 + 8595;61872;3308;3439;90518685;7885887 + 8596;61872;3308;3440;90518685;7947759 + 8597;61884;3317;3440;89551477;7411888 + 8598;61884;3317;3441;89551477;7473772 + 8599;61896;3317;3441;89551477;7473772 + 8600;61908;3317;3441;89551477;7473772 + 8601;61908;3317;3442;89551477;7535680 + 8602;61920;3317;3442;89551477;7535680 + 8603;61931;3317;3443;89551477;7597611 + 8604;61932;3317;3443;89551477;7597611 + 8605;61944;3317;3443;89551477;7597611 + 8606;61946;3317;3444;89551477;7659557 + 8607;61956;3317;3444;89551477;7659557 + 8608;61958;3317;3445;89551477;7721515 + 8609;61968;3317;3445;89551477;7721515 + 8610;61980;3317;3445;89551477;7721515 + 8611;61981;3317;3446;89551477;7783496 + 8612;61992;3317;3446;89551477;7783496 + 8613;62003;3317;3447;89551477;7845499 + 8614;62004;3317;3447;89551477;7845499 + 8615;62016;3317;3447;89551477;7845499 + 8616;62025;3325;3448;87278637;7429938 + 8617;62028;3325;3448;87278637;7429938 + 8618;62040;3325;3448;87278637;7429938 + 8619;62044;3325;3449;87278637;7491982 + 8620;62052;3325;3449;87278637;7491982 + 8621;62064;3325;3449;87278637;7491982 + 8622;62066;3325;3450;87278637;7554048 + 8623;62076;3332;3450;86873106;7135198 + 8624;62086;3332;3451;86873106;7197284 + 8625;62088;3332;3451;86873106;7197284 + 8626;62100;3332;3451;86873106;7197284 + 8627;62101;3332;3452;86873106;7259385 + 8628;62112;3332;3452;86873106;7259385 + 8629;62121;3332;3453;86873106;7321506 + 8630;62124;3332;3453;86873106;7321506 + 8631;62136;3332;3453;86873106;7321506 + 8632;62143;3332;3454;86873106;7383649 + 8633;62148;3332;3454;86873106;7383649 + 8634;62160;3332;3454;86873106;7383649 + 8635;62167;3332;3455;86873106;7445816 + 8636;62172;3332;3455;86873106;7445816 + 8637;62182;3332;3456;86873106;7507998 + 8638;62184;3332;3456;86873106;7507998 + 8639;62196;3332;3456;86873106;7507998 + 8640;62205;3332;3457;86873106;7570203 + 8641;62208;3332;3457;86873106;7570203 + 8642;62220;3332;3457;86873106;7570203 + 8643;62229;3332;3458;86873106;7632432 + 8644;62232;3332;3458;86873106;7632432 + 8645;62244;3332;3458;86873106;7632432 + 8646;62244;3332;3459;86873106;7694676 + 8647;62256;3332;3459;86873106;7694676 + 8648;62256;3340;3460;84812951;7277277 + 8649;62268;3340;3460;84812951;7277277 + 8650;62268;3340;3461;84812951;7339545 + 8651;62280;3340;3461;84812951;7339545 + 8652;62291;3340;3462;84812951;7401836 + 8653;62292;3340;3462;84812951;7401836 + 8654;62304;3340;3462;84812951;7401836 + 8655;62311;3340;3463;84812951;7464147 + 8656;62316;3340;3463;84812951;7464147 + 8657;62326;3340;3464;84812951;7526473 + 8658;62328;3340;3464;84812951;7526473 + 8659;62340;3340;3464;84812951;7526473 + 8660;62344;3340;3465;84812951;7588817 + 8661;62352;3340;3465;84812951;7588817 + 8662;62364;3340;3465;84812951;7588817 + 8663;62365;3340;3466;84812951;7651182 + 8664;62376;3340;3466;84812951;7651182 + 8665;62380;3340;3467;84812951;7713562 + 8666;62388;3340;3467;84812951;7713562 + 8667;62392;3340;3468;84812951;7775954 + 8668;62400;3340;3468;84812951;7775954 + 8669;62408;3340;3469;84812951;7838362 + 8670;62412;3340;3469;84812951;7838362 + 8671;62424;3340;3469;84812951;7838362 + 8672;62430;3340;3470;84812951;7900792 + 8673;62436;3340;3470;84812951;7900792 + 8674;62448;3340;3470;84812951;7900792 + 8675;62448;3340;3471;84812951;7963240 + 8676;62460;3340;3471;84812951;7963240 + 8677;62469;3340;3472;84812951;8025709 + 8678;62472;3340;3472;84812951;8025709 + 8679;62483;3340;3473;84812951;8088192 + 8680;62484;3340;3473;84812951;8088192 + 8681;62496;3340;3473;84812951;8088192 + 8682;62502;3341;3474;85830185;8090662 + 8683;62508;3341;3474;85830185;8090662 + 8684;62520;3341;3474;85830185;8090662 + 8685;62523;3343;3475;86784142;8033055 + 8686;62532;3343;3475;86784142;8033055 + 8687;62539;3343;3476;86784142;8095594 + 8688;62544;3343;3476;86784142;8095594 + 8689;62556;3343;3476;86784142;8095594 + 8690;62558;3353;3477;87048604;7556270 + 8691;62568;3356;3477;85886166;7375319 + 8692;62580;3356;3477;85886166;7375319 + 8693;62582;3356;3478;85886166;7437901 + 8694;62592;3356;3478;85886166;7437901 + 8695;62598;3356;3479;85886166;7500499 + 8696;62604;3356;3479;85886166;7500499 + 8697;62616;3356;3479;85886166;7500499 + 8698;62621;3356;3480;85886166;7563120 + 8699;62628;3356;3480;85886166;7563120 + 8700;62636;3356;3481;85886166;7625756 + 8701;62640;3356;3481;85886166;7625756 + 8702;62652;3356;3481;85886166;7625756 + 8703;62660;3356;3482;85886166;7688416 + 8704;62664;3356;3482;85886166;7688416 + 8705;62676;3356;3482;85886166;7688416 + 8706;62676;3356;3483;85886166;7751092 + 8707;62688;3356;3483;85886166;7751092 + 8708;62698;3356;3484;85886166;7813790 + 8709;62700;3356;3484;85886166;7813790 + 8710;62712;3356;3484;85886166;7813790 + 8711;62714;3356;3485;85886166;7876504 + 8712;62724;3356;3485;85886166;7876504 + 8713;62736;3356;3485;85886166;7876504 + 8714;62736;3356;3486;85886166;7939240 + 8715;62748;3356;3486;85886166;7939240 + 8716;62756;3356;3487;85886166;8001996 + 8717;62760;3356;3487;85886166;8001996 + 8718;62772;3356;3487;85886166;8001996 + 8719;62777;3365;3488;87492978;7520950 + 8720;62784;3365;3488;87492978;7520950 + 8721;62789;3365;3489;87492978;7583739 + 8722;62796;3365;3489;87492978;7583739 + 8723;62808;3365;3489;87492978;7583739 + 8724;62811;3368;3490;87197380;7464946 + 8725;62820;3368;3490;87197380;7464946 + 8726;62832;3368;3490;87197380;7464946 + 8727;62834;3368;3491;87197380;7527780 + 8728;62844;3368;3491;87197380;7527780 + 8729;62848;3368;3492;87197380;7590628 + 8730;62856;3368;3492;87197380;7590628 + 8731;62868;3368;3492;87197380;7590628 + 8732;62870;3368;3493;87197380;7653498 + 8733;62880;3368;3493;87197380;7653498 + 8734;62890;3368;3494;87197380;7716388 + 8735;62892;3368;3494;87197380;7716388 + 8736;62904;3368;3494;87197380;7716388 + 8737;62906;3371;3495;87137839;7597525 + 8738;62916;3371;3495;87137839;7597525 + 8739;62928;3371;3495;87137839;7597525 + 8740;62930;3371;3496;87137839;7660455 + 8741;62940;3371;3496;87137839;7660455 + 8742;62942;3371;3497;87137839;7723397 + 8743;62952;3371;3497;87137839;7723397 + 8744;62959;3371;3498;87137839;7786356 + 8745;62964;3371;3498;87137839;7786356 + 8746;62975;3371;3499;87137839;7849331 + 8747;62976;3371;3499;87137839;7849331 + 8748;62988;3371;3499;87137839;7849331 + 8749;62990;3371;3500;87137839;7912321 + 8750;63000;3371;3500;87137839;7912321 + 8751;63010;3371;3501;87137839;7975331 + 8752;63012;3371;3501;87137839;7975331 + 8753;63024;3371;3501;87137839;7975331 + 8754;63027;3371;3502;87137839;8038358 + 8755;63036;3371;3502;87137839;8038358 + 8756;63048;3371;3502;87137839;8038358 + 8757;63049;3371;3503;87137839;8101407 + 8758;63060;3371;3503;87137839;8101407 + 8759;63070;3371;3504;87137839;8164477 + 8760;63072;3371;3504;87137839;8164477 + 8761;63084;3378;3504;87863202;7739636 + 8762;63085;3378;3505;87863202;7802721 + 8763;63096;3378;3505;87863202;7802721 + 8764;63098;3378;3506;87863202;7865819 + 8765;63108;3378;3506;87863202;7865819 + 8766;63120;3378;3506;87863202;7865819 + 8767;63122;3378;3507;87863202;7928941 + 8768;63132;3378;3507;87863202;7928941 + 8769;63142;3378;3508;87863202;7992083 + 8770;63144;3378;3508;87863202;7992083 + 8771;63156;3378;3508;87863202;7992083 + 8772;63156;3378;3509;87863202;8055239 + 8773;63168;3378;3509;87863202;8055239 + 8774;63173;3382;3510;88784606;7875190 + 8775;63180;3382;3510;88784606;7875190 + 8776;63192;3382;3510;88784606;7875190 + 8777;63193;3382;3511;88784606;7938383 + 8778;63204;3382;3511;88784606;7938383 + 8779;63215;3382;3512;88784606;8001598 + 8780;63216;3382;3512;88784606;8001598 + 8781;63228;3382;3512;88784606;8001598 + 8782;63231;3384;3513;88773580;7943104 + 8783;63240;3384;3513;88773580;7943104 + 8784;63252;3384;3513;88773580;7943104 + 8785;63254;3384;3514;88773580;8006358 + 8786;63264;3384;3514;88773580;8006358 + 8787;63267;3384;3515;88773580;8069625 + 8788;63276;3384;3515;88773580;8069625 + 8789;63286;3384;3516;88773580;8132911 + 8790;63288;3384;3516;88773580;8132911 + 8791;63300;3384;3516;88773580;8132911 + 8792;63304;3384;3517;88773580;8196215 + 8793;63312;3384;3517;88773580;8196215 + 8794;63324;3384;3517;88773580;8196215 + 8795;63328;3394;3518;89986274;7649677 + 8796;63336;3394;3518;89986274;7649677 + 8797;63345;3394;3519;89986274;7713022 + 8798;63348;3394;3519;89986274;7713022 + 8799;63360;3394;3519;89986274;7713022 + 8800;63363;3394;3520;89986274;7776385 + 8801;63372;3394;3520;89986274;7776385 + 8802;63384;3394;3520;89986274;7776385 + 8803;63386;3394;3521;89986274;7839771 + 8804;63396;3394;3521;89986274;7839771 + 8805;63403;3394;3522;89986274;7903174 + 8806;63408;3394;3522;89986274;7903174 + 8807;63419;3404;3523;89044105;7355016 + 8808;63420;3404;3523;89044105;7355016 + 8809;63432;3404;3523;89044105;7355016 + 8810;63437;3404;3524;89044105;7418453 + 8811;63444;3404;3524;89044105;7418453 + 8812;63456;3404;3524;89044105;7418453 + 8813;63461;3404;3525;89044105;7481914 + 8814;63468;3404;3525;89044105;7481914 + 8815;63480;3404;3525;89044105;7481914 + 8816;63484;3404;3526;89044105;7545398 + 8817;63492;3404;3526;89044105;7545398 + 8818;63500;3404;3527;89044105;7608898 + 8819;63504;3404;3527;89044105;7608898 + 8820;63516;3404;3527;89044105;7608898 + 8821;63521;3404;3528;89044105;7672419 + 8822;63528;3404;3528;89044105;7672419 + 8823;63540;3404;3528;89044105;7672419 + 8824;63544;3404;3529;89044105;7735963 + 8825;63552;3404;3529;89044105;7735963 + 8826;63559;3404;3530;89044105;7799522 + 8827;63564;3404;3530;89044105;7799522 + 8828;63576;3404;3530;89044105;7799522 + 8829;63583;3404;3531;89044105;7863105 + 8830;63588;3404;3531;89044105;7863105 + 8831;63600;3404;3531;89044105;7863105 + 8832;63605;3404;3532;89044105;7926710 + 8833;63612;3404;3532;89044105;7926710 + 8834;63620;3404;3533;89044105;7990330 + 8835;63624;3404;3533;89044105;7990330 + 8836;63636;3404;3533;89044105;7990330 + 8837;63636;3404;3534;89044105;8053966 + 8838;63648;3404;3534;89044105;8053966 + 8839;63658;3404;3535;89044105;8117624 + 8840;63660;3404;3535;89044105;8117624 + 8841;63672;3404;3535;89044105;8117624 + 8842;63673;3408;3536;88512121;7936204 + 8843;63684;3408;3536;88512121;7936204 + 8844;63687;3408;3537;88512121;7999891 + 8845;63696;3408;3537;88512121;7999891 + 8846;63708;3408;3537;88512121;7999891 + 8847;63709;3408;3538;88512121;8063600 + 8848;63720;3408;3538;88512121;8063600 + 8849;63726;3408;3539;88512121;8127326 + 8850;63732;3408;3539;88512121;8127326 + 8851;63739;3408;3540;88512121;8191065 + 8852;63744;3408;3540;88512121;8191065 + 8853;63756;3408;3540;88512121;8191065 + 8854;63762;3408;3541;88512121;8254827 + 8855;63768;3408;3541;88512121;8254827 + 8856;63774;3408;3542;88512121;8318601 + 8857;63780;3408;3542;88512121;8318601 + 8858;63788;3419;3543;90053352;7706888 + 8859;63792;3419;3543;90053352;7706888 + 8860;63804;3419;3543;90053352;7706888 + 8861;63804;3419;3544;90053352;7770692 + 8862;63816;3419;3544;90053352;7770692 + 8863;63818;3419;3545;90053352;7834510 + 8864;63828;3419;3545;90053352;7834510 + 8865;63837;3419;3546;90053352;7898347 + 8866;63840;3419;3546;90053352;7898347 + 8867;63852;3419;3546;90053352;7898347 + 8868;63857;3419;3547;90053352;7962204 + 8869;63864;3419;3547;90053352;7962204 + 8870;63876;3419;3547;90053352;7962204 + 8871;63879;3419;3548;90053352;8026083 + 8872;63888;3419;3548;90053352;8026083 + 8873;63892;3419;3549;90053352;8089975 + 8874;63900;3419;3549;90053352;8089975 + 8875;63912;3419;3549;90053352;8089975 + 8876;63914;3419;3550;90053352;8153889 + 8877;63924;3419;3550;90053352;8153889 + 8878;63931;3419;3551;90053352;8217820 + 8879;63936;3419;3551;90053352;8217820 + 8880;63948;3419;3551;90053352;8217820 + 8881;63955;3419;3552;90053352;8281775 + 8882;63960;3419;3552;90053352;8281775 + 8883;63969;3419;3553;90053352;8345744 + 8884;63972;3419;3553;90053352;8345744 + 8885;63984;3419;3553;90053352;8345744 + 8886;63993;3429;3554;88894938;7793749 + 8887;63996;3429;3554;88894938;7793749 + 8888;64008;3431;3554;88936348;7670344 + 8889;64010;3431;3555;88936348;7734354 + 8890;64020;3431;3555;88936348;7734354 + 8891;64032;3431;3555;88936348;7734354 + 8892;64033;3431;3556;88936348;7798387 + 8893;64044;3431;3556;88936348;7798387 + 8894;64051;3431;3557;88936348;7862438 + 8895;64056;3431;3557;88936348;7862438 + 8896;64068;3431;3557;88936348;7862438 + 8897;64073;3431;3558;88936348;7926511 + 8898;64080;3431;3558;88936348;7926511 + 8899;64091;3431;3559;88936348;7990602 + 8900;64092;3431;3559;88936348;7990602 + 8901;64104;3431;3559;88936348;7990602 + 8902;64107;3431;3560;88936348;8054709 + 8903;64116;3431;3560;88936348;8054709 + 8904;64127;3431;3561;88936348;8118836 + 8905;64128;3431;3561;88936348;8118836 + 8906;64140;3431;3561;88936348;8118836 + 8907;64141;3431;3562;88936348;8182977 + 8908;64152;3431;3562;88936348;8182977 + 8909;64160;3431;3563;88936348;8247137 + 8910;64164;3431;3563;88936348;8247137 + 8911;64176;3431;3563;88936348;8247137 + 8912;64178;3432;3564;89941582;8249589 + 8913;64188;3432;3564;89941582;8249589 + 8914;64190;3433;3565;90977948;8252031 + 8915;64200;3433;3565;90977948;8252031 + 8916;64212;3433;3565;90977948;8252031 + 8917;64213;3433;3566;90977948;8316244 + 8918;64224;3433;3566;90977948;8316244 + 8919;64236;3433;3566;90977948;8316244 + 8920;64237;3443;3567;90058945;7761898 + 8921;64248;3447;3567;90400724;7513931 + 8922;64250;3447;3568;90400724;7578181 + 8923;64260;3447;3568;90400724;7578181 + 8924;64266;3447;3569;90400724;7642447 + 8925;64272;3447;3569;90400724;7642447 + 8926;64283;3447;3570;90400724;7706730 + 8927;64284;3447;3570;90400724;7706730 + 8928;64296;3447;3570;90400724;7706730 + 8929;64298;3447;3571;90400724;7771028 + 8930;64308;3447;3571;90400724;7771028 + 8931;64312;3447;3572;90400724;7835340 + 8932;64320;3447;3572;90400724;7835340 + 8933;64332;3447;3572;90400724;7835340 + 8934;64334;3447;3573;90400724;7899674 + 8935;64344;3447;3573;90400724;7899674 + 8936;64350;3447;3574;90400724;7964024 + 8937;64356;3447;3574;90400724;7964024 + 8938;64362;3447;3575;90400724;8028386 + 8939;64368;3447;3575;90400724;8028386 + 8940;64380;3447;3575;90400724;8028386 + 8941;64384;3447;3576;90400724;8092770 + 8942;64392;3447;3576;90400724;8092770 + 8943;64404;3447;3576;90400724;8092770 + 8944;64408;3447;3577;90400724;8157178 + 8945;64416;3447;3577;90400724;8157178 + 8946;64425;3447;3578;90400724;8221603 + 8947;64428;3447;3578;90400724;8221603 + 8948;64440;3447;3578;90400724;8221603 + 8949;64440;3447;3579;90400724;8286043 + 8950;64452;3447;3579;90400724;8286043 + 8951;64457;3451;3580;89235071;8102203 + 8952;64464;3451;3580;89235071;8102203 + 8953;64476;3451;3580;89235071;8102203 + 8954;64477;3451;3581;89235071;8166680 + 8955;64488;3451;3581;89235071;8166680 + 8956;64500;3451;3581;89235071;8166680 + 8957;64500;3451;3582;89235071;8231180 + 8958;64512;3451;3582;89235071;8231180 + 8959;64524;3454;3582;89634928;8044749 + 8960;64524;3454;3583;89634928;8109273 + 8961;64536;3454;3583;89634928;8109273 + 8962;64536;3454;3584;89634928;8173809 + 8963;64548;3454;3584;89634928;8173809 + 8964;64555;3454;3585;89634928;8238364 + 8965;64560;3454;3585;89634928;8238364 + 8966;64572;3454;3585;89634928;8238364 + 8967;64575;3454;3586;89634928;8302939 + 8968;64584;3454;3586;89634928;8302939 + 8969;64596;3454;3586;89634928;8302939 + 8970;64596;3464;3587;89304362;7744879 + 8971;64608;3464;3587;89304362;7744879 + 8972;64612;3464;3588;89304362;7809491 + 8973;64620;3464;3588;89304362;7809491 + 8974;64626;3464;3589;89304362;7874117 + 8975;64632;3464;3589;89304362;7874117 + 8976;64644;3464;3589;89304362;7874117 + 8977;64647;3464;3590;89304362;7938764 + 8978;64656;3464;3590;89304362;7938764 + 8979;64660;3464;3591;89304362;8003424 + 8980;64668;3464;3591;89304362;8003424 + 8981;64677;3464;3592;89304362;8068101 + 8982;64680;3464;3592;89304362;8068101 + 8983;64692;3464;3592;89304362;8068101 + 8984;64700;3464;3593;89304362;8132801 + 8985;64704;3464;3593;89304362;8132801 + 8986;64716;3464;3593;89304362;8132801 + 8987;64717;3464;3594;89304362;8197518 + 8988;64728;3464;3594;89304362;8197518 + 8989;64738;3464;3595;89304362;8262256 + 8990;64740;3464;3595;89304362;8262256 + 8991;64752;3464;3595;89304362;8262256 + 8992;64759;3464;3596;89304362;8327015 + 8993;64764;3464;3596;89304362;8327015 + 8994;64776;3464;3596;89304362;8327015 + 8995;64777;3464;3597;89304362;8391792 + 8996;64788;3464;3597;89304362;8391792 + 8997;64800;3464;3597;89304362;8391792 + 8998;64801;3464;3598;89304362;8456593 + 8999;64812;3464;3598;89304362;8456593 + 9000;64820;3472;3599;90442835;8022038 + 9001;64824;3472;3599;90442835;8022038 + 9002;64834;3472;3600;90442835;8086872 + 9003;64836;3472;3600;90442835;8086872 + 9004;64848;3472;3600;90442835;8086872 + 9005;64850;3472;3601;90442835;8151722 + 9006;64860;3472;3601;90442835;8151722 + 9007;64865;3472;3602;90442835;8216587 + 9008;64872;3472;3602;90442835;8216587 + 9009;64879;3472;3603;90442835;8281466 + 9010;64884;3472;3603;90442835;8281466 + 9011;64896;3472;3603;90442835;8281466 + 9012;64897;3472;3604;90442835;8346363 + 9013;64908;3472;3604;90442835;8346363 + 9014;64909;3472;3605;90442835;8411272 + 9015;64920;3472;3605;90442835;8411272 + 9016;64932;3472;3605;90442835;8411272 + 9017;64933;3472;3606;90442835;8476205 + 9018;64944;3472;3606;90442835;8476205 + 9019;64956;3472;3606;90442835;8476205 + 9020;64956;3475;3607;92006258;8353597 + 9021;64968;3475;3607;92006258;8353597 + 9022;64971;3475;3608;92006258;8418568 + 9023;64980;3475;3608;92006258;8418568 + 9024;64988;3475;3609;92006258;8483556 + 9025;64992;3475;3609;92006258;8483556 + 9026;65004;3475;3609;92006258;8483556 + 9027;65004;3475;3610;92006258;8548560 + 9028;65016;3475;3610;92006258;8548560 + 9029;65020;3482;3611;91396966;8175249 + 9030;65028;3482;3611;91396966;8175249 + 9031;65037;3491;3612;88363846;7675323 + 9032;65040;3491;3612;88363846;7675323 + 9033;65052;3491;3612;88363846;7675323 + 9034;65056;3491;3613;88363846;7740379 + 9035;65064;3491;3613;88363846;7740379 + 9036;65076;3491;3613;88363846;7740379 + 9037;65077;3491;3614;88363846;7805456 + 9038;65088;3491;3614;88363846;7805456 + 9039;65097;3491;3615;88363846;7870553 + 9040;65100;3491;3615;88363846;7870553 + 9041;65109;3491;3616;88363846;7935662 + 9042;65112;3491;3616;88363846;7935662 + 9043;65123;3497;3617;86520483;7623288 + 9044;65124;3497;3617;86520483;7623288 + 9045;65136;3497;3617;86520483;7623288 + 9046;65144;3497;3618;86520483;7688432 + 9047;65148;3497;3618;86520483;7688432 + 9048;65160;3497;3618;86520483;7688432 + 9049;65166;3497;3619;86520483;7753598 + 9050;65172;3497;3619;86520483;7753598 + 9051;65179;3497;3620;86520483;7818777 + 9052;65184;3497;3620;86520483;7818777 + 9053;65192;3497;3621;86520483;7883969 + 9054;65196;3497;3621;86520483;7883969 + 9055;65208;3497;3621;86520483;7883969 + 9056;65215;3497;3622;86520483;7949184 + 9057;65220;3497;3622;86520483;7949184 + 9058;65232;3497;3622;86520483;7949184 + 9059;65234;3497;3623;86520483;8014418 + 9060;65244;3497;3623;86520483;8014418 + 9061;65254;3497;3624;86520483;8079672 + 9062;65256;3497;3624;86520483;8079672 + 9063;65268;3497;3624;86520483;8079672 + 9064;65274;3497;3625;86520483;8144946 + 9065;65280;3497;3625;86520483;8144946 + 9066;65291;3497;3626;86520483;8210237 + 9067;65292;3497;3626;86520483;8210237 + 9068;65304;3497;3626;86520483;8210237 + 9069;65312;3497;3627;86520483;8275549 + 9070;65316;3497;3627;86520483;8275549 + 9071;65328;3497;3627;86520483;8275549 + 9072;65331;3497;3628;86520483;8340880 + 9073;65340;3497;3628;86520483;8340880 + 9074;65351;3497;3629;86520483;8406231 + 9075;65352;3497;3629;86520483;8406231 + 9076;65364;3497;3629;86520483;8406231 + 9077;65372;3497;3630;86520483;8471603 + 9078;65376;3497;3630;86520483;8471603 + 9079;65388;3497;3630;86520483;8471603 + 9080;65395;3497;3631;86520483;8536998 + 9081;65400;3497;3631;86520483;8536998 + 9082;65412;3497;3631;86520483;8536998 + 9083;65416;3497;3632;86520483;8602414 + 9084;65424;3497;3632;86520483;8602414 + 9085;65431;3497;3633;86520483;8667845 + 9086;65436;3497;3633;86520483;8667845 + 9087;65444;3504;3634;87183844;8292083 + 9088;65448;3504;3634;87183844;8292083 + 9089;65460;3504;3634;87183844;8292083 + 9090;65462;3504;3635;87183844;8357545 + 9091;65472;3504;3635;87183844;8357545 + 9092;65481;3504;3636;87183844;8423026 + 9093;65484;3504;3636;87183844;8423026 + 9094;65493;3513;3637;84594669;7919935 + 9095;65496;3513;3637;84594669;7919935 + 9096;65508;3513;3637;84594669;7919935 + 9097;65509;3513;3638;84594669;7985444 + 9098;65520;3513;3638;84594669;7985444 + 9099;65529;3513;3639;84594669;8050973 + 9100;65532;3513;3639;84594669;8050973 + 9101;65544;3513;3639;84594669;8050973 + 9102;65551;3520;3640;84063164;7673245 + 9103;65556;3520;3640;84063164;7673245 + 9104;65568;3521;3640;84261759;7609842 + 9105;65573;3521;3641;84261759;7675415 + 9106;65580;3521;3641;84261759;7675415 + 9107;65592;3521;3641;84261759;7675415 + 9108;65595;3521;3642;84261759;7741010 + 9109;65604;3521;3642;84261759;7741010 + 9110;65612;3521;3643;84261759;7806622 + 9111;65616;3521;3643;84261759;7806622 + 9112;65628;3521;3643;84261759;7806622 + 9113;65635;3521;3644;84261759;7872257 + 9114;65640;3521;3644;84261759;7872257 + 9115;65652;3521;3644;84261759;7872257 + 9116;65656;3521;3645;84261759;7937913 + 9117;65664;3521;3645;84261759;7937913 + 9118;65676;3521;3645;84261759;7937913 + 9119;65676;3521;3646;84261759;8003589 + 9120;65688;3521;3646;84261759;8003589 + 9121;65690;3521;3647;84261759;8069279 + 9122;65700;3521;3647;84261759;8069279 + 9123;65712;3521;3647;84261759;8069279 + 9124;65712;3521;3648;84261759;8134991 + 9125;65724;3521;3648;84261759;8134991 + 9126;65724;3521;3649;84261759;8200715 + 9127;65736;3521;3649;84261759;8200715 + 9128;65743;3521;3650;84261759;8266458 + 9129;65748;3521;3650;84261759;8266458 + 9130;65755;3521;3651;84261759;8332213 + 9131;65760;3521;3651;84261759;8332213 + 9132;65772;3522;3651;84955267;8268794 + 9133;65779;3522;3652;84955267;8334573 + 9134;65784;3522;3652;84955267;8334573 + 9135;65791;3522;3653;84955267;8400364 + 9136;65796;3522;3653;84955267;8400364 + 9137;65808;3522;3653;84955267;8400364 + 9138;65811;3522;3654;84955267;8466175 + 9139;65820;3522;3654;84955267;8466175 + 9140;65832;3522;3654;84955267;8466175 + 9141;65835;3522;3655;84955267;8532010 + 9142;65844;3522;3655;84955267;8532010 + 9143;65848;3522;3656;84955267;8597858 + 9144;65856;3522;3656;84955267;8597858 + 9145;65868;3522;3656;84955267;8597858 + 9146;65869;3522;3657;84955267;8663727 + 9147;65880;3522;3657;84955267;8663727 + 9148;65882;3522;3658;84955267;8729609 + 9149;65892;3522;3658;84955267;8729609 + 9150;65902;3527;3659;85572082;8478108 + 9151;65904;3527;3659;85572082;8478108 + 9152;65915;3527;3660;85572082;8544023 + 9153;65916;3527;3660;85572082;8544023 + 9154;65928;3527;3660;85572082;8544023 + 9155;65937;3530;3661;87075635;8419274 + 9156;65940;3530;3661;87075635;8419274 + 9157;65952;3530;3661;87075635;8419274 + 9158;65952;3530;3662;87075635;8485226 + 9159;65964;3530;3662;87075635;8485226 + 9160;65970;3530;3663;87075635;8551196 + 9161;65976;3539;3663;87099971;7978143 + 9162;65988;3539;3663;87099971;7978143 + 9163;65994;3539;3664;87099971;8044137 + 9164;66000;3539;3664;87099971;8044137 + 9165;66012;3539;3664;87099971;8044137 + 9166;66012;3539;3665;87099971;8110149 + 9167;66024;3539;3665;87099971;8110149 + 9168;66028;3539;3666;87099971;8176177 + 9169;66036;3539;3666;87099971;8176177 + 9170;66044;3542;3667;86541976;8050897 + 9171;66048;3542;3667;86541976;8050897 + 9172;66060;3542;3667;86541976;8050897 + 9173;66065;3542;3668;86541976;8116962 + 9174;66072;3542;3668;86541976;8116962 + 9175;66082;3542;3669;86541976;8183044 + 9176;66084;3542;3669;86541976;8183044 + 9177;66096;3542;3669;86541976;8183044 + 9178;66100;3542;3670;86541976;8249144 + 9179;66108;3542;3670;86541976;8249144 + 9180;66118;3542;3671;86541976;8315262 + 9181;66120;3542;3671;86541976;8315262 + 9182;66130;3542;3672;86541976;8381392 + 9183;66132;3542;3672;86541976;8381392 + 9184;66144;3542;3672;86541976;8381392 + 9185;66149;3542;3673;86541976;8447541 + 9186;66156;3542;3673;86541976;8447541 + 9187;66161;3542;3674;86541976;8513702 + 9188;66168;3542;3674;86541976;8513702 + 9189;66176;3542;3675;86541976;8579878 + 9190;66180;3542;3675;86541976;8579878 + 9191;66191;3542;3676;86541976;8646069 + 9192;66192;3542;3676;86541976;8646069 + 9193;66204;3542;3676;86541976;8646069 + 9194;66214;3542;3677;86541976;8712283 + 9195;66216;3542;3677;86541976;8712283 + 9196;66228;3542;3677;86541976;8712283 + 9197;66238;3549;3678;90033783;8331520 + 9198;66240;3549;3678;90033783;8331520 + 9199;66252;3549;3678;90033783;8331520 + 9200;66259;3549;3679;90033783;8397779 + 9201;66264;3549;3679;90033783;8397779 + 9202;66271;3549;3680;90033783;8464050 + 9203;66276;3549;3680;90033783;8464050 + 9204;66288;3549;3680;90033783;8464050 + 9205;66294;3555;3681;89707316;8146453 + 9206;66300;3555;3681;89707316;8146453 + 9207;66312;3555;3681;89707316;8146453 + 9208;66314;3555;3682;89707316;8212767 + 9209;66324;3555;3682;89707316;8212767 + 9210;66335;3555;3683;89707316;8279102 + 9211;66336;3555;3683;89707316;8279102 + 9212;66348;3555;3683;89707316;8279102 + 9213;66359;3561;3684;88492886;7960871 + 9214;66360;3561;3684;88492886;7960871 + 9215;66372;3561;3684;88492886;7960871 + 9216;66380;3561;3685;88492886;8027251 + 9217;66384;3561;3685;88492886;8027251 + 9218;66396;3561;3685;88492886;8027251 + 9219;66396;3561;3686;88492886;8093647 + 9220;66408;3561;3686;88492886;8093647 + 9221;66419;3567;3687;88054370;7774838 + 9222;66420;3567;3687;88054370;7774838 + 9223;66432;3567;3687;88054370;7774838 + 9224;66441;3567;3688;88054370;7841279 + 9225;66444;3567;3688;88054370;7841279 + 9226;66456;3567;3688;88054370;7841279 + 9227;66463;3567;3689;88054370;7907742 + 9228;66468;3567;3689;88054370;7907742 + 9229;66478;3567;3690;88054370;7974220 + 9230;66480;3567;3690;88054370;7974220 + 9231;66492;3567;3690;88054370;7974220 + 9232;66502;3567;3691;88054370;8040722 + 9233;66504;3567;3691;88054370;8040722 + 9234;66516;3567;3691;88054370;8040722 + 9235;66518;3567;3692;88054370;8107240 + 9236;66528;3567;3692;88054370;8107240 + 9237;66533;3567;3693;88054370;8173773 + 9238;66540;3567;3693;88054370;8173773 + 9239;66547;3567;3694;88054370;8240320 + 9240;66552;3567;3694;88054370;8240320 + 9241;66564;3567;3694;88054370;8240320 + 9242;66571;3567;3695;88054370;8306891 + 9243;66576;3567;3695;88054370;8306891 + 9244;66588;3567;3695;88054370;8306891 + 9245;66588;3567;3696;88054370;8373479 + 9246;66600;3567;3696;88054370;8373479 + 9247;66606;3567;3697;88054370;8440085 + 9248;66612;3567;3697;88054370;8440085 + 9249;66623;3571;3698;89368158;8249549 + 9250;66624;3571;3698;89368158;8249549 + 9251;66636;3571;3698;89368158;8249549 + 9252;66637;3571;3699;89368158;8316186 + 9253;66648;3571;3699;89368158;8316186 + 9254;66652;3571;3700;89368158;8382838 + 9255;66660;3571;3700;89368158;8382838 + 9256;66669;3571;3701;89368158;8449507 + 9257;66672;3571;3701;89368158;8449507 + 9258;66681;3571;3702;89368158;8516188 + 9259;66684;3571;3702;89368158;8516188 + 9260;66696;3571;3702;89368158;8516188 + 9261;66705;3571;3703;89368158;8582893 + 9262;66708;3571;3703;89368158;8582893 + 9263;66720;3578;3703;88128217;8132190 + 9264;66725;3578;3704;88128217;8198915 + 9265;66732;3578;3704;88128217;8198915 + 9266;66744;3578;3704;88128217;8198915 + 9267;66748;3579;3705;88696438;8201206 + 9268;66756;3579;3705;88696438;8201206 + 9269;66768;3579;3705;88696438;8201206 + 9270;66770;3579;3706;88696438;8267976 + 9271;66780;3579;3706;88696438;8267976 + 9272;66792;3579;3706;88696438;8267976 + 9273;66792;3579;3707;88696438;8334768 + 9274;66804;3579;3707;88696438;8334768 + 9275;66808;3579;3708;88696438;8401576 + 9276;66816;3579;3708;88696438;8401576 + 9277;66821;3579;3709;88696438;8468397 + 9278;66828;3579;3709;88696438;8468397 + 9279;66840;3579;3709;88696438;8468397 + 9280;66845;3579;3710;88696438;8535242 + 9281;66852;3579;3710;88696438;8535242 + 9282;66864;3579;3710;88696438;8535242 + 9283;66868;3579;3711;88696438;8602110 + 9284;66876;3579;3711;88696438;8602110 + 9285;66888;3579;3711;88696438;8602110 + 9286;66888;3579;3712;88696438;8668998 + 9287;66900;3579;3712;88696438;8668998 + 9288;66901;3589;3713;89240612;8090251 + 9289;66912;3589;3713;89240612;8090251 + 9290;66913;3592;3714;88737756;7963127 + 9291;66924;3592;3714;88737756;7963127 + 9292;66931;3592;3715;88737756;8030058 + 9293;66936;3592;3715;88737756;8030058 + 9294;66948;3592;3715;88737756;8030058 + 9295;66951;3592;3716;88737756;8097009 + 9296;66960;3592;3716;88737756;8097009 + 9297;66968;3592;3717;88737756;8163977 + 9298;66972;3592;3717;88737756;8163977 + 9299;66984;3592;3717;88737756;8163977 + 9300;66991;3592;3718;88737756;8230968 + 9301;66996;3592;3718;88737756;8230968 + 9302;67008;3592;3718;88737756;8230968 + 9303;67010;3592;3719;88737756;8297978 + 9304;67020;3592;3719;88737756;8297978 + 9305;67032;3592;3719;88737756;8297978 + 9306;67033;3592;3720;88737756;8365011 + 9307;67044;3592;3720;88737756;8365011 + 9308;67056;3592;3720;88737756;8365011 + 9309;67056;3592;3721;88737756;8432067 + 9310;67068;3592;3721;88737756;8432067 + 9311;67076;3592;3722;88737756;8499143 + 9312;67080;3592;3722;88737756;8499143 + 9313;67088;3592;3723;88737756;8566231 + 9314;67092;3592;3723;88737756;8566231 + 9315;67100;3592;3724;88737756;8633331 + 9316;67104;3592;3724;88737756;8633331 + 9317;67116;3592;3724;88737756;8633331 + 9318;67123;3592;3725;88737756;8700454 + 9319;67128;3592;3725;88737756;8700454 + 9320;67135;3592;3726;88737756;8767589 + 9321;67140;3592;3726;88737756;8767589 + 9322;67152;3592;3726;88737756;8767589 + 9323;67159;3592;3727;88737756;8834748 + 9324;67164;3592;3727;88737756;8834748 + 9325;67176;3592;3727;88737756;8834748 + 9326;67183;3595;3728;91311874;8707717 + 9327;67188;3595;3728;91311874;8707717 + 9328;67196;3595;3729;91311874;8774913 + 9329;67200;3595;3729;91311874;8774913 + 9330;67212;3595;3729;91311874;8774913 + 9331;67213;3600;3730;92760627;8518044 + 9332;67224;3600;3730;92760627;8518044 + 9333;67234;3600;3731;92760627;8585278 + 9334;67236;3600;3731;92760627;8585278 + 9335;67248;3600;3731;92760627;8585278 + 9336;67254;3600;3732;92760627;8652532 + 9337;67260;3600;3732;92760627;8652532 + 9338;67270;3600;3733;92760627;8719802 + 9339;67272;3600;3733;92760627;8719802 + 9340;67284;3600;3733;92760627;8719802 + 9341;67285;3600;3734;92760627;8787087 + 9342;67296;3600;3734;92760627;8787087 + 9343;67299;3600;3735;92760627;8854386 + 9344;67308;3600;3735;92760627;8854386 + 9345;67320;3602;3735;93347123;8724642 + 9346;67320;3603;3736;94361186;8727065 + 9347;67332;3603;3736;94361186;8727065 + 9348;67336;3603;3737;94361186;8794401 + 9349;67344;3603;3737;94361186;8794401 + 9350;67352;3603;3738;94361186;8861753 + 9351;67356;3603;3738;94361186;8861753 + 9352;67368;3603;3738;94361186;8861753 + 9353;67375;3604;3739;95457369;8864219 + 9354;67380;3604;3739;95457369;8864219 + 9355;67392;3604;3739;95457369;8864219 + 9356;67398;3604;3740;95457369;8931617 + 9357;67404;3604;3740;95457369;8931617 + 9358;67416;3611;3740;97424567;8476708 + 9359;67421;3620;3741;94273334;7957986 + 9360;67428;3620;3741;94273334;7957986 + 9361;67435;3620;3742;94273334;8025421 + 9362;67440;3620;3742;94273334;8025421 + 9363;67452;3620;3742;94273334;8025421 + 9364;67452;3620;3743;94273334;8092873 + 9365;67464;3620;3743;94273334;8092873 + 9366;67476;3620;3743;94273334;8092873 + 9367;67476;3620;3744;94273334;8160349 + 9368;67488;3620;3744;94273334;8160349 + 9369;67497;3620;3745;94273334;8227846 + 9370;67500;3620;3745;94273334;8227846 + 9371;67512;3620;3745;94273334;8227846 + 9372;67520;3620;3746;94273334;8295366 + 9373;67524;3620;3746;94273334;8295366 + 9374;67532;3620;3747;94273334;8362898 + 9375;67536;3620;3747;94273334;8362898 + 9376;67544;3620;3748;94273334;8430442 + 9377;67548;3620;3748;94273334;8430442 + 9378;67559;3620;3749;94273334;8498001 + 9379;67560;3620;3749;94273334;8498001 + 9380;67572;3620;3749;94273334;8498001 + 9381;67575;3620;3750;94273334;8565576 + 9382;67584;3620;3750;94273334;8565576 + 9383;67596;3620;3750;94273334;8565576 + 9384;67596;3620;3751;94273334;8633172 + 9385;67608;3620;3751;94273334;8633172 + 9386;67618;3620;3752;94273334;8700790 + 9387;67620;3620;3752;94273334;8700790 + 9388;67632;3620;3752;94273334;8700790 + 9389;67642;3620;3753;94273334;8768432 + 9390;67644;3620;3753;94273334;8768432 + 9391;67656;3620;3753;94273334;8768432 + 9392;67658;3620;3754;94273334;8836090 + 9393;67668;3620;3754;94273334;8836090 + 9394;67678;3622;3755;95365536;8773319 + 9395;67680;3622;3755;95365536;8773319 + 9396;67692;3622;3755;95365536;8773319 + 9397;67697;3627;3756;96383568;8514554 + 9398;67704;3627;3756;96383568;8514554 + 9399;67716;3627;3756;96383568;8514554 + 9400;67721;3627;3757;96383568;8582275 + 9401;67728;3627;3757;96383568;8582275 + 9402;67734;3627;3758;96383568;8650009 + 9403;67740;3627;3758;96383568;8650009 + 9404;67752;3627;3758;96383568;8650009 + 9405;67753;3627;3759;96383568;8717762 + 9406;67764;3627;3759;96383568;8717762 + 9407;67776;3627;3759;96383568;8717762 + 9408;67777;3627;3760;96383568;8785539 + 9409;67788;3628;3760;97454820;8720188 + 9410;67799;3628;3761;97454820;8787987 + 9411;67800;3628;3761;97454820;8787987 + 9412;67812;3628;3761;97454820;8787987 + 9413;67819;3628;3762;97454820;8855806 + 9414;67824;3628;3762;97454820;8855806 + 9415;67836;3628;3762;97454820;8855806 + 9416;67837;3628;3763;97454820;8923643 + 9417;67848;3628;3763;97454820;8923643 + 9418;67852;3636;3764;98150196;8468001 + 9419;67860;3636;3764;98150196;8468001 + 9420;67864;3636;3765;98150196;8535865 + 9421;67872;3636;3765;98150196;8535865 + 9422;67877;3636;3766;98150196;8603742 + 9423;67884;3636;3766;98150196;8603742 + 9424;67896;3636;3766;98150196;8603742 + 9425;67899;3636;3767;98150196;8671641 + 9426;67908;3636;3767;98150196;8671641 + 9427;67913;3636;3768;98150196;8739554 + 9428;67920;3636;3768;98150196;8739554 + 9429;67926;3636;3769;98150196;8807480 + 9430;67932;3636;3769;98150196;8807480 + 9431;67944;3636;3769;98150196;8807480 + 9432;67944;3644;3770;96467396;8350764 + 9433;67956;3644;3770;96467396;8350764 + 9434;67960;3646;3771;96923732;8287358 + 9435;67968;3646;3771;96923732;8287358 + 9436;67980;3646;3771;96923732;8287358 + 9437;67982;3646;3772;96923732;8355340 + 9438;67992;3646;3772;96923732;8355340 + 9439;68001;3648;3773;97766976;8291905 + 9440;68004;3648;3773;97766976;8291905 + 9441;68016;3648;3773;97766976;8291905 + 9442;68024;3649;3774;98379017;8294186 + 9443;68028;3649;3774;98379017;8294186 + 9444;68040;3649;3774;98379017;8294186 + 9445;68043;3649;3775;98379017;8362229 + 9446;68052;3649;3775;98379017;8362229 + 9447;68064;3649;3775;98379017;8362229 + 9448;68066;3649;3776;98379017;8430295 + 9449;68076;3649;3776;98379017;8430295 + 9450;68085;3649;3777;98379017;8498380 + 9451;68088;3649;3777;98379017;8498380 + 9452;68100;3649;3777;98379017;8498380 + 9453;68101;3649;3778;98379017;8566481 + 9454;68112;3649;3778;98379017;8566481 + 9455;68122;3649;3779;98379017;8634603 + 9456;68124;3649;3779;98379017;8634603 + 9457;68136;3654;3779;97946234;8305632 + 9458;68141;3654;3780;97946234;8373773 + 9459;68148;3654;3780;97946234;8373773 + 9460;68159;3655;3781;98651242;8376084 + 9461;68160;3655;3781;98651242;8376084 + 9462;68172;3655;3781;98651242;8376084 + 9463;68175;3655;3782;98651242;8444259 + 9464;68184;3655;3782;98651242;8444259 + 9465;68194;3655;3783;98651242;8512453 + 9466;68196;3655;3783;98651242;8512453 + 9467;68208;3655;3783;98651242;8512453 + 9468;68217;3662;3784;99389094;8119243 + 9469;68220;3662;3784;99389094;8119243 + 9470;68232;3662;3784;99389094;8119243 + 9471;68234;3662;3785;99389094;8187477 + 9472;68244;3662;3785;99389094;8187477 + 9473;68256;3662;3785;99389094;8187477 + 9474;68258;3662;3786;99389094;8255735 + 9475;68268;3662;3786;99389094;8255735 + 9476;68280;3662;3786;99389094;8255735 + 9477;68280;3664;3787;100095164;8192009 + 9478;68292;3664;3787;100095164;8192009 + 9479;68303;3664;3788;100095164;8260312 + 9480;68304;3664;3788;100095164;8260312 + 9481;68316;3664;3788;100095164;8260312 + 9482;68321;3668;3789;99013332;8064414 + 9483;68328;3668;3789;99013332;8064414 + 9484;68340;3668;3789;99013332;8064414 + 9485;68342;3668;3790;99013332;8132756 + 9486;68352;3668;3790;99013332;8132756 + 9487;68364;3668;3790;99013332;8132756 + 9488;68366;3668;3791;99013332;8201122 + 9489;68376;3668;3791;99013332;8201122 + 9490;68380;3668;3792;99013332;8269502 + 9491;68388;3668;3792;99013332;8269502 + 9492;68392;3668;3793;99013332;8337894 + 9493;68400;3668;3793;99013332;8337894 + 9494;68412;3668;3793;99013332;8337894 + 9495;68414;3668;3794;99013332;8406308 + 9496;68424;3668;3794;99013332;8406308 + 9497;68435;3668;3795;99013332;8474743 + 9498;68436;3668;3795;99013332;8474743 + 9499;68448;3668;3795;99013332;8474743 + 9500;68450;3668;3796;99013332;8543193 + 9501;68460;3668;3796;99013332;8543193 + 9502;68472;3668;3796;99013332;8543193 + 9503;68472;3668;3797;99013332;8611665 + 9504;68484;3668;3797;99013332;8611665 + 9505;68490;3668;3798;99013332;8680155 + 9506;68496;3668;3798;99013332;8680155 + 9507;68508;3668;3798;99013332;8680155 + 9508;68512;3668;3799;99013332;8748667 + 9509;68520;3668;3799;99013332;8748667 + 9510;68524;3678;3800;96515330;8155455 + 9511;68532;3680;3800;96120584;8022890 + 9512;68544;3680;3800;96120584;8022890 + 9513;68547;3680;3801;96120584;8091437 + 9514;68556;3680;3801;96120584;8091437 + 9515;68565;3680;3802;96120584;8160002 + 9516;68568;3680;3802;96120584;8160002 + 9517;68580;3680;3802;96120584;8160002 + 9518;68581;3680;3803;96120584;8228583 + 9519;68592;3680;3803;96120584;8228583 + 9520;68597;3680;3804;96120584;8297180 + 9521;68604;3680;3804;96120584;8297180 + 9522;68612;3680;3805;96120584;8365792 + 9523;68616;3680;3805;96120584;8365792 + 9524;68628;3680;3805;96120584;8365792 + 9525;68628;3680;3806;96120584;8434420 + 9526;68640;3680;3806;96120584;8434420 + 9527;68643;3680;3807;96120584;8503063 + 9528;68652;3680;3807;96120584;8503063 + 9529;68664;3680;3807;96120584;8503063 + 9530;68666;3680;3808;96120584;8571729 + 9531;68676;3680;3808;96120584;8571729 + 9532;68688;3680;3808;96120584;8571729 + 9533;68690;3680;3809;96120584;8640419 + 9534;68700;3680;3809;96120584;8640419 + 9535;68708;3681;3810;97077329;8642813 + 9536;68712;3681;3810;97077329;8642813 + 9537;68722;3681;3811;97077329;8711535 + 9538;68724;3681;3811;97077329;8711535 + 9539;68736;3681;3811;97077329;8711535 + 9540;68745;3694;3812;93503760;7916338 + 9541;68748;3694;3812;93503760;7916338 + 9542;68757;3694;3813;93503760;7985095 + 9543;68760;3694;3813;93503760;7985095 + 9544;68772;3694;3813;93503760;7985095 + 9545;68774;3694;3814;93503760;8053869 + 9546;68784;3694;3814;93503760;8053869 + 9547;68786;3697;3815;92979769;7922838 + 9548;68796;3697;3815;92979769;7922838 + 9549;68799;3697;3816;92979769;7991637 + 9550;68808;3697;3816;92979769;7991637 + 9551;68816;3699;3817;93268903;7927164 + 9552;68820;3699;3817;93268903;7927164 + 9553;68832;3699;3817;93268903;7927164 + 9554;68835;3702;3818;91627110;7795944 + 9555;68844;3702;3818;91627110;7795944 + 9556;68853;3702;3819;91627110;7864797 + 9557;68856;3702;3819;91627110;7864797 + 9558;68868;3702;3819;91627110;7864797 + 9559;68870;3702;3820;91627110;7933667 + 9560;68880;3702;3820;91627110;7933667 + 9561;68885;3702;3821;91627110;8002552 + 9562;68892;3702;3821;91627110;8002552 + 9563;68904;3702;3821;91627110;8002552 + 9564;68907;3702;3822;91627110;8071459 + 9565;68916;3702;3822;91627110;8071459 + 9566;68926;3702;3823;91627110;8140385 + 9567;68928;3702;3823;91627110;8140385 + 9568;68940;3702;3823;91627110;8140385 + 9569;68946;3702;3824;91627110;8209331 + 9570;68952;3702;3824;91627110;8209331 + 9571;68959;3702;3825;91627110;8278290 + 9572;68964;3702;3825;91627110;8278290 + 9573;68976;3702;3825;91627110;8278290 + 9574;68979;3702;3826;91627110;8347269 + 9575;68988;3702;3826;91627110;8347269 + 9576;68992;3702;3827;91627110;8416261 + 9577;69000;3702;3827;91627110;8416261 + 9578;69008;3702;3828;91627110;8485269 + 9579;69012;3702;3828;91627110;8485269 + 9580;69023;3702;3829;91627110;8554292 + 9581;69024;3702;3829;91627110;8554292 + 9582;69036;3702;3829;91627110;8554292 + 9583;69043;3702;3830;91627110;8623335 + 9584;69048;3702;3830;91627110;8623335 + 9585;69058;3703;3831;92346825;8625668 + 9586;69060;3703;3831;92346825;8625668 + 9587;69072;3703;3831;92346825;8625668 + 9588;69082;3703;3832;92346825;8694750 + 9589;69084;3703;3832;92346825;8694750 + 9590;69094;3703;3833;92346825;8763844 + 9591;69096;3703;3833;92346825;8763844 + 9592;69108;3703;3833;92346825;8763844 + 9593;69109;3703;3834;92346825;8832953 + 9594;69120;3703;3834;92346825;8832953 + 9595;69124;3703;3835;92346825;8902077 + 9596;69132;3703;3835;92346825;8902077 + 9597;69136;3703;3836;92346825;8971213 + 9598;69144;3703;3836;92346825;8971213 + 9599;69153;3703;3837;92346825;9040366 + 9600;69156;3703;3837;92346825;9040366 + 9601;69168;3703;3837;92346825;9040366 + 9602;69175;3703;3838;92346825;9109541 + 9603;69180;3703;3838;92346825;9109541 + 9604;69192;3703;3838;92346825;9109541 + 9605;69195;3703;3839;92346825;9178736 + 9606;69204;3703;3839;92346825;9178736 + 9607;69215;3711;3840;92180677;8713411 + 9608;69216;3711;3840;92180677;8713411 + 9609;69228;3711;3840;92180677;8713411 + 9610;69229;3711;3841;92180677;8782640 + 9611;69240;3711;3841;92180677;8782640 + 9612;69252;3711;3841;92180677;8782640 + 9613;69253;3711;3842;92180677;8851893 + 9614;69264;3711;3842;92180677;8851893 + 9615;69267;3711;3843;92180677;8921160 + 9616;69276;3711;3843;92180677;8921160 + 9617;69286;3711;3844;92180677;8990446 + 9618;69288;3711;3844;92180677;8990446 + 9619;69300;3711;3844;92180677;8990446 + 9620;69300;3711;3845;92180677;9059746 + 9621;69312;3711;3845;92180677;9059746 + 9622;69313;3711;3846;92180677;9129059 + 9623;69324;3711;3846;92180677;9129059 + 9624;69327;3711;3847;92180677;9198386 + 9625;69336;3711;3847;92180677;9198386 + 9626;69344;3714;3848;93294969;9066985 + 9627;69348;3714;3848;93294969;9066985 + 9628;69360;3714;3848;93294969;9066985 + 9629;69362;3714;3849;93294969;9136347 + 9630;69372;3714;3849;93294969;9136347 + 9631;69380;3714;3850;93294969;9205727 + 9632;69384;3714;3850;93294969;9205727 + 9633;69396;3714;3850;93294969;9205727 + 9634;69397;3716;3851;95368497;9141205 + 9635;69408;3716;3851;95368497;9141205 + 9636;69410;3716;3852;95368497;9210615 + 9637;69420;3716;3852;95368497;9210615 + 9638;69427;3716;3853;95368497;9280042 + 9639;69432;3716;3853;95368497;9280042 + 9640;69444;3716;3853;95368497;9280042 + 9641;69451;3716;3854;95368497;9349493 + 9642;69456;3716;3854;95368497;9349493 + 9643;69468;3716;3854;95368497;9349493 + 9644;69475;3725;3855;99080987;8815356 + 9645;69480;3725;3855;99080987;8815356 + 9646;69492;3725;3855;99080987;8815356 + 9647;69492;3725;3856;99080987;8884848 + 9648;69504;3725;3856;99080987;8884848 + 9649;69513;3725;3857;99080987;8954361 + 9650;69516;3725;3857;99080987;8954361 + 9651;69528;3725;3857;99080987;8954361 + 9652;69535;3725;3858;99080987;9023896 + 9653;69540;3725;3858;99080987;9023896 + 9654;69552;3725;3858;99080987;9023896 + 9655;69557;3725;3859;99080987;9093453 + 9656;69564;3725;3859;99080987;9093453 + 9657;69571;3725;3860;99080987;9163024 + 9658;69576;3725;3860;99080987;9163024 + 9659;69587;3735;3861;95392188;8560198 + 9660;69588;3735;3861;95392188;8560198 + 9661;69600;3735;3861;95392188;8560198 + 9662;69607;3736;3862;95935732;8562469 + 9663;69612;3736;3862;95935732;8562469 + 9664;69624;3736;3862;95935732;8562469 + 9665;69630;3736;3863;95935732;8632099 + 9666;69636;3736;3863;95935732;8632099 + 9667;69643;3736;3864;95935732;8701742 + 9668;69648;3736;3864;95935732;8701742 + 9669;69660;3736;3864;95935732;8701742 + 9670;69667;3737;3865;96650272;8704057 + 9671;69672;3737;3865;96650272;8704057 + 9672;69684;3737;3865;96650272;8704057 + 9673;69690;3737;3866;96650272;8773747 + 9674;69696;3737;3866;96650272;8773747 + 9675;69706;3737;3867;96650272;8843453 + 9676;69708;3737;3867;96650272;8843453 + 9677;69720;3737;3867;96650272;8843453 + 9678;69722;3737;3868;96650272;8913175 + 9679;69732;3737;3868;96650272;8913175 + 9680;69737;3737;3869;96650272;8982912 + 9681;69744;3737;3869;96650272;8982912 + 9682;69750;3737;3870;96650272;9052662 + 9683;69756;3737;3870;96650272;9052662 + 9684;69768;3737;3870;96650272;9052662 + 9685;69770;3737;3871;96650272;9122432 + 9686;69780;3737;3871;96650272;9122432 + 9687;69792;3737;3871;96650272;9122432 + 9688;69792;3737;3872;96650272;9192224 + 9689;69804;3737;3872;96650272;9192224 + 9690;69805;3737;3873;96650272;9262029 + 9691;69816;3737;3873;96650272;9262029 + 9692;69821;3737;3874;96650272;9331850 + 9693;69828;3737;3874;96650272;9331850 + 9694;69836;3737;3875;96650272;9401686 + 9695;69840;3737;3875;96650272;9401686 + 9696;69852;3737;3875;96650272;9401686 + 9697;69856;3745;3876;100020605;8931968 + 9698;69864;3745;3876;100020605;8931968 + 9699;69870;3750;3877;100781215;8664032 + 9700;69876;3750;3877;100781215;8664032 + 9701;69888;3750;3877;100781215;8664032 + 9702;69892;3750;3878;100781215;8733924 + 9703;69900;3750;3878;100781215;8733924 + 9704;69911;3750;3879;100781215;8803835 + 9705;69912;3750;3879;100781215;8803835 + 9706;69924;3750;3879;100781215;8803835 + 9707;69925;3750;3880;100781215;8873760 + 9708;69936;3750;3880;100781215;8873760 + 9709;69948;3750;3880;100781215;8873760 + 9710;69949;3750;3881;100781215;8943709 + 9711;69960;3750;3881;100781215;8943709 + 9712;69966;3750;3882;100781215;9013675 + 9713;69972;3750;3882;100781215;9013675 + 9714;69984;3750;3882;100781215;9013675 + 9715;69986;3750;3883;100781215;9083661 + 9716;69996;3750;3883;100781215;9083661 + 9717;70005;3758;3884;103104326;8612165 + 9718;70008;3758;3884;103104326;8612165 + 9719;70020;3758;3884;103104326;8612165 + 9720;70020;3758;3885;103104326;8682185 + 9721;70032;3758;3885;103104326;8682185 + 9722;70043;3758;3886;103104326;8752228 + 9723;70044;3758;3886;103104326;8752228 + 9724;70056;3758;3886;103104326;8752228 + 9725;70063;3758;3887;103104326;8822291 + 9726;70068;3758;3887;103104326;8822291 + 9727;70079;3758;3888;103104326;8892370 + 9728;70080;3758;3888;103104326;8892370 + 9729;70092;3758;3888;103104326;8892370 + 9730;70102;3758;3889;103104326;8962472 + 9731;70104;3758;3889;103104326;8962472 + 9732;70115;3758;3890;103104326;9032587 + 9733;70116;3758;3890;103104326;9032587 + 9734;70128;3761;3890;102618889;8829192 + 9735;70137;3761;3891;102618889;8899329 + 9736;70140;3761;3891;102618889;8899329 + 9737;70151;3764;3892;102323006;8765927 + 9738;70152;3764;3892;102323006;8765927 + 9739;70164;3764;3892;102323006;8765927 + 9740;70170;3764;3893;102323006;8836097 + 9741;70176;3764;3893;102323006;8836097 + 9742;70188;3764;3893;102323006;8836097 + 9743;70189;3764;3894;102323006;8906286 + 9744;70200;3764;3894;102323006;8906286 + 9745;70205;3764;3895;102323006;8976491 + 9746;70212;3764;3895;102323006;8976491 + 9747;70224;3764;3895;102323006;8976491 + 9748;70226;3764;3896;102323006;9046717 + 9749;70236;3764;3896;102323006;9046717 + 9750;70242;3767;3897;101699059;8913270 + 9751;70248;3767;3897;101699059;8913270 + 9752;70260;3767;3897;101699059;8913270 + 9753;70264;3767;3898;101699059;8983534 + 9754;70272;3767;3898;101699059;8983534 + 9755;70284;3767;3898;101699059;8983534 + 9756;70288;3774;3899;100172889;8577942 + 9757;70296;3774;3899;100172889;8577942 + 9758;70308;3774;3899;100172889;8577942 + 9759;70311;3777;3900;100425131;8444001 + 9760;70320;3777;3900;100425131;8444001 + 9761;70332;3777;3900;100425131;8444001 + 9762;70333;3777;3901;100425131;8514334 + 9763;70344;3777;3901;100425131;8514334 + 9764;70349;3777;3902;100425131;8584683 + 9765;70356;3777;3902;100425131;8584683 + 9766;70366;3777;3903;100425131;8655049 + 9767;70368;3777;3903;100425131;8655049 + 9768;70380;3777;3903;100425131;8655049 + 9769;70388;3777;3904;100425131;8725437 + 9770;70392;3777;3904;100425131;8725437 + 9771;70401;3777;3905;100425131;8795838 + 9772;70404;3777;3905;100425131;8795838 + 9773;70416;3777;3905;100425131;8795838 + 9774;70422;3777;3906;100425131;8866260 + 9775;70428;3777;3906;100425131;8866260 + 9776;70440;3777;3906;100425131;8866260 + 9777;70444;3777;3907;100425131;8936704 + 9778;70452;3777;3907;100425131;8936704 + 9779;70464;3777;3907;100425131;8936704 + 9780;70466;3777;3908;100425131;9007170 + 9781;70476;3777;3908;100425131;9007170 + 9782;70483;3777;3909;100425131;9077653 + 9783;70488;3777;3909;100425131;9077653 + 9784;70499;3777;3910;100425131;9148152 + 9785;70500;3777;3910;100425131;9148152 + 9786;70512;3777;3910;100425131;9148152 + 9787;70523;3787;3911;95775020;8536592 + 9788;70524;3787;3911;95775020;8536592 + 9789;70536;3789;3911;94751647;8399929 + 9790;70542;3789;3912;94751647;8470471 + 9791;70548;3789;3912;94751647;8470471 + 9792;70560;3789;3912;94751647;8470471 + 9793;70565;3789;3913;94751647;8541036 + 9794;70572;3789;3913;94751647;8541036 + 9795;70584;3789;3913;94751647;8541036 + 9796;70585;3789;3914;94751647;8611621 + 9797;70596;3789;3914;94751647;8611621 + 9798;70604;3789;3915;94751647;8682225 + 9799;70608;3789;3915;94751647;8682225 + 9800;70617;3789;3916;94751647;8752842 + 9801;70620;3789;3916;94751647;8752842 + 9802;70632;3789;3916;94751647;8752842 + 9803;70639;3789;3917;94751647;8823481 + 9804;70644;3789;3917;94751647;8823481 + 9805;70652;3789;3918;94751647;8894133 + 9806;70656;3789;3918;94751647;8894133 + 9807;70668;3789;3918;94751647;8894133 + 9808;70671;3789;3919;94751647;8964804 + 9809;70680;3789;3919;94751647;8964804 + 9810;70692;3791;3919;95691794;8828058 + 9811;70695;3791;3920;95691794;8898753 + 9812;70704;3791;3920;95691794;8898753 + 9813;70710;3791;3921;95691794;8969463 + 9814;70716;3791;3921;95691794;8969463 + 9815;70728;3791;3921;95691794;8969463 + 9816;70731;3791;3922;95691794;9040194 + 9817;70740;3791;3922;95691794;9040194 + 9818;70752;3791;3922;95691794;9040194 + 9819;70755;3791;3923;95691794;9110949 + 9820;70764;3791;3923;95691794;9110949 + 9821;70776;3791;3923;95691794;9110949 + 9822;70777;3791;3924;95691794;9181726 + 9823;70788;3791;3924;95691794;9181726 + 9824;70798;3791;3925;95691794;9252524 + 9825;70800;3791;3925;95691794;9252524 + 9826;70812;3791;3925;95691794;9252524 + 9827;70819;3791;3926;95691794;9323343 + 9828;70824;3791;3926;95691794;9323343 + 9829;70836;3791;3926;95691794;9323343 + 9830;70840;3791;3927;95691794;9394183 + 9831;70848;3791;3927;95691794;9394183 + 9832;70853;3794;3928;98382071;9259795 + 9833;70860;3798;3928;97345952;8985871 + 9834;70867;3798;3929;97345952;9056738 + 9835;70872;3798;3929;97345952;9056738 + 9836;70884;3798;3929;97345952;9056738 + 9837;70886;3798;3930;97345952;9127624 + 9838;70896;3798;3930;97345952;9127624 + 9839;70907;3798;3931;97345952;9198531 + 9840;70908;3798;3931;97345952;9198531 + 9841;70920;3798;3931;97345952;9198531 + 9842;70929;3798;3932;97345952;9269460 + 9843;70932;3798;3932;97345952;9269460 + 9844;70944;3798;3932;97345952;9269460 + 9845;70952;3798;3933;97345952;9340412 + 9846;70956;3798;3933;97345952;9340412 + 9847;70968;3799;3933;98427901;9271888 + 9848;70975;3799;3934;98427901;9342863 + 9849;70980;3799;3934;98427901;9342863 + 9850;70992;3799;3934;98427901;9342863 + 9851;70994;3807;3935;99225678;8865018 + 9852;71004;3807;3935;99225678;8865018 + 9853;71006;3807;3936;99225678;8936024 + 9854;71016;3807;3936;99225678;8936024 + 9855;71023;3810;3937;99974034;8800927 + 9856;71028;3810;3937;99974034;8800927 + 9857;71040;3810;3937;99974034;8800927 + 9858;71041;3810;3938;99974034;8871968 + 9859;71052;3810;3938;99974034;8871968 + 9860;71055;3810;3939;99974034;8943023 + 9861;71064;3810;3939;99974034;8943023 + 9862;71076;3810;3939;99974034;8943023 + 9863;71079;3810;3940;99974034;9014102 + 9864;71088;3810;3940;99974034;9014102 + 9865;71093;3810;3941;99974034;9085195 + 9866;71100;3810;3941;99974034;9085195 + 9867;71112;3810;3941;99974034;9085195 + 9868;71112;3810;3942;99974034;9156307 + 9869;71124;3810;3942;99974034;9156307 + 9870;71128;3810;3943;99974034;9227435 + 9871;71136;3810;3943;99974034;9227435 + 9872;71148;3810;3943;99974034;9227435 + 9873;71150;3810;3944;99974034;9298585 + 9874;71160;3810;3944;99974034;9298585 + 9875;71172;3810;3944;99974034;9298585 + 9876;71174;3810;3945;99974034;9369759 + 9877;71184;3810;3945;99974034;9369759 + 9878;71195;3820;3946;99234921;8752834 + 9879;71196;3820;3946;99234921;8752834 + 9880;71208;3820;3946;99234921;8752834 + 9881;71215;3826;3947;99013332;8410340 + 9882;71220;3826;3947;99013332;8410340 + 9883;71232;3826;3947;99013332;8410340 + 9884;71233;3826;3948;99013332;8481573 + 9885;71244;3826;3948;99013332;8481573 + 9886;71247;3826;3949;99013332;8552820 + 9887;71256;3826;3949;99013332;8552820 + 9888;71267;3826;3950;99013332;8624087 + 9889;71268;3826;3950;99013332;8624087 + 9890;71280;3826;3950;99013332;8624087 + 9891;71280;3826;3951;99013332;8695367 + 9892;71292;3826;3951;99013332;8695367 + 9893;71298;3826;3952;99013332;8766665 + 9894;71304;3826;3952;99013332;8766665 + 9895;71311;3826;3953;99013332;8837976 + 9896;71316;3826;3953;99013332;8837976 + 9897;71328;3826;3953;99013332;8837976 + 9898;71332;3826;3954;99013332;8909308 + 9899;71340;3826;3954;99013332;8909308 + 9900;71346;3826;3955;99013332;8980654 + 9901;71352;3826;3955;99013332;8980654 + 9902;71364;3826;3955;99013332;8980654 + 9903;71368;3827;3956;99859252;8983014 + 9904;71376;3827;3956;99859252;8983014 + 9905;71382;3827;3957;99859252;9054396 + 9906;71388;3827;3957;99859252;9054396 + 9907;71400;3827;3957;99859252;9054396 + 9908;71406;3827;3958;99859252;9125802 + 9909;71412;3827;3958;99859252;9125802 + 9910;71419;3827;3959;99859252;9197221 + 9911;71424;3827;3959;99859252;9197221 + 9912;71436;3827;3959;99859252;9197221 + 9913;71440;3827;3960;99859252;9268661 + 9914;71448;3827;3960;99859252;9268661 + 9915;71460;3827;3960;99859252;9268661 + 9916;71460;3836;3961;99151767;8718299 + 9917;71472;3836;3961;99151767;8718299 + 9918;71484;3836;3961;99151767;8718299 + 9919;71484;3836;3962;99151767;8789783 + 9920;71496;3836;3962;99151767;8789783 + 9921;71497;3836;3963;99151767;8861280 + 9922;71508;3836;3963;99151767;8861280 + 9923;71512;3836;3964;99151767;8932792 + 9924;71520;3836;3964;99151767;8932792 + 9925;71525;3836;3965;99151767;9004317 + 9926;71532;3836;3965;99151767;9004317 + 9927;71538;3836;3966;99151767;9075855 + 9928;71544;3836;3966;99151767;9075855 + 9929;71553;3836;3967;99151767;9147408 + 9930;71556;3836;3967;99151767;9147408 + 9931;71566;3836;3968;99151767;9218974 + 9932;71568;3836;3968;99151767;9218974 + 9933;71579;3836;3969;99151767;9290553 + 9934;71580;3836;3969;99151767;9290553 + 9935;71592;3836;3969;99151767;9290553 + 9936;71596;3836;3970;99151767;9362149 + 9937;71604;3836;3970;99151767;9362149 + 9938;71613;3836;3971;99151767;9433762 + 9939;71616;3836;3971;99151767;9433762 + 9940;71628;3836;3971;99151767;9433762 + 9941;71632;3845;3972;98296580;8882161 + 9942;71640;3845;3972;98296580;8882161 + 9943;71651;3845;3973;98296580;8953812 + 9944;71652;3845;3973;98296580;8953812 + 9945;71664;3845;3973;98296580;8953812 + 9946;71671;3845;3974;98296580;9025483 + 9947;71676;3845;3974;98296580;9025483 + 9948;71688;3845;3974;98296580;9025483 + 9949;71691;3845;3975;98296580;9097174 + 9950;71700;3845;3975;98296580;9097174 + 9951;71712;3845;3975;98296580;9097174 + 9952;71712;3845;3976;98296580;9168886 + 9953;71724;3845;3976;98296580;9168886 + 9954;71734;3845;3977;98296580;9240620 + 9955;71736;3845;3977;98296580;9240620 + 9956;71747;3845;3978;98296580;9312367 + 9957;71748;3845;3978;98296580;9312367 + 9958;71760;3845;3978;98296580;9312367 + 9959;71765;3851;3979;99494068;8967912 + 9960;71772;3851;3979;99494068;8967912 + 9961;71781;3851;3980;99494068;9039693 + 9962;71784;3851;3980;99494068;9039693 + 9963;71796;3851;3980;99494068;9039693 + 9964;71799;3851;3981;99494068;9111492 + 9965;71808;3851;3981;99494068;9111492 + 9966;71816;3851;3982;99494068;9183308 + 9967;71820;3851;3982;99494068;9183308 + 9968;71832;3851;3982;99494068;9183308 + 9969;71836;3851;3983;99494068;9255144 + 9970;71844;3851;3983;99494068;9255144 + 9971;71853;3851;3984;99494068;9326997 + 9972;71856;3851;3984;99494068;9326997 + 9973;71868;3851;3984;99494068;9326997 + 9974;71875;3851;3985;99494068;9398872 + 9975;71880;3851;3985;99494068;9398872 + 9976;71892;3851;3985;99494068;9398872 + 9977;71895;3856;3986;102689008;9123409 + 9978;71904;3856;3986;102689008;9123409 + 9979;71911;3856;3987;102689008;9195320 + 9980;71916;3856;3987;102689008;9195320 + 9981;71928;3856;3987;102689008;9195320 + 9982;71932;3856;3988;102689008;9267252 + 9983;71940;3856;3988;102689008;9267252 + 9984;71947;3856;3989;102689008;9339199 + 9985;71952;3856;3989;102689008;9339199 + 9986;71964;3856;3989;102689008;9339199 + 9987;71970;3856;3990;102689008;9411169 + 9988;71976;3856;3990;102689008;9411169 + 9989;71987;3863;3991;102211874;8996026 + 9990;71988;3863;3991;102211874;8996026 + 9991;72000;3863;3991;102211874;8996026 + 9992;72004;3863;3992;102211874;9068030 + 9993;72012;3863;3992;102211874;9068030 + 9994;72024;3863;3992;102211874;9068030 + 9995;72026;3863;3993;102211874;9140056 + 9996;72036;3863;3993;102211874;9140056 + 9997;72038;3863;3994;102211874;9212094 + 9998;72048;3863;3994;102211874;9212094 + 9999;72051;3863;3995;102211874;9284145 + 10000;72060;3863;3995;102211874;9284145 + 10001;72072;3863;3995;102211874;9284145 + 10002;72072;3863;3996;102211874;9356217 + 10003;72084;3863;3996;102211874;9356217 + 10004;72085;3863;3997;102211874;9428302 + 10005;72096;3863;3997;102211874;9428302 + 10006;72108;3863;3997;102211874;9428302 + 10007;72109;3863;3998;102211874;9500411 + 10008;72120;3863;3998;102211874;9500411 + 10009;72123;3863;3999;102211874;9572534 + 10010;72132;3869;3999;101882363;9154262 + 10011;72142;3869;4000;101882363;9226404 + 10012;72144;3869;4000;101882363;9226404 + 10013;72156;3869;4000;101882363;9226404 + 10014;72166;3869;4001;101882363;9298570 + 10015;72168;3869;4001;101882363;9298570 + 10016;72180;3869;4001;101882363;9298570 + 10017;72192;3869;4001;101882363;9298570 + 10018;72204;3875;4001;100428249;8879690 + 10019;72216;3875;4001;100428249;8879690 + 10020;72228;3875;4001;100428249;8879690 + 10021;72240;3875;4001;100428249;8879690 + 10022;72252;3875;4001;100428249;8879690 + 10023;72264;3875;4001;100428249;8879690 + 10024;72276;3876;4001;101408977;8809820 + 10025;72288;3876;4001;101408977;8809820 + 10026;72300;3876;4001;101408977;8809820 + 10027;72312;3876;4001;101408977;8809820 + 10028;72324;3876;4001;101408977;8809820 + 10029;72336;3876;4001;101408977;8809820 + 10030;72348;3880;4001;101254814;8530143 + 10031;72360;3880;4001;101254814;8530143 + 10032;72372;3880;4001;101254814;8530143 + 10033;72384;3880;4001;101254814;8530143 + 10034;72396;3880;4001;101254814;8530143 + 10035;72408;3880;4001;101254814;8530143 + 10036;72420;3880;4001;101254814;8530143 + 10037;72432;3887;4001;103598491;8039981 + 10038;72444;3887;4001;103598491;8039981 + 10039;72456;3887;4001;103598491;8039981 + 10040;72468;3887;4001;103598491;8039981 + 10041;72480;3888;4001;104457635;7969879 + 10042;72492;3888;4001;104457635;7969879 + 10043;72504;3888;4001;104457635;7969879 + 10044;72516;3888;4001;104457635;7969879 + 10045;72528;3888;4001;104457635;7969879 + 10046;72540;3888;4001;104457635;7969879 + 10047;72552;3895;4001;106316124;7478686 + 10048;72564;3895;4001;106316124;7478686 + 10049;72576;3895;4001;106316124;7478686 + 10050;72588;3895;4001;106316124;7478686 + 10051;72600;3895;4001;106316124;7478686 + 10052;72612;3895;4001;106316124;7478686 + 10053;72624;3895;4001;106316124;7478686 + 10054;72636;3895;4001;106316124;7478686 + 10055;72648;3895;4001;106316124;7478686 + 10056;72660;3895;4001;106316124;7478686 + 10057;72672;3902;4001;104925704;6986533 + 10058;72684;3902;4001;104925704;6986533 + 10059;72696;3902;4001;104925704;6986533 + 10060;72708;3902;4001;104925704;6986533 + 10061;72720;3902;4001;104925704;6986533 + 10062;72732;3902;4001;104925704;6986533 + 10063;72744;3902;4001;104925704;6986533 + 10064;72756;3902;4001;104925704;6986533 + 10065;72768;3902;4001;104925704;6986533 + 10066;72780;3902;4001;104925704;6986533 + 10067;72792;3913;4001;104584197;6211215 + 10068;72804;3913;4001;104584197;6211215 + 10069;72816;3913;4001;104584197;6211215 + 10070;72828;3913;4001;104584197;6211215 + 10071;72840;3913;4001;104584197;6211215 + 10072;72852;3916;4001;104889875;5999355 + 10073;72864;3916;4001;104889875;5999355 + 10074;72876;3916;4001;104889875;5999355 + 10075;72888;3916;4001;104889875;5999355 + 10076;72900;3916;4001;104889875;5999355 + 10077;72912;3916;4001;104889875;5999355 + 10078;72924;3916;4001;104889875;5999355 + 10079;72936;3916;4001;104889875;5999355 + 10080;72948;3916;4001;104889875;5999355 + 10081;72960;3916;4001;104889875;5999355 + 10082;72972;3916;4001;104889875;5999355 + 10083;72984;3916;4001;104889875;5999355 + 10084;72996;3916;4001;104889875;5999355 + 10085;73008;3916;4001;104889875;5999355 + 10086;73020;3916;4001;104889875;5999355 + 10087;73032;3916;4001;104889875;5999355 + 10088;73044;3916;4001;104889875;5999355 + 10089;73056;3916;4001;104889875;5999355 + 10090;73068;3926;4001;106785890;5291907 + 10091;73080;3926;4001;106785890;5291907 + 10092;73092;3926;4001;106785890;5291907 + 10093;73104;3926;4001;106785890;5291907 + 10094;73116;3926;4001;106785890;5291907 + 10095;73128;3926;4001;106785890;5291907 + 10096;73140;3926;4001;106785890;5291907 + 10097;73152;3926;4001;106785890;5291907 + 10098;73164;3926;4001;106785890;5291907 + 10099;73176;3926;4001;106785890;5291907 + 10100;73188;3926;4001;106785890;5291907 + 10101;73200;3926;4001;106785890;5291907 + 10102;73212;3926;4001;106785890;5291907 + 10103;73224;3926;4001;106785890;5291907 + 10104;73236;3926;4001;106785890;5291907 + 10105;73248;3926;4001;106785890;5291907 + 10106;73260;3926;4001;106785890;5291907 + 10107;73272;3926;4001;106785890;5291907 + 10108;73284;3926;4001;106785890;5291907 + 10109;73296;3926;4001;106785890;5291907 + 10110;73308;3926;4001;106785890;5291907 + 10111;73320;3930;4001;106293020;5008394 + 10112;73332;3930;4001;106293020;5008394 + 10113;73344;3930;4001;106293020;5008394 + 10114;73356;3930;4001;106293020;5008394 + 10115;73368;3930;4001;106293020;5008394 + 10116;73380;3930;4001;106293020;5008394 + 10117;73392;3937;4001;106765998;4511474 + 10118;73404;3937;4001;106765998;4511474 + 10119;73416;3937;4001;106765998;4511474 + 10120;73428;3937;4001;106765998;4511474 + 10121;73440;3937;4001;106765998;4511474 + 10122;73452;3937;4001;106765998;4511474 + 10123;73464;3944;4001;105740029;4013683 + 10124;73476;3944;4001;105740029;4013683 + 10125;73488;3944;4001;105740029;4013683 + 10126;73500;3944;4001;105740029;4013683 + 10127;73512;3944;4001;105740029;4013683 + 10128;73524;3944;4001;105740029;4013683 + 10129;73536;3944;4001;105740029;4013683 + 10130;73548;3944;4001;105740029;4013683 + 10131;73560;3944;4001;105740029;4013683 + 10132;73572;3944;4001;105740029;4013683 + 10133;73584;3953;4001;104964805;3372305 + 10134;73596;3953;4001;104964805;3372305 + 10135;73608;3953;4001;104964805;3372305 + 10136;73620;3953;4001;104964805;3372305 + 10137;73632;3953;4001;104964805;3372305 + 10138;73644;3953;4001;104964805;3372305 + 10139;73656;3953;4001;104964805;3372305 + 10140;73668;3953;4001;104964805;3372305 + 10141;73680;3953;4001;104964805;3372305 + 10142;73692;3953;4001;104964805;3372305 + 10143;73704;3953;4001;104964805;3372305 + 10144;73716;3953;4001;104964805;3372305 + 10145;73728;3953;4001;104964805;3372305 + 10146;73740;3953;4001;104964805;3372305 + 10147;73752;3953;4001;104964805;3372305 + 10148;73764;3953;4001;104964805;3372305 + 10149;73776;3953;4001;104964805;3372305 + 10150;73788;3962;4001;105438420;2729503 + 10151;73800;3962;4001;105438420;2729503 + 10152;73812;3962;4001;105438420;2729503 + 10153;73824;3962;4001;105438420;2729503 + 10154;73836;3962;4001;105438420;2729503 + 10155;73848;3962;4001;105438420;2729503 + 10156;73860;3965;4001;105736746;2514928 + 10157;73872;3965;4001;105736746;2514928 + 10158;73884;3965;4001;105736746;2514928 + 10159;73896;3965;4001;105736746;2514928 + 10160;73908;3965;4001;105736746;2514928 + 10161;73920;3965;4001;105736746;2514928 + 10162;73932;3965;4001;105736746;2514928 + 10163;73944;3965;4001;105736746;2514928 + 10164;73956;3965;4001;105736746;2514928 + 10165;73968;3971;4001;105897732;2085389 + 10166;73980;3971;4001;105897732;2085389 + 10167;73992;3971;4001;105897732;2085389 + 10168;74004;3971;4001;105897732;2085389 + 10169;74016;3971;4001;105897732;2085389 + 10170;74028;3971;4001;105897732;2085389 + 10171;74040;3971;4001;105897732;2085389 + 10172;74052;3971;4001;105897732;2085389 + 10173;74064;3971;4001;105897732;2085389 + 10174;74076;3971;4001;105897732;2085389 + 10175;74088;3971;4001;105897732;2085389 + 10176;74100;3971;4001;105897732;2085389 + 10177;74112;3971;4001;105897732;2085389 + 10178;74124;3971;4001;105897732;2085389 + 10179;74136;3971;4001;105897732;2085389 + 10180;74148;3971;4001;105897732;2085389 + 10181;74160;3971;4001;105897732;2085389 + 10182;74172;3971;4001;105897732;2085389 + 10183;74184;3981;4001;108100222;1368022 + 10184;74196;3981;4001;108100222;1368022 + 10185;74208;3981;4001;108100222;1368022 + 10186;74220;3981;4001;108100222;1368022 + 10187;74232;3983;4001;106882083;1224333 + 10188;74244;3983;4001;106882083;1224333 + 10189;74256;3983;4001;106882083;1224333 + 10190;74268;3983;4001;106882083;1224333 + 10191;74280;3983;4001;106882083;1224333 + 10192;74292;3983;4001;106882083;1224333 + 10193;74304;3983;4001;106882083;1224333 + 10194;74316;3983;4001;106882083;1224333 + 10195;74328;3983;4001;106882083;1224333 + 10196;74340;3983;4001;106882083;1224333 + 10197;74352;3983;4001;106882083;1224333 + 10198;74364;3983;4001;106882083;1224333 + -----------------------------! + +Test result: ok. 1 passed; 0 failed; finished in 8.23s +| contracts/L1/TaikoToken.sol:TaikoToken contract | | | | | | +|-------------------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1203248 | 6042 | | | | | +| Function Name | min | avg | median | max | # calls | +| burn | 10388 | 10388 | 10388 | 10388 | 1 | +| init | 161878 | 161878 | 161878 | 161878 | 1 | +| mint | 48066 | 48066 | 48066 | 48066 | 1 | +| transfer | 30008 | 30008 | 30008 | 30008 | 1 | + + +| contracts/common/AddressManager.sol:AddressManager contract | | | | | | +|-------------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 268706 | 1374 | | | | | +| Function Name | min | avg | median | max | # calls | +| getAddress | 538 | 539 | 538 | 2538 | 8006 | +| init | 48211 | 48211 | 48211 | 48211 | 1 | +| setAddress | 3073 | 20991 | 24973 | 24973 | 11 | + + +| contracts/signal/SignalService.sol:SignalService contract | | | | | | +|-----------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1561631 | 7832 | | | | | +| Function Name | min | avg | median | max | # calls | +| init | 92994 | 92994 | 92994 | 92994 | 1 | + + +| test/LibLn.sol:LibLn contract | | | | | | +|-------------------------------|-----------------|------|--------|------|---------| +| Deployment Cost | Deployment Size | | | | | +| 227894 | 1196 | | | | | +| Function Name | min | avg | median | max | # calls | +| calcInitProofTimeIssued | 1626 | 1626 | 1626 | 1626 | 1 | + + +| test/TaikoL1.sim.sol:TaikoL1_b contract | | | | | | +|-----------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 3481693 | 17421 | | | | | +| Function Name | min | avg | median | max | # calls | +| depositTaikoToken | 40114 | 40114 | 40114 | 40114 | 1 | +| getBlockFee | 464 | 464 | 464 | 464 | 1 | +| getConfig | 2546 | 2546 | 2546 | 2546 | 1 | +| getStateVariables | 2251 | 2251 | 2251 | 10251 | 14199 | +| getVerifierName | 494 | 494 | 494 | 494 | 2 | +| init | 230235 | 230235 | 230235 | 230235 | 1 | +| proposeBlock | 25391 | 51457 | 25444 | 183368 | 4000 | +| proveBlock | 17096 | 48663 | 19096 | 199112 | 4000 | +| resolve(bytes32,bool)(address) | 2007 | 2009 | 2007 | 8507 | 4002 | +| resolve(uint256,bytes32,bool)(address) | 1964 | 1965 | 1964 | 3964 | 4002 | + + + diff --git a/packages/protocol/simulation/exports/simulation_data_1682760421.txt b/packages/protocol/simulation/exports/simulation_data_1682760421.txt new file mode 100644 index 00000000000..db8aad01a5e --- /dev/null +++ b/packages/protocol/simulation/exports/simulation_data_1682760421.txt @@ -0,0 +1,14299 @@ + +> @taiko/protocol@0.6.1 test:sim /Users/keszeyd/work/taiko_major_upgrade_ref/taiko-mono/packages/protocol +> forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000 + +Compiling 1 files with 0.8.18 +Solc 0.8.18 finished in 4.03s +Compiler run successful + +Running 1 test for test/TaikoL1.sim.sol:TaikoL1Simulation +[PASS] test_90percent_slow_10percent_quick() (gas: 1247682378422) +Logs: + 31337 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0x72384992222BE015DE0146a6D7E5dA0E19d2Ba49 + 31337 45889272483043749622685123383852074881457604843399824532951312269642964140032 → 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5 + 167 52670410704698717800542732036128729340597328726126075889694804077029212815360 → 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb + 167 52640402180712775100801168841838825813708635172629202311207512447469335085056 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 167 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C + 167 52640402180752029697201414225623803055489816253066935491057410734051802742784 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 31337 16777316 → 0x08526067985167EcFcB1F9720C72DbBF36c96018 + 31337 52640402180752042938242321556083758872323763589890511990531751287648111558656 → 0x0F8458E544c9D4C7C25A881240727209caae20B8 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0x34A1D3fff3958843C43aD80F30b94c510645C316 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0xFEfC6BAF87cF3684058D62Da40Ff3A795946Ab06 + 0:[0→1] fee:100000000 nextEthDepositToProcess:0 numEthDeposits:0 // init + 31337 16777316 → 0x4d04375eCD86c2B81eb0F55B37aA3fAb41CeCBc4 + BlockId, ProofTime + 1 ; 287 + 2 ; 2367 + 3 ; 1844 + 4 ; 2379 + 5 ; 1706 + 6 ; 1672 + 7 ; 2292 + 8 ; 1986 + 9 ; 1910 + 10 ; 2364 + 11 ; 217 + 12 ; 1651 + 13 ; 2291 + 14 ; 2044 + 15 ; 1785 + 16 ; 2171 + 17 ; 2178 + 18 ; 1889 + 19 ; 2201 + 20 ; 1735 + 21 ; 142 + 22 ; 2161 + 23 ; 1694 + 24 ; 2241 + 25 ; 1803 + 26 ; 2113 + 27 ; 1890 + 28 ; 2246 + 29 ; 1898 + 30 ; 2096 + 31 ; 154 + 32 ; 1846 + 33 ; 1965 + 34 ; 2333 + 35 ; 2400 + 36 ; 2253 + 37 ; 2244 + 38 ; 1853 + 39 ; 1864 + 40 ; 2198 + 41 ; 160 + 42 ; 2119 + 43 ; 1669 + 44 ; 2326 + 45 ; 2149 + 46 ; 1789 + 47 ; 2339 + 48 ; 2207 + 49 ; 1765 + 50 ; 1864 + 51 ; 293 + 52 ; 2037 + 53 ; 1979 + 54 ; 1805 + 55 ; 1812 + 56 ; 1785 + 57 ; 2092 + 58 ; 2264 + 59 ; 1782 + 60 ; 2270 + 61 ; 231 + 62 ; 1873 + 63 ; 2214 + 64 ; 1908 + 65 ; 1730 + 66 ; 2144 + 67 ; 2056 + 68 ; 1718 + 69 ; 2356 + 70 ; 1784 + 71 ; 113 + 72 ; 2018 + 73 ; 2061 + 74 ; 2304 + 75 ; 1957 + 76 ; 2359 + 77 ; 1628 + 78 ; 2347 + 79 ; 2325 + 80 ; 1731 + 81 ; 201 + 82 ; 1920 + 83 ; 1663 + 84 ; 1618 + 85 ; 2078 + 86 ; 2348 + 87 ; 2033 + 88 ; 1722 + 89 ; 2326 + 90 ; 2098 + 91 ; 246 + 92 ; 2028 + 93 ; 1997 + 94 ; 2201 + 95 ; 2289 + 96 ; 2304 + 97 ; 2157 + 98 ; 2326 + 99 ; 2023 + 100 ; 2063 + 101 ; 114 + 102 ; 1977 + 103 ; 2116 + 104 ; 1658 + 105 ; 2155 + 106 ; 1925 + 107 ; 1758 + 108 ; 2103 + 109 ; 2093 + 110 ; 2322 + 111 ; 250 + 112 ; 1968 + 113 ; 1878 + 114 ; 2245 + 115 ; 2401 + 116 ; 2323 + 117 ; 2182 + 118 ; 2404 + 119 ; 1828 + 120 ; 1733 + 121 ; 146 + 122 ; 1937 + 123 ; 1974 + 124 ; 2202 + 125 ; 1693 + 126 ; 1632 + 127 ; 2354 + 128 ; 2014 + 129 ; 1905 + 130 ; 1859 + 131 ; 199 + 132 ; 2346 + 133 ; 1826 + 134 ; 1613 + 135 ; 1769 + 136 ; 1988 + 137 ; 2369 + 138 ; 1976 + 139 ; 1924 + 140 ; 2100 + 141 ; 199 + 142 ; 2339 + 143 ; 2101 + 144 ; 2091 + 145 ; 1894 + 146 ; 1643 + 147 ; 1641 + 148 ; 2372 + 149 ; 2148 + 150 ; 2167 + 151 ; 77 + 152 ; 1962 + 153 ; 2227 + 154 ; 2103 + 155 ; 1738 + 156 ; 2105 + 157 ; 1921 + 158 ; 2110 + 159 ; 2350 + 160 ; 1670 + 161 ; 103 + 162 ; 1615 + 163 ; 1856 + 164 ; 2339 + 165 ; 1702 + 166 ; 1729 + 167 ; 2187 + 168 ; 2333 + 169 ; 2017 + 170 ; 1973 + 171 ; 264 + 172 ; 2160 + 173 ; 1654 + 174 ; 1715 + 175 ; 2025 + 176 ; 2391 + 177 ; 1780 + 178 ; 2341 + 179 ; 2300 + 180 ; 2188 + 181 ; 256 + 182 ; 1678 + 183 ; 2177 + 184 ; 1621 + 185 ; 1718 + 186 ; 2364 + 187 ; 2167 + 188 ; 2350 + 189 ; 1900 + 190 ; 2321 + 191 ; 276 + 192 ; 1877 + 193 ; 1960 + 194 ; 2126 + 195 ; 2358 + 196 ; 2012 + 197 ; 1661 + 198 ; 2102 + 199 ; 2149 + 200 ; 2290 + 201 ; 114 + 202 ; 2128 + 203 ; 1990 + 204 ; 1725 + 205 ; 1977 + 206 ; 1953 + 207 ; 1843 + 208 ; 1889 + 209 ; 2141 + 210 ; 1663 + 211 ; 248 + 212 ; 1913 + 213 ; 1623 + 214 ; 1961 + 215 ; 2240 + 216 ; 1905 + 217 ; 2185 + 218 ; 2392 + 219 ; 2284 + 220 ; 2337 + 221 ; 113 + 222 ; 1671 + 223 ; 1705 + 224 ; 2208 + 225 ; 1998 + 226 ; 1905 + 227 ; 1884 + 228 ; 2032 + 229 ; 2291 + 230 ; 1891 + 231 ; 296 + 232 ; 2396 + 233 ; 2378 + 234 ; 1814 + 235 ; 2226 + 236 ; 1935 + 237 ; 2154 + 238 ; 1931 + 239 ; 2235 + 240 ; 2338 + 241 ; 233 + 242 ; 2338 + 243 ; 1635 + 244 ; 1846 + 245 ; 1876 + 246 ; 2280 + 247 ; 1986 + 248 ; 2053 + 249 ; 2210 + 250 ; 1648 + 251 ; 159 + 252 ; 1765 + 253 ; 2188 + 254 ; 1831 + 255 ; 1815 + 256 ; 2121 + 257 ; 1836 + 258 ; 2199 + 259 ; 2078 + 260 ; 2167 + 261 ; 245 + 262 ; 2223 + 263 ; 2148 + 264 ; 2354 + 265 ; 2294 + 266 ; 1970 + 267 ; 1808 + 268 ; 2032 + 269 ; 2158 + 270 ; 1899 + 271 ; 288 + 272 ; 2350 + 273 ; 1827 + 274 ; 1909 + 275 ; 1785 + 276 ; 1717 + 277 ; 1772 + 278 ; 1689 + 279 ; 1797 + 280 ; 2144 + 281 ; 172 + 282 ; 1856 + 283 ; 2385 + 284 ; 1697 + 285 ; 2124 + 286 ; 1742 + 287 ; 1878 + 288 ; 1758 + 289 ; 2205 + 290 ; 2081 + 291 ; 311 + 292 ; 1745 + 293 ; 2179 + 294 ; 2158 + 295 ; 2261 + 296 ; 2141 + 297 ; 1886 + 298 ; 2042 + 299 ; 1991 + 300 ; 1859 + 301 ; 201 + 302 ; 1831 + 303 ; 2129 + 304 ; 1680 + 305 ; 2184 + 306 ; 1870 + 307 ; 1728 + 308 ; 2239 + 309 ; 1632 + 310 ; 1952 + 311 ; 160 + 312 ; 1899 + 313 ; 1624 + 314 ; 2049 + 315 ; 2404 + 316 ; 1765 + 317 ; 2305 + 318 ; 1927 + 319 ; 1643 + 320 ; 2194 + 321 ; 304 + 322 ; 2104 + 323 ; 2397 + 324 ; 1912 + 325 ; 2224 + 326 ; 1873 + 327 ; 1885 + 328 ; 1883 + 329 ; 1840 + 330 ; 2381 + 331 ; 257 + 332 ; 2164 + 333 ; 1952 + 334 ; 1851 + 335 ; 1620 + 336 ; 1902 + 337 ; 1789 + 338 ; 2154 + 339 ; 2207 + 340 ; 2186 + 341 ; 81 + 342 ; 2128 + 343 ; 1988 + 344 ; 2206 + 345 ; 1627 + 346 ; 1805 + 347 ; 1965 + 348 ; 2186 + 349 ; 1688 + 350 ; 1735 + 351 ; 279 + 352 ; 2177 + 353 ; 2089 + 354 ; 2057 + 355 ; 2204 + 356 ; 2363 + 357 ; 2357 + 358 ; 1800 + 359 ; 2328 + 360 ; 2127 + 361 ; 241 + 362 ; 2213 + 363 ; 2409 + 364 ; 2370 + 365 ; 2325 + 366 ; 2283 + 367 ; 1914 + 368 ; 2317 + 369 ; 2075 + 370 ; 2011 + 371 ; 294 + 372 ; 2275 + 373 ; 2065 + 374 ; 1752 + 375 ; 2052 + 376 ; 2235 + 377 ; 1872 + 378 ; 1764 + 379 ; 1943 + 380 ; 2133 + 381 ; 158 + 382 ; 1680 + 383 ; 2292 + 384 ; 1931 + 385 ; 1635 + 386 ; 1754 + 387 ; 2349 + 388 ; 2025 + 389 ; 1708 + 390 ; 1617 + 391 ; 307 + 392 ; 2212 + 393 ; 1863 + 394 ; 2078 + 395 ; 2247 + 396 ; 2153 + 397 ; 1818 + 398 ; 2322 + 399 ; 2188 + 400 ; 2200 + 401 ; 289 + 402 ; 2295 + 403 ; 2199 + 404 ; 2269 + 405 ; 1825 + 406 ; 1842 + 407 ; 1668 + 408 ; 1927 + 409 ; 2357 + 410 ; 2162 + 411 ; 201 + 412 ; 1621 + 413 ; 1854 + 414 ; 2095 + 415 ; 1992 + 416 ; 2038 + 417 ; 1644 + 418 ; 1749 + 419 ; 2167 + 420 ; 1883 + 421 ; 190 + 422 ; 2343 + 423 ; 2308 + 424 ; 1798 + 425 ; 1883 + 426 ; 2067 + 427 ; 1882 + 428 ; 2069 + 429 ; 1615 + 430 ; 2277 + 431 ; 228 + 432 ; 1654 + 433 ; 2216 + 434 ; 1946 + 435 ; 2389 + 436 ; 2079 + 437 ; 1650 + 438 ; 2031 + 439 ; 1969 + 440 ; 2269 + 441 ; 258 + 442 ; 2292 + 443 ; 2349 + 444 ; 2211 + 445 ; 1967 + 446 ; 2380 + 447 ; 2132 + 448 ; 1947 + 449 ; 2343 + 450 ; 1800 + 451 ; 168 + 452 ; 1911 + 453 ; 2057 + 454 ; 2196 + 455 ; 1882 + 456 ; 1827 + 457 ; 2244 + 458 ; 1962 + 459 ; 1937 + 460 ; 1864 + 461 ; 234 + 462 ; 1854 + 463 ; 1745 + 464 ; 2303 + 465 ; 2346 + 466 ; 2008 + 467 ; 2061 + 468 ; 2300 + 469 ; 1822 + 470 ; 2124 + 471 ; 207 + 472 ; 2083 + 473 ; 2011 + 474 ; 2198 + 475 ; 2021 + 476 ; 2275 + 477 ; 1622 + 478 ; 1749 + 479 ; 2155 + 480 ; 2409 + 481 ; 256 + 482 ; 1638 + 483 ; 2132 + 484 ; 1727 + 485 ; 1726 + 486 ; 2277 + 487 ; 2072 + 488 ; 2042 + 489 ; 2031 + 490 ; 2104 + 491 ; 96 + 492 ; 1888 + 493 ; 2237 + 494 ; 1879 + 495 ; 2109 + 496 ; 2024 + 497 ; 2002 + 498 ; 2376 + 499 ; 2149 + 500 ; 2185 + 501 ; 229 + 502 ; 2379 + 503 ; 1616 + 504 ; 1888 + 505 ; 2235 + 506 ; 2164 + 507 ; 1828 + 508 ; 2183 + 509 ; 2037 + 510 ; 1802 + 511 ; 143 + 512 ; 2108 + 513 ; 1877 + 514 ; 2334 + 515 ; 1778 + 516 ; 2267 + 517 ; 2351 + 518 ; 1792 + 519 ; 1890 + 520 ; 2104 + 521 ; 280 + 522 ; 1673 + 523 ; 1856 + 524 ; 2221 + 525 ; 1857 + 526 ; 2239 + 527 ; 2394 + 528 ; 2173 + 529 ; 2124 + 530 ; 2169 + 531 ; 285 + 532 ; 2057 + 533 ; 2353 + 534 ; 1722 + 535 ; 2030 + 536 ; 1619 + 537 ; 1943 + 538 ; 2186 + 539 ; 2013 + 540 ; 2208 + 541 ; 271 + 542 ; 1854 + 543 ; 1782 + 544 ; 2340 + 545 ; 1738 + 546 ; 1717 + 547 ; 2025 + 548 ; 1942 + 549 ; 1881 + 550 ; 2371 + 551 ; 265 + 552 ; 2251 + 553 ; 2231 + 554 ; 1960 + 555 ; 1707 + 556 ; 1835 + 557 ; 2281 + 558 ; 1727 + 559 ; 1825 + 560 ; 1879 + 561 ; 114 + 562 ; 2002 + 563 ; 1952 + 564 ; 2330 + 565 ; 2308 + 566 ; 2240 + 567 ; 1876 + 568 ; 2048 + 569 ; 1984 + 570 ; 2313 + 571 ; 192 + 572 ; 2353 + 573 ; 1667 + 574 ; 1954 + 575 ; 1613 + 576 ; 1677 + 577 ; 1777 + 578 ; 2363 + 579 ; 1854 + 580 ; 2075 + 581 ; 139 + 582 ; 2307 + 583 ; 2213 + 584 ; 2340 + 585 ; 1793 + 586 ; 1819 + 587 ; 1876 + 588 ; 2366 + 589 ; 1783 + 590 ; 1620 + 591 ; 235 + 592 ; 1996 + 593 ; 2036 + 594 ; 1949 + 595 ; 2230 + 596 ; 2048 + 597 ; 1697 + 598 ; 2091 + 599 ; 2138 + 600 ; 2178 + 601 ; 265 + 602 ; 1694 + 603 ; 1827 + 604 ; 2283 + 605 ; 2216 + 606 ; 2036 + 607 ; 2097 + 608 ; 2007 + 609 ; 2377 + 610 ; 2327 + 611 ; 131 + 612 ; 1991 + 613 ; 1914 + 614 ; 1696 + 615 ; 2089 + 616 ; 1999 + 617 ; 2090 + 618 ; 1661 + 619 ; 2137 + 620 ; 2305 + 621 ; 176 + 622 ; 1856 + 623 ; 2022 + 624 ; 2325 + 625 ; 1686 + 626 ; 2123 + 627 ; 2084 + 628 ; 2285 + 629 ; 2341 + 630 ; 1663 + 631 ; 235 + 632 ; 1963 + 633 ; 1976 + 634 ; 1916 + 635 ; 1616 + 636 ; 2100 + 637 ; 2232 + 638 ; 1689 + 639 ; 1734 + 640 ; 1614 + 641 ; 192 + 642 ; 2181 + 643 ; 2082 + 644 ; 1622 + 645 ; 1976 + 646 ; 1628 + 647 ; 2105 + 648 ; 1889 + 649 ; 2146 + 650 ; 2319 + 651 ; 242 + 652 ; 2359 + 653 ; 2066 + 654 ; 2299 + 655 ; 1711 + 656 ; 2144 + 657 ; 2255 + 658 ; 1933 + 659 ; 2204 + 660 ; 2081 + 661 ; 74 + 662 ; 1894 + 663 ; 2029 + 664 ; 1739 + 665 ; 1671 + 666 ; 1658 + 667 ; 2366 + 668 ; 1894 + 669 ; 1633 + 670 ; 1922 + 671 ; 85 + 672 ; 2403 + 673 ; 1705 + 674 ; 1726 + 675 ; 2314 + 676 ; 2374 + 677 ; 2343 + 678 ; 2316 + 679 ; 1728 + 680 ; 2228 + 681 ; 191 + 682 ; 2325 + 683 ; 1706 + 684 ; 1614 + 685 ; 1954 + 686 ; 1858 + 687 ; 2036 + 688 ; 1804 + 689 ; 2230 + 690 ; 2356 + 691 ; 146 + 692 ; 2208 + 693 ; 1950 + 694 ; 1677 + 695 ; 2201 + 696 ; 2153 + 697 ; 2288 + 698 ; 2325 + 699 ; 1695 + 700 ; 1956 + 701 ; 219 + 702 ; 2102 + 703 ; 1627 + 704 ; 1684 + 705 ; 1913 + 706 ; 2239 + 707 ; 2082 + 708 ; 1727 + 709 ; 2173 + 710 ; 1746 + 711 ; 205 + 712 ; 2211 + 713 ; 1674 + 714 ; 1924 + 715 ; 2197 + 716 ; 1759 + 717 ; 2126 + 718 ; 2238 + 719 ; 1756 + 720 ; 2339 + 721 ; 293 + 722 ; 2348 + 723 ; 1807 + 724 ; 1864 + 725 ; 1929 + 726 ; 2304 + 727 ; 1901 + 728 ; 1834 + 729 ; 2135 + 730 ; 1894 + 731 ; 199 + 732 ; 2396 + 733 ; 1829 + 734 ; 2001 + 735 ; 1664 + 736 ; 1673 + 737 ; 2153 + 738 ; 1840 + 739 ; 1933 + 740 ; 1647 + 741 ; 195 + 742 ; 2112 + 743 ; 2245 + 744 ; 2188 + 745 ; 1619 + 746 ; 1811 + 747 ; 2233 + 748 ; 1658 + 749 ; 2116 + 750 ; 1646 + 751 ; 185 + 752 ; 1938 + 753 ; 1984 + 754 ; 1881 + 755 ; 2142 + 756 ; 1884 + 757 ; 2046 + 758 ; 2242 + 759 ; 2349 + 760 ; 2237 + 761 ; 110 + 762 ; 1753 + 763 ; 1743 + 764 ; 2136 + 765 ; 1783 + 766 ; 1938 + 767 ; 1781 + 768 ; 2133 + 769 ; 2083 + 770 ; 1671 + 771 ; 199 + 772 ; 2148 + 773 ; 1796 + 774 ; 2318 + 775 ; 1869 + 776 ; 2409 + 777 ; 1954 + 778 ; 2084 + 779 ; 1776 + 780 ; 1854 + 781 ; 263 + 782 ; 2325 + 783 ; 2139 + 784 ; 2359 + 785 ; 2264 + 786 ; 1697 + 787 ; 2393 + 788 ; 1990 + 789 ; 1912 + 790 ; 2164 + 791 ; 141 + 792 ; 1870 + 793 ; 2298 + 794 ; 1648 + 795 ; 1850 + 796 ; 2074 + 797 ; 1642 + 798 ; 2037 + 799 ; 2336 + 800 ; 2010 + 801 ; 178 + 802 ; 2392 + 803 ; 1845 + 804 ; 2069 + 805 ; 1949 + 806 ; 1919 + 807 ; 1821 + 808 ; 1666 + 809 ; 2006 + 810 ; 1664 + 811 ; 304 + 812 ; 1749 + 813 ; 2380 + 814 ; 2070 + 815 ; 1952 + 816 ; 2211 + 817 ; 2052 + 818 ; 2324 + 819 ; 1828 + 820 ; 1664 + 821 ; 267 + 822 ; 2218 + 823 ; 2042 + 824 ; 1834 + 825 ; 1767 + 826 ; 1622 + 827 ; 1949 + 828 ; 1861 + 829 ; 2059 + 830 ; 2052 + 831 ; 115 + 832 ; 2116 + 833 ; 1910 + 834 ; 2280 + 835 ; 2367 + 836 ; 1655 + 837 ; 2005 + 838 ; 2027 + 839 ; 1667 + 840 ; 2305 + 841 ; 145 + 842 ; 2358 + 843 ; 2303 + 844 ; 1628 + 845 ; 2355 + 846 ; 2411 + 847 ; 1881 + 848 ; 2403 + 849 ; 1896 + 850 ; 1973 + 851 ; 272 + 852 ; 1950 + 853 ; 2377 + 854 ; 2291 + 855 ; 1798 + 856 ; 1726 + 857 ; 2402 + 858 ; 1937 + 859 ; 1649 + 860 ; 2154 + 861 ; 210 + 862 ; 1620 + 863 ; 1827 + 864 ; 1803 + 865 ; 1978 + 866 ; 1667 + 867 ; 1973 + 868 ; 2178 + 869 ; 2295 + 870 ; 1997 + 871 ; 91 + 872 ; 2341 + 873 ; 2164 + 874 ; 1804 + 875 ; 1781 + 876 ; 1990 + 877 ; 1949 + 878 ; 2376 + 879 ; 2289 + 880 ; 2132 + 881 ; 100 + 882 ; 2256 + 883 ; 2335 + 884 ; 1614 + 885 ; 2207 + 886 ; 1783 + 887 ; 1760 + 888 ; 1857 + 889 ; 2041 + 890 ; 1652 + 891 ; 307 + 892 ; 2409 + 893 ; 2217 + 894 ; 2196 + 895 ; 1773 + 896 ; 2295 + 897 ; 2098 + 898 ; 2021 + 899 ; 1973 + 900 ; 1908 + 901 ; 116 + 902 ; 2074 + 903 ; 2247 + 904 ; 2081 + 905 ; 1801 + 906 ; 2325 + 907 ; 1899 + 908 ; 2348 + 909 ; 2080 + 910 ; 2085 + 911 ; 201 + 912 ; 1851 + 913 ; 2189 + 914 ; 2079 + 915 ; 2276 + 916 ; 2074 + 917 ; 1970 + 918 ; 2098 + 919 ; 2347 + 920 ; 1793 + 921 ; 114 + 922 ; 2152 + 923 ; 2313 + 924 ; 2286 + 925 ; 1627 + 926 ; 2209 + 927 ; 1782 + 928 ; 1901 + 929 ; 1652 + 930 ; 1939 + 931 ; 131 + 932 ; 2223 + 933 ; 2219 + 934 ; 2045 + 935 ; 2405 + 936 ; 2146 + 937 ; 1899 + 938 ; 2167 + 939 ; 2313 + 940 ; 1634 + 941 ; 261 + 942 ; 2141 + 943 ; 2035 + 944 ; 2314 + 945 ; 2251 + 946 ; 2376 + 947 ; 1626 + 948 ; 2052 + 949 ; 2272 + 950 ; 2079 + 951 ; 131 + 952 ; 2038 + 953 ; 2399 + 954 ; 1920 + 955 ; 2115 + 956 ; 2169 + 957 ; 1765 + 958 ; 1734 + 959 ; 1849 + 960 ; 2077 + 961 ; 312 + 962 ; 1761 + 963 ; 1931 + 964 ; 1786 + 965 ; 2401 + 966 ; 1848 + 967 ; 2241 + 968 ; 2012 + 969 ; 1813 + 970 ; 2085 + 971 ; 98 + 972 ; 2068 + 973 ; 1980 + 974 ; 2165 + 975 ; 2251 + 976 ; 1754 + 977 ; 1714 + 978 ; 1895 + 979 ; 2069 + 980 ; 1947 + 981 ; 279 + 982 ; 1653 + 983 ; 1981 + 984 ; 1682 + 985 ; 1740 + 986 ; 2264 + 987 ; 2328 + 988 ; 1612 + 989 ; 1989 + 990 ; 1734 + 991 ; 207 + 992 ; 1730 + 993 ; 2209 + 994 ; 2331 + 995 ; 1709 + 996 ; 2334 + 997 ; 1892 + 998 ; 2093 + 999 ; 2124 + 1000 ; 2253 + 1001 ; 245 + 1002 ; 1745 + 1003 ; 2253 + 1004 ; 2083 + 1005 ; 2038 + 1006 ; 2114 + 1007 ; 1740 + 1008 ; 2408 + 1009 ; 2059 + 1010 ; 2231 + 1011 ; 267 + 1012 ; 2317 + 1013 ; 2209 + 1014 ; 1707 + 1015 ; 2358 + 1016 ; 2275 + 1017 ; 2384 + 1018 ; 2150 + 1019 ; 2144 + 1020 ; 2342 + 1021 ; 73 + 1022 ; 1756 + 1023 ; 1620 + 1024 ; 1652 + 1025 ; 1875 + 1026 ; 1820 + 1027 ; 2312 + 1028 ; 2178 + 1029 ; 2399 + 1030 ; 1734 + 1031 ; 131 + 1032 ; 1793 + 1033 ; 1732 + 1034 ; 2016 + 1035 ; 1777 + 1036 ; 1701 + 1037 ; 1773 + 1038 ; 2366 + 1039 ; 1824 + 1040 ; 1672 + 1041 ; 267 + 1042 ; 1892 + 1043 ; 1696 + 1044 ; 1906 + 1045 ; 1935 + 1046 ; 1659 + 1047 ; 1698 + 1048 ; 2157 + 1049 ; 1828 + 1050 ; 2045 + 1051 ; 128 + 1052 ; 2014 + 1053 ; 2292 + 1054 ; 2328 + 1055 ; 2045 + 1056 ; 2305 + 1057 ; 2198 + 1058 ; 2061 + 1059 ; 1645 + 1060 ; 2332 + 1061 ; 209 + 1062 ; 1921 + 1063 ; 2058 + 1064 ; 1902 + 1065 ; 2264 + 1066 ; 1836 + 1067 ; 1951 + 1068 ; 1751 + 1069 ; 1895 + 1070 ; 1749 + 1071 ; 310 + 1072 ; 1923 + 1073 ; 1895 + 1074 ; 1791 + 1075 ; 1781 + 1076 ; 1757 + 1077 ; 2078 + 1078 ; 1881 + 1079 ; 2408 + 1080 ; 1729 + 1081 ; 156 + 1082 ; 2411 + 1083 ; 1790 + 1084 ; 2268 + 1085 ; 1776 + 1086 ; 2297 + 1087 ; 2373 + 1088 ; 1814 + 1089 ; 1773 + 1090 ; 1963 + 1091 ; 229 + 1092 ; 1846 + 1093 ; 2197 + 1094 ; 1746 + 1095 ; 1917 + 1096 ; 1623 + 1097 ; 1781 + 1098 ; 2033 + 1099 ; 2280 + 1100 ; 2208 + 1101 ; 110 + 1102 ; 2317 + 1103 ; 2002 + 1104 ; 2371 + 1105 ; 2000 + 1106 ; 1897 + 1107 ; 1804 + 1108 ; 2145 + 1109 ; 1629 + 1110 ; 1911 + 1111 ; 119 + 1112 ; 1956 + 1113 ; 1891 + 1114 ; 2254 + 1115 ; 2331 + 1116 ; 2145 + 1117 ; 1929 + 1118 ; 2213 + 1119 ; 2323 + 1120 ; 2036 + 1121 ; 187 + 1122 ; 2182 + 1123 ; 2173 + 1124 ; 2334 + 1125 ; 1673 + 1126 ; 2303 + 1127 ; 2340 + 1128 ; 1792 + 1129 ; 1751 + 1130 ; 1681 + 1131 ; 231 + 1132 ; 1635 + 1133 ; 1842 + 1134 ; 1915 + 1135 ; 2066 + 1136 ; 2189 + 1137 ; 2004 + 1138 ; 1727 + 1139 ; 1810 + 1140 ; 1990 + 1141 ; 240 + 1142 ; 2323 + 1143 ; 1973 + 1144 ; 2004 + 1145 ; 2073 + 1146 ; 1688 + 1147 ; 2152 + 1148 ; 2411 + 1149 ; 2264 + 1150 ; 2143 + 1151 ; 227 + 1152 ; 2169 + 1153 ; 2088 + 1154 ; 2056 + 1155 ; 2303 + 1156 ; 2195 + 1157 ; 1780 + 1158 ; 1914 + 1159 ; 1844 + 1160 ; 2173 + 1161 ; 159 + 1162 ; 1925 + 1163 ; 2216 + 1164 ; 2223 + 1165 ; 2269 + 1166 ; 2371 + 1167 ; 2207 + 1168 ; 1958 + 1169 ; 1882 + 1170 ; 1778 + 1171 ; 147 + 1172 ; 2163 + 1173 ; 1932 + 1174 ; 2210 + 1175 ; 2381 + 1176 ; 1775 + 1177 ; 1699 + 1178 ; 1946 + 1179 ; 1709 + 1180 ; 1944 + 1181 ; 170 + 1182 ; 2175 + 1183 ; 1694 + 1184 ; 2103 + 1185 ; 1702 + 1186 ; 1687 + 1187 ; 1908 + 1188 ; 1616 + 1189 ; 1880 + 1190 ; 2221 + 1191 ; 103 + 1192 ; 1765 + 1193 ; 1958 + 1194 ; 1877 + 1195 ; 2302 + 1196 ; 2074 + 1197 ; 1874 + 1198 ; 1782 + 1199 ; 1949 + 1200 ; 1739 + 1201 ; 296 + 1202 ; 2229 + 1203 ; 1969 + 1204 ; 2405 + 1205 ; 2187 + 1206 ; 1679 + 1207 ; 1637 + 1208 ; 2273 + 1209 ; 2170 + 1210 ; 1782 + 1211 ; 134 + 1212 ; 2200 + 1213 ; 2350 + 1214 ; 1812 + 1215 ; 2181 + 1216 ; 1761 + 1217 ; 2074 + 1218 ; 2074 + 1219 ; 1868 + 1220 ; 1824 + 1221 ; 295 + 1222 ; 2297 + 1223 ; 1950 + 1224 ; 1834 + 1225 ; 2195 + 1226 ; 2352 + 1227 ; 2264 + 1228 ; 2110 + 1229 ; 1820 + 1230 ; 1906 + 1231 ; 242 + 1232 ; 1747 + 1233 ; 2003 + 1234 ; 2013 + 1235 ; 2304 + 1236 ; 2128 + 1237 ; 2213 + 1238 ; 1844 + 1239 ; 1985 + 1240 ; 2092 + 1241 ; 94 + 1242 ; 2027 + 1243 ; 1937 + 1244 ; 2128 + 1245 ; 2055 + 1246 ; 1723 + 1247 ; 2023 + 1248 ; 2179 + 1249 ; 2018 + 1250 ; 1811 + 1251 ; 111 + 1252 ; 2126 + 1253 ; 2278 + 1254 ; 2366 + 1255 ; 2211 + 1256 ; 1614 + 1257 ; 2180 + 1258 ; 1881 + 1259 ; 2268 + 1260 ; 1731 + 1261 ; 163 + 1262 ; 2279 + 1263 ; 1718 + 1264 ; 1642 + 1265 ; 2174 + 1266 ; 2288 + 1267 ; 1944 + 1268 ; 2006 + 1269 ; 1820 + 1270 ; 2089 + 1271 ; 122 + 1272 ; 2397 + 1273 ; 1841 + 1274 ; 2379 + 1275 ; 1948 + 1276 ; 2270 + 1277 ; 1735 + 1278 ; 1774 + 1279 ; 1666 + 1280 ; 1614 + 1281 ; 278 + 1282 ; 1746 + 1283 ; 2207 + 1284 ; 2269 + 1285 ; 1659 + 1286 ; 2064 + 1287 ; 2350 + 1288 ; 1944 + 1289 ; 2282 + 1290 ; 1692 + 1291 ; 239 + 1292 ; 1934 + 1293 ; 1879 + 1294 ; 1720 + 1295 ; 2400 + 1296 ; 1793 + 1297 ; 1768 + 1298 ; 2034 + 1299 ; 2182 + 1300 ; 2040 + 1301 ; 206 + 1302 ; 1876 + 1303 ; 2069 + 1304 ; 1650 + 1305 ; 1805 + 1306 ; 1697 + 1307 ; 2149 + 1308 ; 2165 + 1309 ; 2240 + 1310 ; 1796 + 1311 ; 133 + 1312 ; 2053 + 1313 ; 1856 + 1314 ; 2058 + 1315 ; 2399 + 1316 ; 1732 + 1317 ; 2194 + 1318 ; 2241 + 1319 ; 1874 + 1320 ; 2277 + 1321 ; 116 + 1322 ; 2133 + 1323 ; 1640 + 1324 ; 1626 + 1325 ; 2309 + 1326 ; 2372 + 1327 ; 2221 + 1328 ; 1676 + 1329 ; 2109 + 1330 ; 1868 + 1331 ; 253 + 1332 ; 2323 + 1333 ; 1766 + 1334 ; 2331 + 1335 ; 1770 + 1336 ; 2288 + 1337 ; 1763 + 1338 ; 2098 + 1339 ; 2341 + 1340 ; 2296 + 1341 ; 305 + 1342 ; 2167 + 1343 ; 1916 + 1344 ; 1671 + 1345 ; 2016 + 1346 ; 2156 + 1347 ; 1762 + 1348 ; 1646 + 1349 ; 1953 + 1350 ; 1656 + 1351 ; 109 + 1352 ; 2262 + 1353 ; 1712 + 1354 ; 2116 + 1355 ; 1977 + 1356 ; 1744 + 1357 ; 2057 + 1358 ; 1913 + 1359 ; 2066 + 1360 ; 2168 + 1361 ; 181 + 1362 ; 2350 + 1363 ; 2228 + 1364 ; 1956 + 1365 ; 2381 + 1366 ; 1776 + 1367 ; 1847 + 1368 ; 2042 + 1369 ; 1706 + 1370 ; 2124 + 1371 ; 180 + 1372 ; 2206 + 1373 ; 1975 + 1374 ; 1978 + 1375 ; 1842 + 1376 ; 1675 + 1377 ; 2022 + 1378 ; 2357 + 1379 ; 2069 + 1380 ; 1901 + 1381 ; 85 + 1382 ; 2208 + 1383 ; 2390 + 1384 ; 1790 + 1385 ; 2229 + 1386 ; 2410 + 1387 ; 1835 + 1388 ; 1803 + 1389 ; 1744 + 1390 ; 1788 + 1391 ; 163 + 1392 ; 1805 + 1393 ; 2018 + 1394 ; 2164 + 1395 ; 1649 + 1396 ; 1755 + 1397 ; 1890 + 1398 ; 2055 + 1399 ; 2355 + 1400 ; 1693 + 1401 ; 172 + 1402 ; 2353 + 1403 ; 2258 + 1404 ; 1681 + 1405 ; 2340 + 1406 ; 1891 + 1407 ; 2361 + 1408 ; 1945 + 1409 ; 1882 + 1410 ; 1745 + 1411 ; 284 + 1412 ; 1861 + 1413 ; 2002 + 1414 ; 2089 + 1415 ; 1998 + 1416 ; 1811 + 1417 ; 2106 + 1418 ; 2080 + 1419 ; 1808 + 1420 ; 1844 + 1421 ; 297 + 1422 ; 1805 + 1423 ; 1941 + 1424 ; 2087 + 1425 ; 2265 + 1426 ; 2061 + 1427 ; 1985 + 1428 ; 2175 + 1429 ; 2369 + 1430 ; 1948 + 1431 ; 260 + 1432 ; 2317 + 1433 ; 2219 + 1434 ; 1832 + 1435 ; 1813 + 1436 ; 1762 + 1437 ; 2074 + 1438 ; 1832 + 1439 ; 2318 + 1440 ; 1923 + 1441 ; 152 + 1442 ; 2069 + 1443 ; 1712 + 1444 ; 2283 + 1445 ; 1987 + 1446 ; 1910 + 1447 ; 2197 + 1448 ; 1933 + 1449 ; 2320 + 1450 ; 2336 + 1451 ; 154 + 1452 ; 2337 + 1453 ; 1677 + 1454 ; 2010 + 1455 ; 2094 + 1456 ; 2224 + 1457 ; 1630 + 1458 ; 2103 + 1459 ; 2321 + 1460 ; 1774 + 1461 ; 118 + 1462 ; 2282 + 1463 ; 2098 + 1464 ; 1798 + 1465 ; 2027 + 1466 ; 2143 + 1467 ; 1823 + 1468 ; 2183 + 1469 ; 1639 + 1470 ; 2062 + 1471 ; 89 + 1472 ; 1896 + 1473 ; 1880 + 1474 ; 1926 + 1475 ; 1619 + 1476 ; 1738 + 1477 ; 1659 + 1478 ; 2060 + 1479 ; 2345 + 1480 ; 1745 + 1481 ; 98 + 1482 ; 2255 + 1483 ; 1640 + 1484 ; 1656 + 1485 ; 2116 + 1486 ; 2234 + 1487 ; 2287 + 1488 ; 1681 + 1489 ; 2342 + 1490 ; 2374 + 1491 ; 273 + 1492 ; 2072 + 1493 ; 1951 + 1494 ; 2182 + 1495 ; 2153 + 1496 ; 1895 + 1497 ; 2358 + 1498 ; 2232 + 1499 ; 2121 + 1500 ; 2374 + 1501 ; 265 + 1502 ; 1835 + 1503 ; 1783 + 1504 ; 1994 + 1505 ; 1968 + 1506 ; 1906 + 1507 ; 1641 + 1508 ; 1651 + 1509 ; 1786 + 1510 ; 2274 + 1511 ; 129 + 1512 ; 1772 + 1513 ; 2260 + 1514 ; 2206 + 1515 ; 1940 + 1516 ; 2162 + 1517 ; 1976 + 1518 ; 2278 + 1519 ; 1890 + 1520 ; 1719 + 1521 ; 169 + 1522 ; 1913 + 1523 ; 1965 + 1524 ; 2299 + 1525 ; 1722 + 1526 ; 1639 + 1527 ; 1949 + 1528 ; 2290 + 1529 ; 2188 + 1530 ; 1797 + 1531 ; 184 + 1532 ; 1634 + 1533 ; 1936 + 1534 ; 2084 + 1535 ; 2043 + 1536 ; 1759 + 1537 ; 2391 + 1538 ; 2227 + 1539 ; 2410 + 1540 ; 1689 + 1541 ; 266 + 1542 ; 2195 + 1543 ; 2165 + 1544 ; 1889 + 1545 ; 1716 + 1546 ; 1960 + 1547 ; 2153 + 1548 ; 2061 + 1549 ; 2077 + 1550 ; 1662 + 1551 ; 275 + 1552 ; 1842 + 1553 ; 2325 + 1554 ; 1927 + 1555 ; 2007 + 1556 ; 1863 + 1557 ; 2150 + 1558 ; 1870 + 1559 ; 2086 + 1560 ; 1859 + 1561 ; 288 + 1562 ; 1642 + 1563 ; 1908 + 1564 ; 2075 + 1565 ; 2301 + 1566 ; 1713 + 1567 ; 1626 + 1568 ; 2228 + 1569 ; 2020 + 1570 ; 2056 + 1571 ; 132 + 1572 ; 1744 + 1573 ; 2276 + 1574 ; 2021 + 1575 ; 1847 + 1576 ; 1721 + 1577 ; 1646 + 1578 ; 2293 + 1579 ; 2260 + 1580 ; 2356 + 1581 ; 203 + 1582 ; 1750 + 1583 ; 2155 + 1584 ; 1950 + 1585 ; 1671 + 1586 ; 1764 + 1587 ; 2376 + 1588 ; 2186 + 1589 ; 1706 + 1590 ; 1962 + 1591 ; 258 + 1592 ; 1649 + 1593 ; 1804 + 1594 ; 1632 + 1595 ; 1830 + 1596 ; 2389 + 1597 ; 2101 + 1598 ; 1769 + 1599 ; 1973 + 1600 ; 1642 + 1601 ; 85 + 1602 ; 1885 + 1603 ; 1669 + 1604 ; 1833 + 1605 ; 1762 + 1606 ; 2131 + 1607 ; 2048 + 1608 ; 2010 + 1609 ; 2066 + 1610 ; 1694 + 1611 ; 159 + 1612 ; 2256 + 1613 ; 2106 + 1614 ; 1649 + 1615 ; 1906 + 1616 ; 1665 + 1617 ; 1818 + 1618 ; 2017 + 1619 ; 2027 + 1620 ; 2019 + 1621 ; 269 + 1622 ; 2403 + 1623 ; 2195 + 1624 ; 1839 + 1625 ; 1622 + 1626 ; 2394 + 1627 ; 2290 + 1628 ; 1835 + 1629 ; 2307 + 1630 ; 1782 + 1631 ; 233 + 1632 ; 2004 + 1633 ; 2392 + 1634 ; 1698 + 1635 ; 2386 + 1636 ; 1886 + 1637 ; 1788 + 1638 ; 2380 + 1639 ; 1655 + 1640 ; 2289 + 1641 ; 237 + 1642 ; 1885 + 1643 ; 1817 + 1644 ; 1767 + 1645 ; 2112 + 1646 ; 1952 + 1647 ; 2098 + 1648 ; 2082 + 1649 ; 1954 + 1650 ; 2396 + 1651 ; 82 + 1652 ; 1755 + 1653 ; 2300 + 1654 ; 1876 + 1655 ; 1639 + 1656 ; 2032 + 1657 ; 2370 + 1658 ; 2146 + 1659 ; 2124 + 1660 ; 2374 + 1661 ; 216 + 1662 ; 1635 + 1663 ; 2121 + 1664 ; 2404 + 1665 ; 1905 + 1666 ; 2200 + 1667 ; 2164 + 1668 ; 2228 + 1669 ; 1885 + 1670 ; 1868 + 1671 ; 111 + 1672 ; 1836 + 1673 ; 2128 + 1674 ; 1848 + 1675 ; 1750 + 1676 ; 1884 + 1677 ; 2137 + 1678 ; 2348 + 1679 ; 1856 + 1680 ; 2352 + 1681 ; 92 + 1682 ; 1743 + 1683 ; 2157 + 1684 ; 2200 + 1685 ; 1644 + 1686 ; 1930 + 1687 ; 1647 + 1688 ; 1962 + 1689 ; 1696 + 1690 ; 1816 + 1691 ; 135 + 1692 ; 1899 + 1693 ; 2221 + 1694 ; 1765 + 1695 ; 2030 + 1696 ; 2187 + 1697 ; 1872 + 1698 ; 1665 + 1699 ; 2304 + 1700 ; 2091 + 1701 ; 154 + 1702 ; 2041 + 1703 ; 1627 + 1704 ; 1739 + 1705 ; 2272 + 1706 ; 2383 + 1707 ; 2177 + 1708 ; 2228 + 1709 ; 1807 + 1710 ; 1807 + 1711 ; 103 + 1712 ; 2187 + 1713 ; 2095 + 1714 ; 2393 + 1715 ; 2235 + 1716 ; 1631 + 1717 ; 1818 + 1718 ; 1861 + 1719 ; 1985 + 1720 ; 2390 + 1721 ; 163 + 1722 ; 2233 + 1723 ; 1696 + 1724 ; 2243 + 1725 ; 1817 + 1726 ; 1954 + 1727 ; 1911 + 1728 ; 2105 + 1729 ; 2176 + 1730 ; 1720 + 1731 ; 241 + 1732 ; 1665 + 1733 ; 1993 + 1734 ; 2144 + 1735 ; 2384 + 1736 ; 2091 + 1737 ; 2409 + 1738 ; 2022 + 1739 ; 1859 + 1740 ; 2154 + 1741 ; 143 + 1742 ; 1674 + 1743 ; 2001 + 1744 ; 2360 + 1745 ; 2349 + 1746 ; 2113 + 1747 ; 2092 + 1748 ; 1906 + 1749 ; 1774 + 1750 ; 2064 + 1751 ; 126 + 1752 ; 1695 + 1753 ; 2143 + 1754 ; 1708 + 1755 ; 1878 + 1756 ; 2191 + 1757 ; 1970 + 1758 ; 2376 + 1759 ; 2137 + 1760 ; 2037 + 1761 ; 200 + 1762 ; 2161 + 1763 ; 2253 + 1764 ; 1852 + 1765 ; 1815 + 1766 ; 1944 + 1767 ; 2083 + 1768 ; 1651 + 1769 ; 1865 + 1770 ; 2379 + 1771 ; 170 + 1772 ; 1976 + 1773 ; 2135 + 1774 ; 2093 + 1775 ; 2148 + 1776 ; 2116 + 1777 ; 1791 + 1778 ; 1817 + 1779 ; 2329 + 1780 ; 1745 + 1781 ; 293 + 1782 ; 1872 + 1783 ; 2371 + 1784 ; 2172 + 1785 ; 1891 + 1786 ; 2220 + 1787 ; 2331 + 1788 ; 1647 + 1789 ; 2178 + 1790 ; 2269 + 1791 ; 185 + 1792 ; 2004 + 1793 ; 2170 + 1794 ; 2056 + 1795 ; 2332 + 1796 ; 2407 + 1797 ; 1674 + 1798 ; 2171 + 1799 ; 1668 + 1800 ; 1674 + 1801 ; 259 + 1802 ; 1997 + 1803 ; 2388 + 1804 ; 1911 + 1805 ; 2327 + 1806 ; 2399 + 1807 ; 1880 + 1808 ; 2243 + 1809 ; 2184 + 1810 ; 1939 + 1811 ; 154 + 1812 ; 1763 + 1813 ; 1884 + 1814 ; 1669 + 1815 ; 2254 + 1816 ; 2319 + 1817 ; 1797 + 1818 ; 2316 + 1819 ; 1705 + 1820 ; 1647 + 1821 ; 111 + 1822 ; 1893 + 1823 ; 2300 + 1824 ; 1889 + 1825 ; 2184 + 1826 ; 2123 + 1827 ; 2261 + 1828 ; 2058 + 1829 ; 1788 + 1830 ; 1796 + 1831 ; 150 + 1832 ; 2212 + 1833 ; 2227 + 1834 ; 1784 + 1835 ; 1722 + 1836 ; 1844 + 1837 ; 1690 + 1838 ; 1730 + 1839 ; 1923 + 1840 ; 1671 + 1841 ; 291 + 1842 ; 2381 + 1843 ; 2126 + 1844 ; 1803 + 1845 ; 2076 + 1846 ; 1655 + 1847 ; 1989 + 1848 ; 1877 + 1849 ; 1757 + 1850 ; 1859 + 1851 ; 170 + 1852 ; 2403 + 1853 ; 1821 + 1854 ; 2276 + 1855 ; 2053 + 1856 ; 2368 + 1857 ; 1997 + 1858 ; 1956 + 1859 ; 1853 + 1860 ; 2071 + 1861 ; 221 + 1862 ; 1683 + 1863 ; 1976 + 1864 ; 1734 + 1865 ; 2211 + 1866 ; 2290 + 1867 ; 2338 + 1868 ; 1832 + 1869 ; 1766 + 1870 ; 1797 + 1871 ; 247 + 1872 ; 1923 + 1873 ; 1891 + 1874 ; 1737 + 1875 ; 2008 + 1876 ; 1683 + 1877 ; 1804 + 1878 ; 1906 + 1879 ; 1707 + 1880 ; 1794 + 1881 ; 112 + 1882 ; 2351 + 1883 ; 2349 + 1884 ; 1646 + 1885 ; 1668 + 1886 ; 2036 + 1887 ; 2237 + 1888 ; 2209 + 1889 ; 1953 + 1890 ; 1685 + 1891 ; 215 + 1892 ; 1637 + 1893 ; 1644 + 1894 ; 1873 + 1895 ; 2183 + 1896 ; 1922 + 1897 ; 2301 + 1898 ; 1979 + 1899 ; 1620 + 1900 ; 1962 + 1901 ; 205 + 1902 ; 1837 + 1903 ; 1663 + 1904 ; 1658 + 1905 ; 2284 + 1906 ; 1931 + 1907 ; 1925 + 1908 ; 2398 + 1909 ; 2100 + 1910 ; 2122 + 1911 ; 114 + 1912 ; 1800 + 1913 ; 2300 + 1914 ; 1851 + 1915 ; 1975 + 1916 ; 2086 + 1917 ; 2274 + 1918 ; 2229 + 1919 ; 1867 + 1920 ; 2150 + 1921 ; 309 + 1922 ; 1852 + 1923 ; 2312 + 1924 ; 1927 + 1925 ; 1965 + 1926 ; 1974 + 1927 ; 2313 + 1928 ; 1713 + 1929 ; 1970 + 1930 ; 2137 + 1931 ; 195 + 1932 ; 1960 + 1933 ; 1856 + 1934 ; 2243 + 1935 ; 2248 + 1936 ; 2199 + 1937 ; 1968 + 1938 ; 2034 + 1939 ; 2207 + 1940 ; 1834 + 1941 ; 96 + 1942 ; 1653 + 1943 ; 1944 + 1944 ; 2164 + 1945 ; 2246 + 1946 ; 2069 + 1947 ; 2347 + 1948 ; 1856 + 1949 ; 2359 + 1950 ; 1772 + 1951 ; 213 + 1952 ; 1969 + 1953 ; 1958 + 1954 ; 2286 + 1955 ; 2154 + 1956 ; 2349 + 1957 ; 1739 + 1958 ; 1838 + 1959 ; 2358 + 1960 ; 1697 + 1961 ; 76 + 1962 ; 1636 + 1963 ; 2292 + 1964 ; 2400 + 1965 ; 1875 + 1966 ; 1679 + 1967 ; 1651 + 1968 ; 2232 + 1969 ; 2058 + 1970 ; 2210 + 1971 ; 107 + 1972 ; 2256 + 1973 ; 2320 + 1974 ; 1944 + 1975 ; 1758 + 1976 ; 2221 + 1977 ; 1802 + 1978 ; 2273 + 1979 ; 2286 + 1980 ; 2168 + 1981 ; 98 + 1982 ; 1855 + 1983 ; 2234 + 1984 ; 1693 + 1985 ; 2247 + 1986 ; 2210 + 1987 ; 1621 + 1988 ; 1751 + 1989 ; 1758 + 1990 ; 1885 + 1991 ; 81 + 1992 ; 2360 + 1993 ; 2153 + 1994 ; 1760 + 1995 ; 1900 + 1996 ; 1774 + 1997 ; 1739 + 1998 ; 2408 + 1999 ; 2336 + 2000 ; 2000 + 2001 ; 203 + 2002 ; 1948 + 2003 ; 1910 + 2004 ; 1612 + 2005 ; 1739 + 2006 ; 1738 + 2007 ; 1625 + 2008 ; 1760 + 2009 ; 2070 + 2010 ; 2335 + 2011 ; 292 + 2012 ; 1653 + 2013 ; 1894 + 2014 ; 2293 + 2015 ; 2310 + 2016 ; 2371 + 2017 ; 2127 + 2018 ; 1621 + 2019 ; 1924 + 2020 ; 1692 + 2021 ; 112 + 2022 ; 1989 + 2023 ; 1657 + 2024 ; 1896 + 2025 ; 2273 + 2026 ; 2308 + 2027 ; 2048 + 2028 ; 1634 + 2029 ; 2340 + 2030 ; 2191 + 2031 ; 176 + 2032 ; 1629 + 2033 ; 2212 + 2034 ; 2176 + 2035 ; 2180 + 2036 ; 1978 + 2037 ; 2186 + 2038 ; 2261 + 2039 ; 2090 + 2040 ; 2190 + 2041 ; 310 + 2042 ; 2026 + 2043 ; 1699 + 2044 ; 1906 + 2045 ; 1778 + 2046 ; 1651 + 2047 ; 1695 + 2048 ; 1913 + 2049 ; 1849 + 2050 ; 2360 + 2051 ; 239 + 2052 ; 2253 + 2053 ; 1971 + 2054 ; 2403 + 2055 ; 1810 + 2056 ; 1755 + 2057 ; 1830 + 2058 ; 1662 + 2059 ; 1989 + 2060 ; 1829 + 2061 ; 299 + 2062 ; 2229 + 2063 ; 2339 + 2064 ; 2359 + 2065 ; 2030 + 2066 ; 2023 + 2067 ; 2126 + 2068 ; 1968 + 2069 ; 2269 + 2070 ; 1644 + 2071 ; 87 + 2072 ; 1990 + 2073 ; 2162 + 2074 ; 1901 + 2075 ; 2042 + 2076 ; 1721 + 2077 ; 1890 + 2078 ; 1749 + 2079 ; 2122 + 2080 ; 1720 + 2081 ; 196 + 2082 ; 1670 + 2083 ; 2059 + 2084 ; 1913 + 2085 ; 1639 + 2086 ; 2356 + 2087 ; 1680 + 2088 ; 2286 + 2089 ; 1982 + 2090 ; 1960 + 2091 ; 205 + 2092 ; 2288 + 2093 ; 1951 + 2094 ; 1996 + 2095 ; 2202 + 2096 ; 2133 + 2097 ; 1682 + 2098 ; 2200 + 2099 ; 2400 + 2100 ; 1794 + 2101 ; 122 + 2102 ; 2337 + 2103 ; 2034 + 2104 ; 2162 + 2105 ; 2220 + 2106 ; 1805 + 2107 ; 2067 + 2108 ; 2075 + 2109 ; 2255 + 2110 ; 2198 + 2111 ; 126 + 2112 ; 2013 + 2113 ; 2110 + 2114 ; 1909 + 2115 ; 1880 + 2116 ; 1713 + 2117 ; 2203 + 2118 ; 2070 + 2119 ; 2253 + 2120 ; 2326 + 2121 ; 85 + 2122 ; 1624 + 2123 ; 1817 + 2124 ; 1758 + 2125 ; 1819 + 2126 ; 1988 + 2127 ; 2346 + 2128 ; 1870 + 2129 ; 2015 + 2130 ; 1828 + 2131 ; 116 + 2132 ; 2217 + 2133 ; 1716 + 2134 ; 1906 + 2135 ; 2002 + 2136 ; 2171 + 2137 ; 1760 + 2138 ; 2173 + 2139 ; 1708 + 2140 ; 1719 + 2141 ; 152 + 2142 ; 2126 + 2143 ; 1954 + 2144 ; 2052 + 2145 ; 1917 + 2146 ; 1827 + 2147 ; 2356 + 2148 ; 1822 + 2149 ; 2405 + 2150 ; 1870 + 2151 ; 149 + 2152 ; 1730 + 2153 ; 1968 + 2154 ; 1745 + 2155 ; 2286 + 2156 ; 2320 + 2157 ; 1655 + 2158 ; 2135 + 2159 ; 1918 + 2160 ; 1847 + 2161 ; 97 + 2162 ; 1862 + 2163 ; 2230 + 2164 ; 1713 + 2165 ; 2225 + 2166 ; 1732 + 2167 ; 1931 + 2168 ; 1850 + 2169 ; 1782 + 2170 ; 2071 + 2171 ; 108 + 2172 ; 1940 + 2173 ; 1642 + 2174 ; 2174 + 2175 ; 2411 + 2176 ; 1749 + 2177 ; 2252 + 2178 ; 1740 + 2179 ; 2040 + 2180 ; 1625 + 2181 ; 147 + 2182 ; 1926 + 2183 ; 1763 + 2184 ; 2132 + 2185 ; 2283 + 2186 ; 2306 + 2187 ; 1706 + 2188 ; 1709 + 2189 ; 2161 + 2190 ; 2408 + 2191 ; 102 + 2192 ; 1986 + 2193 ; 2384 + 2194 ; 1933 + 2195 ; 2200 + 2196 ; 2250 + 2197 ; 1922 + 2198 ; 1661 + 2199 ; 1687 + 2200 ; 1818 + 2201 ; 129 + 2202 ; 2337 + 2203 ; 2368 + 2204 ; 2317 + 2205 ; 2110 + 2206 ; 2404 + 2207 ; 1907 + 2208 ; 1766 + 2209 ; 2046 + 2210 ; 2151 + 2211 ; 218 + 2212 ; 2126 + 2213 ; 2183 + 2214 ; 1849 + 2215 ; 2088 + 2216 ; 2178 + 2217 ; 2170 + 2218 ; 2225 + 2219 ; 2081 + 2220 ; 2305 + 2221 ; 261 + 2222 ; 1951 + 2223 ; 1661 + 2224 ; 2138 + 2225 ; 1882 + 2226 ; 2411 + 2227 ; 1916 + 2228 ; 2001 + 2229 ; 2074 + 2230 ; 2372 + 2231 ; 255 + 2232 ; 1841 + 2233 ; 2060 + 2234 ; 1830 + 2235 ; 2220 + 2236 ; 2062 + 2237 ; 1765 + 2238 ; 1853 + 2239 ; 1869 + 2240 ; 2383 + 2241 ; 271 + 2242 ; 1870 + 2243 ; 2302 + 2244 ; 2076 + 2245 ; 2287 + 2246 ; 2331 + 2247 ; 2367 + 2248 ; 2246 + 2249 ; 1733 + 2250 ; 2252 + 2251 ; 110 + 2252 ; 2129 + 2253 ; 2241 + 2254 ; 2009 + 2255 ; 2094 + 2256 ; 2213 + 2257 ; 1912 + 2258 ; 2075 + 2259 ; 2099 + 2260 ; 1735 + 2261 ; 293 + 2262 ; 1766 + 2263 ; 2050 + 2264 ; 1750 + 2265 ; 2037 + 2266 ; 1848 + 2267 ; 1667 + 2268 ; 1976 + 2269 ; 2360 + 2270 ; 1803 + 2271 ; 208 + 2272 ; 1924 + 2273 ; 2327 + 2274 ; 1971 + 2275 ; 2290 + 2276 ; 2116 + 2277 ; 2046 + 2278 ; 2319 + 2279 ; 1893 + 2280 ; 2385 + 2281 ; 230 + 2282 ; 2249 + 2283 ; 2359 + 2284 ; 1853 + 2285 ; 2123 + 2286 ; 2407 + 2287 ; 2141 + 2288 ; 2012 + 2289 ; 1630 + 2290 ; 2277 + 2291 ; 270 + 2292 ; 1907 + 2293 ; 2146 + 2294 ; 2181 + 2295 ; 1943 + 2296 ; 1826 + 2297 ; 1795 + 2298 ; 1935 + 2299 ; 2002 + 2300 ; 1712 + 2301 ; 103 + 2302 ; 2147 + 2303 ; 1774 + 2304 ; 1612 + 2305 ; 1850 + 2306 ; 1877 + 2307 ; 1923 + 2308 ; 2246 + 2309 ; 1617 + 2310 ; 2093 + 2311 ; 112 + 2312 ; 1654 + 2313 ; 2101 + 2314 ; 1857 + 2315 ; 1681 + 2316 ; 2373 + 2317 ; 1792 + 2318 ; 1699 + 2319 ; 1859 + 2320 ; 1753 + 2321 ; 237 + 2322 ; 2142 + 2323 ; 2081 + 2324 ; 2057 + 2325 ; 1665 + 2326 ; 2235 + 2327 ; 2157 + 2328 ; 2091 + 2329 ; 2306 + 2330 ; 2092 + 2331 ; 214 + 2332 ; 1943 + 2333 ; 1959 + 2334 ; 2154 + 2335 ; 1766 + 2336 ; 1936 + 2337 ; 2085 + 2338 ; 1698 + 2339 ; 2207 + 2340 ; 1943 + 2341 ; 261 + 2342 ; 2375 + 2343 ; 2206 + 2344 ; 2106 + 2345 ; 1633 + 2346 ; 2174 + 2347 ; 2409 + 2348 ; 1986 + 2349 ; 1891 + 2350 ; 1952 + 2351 ; 217 + 2352 ; 1720 + 2353 ; 1675 + 2354 ; 1727 + 2355 ; 2144 + 2356 ; 2041 + 2357 ; 2319 + 2358 ; 2041 + 2359 ; 1992 + 2360 ; 1999 + 2361 ; 129 + 2362 ; 2302 + 2363 ; 1751 + 2364 ; 1793 + 2365 ; 1820 + 2366 ; 2136 + 2367 ; 1811 + 2368 ; 2224 + 2369 ; 2285 + 2370 ; 1930 + 2371 ; 268 + 2372 ; 1653 + 2373 ; 1890 + 2374 ; 2373 + 2375 ; 1790 + 2376 ; 1927 + 2377 ; 2402 + 2378 ; 1841 + 2379 ; 2116 + 2380 ; 1882 + 2381 ; 108 + 2382 ; 2403 + 2383 ; 1768 + 2384 ; 1675 + 2385 ; 2158 + 2386 ; 1870 + 2387 ; 2268 + 2388 ; 1648 + 2389 ; 1932 + 2390 ; 1629 + 2391 ; 129 + 2392 ; 1647 + 2393 ; 2190 + 2394 ; 2372 + 2395 ; 2308 + 2396 ; 1679 + 2397 ; 1961 + 2398 ; 1695 + 2399 ; 1710 + 2400 ; 2041 + 2401 ; 234 + 2402 ; 1794 + 2403 ; 1650 + 2404 ; 2035 + 2405 ; 1805 + 2406 ; 1855 + 2407 ; 2314 + 2408 ; 1633 + 2409 ; 2050 + 2410 ; 2191 + 2411 ; 86 + 2412 ; 2282 + 2413 ; 2286 + 2414 ; 2259 + 2415 ; 2192 + 2416 ; 1989 + 2417 ; 2104 + 2418 ; 2410 + 2419 ; 1655 + 2420 ; 2356 + 2421 ; 244 + 2422 ; 1793 + 2423 ; 2319 + 2424 ; 2265 + 2425 ; 2406 + 2426 ; 1882 + 2427 ; 1881 + 2428 ; 2173 + 2429 ; 2099 + 2430 ; 2199 + 2431 ; 156 + 2432 ; 2048 + 2433 ; 1634 + 2434 ; 2041 + 2435 ; 2129 + 2436 ; 1720 + 2437 ; 1699 + 2438 ; 1839 + 2439 ; 2198 + 2440 ; 2149 + 2441 ; 168 + 2442 ; 2128 + 2443 ; 1627 + 2444 ; 2271 + 2445 ; 2277 + 2446 ; 2223 + 2447 ; 2227 + 2448 ; 2104 + 2449 ; 1922 + 2450 ; 2342 + 2451 ; 192 + 2452 ; 1623 + 2453 ; 1616 + 2454 ; 2087 + 2455 ; 1867 + 2456 ; 1996 + 2457 ; 2057 + 2458 ; 1988 + 2459 ; 1867 + 2460 ; 2174 + 2461 ; 280 + 2462 ; 1749 + 2463 ; 1798 + 2464 ; 2142 + 2465 ; 1779 + 2466 ; 1780 + 2467 ; 2142 + 2468 ; 2049 + 2469 ; 2128 + 2470 ; 2112 + 2471 ; 280 + 2472 ; 1790 + 2473 ; 1924 + 2474 ; 2007 + 2475 ; 1966 + 2476 ; 1927 + 2477 ; 2253 + 2478 ; 2099 + 2479 ; 1732 + 2480 ; 1760 + 2481 ; 192 + 2482 ; 2173 + 2483 ; 2126 + 2484 ; 1736 + 2485 ; 1714 + 2486 ; 2319 + 2487 ; 1908 + 2488 ; 2152 + 2489 ; 2043 + 2490 ; 2183 + 2491 ; 273 + 2492 ; 1815 + 2493 ; 2027 + 2494 ; 2141 + 2495 ; 1763 + 2496 ; 1926 + 2497 ; 2395 + 2498 ; 2237 + 2499 ; 2098 + 2500 ; 1809 + 2501 ; 131 + 2502 ; 2204 + 2503 ; 1865 + 2504 ; 1807 + 2505 ; 2240 + 2506 ; 2230 + 2507 ; 1734 + 2508 ; 2055 + 2509 ; 1686 + 2510 ; 1747 + 2511 ; 192 + 2512 ; 2065 + 2513 ; 1902 + 2514 ; 2192 + 2515 ; 2061 + 2516 ; 1628 + 2517 ; 1890 + 2518 ; 1787 + 2519 ; 1723 + 2520 ; 1645 + 2521 ; 270 + 2522 ; 1857 + 2523 ; 2229 + 2524 ; 2074 + 2525 ; 2013 + 2526 ; 2160 + 2527 ; 2359 + 2528 ; 1612 + 2529 ; 2141 + 2530 ; 2178 + 2531 ; 284 + 2532 ; 2402 + 2533 ; 1877 + 2534 ; 2123 + 2535 ; 2083 + 2536 ; 1920 + 2537 ; 2030 + 2538 ; 1717 + 2539 ; 1888 + 2540 ; 1697 + 2541 ; 172 + 2542 ; 2290 + 2543 ; 2004 + 2544 ; 1890 + 2545 ; 2115 + 2546 ; 2332 + 2547 ; 2172 + 2548 ; 1987 + 2549 ; 2311 + 2550 ; 2079 + 2551 ; 260 + 2552 ; 1850 + 2553 ; 1998 + 2554 ; 1890 + 2555 ; 2379 + 2556 ; 2361 + 2557 ; 2070 + 2558 ; 2303 + 2559 ; 2040 + 2560 ; 2042 + 2561 ; 194 + 2562 ; 2236 + 2563 ; 2352 + 2564 ; 1921 + 2565 ; 1875 + 2566 ; 2317 + 2567 ; 2383 + 2568 ; 1782 + 2569 ; 1801 + 2570 ; 1907 + 2571 ; 163 + 2572 ; 1961 + 2573 ; 2318 + 2574 ; 2059 + 2575 ; 2257 + 2576 ; 2365 + 2577 ; 1886 + 2578 ; 1818 + 2579 ; 2243 + 2580 ; 1945 + 2581 ; 179 + 2582 ; 2124 + 2583 ; 1750 + 2584 ; 2376 + 2585 ; 2052 + 2586 ; 1717 + 2587 ; 1843 + 2588 ; 2260 + 2589 ; 2229 + 2590 ; 1700 + 2591 ; 118 + 2592 ; 1819 + 2593 ; 1760 + 2594 ; 2199 + 2595 ; 1730 + 2596 ; 1692 + 2597 ; 1612 + 2598 ; 2116 + 2599 ; 1623 + 2600 ; 2407 + 2601 ; 75 + 2602 ; 2289 + 2603 ; 1879 + 2604 ; 1862 + 2605 ; 2083 + 2606 ; 1689 + 2607 ; 2387 + 2608 ; 1791 + 2609 ; 1742 + 2610 ; 1955 + 2611 ; 108 + 2612 ; 2002 + 2613 ; 1623 + 2614 ; 2018 + 2615 ; 1784 + 2616 ; 2051 + 2617 ; 2164 + 2618 ; 1658 + 2619 ; 1713 + 2620 ; 2302 + 2621 ; 269 + 2622 ; 2396 + 2623 ; 1715 + 2624 ; 2383 + 2625 ; 2373 + 2626 ; 2409 + 2627 ; 2031 + 2628 ; 2187 + 2629 ; 2018 + 2630 ; 1948 + 2631 ; 191 + 2632 ; 1811 + 2633 ; 2284 + 2634 ; 1955 + 2635 ; 2381 + 2636 ; 1620 + 2637 ; 2360 + 2638 ; 1643 + 2639 ; 2303 + 2640 ; 1654 + 2641 ; 95 + 2642 ; 1798 + 2643 ; 1892 + 2644 ; 2403 + 2645 ; 1699 + 2646 ; 1690 + 2647 ; 2262 + 2648 ; 2121 + 2649 ; 1665 + 2650 ; 2003 + 2651 ; 126 + 2652 ; 2406 + 2653 ; 2155 + 2654 ; 2228 + 2655 ; 1913 + 2656 ; 1897 + 2657 ; 2026 + 2658 ; 1917 + 2659 ; 1768 + 2660 ; 1973 + 2661 ; 110 + 2662 ; 2347 + 2663 ; 2014 + 2664 ; 2390 + 2665 ; 1982 + 2666 ; 1944 + 2667 ; 1860 + 2668 ; 2144 + 2669 ; 1729 + 2670 ; 2046 + 2671 ; 274 + 2672 ; 1615 + 2673 ; 2107 + 2674 ; 2361 + 2675 ; 1923 + 2676 ; 2117 + 2677 ; 2362 + 2678 ; 1789 + 2679 ; 1915 + 2680 ; 1832 + 2681 ; 136 + 2682 ; 2082 + 2683 ; 2341 + 2684 ; 2091 + 2685 ; 2232 + 2686 ; 2192 + 2687 ; 1883 + 2688 ; 2240 + 2689 ; 2024 + 2690 ; 1750 + 2691 ; 151 + 2692 ; 1629 + 2693 ; 2016 + 2694 ; 1652 + 2695 ; 1729 + 2696 ; 2217 + 2697 ; 2362 + 2698 ; 2222 + 2699 ; 2146 + 2700 ; 2050 + 2701 ; 107 + 2702 ; 2071 + 2703 ; 1805 + 2704 ; 1777 + 2705 ; 2409 + 2706 ; 2329 + 2707 ; 2300 + 2708 ; 1733 + 2709 ; 1931 + 2710 ; 1637 + 2711 ; 226 + 2712 ; 2311 + 2713 ; 2273 + 2714 ; 2073 + 2715 ; 2230 + 2716 ; 2169 + 2717 ; 2280 + 2718 ; 2203 + 2719 ; 1842 + 2720 ; 1666 + 2721 ; 257 + 2722 ; 1723 + 2723 ; 1756 + 2724 ; 1645 + 2725 ; 1897 + 2726 ; 2316 + 2727 ; 1701 + 2728 ; 2239 + 2729 ; 1967 + 2730 ; 2369 + 2731 ; 302 + 2732 ; 1835 + 2733 ; 2334 + 2734 ; 2018 + 2735 ; 1699 + 2736 ; 1623 + 2737 ; 2379 + 2738 ; 1735 + 2739 ; 1674 + 2740 ; 1727 + 2741 ; 269 + 2742 ; 1626 + 2743 ; 1969 + 2744 ; 1989 + 2745 ; 2144 + 2746 ; 2131 + 2747 ; 1692 + 2748 ; 2358 + 2749 ; 2370 + 2750 ; 2203 + 2751 ; 93 + 2752 ; 2067 + 2753 ; 1704 + 2754 ; 1938 + 2755 ; 2166 + 2756 ; 2293 + 2757 ; 2245 + 2758 ; 1833 + 2759 ; 1814 + 2760 ; 1762 + 2761 ; 200 + 2762 ; 2122 + 2763 ; 2096 + 2764 ; 2189 + 2765 ; 1933 + 2766 ; 1731 + 2767 ; 1681 + 2768 ; 1744 + 2769 ; 1642 + 2770 ; 1898 + 2771 ; 310 + 2772 ; 2172 + 2773 ; 2057 + 2774 ; 2002 + 2775 ; 2272 + 2776 ; 1738 + 2777 ; 2086 + 2778 ; 2068 + 2779 ; 2101 + 2780 ; 2016 + 2781 ; 280 + 2782 ; 2021 + 2783 ; 1995 + 2784 ; 2055 + 2785 ; 1719 + 2786 ; 2254 + 2787 ; 2235 + 2788 ; 1801 + 2789 ; 1849 + 2790 ; 2199 + 2791 ; 299 + 2792 ; 1887 + 2793 ; 2064 + 2794 ; 1657 + 2795 ; 1735 + 2796 ; 1895 + 2797 ; 2142 + 2798 ; 1756 + 2799 ; 1909 + 2800 ; 1869 + 2801 ; 94 + 2802 ; 1782 + 2803 ; 1944 + 2804 ; 2163 + 2805 ; 2268 + 2806 ; 2023 + 2807 ; 2193 + 2808 ; 2295 + 2809 ; 2315 + 2810 ; 2261 + 2811 ; 130 + 2812 ; 2054 + 2813 ; 1709 + 2814 ; 1878 + 2815 ; 2173 + 2816 ; 2093 + 2817 ; 2051 + 2818 ; 1810 + 2819 ; 2411 + 2820 ; 1848 + 2821 ; 92 + 2822 ; 1742 + 2823 ; 2317 + 2824 ; 1856 + 2825 ; 2115 + 2826 ; 2264 + 2827 ; 1848 + 2828 ; 2206 + 2829 ; 2222 + 2830 ; 2185 + 2831 ; 143 + 2832 ; 2237 + 2833 ; 2069 + 2834 ; 1935 + 2835 ; 1790 + 2836 ; 1721 + 2837 ; 1840 + 2838 ; 1937 + 2839 ; 1651 + 2840 ; 1695 + 2841 ; 87 + 2842 ; 2042 + 2843 ; 2257 + 2844 ; 1975 + 2845 ; 2182 + 2846 ; 1797 + 2847 ; 1750 + 2848 ; 1639 + 2849 ; 2323 + 2850 ; 2185 + 2851 ; 272 + 2852 ; 2396 + 2853 ; 2334 + 2854 ; 2189 + 2855 ; 1658 + 2856 ; 2200 + 2857 ; 1737 + 2858 ; 1621 + 2859 ; 1937 + 2860 ; 2350 + 2861 ; 95 + 2862 ; 1988 + 2863 ; 2343 + 2864 ; 1653 + 2865 ; 1780 + 2866 ; 2009 + 2867 ; 2211 + 2868 ; 2226 + 2869 ; 2140 + 2870 ; 2277 + 2871 ; 276 + 2872 ; 2280 + 2873 ; 1828 + 2874 ; 2011 + 2875 ; 1849 + 2876 ; 1616 + 2877 ; 1647 + 2878 ; 1981 + 2879 ; 1809 + 2880 ; 1838 + 2881 ; 212 + 2882 ; 1870 + 2883 ; 2373 + 2884 ; 2232 + 2885 ; 2225 + 2886 ; 1748 + 2887 ; 2147 + 2888 ; 1635 + 2889 ; 2305 + 2890 ; 2141 + 2891 ; 172 + 2892 ; 1920 + 2893 ; 1936 + 2894 ; 2209 + 2895 ; 2140 + 2896 ; 1867 + 2897 ; 1661 + 2898 ; 2275 + 2899 ; 2206 + 2900 ; 2268 + 2901 ; 169 + 2902 ; 1973 + 2903 ; 1841 + 2904 ; 2111 + 2905 ; 2203 + 2906 ; 2144 + 2907 ; 2172 + 2908 ; 2219 + 2909 ; 1824 + 2910 ; 2272 + 2911 ; 261 + 2912 ; 2224 + 2913 ; 2307 + 2914 ; 2081 + 2915 ; 1870 + 2916 ; 2268 + 2917 ; 1688 + 2918 ; 1952 + 2919 ; 2397 + 2920 ; 1776 + 2921 ; 132 + 2922 ; 2120 + 2923 ; 1624 + 2924 ; 2152 + 2925 ; 1929 + 2926 ; 2391 + 2927 ; 2128 + 2928 ; 2194 + 2929 ; 1691 + 2930 ; 1829 + 2931 ; 108 + 2932 ; 1942 + 2933 ; 2079 + 2934 ; 2298 + 2935 ; 2304 + 2936 ; 2083 + 2937 ; 2018 + 2938 ; 1962 + 2939 ; 2208 + 2940 ; 2382 + 2941 ; 84 + 2942 ; 1653 + 2943 ; 2264 + 2944 ; 2101 + 2945 ; 1976 + 2946 ; 1763 + 2947 ; 1794 + 2948 ; 1786 + 2949 ; 1845 + 2950 ; 2102 + 2951 ; 134 + 2952 ; 2316 + 2953 ; 2060 + 2954 ; 1817 + 2955 ; 2252 + 2956 ; 1706 + 2957 ; 2259 + 2958 ; 2270 + 2959 ; 2129 + 2960 ; 1762 + 2961 ; 279 + 2962 ; 1643 + 2963 ; 2213 + 2964 ; 1983 + 2965 ; 2223 + 2966 ; 2025 + 2967 ; 1908 + 2968 ; 1714 + 2969 ; 1704 + 2970 ; 2098 + 2971 ; 207 + 2972 ; 1846 + 2973 ; 2206 + 2974 ; 2110 + 2975 ; 2287 + 2976 ; 2096 + 2977 ; 2096 + 2978 ; 2221 + 2979 ; 2347 + 2980 ; 1719 + 2981 ; 202 + 2982 ; 1780 + 2983 ; 1775 + 2984 ; 2407 + 2985 ; 2156 + 2986 ; 1766 + 2987 ; 1699 + 2988 ; 2107 + 2989 ; 1646 + 2990 ; 2234 + 2991 ; 154 + 2992 ; 1651 + 2993 ; 1656 + 2994 ; 2126 + 2995 ; 1627 + 2996 ; 2375 + 2997 ; 2183 + 2998 ; 1640 + 2999 ; 2175 + 3000 ; 1918 + 3001 ; 97 + 3002 ; 2071 + 3003 ; 1900 + 3004 ; 1892 + 3005 ; 2042 + 3006 ; 1642 + 3007 ; 2352 + 3008 ; 1697 + 3009 ; 2038 + 3010 ; 1731 + 3011 ; 88 + 3012 ; 1954 + 3013 ; 2000 + 3014 ; 1967 + 3015 ; 1868 + 3016 ; 2294 + 3017 ; 2074 + 3018 ; 2027 + 3019 ; 1647 + 3020 ; 1800 + 3021 ; 265 + 3022 ; 2255 + 3023 ; 2125 + 3024 ; 1647 + 3025 ; 1908 + 3026 ; 1879 + 3027 ; 2212 + 3028 ; 1790 + 3029 ; 2367 + 3030 ; 2117 + 3031 ; 241 + 3032 ; 1837 + 3033 ; 1686 + 3034 ; 2214 + 3035 ; 2159 + 3036 ; 2295 + 3037 ; 2372 + 3038 ; 1775 + 3039 ; 1803 + 3040 ; 2143 + 3041 ; 147 + 3042 ; 2200 + 3043 ; 1794 + 3044 ; 2014 + 3045 ; 2405 + 3046 ; 2009 + 3047 ; 1772 + 3048 ; 2305 + 3049 ; 1838 + 3050 ; 1631 + 3051 ; 159 + 3052 ; 1710 + 3053 ; 2370 + 3054 ; 2175 + 3055 ; 1841 + 3056 ; 1826 + 3057 ; 2286 + 3058 ; 1744 + 3059 ; 1640 + 3060 ; 1902 + 3061 ; 76 + 3062 ; 1740 + 3063 ; 2324 + 3064 ; 2302 + 3065 ; 1882 + 3066 ; 1867 + 3067 ; 1923 + 3068 ; 1844 + 3069 ; 2125 + 3070 ; 2102 + 3071 ; 262 + 3072 ; 2347 + 3073 ; 2216 + 3074 ; 1626 + 3075 ; 2191 + 3076 ; 1664 + 3077 ; 1791 + 3078 ; 1658 + 3079 ; 2071 + 3080 ; 2186 + 3081 ; 228 + 3082 ; 2379 + 3083 ; 2284 + 3084 ; 1647 + 3085 ; 2399 + 3086 ; 2137 + 3087 ; 1704 + 3088 ; 1794 + 3089 ; 1644 + 3090 ; 2258 + 3091 ; 267 + 3092 ; 1619 + 3093 ; 2138 + 3094 ; 2073 + 3095 ; 1621 + 3096 ; 1876 + 3097 ; 1903 + 3098 ; 1648 + 3099 ; 1688 + 3100 ; 1628 + 3101 ; 151 + 3102 ; 2227 + 3103 ; 1966 + 3104 ; 2403 + 3105 ; 1857 + 3106 ; 1753 + 3107 ; 2041 + 3108 ; 1998 + 3109 ; 2271 + 3110 ; 1631 + 3111 ; 149 + 3112 ; 1804 + 3113 ; 2031 + 3114 ; 1769 + 3115 ; 1835 + 3116 ; 2169 + 3117 ; 2027 + 3118 ; 2257 + 3119 ; 2018 + 3120 ; 1907 + 3121 ; 271 + 3122 ; 2332 + 3123 ; 1719 + 3124 ; 1815 + 3125 ; 2098 + 3126 ; 2063 + 3127 ; 2235 + 3128 ; 2202 + 3129 ; 2331 + 3130 ; 1626 + 3131 ; 149 + 3132 ; 2067 + 3133 ; 2111 + 3134 ; 2189 + 3135 ; 1963 + 3136 ; 2221 + 3137 ; 1859 + 3138 ; 2227 + 3139 ; 2016 + 3140 ; 2178 + 3141 ; 196 + 3142 ; 1783 + 3143 ; 2277 + 3144 ; 1728 + 3145 ; 1954 + 3146 ; 1642 + 3147 ; 1789 + 3148 ; 2022 + 3149 ; 1773 + 3150 ; 1880 + 3151 ; 289 + 3152 ; 1975 + 3153 ; 1808 + 3154 ; 2162 + 3155 ; 1964 + 3156 ; 1930 + 3157 ; 2182 + 3158 ; 2095 + 3159 ; 1991 + 3160 ; 2375 + 3161 ; 217 + 3162 ; 1989 + 3163 ; 2035 + 3164 ; 1951 + 3165 ; 1917 + 3166 ; 2354 + 3167 ; 1662 + 3168 ; 1786 + 3169 ; 1931 + 3170 ; 1632 + 3171 ; 312 + 3172 ; 1919 + 3173 ; 1889 + 3174 ; 1975 + 3175 ; 1633 + 3176 ; 2211 + 3177 ; 2223 + 3178 ; 2317 + 3179 ; 2133 + 3180 ; 2151 + 3181 ; 165 + 3182 ; 2246 + 3183 ; 1876 + 3184 ; 1681 + 3185 ; 2258 + 3186 ; 1850 + 3187 ; 2039 + 3188 ; 2021 + 3189 ; 2295 + 3190 ; 2014 + 3191 ; 221 + 3192 ; 1635 + 3193 ; 2194 + 3194 ; 1921 + 3195 ; 2195 + 3196 ; 1681 + 3197 ; 2398 + 3198 ; 2181 + 3199 ; 1858 + 3200 ; 2066 + 3201 ; 207 + 3202 ; 1966 + 3203 ; 2245 + 3204 ; 2260 + 3205 ; 2387 + 3206 ; 2059 + 3207 ; 1850 + 3208 ; 1623 + 3209 ; 2042 + 3210 ; 1702 + 3211 ; 299 + 3212 ; 1906 + 3213 ; 2321 + 3214 ; 1614 + 3215 ; 2223 + 3216 ; 2116 + 3217 ; 1786 + 3218 ; 1970 + 3219 ; 2226 + 3220 ; 2053 + 3221 ; 256 + 3222 ; 1887 + 3223 ; 1795 + 3224 ; 1962 + 3225 ; 1874 + 3226 ; 1917 + 3227 ; 1626 + 3228 ; 1939 + 3229 ; 1879 + 3230 ; 1913 + 3231 ; 277 + 3232 ; 1808 + 3233 ; 2249 + 3234 ; 1800 + 3235 ; 2269 + 3236 ; 2104 + 3237 ; 1878 + 3238 ; 2103 + 3239 ; 2402 + 3240 ; 2194 + 3241 ; 280 + 3242 ; 1736 + 3243 ; 1838 + 3244 ; 1824 + 3245 ; 1647 + 3246 ; 1735 + 3247 ; 1696 + 3248 ; 1989 + 3249 ; 2211 + 3250 ; 1706 + 3251 ; 166 + 3252 ; 1933 + 3253 ; 1730 + 3254 ; 2224 + 3255 ; 2139 + 3256 ; 1678 + 3257 ; 2076 + 3258 ; 2034 + 3259 ; 2329 + 3260 ; 2342 + 3261 ; 104 + 3262 ; 1738 + 3263 ; 1653 + 3264 ; 2004 + 3265 ; 1615 + 3266 ; 1895 + 3267 ; 2378 + 3268 ; 2379 + 3269 ; 1654 + 3270 ; 2367 + 3271 ; 154 + 3272 ; 2123 + 3273 ; 2000 + 3274 ; 2233 + 3275 ; 1653 + 3276 ; 2309 + 3277 ; 1750 + 3278 ; 1968 + 3279 ; 2401 + 3280 ; 2016 + 3281 ; 134 + 3282 ; 1817 + 3283 ; 1808 + 3284 ; 2370 + 3285 ; 2073 + 3286 ; 2299 + 3287 ; 1848 + 3288 ; 1827 + 3289 ; 2220 + 3290 ; 1808 + 3291 ; 220 + 3292 ; 1939 + 3293 ; 2122 + 3294 ; 1771 + 3295 ; 1922 + 3296 ; 1848 + 3297 ; 1773 + 3298 ; 1709 + 3299 ; 2366 + 3300 ; 2139 + 3301 ; 85 + 3302 ; 1700 + 3303 ; 2261 + 3304 ; 2277 + 3305 ; 2053 + 3306 ; 1776 + 3307 ; 2119 + 3308 ; 2318 + 3309 ; 2025 + 3310 ; 1665 + 3311 ; 134 + 3312 ; 2048 + 3313 ; 1966 + 3314 ; 1770 + 3315 ; 2051 + 3316 ; 2311 + 3317 ; 1792 + 3318 ; 2270 + 3319 ; 1963 + 3320 ; 2180 + 3321 ; 293 + 3322 ; 1743 + 3323 ; 1729 + 3324 ; 1678 + 3325 ; 1922 + 3326 ; 2171 + 3327 ; 2263 + 3328 ; 1989 + 3329 ; 2212 + 3330 ; 2099 + 3331 ; 227 + 3332 ; 2178 + 3333 ; 1733 + 3334 ; 2155 + 3335 ; 1938 + 3336 ; 2020 + 3337 ; 2291 + 3338 ; 2390 + 3339 ; 2049 + 3340 ; 1618 + 3341 ; 296 + 3342 ; 2377 + 3343 ; 2024 + 3344 ; 2209 + 3345 ; 1988 + 3346 ; 2357 + 3347 ; 2153 + 3348 ; 1657 + 3349 ; 1906 + 3350 ; 2028 + 3351 ; 212 + 3352 ; 1854 + 3353 ; 2307 + 3354 ; 1912 + 3355 ; 1997 + 3356 ; 1631 + 3357 ; 2312 + 3358 ; 2148 + 3359 ; 2026 + 3360 ; 2014 + 3361 ; 289 + 3362 ; 1634 + 3363 ; 1739 + 3364 ; 1770 + 3365 ; 1783 + 3366 ; 1668 + 3367 ; 2020 + 3368 ; 2335 + 3369 ; 1693 + 3370 ; 1835 + 3371 ; 80 + 3372 ; 2010 + 3373 ; 2407 + 3374 ; 1642 + 3375 ; 1940 + 3376 ; 1660 + 3377 ; 2151 + 3378 ; 2258 + 3379 ; 2313 + 3380 ; 1618 + 3381 ; 272 + 3382 ; 2364 + 3383 ; 1733 + 3384 ; 2348 + 3385 ; 2164 + 3386 ; 2155 + 3387 ; 1898 + 3388 ; 2013 + 3389 ; 1618 + 3390 ; 2018 + 3391 ; 150 + 3392 ; 1665 + 3393 ; 1743 + 3394 ; 2311 + 3395 ; 1667 + 3396 ; 2212 + 3397 ; 1850 + 3398 ; 2271 + 3399 ; 1853 + 3400 ; 1896 + 3401 ; 201 + 3402 ; 2123 + 3403 ; 2220 + 3404 ; 2253 + 3405 ; 2365 + 3406 ; 1962 + 3407 ; 2077 + 3408 ; 2070 + 3409 ; 2188 + 3410 ; 2249 + 3411 ; 176 + 3412 ; 2227 + 3413 ; 2148 + 3414 ; 1734 + 3415 ; 2054 + 3416 ; 1783 + 3417 ; 2379 + 3418 ; 2412 + 3419 ; 1903 + 3420 ; 1790 + 3421 ; 257 + 3422 ; 2353 + 3423 ; 2072 + 3424 ; 2406 + 3425 ; 1864 + 3426 ; 2113 + 3427 ; 2202 + 3428 ; 2237 + 3429 ; 2069 + 3430 ; 2143 + 3431 ; 193 + 3432 ; 2050 + 3433 ; 2034 + 3434 ; 1958 + 3435 ; 2300 + 3436 ; 1984 + 3437 ; 1682 + 3438 ; 2341 + 3439 ; 1714 + 3440 ; 1871 + 3441 ; 214 + 3442 ; 2199 + 3443 ; 2228 + 3444 ; 1706 + 3445 ; 2076 + 3446 ; 2056 + 3447 ; 2386 + 3448 ; 2082 + 3449 ; 2219 + 3450 ; 1899 + 3451 ; 138 + 3452 ; 2057 + 3453 ; 1843 + 3454 ; 2162 + 3455 ; 1869 + 3456 ; 1765 + 3457 ; 2134 + 3458 ; 1782 + 3459 ; 1760 + 3460 ; 1975 + 3461 ; 128 + 3462 ; 2021 + 3463 ; 1981 + 3464 ; 2104 + 3465 ; 2110 + 3466 ; 2068 + 3467 ; 1936 + 3468 ; 2227 + 3469 ; 1685 + 3470 ; 1808 + 3471 ; 299 + 3472 ; 1965 + 3473 ; 1987 + 3474 ; 2397 + 3475 ; 1762 + 3476 ; 1980 + 3477 ; 1729 + 3478 ; 2322 + 3479 ; 1802 + 3480 ; 2040 + 3481 ; 209 + 3482 ; 1947 + 3483 ; 2048 + 3484 ; 1897 + 3485 ; 1885 + 3486 ; 2360 + 3487 ; 1625 + 3488 ; 2330 + 3489 ; 2318 + 3490 ; 2071 + 3491 ; 174 + 3492 ; 2177 + 3493 ; 2266 + 3494 ; 1772 + 3495 ; 1688 + 3496 ; 1848 + 3497 ; 2387 + 3498 ; 1986 + 3499 ; 2210 + 3500 ; 1910 + 3501 ; 90 + 3502 ; 1910 + 3503 ; 1890 + 3504 ; 1686 + 3505 ; 1875 + 3506 ; 2115 + 3507 ; 2235 + 3508 ; 1631 + 3509 ; 1880 + 3510 ; 2036 + 3511 ; 113 + 3512 ; 1784 + 3513 ; 2022 + 3514 ; 1779 + 3515 ; 1705 + 3516 ; 2391 + 3517 ; 1711 + 3518 ; 1961 + 3519 ; 2144 + 3520 ; 2006 + 3521 ; 202 + 3522 ; 1960 + 3523 ; 1953 + 3524 ; 2345 + 3525 ; 1782 + 3526 ; 2073 + 3527 ; 1865 + 3528 ; 1691 + 3529 ; 2056 + 3530 ; 1830 + 3531 ; 224 + 3532 ; 2064 + 3533 ; 2376 + 3534 ; 2351 + 3535 ; 2358 + 3536 ; 1688 + 3537 ; 2326 + 3538 ; 1818 + 3539 ; 2178 + 3540 ; 2193 + 3541 ; 77 + 3542 ; 1649 + 3543 ; 1695 + 3544 ; 1941 + 3545 ; 1847 + 3546 ; 1737 + 3547 ; 1876 + 3548 ; 1843 + 3549 ; 1815 + 3550 ; 1995 + 3551 ; 130 + 3552 ; 2044 + 3553 ; 1619 + 3554 ; 1642 + 3555 ; 1764 + 3556 ; 2170 + 3557 ; 2325 + 3558 ; 2063 + 3559 ; 2103 + 3560 ; 2073 + 3561 ; 282 + 3562 ; 1872 + 3563 ; 2350 + 3564 ; 1937 + 3565 ; 2141 + 3566 ; 2140 + 3567 ; 1693 + 3568 ; 2163 + 3569 ; 2204 + 3570 ; 2220 + 3571 ; 109 + 3572 ; 1675 + 3573 ; 1777 + 3574 ; 1837 + 3575 ; 2081 + 3576 ; 2020 + 3577 ; 1984 + 3578 ; 1708 + 3579 ; 1961 + 3580 ; 2100 + 3581 ; 215 + 3582 ; 2406 + 3583 ; 1822 + 3584 ; 2289 + 3585 ; 2401 + 3586 ; 1912 + 3587 ; 2060 + 3588 ; 2127 + 3589 ; 1995 + 3590 ; 2041 + 3591 ; 259 + 3592 ; 1843 + 3593 ; 2391 + 3594 ; 2001 + 3595 ; 2194 + 3596 ; 1946 + 3597 ; 1697 + 3598 ; 1740 + 3599 ; 2275 + 3600 ; 2290 + 3601 ; 279 + 3602 ; 2130 + 3603 ; 2064 + 3604 ; 1636 + 3605 ; 2366 + 3606 ; 2059 + 3607 ; 2380 + 3608 ; 2264 + 3609 ; 2216 + 3610 ; 2335 + 3611 ; 79 + 3612 ; 2292 + 3613 ; 2278 + 3614 ; 1681 + 3615 ; 2171 + 3616 ; 2221 + 3617 ; 1960 + 3618 ; 1969 + 3619 ; 2082 + 3620 ; 1698 + 3621 ; 268 + 3622 ; 1786 + 3623 ; 2021 + 3624 ; 1887 + 3625 ; 2239 + 3626 ; 2031 + 3627 ; 2125 + 3628 ; 2064 + 3629 ; 2180 + 3630 ; 1977 + 3631 ; 133 + 3632 ; 2098 + 3633 ; 2081 + 3634 ; 2385 + 3635 ; 2068 + 3636 ; 1970 + 3637 ; 2020 + 3638 ; 1623 + 3639 ; 2307 + 3640 ; 1764 + 3641 ; 73 + 3642 ; 2101 + 3643 ; 1975 + 3644 ; 2000 + 3645 ; 2279 + 3646 ; 1813 + 3647 ; 1930 + 3648 ; 2381 + 3649 ; 1629 + 3650 ; 1942 + 3651 ; 217 + 3652 ; 2237 + 3653 ; 1846 + 3654 ; 2287 + 3655 ; 2174 + 3656 ; 1754 + 3657 ; 1877 + 3658 ; 1794 + 3659 ; 2143 + 3660 ; 2262 + 3661 ; 132 + 3662 ; 1786 + 3663 ; 1969 + 3664 ; 2093 + 3665 ; 2407 + 3666 ; 1792 + 3667 ; 1694 + 3668 ; 1751 + 3669 ; 1712 + 3670 ; 2058 + 3671 ; 260 + 3672 ; 1614 + 3673 ; 2289 + 3674 ; 2257 + 3675 ; 1763 + 3676 ; 1902 + 3677 ; 1617 + 3678 ; 1738 + 3679 ; 1760 + 3680 ; 1615 + 3681 ; 260 + 3682 ; 2101 + 3683 ; 1815 + 3684 ; 1792 + 3685 ; 2234 + 3686 ; 1821 + 3687 ; 2174 + 3688 ; 1923 + 3689 ; 2099 + 3690 ; 1826 + 3691 ; 187 + 3692 ; 2200 + 3693 ; 1757 + 3694 ; 1620 + 3695 ; 2330 + 3696 ; 1848 + 3697 ; 1694 + 3698 ; 1683 + 3699 ; 1931 + 3700 ; 1645 + 3701 ; 261 + 3702 ; 2304 + 3703 ; 2007 + 3704 ; 1779 + 3705 ; 1887 + 3706 ; 1732 + 3707 ; 1646 + 3708 ; 2197 + 3709 ; 1903 + 3710 ; 1804 + 3711 ; 177 + 3712 ; 2279 + 3713 ; 1642 + 3714 ; 2401 + 3715 ; 1760 + 3716 ; 1815 + 3717 ; 1667 + 3718 ; 1796 + 3719 ; 2335 + 3720 ; 2404 + 3721 ; 117 + 3722 ; 2393 + 3723 ; 2018 + 3724 ; 1692 + 3725 ; 2402 + 3726 ; 1871 + 3727 ; 2393 + 3728 ; 2066 + 3729 ; 1687 + 3730 ; 2388 + 3731 ; 202 + 3732 ; 1681 + 3733 ; 2287 + 3734 ; 1722 + 3735 ; 2299 + 3736 ; 2395 + 3737 ; 1795 + 3738 ; 1668 + 3739 ; 2143 + 3740 ; 1944 + 3741 ; 168 + 3742 ; 2351 + 3743 ; 2204 + 3744 ; 2153 + 3745 ; 1984 + 3746 ; 1614 + 3747 ; 2013 + 3748 ; 1752 + 3749 ; 2299 + 3750 ; 1757 + 3751 ; 105 + 3752 ; 2081 + 3753 ; 1952 + 3754 ; 2156 + 3755 ; 1909 + 3756 ; 1724 + 3757 ; 2050 + 3758 ; 1673 + 3759 ; 2174 + 3760 ; 1654 + 3761 ; 118 + 3762 ; 1992 + 3763 ; 2154 + 3764 ; 1999 + 3765 ; 1876 + 3766 ; 2303 + 3767 ; 2176 + 3768 ; 1873 + 3769 ; 2368 + 3770 ; 1620 + 3771 ; 186 + 3772 ; 1788 + 3773 ; 1965 + 3774 ; 1842 + 3775 ; 1737 + 3776 ; 1723 + 3777 ; 1965 + 3778 ; 2260 + 3779 ; 1706 + 3780 ; 2101 + 3781 ; 144 + 3782 ; 2030 + 3783 ; 1805 + 3784 ; 2335 + 3785 ; 1790 + 3786 ; 2020 + 3787 ; 1910 + 3788 ; 1947 + 3789 ; 1910 + 3790 ; 2160 + 3791 ; 148 + 3792 ; 2111 + 3793 ; 2303 + 3794 ; 2034 + 3795 ; 2252 + 3796 ; 1829 + 3797 ; 1967 + 3798 ; 1709 + 3799 ; 1920 + 3800 ; 1698 + 3801 ; 269 + 3802 ; 1637 + 3803 ; 1914 + 3804 ; 1735 + 3805 ; 1925 + 3806 ; 2328 + 3807 ; 1945 + 3808 ; 1887 + 3809 ; 2273 + 3810 ; 1775 + 3811 ; 247 + 3812 ; 1795 + 3813 ; 1839 + 3814 ; 1973 + 3815 ; 1906 + 3816 ; 1842 + 3817 ; 1848 + 3818 ; 1698 + 3819 ; 2056 + 3820 ; 2339 + 3821 ; 150 + 3822 ; 1950 + 3823 ; 2131 + 3824 ; 2000 + 3825 ; 2189 + 3826 ; 1778 + 3827 ; 1933 + 3828 ; 2220 + 3829 ; 2317 + 3830 ; 2154 + 3831 ; 250 + 3832 ; 1879 + 3833 ; 1861 + 3834 ; 2204 + 3835 ; 1646 + 3836 ; 1666 + 3837 ; 2152 + 3838 ; 2144 + 3839 ; 1861 + 3840 ; 2002 + 3841 ; 162 + 3842 ; 1641 + 3843 ; 1636 + 3844 ; 2258 + 3845 ; 1970 + 3846 ; 2387 + 3847 ; 2287 + 3848 ; 2073 + 3849 ; 2374 + 3850 ; 1934 + 3851 ; 149 + 3852 ; 2023 + 3853 ; 1949 + 3854 ; 2290 + 3855 ; 2046 + 3856 ; 2032 + 3857 ; 1898 + 3858 ; 2082 + 3859 ; 1637 + 3860 ; 2070 + 3861 ; 200 + 3862 ; 1816 + 3863 ; 1979 + 3864 ; 1706 + 3865 ; 1976 + 3866 ; 1813 + 3867 ; 1861 + 3868 ; 2279 + 3869 ; 2018 + 3870 ; 2118 + 3871 ; 198 + 3872 ; 2178 + 3873 ; 2258 + 3874 ; 1792 + 3875 ; 2068 + 3876 ; 1776 + 3877 ; 1987 + 3878 ; 2353 + 3879 ; 1662 + 3880 ; 2031 + 3881 ; 173 + 3882 ; 2162 + 3883 ; 2071 + 3884 ; 2145 + 3885 ; 1688 + 3886 ; 1975 + 3887 ; 1872 + 3888 ; 2058 + 3889 ; 2116 + 3890 ; 1834 + 3891 ; 192 + 3892 ; 2053 + 3893 ; 2182 + 3894 ; 1736 + 3895 ; 1698 + 3896 ; 1774 + 3897 ; 2105 + 3898 ; 1668 + 3899 ; 1823 + 3900 ; 2271 + 3901 ; 237 + 3902 ; 2028 + 3903 ; 2410 + 3904 ; 2059 + 3905 ; 2201 + 3906 ; 1866 + 3907 ; 2314 + 3908 ; 1925 + 3909 ; 2306 + 3910 ; 2378 + 3911 ; 143 + 3912 ; 1894 + 3913 ; 2073 + 3914 ; 2395 + 3915 ; 1707 + 3916 ; 2090 + 3917 ; 2387 + 3918 ; 1705 + 3919 ; 1921 + 3920 ; 2044 + 3921 ; 220 + 3922 ; 1794 + 3923 ; 1704 + 3924 ; 2060 + 3925 ; 2073 + 3926 ; 2242 + 3927 ; 1924 + 3928 ; 2318 + 3929 ; 1925 + 3930 ; 2387 + 3931 ; 142 + 3932 ; 1682 + 3933 ; 1844 + 3934 ; 2138 + 3935 ; 2026 + 3936 ; 1847 + 3937 ; 2119 + 3938 ; 1621 + 3939 ; 2368 + 3940 ; 1845 + 3941 ; 103 + 3942 ; 2204 + 3943 ; 1849 + 3944 ; 2053 + 3945 ; 2152 + 3946 ; 1794 + 3947 ; 1937 + 3948 ; 1784 + 3949 ; 2243 + 3950 ; 1629 + 3951 ; 156 + 3952 ; 1713 + 3953 ; 1787 + 3954 ; 2308 + 3955 ; 2069 + 3956 ; 2025 + 3957 ; 2228 + 3958 ; 2287 + 3959 ; 1694 + 3960 ; 1904 + 3961 ; 244 + 3962 ; 2064 + 3963 ; 2040 + 3964 ; 2096 + 3965 ; 1978 + 3966 ; 2195 + 3967 ; 2095 + 3968 ; 1792 + 3969 ; 1736 + 3970 ; 2313 + 3971 ; 124 + 3972 ; 2401 + 3973 ; 2384 + 3974 ; 1924 + 3975 ; 2220 + 3976 ; 2241 + 3977 ; 2229 + 3978 ; 2406 + 3979 ; 1701 + 3980 ; 1751 + 3981 ; 233 + 3982 ; 2312 + 3983 ; 1921 + 3984 ; 2049 + 3985 ; 1930 + 3986 ; 2378 + 3987 ; 2038 + 3988 ; 2370 + 3989 ; 1726 + 3990 ; 1793 + 3991 ; 294 + 3992 ; 1967 + 3993 ; 2411 + 3994 ; 2264 + 3995 ; 1857 + 3996 ; 2221 + 3997 ; 1789 + 3998 ; 1840 + 3999 ; 2025 + 4000 ; 2054 + Last second: 74517 + Proof time target: 2013 + Average proposal time: 18 + Average proof time: 1826 + +logCount,time,lastVerifiedBlockId,numBlocks,blockFee,accProposedAt + !----------------------------- + 1;1;0;1;100000000;0 + 2;12;0;1;100000000;0 + 3;20;0;2;100000000;20 + 4;24;0;2;100000000;20 + 5;36;0;2;100000000;20 + 6;39;0;3;100000000;59 + 7;48;0;3;100000000;59 + 8;58;0;4;100000000;117 + 9;60;0;4;100000000;117 + 10;72;0;4;100000000;117 + 11;75;0;5;100000000;192 + 12;84;0;5;100000000;192 + 13;90;0;6;100000000;282 + 14;96;0;6;100000000;282 + 15;106;0;7;100000000;388 + 16;108;0;7;100000000;388 + 17;120;0;7;100000000;388 + 18;122;0;8;100000000;510 + 19;132;0;8;100000000;510 + 20;138;0;9;100000000;648 + 21;144;0;9;100000000;648 + 22;150;0;10;100000000;798 + 23;156;0;10;100000000;798 + 24;162;0;11;100000000;960 + 25;168;0;11;100000000;960 + 26;180;0;11;100000000;960 + 27;186;0;12;100000000;1146 + 28;192;0;12;100000000;1146 + 29;204;0;12;100000000;1146 + 30;206;0;13;100000000;1352 + 31;216;0;13;100000000;1352 + 32;218;0;14;100000000;1570 + 33;228;0;14;100000000;1570 + 34;239;0;15;100000000;1809 + 35;240;0;15;100000000;1809 + 36;252;0;15;100000000;1809 + 37;260;0;16;100000000;2069 + 38;264;0;16;100000000;2069 + 39;276;0;16;100000000;2069 + 40;277;0;17;100000000;2346 + 41;288;0;17;100000000;2346 + 42;297;0;18;100000000;2643 + 43;300;0;18;100000000;2643 + 44;311;0;19;100000000;2954 + 45;312;0;19;100000000;2954 + 46;324;0;19;100000000;2954 + 47;334;0;20;100000000;3288 + 48;336;0;20;100000000;3288 + 49;348;0;20;100000000;3288 + 50;349;0;21;100000000;3637 + 51;360;0;21;100000000;3637 + 52;371;1;22;94781071;3988 + 53;372;1;22;94781071;3988 + 54;384;1;22;94781071;3988 + 55;387;1;23;94781071;4375 + 56;396;1;23;94781071;4375 + 57;406;1;24;94781071;4781 + 58;408;1;24;94781071;4781 + 59;420;1;24;94781071;4781 + 60;430;1;25;94781071;5211 + 61;432;1;25;94781071;5211 + 62;444;1;25;94781071;5211 + 63;447;1;26;94781071;5658 + 64;456;1;26;94781071;5658 + 65;466;1;27;94781071;6124 + 66;468;1;27;94781071;6124 + 67;480;1;27;94781071;6124 + 68;486;1;28;94781071;6610 + 69;492;1;28;94781071;6610 + 70;504;1;28;94781071;6610 + 71;506;1;29;94781071;7116 + 72;516;1;29;94781071;7116 + 73;522;1;30;94781071;7638 + 74;528;1;30;94781071;7638 + 75;539;1;31;94781071;8177 + 76;540;1;31;94781071;8177 + 77;551;1;32;94781071;8728 + 78;552;1;32;94781071;8728 + 79;564;1;32;94781071;8728 + 80;569;1;33;94781071;9297 + 81;576;1;33;94781071;9297 + 82;588;1;33;94781071;9297 + 83;589;1;34;94781071;9886 + 84;600;1;34;94781071;9886 + 85;612;1;34;94781071;9886 + 86;613;1;35;94781071;10499 + 87;624;1;35;94781071;10499 + 88;626;1;36;94781071;11125 + 89;636;1;36;94781071;11125 + 90;645;1;37;94781071;11770 + 91;648;1;37;94781071;11770 + 92;660;1;37;94781071;11770 + 93;667;1;38;94781071;12437 + 94;672;1;38;94781071;12437 + 95;680;1;39;94781071;13117 + 96;684;1;39;94781071;13117 + 97;696;1;39;94781071;13117 + 98;698;1;40;94781071;13815 + 99;708;1;40;94781071;13815 + 100;718;1;41;94781071;14533 + 101;720;1;41;94781071;14533 + 102;732;1;41;94781071;14533 + 103;740;1;42;94781071;15273 + 104;744;1;42;94781071;15273 + 105;755;1;43;94781071;16028 + 106;756;1;43;94781071;16028 + 107;768;1;43;94781071;16028 + 108;769;1;44;94781071;16797 + 109;780;1;44;94781071;16797 + 110;791;1;45;94781071;17588 + 111;792;1;45;94781071;17588 + 112;804;1;45;94781071;17588 + 113;804;1;46;94781071;18392 + 114;816;1;46;94781071;18392 + 115;827;1;47;94781071;19219 + 116;828;1;47;94781071;19219 + 117;840;1;47;94781071;19219 + 118;846;1;48;94781071;20065 + 119;852;1;48;94781071;20065 + 120;864;1;48;94781071;20065 + 121;867;1;49;94781071;20932 + 122;876;1;49;94781071;20932 + 123;888;1;49;94781071;20932 + 124;890;1;50;94781071;21822 + 125;900;1;50;94781071;21822 + 126;912;1;50;94781071;21822 + 127;913;1;51;94781071;22735 + 128;924;1;51;94781071;22735 + 129;929;1;52;94781071;23664 + 130;936;1;52;94781071;23664 + 131;941;1;53;94781071;24605 + 132;948;1;53;94781071;24605 + 133;960;1;53;94781071;24605 + 134;965;1;54;94781071;25570 + 135;972;1;54;94781071;25570 + 136;984;1;54;94781071;25570 + 137;987;1;55;94781071;26557 + 138;996;1;55;94781071;26557 + 139;1008;1;55;94781071;26557 + 140;1008;1;56;94781071;27565 + 141;1020;1;56;94781071;27565 + 142;1027;1;57;94781071;28592 + 143;1032;1;57;94781071;28592 + 144;1042;1;58;94781071;29634 + 145;1044;1;58;94781071;29634 + 146;1056;1;58;94781071;29634 + 147;1060;1;59;94781071;30694 + 148;1068;1;59;94781071;30694 + 149;1080;1;59;94781071;30694 + 150;1083;1;60;94781071;31777 + 151;1092;1;60;94781071;31777 + 152;1104;1;60;94781071;31777 + 153;1104;1;61;94781071;32881 + 154;1116;1;61;94781071;32881 + 155;1125;1;62;94781071;34006 + 156;1128;1;62;94781071;34006 + 157;1140;1;62;94781071;34006 + 158;1148;1;63;94781071;35154 + 159;1152;1;63;94781071;35154 + 160;1164;1;63;94781071;35154 + 161;1165;1;64;94781071;36319 + 162;1176;1;64;94781071;36319 + 163;1183;1;65;94781071;37502 + 164;1188;1;65;94781071;37502 + 165;1199;1;66;94781071;38701 + 166;1200;1;66;94781071;38701 + 167;1212;1;66;94781071;38701 + 168;1218;1;67;94781071;39919 + 169;1224;1;67;94781071;39919 + 170;1236;1;67;94781071;39919 + 171;1238;1;68;94781071;41157 + 172;1248;1;68;94781071;41157 + 173;1251;1;69;94781071;42408 + 174;1260;1;69;94781071;42408 + 175;1268;1;70;94781071;43676 + 176;1272;1;70;94781071;43676 + 177;1284;1;70;94781071;43676 + 178;1288;1;71;94781071;44964 + 179;1296;1;71;94781071;44964 + 180;1305;1;72;94781071;46269 + 181;1308;1;72;94781071;46269 + 182;1320;1;72;94781071;46269 + 183;1325;1;73;94781071;47594 + 184;1332;1;73;94781071;47594 + 185;1343;1;74;94781071;48937 + 186;1344;1;74;94781071;48937 + 187;1356;1;74;94781071;48937 + 188;1360;1;75;94781071;50297 + 189;1368;1;75;94781071;50297 + 190;1372;1;76;94781071;51669 + 191;1380;1;76;94781071;51669 + 192;1390;1;77;94781071;53059 + 193;1392;1;77;94781071;53059 + 194;1404;1;77;94781071;53059 + 195;1406;1;78;94781071;54465 + 196;1416;1;78;94781071;54465 + 197;1421;1;79;94781071;55886 + 198;1428;1;79;94781071;55886 + 199;1440;1;79;94781071;55886 + 200;1443;1;80;94781071;57329 + 201;1452;1;80;94781071;57329 + 202;1464;1;80;94781071;57329 + 203;1467;1;81;94781071;58796 + 204;1476;1;81;94781071;58796 + 205;1479;1;82;94781071;60275 + 206;1488;1;82;94781071;60275 + 207;1494;1;83;94781071;61769 + 208;1500;1;83;94781071;61769 + 209;1512;1;83;94781071;61769 + 210;1514;1;84;94781071;63283 + 211;1524;1;84;94781071;63283 + 212;1526;1;85;94781071;64809 + 213;1536;1;85;94781071;64809 + 214;1548;1;85;94781071;64809 + 215;1549;1;86;94781071;66358 + 216;1560;1;86;94781071;66358 + 217;1567;1;87;94781071;67925 + 218;1572;1;87;94781071;67925 + 219;1580;1;88;94781071;69505 + 220;1584;1;88;94781071;69505 + 221;1594;1;89;94781071;71099 + 222;1596;1;89;94781071;71099 + 223;1608;1;89;94781071;71099 + 224;1610;1;90;94781071;72709 + 225;1620;1;90;94781071;72709 + 226;1632;1;90;94781071;72709 + 227;1634;1;91;94781071;74343 + 228;1644;1;91;94781071;74343 + 229;1656;1;91;94781071;74343 + 230;1658;1;92;94781071;76001 + 231;1668;1;92;94781071;76001 + 232;1680;1;92;94781071;76001 + 233;1681;1;93;94781071;77682 + 234;1692;1;93;94781071;77682 + 235;1698;1;94;94781071;79380 + 236;1704;1;94;94781071;79380 + 237;1716;1;94;94781071;79380 + 238;1717;1;95;94781071;81097 + 239;1728;1;95;94781071;81097 + 240;1740;1;95;94781071;81097 + 241;1741;1;96;94781071;82838 + 242;1752;1;96;94781071;82838 + 243;1762;1;97;94781071;84600 + 244;1764;1;97;94781071;84600 + 245;1776;1;97;94781071;84600 + 246;1781;1;98;94781071;86381 + 247;1788;1;98;94781071;86381 + 248;1800;1;98;94781071;86381 + 249;1804;1;99;94781071;88185 + 250;1812;1;99;94781071;88185 + 251;1824;1;99;94781071;88185 + 252;1826;1;100;94781071;90011 + 253;1836;1;100;94781071;90011 + 254;1839;1;101;94781071;91850 + 255;1848;1;101;94781071;91850 + 256;1860;1;101;94781071;91850 + 257;1860;1;102;94781071;93710 + 258;1872;1;102;94781071;93710 + 259;1876;1;103;94781071;95586 + 260;1884;1;103;94781071;95586 + 261;1893;1;104;94781071;97479 + 262;1896;1;104;94781071;97479 + 263;1908;1;104;94781071;97479 + 264;1908;1;105;94781071;99387 + 265;1920;1;105;94781071;99387 + 266;1931;1;106;94781071;101318 + 267;1932;1;106;94781071;101318 + 268;1944;1;106;94781071;101318 + 269;1945;1;107;94781071;103263 + 270;1956;1;107;94781071;103263 + 271;1958;1;108;94781071;105221 + 272;1968;1;108;94781071;105221 + 273;1973;1;109;94781071;107194 + 274;1980;1;109;94781071;107194 + 275;1987;1;110;94781071;109181 + 276;1992;1;110;94781071;109181 + 277;2003;1;111;94781071;111184 + 278;2004;1;111;94781071;111184 + 279;2016;1;111;94781071;111184 + 280;2019;1;112;94781071;113203 + 281;2028;1;112;94781071;113203 + 282;2032;1;113;94781071;115235 + 283;2040;1;113;94781071;115235 + 284;2046;1;114;94781071;117281 + 285;2052;1;114;94781071;117281 + 286;2064;1;114;94781071;117281 + 287;2070;1;115;94781071;119351 + 288;2076;1;115;94781071;119351 + 289;2088;1;115;94781071;119351 + 290;2088;1;116;94781071;121439 + 291;2100;1;116;94781071;121439 + 292;2112;1;116;94781071;121439 + 293;2112;1;117;94781071;123551 + 294;2124;1;117;94781071;123551 + 295;2125;1;118;94781071;125676 + 296;2136;1;118;94781071;125676 + 297;2142;1;119;94781071;127818 + 298;2148;1;119;94781071;127818 + 299;2159;1;120;94781071;129977 + 300;2160;1;120;94781071;129977 + 301;2172;1;120;94781071;129977 + 302;2179;1;121;94781071;132156 + 303;2184;1;121;94781071;132156 + 304;2196;1;121;94781071;132156 + 305;2200;1;122;94781071;134356 + 306;2208;1;122;94781071;134356 + 307;2220;1;122;94781071;134356 + 308;2220;1;123;94781071;136576 + 309;2232;1;123;94781071;136576 + 310;2238;1;124;94781071;138814 + 311;2244;1;124;94781071;138814 + 312;2256;1;124;94781071;138814 + 313;2259;1;125;94781071;141073 + 314;2268;1;125;94781071;141073 + 315;2279;1;126;94781071;143352 + 316;2280;1;126;94781071;143352 + 317;2292;1;126;94781071;143352 + 318;2296;1;127;94781071;145648 + 319;2304;1;127;94781071;145648 + 320;2310;1;128;94781071;147958 + 321;2316;1;128;94781071;147958 + 322;2328;1;128;94781071;147958 + 323;2330;1;129;94781071;150288 + 324;2340;1;129;94781071;150288 + 325;2349;1;130;94781071;152637 + 326;2352;1;130;94781071;152637 + 327;2364;1;130;94781071;152637 + 328;2371;1;131;94781071;155008 + 329;2376;1;131;94781071;155008 + 330;2388;1;131;94781071;155008 + 331;2389;1;132;94781071;157397 + 332;2400;1;132;94781071;157397 + 333;2409;1;133;94781071;159806 + 334;2412;1;133;94781071;159806 + 335;2423;1;134;94781071;162229 + 336;2424;1;134;94781071;162229 + 337;2436;1;134;94781071;162229 + 338;2439;1;135;94781071;164668 + 339;2448;1;135;94781071;164668 + 340;2453;1;136;94781071;167121 + 341;2460;1;136;94781071;167121 + 342;2472;1;136;94781071;167121 + 343;2475;3;137;95327051;169499 + 344;2484;3;137;95327051;169499 + 345;2496;3;137;95327051;169499 + 346;2498;3;138;95327051;171997 + 347;2508;3;138;95327051;171997 + 348;2519;9;139;94934219;173835 + 349;2520;9;139;94934219;173835 + 350;2532;9;139;94934219;173835 + 351;2532;9;140;94934219;176367 + 352;2544;9;140;94934219;176367 + 353;2552;9;141;94934219;178919 + 354;2556;9;141;94934219;178919 + 355;2565;9;142;94934219;181484 + 356;2568;9;142;94934219;181484 + 357;2580;9;142;94934219;181484 + 358;2582;9;143;94934219;184066 + 359;2592;18;143;90538361;181910 + 360;2604;18;143;90538361;181910 + 361;2606;21;144;85190348;183462 + 362;2616;21;144;85190348;183462 + 363;2623;23;145;84739251;185292 + 364;2628;23;145;84739251;185292 + 365;2640;23;145;84739251;185292 + 366;2642;23;146;84739251;187934 + 367;2652;23;146;84739251;187934 + 368;2663;23;147;84739251;190597 + 369;2664;23;147;84739251;190597 + 370;2676;23;147;84739251;190597 + 371;2685;23;148;84739251;193282 + 372;2688;23;148;84739251;193282 + 373;2700;23;148;84739251;193282 + 374;2702;23;149;84739251;195984 + 375;2712;23;149;84739251;195984 + 376;2717;23;150;84739251;198701 + 377;2724;23;150;84739251;198701 + 378;2731;27;151;84726097;199603 + 379;2736;27;151;84726097;199603 + 380;2748;27;151;84726097;199603 + 381;2754;27;152;84726097;202357 + 382;2760;27;152;84726097;202357 + 383;2772;27;152;84726097;202357 + 384;2772;27;153;84726097;205129 + 385;2784;27;153;84726097;205129 + 386;2789;27;154;84726097;207918 + 387;2796;27;154;84726097;207918 + 388;2804;27;155;84726097;210722 + 389;2808;27;155;84726097;210722 + 390;2820;33;155;79939525;207446 + 391;2823;33;156;79939525;210269 + 392;2832;33;156;79939525;210269 + 393;2838;33;157;79939525;213107 + 394;2844;33;157;79939525;213107 + 395;2856;33;157;79939525;213107 + 396;2857;33;158;79939525;215964 + 397;2868;33;158;79939525;215964 + 398;2877;33;159;79939525;218841 + 399;2880;33;159;79939525;218841 + 400;2892;33;159;79939525;218841 + 401;2895;33;160;79939525;221736 + 402;2904;33;160;79939525;221736 + 403;2910;33;161;79939525;224646 + 404;2916;33;161;79939525;224646 + 405;2928;33;161;79939525;224646 + 406;2934;33;162;79939525;227580 + 407;2940;33;162;79939525;227580 + 408;2952;33;162;79939525;227580 + 409;2958;33;163;79939525;230538 + 410;2964;33;163;79939525;230538 + 411;2976;33;163;79939525;230538 + 412;2977;33;164;79939525;233515 + 413;2988;33;164;79939525;233515 + 414;2999;33;165;79939525;236514 + 415;3000;33;165;79939525;236514 + 416;3012;33;165;79939525;236514 + 417;3020;34;166;80737716;238921 + 418;3024;34;166;80737716;238921 + 419;3036;34;166;80737716;238921 + 420;3036;34;167;80737716;241957 + 421;3048;34;167;80737716;241957 + 422;3048;34;168;80737716;245005 + 423;3060;34;168;80737716;245005 + 424;3067;34;169;80737716;248072 + 425;3072;34;169;80737716;248072 + 426;3081;34;170;80737716;251153 + 427;3084;34;170;80737716;251153 + 428;3093;43;171;77406707;247948 + 429;3096;43;171;77406707;247948 + 430;3106;43;172;77406707;251054 + 431;3108;43;172;77406707;251054 + 432;3120;43;172;77406707;251054 + 433;3130;43;173;77406707;254184 + 434;3132;43;173;77406707;254184 + 435;3144;43;173;77406707;254184 + 436;3150;43;174;77406707;257334 + 437;3156;43;174;77406707;257334 + 438;3168;43;174;77406707;257334 + 439;3171;43;175;77406707;260505 + 440;3180;46;175;77949352;258083 + 441;3187;46;176;77949352;261270 + 442;3192;46;176;77949352;261270 + 443;3199;46;177;77949352;264469 + 444;3204;46;177;77949352;264469 + 445;3216;46;177;77949352;264469 + 446;3222;46;178;77949352;267691 + 447;3228;46;178;77949352;267691 + 448;3240;46;178;77949352;267691 + 449;3242;46;179;77949352;270933 + 450;3252;46;179;77949352;270933 + 451;3260;56;180;72703327;264820 + 452;3264;56;180;72703327;264820 + 453;3275;57;181;72881873;267053 + 454;3276;57;181;72881873;267053 + 455;3288;57;181;72881873;267053 + 456;3292;57;182;72881873;270345 + 457;3300;57;182;72881873;270345 + 458;3305;57;183;72881873;273650 + 459;3312;57;183;72881873;273650 + 460;3323;57;184;72881873;276973 + 461;3324;57;184;72881873;276973 + 462;3336;57;184;72881873;276973 + 463;3346;57;185;72881873;280319 + 464;3348;57;185;72881873;280319 + 465;3360;57;185;72881873;280319 + 466;3365;57;186;72881873;283684 + 467;3372;57;186;72881873;283684 + 468;3384;57;186;72881873;283684 + 469;3384;59;187;72927144;284925 + 470;3396;59;187;72927144;284925 + 471;3407;59;188;72927144;288332 + 472;3408;59;188;72927144;288332 + 473;3419;59;189;72927144;291751 + 474;3420;59;189;72927144;291751 + 475;3432;59;189;72927144;291751 + 476;3440;68;190;68593847;284560 + 477;3444;68;190;68593847;284560 + 478;3456;68;190;68593847;284560 + 479;3458;68;191;68593847;288018 + 480;3468;68;191;68593847;288018 + 481;3480;68;191;68593847;288018 + 482;3482;68;192;68593847;291500 + 483;3492;68;192;68593847;291500 + 484;3504;68;192;68593847;291500 + 485;3505;68;193;68593847;295005 + 486;3516;68;193;68593847;295005 + 487;3520;68;194;68593847;298525 + 488;3528;68;194;68593847;298525 + 489;3535;68;195;68593847;302060 + 490;3540;68;195;68593847;302060 + 491;3552;68;195;68593847;302060 + 492;3552;68;196;68593847;305612 + 493;3564;68;196;68593847;305612 + 494;3572;68;197;68593847;309184 + 495;3576;68;197;68593847;309184 + 496;3588;68;197;68593847;309184 + 497;3588;68;198;68593847;312772 + 498;3600;68;198;68593847;312772 + 499;3607;68;199;68593847;316379 + 500;3612;68;199;68593847;316379 + 501;3624;68;199;68593847;316379 + 502;3630;68;200;68593847;320009 + 503;3636;68;200;68593847;320009 + 504;3648;68;200;68593847;320009 + 505;3652;68;201;68593847;323661 + 506;3660;68;201;68593847;323661 + 507;3666;68;202;68593847;327327 + 508;3672;68;202;68593847;327327 + 509;3682;68;203;68593847;331009 + 510;3684;68;203;68593847;331009 + 511;3696;73;203;65000589;324480 + 512;3706;73;204;65000589;328186 + 513;3708;73;204;65000589;328186 + 514;3718;73;205;65000589;331904 + 515;3720;73;205;65000589;331904 + 516;3732;73;205;65000589;331904 + 517;3741;75;206;65476589;332913 + 518;3744;75;206;65476589;332913 + 519;3756;75;206;65476589;332913 + 520;3761;75;207;65476589;336674 + 521;3768;75;207;65476589;336674 + 522;3780;75;207;65476589;336674 + 523;3784;75;208;65476589;340458 + 524;3792;75;208;65476589;340458 + 525;3800;75;209;65476589;344258 + 526;3804;75;209;65476589;344258 + 527;3816;75;209;65476589;344258 + 528;3816;77;210;65397353;345278 + 529;3828;77;210;65397353;345278 + 530;3832;85;211;61039656;337217 + 531;3840;85;211;61039656;337217 + 532;3850;85;212;61039656;341067 + 533;3852;85;212;61039656;341067 + 534;3863;85;213;61039656;344930 + 535;3864;85;213;61039656;344930 + 536;3876;85;213;61039656;344930 + 537;3881;85;214;61039656;348811 + 538;3888;85;214;61039656;348811 + 539;3897;85;215;61039656;352708 + 540;3900;85;215;61039656;352708 + 541;3912;85;215;61039656;352708 + 542;3920;85;216;61039656;356628 + 543;3924;85;216;61039656;356628 + 544;3936;85;216;61039656;356628 + 545;3938;85;217;61039656;360566 + 546;3948;85;217;61039656;360566 + 547;3954;85;218;61039656;364520 + 548;3960;85;218;61039656;364520 + 549;3967;85;219;61039656;368487 + 550;3972;85;219;61039656;368487 + 551;3981;88;220;61161068;367727 + 552;3984;88;220;61161068;367727 + 553;3996;88;220;61161068;367727 + 554;3997;94;221;58957207;361726 + 555;4008;94;221;58957207;361726 + 556;4017;94;222;58957207;365743 + 557;4020;94;222;58957207;365743 + 558;4032;94;222;58957207;365743 + 559;4036;94;223;58957207;369779 + 560;4044;94;223;58957207;369779 + 561;4052;94;224;58957207;373831 + 562;4056;94;224;58957207;373831 + 563;4064;94;225;58957207;377895 + 564;4068;94;225;58957207;377895 + 565;4080;94;225;58957207;377895 + 566;4086;94;226;58957207;381981 + 567;4092;94;226;58957207;381981 + 568;4104;95;226;59464600;380240 + 569;4110;95;227;59464600;384350 + 570;4116;95;227;59464600;384350 + 571;4128;95;227;59464600;384350 + 572;4128;97;228;60273175;384935 + 573;4140;97;228;60273175;384935 + 574;4145;97;229;60273175;389080 + 575;4152;97;229;60273175;389080 + 576;4164;97;229;60273175;389080 + 577;4168;97;230;60273175;393248 + 578;4176;97;230;60273175;393248 + 579;4185;97;231;60273175;397433 + 580;4188;97;231;60273175;397433 + 581;4197;107;232;56617892;382790 + 582;4200;107;232;56617892;382790 + 583;4209;109;233;56917522;383039 + 584;4212;109;233;56917522;383039 + 585;4221;109;234;56917522;387260 + 586;4224;109;234;56917522;387260 + 587;4235;109;235;56917522;391495 + 588;4236;109;235;56917522;391495 + 589;4248;109;235;56917522;391495 + 590;4249;109;236;56917522;395744 + 591;4260;109;236;56917522;395744 + 592;4270;109;237;56917522;400014 + 593;4272;109;237;56917522;400014 + 594;4284;109;237;56917522;400014 + 595;4289;109;238;56917522;404303 + 596;4296;109;238;56917522;404303 + 597;4308;109;238;56917522;404303 + 598;4309;109;239;56917522;408612 + 599;4320;109;239;56917522;408612 + 600;4330;109;240;56917522;412942 + 601;4332;109;240;56917522;412942 + 602;4344;109;240;56917522;412942 + 603;4349;109;241;56917522;417291 + 604;4356;109;241;56917522;417291 + 605;4368;109;241;56917522;417291 + 606;4372;109;242;56917522;421663 + 607;4380;109;242;56917522;421663 + 608;4392;109;242;56917522;421663 + 609;4395;114;243;54493078;415888 + 610;4404;114;243;54493078;415888 + 611;4416;114;243;54493078;415888 + 612;4417;114;244;54493078;420305 + 613;4428;114;244;54493078;420305 + 614;4431;114;245;54493078;424736 + 615;4440;114;245;54493078;424736 + 616;4452;114;245;54493078;424736 + 617;4452;114;246;54493078;429188 + 618;4464;114;246;54493078;429188 + 619;4475;114;247;54493078;433663 + 620;4476;114;247;54493078;433663 + 621;4488;114;247;54493078;433663 + 622;4492;114;248;54493078;438155 + 623;4500;114;248;54493078;438155 + 624;4512;114;248;54493078;438155 + 625;4514;114;249;54493078;442669 + 626;4524;114;249;54493078;442669 + 627;4530;114;250;54493078;447199 + 628;4536;114;250;54493078;447199 + 629;4548;114;250;54493078;447199 + 630;4551;117;251;55979887;445425 + 631;4560;117;251;55979887;445425 + 632;4568;117;252;55979887;449993 + 633;4572;117;252;55979887;449993 + 634;4583;117;253;55979887;454576 + 635;4584;117;253;55979887;454576 + 636;4596;117;253;55979887;454576 + 637;4606;126;254;51689813;439210 + 638;4608;126;254;51689813;439210 + 639;4620;126;254;51689813;439210 + 640;4623;126;255;51689813;443833 + 641;4632;126;255;51689813;443833 + 642;4636;126;256;51689813;448469 + 643;4644;126;256;51689813;448469 + 644;4651;126;257;51689813;453120 + 645;4656;126;257;51689813;453120 + 646;4665;126;258;51689813;457785 + 647;4668;126;258;51689813;457785 + 648;4680;126;258;51689813;457785 + 649;4688;126;259;51689813;462473 + 650;4692;126;259;51689813;462473 + 651;4704;126;259;51689813;462473 + 652;4704;126;260;51689813;467177 + 653;4716;126;260;51689813;467177 + 654;4717;126;261;51689813;471894 + 655;4728;131;261;48980544;460145 + 656;4738;131;262;48980544;464883 + 657;4740;131;262;48980544;464883 + 658;4752;131;262;48980544;464883 + 659;4758;131;263;48980544;469641 + 660;4764;131;263;48980544;469641 + 661;4776;131;263;48980544;469641 + 662;4780;131;264;48980544;474421 + 663;4788;131;264;48980544;474421 + 664;4792;131;265;48980544;479213 + 665;4800;131;265;48980544;479213 + 666;4809;131;266;48980544;484022 + 667;4812;131;266;48980544;484022 + 668;4824;131;266;48980544;484022 + 669;4828;136;267;48191611;476651 + 670;4836;136;267;48191611;476651 + 671;4848;136;267;48191611;476651 + 672;4852;136;268;48191611;481503 + 673;4860;136;268;48191611;481503 + 674;4870;136;269;48191611;486373 + 675;4872;136;269;48191611;486373 + 676;4883;136;270;48191611;491256 + 677;4884;136;270;48191611;491256 + 678;4896;136;270;48191611;491256 + 679;4906;136;271;48191611;496162 + 680;4908;136;271;48191611;496162 + 681;4920;136;271;48191611;496162 + 682;4922;136;272;48191611;501084 + 683;4932;136;272;48191611;501084 + 684;4937;141;273;46002964;493355 + 685;4944;141;273;46002964;493355 + 686;4953;141;274;46002964;498308 + 687;4956;141;274;46002964;498308 + 688;4967;141;275;46002964;503275 + 689;4968;141;275;46002964;503275 + 690;4980;141;275;46002964;503275 + 691;4985;147;276;45478925;492459 + 692;4992;147;276;45478925;492459 + 693;5004;147;276;45478925;492459 + 694;5008;147;277;45478925;497467 + 695;5016;147;277;45478925;497467 + 696;5028;147;277;45478925;497467 + 697;5028;147;278;45478925;502495 + 698;5040;147;278;45478925;502495 + 699;5040;147;279;45478925;507535 + 700;5052;147;279;45478925;507535 + 701;5058;147;280;45478925;512593 + 702;5064;147;280;45478925;512593 + 703;5070;147;281;45478925;517663 + 704;5076;147;281;45478925;517663 + 705;5082;147;282;45478925;522745 + 706;5088;147;282;45478925;522745 + 707;5100;147;282;45478925;522745 + 708;5106;147;283;45478925;527851 + 709;5112;147;283;45478925;527851 + 710;5122;147;284;45478925;532973 + 711;5124;147;284;45478925;532973 + 712;5136;147;284;45478925;532973 + 713;5139;157;285;43666268;510325 + 714;5148;157;285;43666268;510325 + 715;5151;158;286;43797975;512599 + 716;5160;158;286;43797975;512599 + 717;5167;158;287;43797975;517766 + 718;5172;158;287;43797975;517766 + 719;5184;158;287;43797975;517766 + 720;5189;158;288;43797975;522955 + 721;5196;158;288;43797975;522955 + 722;5206;158;289;43797975;528161 + 723;5208;158;289;43797975;528161 + 724;5220;158;289;43797975;528161 + 725;5222;158;290;43797975;533383 + 726;5232;158;290;43797975;533383 + 727;5244;158;290;43797975;533383 + 728;5244;158;291;43797975;538627 + 729;5256;158;291;43797975;538627 + 730;5261;158;292;43797975;543888 + 731;5268;158;292;43797975;543888 + 732;5274;158;293;43797975;549162 + 733;5280;158;293;43797975;549162 + 734;5292;158;293;43797975;549162 + 735;5293;158;294;43797975;554455 + 736;5304;158;294;43797975;554455 + 737;5308;163;295;40563454;545089 + 738;5316;163;295;40563454;545089 + 739;5328;163;295;40563454;545089 + 740;5332;163;296;40563454;550421 + 741;5340;163;296;40563454;550421 + 742;5351;163;297;40563454;555772 + 743;5352;163;297;40563454;555772 + 744;5364;163;297;40563454;555772 + 745;5364;163;298;40563454;561136 + 746;5376;163;298;40563454;561136 + 747;5386;163;299;40563454;566522 + 748;5388;163;299;40563454;566522 + 749;5400;163;299;40563454;566522 + 750;5407;167;300;40443985;559826 + 751;5412;167;300;40443985;559826 + 752;5423;167;301;40443985;565249 + 753;5424;167;301;40443985;565249 + 754;5436;167;301;40443985;565249 + 755;5436;167;302;40443985;570685 + 756;5448;167;302;40443985;570685 + 757;5451;167;303;40443985;576136 + 758;5460;167;303;40443985;576136 + 759;5469;175;304;38052636;556620 + 760;5472;175;304;38052636;556620 + 761;5484;175;304;38052636;556620 + 762;5489;175;305;38052636;562109 + 763;5496;175;305;38052636;562109 + 764;5505;175;306;38052636;567614 + 765;5508;175;306;38052636;567614 + 766;5520;175;306;38052636;567614 + 767;5525;175;307;38052636;573139 + 768;5532;175;307;38052636;573139 + 769;5544;175;307;38052636;573139 + 770;5549;175;308;38052636;578688 + 771;5556;175;308;38052636;578688 + 772;5568;175;308;38052636;578688 + 773;5570;175;309;38052636;584258 + 774;5580;175;309;38052636;584258 + 775;5592;175;309;38052636;584258 + 776;5594;175;310;38052636;589852 + 777;5604;175;310;38052636;589852 + 778;5613;175;311;38052636;595465 + 779;5616;175;311;38052636;595465 + 780;5628;175;311;38052636;595465 + 781;5628;175;312;38052636;601093 + 782;5640;175;312;38052636;601093 + 783;5643;175;313;38052636;606736 + 784;5652;175;313;38052636;606736 + 785;5657;185;314;36118652;579564 + 786;5664;185;314;36118652;579564 + 787;5670;185;315;36118652;585234 + 788;5676;185;315;36118652;585234 + 789;5682;185;316;36118652;590916 + 790;5688;185;316;36118652;590916 + 791;5700;185;316;36118652;590916 + 792;5700;185;317;36118652;596616 + 793;5712;185;317;36118652;596616 + 794;5716;185;318;36118652;602332 + 795;5724;185;318;36118652;602332 + 796;5728;185;319;36118652;608060 + 797;5736;185;319;36118652;608060 + 798;5740;185;320;36118652;613800 + 799;5748;185;320;36118652;613800 + 800;5760;185;320;36118652;613800 + 801;5761;185;321;36118652;619561 + 802;5772;185;321;36118652;619561 + 803;5776;185;322;36118652;625337 + 804;5784;185;322;36118652;625337 + 805;5796;185;322;36118652;625337 + 806;5800;185;323;36118652;631137 + 807;5808;185;323;36118652;631137 + 808;5820;187;323;36689431;624346 + 809;5824;187;324;36689431;630170 + 810;5832;187;324;36689431;630170 + 811;5844;194;324;35258830;605811 + 812;5845;194;325;35258830;611656 + 813;5856;194;325;35258830;611656 + 814;5868;194;325;35258830;611656 + 815;5868;194;326;35258830;617524 + 816;5880;194;326;35258830;617524 + 817;5880;194;327;35258830;623404 + 818;5892;194;327;35258830;623404 + 819;5901;194;328;35258830;629305 + 820;5904;194;328;35258830;629305 + 821;5916;194;328;35258830;629305 + 822;5920;194;329;35258830;635225 + 823;5928;194;329;35258830;635225 + 824;5940;194;329;35258830;635225 + 825;5944;194;330;35258830;641169 + 826;5952;194;330;35258830;641169 + 827;5964;194;330;35258830;641169 + 828;5964;194;331;35258830;647133 + 829;5976;194;331;35258830;647133 + 830;5987;199;332;35497187;635171 + 831;5988;199;332;35497187;635171 + 832;6000;199;332;35497187;635171 + 833;6003;208;333;33145238;607664 + 834;6012;208;333;33145238;607664 + 835;6020;214;334;30642202;590545 + 836;6024;214;334;30642202;590545 + 837;6036;214;334;30642202;590545 + 838;6044;214;335;30642202;596589 + 839;6048;214;335;30642202;596589 + 840;6060;214;335;30642202;596589 + 841;6067;214;336;30642202;602656 + 842;6072;214;336;30642202;602656 + 843;6080;214;337;30642202;608736 + 844;6084;214;337;30642202;608736 + 845;6096;214;337;30642202;608736 + 846;6103;214;338;30642202;614839 + 847;6108;214;338;30642202;614839 + 848;6120;214;338;30642202;614839 + 849;6125;214;339;30642202;620964 + 850;6132;214;339;30642202;620964 + 851;6137;214;340;30642202;627101 + 852;6144;214;340;30642202;627101 + 853;6152;214;341;30642202;633253 + 854;6156;214;341;30642202;633253 + 855;6168;214;341;30642202;633253 + 856;6174;214;342;30642202;639427 + 857;6180;214;342;30642202;639427 + 858;6186;214;343;30642202;645613 + 859;6192;214;343;30642202;645613 + 860;6198;214;344;30642202;651811 + 861;6204;214;344;30642202;651811 + 862;6216;214;344;30642202;651811 + 863;6221;217;345;30920309;646220 + 864;6228;217;345;30920309;646220 + 865;6236;217;346;30920309;652456 + 866;6240;217;346;30920309;652456 + 867;6252;217;346;30920309;652456 + 868;6252;217;347;30920309;658708 + 869;6264;217;347;30920309;658708 + 870;6275;217;348;30920309;664983 + 871;6276;217;348;30920309;664983 + 872;6288;217;348;30920309;664983 + 873;6297;217;349;30920309;671280 + 874;6300;217;349;30920309;671280 + 875;6312;217;349;30920309;671280 + 876;6314;217;350;30920309;677594 + 877;6324;217;350;30920309;677594 + 878;6327;217;351;30920309;683921 + 879;6336;217;351;30920309;683921 + 880;6346;217;352;30920309;690267 + 881;6348;217;352;30920309;690267 + 882;6360;217;352;30920309;690267 + 883;6360;217;353;30920309;696627 + 884;6372;217;353;30920309;696627 + 885;6373;217;354;30920309;703000 + 886;6384;217;354;30920309;703000 + 887;6390;217;355;30920309;709390 + 888;6396;217;355;30920309;709390 + 889;6408;217;355;30920309;709390 + 890;6414;217;356;30920309;715804 + 891;6420;217;356;30920309;715804 + 892;6432;217;356;30920309;715804 + 893;6436;227;357;29391677;681802 + 894;6444;228;357;29409020;677657 + 895;6451;228;358;29409020;684108 + 896;6456;228;358;29409020;684108 + 897;6468;228;358;29409020;684108 + 898;6470;228;359;29409020;690578 + 899;6480;228;359;29409020;690578 + 900;6491;228;360;29409020;697069 + 901;6492;228;360;29409020;697069 + 902;6504;228;360;29409020;697069 + 903;6510;228;361;29409020;703579 + 904;6516;228;361;29409020;703579 + 905;6528;228;361;29409020;703579 + 906;6534;231;362;28017666;697563 + 907;6540;231;362;28017666;697563 + 908;6552;231;362;28017666;697563 + 909;6556;231;363;28017666;704119 + 910;6564;231;363;28017666;704119 + 911;6568;231;364;28017666;710687 + 912;6576;231;364;28017666;710687 + 913;6588;231;364;28017666;710687 + 914;6591;231;365;28017666;717278 + 915;6600;231;365;28017666;717278 + 916;6612;231;365;28017666;717278 + 917;6615;231;366;28017666;723893 + 918;6624;231;366;28017666;723893 + 919;6636;231;366;28017666;723893 + 920;6638;231;367;28017666;730531 + 921;6648;231;367;28017666;730531 + 922;6660;231;367;28017666;730531 + 923;6661;231;368;28017666;737192 + 924;6672;231;368;28017666;737192 + 925;6674;239;369;28869819;709754 + 926;6684;239;369;28869819;709754 + 927;6686;239;370;28869819;716440 + 928;6696;239;370;28869819;716440 + 929;6705;239;371;28869819;723145 + 930;6708;239;371;28869819;723145 + 931;6720;239;371;28869819;723145 + 932;6729;239;372;28869819;729874 + 933;6732;239;372;28869819;729874 + 934;6744;239;372;28869819;729874 + 935;6746;239;373;28869819;736620 + 936;6756;241;373;27594642;727899 + 937;6768;241;373;27594642;727899 + 938;6769;241;374;27594642;734668 + 939;6780;241;374;27594642;734668 + 940;6783;241;375;27594642;741451 + 941;6792;241;375;27594642;741451 + 942;6797;245;376;27290466;730553 + 943;6804;245;376;27290466;730553 + 944;6810;245;377;27290466;737363 + 945;6816;245;377;27290466;737363 + 946;6822;252;378;25655334;712472 + 947;6828;252;378;25655334;712472 + 948;6840;252;378;25655334;712472 + 949;6846;252;379;25655334;719318 + 950;6852;252;379;25655334;719318 + 951;6864;257;379;25438005;696137 + 952;6865;257;380;25438005;703002 + 953;6876;257;380;25438005;703002 + 954;6880;257;381;25438005;709882 + 955;6888;257;381;25438005;709882 + 956;6894;257;382;25438005;716776 + 957;6900;257;382;25438005;716776 + 958;6912;257;382;25438005;716776 + 959;6917;257;383;25438005;723693 + 960;6924;257;383;25438005;723693 + 961;6936;257;383;25438005;723693 + 962;6937;257;384;25438005;730630 + 963;6948;257;384;25438005;730630 + 964;6957;261;385;24383962;718740 + 965;6960;261;385;24383962;718740 + 966;6969;261;386;24383962;725709 + 967;6972;261;386;24383962;725709 + 968;6984;261;386;24383962;725709 + 969;6985;261;387;24383962;732694 + 970;6996;261;387;24383962;732694 + 971;7003;261;388;24383962;739697 + 972;7008;261;388;24383962;739697 + 973;7017;261;389;24383962;746714 + 974;7020;261;389;24383962;746714 + 975;7032;261;389;24383962;746714 + 976;7032;261;390;24383962;753746 + 977;7044;263;390;24646558;744208 + 978;7052;263;391;24646558;751260 + 979;7056;263;391;24646558;751260 + 980;7068;263;391;24646558;751260 + 981;7069;263;392;24646558;758329 + 982;7080;263;392;24646558;758329 + 983;7084;263;393;24646558;765413 + 984;7092;263;393;24646558;765413 + 985;7096;263;394;24646558;772509 + 986;7104;263;394;24646558;772509 + 987;7112;263;395;24646558;779621 + 988;7116;263;395;24646558;779621 + 989;7128;263;395;24646558;779621 + 990;7131;263;396;24646558;786752 + 991;7140;263;396;24646558;786752 + 992;7145;263;397;24646558;793897 + 993;7152;263;397;24646558;793897 + 994;7164;263;397;24646558;793897 + 995;7169;263;398;24646558;801066 + 996;7176;263;398;24646558;801066 + 997;7188;263;398;24646558;801066 + 998;7188;263;399;24646558;808254 + 999;7200;263;399;24646558;808254 + 1000;7201;263;400;24646558;815455 + 1001;7212;263;400;24646558;815455 + 1002;7217;271;401;23670832;783810 + 1003;7224;271;401;23670832;783810 + 1004;7236;271;401;23670832;783810 + 1005;7241;271;402;23670832;791051 + 1006;7248;271;402;23670832;791051 + 1007;7260;271;402;23670832;791051 + 1008;7264;271;403;23670832;798315 + 1009;7272;271;403;23670832;798315 + 1010;7278;271;404;23670832;805593 + 1011;7284;271;404;23670832;805593 + 1012;7296;271;404;23670832;805593 + 1013;7296;271;405;23670832;812889 + 1014;7308;271;405;23670832;812889 + 1015;7313;271;406;23670832;820202 + 1016;7320;271;406;23670832;820202 + 1017;7332;271;406;23670832;820202 + 1018;7337;271;407;23670832;827539 + 1019;7344;271;407;23670832;827539 + 1020;7353;281;408;21587027;784764 + 1021;7356;281;408;21587027;784764 + 1022;7366;282;409;21482056;787024 + 1023;7368;282;409;21482056;787024 + 1024;7380;282;409;21482056;787024 + 1025;7382;282;410;21482056;794406 + 1026;7392;282;410;21482056;794406 + 1027;7395;282;411;21482056;801801 + 1028;7404;282;411;21482056;801801 + 1029;7411;282;412;21482056;809212 + 1030;7416;282;412;21482056;809212 + 1031;7428;282;412;21482056;809212 + 1032;7432;282;413;21482056;816644 + 1033;7440;282;413;21482056;816644 + 1034;7446;282;414;21482056;824090 + 1035;7452;282;414;21482056;824090 + 1036;7464;282;414;21482056;824090 + 1037;7465;282;415;21482056;831555 + 1038;7476;282;415;21482056;831555 + 1039;7482;282;416;21482056;839037 + 1040;7488;282;416;21482056;839037 + 1041;7496;282;417;21482056;846533 + 1042;7500;282;417;21482056;846533 + 1043;7511;282;418;21482056;854044 + 1044;7512;282;418;21482056;854044 + 1045;7524;282;418;21482056;854044 + 1046;7530;282;419;21482056;861574 + 1047;7536;282;419;21482056;861574 + 1048;7543;282;420;21482056;869117 + 1049;7548;282;420;21482056;869117 + 1050;7556;282;421;21482056;876673 + 1051;7560;282;421;21482056;876673 + 1052;7569;292;422;20061203;832267 + 1053;7572;292;422;20061203;832267 + 1054;7584;292;422;20061203;832267 + 1055;7587;294;423;20255852;829253 + 1056;7596;294;423;20255852;829253 + 1057;7604;294;424;20255852;836857 + 1058;7608;294;424;20255852;836857 + 1059;7620;294;424;20255852;836857 + 1060;7628;294;425;20255852;844485 + 1061;7632;294;425;20255852;844485 + 1062;7644;294;425;20255852;844485 + 1063;7649;294;426;20255852;852134 + 1064;7656;302;426;19100234;808984 + 1065;7668;302;426;19100234;808984 + 1066;7672;304;427;18971980;805698 + 1067;7680;304;427;18971980;805698 + 1068;7688;304;428;18971980;813386 + 1069;7692;304;428;18971980;813386 + 1070;7704;304;428;18971980;813386 + 1071;7704;304;429;18971980;821090 + 1072;7716;304;429;18971980;821090 + 1073;7725;304;430;18971980;828815 + 1074;7728;304;430;18971980;828815 + 1075;7740;304;430;18971980;828815 + 1076;7742;304;431;18971980;836557 + 1077;7752;304;431;18971980;836557 + 1078;7761;307;432;18821197;827739 + 1079;7764;307;432;18821197;827739 + 1080;7776;307;432;18821197;827739 + 1081;7784;307;433;18821197;835523 + 1082;7788;307;433;18821197;835523 + 1083;7800;307;433;18821197;835523 + 1084;7802;307;434;18821197;843325 + 1085;7812;307;434;18821197;843325 + 1086;7824;307;434;18821197;843325 + 1087;7825;307;435;18821197;851150 + 1088;7836;307;435;18821197;851150 + 1089;7848;307;435;18821197;851150 + 1090;7848;307;436;18821197;858998 + 1091;7860;307;436;18821197;858998 + 1092;7869;314;437;17396091;827492 + 1093;7872;314;437;17396091;827492 + 1094;7884;314;437;17396091;827492 + 1095;7888;314;438;17396091;835380 + 1096;7896;314;438;17396091;835380 + 1097;7908;314;438;17396091;835380 + 1098;7911;314;439;17396091;843291 + 1099;7920;314;439;17396091;843291 + 1100;7925;314;440;17396091;851216 + 1101;7932;314;440;17396091;851216 + 1102;7937;314;441;17396091;859153 + 1103;7944;314;441;17396091;859153 + 1104;7956;314;441;17396091;859153 + 1105;7961;314;442;17396091;867114 + 1106;7968;314;442;17396091;867114 + 1107;7973;314;443;17396091;875087 + 1108;7980;314;443;17396091;875087 + 1109;7991;314;444;17396091;883078 + 1110;7992;314;444;17396091;883078 + 1111;8004;314;444;17396091;883078 + 1112;8011;314;445;17396091;891089 + 1113;8016;314;445;17396091;891089 + 1114;8027;314;446;17396091;899116 + 1115;8028;314;446;17396091;899116 + 1116;8040;314;446;17396091;899116 + 1117;8046;314;447;17396091;907162 + 1118;8052;314;447;17396091;907162 + 1119;8059;314;448;17396091;915221 + 1120;8064;314;448;17396091;915221 + 1121;8074;314;449;17396091;923295 + 1122;8076;314;449;17396091;923295 + 1123;8088;314;449;17396091;923295 + 1124;8088;314;450;17396091;931383 + 1125;8100;314;450;17396091;931383 + 1126;8105;314;451;17396091;939488 + 1127;8112;314;451;17396091;939488 + 1128;8124;314;451;17396091;939488 + 1129;8128;314;452;17396091;947616 + 1130;8136;314;452;17396091;947616 + 1131;8142;314;453;17396091;955758 + 1132;8148;314;453;17396091;955758 + 1133;8160;314;453;17396091;955758 + 1134;8162;322;454;16626159;918017 + 1135;8172;322;454;16626159;918017 + 1136;8179;322;455;16626159;926196 + 1137;8184;322;455;16626159;926196 + 1138;8195;322;456;16626159;934391 + 1139;8196;322;456;16626159;934391 + 1140;8208;322;456;16626159;934391 + 1141;8215;322;457;16626159;942606 + 1142;8220;322;457;16626159;942606 + 1143;8232;322;457;16626159;942606 + 1144;8237;322;458;16626159;950843 + 1145;8244;322;458;16626159;950843 + 1146;8256;322;458;16626159;950843 + 1147;8259;322;459;16626159;959102 + 1148;8268;322;459;16626159;959102 + 1149;8276;322;460;16626159;967378 + 1150;8280;322;460;16626159;967378 + 1151;8292;322;460;16626159;967378 + 1152;8295;329;461;16586458;934491 + 1153;8304;329;461;16586458;934491 + 1154;8316;329;461;16586458;934491 + 1155;8317;329;462;16586458;942808 + 1156;8328;329;462;16586458;942808 + 1157;8340;329;462;16586458;942808 + 1158;8340;329;463;16586458;951148 + 1159;8352;329;463;16586458;951148 + 1160;8354;329;464;16586458;959502 + 1161;8364;329;464;16586458;959502 + 1162;8373;329;465;16586458;967875 + 1163;8376;329;465;16586458;967875 + 1164;8388;329;465;16586458;967875 + 1165;8395;329;466;16586458;976270 + 1166;8400;329;466;16586458;976270 + 1167;8409;339;467;15659132;924149 + 1168;8412;339;467;15659132;924149 + 1169;8424;339;467;15659132;924149 + 1170;8424;343;468;14868351;907863 + 1171;8436;343;468;14868351;907863 + 1172;8445;343;469;14868351;916308 + 1173;8448;343;469;14868351;916308 + 1174;8460;343;469;14868351;916308 + 1175;8460;343;470;14868351;924768 + 1176;8472;343;470;14868351;924768 + 1177;8475;343;471;14868351;933243 + 1178;8484;343;471;14868351;933243 + 1179;8496;343;471;14868351;933243 + 1180;8497;347;472;14662515;916756 + 1181;8508;347;472;14662515;916756 + 1182;8518;347;473;14662515;925274 + 1183;8520;347;473;14662515;925274 + 1184;8532;347;473;14662515;925274 + 1185;8535;347;474;14662515;933809 + 1186;8544;347;474;14662515;933809 + 1187;8552;351;475;13709732;917077 + 1188;8556;351;475;13709732;917077 + 1189;8568;351;475;13709732;917077 + 1190;8570;351;476;13709732;925647 + 1191;8580;351;476;13709732;925647 + 1192;8592;351;476;13709732;925647 + 1193;8593;351;477;13709732;934240 + 1194;8604;354;477;13831155;915117 + 1195;8608;354;478;13831155;923725 + 1196;8616;354;478;13831155;923725 + 1197;8621;354;479;13831155;932346 + 1198;8628;354;479;13831155;932346 + 1199;8640;354;479;13831155;932346 + 1200;8645;354;480;13831155;940991 + 1201;8652;354;480;13831155;940991 + 1202;8664;354;480;13831155;940991 + 1203;8665;354;481;13831155;949656 + 1204;8676;354;481;13831155;949656 + 1205;8680;355;482;13913420;951922 + 1206;8688;355;482;13913420;951922 + 1207;8696;355;483;13913420;960618 + 1208;8700;355;483;13913420;960618 + 1209;8712;355;483;13913420;960618 + 1210;8716;355;484;13913420;969334 + 1211;8724;355;484;13913420;969334 + 1212;8731;355;485;13913420;978065 + 1213;8736;355;485;13913420;978065 + 1214;8748;355;485;13913420;978065 + 1215;8749;355;486;13913420;986814 + 1216;8760;355;486;13913420;986814 + 1217;8764;355;487;13913420;995578 + 1218;8772;355;487;13913420;995578 + 1219;8784;355;487;13913420;995578 + 1220;8784;355;488;13913420;1004362 + 1221;8796;355;488;13913420;1004362 + 1222;8797;355;489;13913420;1013159 + 1223;8808;355;489;13913420;1013159 + 1224;8815;355;490;13913420;1021974 + 1225;8820;355;490;13913420;1021974 + 1226;8832;355;490;13913420;1021974 + 1227;8832;355;491;13913420;1030806 + 1228;8844;355;491;13913420;1030806 + 1229;8851;355;492;13913420;1039657 + 1230;8856;355;492;13913420;1039657 + 1231;8868;355;492;13913420;1039657 + 1232;8871;358;493;14122765;1029171 + 1233;8880;358;493;14122765;1029171 + 1234;8891;362;494;13630364;1011971 + 1235;8892;362;494;13630364;1011971 + 1236;8904;362;494;13630364;1011971 + 1237;8909;362;495;13630364;1020880 + 1238;8916;362;495;13630364;1020880 + 1239;8926;362;496;13630364;1029806 + 1240;8928;362;496;13630364;1029806 + 1241;8940;362;496;13630364;1029806 + 1242;8944;362;497;13630364;1038750 + 1243;8952;362;497;13630364;1038750 + 1244;8964;362;497;13630364;1038750 + 1245;8967;362;498;13630364;1047717 + 1246;8976;362;498;13630364;1047717 + 1247;8980;362;499;13630364;1056697 + 1248;8988;362;499;13630364;1056697 + 1249;8996;362;500;13630364;1065693 + 1250;9000;362;500;13630364;1065693 + 1251;9012;362;500;13630364;1065693 + 1252;9020;362;501;13630364;1074713 + 1253;9024;362;501;13630364;1074713 + 1254;9036;362;501;13630364;1074713 + 1255;9038;367;502;14163603;1050678 + 1256;9048;367;502;14163603;1050678 + 1257;9053;371;503;13580096;1032937 + 1258;9060;371;503;13580096;1032937 + 1259;9067;371;504;13580096;1042004 + 1260;9072;371;504;13580096;1042004 + 1261;9084;371;504;13580096;1042004 + 1262;9091;375;505;13618942;1024000 + 1263;9096;375;505;13618942;1024000 + 1264;9104;375;506;13618942;1033104 + 1265;9108;375;506;13618942;1033104 + 1266;9120;375;506;13618942;1033104 + 1267;9125;382;507;12677953;994195 + 1268;9132;382;507;12677953;994195 + 1269;9137;382;508;12677953;1003332 + 1270;9144;382;508;12677953;1003332 + 1271;9156;382;508;12677953;1003332 + 1272;9156;382;509;12677953;1012488 + 1273;9168;382;509;12677953;1012488 + 1274;9176;382;510;12677953;1021664 + 1275;9180;382;510;12677953;1021664 + 1276;9192;382;510;12677953;1021664 + 1277;9197;382;511;12677953;1030861 + 1278;9204;382;511;12677953;1030861 + 1279;9212;382;512;12677953;1040073 + 1280;9216;382;512;12677953;1040073 + 1281;9224;382;513;12677953;1049297 + 1282;9228;382;513;12677953;1049297 + 1283;9240;382;513;12677953;1049297 + 1284;9247;382;514;12677953;1058544 + 1285;9252;382;514;12677953;1058544 + 1286;9264;382;514;12677953;1058544 + 1287;9265;382;515;12677953;1067809 + 1288;9276;382;515;12677953;1067809 + 1289;9286;382;516;12677953;1077095 + 1290;9288;382;516;12677953;1077095 + 1291;9300;386;516;12505935;1049247 + 1292;9308;386;517;12505935;1058555 + 1293;9312;386;517;12505935;1058555 + 1294;9321;386;518;12505935;1067876 + 1295;9324;386;518;12505935;1067876 + 1296;9335;386;519;12505935;1077211 + 1297;9336;386;519;12505935;1077211 + 1298;9348;386;519;12505935;1077211 + 1299;9355;386;520;12505935;1086566 + 1300;9360;386;520;12505935;1086566 + 1301;9369;386;521;12505935;1095935 + 1302;9372;386;521;12505935;1095935 + 1303;9384;386;521;12505935;1095935 + 1304;9387;386;522;12505935;1105322 + 1305;9396;386;522;12505935;1105322 + 1306;9400;386;523;12505935;1114722 + 1307;9408;386;523;12505935;1114722 + 1308;9415;394;524;11773068;1067672 + 1309;9420;394;524;11773068;1067672 + 1310;9432;394;524;11773068;1067672 + 1311;9438;397;525;11838681;1055665 + 1312;9444;397;525;11838681;1055665 + 1313;9456;397;525;11838681;1055665 + 1314;9462;397;526;11838681;1065127 + 1315;9468;397;526;11838681;1065127 + 1316;9480;397;526;11838681;1065127 + 1317;9484;397;527;11838681;1074611 + 1318;9492;397;527;11838681;1074611 + 1319;9499;397;528;11838681;1084110 + 1320;9504;397;528;11838681;1084110 + 1321;9516;397;528;11838681;1084110 + 1322;9517;397;529;11838681;1093627 + 1323;9528;397;529;11838681;1093627 + 1324;9531;397;530;11838681;1103158 + 1325;9540;397;530;11838681;1103158 + 1326;9552;397;530;11838681;1103158 + 1327;9553;397;531;11838681;1112711 + 1328;9564;397;531;11838681;1112711 + 1329;9567;397;532;11838681;1122278 + 1330;9576;401;532;11457889;1093431 + 1331;9588;401;532;11457889;1093431 + 1332;9591;401;533;11457889;1103022 + 1333;9600;401;533;11457889;1103022 + 1334;9607;401;534;11457889;1112629 + 1335;9612;401;534;11457889;1112629 + 1336;9624;401;534;11457889;1112629 + 1337;9629;408;535;11434433;1071051 + 1338;9636;408;535;11434433;1071051 + 1339;9643;408;536;11434433;1080694 + 1340;9648;408;536;11434433;1080694 + 1341;9660;408;536;11434433;1080694 + 1342;9665;408;537;11434433;1090359 + 1343;9672;408;537;11434433;1090359 + 1344;9684;408;537;11434433;1090359 + 1345;9688;408;538;11434433;1100047 + 1346;9696;408;538;11434433;1100047 + 1347;9702;408;539;11434433;1109749 + 1348;9708;408;539;11434433;1109749 + 1349;9720;408;539;11434433;1109749 + 1350;9721;408;540;11434433;1119470 + 1351;9732;408;540;11434433;1119470 + 1352;9737;408;541;11434433;1129207 + 1353;9744;408;541;11434433;1129207 + 1354;9756;408;541;11434433;1129207 + 1355;9756;408;542;11434433;1138963 + 1356;9768;408;542;11434433;1138963 + 1357;9774;408;543;11434433;1148737 + 1358;9780;408;543;11434433;1148737 + 1359;9789;408;544;11434433;1158526 + 1360;9792;408;544;11434433;1158526 + 1361;9804;408;544;11434433;1158526 + 1362;9812;418;545;10607760;1093788 + 1363;9816;418;545;10607760;1093788 + 1364;9828;418;545;10607760;1093788 + 1365;9828;421;546;10031500;1080948 + 1366;9840;421;546;10031500;1080948 + 1367;9847;421;547;10031500;1090795 + 1368;9852;421;547;10031500;1090795 + 1369;9864;421;547;10031500;1090795 + 1370;9870;421;548;10031500;1100665 + 1371;9876;421;548;10031500;1100665 + 1372;9888;421;548;10031500;1100665 + 1373;9892;421;549;10031500;1110557 + 1374;9900;421;549;10031500;1110557 + 1375;9905;421;550;10031500;1120462 + 1376;9912;421;550;10031500;1120462 + 1377;9924;421;550;10031500;1120462 + 1378;9924;421;551;10031500;1130386 + 1379;9936;421;551;10031500;1130386 + 1380;9941;421;552;10031500;1140327 + 1381;9948;421;552;10031500;1140327 + 1382;9959;421;553;10031500;1150286 + 1383;9960;421;553;10031500;1150286 + 1384;9972;421;553;10031500;1150286 + 1385;9974;421;554;10031500;1160260 + 1386;9984;421;554;10031500;1160260 + 1387;9995;429;555;9988300;1108998 + 1388;9996;429;555;9988300;1108998 + 1389;10008;429;555;9988300;1108998 + 1390;10018;429;556;9988300;1119016 + 1391;10020;429;556;9988300;1119016 + 1392;10032;429;556;9988300;1119016 + 1393;10036;429;557;9988300;1129052 + 1394;10044;429;557;9988300;1129052 + 1395;10054;429;558;9988300;1139106 + 1396;10056;429;558;9988300;1139106 + 1397;10068;429;558;9988300;1139106 + 1398;10068;429;559;9988300;1149174 + 1399;10080;429;559;9988300;1149174 + 1400;10080;434;560;9461835;1120340 + 1401;10092;434;560;9461835;1120340 + 1402;10095;434;561;9461835;1130435 + 1403;10104;434;561;9461835;1130435 + 1404;10116;434;561;9461835;1130435 + 1405;10117;434;562;9461835;1140552 + 1406;10128;434;562;9461835;1140552 + 1407;10140;434;562;9461835;1140552 + 1408;10140;434;563;9461835;1150692 + 1409;10152;434;563;9461835;1150692 + 1410;10155;434;564;9461835;1160847 + 1411;10164;434;564;9461835;1160847 + 1412;10174;434;565;9461835;1171021 + 1413;10176;434;565;9461835;1171021 + 1414;10188;434;565;9461835;1171021 + 1415;10189;434;566;9461835;1181210 + 1416;10200;434;566;9461835;1181210 + 1417;10207;434;567;9461835;1191417 + 1418;10212;434;567;9461835;1191417 + 1419;10221;434;568;9461835;1201638 + 1420;10224;434;568;9461835;1201638 + 1421;10236;434;568;9461835;1201638 + 1422;10237;434;569;9461835;1211875 + 1423;10248;434;569;9461835;1211875 + 1424;10250;434;570;9461835;1222125 + 1425;10260;434;570;9461835;1222125 + 1426;10265;434;571;9461835;1232390 + 1427;10272;434;571;9461835;1232390 + 1428;10284;434;571;9461835;1232390 + 1429;10286;434;572;9461835;1242676 + 1430;10296;434;572;9461835;1242676 + 1431;10306;441;573;9046435;1197643 + 1432;10308;441;573;9046435;1197643 + 1433;10320;441;573;9046435;1197643 + 1434;10330;442;574;9125139;1200000 + 1435;10332;442;574;9125139;1200000 + 1436;10344;442;574;9125139;1200000 + 1437;10353;442;575;9125139;1210353 + 1438;10356;442;575;9125139;1210353 + 1439;10368;442;575;9125139;1210353 + 1440;10377;442;576;9125139;1220730 + 1441;10380;442;576;9125139;1220730 + 1442;10392;442;576;9125139;1220730 + 1443;10395;442;577;9125139;1231125 + 1444;10404;442;577;9125139;1231125 + 1445;10416;442;577;9125139;1231125 + 1446;10419;445;578;9264452;1217515 + 1447;10428;445;578;9264452;1217515 + 1448;10440;445;578;9264452;1217515 + 1449;10442;445;579;9264452;1227957 + 1450;10452;445;579;9264452;1227957 + 1451;10463;445;580;9264452;1238420 + 1452;10464;445;580;9264452;1238420 + 1453;10476;445;580;9264452;1238420 + 1454;10486;448;581;9386053;1224727 + 1455;10488;448;581;9386053;1224727 + 1456;10500;448;581;9386053;1224727 + 1457;10510;456;582;8842878;1170023 + 1458;10512;456;582;8842878;1170023 + 1459;10524;456;582;8842878;1170023 + 1460;10532;456;583;8842878;1180555 + 1461;10536;456;583;8842878;1180555 + 1462;10548;463;583;8245956;1122477 + 1463;10554;463;584;8245956;1133031 + 1464;10560;463;584;8245956;1133031 + 1465;10572;463;584;8245956;1133031 + 1466;10574;463;585;8245956;1143605 + 1467;10584;463;585;8245956;1143605 + 1468;10596;463;585;8245956;1143605 + 1469;10596;463;586;8245956;1154201 + 1470;10608;463;586;8245956;1154201 + 1471;10620;463;586;8245956;1154201 + 1472;10620;463;587;8245956;1164821 + 1473;10632;463;587;8245956;1164821 + 1474;10639;463;588;8245956;1175460 + 1475;10644;463;588;8245956;1175460 + 1476;10656;463;588;8245956;1175460 + 1477;10661;463;589;8245956;1186121 + 1478;10668;463;589;8245956;1186121 + 1479;10678;463;590;8245956;1196799 + 1480;10680;463;590;8245956;1196799 + 1481;10691;463;591;8245956;1207490 + 1482;10692;463;591;8245956;1207490 + 1483;10704;463;591;8245956;1207490 + 1484;10709;463;592;8245956;1218199 + 1485;10716;463;592;8245956;1218199 + 1486;10723;463;593;8245956;1228922 + 1487;10728;463;593;8245956;1228922 + 1488;10737;464;594;8320538;1231286 + 1489;10740;464;594;8320538;1231286 + 1490;10752;464;594;8320538;1231286 + 1491;10756;464;595;8320538;1242042 + 1492;10764;464;595;8320538;1242042 + 1493;10771;464;596;8320538;1252813 + 1494;10776;464;596;8320538;1252813 + 1495;10783;464;597;8320538;1263596 + 1496;10788;464;597;8320538;1263596 + 1497;10800;464;597;8320538;1263596 + 1498;10806;473;598;8027444;1198244 + 1499;10812;473;598;8027444;1198244 + 1500;10821;475;599;8075692;1191943 + 1501;10824;475;599;8075692;1191943 + 1502;10836;475;599;8075692;1191943 + 1503;10837;475;600;8075692;1202780 + 1504;10848;475;600;8075692;1202780 + 1505;10859;475;601;8075692;1213639 + 1506;10860;475;601;8075692;1213639 + 1507;10872;475;601;8075692;1213639 + 1508;10883;475;602;8075692;1224522 + 1509;10884;475;602;8075692;1224522 + 1510;10896;475;602;8075692;1224522 + 1511;10897;475;603;8075692;1235419 + 1512;10908;475;603;8075692;1235419 + 1513;10909;475;604;8075692;1246328 + 1514;10920;475;604;8075692;1246328 + 1515;10930;479;605;8013002;1222791 + 1516;10932;479;605;8013002;1222791 + 1517;10944;479;605;8013002;1222791 + 1518;10946;479;606;8013002;1233737 + 1519;10956;479;606;8013002;1233737 + 1520;10959;479;607;8013002;1244696 + 1521;10968;479;607;8013002;1244696 + 1522;10980;479;607;8013002;1244696 + 1523;10982;479;608;8013002;1255678 + 1524;10992;479;608;8013002;1255678 + 1525;11004;479;608;8013002;1255678 + 1526;11006;479;609;8013002;1266684 + 1527;11016;479;609;8013002;1266684 + 1528;11028;479;609;8013002;1266684 + 1529;11030;479;610;8013002;1277714 + 1530;11040;479;610;8013002;1277714 + 1531;11049;479;611;8013002;1288763 + 1532;11052;479;611;8013002;1288763 + 1533;11064;479;611;8013002;1288763 + 1534;11069;479;612;8013002;1299832 + 1535;11076;479;612;8013002;1299832 + 1536;11085;479;613;8013002;1310917 + 1537;11088;479;613;8013002;1310917 + 1538;11099;479;614;8013002;1322016 + 1539;11100;479;614;8013002;1322016 + 1540;11112;479;614;8013002;1322016 + 1541;11117;479;615;8013002;1333133 + 1542;11124;479;615;8013002;1333133 + 1543;11134;489;616;7572761;1256870 + 1544;11136;489;616;7572761;1256870 + 1545;11147;492;617;7127658;1241463 + 1546;11148;492;617;7127658;1241463 + 1547;11160;492;617;7127658;1241463 + 1548;11164;492;618;7127658;1252627 + 1549;11172;492;618;7127658;1252627 + 1550;11182;492;619;7127658;1263809 + 1551;11184;492;619;7127658;1263809 + 1552;11196;492;619;7127658;1263809 + 1553;11201;497;620;7168939;1230373 + 1554;11208;497;620;7168939;1230373 + 1555;11213;497;621;7168939;1241586 + 1556;11220;497;621;7168939;1241586 + 1557;11232;497;621;7168939;1241586 + 1558;11235;497;622;7168939;1252821 + 1559;11244;497;622;7168939;1252821 + 1560;11250;497;623;7168939;1264071 + 1561;11256;497;623;7168939;1264071 + 1562;11265;497;624;7168939;1275336 + 1563;11268;497;624;7168939;1275336 + 1564;11280;497;624;7168939;1275336 + 1565;11282;497;625;7168939;1286618 + 1566;11292;497;625;7168939;1286618 + 1567;11296;497;626;7168939;1297914 + 1568;11304;497;626;7168939;1297914 + 1569;11316;497;626;7168939;1297914 + 1570;11316;497;627;7168939;1309230 + 1571;11328;497;627;7168939;1309230 + 1572;11340;497;627;7168939;1309230 + 1573;11340;497;628;7168939;1320570 + 1574;11352;497;628;7168939;1320570 + 1575;11364;497;628;7168939;1320570 + 1576;11364;497;629;7168939;1331934 + 1577;11376;497;629;7168939;1331934 + 1578;11380;497;630;7168939;1343314 + 1579;11388;497;630;7168939;1343314 + 1580;11392;497;631;7168939;1354706 + 1581;11400;497;631;7168939;1354706 + 1582;11410;497;632;7168939;1366116 + 1583;11412;497;632;7168939;1366116 + 1584;11424;497;632;7168939;1366116 + 1585;11425;501;633;6925436;1341507 + 1586;11436;501;633;6925436;1341507 + 1587;11442;501;634;6925436;1352949 + 1588;11448;501;634;6925436;1352949 + 1589;11460;501;634;6925436;1352949 + 1590;11466;501;635;6925436;1364415 + 1591;11472;501;635;6925436;1364415 + 1592;11482;501;636;6925436;1375897 + 1593;11484;501;636;6925436;1375897 + 1594;11494;511;637;6537839;1296073 + 1595;11496;511;637;6537839;1296073 + 1596;11508;511;637;6537839;1296073 + 1597;11514;513;638;6529522;1289116 + 1598;11520;513;638;6529522;1289116 + 1599;11532;513;638;6529522;1289116 + 1600;11532;513;639;6529522;1300648 + 1601;11544;513;639;6529522;1300648 + 1602;11556;513;639;6529522;1300648 + 1603;11556;513;640;6529522;1312204 + 1604;11568;513;640;6529522;1312204 + 1605;11570;513;641;6529522;1323774 + 1606;11580;513;641;6529522;1323774 + 1607;11586;513;642;6529522;1335360 + 1608;11592;513;642;6529522;1335360 + 1609;11603;513;643;6529522;1346963 + 1610;11604;513;643;6529522;1346963 + 1611;11616;513;643;6529522;1346963 + 1612;11617;513;644;6529522;1358580 + 1613;11628;513;644;6529522;1358580 + 1614;11640;513;644;6529522;1358580 + 1615;11640;513;645;6529522;1370220 + 1616;11652;513;645;6529522;1370220 + 1617;11664;516;645;6598815;1342361 + 1618;11664;516;646;6598815;1354025 + 1619;11676;516;646;6598815;1354025 + 1620;11677;516;647;6598815;1365702 + 1621;11688;516;647;6598815;1365702 + 1622;11698;516;648;6598815;1377400 + 1623;11700;516;648;6598815;1377400 + 1624;11712;516;648;6598815;1377400 + 1625;11717;516;649;6598815;1389117 + 1626;11724;516;649;6598815;1389117 + 1627;11735;525;650;6183634;1316370 + 1628;11736;525;650;6183634;1316370 + 1629;11748;525;650;6183634;1316370 + 1630;11750;525;651;6183634;1328120 + 1631;11760;525;651;6183634;1328120 + 1632;11766;525;652;6183634;1339886 + 1633;11772;525;652;6183634;1339886 + 1634;11780;525;653;6183634;1351666 + 1635;11784;525;653;6183634;1351666 + 1636;11793;526;654;6227177;1353975 + 1637;11796;526;654;6227177;1353975 + 1638;11808;526;654;6227177;1353975 + 1639;11813;526;655;6227177;1365788 + 1640;11820;526;655;6227177;1365788 + 1641;11829;526;656;6227177;1377617 + 1642;11832;526;656;6227177;1377617 + 1643;11844;526;656;6227177;1377617 + 1644;11849;526;657;6227177;1389466 + 1645;11856;526;657;6227177;1389466 + 1646;11868;526;657;6227177;1389466 + 1647;11873;526;658;6227177;1401339 + 1648;11880;526;658;6227177;1401339 + 1649;11888;526;659;6227177;1413227 + 1650;11892;526;659;6227177;1413227 + 1651;11904;526;659;6227177;1413227 + 1652;11907;526;660;6227177;1425134 + 1653;11916;526;660;6227177;1425134 + 1654;11928;526;660;6227177;1425134 + 1655;11931;526;661;6227177;1437065 + 1656;11940;526;661;6227177;1437065 + 1657;11952;526;661;6227177;1437065 + 1658;11954;532;662;6060091;1391761 + 1659;11964;532;662;6060091;1391761 + 1660;11968;532;663;6060091;1403729 + 1661;11976;532;663;6060091;1403729 + 1662;11988;532;663;6060091;1403729 + 1663;11988;532;664;6060091;1415717 + 1664;12000;532;664;6060091;1415717 + 1665;12006;532;665;6060091;1427723 + 1666;12012;532;665;6060091;1427723 + 1667;12024;532;665;6060091;1427723 + 1668;12027;542;666;5707441;1342828 + 1669;12036;543;666;5666653;1333039 + 1670;12046;543;667;5666653;1345085 + 1671;12048;543;667;5666653;1345085 + 1672;12060;543;667;5666653;1345085 + 1673;12069;543;668;5666653;1357154 + 1674;12072;543;668;5666653;1357154 + 1675;12084;543;668;5666653;1357154 + 1676;12092;543;669;5666653;1369246 + 1677;12096;543;669;5666653;1369246 + 1678;12108;543;669;5666653;1369246 + 1679;12113;543;670;5666653;1381359 + 1680;12120;543;670;5666653;1381359 + 1681;12125;543;671;5666653;1393484 + 1682;12132;543;671;5666653;1393484 + 1683;12141;543;672;5666653;1405625 + 1684;12144;543;672;5666653;1405625 + 1685;12156;543;672;5666653;1405625 + 1686;12165;543;673;5666653;1417790 + 1687;12168;543;673;5666653;1417790 + 1688;12180;543;673;5666653;1417790 + 1689;12185;543;674;5666653;1429975 + 1690;12192;543;674;5666653;1429975 + 1691;12204;543;674;5666653;1429975 + 1692;12209;543;675;5666653;1442184 + 1693;12216;543;675;5666653;1442184 + 1694;12227;549;676;5590634;1395257 + 1695;12228;549;676;5590634;1395257 + 1696;12239;549;677;5590634;1407496 + 1697;12240;549;677;5590634;1407496 + 1698;12252;549;677;5590634;1407496 + 1699;12253;549;678;5590634;1419749 + 1700;12264;549;678;5590634;1419749 + 1701;12275;549;679;5590634;1432024 + 1702;12276;549;679;5590634;1432024 + 1703;12288;549;679;5590634;1432024 + 1704;12291;549;680;5590634;1444315 + 1705;12300;549;680;5590634;1444315 + 1706;12303;549;681;5590634;1456618 + 1707;12312;549;681;5590634;1456618 + 1708;12323;549;682;5590634;1468941 + 1709;12324;549;682;5590634;1468941 + 1710;12336;549;682;5590634;1468941 + 1711;12345;549;683;5590634;1481286 + 1712;12348;549;683;5590634;1481286 + 1713;12360;549;683;5590634;1481286 + 1714;12369;556;684;5341042;1423808 + 1715;12372;556;684;5341042;1423808 + 1716;12381;556;685;5341042;1436189 + 1717;12384;556;685;5341042;1436189 + 1718;12396;556;685;5341042;1436189 + 1719;12399;563;686;4971236;1377879 + 1720;12408;563;686;4971236;1377879 + 1721;12412;563;687;4971236;1390291 + 1722;12420;563;687;4971236;1390291 + 1723;12432;563;687;4971236;1390291 + 1724;12436;563;688;4971236;1402727 + 1725;12444;563;688;4971236;1402727 + 1726;12456;563;688;4971236;1402727 + 1727;12459;563;689;4971236;1415186 + 1728;12468;563;689;4971236;1415186 + 1729;12478;563;690;4971236;1427664 + 1730;12480;563;690;4971236;1427664 + 1731;12492;563;690;4971236;1427664 + 1732;12500;563;691;4971236;1440164 + 1733;12504;563;691;4971236;1440164 + 1734;12516;563;691;4971236;1440164 + 1735;12520;563;692;4971236;1452684 + 1736;12528;563;692;4971236;1452684 + 1737;12532;563;693;4971236;1465216 + 1738;12540;563;693;4971236;1465216 + 1739;12552;563;693;4971236;1465216 + 1740;12555;563;694;4971236;1477771 + 1741;12564;563;694;4971236;1477771 + 1742;12572;569;695;5081724;1429065 + 1743;12576;569;695;5081724;1429065 + 1744;12588;569;695;5081724;1429065 + 1745;12588;569;696;5081724;1441653 + 1746;12600;569;696;5081724;1441653 + 1747;12606;569;697;5081724;1454259 + 1748;12612;569;697;5081724;1454259 + 1749;12624;569;697;5081724;1454259 + 1750;12629;569;698;5081724;1466888 + 1751;12636;569;698;5081724;1466888 + 1752;12641;571;699;4847322;1458978 + 1753;12648;571;699;4847322;1458978 + 1754;12660;571;699;4847322;1458978 + 1755;12665;571;700;4847322;1471643 + 1756;12672;571;700;4847322;1471643 + 1757;12678;571;701;4847322;1484321 + 1758;12684;571;701;4847322;1484321 + 1759;12696;571;701;4847322;1484321 + 1760;12698;571;702;4847322;1497019 + 1761;12708;571;702;4847322;1497019 + 1762;12712;571;703;4847322;1509731 + 1763;12720;577;703;4693738;1447551 + 1764;12732;577;703;4693738;1447551 + 1765;12733;577;704;4693738;1460284 + 1766;12744;577;704;4693738;1460284 + 1767;12753;577;705;4693738;1473037 + 1768;12756;577;705;4693738;1473037 + 1769;12768;577;705;4693738;1473037 + 1770;12769;577;706;4693738;1485806 + 1771;12780;577;706;4693738;1485806 + 1772;12783;577;707;4693738;1498589 + 1773;12792;577;707;4693738;1498589 + 1774;12800;577;708;4693738;1511389 + 1775;12804;577;708;4693738;1511389 + 1776;12812;577;709;4693738;1524201 + 1777;12816;577;709;4693738;1524201 + 1778;12828;577;709;4693738;1524201 + 1779;12828;577;710;4693738;1537029 + 1780;12840;577;710;4693738;1537029 + 1781;12844;577;711;4693738;1549873 + 1782;12852;577;711;4693738;1549873 + 1783;12864;577;711;4693738;1549873 + 1784;12866;581;712;4463353;1520838 + 1785;12876;581;712;4463353;1520838 + 1786;12888;581;712;4463353;1520838 + 1787;12890;581;713;4463353;1533728 + 1788;12900;581;713;4463353;1533728 + 1789;12908;583;714;4532338;1525550 + 1790;12912;583;714;4532338;1525550 + 1791;12924;583;714;4532338;1525550 + 1792;12929;583;715;4532338;1538479 + 1793;12936;583;715;4532338;1538479 + 1794;12948;583;715;4532338;1538479 + 1795;12948;583;716;4532338;1551427 + 1796;12960;583;716;4532338;1551427 + 1797;12968;583;717;4532338;1564395 + 1798;12972;583;717;4532338;1564395 + 1799;12984;587;717;4500926;1521966 + 1800;12991;587;718;4500926;1534957 + 1801;12996;587;718;4500926;1534957 + 1802;13006;587;719;4500926;1547963 + 1803;13008;587;719;4500926;1547963 + 1804;13020;587;719;4500926;1547963 + 1805;13020;587;720;4500926;1560983 + 1806;13032;587;720;4500926;1560983 + 1807;13035;587;721;4500926;1574018 + 1808;13044;587;721;4500926;1574018 + 1809;13056;587;721;4500926;1574018 + 1810;13059;587;722;4500926;1587077 + 1811;13068;587;722;4500926;1587077 + 1812;13080;587;722;4500926;1587077 + 1813;13080;587;723;4500926;1600157 + 1814;13092;587;723;4500926;1600157 + 1815;13102;603;724;3968479;1440738 + 1816;13104;603;724;3968479;1440738 + 1817;13116;603;724;3968479;1440738 + 1818;13123;603;725;3968479;1453861 + 1819;13128;603;725;3968479;1453861 + 1820;13140;603;725;3968479;1453861 + 1821;13142;603;726;3968479;1467003 + 1822;13152;603;726;3968479;1467003 + 1823;13156;603;727;3968479;1480159 + 1824;13164;603;727;3968479;1480159 + 1825;13176;603;727;3968479;1480159 + 1826;13180;603;728;3968479;1493339 + 1827;13188;603;728;3968479;1493339 + 1828;13200;603;728;3968479;1493339 + 1829;13201;603;729;3968479;1506540 + 1830;13212;603;729;3968479;1506540 + 1831;13213;603;730;3968479;1519753 + 1832;13224;603;730;3968479;1519753 + 1833;13231;603;731;3968479;1532984 + 1834;13236;603;731;3968479;1532984 + 1835;13248;603;731;3968479;1532984 + 1836;13248;603;732;3968479;1546232 + 1837;13260;603;732;3968479;1546232 + 1838;13266;603;733;3968479;1559498 + 1839;13272;603;733;3968479;1559498 + 1840;13283;608;734;4039837;1517958 + 1841;13284;608;734;4039837;1517958 + 1842;13296;608;734;4039837;1517958 + 1843;13306;608;735;4039837;1531264 + 1844;13308;608;735;4039837;1531264 + 1845;13319;608;736;4039837;1544583 + 1846;13320;608;736;4039837;1544583 + 1847;13332;608;736;4039837;1544583 + 1848;13335;608;737;4039837;1557918 + 1849;13344;608;737;4039837;1557918 + 1850;13356;608;737;4039837;1557918 + 1851;13357;608;738;4039837;1571275 + 1852;13368;608;738;4039837;1571275 + 1853;13379;608;739;4039837;1584654 + 1854;13380;608;739;4039837;1584654 + 1855;13392;608;739;4039837;1584654 + 1856;13402;608;740;4039837;1598056 + 1857;13404;608;740;4039837;1598056 + 1858;13415;608;741;4039837;1611471 + 1859;13416;608;741;4039837;1611471 + 1860;13428;608;741;4039837;1611471 + 1861;13433;608;742;4039837;1624904 + 1862;13440;608;742;4039837;1624904 + 1863;13452;608;742;4039837;1624904 + 1864;13455;608;743;4039837;1638359 + 1865;13464;608;743;4039837;1638359 + 1866;13469;618;744;3813739;1540752 + 1867;13476;618;744;3813739;1540752 + 1868;13488;618;744;3813739;1540752 + 1869;13490;619;745;3828450;1543041 + 1870;13500;619;745;3828450;1543041 + 1871;13507;619;746;3828450;1556548 + 1872;13512;619;746;3828450;1556548 + 1873;13524;619;746;3828450;1556548 + 1874;13525;619;747;3828450;1570073 + 1875;13536;619;747;3828450;1570073 + 1876;13540;619;748;3828450;1583613 + 1877;13548;619;748;3828450;1583613 + 1878;13560;619;748;3828450;1583613 + 1879;13564;619;749;3828450;1597177 + 1880;13572;619;749;3828450;1597177 + 1881;13584;619;749;3828450;1597177 + 1882;13584;623;750;3632407;1565798 + 1883;13596;623;750;3632407;1565798 + 1884;13598;623;751;3632407;1579396 + 1885;13608;623;751;3632407;1579396 + 1886;13615;623;752;3632407;1593011 + 1887;13620;623;752;3632407;1593011 + 1888;13632;623;752;3632407;1593011 + 1889;13632;623;753;3632407;1606643 + 1890;13644;623;753;3632407;1606643 + 1891;13650;623;754;3632407;1620293 + 1892;13656;623;754;3632407;1620293 + 1893;13664;623;755;3632407;1633957 + 1894;13668;623;755;3632407;1633957 + 1895;13680;623;755;3632407;1633957 + 1896;13687;627;756;3651177;1602410 + 1897;13692;627;756;3651177;1602410 + 1898;13699;627;757;3651177;1616109 + 1899;13704;627;757;3651177;1616109 + 1900;13716;627;757;3651177;1616109 + 1901;13720;628;758;3682142;1618465 + 1902;13728;628;758;3682142;1618465 + 1903;13740;628;758;3682142;1618465 + 1904;13742;628;759;3682142;1632207 + 1905;13752;628;759;3682142;1632207 + 1906;13761;628;760;3682142;1645968 + 1907;13764;628;760;3682142;1645968 + 1908;13776;628;760;3682142;1645968 + 1909;13777;628;761;3682142;1659745 + 1910;13788;636;761;3429005;1568254 + 1911;13796;636;762;3429005;1582050 + 1912;13800;636;762;3429005;1582050 + 1913;13812;636;762;3429005;1582050 + 1914;13812;641;763;3162682;1538104 + 1915;13824;641;763;3162682;1538104 + 1916;13833;641;764;3162682;1551937 + 1917;13836;641;764;3162682;1551937 + 1918;13848;641;764;3162682;1551937 + 1919;13852;646;765;3106625;1507588 + 1920;13860;646;765;3106625;1507588 + 1921;13872;646;765;3106625;1507588 + 1922;13876;648;766;3103539;1498049 + 1923;13884;648;766;3103539;1498049 + 1924;13896;648;766;3103539;1498049 + 1925;13899;648;767;3103539;1511948 + 1926;13908;648;767;3103539;1511948 + 1927;13920;648;767;3103539;1511948 + 1928;13921;648;768;3103539;1525869 + 1929;13932;648;768;3103539;1525869 + 1930;13934;648;769;3103539;1539803 + 1931;13944;648;769;3103539;1539803 + 1932;13956;648;769;3103539;1539803 + 1933;13958;649;770;3116382;1542026 + 1934;13968;649;770;3116382;1542026 + 1935;13980;649;770;3116382;1542026 + 1936;13981;649;771;3116382;1556007 + 1937;13992;649;771;3116382;1556007 + 1938;14001;649;772;3116382;1570008 + 1939;14004;649;772;3116382;1570008 + 1940;14016;649;772;3116382;1570008 + 1941;14021;649;773;3116382;1584029 + 1942;14028;649;773;3116382;1584029 + 1943;14040;649;773;3116382;1584029 + 1944;14045;649;774;3116382;1598074 + 1945;14052;649;774;3116382;1598074 + 1946;14057;649;775;3116382;1612131 + 1947;14064;649;775;3116382;1612131 + 1948;14074;649;776;3116382;1626205 + 1949;14076;649;776;3116382;1626205 + 1950;14088;649;776;3116382;1626205 + 1951;14092;649;777;3116382;1640297 + 1952;14100;649;777;3116382;1640297 + 1953;14110;649;778;3116382;1654407 + 1954;14112;649;778;3116382;1654407 + 1955;14124;649;778;3116382;1654407 + 1956;14134;651;779;2977807;1645025 + 1957;14136;651;779;2977807;1645025 + 1958;14148;651;779;2977807;1645025 + 1959;14152;651;780;2977807;1659177 + 1960;14160;651;780;2977807;1659177 + 1961;14172;651;780;2977807;1659177 + 1962;14172;651;781;2977807;1673349 + 1963;14184;651;781;2977807;1673349 + 1964;14189;651;782;2977807;1687538 + 1965;14196;651;782;2977807;1687538 + 1966;14206;666;783;2791751;1523092 + 1967;14208;666;783;2791751;1523092 + 1968;14220;666;783;2791751;1523092 + 1969;14229;666;784;2791751;1537321 + 1970;14232;666;784;2791751;1537321 + 1971;14244;666;784;2791751;1537321 + 1972;14250;666;785;2791751;1551571 + 1973;14256;666;785;2791751;1551571 + 1974;14264;666;786;2791751;1565835 + 1975;14268;666;786;2791751;1565835 + 1976;14280;666;786;2791751;1565835 + 1977;14286;666;787;2791751;1580121 + 1978;14292;666;787;2791751;1580121 + 1979;14304;666;787;2791751;1580121 + 1980;14309;666;788;2791751;1594430 + 1981;14316;666;788;2791751;1594430 + 1982;14326;666;789;2791751;1608756 + 1983;14328;666;789;2791751;1608756 + 1984;14340;666;789;2791751;1608756 + 1985;14341;666;790;2791751;1623097 + 1986;14352;666;790;2791751;1623097 + 1987;14359;666;791;2791751;1637456 + 1988;14364;666;791;2791751;1637456 + 1989;14376;666;791;2791751;1637456 + 1990;14377;666;792;2791751;1651833 + 1991;14388;666;792;2791751;1651833 + 1992;14390;666;793;2791751;1666223 + 1993;14400;666;793;2791751;1666223 + 1994;14411;666;794;2791751;1680634 + 1995;14412;666;794;2791751;1680634 + 1996;14424;666;794;2791751;1680634 + 1997;14428;666;795;2791751;1695062 + 1998;14436;666;795;2791751;1695062 + 1999;14447;666;796;2791751;1709509 + 2000;14448;666;796;2791751;1709509 + 2001;14460;666;796;2791751;1709509 + 2002;14469;666;797;2791751;1723978 + 2003;14472;666;797;2791751;1723978 + 2004;14484;666;797;2791751;1723978 + 2005;14492;666;798;2791751;1738470 + 2006;14496;666;798;2791751;1738470 + 2007;14508;671;798;2610259;1677930 + 2008;14508;671;799;2610259;1692438 + 2009;14520;671;799;2610259;1692438 + 2010;14529;671;800;2610259;1706967 + 2011;14532;671;800;2610259;1706967 + 2012;14544;671;800;2610259;1706967 + 2013;14546;671;801;2610259;1721513 + 2014;14556;671;801;2610259;1721513 + 2015;14568;671;801;2610259;1721513 + 2016;14570;671;802;2610259;1736083 + 2017;14580;671;802;2610259;1736083 + 2018;14591;671;803;2610259;1750674 + 2019;14592;671;803;2610259;1750674 + 2020;14604;671;803;2610259;1750674 + 2021;14605;671;804;2610259;1765279 + 2022;14616;671;804;2610259;1765279 + 2023;14617;671;805;2610259;1779896 + 2024;14628;671;805;2610259;1779896 + 2025;14631;675;806;2618051;1745741 + 2026;14640;675;806;2618051;1745741 + 2027;14646;675;807;2618051;1760387 + 2028;14652;675;807;2618051;1760387 + 2029;14658;675;808;2618051;1775045 + 2030;14664;675;808;2618051;1775045 + 2031;14676;675;808;2618051;1775045 + 2032;14680;681;809;2546065;1716041 + 2033;14688;681;809;2546065;1716041 + 2034;14700;681;809;2546065;1716041 + 2035;14701;681;810;2546065;1730742 + 2036;14712;681;810;2546065;1730742 + 2037;14716;681;811;2546065;1745458 + 2038;14724;681;811;2546065;1745458 + 2039;14736;681;811;2546065;1745458 + 2040;14740;688;812;2484066;1673397 + 2041;14748;688;812;2484066;1673397 + 2042;14760;688;812;2484066;1673397 + 2043;14764;688;813;2484066;1688161 + 2044;14772;688;813;2484066;1688161 + 2045;14783;689;814;2500859;1690466 + 2046;14784;689;814;2500859;1690466 + 2047;14796;689;814;2500859;1690466 + 2048;14799;689;815;2500859;1705265 + 2049;14808;689;815;2500859;1705265 + 2050;14820;689;815;2500859;1705265 + 2051;14822;689;816;2500859;1720087 + 2052;14832;689;816;2500859;1720087 + 2053;14844;689;816;2500859;1720087 + 2054;14846;689;817;2500859;1734933 + 2055;14856;689;817;2500859;1734933 + 2056;14861;689;818;2500859;1749794 + 2057;14868;689;818;2500859;1749794 + 2058;14880;689;818;2500859;1749794 + 2059;14884;689;819;2500859;1764678 + 2060;14892;689;819;2500859;1764678 + 2061;14904;689;819;2500859;1764678 + 2062;14904;689;820;2500859;1779582 + 2063;14916;689;820;2500859;1779582 + 2064;14918;696;821;2394481;1706627 + 2065;14928;696;821;2394481;1706627 + 2066;14932;696;822;2394481;1721559 + 2067;14940;696;822;2394481;1721559 + 2068;14949;696;823;2394481;1736508 + 2069;14952;696;823;2394481;1736508 + 2070;14964;696;823;2394481;1736508 + 2071;14965;696;824;2394481;1751473 + 2072;14976;696;824;2394481;1751473 + 2073;14986;697;825;2415014;1753830 + 2074;14988;697;825;2415014;1753830 + 2075;15000;697;825;2415014;1753830 + 2076;15010;697;826;2415014;1768840 + 2077;15012;697;826;2415014;1768840 + 2078;15024;697;826;2415014;1768840 + 2079;15027;705;827;2228898;1682218 + 2080;15036;705;827;2228898;1682218 + 2081;15044;705;828;2228898;1697262 + 2082;15048;705;828;2228898;1697262 + 2083;15058;705;829;2228898;1712320 + 2084;15060;705;829;2228898;1712320 + 2085;15072;705;829;2228898;1712320 + 2086;15073;705;830;2228898;1727393 + 2087;15084;705;830;2228898;1727393 + 2088;15091;711;831;2100824;1665551 + 2089;15096;711;831;2100824;1665551 + 2090;15106;711;832;2100824;1680657 + 2091;15108;711;832;2100824;1680657 + 2092;15120;711;832;2100824;1680657 + 2093;15129;711;833;2100824;1695786 + 2094;15132;711;833;2100824;1695786 + 2095;15144;711;833;2100824;1695786 + 2096;15150;711;834;2100824;1710936 + 2097;15156;711;834;2100824;1710936 + 2098;15166;714;835;2085875;1687375 + 2099;15168;714;835;2085875;1687375 + 2100;15180;714;835;2085875;1687375 + 2101;15190;714;836;2085875;1702565 + 2102;15192;714;836;2085875;1702565 + 2103;15204;714;836;2085875;1702565 + 2104;15208;717;837;2088662;1678866 + 2105;15216;717;837;2088662;1678866 + 2106;15228;717;837;2088662;1678866 + 2107;15228;717;838;2088662;1694094 + 2108;15240;717;838;2088662;1694094 + 2109;15247;717;839;2088662;1709341 + 2110;15252;717;839;2088662;1709341 + 2111;15259;717;840;2088662;1724600 + 2112;15264;717;840;2088662;1724600 + 2113;15276;717;840;2088662;1724600 + 2114;15283;717;841;2088662;1739883 + 2115;15288;717;841;2088662;1739883 + 2116;15300;717;841;2088662;1739883 + 2117;15303;717;842;2088662;1755186 + 2118;15312;719;842;2086588;1729160 + 2119;15317;719;843;2086588;1744477 + 2120;15324;719;843;2086588;1744477 + 2121;15336;719;843;2086588;1744477 + 2122;15339;719;844;2086588;1759816 + 2123;15348;719;844;2086588;1759816 + 2124;15356;719;845;2086588;1775172 + 2125;15360;719;845;2086588;1775172 + 2126;15372;719;845;2086588;1775172 + 2127;15379;719;846;2086588;1790551 + 2128;15384;719;846;2086588;1790551 + 2129;15395;719;847;2086588;1805946 + 2130;15396;719;847;2086588;1805946 + 2131;15408;719;847;2086588;1805946 + 2132;15415;719;848;2086588;1821361 + 2133;15420;719;848;2086588;1821361 + 2134;15432;719;848;2086588;1821361 + 2135;15437;721;849;1998204;1810704 + 2136;15444;721;849;1998204;1810704 + 2137;15456;721;849;1998204;1810704 + 2138;15458;721;850;1998204;1826162 + 2139;15468;721;850;1998204;1826162 + 2140;15478;721;851;1998204;1841640 + 2141;15480;721;851;1998204;1841640 + 2142;15492;721;851;1998204;1841640 + 2143;15493;725;852;1991762;1804686 + 2144;15504;725;852;1991762;1804686 + 2145;15513;725;853;1991762;1820199 + 2146;15516;725;853;1991762;1820199 + 2147;15528;725;853;1991762;1820199 + 2148;15534;731;854;1882859;1756504 + 2149;15540;731;854;1882859;1756504 + 2150;15552;731;854;1882859;1756504 + 2151;15554;731;855;1882859;1772058 + 2152;15564;731;855;1882859;1772058 + 2153;15568;731;856;1882859;1787626 + 2154;15576;731;856;1882859;1787626 + 2155;15583;731;857;1882859;1803209 + 2156;15588;731;857;1882859;1803209 + 2157;15595;731;858;1882859;1818804 + 2158;15600;731;858;1882859;1818804 + 2159;15612;731;858;1882859;1818804 + 2160;15616;731;859;1882859;1834420 + 2161;15624;731;859;1882859;1834420 + 2162;15628;731;860;1882859;1850048 + 2163;15636;731;860;1882859;1850048 + 2164;15645;731;861;1882859;1865693 + 2165;15648;731;861;1882859;1865693 + 2166;15658;731;862;1882859;1881351 + 2167;15660;731;862;1882859;1881351 + 2168;15672;731;862;1882859;1881351 + 2169;15679;731;863;1882859;1897030 + 2170;15684;731;863;1882859;1897030 + 2171;15696;731;863;1882859;1897030 + 2172;15699;731;864;1882859;1912729 + 2173;15708;731;864;1882859;1912729 + 2174;15720;731;864;1882859;1912729 + 2175;15721;731;865;1882859;1928450 + 2176;15732;731;865;1882859;1928450 + 2177;15744;731;865;1882859;1928450 + 2178;15744;741;866;1726140;1810699 + 2179;15756;741;866;1726140;1810699 + 2180;15758;742;867;1731454;1813002 + 2181;15768;742;867;1731454;1813002 + 2182;15779;746;868;1721323;1774790 + 2183;15780;746;868;1721323;1774790 + 2184;15792;746;868;1721323;1774790 + 2185;15792;746;869;1721323;1790582 + 2186;15804;746;869;1721323;1790582 + 2187;15815;746;870;1721323;1806397 + 2188;15816;746;870;1721323;1806397 + 2189;15828;746;870;1721323;1806397 + 2190;15838;754;871;1594598;1713388 + 2191;15840;754;871;1594598;1713388 + 2192;15852;754;871;1594598;1713388 + 2193;15855;754;872;1594598;1729243 + 2194;15864;754;872;1594598;1729243 + 2195;15870;754;873;1594598;1745113 + 2196;15876;754;873;1594598;1745113 + 2197;15888;754;873;1594598;1745113 + 2198;15888;754;874;1594598;1761001 + 2199;15900;754;874;1594598;1761001 + 2200;15906;757;875;1596232;1735801 + 2201;15912;757;875;1596232;1735801 + 2202;15924;757;875;1596232;1735801 + 2203;15928;757;876;1596232;1751729 + 2204;15936;757;876;1596232;1751729 + 2205;15948;757;876;1596232;1751729 + 2206;15950;757;877;1596232;1767679 + 2207;15960;757;877;1596232;1767679 + 2208;15963;757;878;1596232;1783642 + 2209;15972;757;878;1596232;1783642 + 2210;15980;757;879;1596232;1799622 + 2211;15984;757;879;1596232;1799622 + 2212;15993;757;880;1596232;1815615 + 2213;15996;757;880;1596232;1815615 + 2214;16008;757;880;1596232;1815615 + 2215;16009;757;881;1596232;1831624 + 2216;16020;757;881;1596232;1831624 + 2217;16026;757;882;1596232;1847650 + 2218;16032;757;882;1596232;1847650 + 2219;16039;757;883;1596232;1863689 + 2220;16044;757;883;1596232;1863689 + 2221;16056;757;883;1596232;1863689 + 2222;16057;758;884;1607622;1866004 + 2223;16068;758;884;1607622;1866004 + 2224;16069;758;885;1607622;1882073 + 2225;16080;758;885;1607622;1882073 + 2226;16084;758;886;1607622;1898157 + 2227;16092;758;886;1607622;1898157 + 2228;16104;758;886;1607622;1898157 + 2229;16108;758;887;1607622;1914265 + 2230;16116;758;887;1607622;1914265 + 2231;16120;758;888;1607622;1930385 + 2232;16128;758;888;1607622;1930385 + 2233;16136;758;889;1607622;1946521 + 2234;16140;758;889;1607622;1946521 + 2235;16152;758;889;1607622;1946521 + 2236;16153;758;890;1607622;1962674 + 2237;16164;758;890;1607622;1962674 + 2238;16176;758;890;1607622;1962674 + 2239;16177;768;891;1503017;1840390 + 2240;16188;768;891;1503017;1840390 + 2241;16197;771;892;1408758;1814647 + 2242;16200;771;892;1408758;1814647 + 2243;16211;771;893;1408758;1830858 + 2244;16212;771;893;1408758;1830858 + 2245;16224;771;893;1408758;1830858 + 2246;16234;773;894;1405176;1819026 + 2247;16236;773;894;1405176;1819026 + 2248;16248;773;894;1405176;1819026 + 2249;16251;773;895;1405176;1835277 + 2250;16260;773;895;1405176;1835277 + 2251;16272;773;895;1405176;1835277 + 2252;16274;773;896;1405176;1851551 + 2253;16284;773;896;1405176;1851551 + 2254;16294;773;897;1405176;1867845 + 2255;16296;773;897;1405176;1867845 + 2256;16308;773;897;1405176;1867845 + 2257;16312;773;898;1405176;1884157 + 2258;16320;773;898;1405176;1884157 + 2259;16325;773;899;1405176;1900482 + 2260;16332;773;899;1405176;1900482 + 2261;16344;773;899;1405176;1900482 + 2262;16344;773;900;1405176;1916826 + 2263;16356;773;900;1405176;1916826 + 2264;16366;773;901;1405176;1933192 + 2265;16368;773;901;1405176;1933192 + 2266;16380;773;901;1405176;1933192 + 2267;16384;773;902;1405176;1949576 + 2268;16392;773;902;1405176;1949576 + 2269;16402;773;903;1405176;1965978 + 2270;16404;773;903;1405176;1965978 + 2271;16416;773;903;1405176;1965978 + 2272;16426;773;904;1405176;1982404 + 2273;16428;773;904;1405176;1982404 + 2274;16440;773;904;1405176;1982404 + 2275;16450;775;905;1412217;1970723 + 2276;16452;775;905;1412217;1970723 + 2277;16464;775;905;1412217;1970723 + 2278;16468;775;906;1412217;1987191 + 2279;16476;775;906;1412217;1987191 + 2280;16481;775;907;1412217;2003672 + 2281;16488;775;907;1412217;2003672 + 2282;16494;775;908;1412217;2020166 + 2283;16500;775;908;1412217;2020166 + 2284;16506;775;909;1412217;2036672 + 2285;16512;775;909;1412217;2036672 + 2286;16524;775;909;1412217;2036672 + 2287;16528;775;910;1412217;2053200 + 2288;16536;775;910;1412217;2053200 + 2289;16548;775;910;1412217;2053200 + 2290;16548;775;911;1412217;2069748 + 2291;16560;775;911;1412217;2069748 + 2292;16569;781;912;1338031;2001468 + 2293;16572;781;912;1338031;2001468 + 2294;16583;781;913;1338031;2018051 + 2295;16584;781;913;1338031;2018051 + 2296;16596;781;913;1338031;2018051 + 2297;16607;783;914;1356351;2006223 + 2298;16608;783;914;1356351;2006223 + 2299;16620;783;914;1356351;2006223 + 2300;16627;783;915;1356351;2022850 + 2301;16632;783;915;1356351;2022850 + 2302;16644;783;915;1356351;2022850 + 2303;16650;783;916;1356351;2039500 + 2304;16656;783;916;1356351;2039500 + 2305;16663;783;917;1356351;2056163 + 2306;16668;783;917;1356351;2056163 + 2307;16680;783;917;1356351;2056163 + 2308;16684;786;918;1368237;2030047 + 2309;16692;786;918;1368237;2030047 + 2310;16701;786;919;1368237;2046748 + 2311;16704;786;919;1368237;2046748 + 2312;16715;786;920;1368237;2063463 + 2313;16716;786;920;1368237;2063463 + 2314;16728;786;920;1368237;2063463 + 2315;16739;786;921;1368237;2080202 + 2316;16740;786;921;1368237;2080202 + 2317;16752;786;921;1368237;2080202 + 2318;16758;786;922;1368237;2096960 + 2319;16764;786;922;1368237;2096960 + 2320;16776;798;922;1280400;1924103 + 2321;16780;798;923;1280400;1940883 + 2322;16788;798;923;1280400;1940883 + 2323;16796;798;924;1280400;1957679 + 2324;16800;798;924;1280400;1957679 + 2325;16812;798;924;1280400;1957679 + 2326;16812;798;925;1280400;1974491 + 2327;16824;798;925;1280400;1974491 + 2328;16836;798;925;1280400;1974491 + 2329;16836;798;926;1280400;1991327 + 2330;16848;798;926;1280400;1991327 + 2331;16850;798;927;1280400;2008177 + 2332;16860;798;927;1280400;2008177 + 2333;16872;798;927;1280400;2008177 + 2334;16874;798;928;1280400;2025051 + 2335;16884;798;928;1280400;2025051 + 2336;16896;798;928;1280400;2025051 + 2337;16898;798;929;1280400;2041949 + 2338;16908;798;929;1280400;2041949 + 2339;16910;798;930;1280400;2058859 + 2340;16920;798;930;1280400;2058859 + 2341;16927;801;931;1221568;2032141 + 2342;16932;801;931;1221568;2032141 + 2343;16944;801;931;1221568;2032141 + 2344;16949;801;932;1221568;2049090 + 2345;16956;801;932;1221568;2049090 + 2346;16967;801;933;1221568;2066057 + 2347;16968;801;933;1221568;2066057 + 2348;16980;801;933;1221568;2066057 + 2349;16991;801;934;1221568;2083048 + 2350;16992;801;934;1221568;2083048 + 2351;17004;801;934;1221568;2083048 + 2352;17012;801;935;1221568;2100060 + 2353;17016;801;935;1221568;2100060 + 2354;17025;801;936;1221568;2117085 + 2355;17028;801;936;1221568;2117085 + 2356;17040;801;936;1221568;2117085 + 2357;17044;811;937;1130511;1987544 + 2358;17052;811;937;1130511;1987544 + 2359;17063;812;938;1121282;1989843 + 2360;17064;812;938;1121282;1989843 + 2361;17076;812;938;1121282;1989843 + 2362;17085;812;939;1121282;2006928 + 2363;17088;812;939;1121282;2006928 + 2364;17100;812;939;1121282;2006928 + 2365;17109;812;940;1121282;2024037 + 2366;17112;812;940;1121282;2024037 + 2367;17124;812;940;1121282;2024037 + 2368;17130;812;941;1121282;2041167 + 2369;17136;812;941;1121282;2041167 + 2370;17148;812;941;1121282;2041167 + 2371;17148;812;942;1121282;2058315 + 2372;17160;812;942;1121282;2058315 + 2373;17170;812;943;1121282;2075485 + 2374;17172;812;943;1121282;2075485 + 2375;17184;812;943;1121282;2075485 + 2376;17188;812;944;1121282;2092673 + 2377;17196;812;944;1121282;2092673 + 2378;17208;812;944;1121282;2092673 + 2379;17212;812;945;1121282;2109885 + 2380;17220;812;945;1121282;2109885 + 2381;17232;812;945;1121282;2109885 + 2382;17234;817;946;1142366;2053008 + 2383;17244;817;946;1142366;2053008 + 2384;17247;817;947;1142366;2070255 + 2385;17256;817;947;1142366;2070255 + 2386;17268;817;947;1142366;2070255 + 2387;17270;827;948;1053282;1937906 + 2388;17280;831;948;990942;1877578 + 2389;17292;831;948;990942;1877578 + 2390;17294;831;949;990942;1894872 + 2391;17304;831;949;990942;1894872 + 2392;17313;833;950;990942;1881906 + 2393;17316;833;950;990942;1881906 + 2394;17328;833;950;990942;1881906 + 2395;17335;833;951;990942;1899241 + 2396;17340;833;951;990942;1899241 + 2397;17350;833;952;990942;1916591 + 2398;17352;833;952;990942;1916591 + 2399;17364;833;952;990942;1916591 + 2400;17365;833;953;990942;1933956 + 2401;17376;833;953;990942;1933956 + 2402;17385;833;954;990942;1951341 + 2403;17388;833;954;990942;1951341 + 2404;17397;833;955;990942;1968738 + 2405;17400;833;955;990942;1968738 + 2406;17412;833;955;990942;1968738 + 2407;17413;833;956;990942;1986151 + 2408;17424;833;956;990942;1986151 + 2409;17430;833;957;990942;2003581 + 2410;17436;833;957;990942;2003581 + 2411;17448;833;957;990942;2003581 + 2412;17450;833;958;990942;2021031 + 2413;17460;833;958;990942;2021031 + 2414;17466;833;959;990942;2038497 + 2415;17472;833;959;990942;2038497 + 2416;17484;833;959;990942;2038497 + 2417;17484;833;960;990942;2055981 + 2418;17496;833;960;990942;2055981 + 2419;17497;833;961;990942;2073478 + 2420;17508;833;961;990942;2073478 + 2421;17509;834;962;999191;2075821 + 2422;17520;834;962;999191;2075821 + 2423;17526;834;963;999191;2093347 + 2424;17532;834;963;999191;2093347 + 2425;17544;834;963;999191;2093347 + 2426;17549;834;964;999191;2110896 + 2427;17556;834;964;999191;2110896 + 2428;17568;834;964;999191;2110896 + 2429;17570;834;965;999191;2128466 + 2430;17580;834;965;999191;2128466 + 2431;17585;834;966;999191;2146051 + 2432;17592;834;966;999191;2146051 + 2433;17604;834;966;999191;2146051 + 2434;17605;834;967;999191;2163656 + 2435;17616;834;967;999191;2163656 + 2436;17619;839;968;988576;2105143 + 2437;17628;839;968;988576;2105143 + 2438;17638;839;969;988576;2122781 + 2439;17640;839;969;988576;2122781 + 2440;17652;839;969;988576;2122781 + 2441;17655;841;970;941368;2109850 + 2442;17664;841;970;941368;2109850 + 2443;17676;841;970;941368;2109850 + 2444;17678;841;971;941368;2127528 + 2445;17688;841;971;941368;2127528 + 2446;17696;841;972;941368;2145224 + 2447;17700;841;972;941368;2145224 + 2448;17709;841;973;941368;2162933 + 2449;17712;841;973;941368;2162933 + 2450;17721;841;974;941368;2180654 + 2451;17724;841;974;941368;2180654 + 2452;17736;841;974;941368;2180654 + 2453;17745;844;975;948703;2152387 + 2454;17748;844;975;948703;2152387 + 2455;17759;844;976;948703;2170146 + 2456;17760;844;976;948703;2170146 + 2457;17772;844;976;948703;2170146 + 2458;17783;844;977;948703;2187929 + 2459;17784;844;977;948703;2187929 + 2460;17796;845;977;958830;2172550 + 2461;17803;845;978;958830;2190353 + 2462;17808;845;978;958830;2190353 + 2463;17820;845;978;958830;2190353 + 2464;17823;845;979;958830;2208176 + 2465;17832;845;979;958830;2208176 + 2466;17839;845;980;958830;2226015 + 2467;17844;845;980;958830;2226015 + 2468;17856;845;980;958830;2226015 + 2469;17863;845;981;958830;2243878 + 2470;17868;845;981;958830;2243878 + 2471;17880;845;981;958830;2243878 + 2472;17884;847;982;966782;2230952 + 2473;17892;847;982;966782;2230952 + 2474;17904;847;982;966782;2230952 + 2475;17905;852;983;920757;2171478 + 2476;17916;852;983;920757;2171478 + 2477;17923;852;984;920757;2189401 + 2478;17928;852;984;920757;2189401 + 2479;17940;852;984;920757;2189401 + 2480;17946;852;985;920757;2207347 + 2481;17952;852;985;920757;2207347 + 2482;17964;852;985;920757;2207347 + 2483;17966;852;986;920757;2225313 + 2484;17976;852;986;920757;2225313 + 2485;17982;856;987;924768;2181056 + 2486;17988;856;987;924768;2181056 + 2487;18000;856;987;924768;2181056 + 2488;18004;856;988;924768;2199060 + 2489;18012;856;988;924768;2199060 + 2490;18022;856;989;924768;2217082 + 2491;18024;856;989;924768;2217082 + 2492;18036;856;989;924768;2217082 + 2493;18039;856;990;924768;2235121 + 2494;18048;856;990;924768;2235121 + 2495;18054;856;991;924768;2253175 + 2496;18060;856;991;924768;2253175 + 2497;18072;856;991;924768;2253175 + 2498;18072;866;992;845587;2114504 + 2499;18084;866;992;845587;2114504 + 2500;18092;868;993;848875;2101025 + 2501;18096;868;993;848875;2101025 + 2502;18104;868;994;848875;2119129 + 2503;18108;868;994;848875;2119129 + 2504;18120;868;994;848875;2119129 + 2505;18122;868;995;848875;2137251 + 2506;18132;868;995;848875;2137251 + 2507;18136;868;996;848875;2155387 + 2508;18144;868;996;848875;2155387 + 2509;18156;868;996;848875;2155387 + 2510;18156;868;997;848875;2173543 + 2511;18168;868;997;848875;2173543 + 2512;18173;871;998;806333;2144208 + 2513;18180;871;998;806333;2144208 + 2514;18187;871;999;806333;2162395 + 2515;18192;871;999;806333;2162395 + 2516;18204;871;999;806333;2162395 + 2517;18205;871;1000;806333;2180600 + 2518;18216;871;1000;806333;2180600 + 2519;18223;871;1001;806333;2198823 + 2520;18228;871;1001;806333;2198823 + 2521;18240;871;1001;806333;2198823 + 2522;18247;871;1002;806333;2217070 + 2523;18252;871;1002;806333;2217070 + 2524;18262;871;1003;806333;2235332 + 2525;18264;871;1003;806333;2235332 + 2526;18276;877;1003;805107;2139827 + 2527;18282;877;1004;805107;2158109 + 2528;18288;877;1004;805107;2158109 + 2529;18294;877;1005;805107;2176403 + 2530;18300;877;1005;805107;2176403 + 2531;18311;877;1006;805107;2194714 + 2532;18312;877;1006;805107;2194714 + 2533;18324;877;1006;805107;2194714 + 2534;18325;877;1007;805107;2213039 + 2535;18336;877;1007;805107;2213039 + 2536;18347;877;1008;805107;2231386 + 2537;18348;877;1008;805107;2231386 + 2538;18360;877;1008;805107;2231386 + 2539;18362;877;1009;805107;2249748 + 2540;18372;877;1009;805107;2249748 + 2541;18374;877;1010;805107;2268122 + 2542;18384;877;1010;805107;2268122 + 2543;18395;877;1011;805107;2286517 + 2544;18396;877;1011;805107;2286517 + 2545;18408;877;1011;805107;2286517 + 2546;18411;877;1012;805107;2304928 + 2547;18420;877;1012;805107;2304928 + 2548;18431;882;1013;782629;2243312 + 2549;18432;882;1013;782629;2243312 + 2550;18444;882;1013;782629;2243312 + 2551;18446;882;1014;782629;2261758 + 2552;18456;882;1014;782629;2261758 + 2553;18466;891;1015;722809;2135123 + 2554;18468;891;1015;722809;2135123 + 2555;18480;891;1015;722809;2135123 + 2556;18482;891;1016;722809;2153605 + 2557;18492;891;1016;722809;2153605 + 2558;18501;891;1017;722809;2172106 + 2559;18504;891;1017;722809;2172106 + 2560;18515;891;1018;722809;2190621 + 2561;18516;891;1018;722809;2190621 + 2562;18528;891;1018;722809;2190621 + 2563;18530;891;1019;722809;2209151 + 2564;18540;891;1019;722809;2209151 + 2565;18546;891;1020;722809;2227697 + 2566;18552;891;1020;722809;2227697 + 2567;18564;891;1020;722809;2227697 + 2568;18570;891;1021;722809;2246267 + 2569;18576;891;1021;722809;2246267 + 2570;18588;891;1021;722809;2246267 + 2571;18591;891;1022;722809;2264858 + 2572;18600;891;1022;722809;2264858 + 2573;18612;891;1022;722809;2264858 + 2574;18614;891;1023;722809;2283472 + 2575;18624;891;1023;722809;2283472 + 2576;18629;891;1024;722809;2302101 + 2577;18636;891;1024;722809;2302101 + 2578;18644;891;1025;722809;2320745 + 2579;18648;891;1025;722809;2320745 + 2580;18658;891;1026;722809;2339403 + 2581;18660;891;1026;722809;2339403 + 2582;18672;891;1026;722809;2339403 + 2583;18672;891;1027;722809;2358075 + 2584;18684;891;1027;722809;2358075 + 2585;18695;901;1028;698019;2213775 + 2586;18696;901;1028;698019;2213775 + 2587;18708;902;1028;699342;2197373 + 2588;18711;902;1029;699342;2216084 + 2589;18720;902;1029;699342;2216084 + 2590;18726;902;1030;699342;2234810 + 2591;18732;902;1030;699342;2234810 + 2592;18741;905;1031;701299;2204207 + 2593;18744;905;1031;701299;2204207 + 2594;18756;905;1031;701299;2204207 + 2595;18763;905;1032;701299;2222970 + 2596;18768;905;1032;701299;2222970 + 2597;18775;905;1033;701299;2241745 + 2598;18780;905;1033;701299;2241745 + 2599;18792;905;1033;701299;2241745 + 2600;18793;905;1034;701299;2260538 + 2601;18804;905;1034;701299;2260538 + 2602;18809;905;1035;701299;2279347 + 2603;18816;905;1035;701299;2279347 + 2604;18828;905;1035;701299;2279347 + 2605;18833;905;1036;701299;2298180 + 2606;18840;905;1036;701299;2298180 + 2607;18852;905;1036;701299;2298180 + 2608;18854;905;1037;701299;2317034 + 2609;18864;905;1037;701299;2317034 + 2610;18873;907;1038;705624;2302932 + 2611;18876;907;1038;705624;2302932 + 2612;18888;907;1038;705624;2302932 + 2613;18890;907;1039;705624;2321822 + 2614;18900;907;1039;705624;2321822 + 2615;18912;907;1039;705624;2321822 + 2616;18912;907;1040;705624;2340734 + 2617;18924;907;1040;705624;2340734 + 2618;18928;914;1041;678594;2243694 + 2619;18936;914;1041;678594;2243694 + 2620;18948;914;1041;678594;2243694 + 2621;18949;914;1042;678594;2262643 + 2622;18960;914;1042;678594;2262643 + 2623;18969;914;1043;678594;2281612 + 2624;18972;914;1043;678594;2281612 + 2625;18984;914;1043;678594;2281612 + 2626;18987;918;1044;686350;2233901 + 2627;18996;918;1044;686350;2233901 + 2628;19000;918;1045;686350;2252901 + 2629;19008;918;1045;686350;2252901 + 2630;19014;918;1046;686350;2271915 + 2631;19020;918;1046;686350;2271915 + 2632;19026;918;1047;686350;2290941 + 2633;19032;918;1047;686350;2290941 + 2634;19042;918;1048;686350;2309983 + 2635;19044;918;1048;686350;2309983 + 2636;19056;918;1048;686350;2309983 + 2637;19062;918;1049;686350;2329045 + 2638;19068;918;1049;686350;2329045 + 2639;19080;918;1049;686350;2329045 + 2640;19082;918;1050;686350;2348127 + 2641;19092;918;1050;686350;2348127 + 2642;19094;918;1051;686350;2367221 + 2643;19104;918;1051;686350;2367221 + 2644;19115;918;1052;686350;2386336 + 2645;19116;918;1052;686350;2386336 + 2646;19128;918;1052;686350;2386336 + 2647;19131;922;1053;652155;2338475 + 2648;19140;922;1053;652155;2338475 + 2649;19152;922;1053;652155;2338475 + 2650;19152;922;1054;652155;2357627 + 2651;19164;922;1054;652155;2357627 + 2652;19168;922;1055;652155;2376795 + 2653;19176;922;1055;652155;2376795 + 2654;19183;931;1056;607641;2244126 + 2655;19188;931;1056;607641;2244126 + 2656;19199;931;1057;607641;2263325 + 2657;19200;931;1057;607641;2263325 + 2658;19212;931;1057;607641;2263325 + 2659;19222;931;1058;607641;2282547 + 2660;19224;931;1058;607641;2282547 + 2661;19236;931;1058;607641;2282547 + 2662;19237;931;1059;607641;2301784 + 2663;19248;931;1059;607641;2301784 + 2664;19254;932;1060;611616;2304071 + 2665;19260;932;1060;611616;2304071 + 2666;19272;932;1060;611616;2304071 + 2667;19272;934;1061;616153;2289340 + 2668;19284;934;1061;616153;2289340 + 2669;19292;934;1062;616153;2308632 + 2670;19296;934;1062;616153;2308632 + 2671;19304;934;1063;616153;2327936 + 2672;19308;934;1063;616153;2327936 + 2673;19319;934;1064;616153;2347255 + 2674;19320;934;1064;616153;2347255 + 2675;19332;934;1064;616153;2347255 + 2676;19343;934;1065;616153;2366598 + 2677;19344;934;1065;616153;2366598 + 2678;19356;934;1065;616153;2366598 + 2679;19360;934;1066;616153;2385958 + 2680;19368;934;1066;616153;2385958 + 2681;19380;934;1066;616153;2385958 + 2682;19384;934;1067;616153;2405342 + 2683;19392;934;1067;616153;2405342 + 2684;19404;934;1067;616153;2405342 + 2685;19407;934;1068;616153;2424749 + 2686;19416;934;1068;616153;2424749 + 2687;19425;934;1069;616153;2444174 + 2688;19428;934;1069;616153;2444174 + 2689;19440;934;1069;616153;2444174 + 2690;19441;934;1070;616153;2463615 + 2691;19452;934;1070;616153;2463615 + 2692;19455;934;1071;616153;2483070 + 2693;19464;934;1071;616153;2483070 + 2694;19476;934;1071;616153;2483070 + 2695;19479;934;1072;616153;2502549 + 2696;19488;934;1072;616153;2502549 + 2697;19499;943;1073;595169;2368086 + 2698;19500;943;1073;595169;2368086 + 2699;19512;943;1073;595169;2368086 + 2700;19520;943;1074;595169;2387606 + 2701;19524;943;1074;595169;2387606 + 2702;19536;943;1074;595169;2387606 + 2703;19537;943;1075;595169;2407143 + 2704;19548;943;1075;595169;2407143 + 2705;19549;943;1076;595169;2426692 + 2706;19560;943;1076;595169;2426692 + 2707;19572;943;1076;595169;2426692 + 2708;19573;943;1077;595169;2446265 + 2709;19584;943;1077;595169;2446265 + 2710;19596;943;1077;595169;2446265 + 2711;19596;945;1078;605213;2431415 + 2712;19608;945;1078;605213;2431415 + 2713;19616;945;1079;605213;2451031 + 2714;19620;945;1079;605213;2451031 + 2715;19632;945;1079;605213;2451031 + 2716;19640;945;1080;605213;2470671 + 2717;19644;945;1080;605213;2470671 + 2718;19656;945;1080;605213;2470671 + 2719;19660;945;1081;605213;2490331 + 2720;19668;945;1081;605213;2490331 + 2721;19675;945;1082;605213;2510006 + 2722;19680;945;1082;605213;2510006 + 2723;19687;952;1083;577368;2408519 + 2724;19692;952;1083;577368;2408519 + 2725;19704;952;1083;577368;2408519 + 2726;19709;952;1084;577368;2428228 + 2727;19716;952;1084;577368;2428228 + 2728;19728;952;1084;577368;2428228 + 2729;19729;952;1085;577368;2447957 + 2730;19740;952;1085;577368;2447957 + 2731;19751;952;1086;577368;2467708 + 2732;19752;952;1086;577368;2467708 + 2733;19764;952;1086;577368;2467708 + 2734;19767;952;1087;577368;2487475 + 2735;19776;952;1087;577368;2487475 + 2736;19788;952;1087;577368;2487475 + 2737;19791;952;1088;577368;2507266 + 2738;19800;952;1088;577368;2507266 + 2739;19812;952;1088;577368;2507266 + 2740;19812;952;1089;577368;2527078 + 2741;19824;952;1089;577368;2527078 + 2742;19830;952;1090;577368;2546908 + 2743;19836;952;1090;577368;2546908 + 2744;19848;962;1090;542118;2372351 + 2745;19854;964;1091;536941;2357086 + 2746;19860;964;1091;536941;2357086 + 2747;19872;964;1091;536941;2357086 + 2748;19875;964;1092;536941;2376961 + 2749;19884;964;1092;536941;2376961 + 2750;19896;964;1092;536941;2376961 + 2751;19896;964;1093;536941;2396857 + 2752;19908;964;1093;536941;2396857 + 2753;19911;964;1094;536941;2416768 + 2754;19920;964;1094;536941;2416768 + 2755;19929;964;1095;536941;2436697 + 2756;19932;964;1095;536941;2436697 + 2757;19944;964;1095;536941;2436697 + 2758;19947;964;1096;536941;2456644 + 2759;19956;964;1096;536941;2456644 + 2760;19960;964;1097;536941;2476604 + 2761;19968;964;1097;536941;2476604 + 2762;19974;964;1098;536941;2496578 + 2763;19980;964;1098;536941;2496578 + 2764;19992;964;1098;536941;2496578 + 2765;19995;964;1099;536941;2516573 + 2766;20004;964;1099;536941;2516573 + 2767;20016;964;1099;536941;2516573 + 2768;20019;964;1100;536941;2536592 + 2769;20028;964;1100;536941;2536592 + 2770;20037;964;1101;536941;2556629 + 2771;20040;964;1101;536941;2556629 + 2772;20049;974;1102;513799;2400027 + 2773;20052;974;1102;513799;2400027 + 2774;20061;974;1103;513799;2420088 + 2775;20064;974;1103;513799;2420088 + 2776;20076;974;1103;513799;2420088 + 2777;20085;984;1104;469485;2261645 + 2778;20088;985;1104;465522;2243679 + 2779;20099;985;1105;465522;2263778 + 2780;20100;985;1105;465522;2263778 + 2781;20112;985;1105;465522;2263778 + 2782;20122;985;1106;465522;2283900 + 2783;20124;985;1106;465522;2283900 + 2784;20136;985;1106;465522;2283900 + 2785;20139;985;1107;465522;2304039 + 2786;20148;985;1107;465522;2304039 + 2787;20158;985;1108;465522;2324197 + 2788;20160;985;1108;465522;2324197 + 2789;20172;985;1108;465522;2324197 + 2790;20179;985;1109;465522;2344376 + 2791;20184;985;1109;465522;2344376 + 2792;20196;985;1109;465522;2344376 + 2793;20202;985;1110;465522;2364578 + 2794;20208;985;1110;465522;2364578 + 2795;20218;985;1111;465522;2384796 + 2796;20220;985;1111;465522;2384796 + 2797;20232;985;1111;465522;2384796 + 2798;20237;985;1112;465522;2405033 + 2799;20244;985;1112;465522;2405033 + 2800;20256;985;1112;465522;2405033 + 2801;20260;985;1113;465522;2425293 + 2802;20268;985;1113;465522;2425293 + 2803;20280;985;1113;465522;2425293 + 2804;20280;985;1114;465522;2445573 + 2805;20292;985;1114;465522;2445573 + 2806;20295;985;1115;465522;2465868 + 2807;20304;985;1115;465522;2465868 + 2808;20316;986;1115;469164;2447886 + 2809;20316;986;1116;469164;2468202 + 2810;20328;986;1116;469164;2468202 + 2811;20339;986;1117;469164;2488541 + 2812;20340;986;1117;469164;2488541 + 2813;20352;986;1117;469164;2488541 + 2814;20355;986;1118;469164;2508896 + 2815;20364;986;1118;469164;2508896 + 2816;20376;986;1118;469164;2508896 + 2817;20376;986;1119;469164;2529272 + 2818;20388;986;1119;469164;2529272 + 2819;20395;993;1120;437073;2423280 + 2820;20400;993;1120;437073;2423280 + 2821;20412;993;1120;437073;2423280 + 2822;20415;993;1121;437073;2443695 + 2823;20424;993;1121;437073;2443695 + 2824;20430;993;1122;437073;2464125 + 2825;20436;993;1122;437073;2464125 + 2826;20444;993;1123;437073;2484569 + 2827;20448;993;1123;437073;2484569 + 2828;20458;993;1124;437073;2505027 + 2829;20460;993;1124;437073;2505027 + 2830;20472;993;1124;437073;2505027 + 2831;20473;993;1125;437073;2525500 + 2832;20484;993;1125;437073;2525500 + 2833;20496;993;1125;437073;2525500 + 2834;20496;993;1126;437073;2545996 + 2835;20508;993;1126;437073;2545996 + 2836;20510;993;1127;437073;2566506 + 2837;20520;993;1127;437073;2566506 + 2838;20528;995;1128;437263;2550776 + 2839;20532;995;1128;437263;2550776 + 2840;20544;995;1128;437263;2550776 + 2841;20548;995;1129;437263;2571324 + 2842;20556;1002;1129;418599;2443871 + 2843;20568;1002;1129;418599;2443871 + 2844;20571;1002;1130;418599;2464442 + 2845;20580;1002;1130;418599;2464442 + 2846;20585;1002;1131;418599;2485027 + 2847;20592;1002;1131;418599;2485027 + 2848;20604;1007;1131;420723;2393468 + 2849;20606;1007;1132;420723;2414074 + 2850;20616;1007;1132;420723;2414074 + 2851;20623;1007;1133;420723;2434697 + 2852;20628;1007;1133;420723;2434697 + 2853;20640;1007;1133;420723;2434697 + 2854;20644;1007;1134;420723;2455341 + 2855;20652;1007;1134;420723;2455341 + 2856;20664;1007;1134;420723;2455341 + 2857;20667;1007;1135;420723;2476008 + 2858;20676;1007;1135;420723;2476008 + 2859;20685;1007;1136;420723;2496693 + 2860;20688;1007;1136;420723;2496693 + 2861;20700;1007;1136;420723;2496693 + 2862;20706;1007;1137;420723;2517399 + 2863;20712;1007;1137;420723;2517399 + 2864;20722;1007;1138;420723;2538121 + 2865;20724;1007;1138;420723;2538121 + 2866;20736;1007;1138;420723;2538121 + 2867;20739;1007;1139;420723;2558860 + 2868;20748;1007;1139;420723;2558860 + 2869;20754;1007;1140;420723;2579614 + 2870;20760;1007;1140;420723;2579614 + 2871;20772;1007;1140;420723;2579614 + 2872;20772;1007;1141;420723;2600386 + 2873;20784;1007;1141;420723;2600386 + 2874;20795;1007;1142;420723;2621181 + 2875;20796;1007;1142;420723;2621181 + 2876;20808;1007;1142;420723;2621181 + 2877;20812;1007;1143;420723;2641993 + 2878;20820;1007;1143;420723;2641993 + 2879;20831;1014;1144;409218;2533939 + 2880;20832;1014;1144;409218;2533939 + 2881;20844;1014;1144;409218;2533939 + 2882;20852;1014;1145;409218;2554791 + 2883;20856;1014;1145;409218;2554791 + 2884;20868;1014;1145;409218;2554791 + 2885;20871;1014;1146;409218;2575662 + 2886;20880;1014;1146;409218;2575662 + 2887;20892;1014;1146;409218;2575662 + 2888;20893;1014;1147;409218;2596555 + 2889;20904;1014;1147;409218;2596555 + 2890;20913;1016;1148;417003;2580485 + 2891;20916;1016;1148;417003;2580485 + 2892;20925;1016;1149;417003;2601410 + 2893;20928;1016;1149;417003;2601410 + 2894;20940;1016;1149;417003;2601410 + 2895;20941;1016;1150;417003;2622351 + 2896;20952;1016;1150;417003;2622351 + 2897;20958;1016;1151;417003;2643309 + 2898;20964;1016;1151;417003;2643309 + 2899;20976;1016;1151;417003;2643309 + 2900;20982;1026;1152;388094;2478322 + 2901;20988;1026;1152;388094;2478322 + 2902;20996;1026;1153;388094;2499318 + 2903;21000;1026;1153;388094;2499318 + 2904;21012;1026;1153;388094;2499318 + 2905;21016;1026;1154;388094;2520334 + 2906;21024;1026;1154;388094;2520334 + 2907;21031;1026;1155;388094;2541365 + 2908;21036;1026;1155;388094;2541365 + 2909;21048;1026;1155;388094;2541365 + 2910;21052;1026;1156;388094;2562417 + 2911;21060;1026;1156;388094;2562417 + 2912;21069;1028;1157;393726;2546080 + 2913;21072;1028;1157;393726;2546080 + 2914;21084;1028;1157;393726;2546080 + 2915;21084;1028;1158;393726;2567164 + 2916;21096;1028;1158;393726;2567164 + 2917;21106;1028;1159;393726;2588270 + 2918;21108;1028;1159;393726;2588270 + 2919;21120;1028;1159;393726;2588270 + 2920;21129;1028;1160;393726;2609399 + 2921;21132;1028;1160;393726;2609399 + 2922;21144;1028;1160;393726;2609399 + 2923;21145;1028;1161;393726;2630544 + 2924;21156;1028;1161;393726;2630544 + 2925;21164;1028;1162;393726;2651708 + 2926;21168;1028;1162;393726;2651708 + 2927;21176;1028;1163;393726;2672884 + 2928;21180;1028;1163;393726;2672884 + 2929;21192;1028;1163;393726;2672884 + 2930;21199;1037;1164;358030;2524916 + 2931;21204;1037;1164;358030;2524916 + 2932;21216;1037;1164;358030;2524916 + 2933;21222;1037;1165;358030;2546138 + 2934;21228;1037;1165;358030;2546138 + 2935;21240;1037;1165;358030;2546138 + 2936;21240;1037;1166;358030;2567378 + 2937;21252;1037;1166;358030;2567378 + 2938;21257;1037;1167;358030;2588635 + 2939;21264;1037;1167;358030;2588635 + 2940;21276;1037;1167;358030;2588635 + 2941;21280;1037;1168;358030;2609915 + 2942;21288;1037;1168;358030;2609915 + 2943;21300;1037;1168;358030;2609915 + 2944;21301;1037;1169;358030;2631216 + 2945;21312;1037;1169;358030;2631216 + 2946;21317;1047;1170;324017;2462816 + 2947;21324;1052;1170;305522;2367332 + 2948;21333;1052;1171;305522;2388665 + 2949;21336;1052;1171;305522;2388665 + 2950;21348;1052;1171;305522;2388665 + 2951;21350;1052;1172;305522;2410015 + 2952;21360;1052;1172;305522;2410015 + 2953;21367;1052;1173;305522;2431382 + 2954;21372;1052;1173;305522;2431382 + 2955;21384;1052;1173;305522;2431382 + 2956;21390;1052;1174;305522;2452772 + 2957;21396;1052;1174;305522;2452772 + 2958;21408;1052;1174;305522;2452772 + 2959;21409;1052;1175;305522;2474181 + 2960;21420;1052;1175;305522;2474181 + 2961;21430;1052;1176;305522;2495611 + 2962;21432;1052;1176;305522;2495611 + 2963;21444;1052;1176;305522;2495611 + 2964;21450;1052;1177;305522;2517061 + 2965;21456;1052;1177;305522;2517061 + 2966;21466;1052;1178;305522;2538527 + 2967;21468;1052;1178;305522;2538527 + 2968;21478;1052;1179;305522;2560005 + 2969;21480;1052;1179;305522;2560005 + 2970;21490;1052;1180;305522;2581495 + 2971;21492;1052;1180;305522;2581495 + 2972;21504;1052;1180;305522;2581495 + 2973;21507;1053;1181;308180;2583850 + 2974;21516;1053;1181;308180;2583850 + 2975;21527;1053;1182;308180;2605377 + 2976;21528;1053;1182;308180;2605377 + 2977;21540;1053;1182;308180;2605377 + 2978;21546;1053;1183;308180;2626923 + 2979;21552;1053;1183;308180;2626923 + 2980;21564;1053;1183;308180;2626923 + 2981;21569;1059;1184;313041;2533229 + 2982;21576;1059;1184;313041;2533229 + 2983;21582;1059;1185;313041;2554811 + 2984;21588;1059;1185;313041;2554811 + 2985;21600;1059;1185;313041;2554811 + 2986;21602;1059;1186;313041;2576413 + 2987;21612;1059;1186;313041;2576413 + 2988;21622;1059;1187;313041;2598035 + 2989;21624;1059;1187;313041;2598035 + 2990;21636;1059;1187;313041;2598035 + 2991;21637;1059;1188;313041;2619672 + 2992;21648;1059;1188;313041;2619672 + 2993;21649;1059;1189;313041;2641321 + 2994;21660;1059;1189;313041;2641321 + 2995;21662;1059;1190;313041;2662983 + 2996;21672;1059;1190;313041;2662983 + 2997;21675;1064;1191;297472;2588128 + 2998;21684;1064;1191;297472;2588128 + 2999;21691;1074;1192;273000;2415312 + 3000;21696;1074;1192;273000;2415312 + 3001;21708;1076;1192;268895;2376190 + 3002;21711;1076;1193;268895;2397901 + 3003;21720;1076;1193;268895;2397901 + 3004;21723;1076;1194;268895;2419624 + 3005;21732;1076;1194;268895;2419624 + 3006;21744;1078;1194;268336;2380412 + 3007;21747;1078;1195;268336;2402159 + 3008;21756;1078;1195;268336;2402159 + 3009;21762;1078;1196;268336;2423921 + 3010;21768;1078;1196;268336;2423921 + 3011;21780;1078;1196;268336;2423921 + 3012;21786;1078;1197;268336;2445707 + 3013;21792;1078;1197;268336;2445707 + 3014;21804;1078;1197;268336;2445707 + 3015;21810;1078;1198;268336;2467517 + 3016;21816;1078;1198;268336;2467517 + 3017;21827;1078;1199;268336;2489344 + 3018;21828;1078;1199;268336;2489344 + 3019;21840;1078;1199;268336;2489344 + 3020;21850;1078;1200;268336;2511194 + 3021;21852;1078;1200;268336;2511194 + 3022;21864;1078;1200;268336;2511194 + 3023;21872;1078;1201;268336;2533066 + 3024;21876;1078;1201;268336;2533066 + 3025;21888;1078;1201;268336;2533066 + 3026;21888;1078;1202;268336;2554954 + 3027;21900;1078;1202;268336;2554954 + 3028;21902;1078;1203;268336;2576856 + 3029;21912;1078;1203;268336;2576856 + 3030;21915;1078;1204;268336;2598771 + 3031;21924;1078;1204;268336;2598771 + 3032;21936;1078;1204;268336;2598771 + 3033;21938;1078;1205;268336;2620709 + 3034;21948;1078;1205;268336;2620709 + 3035;21954;1078;1206;268336;2642663 + 3036;21960;1078;1206;268336;2642663 + 3037;21972;1078;1206;268336;2642663 + 3038;21976;1078;1207;268336;2664639 + 3039;21984;1078;1207;268336;2664639 + 3040;21995;1078;1208;268336;2686634 + 3041;21996;1078;1208;268336;2686634 + 3042;22008;1078;1208;268336;2686634 + 3043;22015;1078;1209;268336;2708649 + 3044;22020;1078;1209;268336;2708649 + 3045;22028;1078;1210;268336;2730677 + 3046;22032;1078;1210;268336;2730677 + 3047;22041;1078;1211;268336;2752718 + 3048;22044;1078;1211;268336;2752718 + 3049;22056;1078;1211;268336;2752718 + 3050;22059;1078;1212;268336;2774777 + 3051;22068;1078;1212;268336;2774777 + 3052;22074;1078;1213;268336;2796851 + 3053;22080;1078;1213;268336;2796851 + 3054;22092;1078;1213;268336;2796851 + 3055;22094;1078;1214;268336;2818945 + 3056;22104;1078;1214;268336;2818945 + 3057;22116;1081;1214;254177;2759970 + 3058;22117;1081;1215;254177;2782087 + 3059;22128;1081;1215;254177;2782087 + 3060;22131;1081;1216;254177;2804218 + 3061;22140;1081;1216;254177;2804218 + 3062;22152;1081;1216;254177;2804218 + 3063;22153;1081;1217;254177;2826371 + 3064;22164;1081;1217;254177;2826371 + 3065;22172;1086;1218;257969;2749900 + 3066;22176;1086;1218;257969;2749900 + 3067;22186;1086;1219;257969;2772086 + 3068;22188;1086;1219;257969;2772086 + 3069;22200;1086;1219;257969;2772086 + 3070;22205;1086;1220;257969;2794291 + 3071;22212;1086;1220;257969;2794291 + 3072;22224;1086;1220;257969;2794291 + 3073;22228;1096;1221;237601;2617714 + 3074;22236;1096;1221;237601;2617714 + 3075;22240;1098;1222;236042;2599985 + 3076;22248;1098;1222;236042;2599985 + 3077;22260;1098;1222;236042;2599985 + 3078;22262;1098;1223;236042;2622247 + 3079;22272;1098;1223;236042;2622247 + 3080;22275;1098;1224;236042;2644522 + 3081;22284;1098;1224;236042;2644522 + 3082;22296;1098;1224;236042;2644522 + 3083;22299;1098;1225;236042;2666821 + 3084;22308;1098;1225;236042;2666821 + 3085;22315;1098;1226;236042;2689136 + 3086;22320;1098;1226;236042;2689136 + 3087;22329;1098;1227;236042;2711465 + 3088;22332;1098;1227;236042;2711465 + 3089;22344;1098;1227;236042;2711465 + 3090;22350;1098;1228;236042;2733815 + 3091;22356;1098;1228;236042;2733815 + 3092;22366;1101;1229;225714;2696076 + 3093;22368;1101;1229;225714;2696076 + 3094;22380;1101;1229;225714;2696076 + 3095;22387;1101;1230;225714;2718463 + 3096;22392;1101;1230;225714;2718463 + 3097;22399;1101;1231;225714;2740862 + 3098;22404;1101;1231;225714;2740862 + 3099;22416;1101;1231;225714;2740862 + 3100;22419;1101;1232;225714;2763281 + 3101;22428;1101;1232;225714;2763281 + 3102;22436;1101;1233;225714;2785717 + 3103;22440;1101;1233;225714;2785717 + 3104;22452;1103;1233;227777;2745571 + 3105;22455;1103;1234;227777;2768026 + 3106;22464;1103;1234;227777;2768026 + 3107;22475;1103;1235;227777;2790501 + 3108;22476;1103;1235;227777;2790501 + 3109;22488;1103;1235;227777;2790501 + 3110;22495;1103;1236;227777;2812996 + 3111;22500;1103;1236;227777;2812996 + 3112;22512;1103;1236;227777;2812996 + 3113;22513;1103;1237;227777;2835509 + 3114;22524;1103;1237;227777;2835509 + 3115;22536;1113;1237;211375;2633615 + 3116;22536;1113;1238;211375;2656151 + 3117;22548;1113;1238;211375;2656151 + 3118;22559;1113;1239;211375;2678710 + 3119;22560;1113;1239;211375;2678710 + 3120;22572;1113;1239;211375;2678710 + 3121;22576;1113;1240;211375;2701286 + 3122;22584;1113;1240;211375;2701286 + 3123;22588;1113;1241;211375;2723874 + 3124;22596;1113;1241;211375;2723874 + 3125;22602;1113;1242;211375;2746476 + 3126;22608;1113;1242;211375;2746476 + 3127;22620;1113;1242;211375;2746476 + 3128;22625;1114;1243;212963;2748806 + 3129;22632;1114;1243;212963;2748806 + 3130;22644;1114;1243;212963;2748806 + 3131;22649;1114;1244;212963;2771455 + 3132;22656;1114;1244;212963;2771455 + 3133;22664;1114;1245;212963;2794119 + 3134;22668;1114;1245;212963;2794119 + 3135;22680;1114;1245;212963;2794119 + 3136;22682;1114;1246;212963;2816801 + 3137;22692;1114;1246;212963;2816801 + 3138;22699;1114;1247;212963;2839500 + 3139;22704;1114;1247;212963;2839500 + 3140;22714;1118;1248;216738;2780828 + 3141;22716;1118;1248;216738;2780828 + 3142;22728;1118;1248;216738;2780828 + 3143;22731;1118;1249;216738;2803559 + 3144;22740;1118;1249;216738;2803559 + 3145;22752;1118;1249;216738;2803559 + 3146;22753;1118;1250;216738;2826312 + 3147;22764;1118;1250;216738;2826312 + 3148;22772;1118;1251;216738;2849084 + 3149;22776;1118;1251;216738;2849084 + 3150;22788;1118;1251;216738;2849084 + 3151;22792;1123;1252;209045;2769734 + 3152;22800;1123;1252;209045;2769734 + 3153;22809;1123;1253;209045;2792543 + 3154;22812;1123;1253;209045;2792543 + 3155;22824;1123;1253;209045;2792543 + 3156;22833;1123;1254;209045;2815376 + 3157;22836;1123;1254;209045;2815376 + 3158;22848;1123;1254;209045;2815376 + 3159;22856;1123;1255;209045;2838232 + 3160;22860;1123;1255;209045;2838232 + 3161;22872;1125;1255;208922;2797263 + 3162;22875;1126;1256;210812;2799628 + 3163;22884;1126;1256;210812;2799628 + 3164;22889;1126;1257;210812;2822517 + 3165;22896;1126;1257;210812;2822517 + 3166;22908;1126;1257;210812;2822517 + 3167;22908;1126;1258;210812;2845425 + 3168;22920;1126;1258;210812;2845425 + 3169;22921;1126;1259;210812;2868346 + 3170;22932;1126;1259;210812;2868346 + 3171;22940;1135;1260;192875;2705829 + 3172;22944;1135;1260;192875;2705829 + 3173;22952;1135;1261;192875;2728781 + 3174;22956;1135;1261;192875;2728781 + 3175;22968;1135;1261;192875;2728781 + 3176;22970;1141;1262;180600;2627263 + 3177;22980;1141;1262;180600;2627263 + 3178;22984;1141;1263;180600;2650247 + 3179;22992;1141;1263;180600;2650247 + 3180;23004;1141;1263;180600;2650247 + 3181;23007;1141;1264;180600;2673254 + 3182;23016;1141;1264;180600;2673254 + 3183;23023;1141;1265;180600;2696277 + 3184;23028;1141;1265;180600;2696277 + 3185;23040;1141;1265;180600;2696277 + 3186;23047;1141;1266;180600;2719324 + 3187;23052;1141;1266;180600;2719324 + 3188;23064;1141;1266;180600;2719324 + 3189;23071;1141;1267;180600;2742395 + 3190;23076;1141;1267;180600;2742395 + 3191;23088;1141;1267;180600;2742395 + 3192;23088;1141;1268;180600;2765483 + 3193;23100;1141;1268;180600;2765483 + 3194;23105;1141;1269;180600;2788588 + 3195;23112;1141;1269;180600;2788588 + 3196;23122;1141;1270;180600;2811710 + 3197;23124;1141;1270;180600;2811710 + 3198;23136;1141;1270;180600;2811710 + 3199;23141;1141;1271;180600;2834851 + 3200;23148;1141;1271;180600;2834851 + 3201;23156;1141;1272;180600;2858007 + 3202;23160;1141;1272;180600;2858007 + 3203;23172;1141;1272;180600;2858007 + 3204;23180;1141;1273;180600;2881187 + 3205;23184;1141;1273;180600;2881187 + 3206;23192;1141;1274;180600;2904379 + 3207;23196;1141;1274;180600;2904379 + 3208;23206;1147;1275;181358;2802413 + 3209;23208;1147;1275;181358;2802413 + 3210;23220;1147;1275;181358;2802413 + 3211;23229;1147;1276;181358;2825642 + 3212;23232;1147;1276;181358;2825642 + 3213;23243;1147;1277;181358;2848885 + 3214;23244;1147;1277;181358;2848885 + 3215;23256;1147;1277;181358;2848885 + 3216;23266;1147;1278;181358;2872151 + 3217;23268;1147;1278;181358;2872151 + 3218;23280;1147;1278;181358;2872151 + 3219;23280;1147;1279;181358;2895431 + 3220;23292;1147;1279;181358;2895431 + 3221;23295;1147;1280;181358;2918726 + 3222;23304;1147;1280;181358;2918726 + 3223;23309;1147;1281;181358;2942035 + 3224;23316;1147;1281;181358;2942035 + 3225;23328;1147;1281;181358;2942035 + 3226;23329;1147;1282;181358;2965364 + 3227;23340;1147;1282;181358;2965364 + 3228;23345;1147;1283;181358;2988709 + 3229;23352;1147;1283;181358;2988709 + 3230;23361;1147;1284;181358;3012070 + 3231;23364;1147;1284;181358;3012070 + 3232;23376;1147;1284;181358;3012070 + 3233;23385;1147;1285;181358;3035455 + 3234;23388;1147;1285;181358;3035455 + 3235;23400;1147;1285;181358;3035455 + 3236;23407;1154;1286;177277;2912013 + 3237;23412;1154;1286;177277;2912013 + 3238;23421;1162;1287;167584;2766509 + 3239;23424;1162;1287;167584;2766509 + 3240;23433;1162;1288;167584;2789942 + 3241;23436;1162;1288;167584;2789942 + 3242;23446;1162;1289;167584;2813388 + 3243;23448;1162;1289;167584;2813388 + 3244;23460;1162;1289;167584;2813388 + 3245;23466;1162;1290;167584;2836854 + 3246;23472;1162;1290;167584;2836854 + 3247;23478;1163;1291;168644;2839133 + 3248;23484;1163;1291;168644;2839133 + 3249;23496;1163;1291;168644;2839133 + 3250;23500;1163;1292;168644;2862633 + 3251;23508;1163;1292;168644;2862633 + 3252;23518;1164;1293;169747;2864929 + 3253;23520;1164;1293;169747;2864929 + 3254;23532;1164;1293;169747;2864929 + 3255;23536;1164;1294;169747;2888465 + 3256;23544;1164;1294;169747;2888465 + 3257;23556;1164;1294;169747;2888465 + 3258;23559;1164;1295;169747;2912024 + 3259;23568;1164;1295;169747;2912024 + 3260;23571;1165;1296;171102;2914355 + 3261;23580;1165;1296;171102;2914355 + 3262;23583;1165;1297;171102;2937938 + 3263;23592;1165;1297;171102;2937938 + 3264;23597;1165;1298;171102;2961535 + 3265;23604;1165;1298;171102;2961535 + 3266;23616;1165;1298;171102;2961535 + 3267;23621;1165;1299;171102;2985156 + 3268;23628;1165;1299;171102;2985156 + 3269;23640;1165;1299;171102;2985156 + 3270;23644;1165;1300;171102;3008800 + 3271;23652;1165;1300;171102;3008800 + 3272;23663;1165;1301;171102;3032463 + 3273;23664;1165;1301;171102;3032463 + 3274;23676;1165;1301;171102;3032463 + 3275;23685;1165;1302;171102;3056148 + 3276;23688;1165;1302;171102;3056148 + 3277;23700;1165;1302;171102;3056148 + 3278;23702;1174;1303;163473;2887846 + 3279;23712;1174;1303;163473;2887846 + 3280;23717;1174;1304;163473;2911563 + 3281;23724;1174;1304;163473;2911563 + 3282;23736;1174;1304;163473;2911563 + 3283;23736;1174;1305;163473;2935299 + 3284;23748;1174;1305;163473;2935299 + 3285;23759;1174;1306;163473;2959058 + 3286;23760;1174;1306;163473;2959058 + 3287;23771;1174;1307;163473;2982829 + 3288;23772;1174;1307;163473;2982829 + 3289;23784;1174;1307;163473;2982829 + 3290;23786;1174;1308;163473;3006615 + 3291;23796;1174;1308;163473;3006615 + 3292;23808;1174;1308;163473;3006615 + 3293;23810;1174;1309;163473;3030425 + 3294;23820;1174;1309;163473;3030425 + 3295;23822;1174;1310;163473;3054247 + 3296;23832;1174;1310;163473;3054247 + 3297;23838;1174;1311;163473;3078085 + 3298;23844;1174;1311;163473;3078085 + 3299;23852;1174;1312;163473;3101937 + 3300;23856;1174;1312;163473;3101937 + 3301;23864;1174;1313;163473;3125801 + 3302;23868;1174;1313;163473;3125801 + 3303;23879;1184;1314;151105;2934635 + 3304;23880;1184;1314;151105;2934635 + 3305;23892;1189;1314;145253;2826463 + 3306;23894;1189;1315;145253;2850357 + 3307;23904;1189;1315;145253;2850357 + 3308;23908;1189;1316;145253;2874265 + 3309;23916;1189;1316;145253;2874265 + 3310;23928;1189;1316;145253;2874265 + 3311;23932;1189;1317;145253;2898197 + 3312;23940;1189;1317;145253;2898197 + 3313;23950;1189;1318;145253;2922147 + 3314;23952;1189;1318;145253;2922147 + 3315;23964;1189;1318;145253;2922147 + 3316;23973;1194;1319;135911;2837573 + 3317;23976;1194;1319;135911;2837573 + 3318;23988;1194;1319;135911;2837573 + 3319;23997;1194;1320;135911;2861570 + 3320;24000;1194;1320;135911;2861570 + 3321;24012;1194;1320;135911;2861570 + 3322;24018;1194;1321;135911;2885588 + 3323;24024;1194;1321;135911;2885588 + 3324;24036;1194;1321;135911;2885588 + 3325;24038;1194;1322;135911;2909626 + 3326;24048;1194;1322;135911;2909626 + 3327;24060;1194;1322;135911;2909626 + 3328;24060;1194;1323;135911;2933686 + 3329;24072;1194;1323;135911;2933686 + 3330;24081;1194;1324;135911;2957767 + 3331;24084;1194;1324;135911;2957767 + 3332;24096;1194;1324;135911;2957767 + 3333;24097;1194;1325;135911;2981864 + 3334;24108;1194;1325;135911;2981864 + 3335;24120;1194;1325;135911;2981864 + 3336;24121;1194;1326;135911;3005985 + 3337;24132;1201;1326;127431;2853190 + 3338;24140;1201;1327;127431;2877330 + 3339;24144;1201;1327;127431;2877330 + 3340;24153;1201;1328;127431;2901483 + 3341;24156;1201;1328;127431;2901483 + 3342;24168;1201;1328;127431;2901483 + 3343;24173;1201;1329;127431;2925656 + 3344;24180;1201;1329;127431;2925656 + 3345;24191;1203;1330;128114;2906030 + 3346;24192;1203;1330;128114;2906030 + 3347;24204;1203;1330;128114;2906030 + 3348;24215;1203;1331;128114;2930245 + 3349;24216;1203;1331;128114;2930245 + 3350;24228;1203;1331;128114;2930245 + 3351;24229;1203;1332;128114;2954474 + 3352;24240;1203;1332;128114;2954474 + 3353;24249;1203;1333;128114;2978723 + 3354;24252;1203;1333;128114;2978723 + 3355;24264;1203;1333;128114;2978723 + 3356;24267;1203;1334;128114;3002990 + 3357;24276;1203;1334;128114;3002990 + 3358;24281;1203;1335;128114;3027271 + 3359;24288;1203;1335;128114;3027271 + 3360;24293;1203;1336;128114;3051564 + 3361;24300;1203;1336;128114;3051564 + 3362;24312;1203;1336;128114;3051564 + 3363;24317;1203;1337;128114;3075881 + 3364;24324;1203;1337;128114;3075881 + 3365;24336;1203;1337;128114;3075881 + 3366;24336;1203;1338;128114;3100217 + 3367;24348;1203;1338;128114;3100217 + 3368;24348;1203;1339;128114;3124565 + 3369;24360;1203;1339;128114;3124565 + 3370;24372;1203;1339;128114;3124565 + 3371;24372;1203;1340;128114;3148937 + 3372;24384;1203;1340;128114;3148937 + 3373;24396;1203;1340;128114;3148937 + 3374;24396;1203;1341;128114;3173333 + 3375;24408;1212;1341;121716;2975253 + 3376;24410;1212;1342;121716;2999663 + 3377;24420;1212;1342;121716;2999663 + 3378;24432;1212;1342;121716;2999663 + 3379;24434;1212;1343;121716;3024097 + 3380;24444;1212;1343;121716;3024097 + 3381;24456;1212;1343;121716;3024097 + 3382;24457;1212;1344;121716;3048554 + 3383;24468;1212;1344;121716;3048554 + 3384;24469;1212;1345;121716;3073023 + 3385;24480;1212;1345;121716;3073023 + 3386;24489;1212;1346;121716;3097512 + 3387;24492;1212;1346;121716;3097512 + 3388;24504;1212;1346;121716;3097512 + 3389;24507;1221;1347;114822;2922493 + 3390;24516;1221;1347;114822;2922493 + 3391;24519;1221;1348;114822;2947012 + 3392;24528;1221;1348;114822;2947012 + 3393;24534;1221;1349;114822;2971546 + 3394;24540;1221;1349;114822;2971546 + 3395;24551;1221;1350;114822;2996097 + 3396;24552;1221;1350;114822;2996097 + 3397;24564;1221;1350;114822;2996097 + 3398;24567;1221;1351;114822;3020664 + 3399;24576;1221;1351;114822;3020664 + 3400;24587;1221;1352;114822;3045251 + 3401;24588;1221;1352;114822;3045251 + 3402;24600;1221;1352;114822;3045251 + 3403;24611;1221;1353;114822;3069862 + 3404;24612;1221;1353;114822;3069862 + 3405;24624;1221;1353;114822;3069862 + 3406;24632;1225;1354;115623;3005343 + 3407;24636;1225;1354;115623;3005343 + 3408;24648;1225;1354;115623;3005343 + 3409;24648;1225;1355;115623;3029991 + 3410;24660;1225;1355;115623;3029991 + 3411;24660;1225;1356;115623;3054651 + 3412;24672;1225;1356;115623;3054651 + 3413;24680;1225;1357;115623;3079331 + 3414;24684;1225;1357;115623;3079331 + 3415;24694;1225;1358;115623;3104025 + 3416;24696;1225;1358;115623;3104025 + 3417;24708;1225;1358;115623;3104025 + 3418;24708;1225;1359;115623;3128733 + 3419;24720;1225;1359;115623;3128733 + 3420;24724;1225;1360;115623;3153457 + 3421;24732;1225;1360;115623;3153457 + 3422;24742;1234;1361;109815;2976583 + 3423;24744;1234;1361;109815;2976583 + 3424;24756;1234;1361;109815;2976583 + 3425;24763;1234;1362;109815;3001346 + 3426;24768;1234;1362;109815;3001346 + 3427;24780;1234;1362;109815;3001346 + 3428;24784;1234;1363;109815;3026130 + 3429;24792;1234;1363;109815;3026130 + 3430;24804;1234;1363;109815;3026130 + 3431;24808;1234;1364;109815;3050938 + 3432;24816;1234;1364;109815;3050938 + 3433;24827;1234;1365;109815;3075765 + 3434;24828;1234;1365;109815;3075765 + 3435;24840;1234;1365;109815;3075765 + 3436;24848;1234;1366;109815;3100613 + 3437;24852;1234;1366;109815;3100613 + 3438;24863;1244;1367;105215;2899669 + 3439;24864;1244;1367;105215;2899669 + 3440;24876;1244;1367;105215;2899669 + 3441;24887;1247;1368;104441;2856461 + 3442;24888;1247;1368;104441;2856461 + 3443;24900;1247;1368;104441;2856461 + 3444;24909;1247;1369;104441;2881370 + 3445;24912;1247;1369;104441;2881370 + 3446;24921;1247;1370;104441;2906291 + 3447;24924;1247;1370;104441;2906291 + 3448;24936;1247;1370;104441;2906291 + 3449;24937;1247;1371;104441;2931228 + 3450;24948;1247;1371;104441;2931228 + 3451;24956;1247;1372;104441;2956184 + 3452;24960;1247;1372;104441;2956184 + 3453;24972;1247;1372;104441;2956184 + 3454;24972;1251;1373;98357;2890108 + 3455;24984;1251;1373;98357;2890108 + 3456;24984;1251;1374;98357;2915092 + 3457;24996;1251;1374;98357;2915092 + 3458;24996;1252;1375;98703;2917279 + 3459;25008;1252;1375;98703;2917279 + 3460;25010;1252;1376;98703;2942289 + 3461;25020;1252;1376;98703;2942289 + 3462;25032;1252;1376;98703;2942289 + 3463;25032;1252;1377;98703;2967321 + 3464;25044;1252;1377;98703;2967321 + 3465;25054;1252;1378;98703;2992375 + 3466;25056;1252;1378;98703;2992375 + 3467;25068;1252;1378;98703;2992375 + 3468;25078;1252;1379;98703;3017453 + 3469;25080;1252;1379;98703;3017453 + 3470;25092;1252;1379;98703;3017453 + 3471;25093;1252;1380;98703;3042546 + 3472;25104;1252;1380;98703;3042546 + 3473;25115;1252;1381;98703;3067661 + 3474;25116;1252;1381;98703;3067661 + 3475;25128;1252;1381;98703;3067661 + 3476;25136;1252;1382;98703;3092797 + 3477;25140;1252;1382;98703;3092797 + 3478;25152;1252;1382;98703;3092797 + 3479;25159;1252;1383;98703;3117956 + 3480;25164;1252;1383;98703;3117956 + 3481;25176;1252;1383;98703;3117956 + 3482;25176;1253;1384;99518;3120299 + 3483;25188;1253;1384;99518;3120299 + 3484;25192;1253;1385;99518;3145491 + 3485;25200;1253;1385;99518;3145491 + 3486;25212;1253;1385;99518;3145491 + 3487;25214;1253;1386;99518;3170705 + 3488;25224;1253;1386;99518;3170705 + 3489;25236;1253;1386;99518;3170705 + 3490;25238;1253;1387;99518;3195943 + 3491;25248;1253;1387;99518;3195943 + 3492;25251;1253;1388;99518;3221194 + 3493;25260;1253;1388;99518;3221194 + 3494;25271;1253;1389;99518;3246465 + 3495;25272;1253;1389;99518;3246465 + 3496;25284;1253;1389;99518;3246465 + 3497;25292;1261;1390;94431;3088446 + 3498;25296;1261;1390;94431;3088446 + 3499;25305;1261;1391;94431;3113751 + 3500;25308;1261;1391;94431;3113751 + 3501;25320;1261;1391;94431;3113751 + 3502;25322;1261;1392;94431;3139073 + 3503;25332;1261;1392;94431;3139073 + 3504;25344;1261;1392;94431;3139073 + 3505;25346;1265;1393;93733;3072358 + 3506;25356;1265;1393;93733;3072358 + 3507;25368;1265;1393;93733;3072358 + 3508;25368;1265;1394;93733;3097726 + 3509;25380;1265;1394;93733;3097726 + 3510;25385;1265;1395;93733;3123111 + 3511;25392;1265;1395;93733;3123111 + 3512;25404;1265;1395;93733;3123111 + 3513;25404;1265;1396;93733;3148515 + 3514;25416;1265;1396;93733;3148515 + 3515;25423;1271;1397;88613;3035255 + 3516;25428;1271;1397;88613;3035255 + 3517;25440;1271;1397;88613;3035255 + 3518;25443;1271;1398;88613;3060698 + 3519;25452;1271;1398;88613;3060698 + 3520;25461;1271;1399;88613;3086159 + 3521;25464;1271;1399;88613;3086159 + 3522;25476;1271;1399;88613;3086159 + 3523;25482;1271;1400;88613;3111641 + 3524;25488;1271;1400;88613;3111641 + 3525;25500;1271;1400;88613;3111641 + 3526;25506;1271;1401;88613;3137147 + 3527;25512;1271;1401;88613;3137147 + 3528;25524;1271;1401;88613;3137147 + 3529;25524;1271;1402;88613;3162671 + 3530;25536;1271;1402;88613;3162671 + 3531;25538;1271;1403;88613;3188209 + 3532;25548;1271;1403;88613;3188209 + 3533;25555;1271;1404;88613;3213764 + 3534;25560;1271;1404;88613;3213764 + 3535;25572;1271;1404;88613;3213764 + 3536;25574;1271;1405;88613;3239338 + 3537;25584;1271;1405;88613;3239338 + 3538;25590;1271;1406;88613;3264928 + 3539;25596;1271;1406;88613;3264928 + 3540;25608;1271;1406;88613;3264928 + 3541;25612;1271;1407;88613;3290540 + 3542;25620;1271;1407;88613;3290540 + 3543;25627;1271;1408;88613;3316167 + 3544;25632;1271;1408;88613;3316167 + 3545;25644;1271;1408;88613;3316167 + 3546;25645;1281;1409;82691;3109283 + 3547;25656;1283;1409;82503;3062577 + 3548;25664;1283;1410;82503;3088241 + 3549;25668;1283;1410;82503;3088241 + 3550;25677;1283;1411;82503;3113918 + 3551;25680;1283;1411;82503;3113918 + 3552;25692;1283;1411;82503;3113918 + 3553;25701;1283;1412;82503;3139619 + 3554;25704;1283;1412;82503;3139619 + 3555;25716;1283;1412;82503;3139619 + 3556;25725;1286;1413;82383;3095131 + 3557;25728;1286;1413;82383;3095131 + 3558;25740;1286;1413;82383;3095131 + 3559;25742;1286;1414;82383;3120873 + 3560;25752;1286;1414;82383;3120873 + 3561;25764;1286;1414;82383;3120873 + 3562;25765;1286;1415;82383;3146638 + 3563;25776;1286;1415;82383;3146638 + 3564;25788;1286;1415;82383;3146638 + 3565;25788;1286;1416;82383;3172426 + 3566;25800;1286;1416;82383;3172426 + 3567;25807;1286;1417;82383;3198233 + 3568;25812;1286;1417;82383;3198233 + 3569;25824;1286;1417;82383;3198233 + 3570;25828;1286;1418;82383;3224061 + 3571;25836;1286;1418;82383;3224061 + 3572;25848;1286;1418;82383;3224061 + 3573;25851;1294;1419;77269;3061976 + 3574;25860;1294;1419;77269;3061976 + 3575;25872;1294;1419;77269;3061976 + 3576;25875;1294;1420;77269;3087851 + 3577;25884;1294;1420;77269;3087851 + 3578;25896;1294;1420;77269;3087851 + 3579;25899;1294;1421;77269;3113750 + 3580;25908;1294;1421;77269;3113750 + 3581;25916;1294;1422;77269;3139666 + 3582;25920;1294;1422;77269;3139666 + 3583;25930;1294;1423;77269;3165596 + 3584;25932;1294;1423;77269;3165596 + 3585;25944;1294;1423;77269;3165596 + 3586;25949;1294;1424;77269;3191545 + 3587;25956;1294;1424;77269;3191545 + 3588;25963;1294;1425;77269;3217508 + 3589;25968;1294;1425;77269;3217508 + 3590;25980;1294;1425;77269;3217508 + 3591;25983;1294;1426;77269;3243491 + 3592;25992;1294;1426;77269;3243491 + 3593;26001;1294;1427;77269;3269492 + 3594;26004;1294;1427;77269;3269492 + 3595;26013;1294;1428;77269;3295505 + 3596;26016;1294;1428;77269;3295505 + 3597;26028;1294;1428;77269;3295505 + 3598;26036;1308;1429;71837;2989896 + 3599;26040;1308;1429;71837;2989896 + 3600;26052;1308;1429;71837;2989896 + 3601;26056;1308;1430;71837;3015952 + 3602;26064;1308;1430;71837;3015952 + 3603;26071;1308;1431;71837;3042023 + 3604;26076;1308;1431;71837;3042023 + 3605;26088;1308;1431;71837;3042023 + 3606;26094;1308;1432;71837;3068117 + 3607;26100;1308;1432;71837;3068117 + 3608;26106;1308;1433;71837;3094223 + 3609;26112;1308;1433;71837;3094223 + 3610;26124;1308;1433;71837;3094223 + 3611;26124;1314;1434;67633;2977198 + 3612;26136;1314;1434;67633;2977198 + 3613;26141;1314;1435;67633;3003339 + 3614;26148;1314;1435;67633;3003339 + 3615;26160;1314;1435;67633;3003339 + 3616;26162;1314;1436;67633;3029501 + 3617;26172;1314;1436;67633;3029501 + 3618;26183;1314;1437;67633;3055684 + 3619;26184;1314;1437;67633;3055684 + 3620;26196;1314;1437;67633;3055684 + 3621;26205;1314;1438;67633;3081889 + 3622;26208;1314;1438;67633;3081889 + 3623;26219;1314;1439;67633;3108108 + 3624;26220;1314;1439;67633;3108108 + 3625;26232;1314;1439;67633;3108108 + 3626;26235;1314;1440;67633;3134343 + 3627;26244;1314;1440;67633;3134343 + 3628;26249;1314;1441;67633;3160592 + 3629;26256;1314;1441;67633;3160592 + 3630;26268;1314;1441;67633;3160592 + 3631;26269;1314;1442;67633;3186861 + 3632;26280;1314;1442;67633;3186861 + 3633;26284;1314;1443;67633;3213145 + 3634;26292;1314;1443;67633;3213145 + 3635;26301;1314;1444;67633;3239446 + 3636;26304;1314;1444;67633;3239446 + 3637;26316;1314;1444;67633;3239446 + 3638;26318;1314;1445;67633;3265764 + 3639;26328;1314;1445;67633;3265764 + 3640;26330;1314;1446;67633;3292094 + 3641;26340;1314;1446;67633;3292094 + 3642;26343;1314;1447;67633;3318437 + 3643;26352;1314;1447;67633;3318437 + 3644;26357;1314;1448;67633;3344794 + 3645;26364;1314;1448;67633;3344794 + 3646;26375;1324;1449;63763;3131115 + 3647;26376;1324;1449;63763;3131115 + 3648;26388;1324;1449;63763;3131115 + 3649;26390;1324;1450;63763;3157505 + 3650;26400;1324;1450;63763;3157505 + 3651;26409;1324;1451;63763;3183914 + 3652;26412;1324;1451;63763;3183914 + 3653;26424;1324;1451;63763;3183914 + 3654;26433;1324;1452;63763;3210347 + 3655;26436;1324;1452;63763;3210347 + 3656;26448;1324;1452;63763;3210347 + 3657;26457;1324;1453;63763;3236804 + 3658;26460;1324;1453;63763;3236804 + 3659;26470;1324;1454;63763;3263274 + 3660;26472;1324;1454;63763;3263274 + 3661;26484;1324;1454;63763;3263274 + 3662;26489;1324;1455;63763;3289763 + 3663;26496;1324;1455;63763;3289763 + 3664;26502;1325;1456;64351;3292144 + 3665;26508;1325;1456;64351;3292144 + 3666;26516;1325;1457;64351;3318660 + 3667;26520;1325;1457;64351;3318660 + 3668;26531;1325;1458;64351;3345191 + 3669;26532;1325;1458;64351;3345191 + 3670;26544;1325;1458;64351;3345191 + 3671;26555;1325;1459;64351;3371746 + 3672;26556;1325;1459;64351;3371746 + 3673;26568;1325;1459;64351;3371746 + 3674;26573;1331;1460;61273;3253218 + 3675;26580;1331;1460;61273;3253218 + 3676;26592;1331;1460;61273;3253218 + 3677;26597;1331;1461;61273;3279815 + 3678;26604;1331;1461;61273;3279815 + 3679;26614;1331;1462;61273;3306429 + 3680;26616;1331;1462;61273;3306429 + 3681;26628;1331;1462;61273;3306429 + 3682;26628;1331;1463;61273;3333057 + 3683;26640;1333;1463;61393;3284541 + 3684;26643;1333;1464;61393;3311184 + 3685;26652;1333;1464;61393;3311184 + 3686;26656;1333;1465;61393;3337840 + 3687;26664;1333;1465;61393;3337840 + 3688;26674;1338;1466;61746;3242939 + 3689;26676;1338;1466;61746;3242939 + 3690;26688;1338;1466;61746;3242939 + 3691;26688;1338;1467;61746;3269627 + 3692;26700;1338;1467;61746;3269627 + 3693;26711;1338;1468;61746;3296338 + 3694;26712;1338;1468;61746;3296338 + 3695;26724;1338;1468;61746;3296338 + 3696;26726;1338;1469;61746;3323064 + 3697;26736;1338;1469;61746;3323064 + 3698;26742;1338;1470;61746;3349806 + 3699;26748;1338;1470;61746;3349806 + 3700;26757;1338;1471;61746;3376563 + 3701;26760;1338;1471;61746;3376563 + 3702;26772;1338;1471;61746;3376563 + 3703;26779;1348;1472;58292;3158755 + 3704;26784;1351;1472;54239;3085050 + 3705;26796;1351;1472;54239;3085050 + 3706;26796;1351;1473;54239;3111846 + 3707;26808;1351;1473;54239;3111846 + 3708;26808;1351;1474;54239;3138654 + 3709;26820;1351;1474;54239;3138654 + 3710;26832;1351;1474;54239;3138654 + 3711;26832;1351;1475;54239;3165486 + 3712;26844;1351;1475;54239;3165486 + 3713;26844;1351;1476;54239;3192330 + 3714;26856;1351;1476;54239;3192330 + 3715;26858;1351;1477;54239;3219188 + 3716;26868;1351;1477;54239;3219188 + 3717;26878;1351;1478;54239;3246066 + 3718;26880;1351;1478;54239;3246066 + 3719;26892;1351;1478;54239;3246066 + 3720;26898;1351;1479;54239;3272964 + 3721;26904;1351;1479;54239;3272964 + 3722;26916;1351;1479;54239;3272964 + 3723;26920;1351;1480;54239;3299884 + 3724;26928;1351;1480;54239;3299884 + 3725;26939;1359;1481;53808;3129466 + 3726;26940;1359;1481;53808;3129466 + 3727;26952;1359;1481;53808;3129466 + 3728;26960;1359;1482;53808;3156426 + 3729;26964;1359;1482;53808;3156426 + 3730;26976;1361;1482;51078;3106921 + 3731;26978;1361;1483;51078;3133899 + 3732;26988;1361;1483;51078;3133899 + 3733;27000;1361;1483;51078;3133899 + 3734;27002;1361;1484;51078;3160901 + 3735;27012;1361;1484;51078;3160901 + 3736;27021;1361;1485;51078;3187922 + 3737;27024;1361;1485;51078;3187922 + 3738;27036;1361;1485;51078;3187922 + 3739;27036;1361;1486;51078;3214958 + 3740;27048;1361;1486;51078;3214958 + 3741;27052;1361;1487;51078;3242010 + 3742;27060;1361;1487;51078;3242010 + 3743;27068;1361;1488;51078;3269078 + 3744;27072;1361;1488;51078;3269078 + 3745;27083;1361;1489;51078;3296161 + 3746;27084;1361;1489;51078;3296161 + 3747;27096;1361;1489;51078;3296161 + 3748;27104;1361;1490;51078;3323265 + 3749;27108;1361;1490;51078;3323265 + 3750;27120;1361;1490;51078;3323265 + 3751;27122;1361;1491;51078;3350387 + 3752;27132;1361;1491;51078;3350387 + 3753;27137;1361;1492;51078;3377524 + 3754;27144;1361;1492;51078;3377524 + 3755;27156;1361;1492;51078;3377524 + 3756;27159;1361;1493;51078;3404683 + 3757;27168;1361;1493;51078;3404683 + 3758;27171;1361;1494;51078;3431854 + 3759;27180;1361;1494;51078;3431854 + 3760;27192;1361;1494;51078;3431854 + 3761;27193;1361;1495;51078;3459047 + 3762;27204;1364;1495;51869;3384628 + 3763;27216;1364;1495;51869;3384628 + 3764;27216;1364;1496;51869;3411844 + 3765;27228;1364;1496;51869;3411844 + 3766;27237;1364;1497;51869;3439081 + 3767;27240;1364;1497;51869;3439081 + 3768;27252;1364;1497;51869;3439081 + 3769;27258;1364;1498;51869;3466339 + 3770;27264;1364;1498;51869;3466339 + 3771;27276;1364;1498;51869;3466339 + 3772;27281;1364;1499;51869;3493620 + 3773;27288;1364;1499;51869;3493620 + 3774;27300;1364;1499;51869;3493620 + 3775;27303;1374;1500;48875;3271650 + 3776;27312;1374;1500;48875;3271650 + 3777;27318;1377;1501;48122;3223872 + 3778;27324;1377;1501;48122;3223872 + 3779;27336;1377;1501;48122;3223872 + 3780;27342;1377;1502;48122;3251214 + 3781;27348;1377;1502;48122;3251214 + 3782;27360;1377;1502;48122;3251214 + 3783;27361;1377;1503;48122;3278575 + 3784;27372;1377;1503;48122;3278575 + 3785;27384;1377;1503;48122;3278575 + 3786;27384;1377;1504;48122;3305959 + 3787;27396;1377;1504;48122;3305959 + 3788;27402;1377;1505;48122;3333361 + 3789;27408;1377;1505;48122;3333361 + 3790;27420;1377;1505;48122;3333361 + 3791;27423;1377;1506;48122;3360784 + 3792;27432;1377;1506;48122;3360784 + 3793;27444;1377;1506;48122;3360784 + 3794;27445;1377;1507;48122;3388229 + 3795;27456;1377;1507;48122;3388229 + 3796;27467;1377;1508;48122;3415696 + 3797;27468;1377;1508;48122;3415696 + 3798;27480;1377;1508;48122;3415696 + 3799;27488;1377;1509;48122;3443184 + 3800;27492;1377;1509;48122;3443184 + 3801;27504;1382;1509;46011;3317603 + 3802;27505;1382;1510;46011;3345108 + 3803;27516;1382;1510;46011;3345108 + 3804;27523;1382;1511;46011;3372631 + 3805;27528;1382;1511;46011;3372631 + 3806;27540;1382;1511;46011;3372631 + 3807;27547;1382;1512;46011;3400178 + 3808;27552;1382;1512;46011;3400178 + 3809;27564;1382;1512;46011;3400178 + 3810;27567;1382;1513;46011;3427745 + 3811;27576;1382;1513;46011;3427745 + 3812;27586;1382;1514;46011;3455331 + 3813;27588;1382;1514;46011;3455331 + 3814;27600;1382;1514;46011;3455331 + 3815;27601;1382;1515;46011;3482932 + 3816;27612;1382;1515;46011;3482932 + 3817;27618;1382;1516;46011;3510550 + 3818;27624;1382;1516;46011;3510550 + 3819;27636;1382;1516;46011;3510550 + 3820;27638;1385;1517;46543;3462606 + 3821;27648;1385;1517;46543;3462606 + 3822;27655;1385;1518;46543;3490261 + 3823;27660;1385;1518;46543;3490261 + 3824;27671;1385;1519;46543;3517932 + 3825;27672;1385;1519;46543;3517932 + 3826;27683;1385;1520;46543;3545615 + 3827;27684;1385;1520;46543;3545615 + 3828;27696;1385;1520;46543;3545615 + 3829;27707;1385;1521;46543;3573322 + 3830;27708;1385;1521;46543;3573322 + 3831;27720;1385;1521;46543;3573322 + 3832;27726;1395;1522;42732;3347866 + 3833;27732;1395;1522;42732;3347866 + 3834;27740;1398;1523;42285;3299279 + 3835;27744;1398;1523;42285;3299279 + 3836;27754;1398;1524;42285;3327033 + 3837;27756;1398;1524;42285;3327033 + 3838;27768;1398;1524;42285;3327033 + 3839;27769;1398;1525;42285;3354802 + 3840;27780;1398;1525;42285;3354802 + 3841;27791;1398;1526;42285;3382593 + 3842;27792;1398;1526;42285;3382593 + 3843;27804;1398;1526;42285;3382593 + 3844;27809;1398;1527;42285;3410402 + 3845;27816;1398;1527;42285;3410402 + 3846;27821;1398;1528;42285;3438223 + 3847;27828;1398;1528;42285;3438223 + 3848;27838;1398;1529;42285;3466061 + 3849;27840;1398;1529;42285;3466061 + 3850;27850;1398;1530;42285;3493911 + 3851;27852;1398;1530;42285;3493911 + 3852;27864;1398;1530;42285;3493911 + 3853;27870;1398;1531;42285;3521781 + 3854;27876;1398;1531;42285;3521781 + 3855;27885;1398;1532;42285;3549666 + 3856;27888;1398;1532;42285;3549666 + 3857;27898;1401;1533;39963;3501052 + 3858;27900;1401;1533;39963;3501052 + 3859;27912;1401;1533;39963;3501052 + 3860;27915;1401;1534;39963;3528967 + 3861;27924;1401;1534;39963;3528967 + 3862;27935;1401;1535;39963;3556902 + 3863;27936;1401;1535;39963;3556902 + 3864;27948;1401;1535;39963;3556902 + 3865;27949;1401;1536;39963;3584851 + 3866;27960;1401;1536;39963;3584851 + 3867;27971;1404;1537;40278;3536155 + 3868;27972;1404;1537;40278;3536155 + 3869;27984;1404;1537;40278;3536155 + 3870;27990;1406;1538;40535;3512943 + 3871;27996;1406;1538;40535;3512943 + 3872;28008;1406;1538;40535;3512943 + 3873;28011;1406;1539;40535;3540954 + 3874;28020;1406;1539;40535;3540954 + 3875;28031;1406;1540;40535;3568985 + 3876;28032;1406;1540;40535;3568985 + 3877;28043;1406;1541;40535;3597028 + 3878;28044;1406;1541;40535;3597028 + 3879;28056;1423;1541;35401;3158639 + 3880;28062;1423;1542;35401;3186701 + 3881;28068;1423;1542;35401;3186701 + 3882;28080;1423;1542;35401;3186701 + 3883;28085;1423;1543;35401;3214786 + 3884;28092;1423;1543;35401;3214786 + 3885;28104;1423;1543;35401;3214786 + 3886;28106;1423;1544;35401;3242892 + 3887;28116;1423;1544;35401;3242892 + 3888;28122;1424;1545;35482;3245051 + 3889;28128;1424;1545;35482;3245051 + 3890;28136;1424;1546;35482;3273187 + 3891;28140;1424;1546;35482;3273187 + 3892;28151;1424;1547;35482;3301338 + 3893;28152;1424;1547;35482;3301338 + 3894;28164;1424;1547;35482;3301338 + 3895;28174;1424;1548;35482;3329512 + 3896;28176;1424;1548;35482;3329512 + 3897;28188;1424;1548;35482;3329512 + 3898;28198;1424;1549;35482;3357710 + 3899;28200;1424;1549;35482;3357710 + 3900;28212;1424;1549;35482;3357710 + 3901;28217;1424;1550;35482;3385927 + 3902;28224;1424;1550;35482;3385927 + 3903;28236;1424;1550;35482;3385927 + 3904;28241;1424;1551;35482;3414168 + 3905;28248;1424;1551;35482;3414168 + 3906;28260;1424;1551;35482;3414168 + 3907;28263;1424;1552;35482;3442431 + 3908;28272;1424;1552;35482;3442431 + 3909;28277;1424;1553;35482;3470708 + 3910;28284;1424;1553;35482;3470708 + 3911;28291;1424;1554;35482;3498999 + 3912;28296;1424;1554;35482;3498999 + 3913;28304;1424;1555;35482;3527303 + 3914;28308;1424;1555;35482;3527303 + 3915;28320;1428;1555;35964;3423270 + 3916;28328;1428;1556;35964;3451598 + 3917;28332;1428;1556;35964;3451598 + 3918;28344;1428;1556;35964;3451598 + 3919;28347;1428;1557;35964;3479945 + 3920;28356;1428;1557;35964;3479945 + 3921;28366;1428;1558;35964;3508311 + 3922;28368;1428;1558;35964;3508311 + 3923;28380;1428;1558;35964;3508311 + 3924;28386;1428;1559;35964;3536697 + 3925;28392;1428;1559;35964;3536697 + 3926;28404;1428;1559;35964;3536697 + 3927;28410;1428;1560;35964;3565107 + 3928;28416;1428;1560;35964;3565107 + 3929;28426;1428;1561;35964;3593533 + 3930;28428;1428;1561;35964;3593533 + 3931;28440;1428;1561;35964;3593533 + 3932;28441;1428;1562;35964;3621974 + 3933;28452;1428;1562;35964;3621974 + 3934;28464;1428;1562;35964;3621974 + 3935;28465;1428;1563;35964;3650439 + 3936;28476;1428;1563;35964;3650439 + 3937;28484;1428;1564;35964;3678923 + 3938;28488;1428;1564;35964;3678923 + 3939;28496;1438;1565;34110;3446058 + 3940;28500;1438;1565;34110;3446058 + 3941;28512;1438;1565;34110;3446058 + 3942;28515;1438;1566;34110;3474573 + 3943;28524;1438;1566;34110;3474573 + 3944;28528;1438;1567;34110;3503101 + 3945;28536;1438;1567;34110;3503101 + 3946;28542;1438;1568;34110;3531643 + 3947;28548;1438;1568;34110;3531643 + 3948;28560;1438;1568;34110;3531643 + 3949;28561;1438;1569;34110;3560204 + 3950;28572;1438;1569;34110;3560204 + 3951;28582;1438;1570;34110;3588786 + 3952;28584;1438;1570;34110;3588786 + 3953;28596;1438;1570;34110;3588786 + 3954;28601;1438;1571;34110;3617387 + 3955;28608;1438;1571;34110;3617387 + 3956;28620;1438;1571;34110;3617387 + 3957;28621;1443;1572;32165;3514670 + 3958;28632;1443;1572;32165;3514670 + 3959;28637;1443;1573;32165;3543307 + 3960;28644;1443;1573;32165;3543307 + 3961;28649;1443;1574;32165;3571956 + 3962;28656;1443;1574;32165;3571956 + 3963;28668;1443;1574;32165;3571956 + 3964;28672;1448;1575;32411;3468905 + 3965;28680;1448;1575;32411;3468905 + 3966;28687;1448;1576;32411;3497592 + 3967;28692;1448;1576;32411;3497592 + 3968;28704;1448;1576;32411;3497592 + 3969;28706;1448;1577;32411;3526298 + 3970;28716;1448;1577;32411;3526298 + 3971;28721;1448;1578;32411;3555019 + 3972;28728;1448;1578;32411;3555019 + 3973;28740;1448;1578;32411;3555019 + 3974;28742;1448;1579;32411;3583761 + 3975;28752;1448;1579;32411;3583761 + 3976;28756;1448;1580;32411;3612517 + 3977;28764;1448;1580;32411;3612517 + 3978;28776;1448;1580;32411;3612517 + 3979;28778;1449;1581;32721;3614905 + 3980;28788;1449;1581;32721;3614905 + 3981;28790;1449;1582;32721;3643695 + 3982;28800;1449;1582;32721;3643695 + 3983;28806;1451;1583;31198;3619659 + 3984;28812;1451;1583;31198;3619659 + 3985;28822;1451;1584;31198;3648481 + 3986;28824;1451;1584;31198;3648481 + 3987;28836;1451;1584;31198;3648481 + 3988;28845;1451;1585;31198;3677326 + 3989;28848;1451;1585;31198;3677326 + 3990;28857;1458;1586;31182;3520663 + 3991;28860;1458;1586;31182;3520663 + 3992;28872;1458;1586;31182;3520663 + 3993;28877;1458;1587;31182;3549540 + 3994;28884;1458;1587;31182;3549540 + 3995;28896;1458;1587;31182;3549540 + 3996;28896;1458;1588;31182;3578436 + 3997;28908;1458;1588;31182;3578436 + 3998;28912;1458;1589;31182;3607348 + 3999;28920;1458;1589;31182;3607348 + 4000;28932;1458;1589;31182;3607348 + 4001;28934;1458;1590;31182;3636282 + 4002;28944;1458;1590;31182;3636282 + 4003;28955;1461;1591;29463;3585453 + 4004;28956;1461;1591;29463;3585453 + 4005;28968;1461;1591;29463;3585453 + 4006;28968;1461;1592;29463;3614421 + 4007;28980;1461;1592;29463;3614421 + 4008;28988;1471;1593;27701;3376405 + 4009;28992;1471;1593;27701;3376405 + 4010;29004;1477;1593;26556;3215389 + 4011;29012;1477;1594;26556;3244401 + 4012;29016;1477;1594;26556;3244401 + 4013;29024;1478;1595;26595;3246527 + 4014;29028;1478;1595;26595;3246527 + 4015;29036;1478;1596;26595;3275563 + 4016;29040;1478;1596;26595;3275563 + 4017;29052;1478;1596;26595;3275563 + 4018;29052;1478;1597;26595;3304615 + 4019;29064;1478;1597;26595;3304615 + 4020;29072;1478;1598;26595;3333687 + 4021;29076;1478;1598;26595;3333687 + 4022;29088;1478;1598;26595;3333687 + 4023;29096;1478;1599;26595;3362783 + 4024;29100;1478;1599;26595;3362783 + 4025;29112;1478;1599;26595;3362783 + 4026;29119;1478;1600;26595;3391902 + 4027;29124;1478;1600;26595;3391902 + 4028;29136;1478;1600;26595;3391902 + 4029;29142;1478;1601;26595;3421044 + 4030;29148;1478;1601;26595;3421044 + 4031;29160;1478;1601;26595;3421044 + 4032;29164;1478;1602;26595;3450208 + 4033;29172;1478;1602;26595;3450208 + 4034;29180;1478;1603;26595;3479388 + 4035;29184;1478;1603;26595;3479388 + 4036;29196;1478;1603;26595;3479388 + 4037;29202;1478;1604;26595;3508590 + 4038;29208;1478;1604;26595;3508590 + 4039;29217;1478;1605;26595;3537807 + 4040;29220;1478;1605;26595;3537807 + 4041;29232;1478;1605;26595;3537807 + 4042;29238;1478;1606;26595;3567045 + 4043;29244;1478;1606;26595;3567045 + 4044;29256;1478;1606;26595;3567045 + 4045;29258;1478;1607;26595;3596303 + 4046;29268;1478;1607;26595;3596303 + 4047;29276;1478;1608;26595;3625579 + 4048;29280;1478;1608;26595;3625579 + 4049;29292;1478;1608;26595;3625579 + 4050;29296;1478;1609;26595;3654875 + 4051;29304;1478;1609;26595;3654875 + 4052;29316;1478;1609;26595;3654875 + 4053;29316;1478;1610;26595;3684191 + 4054;29328;1478;1610;26595;3684191 + 4055;29340;1485;1610;24811;3495335 + 4056;29340;1485;1611;24811;3524675 + 4057;29352;1486;1611;24982;3497623 + 4058;29352;1486;1612;24982;3526975 + 4059;29364;1486;1612;24982;3526975 + 4060;29365;1486;1613;24982;3556340 + 4061;29376;1486;1613;24982;3556340 + 4062;29383;1486;1614;24982;3585723 + 4063;29388;1486;1614;24982;3585723 + 4064;29400;1486;1614;24982;3585723 + 4065;29401;1486;1615;24982;3615124 + 4066;29412;1486;1615;24982;3615124 + 4067;29416;1488;1616;24937;3590389 + 4068;29424;1488;1616;24937;3590389 + 4069;29436;1488;1616;24937;3590389 + 4070;29440;1488;1617;24937;3619829 + 4071;29448;1488;1617;24937;3619829 + 4072;29458;1488;1618;24937;3649287 + 4073;29460;1488;1618;24937;3649287 + 4074;29472;1488;1618;24937;3649287 + 4075;29477;1488;1619;24937;3678764 + 4076;29484;1488;1619;24937;3678764 + 4077;29496;1488;1619;24937;3678764 + 4078;29497;1488;1620;24937;3708261 + 4079;29508;1488;1620;24937;3708261 + 4080;29514;1489;1621;25193;3710671 + 4081;29520;1489;1621;25193;3710671 + 4082;29532;1489;1621;25193;3710671 + 4083;29536;1489;1622;25193;3740207 + 4084;29544;1489;1622;25193;3740207 + 4085;29550;1489;1623;25193;3769757 + 4086;29556;1489;1623;25193;3769757 + 4087;29567;1496;1624;24278;3609089 + 4088;29568;1496;1624;24278;3609089 + 4089;29580;1496;1624;24278;3609089 + 4090;29583;1496;1625;24278;3638672 + 4091;29592;1496;1625;24278;3638672 + 4092;29599;1496;1626;24278;3668271 + 4093;29604;1496;1626;24278;3668271 + 4094;29614;1496;1627;24278;3697885 + 4095;29616;1496;1627;24278;3697885 + 4096;29626;1496;1628;24278;3727511 + 4097;29628;1496;1628;24278;3727511 + 4098;29640;1496;1628;24278;3727511 + 4099;29642;1496;1629;24278;3757153 + 4100;29652;1496;1629;24278;3757153 + 4101;29661;1496;1630;24278;3786814 + 4102;29664;1496;1630;24278;3786814 + 4103;29673;1496;1631;24278;3816487 + 4104;29676;1496;1631;24278;3816487 + 4105;29687;1499;1632;24790;3764332 + 4106;29688;1499;1632;24790;3764332 + 4107;29700;1499;1632;24790;3764332 + 4108;29705;1499;1633;24790;3794037 + 4109;29712;1499;1633;24790;3794037 + 4110;29723;1499;1634;24790;3823760 + 4111;29724;1499;1634;24790;3823760 + 4112;29736;1499;1634;24790;3823760 + 4113;29745;1499;1635;24790;3853505 + 4114;29748;1499;1635;24790;3853505 + 4115;29760;1499;1635;24790;3853505 + 4116;29766;1509;1636;22637;3609136 + 4117;29772;1509;1636;22637;3609136 + 4118;29784;1509;1636;22637;3609136 + 4119;29790;1509;1637;22637;3638926 + 4120;29796;1509;1637;22637;3638926 + 4121;29808;1509;1637;22637;3638926 + 4122;29808;1509;1638;22637;3668734 + 4123;29820;1509;1638;22637;3668734 + 4124;29825;1509;1639;22637;3698559 + 4125;29832;1509;1639;22637;3698559 + 4126;29844;1509;1639;22637;3698559 + 4127;29846;1509;1640;22637;3728405 + 4128;29856;1509;1640;22637;3728405 + 4129;29860;1512;1641;21364;3675628 + 4130;29868;1512;1641;21364;3675628 + 4131;29875;1512;1642;21364;3705503 + 4132;29880;1512;1642;21364;3705503 + 4133;29892;1512;1642;21364;3705503 + 4134;29896;1512;1643;21364;3735399 + 4135;29904;1512;1643;21364;3735399 + 4136;29916;1512;1643;21364;3735399 + 4137;29916;1517;1644;21684;3627217 + 4138;29928;1517;1644;21684;3627217 + 4139;29939;1517;1645;21684;3657156 + 4140;29940;1517;1645;21684;3657156 + 4141;29952;1517;1645;21684;3657156 + 4142;29962;1517;1646;21684;3687118 + 4143;29964;1517;1646;21684;3687118 + 4144;29976;1517;1646;21684;3687118 + 4145;29982;1517;1647;21684;3717100 + 4146;29988;1517;1647;21684;3717100 + 4147;29994;1517;1648;21684;3747094 + 4148;30000;1517;1648;21684;3747094 + 4149;30012;1523;1648;20287;3580813 + 4150;30012;1523;1649;20287;3610825 + 4151;30024;1523;1649;20287;3610825 + 4152;30025;1523;1650;20287;3640850 + 4153;30036;1523;1650;20287;3640850 + 4154;30044;1523;1651;20287;3670894 + 4155;30048;1523;1651;20287;3670894 + 4156;30060;1523;1651;20287;3670894 + 4157;30063;1523;1652;20287;3700957 + 4158;30072;1523;1652;20287;3700957 + 4159;30084;1523;1652;20287;3700957 + 4160;30087;1523;1653;20287;3731044 + 4161;30096;1523;1653;20287;3731044 + 4162;30107;1523;1654;20287;3761151 + 4163;30108;1523;1654;20287;3761151 + 4164;30120;1523;1654;20287;3761151 + 4165;30124;1523;1655;20287;3791275 + 4166;30132;1527;1655;20010;3680085 + 4167;30144;1527;1655;20010;3680085 + 4168;30147;1527;1656;20010;3710232 + 4169;30156;1527;1656;20010;3710232 + 4170;30167;1527;1657;20010;3740399 + 4171;30168;1527;1657;20010;3740399 + 4172;30179;1527;1658;20010;3770578 + 4173;30180;1527;1658;20010;3770578 + 4174;30191;1536;1659;18688;3549658 + 4175;30192;1536;1659;18688;3549658 + 4176;30204;1536;1659;18688;3549658 + 4177;30208;1536;1660;18688;3579866 + 4178;30216;1536;1660;18688;3579866 + 4179;30221;1536;1661;18688;3610087 + 4180;30228;1536;1661;18688;3610087 + 4181;30240;1536;1661;18688;3610087 + 4182;30242;1536;1662;18688;3640329 + 4183;30252;1536;1662;18688;3640329 + 4184;30264;1536;1662;18688;3640329 + 4185;30265;1536;1663;18688;3670594 + 4186;30276;1536;1663;18688;3670594 + 4187;30281;1536;1664;18688;3700875 + 4188;30288;1536;1664;18688;3700875 + 4189;30295;1536;1665;18688;3731170 + 4190;30300;1536;1665;18688;3731170 + 4191;30312;1536;1665;18688;3731170 + 4192;30316;1536;1666;18688;3761486 + 4193;30324;1536;1666;18688;3761486 + 4194;30331;1536;1667;18688;3791817 + 4195;30336;1536;1667;18688;3791817 + 4196;30348;1536;1667;18688;3791817 + 4197;30348;1536;1668;18688;3822165 + 4198;30360;1536;1668;18688;3822165 + 4199;30361;1536;1669;18688;3852526 + 4200;30372;1536;1669;18688;3852526 + 4201;30384;1536;1669;18688;3852526 + 4202;30385;1536;1670;18688;3882911 + 4203;30396;1536;1670;18688;3882911 + 4204;30401;1536;1671;18688;3913312 + 4205;30408;1536;1671;18688;3913312 + 4206;30420;1536;1671;18688;3913312 + 4207;30424;1536;1672;18688;3943736 + 4208;30432;1536;1672;18688;3943736 + 4209;30441;1538;1673;19035;3918176 + 4210;30444;1538;1673;19035;3918176 + 4211;30456;1538;1673;19035;3918176 + 4212;30460;1538;1674;19035;3948636 + 4213;30468;1538;1674;19035;3948636 + 4214;30472;1538;1675;19035;3979108 + 4215;30480;1538;1675;19035;3979108 + 4216;30489;1538;1676;19035;4009597 + 4217;30492;1538;1676;19035;4009597 + 4218;30504;1538;1676;19035;4009597 + 4219;30505;1548;1677;18097;3758994 + 4220;30516;1548;1677;18097;3758994 + 4221;30520;1552;1678;16905;3676516 + 4222;30528;1552;1678;16905;3676516 + 4223;30536;1552;1679;16905;3707052 + 4224;30540;1552;1679;16905;3707052 + 4225;30552;1552;1679;16905;3707052 + 4226;30556;1552;1680;16905;3737608 + 4227;30564;1552;1680;16905;3737608 + 4228;30568;1552;1681;16905;3768176 + 4229;30576;1552;1681;16905;3768176 + 4230;30582;1552;1682;16905;3798758 + 4231;30588;1552;1682;16905;3798758 + 4232;30600;1552;1682;16905;3798758 + 4233;30604;1552;1683;16905;3829362 + 4234;30612;1552;1683;16905;3829362 + 4235;30624;1552;1683;16905;3829362 + 4236;30625;1552;1684;16905;3859987 + 4237;30636;1552;1684;16905;3859987 + 4238;30648;1552;1684;16905;3859987 + 4239;30649;1552;1685;16905;3890636 + 4240;30660;1552;1685;16905;3890636 + 4241;30672;1552;1685;16905;3890636 + 4242;30673;1552;1686;16905;3921309 + 4243;30684;1552;1686;16905;3921309 + 4244;30695;1564;1687;15810;3611260 + 4245;30696;1564;1687;15810;3611260 + 4246;30708;1564;1687;15810;3611260 + 4247;30708;1564;1688;15810;3641968 + 4248;30720;1564;1688;15810;3641968 + 4249;30731;1564;1689;15810;3672699 + 4250;30732;1564;1689;15810;3672699 + 4251;30744;1564;1689;15810;3672699 + 4252;30745;1564;1690;15810;3703444 + 4253;30756;1564;1690;15810;3703444 + 4254;30761;1564;1691;15810;3734205 + 4255;30768;1564;1691;15810;3734205 + 4256;30774;1564;1692;15810;3764979 + 4257;30780;1564;1692;15810;3764979 + 4258;30791;1564;1693;15810;3795770 + 4259;30792;1564;1693;15810;3795770 + 4260;30804;1564;1693;15810;3795770 + 4261;30812;1564;1694;15810;3826582 + 4262;30816;1564;1694;15810;3826582 + 4263;30828;1564;1694;15810;3826582 + 4264;30830;1564;1695;15810;3857412 + 4265;30840;1564;1695;15810;3857412 + 4266;30852;1564;1695;15810;3857412 + 4267;30852;1564;1696;15810;3888264 + 4268;30864;1564;1696;15810;3888264 + 4269;30870;1564;1697;15810;3919134 + 4270;30876;1564;1697;15810;3919134 + 4271;30883;1572;1698;14728;3721430 + 4272;30888;1572;1698;14728;3721430 + 4273;30895;1572;1699;14728;3752325 + 4274;30900;1572;1699;14728;3752325 + 4275;30910;1572;1700;14728;3783235 + 4276;30912;1572;1700;14728;3783235 + 4277;30924;1572;1700;14728;3783235 + 4278;30933;1572;1701;14728;3814168 + 4279;30936;1572;1701;14728;3814168 + 4280;30946;1572;1702;14728;3845114 + 4281;30948;1572;1702;14728;3845114 + 4282;30960;1572;1702;14728;3845114 + 4283;30966;1572;1703;14728;3876080 + 4284;30972;1572;1703;14728;3876080 + 4285;30984;1572;1703;14728;3876080 + 4286;30988;1577;1704;14477;3763633 + 4287;30996;1577;1704;14477;3763633 + 4288;31008;1577;1704;14477;3763633 + 4289;31010;1577;1705;14477;3794643 + 4290;31020;1577;1705;14477;3794643 + 4291;31030;1577;1706;14477;3825673 + 4292;31032;1577;1706;14477;3825673 + 4293;31044;1577;1706;14477;3825673 + 4294;31051;1577;1707;14477;3856724 + 4295;31056;1577;1707;14477;3856724 + 4296;31068;1577;1707;14477;3856724 + 4297;31071;1577;1708;14477;3887795 + 4298;31080;1577;1708;14477;3887795 + 4299;31090;1577;1709;14477;3918885 + 4300;31092;1577;1709;14477;3918885 + 4301;31104;1579;1709;14715;3861387 + 4302;31109;1579;1710;14715;3892496 + 4303;31116;1579;1710;14715;3892496 + 4304;31126;1579;1711;14715;3923622 + 4305;31128;1579;1711;14715;3923622 + 4306;31140;1579;1711;14715;3923622 + 4307;31141;1579;1712;14715;3954763 + 4308;31152;1579;1712;14715;3954763 + 4309;31156;1579;1713;14715;3985919 + 4310;31164;1579;1713;14715;3985919 + 4311;31175;1579;1714;14715;4017094 + 4312;31176;1579;1714;14715;4017094 + 4313;31188;1579;1714;14715;4017094 + 4314;31198;1586;1715;13726;3846517 + 4315;31200;1586;1715;13726;3846517 + 4316;31212;1586;1715;13726;3846517 + 4317;31221;1586;1716;13726;3877738 + 4318;31224;1586;1716;13726;3877738 + 4319;31236;1586;1716;13726;3877738 + 4320;31244;1586;1717;13726;3908982 + 4321;31248;1586;1717;13726;3908982 + 4322;31256;1586;1718;13726;3940238 + 4323;31260;1586;1718;13726;3940238 + 4324;31271;1586;1719;13726;3971509 + 4325;31272;1586;1719;13726;3971509 + 4326;31283;1586;1720;13726;4002792 + 4327;31284;1586;1720;13726;4002792 + 4328;31296;1586;1720;13726;4002792 + 4329;31296;1586;1721;13726;4034088 + 4330;31308;1586;1721;13726;4034088 + 4331;31314;1586;1722;13726;4065402 + 4332;31320;1586;1722;13726;4065402 + 4333;31332;1586;1722;13726;4065402 + 4334;31333;1595;1723;12617;3836010 + 4335;31344;1595;1723;12617;3836010 + 4336;31349;1595;1724;12617;3867359 + 4337;31356;1595;1724;12617;3867359 + 4338;31362;1595;1725;12617;3898721 + 4339;31368;1595;1725;12617;3898721 + 4340;31380;1595;1725;12617;3898721 + 4341;31383;1595;1726;12617;3930104 + 4342;31392;1595;1726;12617;3930104 + 4343;31395;1595;1727;12617;3961499 + 4344;31404;1595;1727;12617;3961499 + 4345;31410;1595;1728;12617;3992909 + 4346;31416;1595;1728;12617;3992909 + 4347;31428;1595;1728;12617;3992909 + 4348;31434;1595;1729;12617;4024343 + 4349;31440;1595;1729;12617;4024343 + 4350;31452;1595;1729;12617;4024343 + 4351;31454;1595;1730;12617;4055797 + 4352;31464;1595;1730;12617;4055797 + 4353;31476;1595;1730;12617;4055797 + 4354;31476;1595;1731;12617;4087273 + 4355;31488;1595;1731;12617;4087273 + 4356;31492;1595;1732;12617;4118765 + 4357;31500;1595;1732;12617;4118765 + 4358;31509;1611;1733;10805;3682954 + 4359;31512;1611;1733;10805;3682954 + 4360;31524;1611;1733;10805;3682954 + 4361;31531;1611;1734;10805;3714485 + 4362;31536;1611;1734;10805;3714485 + 4363;31548;1611;1734;10805;3714485 + 4364;31552;1611;1735;10805;3746037 + 4365;31560;1611;1735;10805;3746037 + 4366;31572;1611;1735;10805;3746037 + 4367;31572;1611;1736;10805;3777609 + 4368;31584;1611;1736;10805;3777609 + 4369;31584;1611;1737;10805;3809193 + 4370;31596;1611;1737;10805;3809193 + 4371;31608;1611;1737;10805;3809193 + 4372;31608;1611;1738;10805;3840801 + 4373;31620;1611;1738;10805;3840801 + 4374;31620;1611;1739;10805;3872421 + 4375;31632;1611;1739;10805;3872421 + 4376;31640;1611;1740;10805;3904061 + 4377;31644;1611;1740;10805;3904061 + 4378;31653;1611;1741;10805;3935714 + 4379;31656;1611;1741;10805;3935714 + 4380;31668;1611;1741;10805;3935714 + 4381;31675;1611;1742;10805;3967389 + 4382;31680;1611;1742;10805;3967389 + 4383;31692;1611;1742;10805;3967389 + 4384;31695;1621;1743;10030;3704597 + 4385;31704;1621;1743;10030;3704597 + 4386;31714;1621;1744;10030;3736311 + 4387;31716;1621;1744;10030;3736311 + 4388;31727;1621;1745;10030;3768038 + 4389;31728;1621;1745;10030;3768038 + 4390;31740;1621;1745;10030;3768038 + 4391;31743;1621;1746;10030;3799781 + 4392;31752;1621;1746;10030;3799781 + 4393;31762;1621;1747;10030;3831543 + 4394;31764;1621;1747;10030;3831543 + 4395;31776;1621;1747;10030;3831543 + 4396;31785;1621;1748;10030;3863328 + 4397;31788;1621;1748;10030;3863328 + 4398;31800;1621;1748;10030;3863328 + 4399;31803;1621;1749;10030;3895131 + 4400;31812;1621;1749;10030;3895131 + 4401;31822;1621;1750;10030;3926953 + 4402;31824;1621;1750;10030;3926953 + 4403;31836;1621;1750;10030;3926953 + 4404;31837;1621;1751;10030;3958790 + 4405;31848;1621;1751;10030;3958790 + 4406;31854;1621;1752;10030;3990644 + 4407;31860;1621;1752;10030;3990644 + 4408;31872;1621;1752;10030;3990644 + 4409;31877;1621;1753;10030;4022521 + 4410;31884;1621;1753;10030;4022521 + 4411;31890;1621;1754;10030;4054411 + 4412;31896;1621;1754;10030;4054411 + 4413;31902;1621;1755;10030;4086313 + 4414;31908;1621;1755;10030;4086313 + 4415;31920;1621;1755;10030;4086313 + 4416;31924;1621;1756;10030;4118237 + 4417;31932;1621;1756;10030;4118237 + 4418;31938;1621;1757;10030;4150175 + 4419;31944;1621;1757;10030;4150175 + 4420;31956;1621;1757;10030;4150175 + 4421;31957;1621;1758;10030;4182132 + 4422;31968;1621;1758;10030;4182132 + 4423;31969;1621;1759;10030;4214101 + 4424;31980;1621;1759;10030;4214101 + 4425;31992;1621;1759;10030;4214101 + 4426;31993;1621;1760;10030;4246094 + 4427;32004;1621;1760;10030;4246094 + 4428;32009;1621;1761;10030;4278103 + 4429;32016;1621;1761;10030;4278103 + 4430;32027;1625;1762;10032;4191831 + 4431;32028;1625;1762;10032;4191831 + 4432;32040;1625;1762;10032;4191831 + 4433;32040;1625;1763;10032;4223871 + 4434;32052;1625;1763;10032;4223871 + 4435;32054;1625;1764;10032;4255925 + 4436;32064;1625;1764;10032;4255925 + 4437;32075;1632;1765;9651;4080392 + 4438;32076;1632;1765;9651;4080392 + 4439;32088;1632;1765;9651;4080392 + 4440;32096;1632;1766;9651;4112488 + 4441;32100;1632;1766;9651;4112488 + 4442;32112;1632;1766;9651;4112488 + 4443;32118;1632;1767;9651;4144606 + 4444;32124;1632;1767;9651;4144606 + 4445;32130;1632;1768;9651;4176736 + 4446;32136;1632;1768;9651;4176736 + 4447;32148;1632;1768;9651;4176736 + 4448;32154;1632;1769;9651;4208890 + 4449;32160;1632;1769;9651;4208890 + 4450;32172;1632;1769;9651;4208890 + 4451;32177;1634;1770;9670;4181599 + 4452;32184;1634;1770;9670;4181599 + 4453;32189;1634;1771;9670;4213788 + 4454;32196;1634;1771;9670;4213788 + 4455;32201;1634;1772;9670;4245989 + 4456;32208;1634;1772;9670;4245989 + 4457;32220;1634;1772;9670;4245989 + 4458;32223;1637;1773;9677;4188848 + 4459;32232;1637;1773;9677;4188848 + 4460;32238;1637;1774;9677;4221086 + 4461;32244;1637;1774;9677;4221086 + 4462;32253;1637;1775;9677;4253339 + 4463;32256;1637;1775;9677;4253339 + 4464;32268;1637;1775;9677;4253339 + 4465;32273;1649;1776;9114;3926480 + 4466;32280;1649;1776;9114;3926480 + 4467;32292;1649;1776;9114;3926480 + 4468;32294;1649;1777;9114;3958774 + 4469;32304;1649;1777;9114;3958774 + 4470;32315;1649;1778;9114;3991089 + 4471;32316;1649;1778;9114;3991089 + 4472;32328;1649;1778;9114;3991089 + 4473;32329;1649;1779;9114;4023418 + 4474;32340;1649;1779;9114;4023418 + 4475;32341;1649;1780;9114;4055759 + 4476;32352;1649;1780;9114;4055759 + 4477;32364;1649;1780;9114;4055759 + 4478;32365;1649;1781;9114;4088124 + 4479;32376;1649;1781;9114;4088124 + 4480;32378;1649;1782;9114;4120502 + 4481;32388;1649;1782;9114;4120502 + 4482;32391;1649;1783;9114;4152893 + 4483;32400;1649;1783;9114;4152893 + 4484;32412;1649;1783;9114;4152893 + 4485;32412;1649;1784;9114;4185305 + 4486;32424;1649;1784;9114;4185305 + 4487;32425;1649;1785;9114;4217730 + 4488;32436;1649;1785;9114;4217730 + 4489;32437;1649;1786;9114;4250167 + 4490;32448;1649;1786;9114;4250167 + 4491;32455;1649;1787;9114;4282622 + 4492;32460;1649;1787;9114;4282622 + 4493;32472;1649;1787;9114;4282622 + 4494;32477;1649;1788;9114;4315099 + 4495;32484;1649;1788;9114;4315099 + 4496;32489;1649;1789;9114;4347588 + 4497;32496;1649;1789;9114;4347588 + 4498;32505;1656;1790;8563;4169354 + 4499;32508;1656;1790;8563;4169354 + 4500;32520;1656;1790;8563;4169354 + 4501;32527;1656;1791;8563;4201881 + 4502;32532;1656;1791;8563;4201881 + 4503;32540;1656;1792;8563;4234421 + 4504;32544;1656;1792;8563;4234421 + 4505;32554;1656;1793;8563;4266975 + 4506;32556;1656;1793;8563;4266975 + 4507;32568;1656;1793;8563;4266975 + 4508;32569;1656;1794;8563;4299544 + 4509;32580;1656;1794;8563;4299544 + 4510;32581;1656;1795;8563;4332125 + 4511;32592;1656;1795;8563;4332125 + 4512;32602;1656;1796;8563;4364727 + 4513;32604;1656;1796;8563;4364727 + 4514;32616;1659;1796;8724;4274149 + 4515;32622;1659;1797;8724;4306771 + 4516;32628;1659;1797;8724;4306771 + 4517;32640;1659;1797;8724;4306771 + 4518;32641;1659;1798;8724;4339412 + 4519;32652;1659;1798;8724;4339412 + 4520;32660;1663;1799;8274;4251063 + 4521;32664;1663;1799;8274;4251063 + 4522;32676;1663;1799;8274;4251063 + 4523;32676;1663;1800;8274;4283739 + 4524;32688;1663;1800;8274;4283739 + 4525;32693;1663;1801;8274;4316432 + 4526;32700;1663;1801;8274;4316432 + 4527;32712;1663;1801;8274;4316432 + 4528;32712;1663;1802;8274;4349144 + 4529;32724;1663;1802;8274;4349144 + 4530;32736;1663;1802;8274;4349144 + 4531;32736;1663;1803;8274;4381880 + 4532;32748;1663;1803;8274;4381880 + 4533;32757;1663;1804;8274;4414637 + 4534;32760;1663;1804;8274;4414637 + 4535;32772;1663;1804;8274;4414637 + 4536;32780;1673;1805;7922;4143655 + 4537;32784;1677;1805;7816;4021669 + 4538;32796;1677;1805;7816;4021669 + 4539;32801;1677;1806;7816;4054470 + 4540;32808;1677;1806;7816;4054470 + 4541;32820;1677;1806;7816;4054470 + 4542;32822;1677;1807;7816;4087292 + 4543;32832;1677;1807;7816;4087292 + 4544;32840;1677;1808;7816;4120132 + 4545;32844;1677;1808;7816;4120132 + 4546;32856;1677;1808;7816;4120132 + 4547;32864;1677;1809;7816;4152996 + 4548;32868;1677;1809;7816;4152996 + 4549;32877;1677;1810;7816;4185873 + 4550;32880;1677;1810;7816;4185873 + 4551;32892;1677;1810;7816;4185873 + 4552;32895;1677;1811;7816;4218768 + 4553;32904;1677;1811;7816;4218768 + 4554;32911;1677;1812;7816;4251679 + 4555;32916;1677;1812;7816;4251679 + 4556;32928;1677;1812;7816;4251679 + 4557;32932;1677;1813;7816;4284611 + 4558;32940;1677;1813;7816;4284611 + 4559;32944;1679;1814;7859;4256463 + 4560;32952;1679;1814;7859;4256463 + 4561;32960;1679;1815;7859;4289423 + 4562;32964;1679;1815;7859;4289423 + 4563;32973;1679;1816;7859;4322396 + 4564;32976;1679;1816;7859;4322396 + 4565;32988;1679;1816;7859;4322396 + 4566;32997;1689;1817;7226;4048813 + 4567;33000;1689;1817;7226;4048813 + 4568;33010;1692;1818;6751;3989497 + 4569;33012;1692;1818;6751;3989497 + 4570;33022;1692;1819;6751;4022519 + 4571;33024;1692;1819;6751;4022519 + 4572;33036;1692;1819;6751;4022519 + 4573;33044;1692;1820;6751;4055563 + 4574;33048;1692;1820;6751;4055563 + 4575;33060;1692;1820;6751;4055563 + 4576;33063;1692;1821;6751;4088626 + 4577;33072;1692;1821;6751;4088626 + 4578;33084;1692;1821;6751;4088626 + 4579;33086;1692;1822;6751;4121712 + 4580;33096;1692;1822;6751;4121712 + 4581;33107;1695;1823;6746;4062325 + 4582;33108;1695;1823;6746;4062325 + 4583;33120;1695;1823;6746;4062325 + 4584;33125;1698;1824;6680;4002802 + 4585;33132;1698;1824;6680;4002802 + 4586;33138;1698;1825;6680;4035940 + 4587;33144;1698;1825;6680;4035940 + 4588;33152;1698;1826;6680;4069092 + 4589;33156;1698;1826;6680;4069092 + 4590;33168;1698;1826;6680;4069092 + 4591;33169;1698;1827;6680;4102261 + 4592;33180;1698;1827;6680;4102261 + 4593;33191;1698;1828;6680;4135452 + 4594;33192;1698;1828;6680;4135452 + 4595;33204;1698;1828;6680;4135452 + 4596;33207;1698;1829;6680;4168659 + 4597;33216;1698;1829;6680;4168659 + 4598;33225;1698;1830;6680;4201884 + 4599;33228;1698;1830;6680;4201884 + 4600;33238;1698;1831;6680;4235122 + 4601;33240;1698;1831;6680;4235122 + 4602;33252;1698;1831;6680;4235122 + 4603;33252;1698;1832;6680;4268374 + 4604;33264;1698;1832;6680;4268374 + 4605;33267;1698;1833;6680;4301641 + 4606;33276;1698;1833;6680;4301641 + 4607;33281;1704;1834;6254;4149169 + 4608;33288;1704;1834;6254;4149169 + 4609;33296;1704;1835;6254;4182465 + 4610;33300;1704;1835;6254;4182465 + 4611;33311;1704;1836;6254;4215776 + 4612;33312;1704;1836;6254;4215776 + 4613;33324;1704;1836;6254;4215776 + 4614;33328;1704;1837;6254;4249104 + 4615;33336;1704;1837;6254;4249104 + 4616;33343;1704;1838;6254;4282447 + 4617;33348;1704;1838;6254;4282447 + 4618;33360;1704;1838;6254;4282447 + 4619;33361;1704;1839;6254;4315808 + 4620;33372;1705;1839;6305;4284778 + 4621;33384;1705;1839;6305;4284778 + 4622;33384;1705;1840;6305;4318162 + 4623;33396;1705;1840;6305;4318162 + 4624;33404;1705;1841;6305;4351566 + 4625;33408;1705;1841;6305;4351566 + 4626;33420;1705;1841;6305;4351566 + 4627;33420;1705;1842;6305;4384986 + 4628;33432;1705;1842;6305;4384986 + 4629;33440;1705;1843;6305;4418426 + 4630;33444;1705;1843;6305;4418426 + 4631;33452;1705;1844;6305;4451878 + 4632;33456;1705;1844;6305;4451878 + 4633;33464;1705;1845;6305;4485342 + 4634;33468;1705;1845;6305;4485342 + 4635;33479;1705;1846;6305;4518821 + 4636;33480;1705;1846;6305;4518821 + 4637;33492;1705;1846;6305;4518821 + 4638;33494;1713;1847;6052;4303396 + 4639;33504;1713;1847;6052;4303396 + 4640;33506;1713;1848;6052;4336902 + 4641;33516;1713;1848;6052;4336902 + 4642;33523;1713;1849;6052;4370425 + 4643;33528;1713;1849;6052;4370425 + 4644;33540;1713;1849;6052;4370425 + 4645;33543;1713;1850;6052;4403968 + 4646;33552;1713;1850;6052;4403968 + 4647;33559;1713;1851;6052;4437527 + 4648;33564;1713;1851;6052;4437527 + 4649;33576;1713;1851;6052;4437527 + 4650;33582;1713;1852;6052;4471109 + 4651;33588;1713;1852;6052;4471109 + 4652;33600;1713;1852;6052;4471109 + 4653;33605;1713;1853;6052;4504714 + 4654;33612;1713;1853;6052;4504714 + 4655;33624;1713;1853;6052;4504714 + 4656;33627;1713;1854;6052;4538341 + 4657;33636;1713;1854;6052;4538341 + 4658;33644;1713;1855;6052;4571985 + 4659;33648;1713;1855;6052;4571985 + 4660;33660;1713;1855;6052;4571985 + 4661;33664;1719;1856;6023;4418176 + 4662;33672;1719;1856;6023;4418176 + 4663;33678;1719;1857;6023;4451854 + 4664;33684;1719;1857;6023;4451854 + 4665;33694;1719;1858;6023;4485548 + 4666;33696;1719;1858;6023;4485548 + 4667;33708;1719;1858;6023;4485548 + 4668;33713;1719;1859;6023;4519261 + 4669;33720;1719;1859;6023;4519261 + 4670;33732;1719;1859;6023;4519261 + 4671;33732;1719;1860;6023;4552993 + 4672;33744;1719;1860;6023;4552993 + 4673;33750;1729;1861;5759;4273013 + 4674;33756;1733;1861;5340;4147005 + 4675;33766;1734;1862;5362;4149219 + 4676;33768;1734;1862;5362;4149219 + 4677;33780;1734;1862;5362;4149219 + 4678;33781;1734;1863;5362;4183000 + 4679;33792;1734;1863;5362;4183000 + 4680;33793;1734;1864;5362;4216793 + 4681;33804;1734;1864;5362;4216793 + 4682;33811;1734;1865;5362;4250604 + 4683;33816;1734;1865;5362;4250604 + 4684;33827;1734;1866;5362;4284431 + 4685;33828;1734;1866;5362;4284431 + 4686;33840;1734;1866;5362;4284431 + 4687;33842;1734;1867;5362;4318273 + 4688;33852;1734;1867;5362;4318273 + 4689;33864;1734;1867;5362;4318273 + 4690;33866;1734;1868;5362;4352139 + 4691;33876;1734;1868;5362;4352139 + 4692;33882;1734;1869;5362;4386021 + 4693;33888;1734;1869;5362;4386021 + 4694;33900;1734;1869;5362;4386021 + 4695;33903;1734;1870;5362;4419924 + 4696;33912;1734;1870;5362;4419924 + 4697;33924;1734;1870;5362;4419924 + 4698;33927;1734;1871;5362;4453851 + 4699;33936;1734;1871;5362;4453851 + 4700;33948;1734;1871;5362;4453851 + 4701;33951;1734;1872;5362;4487802 + 4702;33960;1734;1872;5362;4487802 + 4703;33966;1734;1873;5362;4521768 + 4704;33972;1734;1873;5362;4521768 + 4705;33984;1734;1873;5362;4521768 + 4706;33986;1734;1874;5362;4555754 + 4707;33996;1734;1874;5362;4555754 + 4708;34004;1734;1875;5362;4589758 + 4709;34008;1734;1875;5362;4589758 + 4710;34020;1736;1875;5437;4526602 + 4711;34025;1736;1876;5437;4560627 + 4712;34032;1736;1876;5437;4560627 + 4713;34044;1736;1876;5437;4560627 + 4714;34049;1736;1877;5437;4594676 + 4715;34056;1736;1877;5437;4594676 + 4716;34063;1736;1878;5437;4628739 + 4717;34068;1736;1878;5437;4628739 + 4718;34080;1736;1878;5437;4628739 + 4719;34087;1743;1879;5137;4441221 + 4720;34092;1743;1879;5137;4441221 + 4721;34104;1743;1879;5137;4441221 + 4722;34111;1743;1880;5137;4475332 + 4723;34116;1743;1880;5137;4475332 + 4724;34123;1743;1881;5137;4509455 + 4725;34128;1743;1881;5137;4509455 + 4726;34135;1743;1882;5137;4543590 + 4727;34140;1743;1882;5137;4543590 + 4728;34152;1743;1882;5137;4543590 + 4729;34152;1753;1883;4902;4259642 + 4730;34164;1753;1883;4902;4259642 + 4731;34166;1755;1884;4836;4229982 + 4732;34176;1755;1884;4836;4229982 + 4733;34187;1755;1885;4836;4264169 + 4734;34188;1755;1885;4836;4264169 + 4735;34200;1757;1885;4856;4200274 + 4736;34211;1757;1886;4856;4234485 + 4737;34212;1757;1886;4856;4234485 + 4738;34224;1757;1886;4856;4234485 + 4739;34224;1757;1887;4856;4268709 + 4740;34236;1757;1887;4856;4268709 + 4741;34242;1757;1888;4856;4302951 + 4742;34248;1757;1888;4856;4302951 + 4743;34260;1757;1888;4856;4302951 + 4744;34261;1757;1889;4856;4337212 + 4745;34272;1757;1889;4856;4337212 + 4746;34284;1757;1889;4856;4337212 + 4747;34285;1757;1890;4856;4371497 + 4748;34296;1757;1890;4856;4371497 + 4749;34305;1757;1891;4856;4405802 + 4750;34308;1757;1891;4856;4405802 + 4751;34320;1757;1891;4856;4405802 + 4752;34327;1757;1892;4856;4440129 + 4753;34332;1757;1892;4856;4440129 + 4754;34344;1757;1892;4856;4440129 + 4755;34349;1757;1893;4856;4474478 + 4756;34356;1757;1893;4856;4474478 + 4757;34365;1757;1894;4856;4508843 + 4758;34368;1757;1894;4856;4508843 + 4759;34380;1757;1894;4856;4508843 + 4760;34387;1757;1895;4856;4543230 + 4761;34392;1757;1895;4856;4543230 + 4762;34404;1757;1895;4856;4543230 + 4763;34411;1769;1896;4595;4192799 + 4764;34416;1769;1896;4595;4192799 + 4765;34428;1769;1896;4595;4192799 + 4766;34428;1769;1897;4595;4227227 + 4767;34440;1769;1897;4595;4227227 + 4768;34444;1769;1898;4595;4261671 + 4769;34452;1769;1898;4595;4261671 + 4770;34464;1769;1898;4595;4261671 + 4771;34466;1769;1899;4595;4296137 + 4772;34476;1769;1899;4595;4296137 + 4773;34483;1769;1900;4595;4330620 + 4774;34488;1769;1900;4595;4330620 + 4775;34500;1769;1900;4595;4330620 + 4776;34507;1769;1901;4595;4365127 + 4777;34512;1769;1901;4595;4365127 + 4778;34521;1769;1902;4595;4399648 + 4779;34524;1769;1902;4595;4399648 + 4780;34536;1769;1902;4595;4399648 + 4781;34544;1769;1903;4595;4434192 + 4782;34548;1769;1903;4595;4434192 + 4783;34560;1769;1903;4595;4434192 + 4784;34564;1769;1904;4595;4468756 + 4785;34572;1769;1904;4595;4468756 + 4786;34579;1769;1905;4595;4503335 + 4787;34584;1769;1905;4595;4503335 + 4788;34592;1769;1906;4595;4537927 + 4789;34596;1769;1906;4595;4537927 + 4790;34608;1769;1906;4595;4537927 + 4791;34608;1769;1907;4595;4572535 + 4792;34620;1769;1907;4595;4572535 + 4793;34629;1778;1908;4387;4316849 + 4794;34632;1778;1908;4387;4316849 + 4795;34644;1778;1908;4387;4316849 + 4796;34653;1778;1909;4387;4351502 + 4797;34656;1778;1909;4387;4351502 + 4798;34668;1778;1909;4387;4351502 + 4799;34674;1778;1910;4387;4386176 + 4800;34680;1778;1910;4387;4386176 + 4801;34692;1778;1910;4387;4386176 + 4802;34694;1778;1911;4387;4420870 + 4803;34704;1778;1911;4387;4420870 + 4804;34710;1778;1912;4387;4455580 + 4805;34716;1778;1912;4387;4455580 + 4806;34724;1778;1913;4387;4490304 + 4807;34728;1778;1913;4387;4490304 + 4808;34740;1782;1913;4146;4360829 + 4809;34742;1782;1914;4146;4395571 + 4810;34752;1782;1914;4146;4395571 + 4811;34754;1782;1915;4146;4430325 + 4812;34764;1782;1915;4146;4430325 + 4813;34772;1782;1916;4146;4465097 + 4814;34776;1782;1916;4146;4465097 + 4815;34788;1782;1916;4146;4465097 + 4816;34791;1782;1917;4146;4499888 + 4817;34800;1782;1917;4146;4499888 + 4818;34809;1782;1918;4146;4534697 + 4819;34812;1782;1918;4146;4534697 + 4820;34824;1782;1918;4146;4534697 + 4821;34833;1782;1919;4146;4569530 + 4822;34836;1782;1919;4146;4569530 + 4823;34847;1786;1920;4225;4474648 + 4824;34848;1786;1920;4225;4474648 + 4825;34860;1786;1920;4225;4474648 + 4826;34864;1786;1921;4225;4509512 + 4827;34872;1786;1921;4225;4509512 + 4828;34884;1786;1921;4225;4509512 + 4829;34886;1794;1922;4062;4284156 + 4830;34896;1794;1922;4062;4284156 + 4831;34908;1794;1922;4062;4284156 + 4832;34909;1794;1923;4062;4319065 + 4833;34920;1794;1923;4062;4319065 + 4834;34930;1794;1924;4062;4353995 + 4835;34932;1794;1924;4062;4353995 + 4836;34942;1794;1925;4062;4388937 + 4837;34944;1794;1925;4062;4388937 + 4838;34956;1794;1925;4062;4388937 + 4839;34965;1794;1926;4062;4423902 + 4840;34968;1794;1926;4062;4423902 + 4841;34980;1794;1926;4062;4423902 + 4842;34980;1794;1927;4062;4458882 + 4843;34992;1794;1927;4062;4458882 + 4844;34999;1795;1928;4103;4461279 + 4845;35004;1795;1928;4103;4461279 + 4846;35016;1795;1928;4103;4461279 + 4847;35019;1795;1929;4103;4496298 + 4848;35028;1795;1929;4103;4496298 + 4849;35032;1795;1930;4103;4531330 + 4850;35040;1795;1930;4103;4531330 + 4851;35050;1795;1931;4103;4566380 + 4852;35052;1795;1931;4103;4566380 + 4853;35064;1795;1931;4103;4566380 + 4854;35073;1795;1932;4103;4601453 + 4855;35076;1795;1932;4103;4601453 + 4856;35088;1795;1932;4103;4601453 + 4857;35091;1802;1933;3827;4407804 + 4858;35100;1802;1933;3827;4407804 + 4859;35107;1802;1934;3827;4442911 + 4860;35112;1802;1934;3827;4442911 + 4861;35123;1802;1935;3827;4478034 + 4862;35124;1802;1935;3827;4478034 + 4863;35136;1802;1935;3827;4478034 + 4864;35143;1802;1936;3827;4513177 + 4865;35148;1802;1936;3827;4513177 + 4866;35160;1802;1936;3827;4513177 + 4867;35162;1802;1937;3827;4548339 + 4868;35172;1802;1937;3827;4548339 + 4869;35184;1802;1937;3827;4548339 + 4870;35186;1802;1938;3827;4583525 + 4871;35196;1802;1938;3827;4583525 + 4872;35200;1802;1939;3827;4618725 + 4873;35208;1802;1939;3827;4618725 + 4874;35216;1805;1940;3897;4555603 + 4875;35220;1805;1940;3897;4555603 + 4876;35231;1805;1941;3897;4590834 + 4877;35232;1805;1941;3897;4590834 + 4878;35244;1805;1941;3897;4590834 + 4879;35249;1805;1942;3897;4626083 + 4880;35256;1805;1942;3897;4626083 + 4881;35267;1805;1943;3897;4661350 + 4882;35268;1805;1943;3897;4661350 + 4883;35280;1805;1943;3897;4661350 + 4884;35286;1814;1944;3662;4400591 + 4885;35292;1814;1944;3662;4400591 + 4886;35304;1815;1944;3690;4367618 + 4887;35305;1815;1945;3690;4402923 + 4888;35316;1815;1945;3690;4402923 + 4889;35322;1815;1946;3690;4438245 + 4890;35328;1815;1946;3690;4438245 + 4891;35337;1815;1947;3690;4473582 + 4892;35340;1815;1947;3690;4473582 + 4893;35352;1815;1947;3690;4473582 + 4894;35359;1815;1948;3690;4508941 + 4895;35364;1815;1948;3690;4508941 + 4896;35372;1815;1949;3690;4544313 + 4897;35376;1815;1949;3690;4544313 + 4898;35388;1815;1949;3690;4544313 + 4899;35394;1817;1950;3700;4513700 + 4900;35400;1817;1950;3700;4513700 + 4901;35411;1822;1951;3435;4383789 + 4902;35412;1822;1951;3435;4383789 + 4903;35424;1822;1951;3435;4383789 + 4904;35429;1822;1952;3435;4419218 + 4905;35436;1822;1952;3435;4419218 + 4906;35448;1822;1952;3435;4419218 + 4907;35453;1822;1953;3435;4454671 + 4908;35460;1822;1953;3435;4454671 + 4909;35466;1822;1954;3435;4490137 + 4910;35472;1822;1954;3435;4490137 + 4911;35481;1822;1955;3435;4525618 + 4912;35484;1822;1955;3435;4525618 + 4913;35496;1826;1955;3483;4393034 + 4914;35498;1826;1956;3483;4428532 + 4915;35508;1826;1956;3483;4428532 + 4916;35511;1826;1957;3483;4464043 + 4917;35520;1826;1957;3483;4464043 + 4918;35528;1831;1958;3272;4333458 + 4919;35532;1831;1958;3272;4333458 + 4920;35544;1831;1958;3272;4333458 + 4921;35545;1832;1959;3292;4335736 + 4922;35556;1832;1959;3292;4335736 + 4923;35563;1832;1960;3292;4371299 + 4924;35568;1832;1960;3292;4371299 + 4925;35580;1841;1960;2977;4071171 + 4926;35586;1841;1961;2977;4106757 + 4927;35592;1841;1961;2977;4106757 + 4928;35598;1841;1962;2977;4142355 + 4929;35604;1841;1962;2977;4142355 + 4930;35616;1841;1962;2977;4142355 + 4931;35619;1841;1963;2977;4177974 + 4932;35628;1841;1963;2977;4177974 + 4933;35637;1841;1964;2977;4213611 + 4934;35640;1841;1964;2977;4213611 + 4935;35652;1841;1964;2977;4213611 + 4936;35656;1841;1965;2977;4249267 + 4937;35664;1841;1965;2977;4249267 + 4938;35670;1841;1966;2977;4284937 + 4939;35676;1841;1966;2977;4284937 + 4940;35687;1841;1967;2977;4320624 + 4941;35688;1841;1967;2977;4320624 + 4942;35700;1841;1967;2977;4320624 + 4943;35703;1841;1968;2977;4356327 + 4944;35712;1841;1968;2977;4356327 + 4945;35717;1841;1969;2977;4392044 + 4946;35724;1841;1969;2977;4392044 + 4947;35732;1841;1970;2977;4427776 + 4948;35736;1841;1970;2977;4427776 + 4949;35748;1841;1970;2977;4427776 + 4950;35750;1841;1971;2977;4463526 + 4951;35760;1841;1971;2977;4463526 + 4952;35765;1841;1972;2977;4499291 + 4953;35772;1841;1972;2977;4499291 + 4954;35784;1841;1972;2977;4499291 + 4955;35784;1841;1973;2977;4535075 + 4956;35796;1841;1973;2977;4535075 + 4957;35805;1841;1974;2977;4570880 + 4958;35808;1841;1974;2977;4570880 + 4959;35820;1841;1974;2977;4570880 + 4960;35826;1841;1975;2977;4606706 + 4961;35832;1841;1975;2977;4606706 + 4962;35844;1841;1975;2977;4606706 + 4963;35847;1841;1976;2977;4642553 + 4964;35856;1841;1976;2977;4642553 + 4965;35868;1841;1976;2977;4642553 + 4966;35871;1841;1977;2977;4678424 + 4967;35880;1841;1977;2977;4678424 + 4968;35884;1851;1978;2760;4379266 + 4969;35892;1851;1978;2760;4379266 + 4970;35900;1851;1979;2760;4415166 + 4971;35904;1851;1979;2760;4415166 + 4972;35916;1851;1979;2760;4415166 + 4973;35919;1851;1980;2760;4451085 + 4974;35928;1851;1980;2760;4451085 + 4975;35932;1851;1981;2760;4487017 + 4976;35940;1851;1981;2760;4487017 + 4977;35951;1851;1982;2760;4522968 + 4978;35952;1851;1982;2760;4522968 + 4979;35964;1851;1982;2760;4522968 + 4980;35967;1851;1983;2760;4558935 + 4981;35976;1851;1983;2760;4558935 + 4982;35988;1851;1983;2760;4558935 + 4983;35990;1851;1984;2760;4594925 + 4984;36000;1851;1984;2760;4594925 + 4985;36012;1851;1984;2760;4594925 + 4986;36014;1851;1985;2760;4630939 + 4987;36024;1851;1985;2760;4630939 + 4988;36036;1851;1985;2760;4630939 + 4989;36038;1851;1986;2760;4666977 + 4990;36048;1851;1986;2760;4666977 + 4991;36050;1851;1987;2760;4703027 + 4992;36060;1851;1987;2760;4703027 + 4993;36066;1851;1988;2760;4739093 + 4994;36072;1851;1988;2760;4739093 + 4995;36084;1851;1988;2760;4739093 + 4996;36090;1855;1989;2804;4640643 + 4997;36096;1855;1989;2804;4640643 + 4998;36108;1855;1989;2804;4640643 + 4999;36113;1865;1990;2630;4339211 + 5000;36120;1865;1990;2630;4339211 + 5001;36132;1865;1990;2630;4339211 + 5002;36136;1865;1991;2630;4375347 + 5003;36144;1865;1991;2630;4375347 + 5004;36156;1865;1991;2630;4375347 + 5005;36157;1865;1992;2630;4411504 + 5006;36168;1865;1992;2630;4411504 + 5007;36180;1865;1992;2630;4411504 + 5008;36181;1865;1993;2630;4447685 + 5009;36192;1865;1993;2630;4447685 + 5010;36201;1866;1994;2653;4450044 + 5011;36204;1866;1994;2653;4450044 + 5012;36216;1866;1994;2653;4450044 + 5013;36223;1866;1995;2653;4486267 + 5014;36228;1866;1995;2653;4486267 + 5015;36237;1866;1996;2653;4522504 + 5016;36240;1866;1996;2653;4522504 + 5017;36249;1866;1997;2653;4558753 + 5018;36252;1866;1997;2653;4558753 + 5019;36264;1866;1997;2653;4558753 + 5020;36270;1876;1998;2424;4255464 + 5021;36276;1876;1998;2424;4255464 + 5022;36283;1881;1999;2226;4121228 + 5023;36288;1881;1999;2226;4121228 + 5024;36299;1881;2000;2226;4157527 + 5025;36300;1881;2000;2226;4157527 + 5026;36312;1881;2000;2226;4157527 + 5027;36315;1881;2001;2226;4193842 + 5028;36324;1881;2001;2226;4193842 + 5029;36332;1881;2002;2226;4230174 + 5030;36336;1881;2002;2226;4230174 + 5031;36347;1881;2003;2226;4266521 + 5032;36348;1881;2003;2226;4266521 + 5033;36360;1881;2003;2226;4266521 + 5034;36369;1881;2004;2226;4302890 + 5035;36372;1881;2004;2226;4302890 + 5036;36384;1881;2004;2226;4302890 + 5037;36386;1881;2005;2226;4339276 + 5038;36396;1881;2005;2226;4339276 + 5039;36398;1881;2006;2226;4375674 + 5040;36408;1881;2006;2226;4375674 + 5041;36411;1881;2007;2226;4412085 + 5042;36420;1881;2007;2226;4412085 + 5043;36432;1881;2007;2226;4412085 + 5044;36433;1881;2008;2226;4448518 + 5045;36444;1881;2008;2226;4448518 + 5046;36456;1881;2008;2226;4448518 + 5047;36456;1881;2009;2226;4484974 + 5048;36468;1881;2009;2226;4484974 + 5049;36470;1881;2010;2226;4521444 + 5050;36480;1881;2010;2226;4521444 + 5051;36491;1881;2011;2226;4557935 + 5052;36492;1881;2011;2226;4557935 + 5053;36504;1881;2011;2226;4557935 + 5054;36515;1881;2012;2226;4594450 + 5055;36516;1881;2012;2226;4594450 + 5056;36528;1881;2012;2226;4594450 + 5057;36531;1881;2013;2226;4630981 + 5058;36540;1881;2013;2226;4630981 + 5059;36551;1881;2014;2226;4667532 + 5060;36552;1881;2014;2226;4667532 + 5061;36564;1881;2014;2226;4667532 + 5062;36571;1882;2015;2249;4669951 + 5063;36576;1882;2015;2249;4669951 + 5064;36588;1882;2015;2249;4669951 + 5065;36590;1892;2016;2082;4363984 + 5066;36600;1894;2016;2049;4295232 + 5067;36612;1894;2016;2049;4295232 + 5068;36612;1894;2017;2049;4331844 + 5069;36624;1894;2017;2049;4331844 + 5070;36626;1894;2018;2049;4368470 + 5071;36636;1894;2018;2049;4368470 + 5072;36642;1894;2019;2049;4405112 + 5073;36648;1894;2019;2049;4405112 + 5074;36660;1894;2019;2049;4405112 + 5075;36662;1896;2020;2054;4372935 + 5076;36672;1896;2020;2054;4372935 + 5077;36678;1896;2021;2054;4409613 + 5078;36684;1896;2021;2054;4409613 + 5079;36696;1896;2021;2054;4409613 + 5080;36701;1896;2022;2054;4446314 + 5081;36708;1896;2022;2054;4446314 + 5082;36720;1896;2022;2054;4446314 + 5083;36720;1896;2023;2054;4483034 + 5084;36732;1896;2023;2054;4483034 + 5085;36744;1896;2023;2054;4483034 + 5086;36744;1896;2024;2054;4519778 + 5087;36756;1896;2024;2054;4519778 + 5088;36767;1896;2025;2054;4556545 + 5089;36768;1896;2025;2054;4556545 + 5090;36780;1896;2025;2054;4556545 + 5091;36784;1896;2026;2054;4593329 + 5092;36792;1896;2026;2054;4593329 + 5093;36803;1896;2027;2054;4630132 + 5094;36804;1896;2027;2054;4630132 + 5095;36816;1904;2027;1878;4354024 + 5096;36823;1904;2028;1878;4390847 + 5097;36828;1904;2028;1878;4390847 + 5098;36835;1904;2029;1878;4427682 + 5099;36840;1904;2029;1878;4427682 + 5100;36852;1904;2029;1878;4427682 + 5101;36859;1904;2030;1878;4464541 + 5102;36864;1904;2030;1878;4464541 + 5103;36876;1904;2030;1878;4464541 + 5104;36879;1904;2031;1878;4501420 + 5105;36888;1904;2031;1878;4501420 + 5106;36896;1904;2032;1878;4538316 + 5107;36900;1904;2032;1878;4538316 + 5108;36909;1904;2033;1878;4575225 + 5109;36912;1904;2033;1878;4575225 + 5110;36924;1904;2033;1878;4575225 + 5111;36933;1904;2034;1878;4612158 + 5112;36936;1904;2034;1878;4612158 + 5113;36948;1904;2034;1878;4612158 + 5114;36950;1907;2035;1884;4545279 + 5115;36960;1907;2035;1884;4545279 + 5116;36968;1907;2036;1884;4582247 + 5117;36972;1907;2036;1884;4582247 + 5118;36983;1907;2037;1884;4619230 + 5119;36984;1907;2037;1884;4619230 + 5120;36996;1907;2037;1884;4619230 + 5121;37000;1907;2038;1884;4656230 + 5122;37008;1907;2038;1884;4656230 + 5123;37012;1907;2039;1884;4693242 + 5124;37020;1907;2039;1884;4693242 + 5125;37028;1907;2040;1884;4730270 + 5126;37032;1907;2040;1884;4730270 + 5127;37040;1907;2041;1884;4767310 + 5128;37044;1907;2041;1884;4767310 + 5129;37056;1907;2041;1884;4767310 + 5130;37064;1907;2042;1884;4804374 + 5131;37068;1907;2042;1884;4804374 + 5132;37080;1907;2042;1884;4804374 + 5133;37086;1907;2043;1884;4841460 + 5134;37092;1907;2043;1884;4841460 + 5135;37104;1907;2043;1884;4841460 + 5136;37105;1907;2044;1884;4878565 + 5137;37116;1907;2044;1884;4878565 + 5138;37118;1916;2045;1806;4603169 + 5139;37128;1916;2045;1806;4603169 + 5140;37135;1916;2046;1806;4640304 + 5141;37140;1916;2046;1806;4640304 + 5142;37152;1916;2046;1806;4640304 + 5143;37154;1922;2047;1729;4468310 + 5144;37164;1922;2047;1729;4468310 + 5145;37167;1922;2048;1729;4505477 + 5146;37176;1922;2048;1729;4505477 + 5147;37180;1922;2049;1729;4542657 + 5148;37188;1922;2049;1729;4542657 + 5149;37194;1922;2050;1729;4579851 + 5150;37200;1922;2050;1729;4579851 + 5151;37211;1922;2051;1729;4617062 + 5152;37212;1922;2051;1729;4617062 + 5153;37224;1922;2051;1729;4617062 + 5154;37235;1922;2052;1729;4654297 + 5155;37236;1922;2052;1729;4654297 + 5156;37248;1922;2052;1729;4654297 + 5157;37253;1922;2053;1729;4691550 + 5158;37260;1922;2053;1729;4691550 + 5159;37271;1922;2054;1729;4728821 + 5160;37272;1922;2054;1729;4728821 + 5161;37284;1922;2054;1729;4728821 + 5162;37286;1922;2055;1729;4766107 + 5163;37296;1922;2055;1729;4766107 + 5164;37300;1922;2056;1729;4803407 + 5165;37308;1922;2056;1729;4803407 + 5166;37317;1926;2057;1736;4700907 + 5167;37320;1926;2057;1736;4700907 + 5168;37332;1926;2057;1736;4700907 + 5169;37336;1926;2058;1736;4738243 + 5170;37344;1926;2058;1736;4738243 + 5171;37349;1926;2059;1736;4775592 + 5172;37356;1926;2059;1736;4775592 + 5173;37365;1926;2060;1736;4812957 + 5174;37368;1926;2060;1736;4812957 + 5175;37380;1933;2060;1634;4567586 + 5176;37382;1933;2061;1634;4604968 + 5177;37392;1933;2061;1634;4604968 + 5178;37404;1933;2061;1634;4604968 + 5179;37405;1933;2062;1634;4642373 + 5180;37416;1933;2062;1634;4642373 + 5181;37419;1933;2063;1634;4679792 + 5182;37428;1933;2063;1634;4679792 + 5183;37431;1934;2064;1646;4682100 + 5184;37440;1934;2064;1646;4682100 + 5185;37452;1934;2064;1646;4682100 + 5186;37455;1938;2065;1666;4578864 + 5187;37464;1938;2065;1666;4578864 + 5188;37474;1938;2066;1666;4616338 + 5189;37476;1938;2066;1666;4616338 + 5190;37488;1938;2066;1666;4616338 + 5191;37497;1943;2067;1550;4477586 + 5192;37500;1943;2067;1550;4477586 + 5193;37512;1943;2067;1550;4477586 + 5194;37512;1943;2068;1550;4515098 + 5195;37524;1943;2068;1550;4515098 + 5196;37529;1944;2069;1557;4517322 + 5197;37536;1944;2069;1557;4517322 + 5198;37541;1944;2070;1557;4554863 + 5199;37548;1944;2070;1557;4554863 + 5200;37560;1944;2070;1557;4554863 + 5201;37565;1944;2071;1557;4592428 + 5202;37572;1944;2071;1557;4592428 + 5203;37581;1944;2072;1557;4630009 + 5204;37584;1944;2072;1557;4630009 + 5205;37596;1944;2072;1557;4630009 + 5206;37597;1944;2073;1557;4667606 + 5207;37608;1944;2073;1557;4667606 + 5208;37615;1944;2074;1557;4705221 + 5209;37620;1944;2074;1557;4705221 + 5210;37632;1944;2074;1557;4705221 + 5211;37639;1946;2075;1571;4672201 + 5212;37644;1946;2075;1571;4672201 + 5213;37656;1946;2075;1571;4672201 + 5214;37657;1946;2076;1571;4709858 + 5215;37668;1946;2076;1571;4709858 + 5216;37670;1946;2077;1571;4747528 + 5217;37680;1946;2077;1571;4747528 + 5218;37682;1946;2078;1571;4785210 + 5219;37692;1946;2078;1571;4785210 + 5220;37698;1946;2079;1571;4822908 + 5221;37704;1946;2079;1571;4822908 + 5222;37716;1946;2079;1571;4822908 + 5223;37720;1946;2080;1571;4860628 + 5224;37728;1946;2080;1571;4860628 + 5225;37739;1946;2081;1571;4898367 + 5226;37740;1946;2081;1571;4898367 + 5227;37752;1946;2081;1571;4898367 + 5228;37757;1946;2082;1571;4936124 + 5229;37764;1946;2082;1571;4936124 + 5230;37776;1948;2082;1580;4865393 + 5231;37781;1948;2083;1580;4903174 + 5232;37788;1948;2083;1580;4903174 + 5233;37797;1948;2084;1580;4940971 + 5234;37800;1948;2084;1580;4940971 + 5235;37812;1948;2084;1580;4940971 + 5236;37817;1953;2085;1494;4801635 + 5237;37824;1953;2085;1494;4801635 + 5238;37836;1953;2085;1494;4801635 + 5239;37841;1955;2086;1513;4768497 + 5240;37848;1955;2086;1513;4768497 + 5241;37857;1955;2087;1513;4806354 + 5242;37860;1955;2087;1513;4806354 + 5243;37872;1955;2087;1513;4806354 + 5244;37875;1955;2088;1513;4844229 + 5245;37884;1955;2088;1513;4844229 + 5246;37893;1955;2089;1513;4882122 + 5247;37896;1955;2089;1513;4882122 + 5248;37908;1955;2089;1513;4882122 + 5249;37909;1955;2090;1513;4920031 + 5250;37920;1955;2090;1513;4920031 + 5251;37929;1958;2091;1508;4851376 + 5252;37932;1958;2091;1508;4851376 + 5253;37944;1958;2091;1508;4851376 + 5254;37948;1958;2092;1508;4889324 + 5255;37956;1958;2092;1508;4889324 + 5256;37968;1958;2092;1508;4889324 + 5257;37970;1958;2093;1508;4927294 + 5258;37980;1958;2093;1508;4927294 + 5259;37986;1962;2094;1405;4822914 + 5260;37992;1962;2094;1405;4822914 + 5261;38004;1963;2094;1417;4787277 + 5262;38004;1963;2095;1417;4825281 + 5263;38016;1963;2095;1417;4825281 + 5264;38018;1963;2096;1417;4863299 + 5265;38028;1963;2096;1417;4863299 + 5266;38039;1963;2097;1417;4901338 + 5267;38040;1963;2097;1417;4901338 + 5268;38052;1963;2097;1417;4901338 + 5269;38052;1963;2098;1417;4939390 + 5270;38064;1963;2098;1417;4939390 + 5271;38066;1963;2099;1417;4977456 + 5272;38076;1963;2099;1417;4977456 + 5273;38088;1963;2099;1417;4977456 + 5274;38090;1963;2100;1417;5015546 + 5275;38100;1963;2100;1417;5015546 + 5276;38110;1963;2101;1417;5053656 + 5277;38112;1963;2101;1417;5053656 + 5278;38124;1963;2101;1417;5053656 + 5279;38132;1972;2102;1346;4770324 + 5280;38136;1972;2102;1346;4770324 + 5281;38148;1972;2102;1346;4770324 + 5282;38154;1972;2103;1346;4808478 + 5283;38160;1972;2103;1346;4808478 + 5284;38172;1972;2103;1346;4808478 + 5285;38174;1972;2104;1346;4846652 + 5286;38184;1972;2104;1346;4846652 + 5287;38192;1977;2105;1345;4705611 + 5288;38196;1977;2105;1345;4705611 + 5289;38208;1977;2105;1345;4705611 + 5290;38212;1977;2106;1345;4743823 + 5291;38220;1977;2106;1345;4743823 + 5292;38226;1977;2107;1345;4782049 + 5293;38232;1977;2107;1345;4782049 + 5294;38240;1978;2108;1356;4784389 + 5295;38244;1978;2108;1356;4784389 + 5296;38256;1978;2108;1356;4784389 + 5297;38257;1978;2109;1356;4822646 + 5298;38268;1978;2109;1356;4822646 + 5299;38271;1982;2110;1289;4717148 + 5300;38280;1982;2110;1289;4717148 + 5301;38290;1984;2111;1285;4683434 + 5302;38292;1984;2111;1285;4683434 + 5303;38304;1984;2111;1285;4683434 + 5304;38311;1984;2112;1285;4721745 + 5305;38316;1984;2112;1285;4721745 + 5306;38328;1984;2112;1285;4721745 + 5307;38329;1984;2113;1285;4760074 + 5308;38340;1984;2113;1285;4760074 + 5309;38341;1984;2114;1285;4798415 + 5310;38352;1984;2114;1285;4798415 + 5311;38359;1991;2115;1187;4584124 + 5312;38364;1991;2115;1187;4584124 + 5313;38376;1991;2115;1187;4584124 + 5314;38376;1991;2116;1187;4622500 + 5315;38388;1991;2116;1187;4622500 + 5316;38389;1991;2117;1187;4660889 + 5317;38400;1991;2117;1187;4660889 + 5318;38406;1991;2118;1187;4699295 + 5319;38412;1991;2118;1187;4699295 + 5320;38418;1991;2119;1187;4737713 + 5321;38424;1991;2119;1187;4737713 + 5322;38436;1991;2119;1187;4737713 + 5323;38442;1991;2120;1187;4776155 + 5324;38448;1991;2120;1187;4776155 + 5325;38460;1991;2120;1187;4776155 + 5326;38465;1991;2121;1187;4814620 + 5327;38472;1991;2121;1187;4814620 + 5328;38484;1991;2121;1187;4814620 + 5329;38489;1991;2122;1187;4853109 + 5330;38496;1991;2122;1187;4853109 + 5331;38503;1991;2123;1187;4891612 + 5332;38508;1991;2123;1187;4891612 + 5333;38516;1991;2124;1187;4930128 + 5334;38520;1991;2124;1187;4930128 + 5335;38532;1991;2124;1187;4930128 + 5336;38535;1991;2125;1187;4968663 + 5337;38544;1991;2125;1187;4968663 + 5338;38554;1991;2126;1187;5007217 + 5339;38556;1991;2126;1187;5007217 + 5340;38568;1991;2126;1187;5007217 + 5341;38570;1991;2127;1187;5045787 + 5342;38580;1991;2127;1187;5045787 + 5343;38583;1991;2128;1187;5084370 + 5344;38592;1991;2128;1187;5084370 + 5345;38595;1991;2129;1187;5122965 + 5346;38604;1991;2129;1187;5122965 + 5347;38616;1991;2129;1187;5122965 + 5348;38617;1997;2130;1173;4944221 + 5349;38628;1997;2130;1173;4944221 + 5350;38638;1997;2131;1173;4982859 + 5351;38640;1997;2131;1173;4982859 + 5352;38652;1997;2131;1173;4982859 + 5353;38653;1997;2132;1173;5021512 + 5354;38664;1997;2132;1173;5021512 + 5355;38669;1997;2133;1173;5060181 + 5356;38676;1997;2133;1173;5060181 + 5357;38688;1997;2133;1173;5060181 + 5358;38691;1997;2134;1173;5098872 + 5359;38700;1997;2134;1173;5098872 + 5360;38704;1997;2135;1173;5137576 + 5361;38712;1997;2135;1173;5137576 + 5362;38720;1997;2136;1173;5176296 + 5363;38724;1997;2136;1173;5176296 + 5364;38736;1997;2136;1173;5176296 + 5365;38738;1997;2137;1173;5215034 + 5366;38748;1997;2137;1173;5215034 + 5367;38752;2007;2138;1082;4890213 + 5368;38760;2009;2138;1075;4817287 + 5369;38772;2009;2138;1075;4817287 + 5370;38774;2009;2139;1075;4856061 + 5371;38784;2009;2139;1075;4856061 + 5372;38794;2009;2140;1075;4894855 + 5373;38796;2009;2140;1075;4894855 + 5374;38808;2009;2140;1075;4894855 + 5375;38810;2009;2141;1075;4933665 + 5376;38820;2009;2141;1075;4933665 + 5377;38829;2009;2142;1075;4972494 + 5378;38832;2009;2142;1075;4972494 + 5379;38844;2009;2142;1075;4972494 + 5380;38845;2009;2143;1075;5011339 + 5381;38856;2009;2143;1075;5011339 + 5382;38867;2009;2144;1075;5050206 + 5383;38868;2009;2144;1075;5050206 + 5384;38880;2009;2144;1075;5050206 + 5385;38889;2013;2145;1014;4943007 + 5386;38892;2013;2145;1014;4943007 + 5387;38904;2013;2145;1014;4943007 + 5388;38907;2013;2146;1014;4981914 + 5389;38916;2013;2146;1014;4981914 + 5390;38928;2013;2146;1014;4981914 + 5391;38928;2014;2147;1023;4984271 + 5392;38940;2014;2147;1023;4984271 + 5393;38941;2014;2148;1023;5023212 + 5394;38952;2014;2148;1023;5023212 + 5395;38953;2014;2149;1023;5062165 + 5396;38964;2015;2149;1033;5025575 + 5397;38966;2015;2150;1033;5064541 + 5398;38976;2015;2150;1033;5064541 + 5399;38978;2015;2151;1033;5103519 + 5400;38988;2015;2151;1033;5103519 + 5401;39000;2015;2151;1033;5103519 + 5402;39001;2015;2152;1033;5142520 + 5403;39012;2015;2152;1033;5142520 + 5404;39023;2015;2153;1033;5181543 + 5405;39024;2015;2153;1033;5181543 + 5406;39036;2015;2153;1033;5181543 + 5407;39037;2015;2154;1033;5220580 + 5408;39048;2024;2154;949;4890428 + 5409;39052;2024;2155;949;4929480 + 5410;39060;2024;2155;949;4929480 + 5411;39072;2024;2155;949;4929480 + 5412;39075;2024;2156;949;4968555 + 5413;39084;2024;2156;949;4968555 + 5414;39096;2024;2156;949;4968555 + 5415;39097;2024;2157;949;5007652 + 5416;39108;2024;2157;949;5007652 + 5417;39117;2025;2158;956;5009985 + 5418;39120;2025;2158;956;5009985 + 5419;39132;2025;2158;956;5009985 + 5420;39137;2025;2159;956;5049122 + 5421;39144;2025;2159;956;5049122 + 5422;39154;2025;2160;956;5088276 + 5423;39156;2025;2160;956;5088276 + 5424;39168;2025;2160;956;5088276 + 5425;39168;2025;2161;956;5127444 + 5426;39180;2025;2161;956;5127444 + 5427;39189;2028;2162;955;5056172 + 5428;39192;2028;2162;955;5056172 + 5429;39204;2028;2162;955;5056172 + 5430;39212;2028;2163;955;5095384 + 5431;39216;2028;2163;955;5095384 + 5432;39228;2028;2163;955;5095384 + 5433;39233;2028;2164;955;5134617 + 5434;39240;2028;2164;955;5134617 + 5435;39245;2028;2165;955;5173862 + 5436;39252;2028;2165;955;5173862 + 5437;39259;2037;2166;924;4880744 + 5438;39264;2037;2166;924;4880744 + 5439;39276;2037;2166;924;4880744 + 5440;39282;2037;2167;924;4920026 + 5441;39288;2037;2167;924;4920026 + 5442;39300;2037;2167;924;4920026 + 5443;39301;2037;2168;924;4959327 + 5444;39312;2037;2168;924;4959327 + 5445;39323;2037;2169;924;4998650 + 5446;39324;2037;2169;924;4998650 + 5447;39336;2037;2169;924;4998650 + 5448;39337;2047;2170;855;4667078 + 5449;39348;2047;2170;855;4667078 + 5450;39351;2049;2171;848;4632055 + 5451;39360;2049;2171;848;4632055 + 5452;39363;2049;2172;848;4671418 + 5453;39372;2049;2172;848;4671418 + 5454;39381;2049;2173;848;4710799 + 5455;39384;2049;2173;848;4710799 + 5456;39396;2049;2173;848;4710799 + 5457;39402;2049;2174;848;4750201 + 5458;39408;2049;2174;848;4750201 + 5459;39420;2049;2174;848;4750201 + 5460;39421;2049;2175;848;4789622 + 5461;39432;2049;2175;848;4789622 + 5462;39433;2049;2176;848;4829055 + 5463;39444;2049;2176;848;4829055 + 5464;39446;2049;2177;848;4868501 + 5465;39456;2049;2177;848;4868501 + 5466;39466;2049;2178;848;4907967 + 5467;39468;2049;2178;848;4907967 + 5468;39480;2049;2178;848;4907967 + 5469;39485;2049;2179;848;4947452 + 5470;39492;2049;2179;848;4947452 + 5471;39503;2049;2180;848;4986955 + 5472;39504;2049;2180;848;4986955 + 5473;39516;2049;2180;848;4986955 + 5474;39516;2049;2181;848;5026471 + 5475;39528;2049;2181;848;5026471 + 5476;39531;2049;2182;848;5066002 + 5477;39540;2049;2182;848;5066002 + 5478;39552;2049;2182;848;5066002 + 5479;39555;2049;2183;848;5105557 + 5480;39564;2049;2183;848;5105557 + 5481;39576;2049;2183;848;5105557 + 5482;39576;2049;2184;848;5145133 + 5483;39588;2049;2184;848;5145133 + 5484;39590;2049;2185;848;5184723 + 5485;39600;2049;2185;848;5184723 + 5486;39608;2049;2186;848;5224331 + 5487;39612;2049;2186;848;5224331 + 5488;39624;2049;2186;848;5224331 + 5489;39629;2049;2187;848;5263960 + 5490;39636;2049;2187;848;5263960 + 5491;39648;2053;2187;816;5114990 + 5492;39650;2053;2188;816;5154640 + 5493;39660;2053;2188;816;5154640 + 5494;39672;2053;2188;816;5154640 + 5495;39674;2053;2189;816;5194314 + 5496;39684;2053;2189;816;5194314 + 5497;39689;2053;2190;816;5234003 + 5498;39696;2053;2190;816;5234003 + 5499;39701;2053;2191;816;5273704 + 5500;39708;2053;2191;816;5273704 + 5501;39720;2053;2191;816;5273704 + 5502;39724;2053;2192;816;5313428 + 5503;39732;2053;2192;816;5313428 + 5504;39744;2053;2192;816;5313428 + 5505;39748;2053;2193;816;5353176 + 5506;39756;2053;2193;816;5353176 + 5507;39765;2062;2194;759;5056782 + 5508;39768;2062;2194;759;5056782 + 5509;39780;2062;2194;759;5056782 + 5510;39784;2062;2195;759;5096566 + 5511;39792;2062;2195;759;5096566 + 5512;39804;2062;2195;759;5096566 + 5513;39805;2062;2196;759;5136371 + 5514;39816;2062;2196;759;5136371 + 5515;39827;2062;2197;759;5176198 + 5516;39828;2062;2197;759;5176198 + 5517;39840;2062;2197;759;5176198 + 5518;39851;2063;2198;767;5178618 + 5519;39852;2063;2198;767;5178618 + 5520;39864;2063;2198;767;5178618 + 5521;39865;2063;2199;767;5218483 + 5522;39876;2063;2199;767;5218483 + 5523;39885;2073;2200;733;4883002 + 5524;39888;2073;2200;733;4883002 + 5525;39900;2078;2200;716;4694656 + 5526;39902;2082;2201;665;4583561 + 5527;39912;2082;2201;665;4583561 + 5528;39914;2082;2202;665;4623475 + 5529;39924;2082;2202;665;4623475 + 5530;39930;2085;2203;657;4549950 + 5531;39936;2085;2203;657;4549950 + 5532;39948;2085;2203;657;4549950 + 5533;39954;2085;2204;657;4589904 + 5534;39960;2085;2204;657;4589904 + 5535;39967;2085;2205;657;4629871 + 5536;39972;2085;2205;657;4629871 + 5537;39983;2085;2206;657;4669854 + 5538;39984;2085;2206;657;4669854 + 5539;39996;2085;2206;657;4669854 + 5540;39999;2085;2207;657;4709853 + 5541;40008;2085;2207;657;4709853 + 5542;40011;2085;2208;657;4749864 + 5543;40020;2085;2208;657;4749864 + 5544;40024;2085;2209;657;4789888 + 5545;40032;2085;2209;657;4789888 + 5546;40043;2085;2210;657;4829931 + 5547;40044;2085;2210;657;4829931 + 5548;40056;2085;2210;657;4829931 + 5549;40057;2085;2211;657;4869988 + 5550;40068;2085;2211;657;4869988 + 5551;40074;2085;2212;657;4910062 + 5552;40080;2085;2212;657;4910062 + 5553;40092;2085;2212;657;4910062 + 5554;40096;2085;2213;657;4950158 + 5555;40104;2085;2213;657;4950158 + 5556;40113;2085;2214;657;4990271 + 5557;40116;2085;2214;657;4990271 + 5558;40128;2085;2214;657;4990271 + 5559;40134;2085;2215;657;5030405 + 5560;40140;2085;2215;657;5030405 + 5561;40152;2085;2215;657;5030405 + 5562;40152;2085;2216;657;5070557 + 5563;40164;2085;2216;657;5070557 + 5564;40176;2085;2216;657;5070557 + 5565;40176;2085;2217;657;5110733 + 5566;40188;2085;2217;657;5110733 + 5567;40192;2085;2218;657;5150925 + 5568;40200;2085;2218;657;5150925 + 5569;40204;2085;2219;657;5191129 + 5570;40212;2085;2219;657;5191129 + 5571;40224;2085;2219;657;5191129 + 5572;40224;2085;2220;657;5231353 + 5573;40236;2085;2220;657;5231353 + 5574;40245;2085;2221;657;5271598 + 5575;40248;2085;2221;657;5271598 + 5576;40260;2085;2221;657;5271598 + 5577;40266;2085;2222;657;5311864 + 5578;40272;2085;2222;657;5311864 + 5579;40284;2085;2222;657;5311864 + 5580;40289;2091;2223;625;5124742 + 5581;40296;2091;2223;625;5124742 + 5582;40308;2091;2223;625;5124742 + 5583;40311;2091;2224;625;5165053 + 5584;40320;2091;2224;625;5165053 + 5585;40332;2091;2224;625;5165053 + 5586;40334;2098;2225;632;4939252 + 5587;40344;2098;2225;632;4939252 + 5588;40347;2098;2226;632;4979599 + 5589;40356;2098;2226;632;4979599 + 5590;40360;2098;2227;632;5019959 + 5591;40368;2098;2227;632;5019959 + 5592;40373;2098;2228;632;5060332 + 5593;40380;2098;2228;632;5060332 + 5594;40392;2098;2228;632;5060332 + 5595;40397;2098;2229;632;5100729 + 5596;40404;2098;2229;632;5100729 + 5597;40414;2098;2230;632;5141143 + 5598;40416;2098;2230;632;5141143 + 5599;40428;2098;2230;632;5141143 + 5600;40433;2098;2231;632;5181576 + 5601;40440;2098;2231;632;5181576 + 5602;40452;2098;2231;632;5181576 + 5603;40456;2098;2232;632;5222032 + 5604;40464;2098;2232;632;5222032 + 5605;40474;2098;2233;632;5262506 + 5606;40476;2098;2233;632;5262506 + 5607;40488;2098;2233;632;5262506 + 5608;40489;2098;2234;632;5302995 + 5609;40500;2098;2234;632;5302995 + 5610;40508;2098;2235;632;5343503 + 5611;40512;2098;2235;632;5343503 + 5612;40524;2098;2235;632;5343503 + 5613;40524;2098;2236;632;5384027 + 5614;40536;2098;2236;632;5384027 + 5615;40547;2098;2237;632;5424574 + 5616;40548;2098;2237;632;5424574 + 5617;40560;2108;2237;610;5042787 + 5618;40562;2108;2238;610;5083349 + 5619;40572;2108;2238;610;5083349 + 5620;40583;2108;2239;610;5123932 + 5621;40584;2108;2239;610;5123932 + 5622;40596;2108;2239;610;5123932 + 5623;40599;2116;2240;575;4857865 + 5624;40608;2116;2240;575;4857865 + 5625;40620;2116;2240;575;4857865 + 5626;40620;2116;2241;575;4898485 + 5627;40632;2116;2241;575;4898485 + 5628;40632;2116;2242;575;4939117 + 5629;40644;2116;2242;575;4939117 + 5630;40646;2116;2243;575;4979763 + 5631;40656;2116;2243;575;4979763 + 5632;40658;2116;2244;575;5020421 + 5633;40668;2116;2244;575;5020421 + 5634;40671;2118;2245;580;4984268 + 5635;40680;2118;2245;580;4984268 + 5636;40689;2118;2246;580;5024957 + 5637;40692;2118;2246;580;5024957 + 5638;40704;2118;2246;580;5024957 + 5639;40705;2118;2247;580;5065662 + 5640;40716;2118;2247;580;5065662 + 5641;40721;2118;2248;580;5106383 + 5642;40728;2118;2248;580;5106383 + 5643;40733;2118;2249;580;5147116 + 5644;40740;2118;2249;580;5147116 + 5645;40752;2118;2249;580;5147116 + 5646;40754;2118;2250;580;5187870 + 5647;40764;2119;2250;584;5149428 + 5648;40767;2119;2251;584;5190195 + 5649;40776;2119;2251;584;5190195 + 5650;40785;2119;2252;584;5230980 + 5651;40788;2119;2252;584;5230980 + 5652;40797;2119;2253;584;5271777 + 5653;40800;2119;2253;584;5271777 + 5654;40811;2119;2254;584;5312588 + 5655;40812;2119;2254;584;5312588 + 5656;40824;2119;2254;584;5312588 + 5657;40835;2119;2255;584;5353423 + 5658;40836;2119;2255;584;5353423 + 5659;40848;2119;2255;584;5353423 + 5660;40850;2119;2256;584;5394273 + 5661;40860;2119;2256;584;5394273 + 5662;40865;2126;2257;537;5165506 + 5663;40872;2126;2257;537;5165506 + 5664;40884;2126;2257;537;5165506 + 5665;40889;2126;2258;537;5206395 + 5666;40896;2126;2258;537;5206395 + 5667;40904;2126;2259;537;5247299 + 5668;40908;2126;2259;537;5247299 + 5669;40920;2126;2259;537;5247299 + 5670;40923;2126;2260;537;5288222 + 5671;40932;2126;2260;537;5288222 + 5672;40944;2126;2260;537;5288222 + 5673;40946;2126;2261;537;5329168 + 5674;40956;2126;2261;537;5329168 + 5675;40962;2126;2262;537;5370130 + 5676;40968;2126;2262;537;5370130 + 5677;40974;2126;2263;537;5411104 + 5678;40980;2126;2263;537;5411104 + 5679;40988;2126;2264;537;5452092 + 5680;40992;2126;2264;537;5452092 + 5681;41004;2126;2264;537;5452092 + 5682;41006;2137;2265;502;5067738 + 5683;41016;2141;2265;467;4912531 + 5684;41028;2141;2265;467;4912531 + 5685;41028;2141;2266;467;4953559 + 5686;41040;2141;2266;467;4953559 + 5687;41040;2146;2267;465;4800163 + 5688;41052;2146;2267;465;4800163 + 5689;41053;2146;2268;465;4841216 + 5690;41064;2146;2268;465;4841216 + 5691;41071;2146;2269;465;4882287 + 5692;41076;2146;2269;465;4882287 + 5693;41088;2146;2269;465;4882287 + 5694;41094;2146;2270;465;4923381 + 5695;41100;2146;2270;465;4923381 + 5696;41112;2146;2270;465;4923381 + 5697;41115;2146;2271;465;4964496 + 5698;41124;2146;2271;465;4964496 + 5699;41131;2146;2272;465;5005627 + 5700;41136;2146;2272;465;5005627 + 5701;41148;2146;2272;465;5005627 + 5702;41154;2146;2273;465;5046781 + 5703;41160;2146;2273;465;5046781 + 5704;41172;2146;2273;465;5046781 + 5705;41178;2146;2274;465;5087959 + 5706;41184;2146;2274;465;5087959 + 5707;41196;2146;2274;465;5087959 + 5708;41199;2146;2275;465;5129158 + 5709;41208;2146;2275;465;5129158 + 5710;41211;2146;2276;465;5170369 + 5711;41220;2146;2276;465;5170369 + 5712;41227;2146;2277;465;5211596 + 5713;41232;2146;2277;465;5211596 + 5714;41244;2146;2277;465;5211596 + 5715;41247;2146;2278;465;5252843 + 5716;41256;2146;2278;465;5252843 + 5717;41267;2146;2279;465;5294110 + 5718;41268;2146;2279;465;5294110 + 5719;41280;2146;2279;465;5294110 + 5720;41283;2146;2280;465;5335393 + 5721;41292;2146;2280;465;5335393 + 5722;41302;2146;2281;465;5376695 + 5723;41304;2146;2281;465;5376695 + 5724;41316;2146;2281;465;5376695 + 5725;41323;2146;2282;465;5418018 + 5726;41328;2146;2282;465;5418018 + 5727;41340;2146;2282;465;5418018 + 5728;41341;2146;2283;465;5459359 + 5729;41352;2146;2283;465;5459359 + 5730;41363;2148;2284;467;5422828 + 5731;41364;2148;2284;467;5422828 + 5732;41376;2148;2284;467;5422828 + 5733;41383;2148;2285;467;5464211 + 5734;41388;2148;2285;467;5464211 + 5735;41399;2148;2286;467;5505610 + 5736;41400;2148;2286;467;5505610 + 5737;41412;2148;2286;467;5505610 + 5738;41423;2148;2287;467;5547033 + 5739;41424;2148;2287;467;5547033 + 5740;41436;2148;2287;467;5547033 + 5741;41446;2155;2288;439;5315347 + 5742;41448;2155;2288;439;5315347 + 5743;41460;2155;2288;439;5315347 + 5744;41469;2155;2289;439;5356816 + 5745;41472;2155;2289;439;5356816 + 5746;41484;2162;2289;410;5082742 + 5747;41492;2162;2290;410;5124234 + 5748;41496;2162;2290;410;5124234 + 5749;41508;2162;2290;410;5124234 + 5750;41508;2162;2291;410;5165742 + 5751;41520;2162;2291;410;5165742 + 5752;41526;2164;2292;409;5128790 + 5753;41532;2164;2292;409;5128790 + 5754;41538;2164;2293;409;5170328 + 5755;41544;2164;2293;409;5170328 + 5756;41554;2173;2294;374;4857883 + 5757;41556;2173;2294;374;4857883 + 5758;41568;2173;2294;374;4857883 + 5759;41571;2173;2295;374;4899454 + 5760;41580;2173;2295;374;4899454 + 5761;41584;2173;2296;374;4941038 + 5762;41592;2173;2296;374;4941038 + 5763;41603;2173;2297;374;4982641 + 5764;41604;2173;2297;374;4982641 + 5765;41616;2173;2297;374;4982641 + 5766;41622;2173;2298;374;5024263 + 5767;41628;2173;2298;374;5024263 + 5768;41640;2173;2298;374;5024263 + 5769;41641;2173;2299;374;5065904 + 5770;41652;2173;2299;374;5065904 + 5771;41658;2174;2300;376;5068141 + 5772;41664;2174;2300;376;5068141 + 5773;41670;2174;2301;376;5109811 + 5774;41676;2174;2301;376;5109811 + 5775;41688;2174;2301;376;5109811 + 5776;41691;2174;2302;376;5151502 + 5777;41700;2174;2302;376;5151502 + 5778;41707;2174;2303;376;5193209 + 5779;41712;2174;2303;376;5193209 + 5780;41721;2174;2304;376;5234930 + 5781;41724;2174;2304;376;5234930 + 5782;41736;2174;2304;376;5234930 + 5783;41739;2174;2305;376;5276669 + 5784;41748;2174;2305;376;5276669 + 5785;41754;2174;2306;376;5318423 + 5786;41760;2174;2306;376;5318423 + 5787;41770;2174;2307;376;5360193 + 5788;41772;2174;2307;376;5360193 + 5789;41784;2174;2307;376;5360193 + 5790;41787;2174;2308;376;5401980 + 5791;41796;2174;2308;376;5401980 + 5792;41807;2174;2309;376;5443787 + 5793;41808;2174;2309;376;5443787 + 5794;41820;2174;2309;376;5443787 + 5795;41823;2174;2310;376;5485610 + 5796;41832;2174;2310;376;5485610 + 5797;41836;2174;2311;376;5527446 + 5798;41844;2174;2311;376;5527446 + 5799;41856;2174;2311;376;5527446 + 5800;41857;2174;2312;376;5569303 + 5801;41868;2174;2312;376;5569303 + 5802;41876;2174;2313;376;5611179 + 5803;41880;2174;2313;376;5611179 + 5804;41892;2174;2313;376;5611179 + 5805;41893;2174;2314;376;5653072 + 5806;41904;2174;2314;376;5653072 + 5807;41906;2184;2315;350;5299877 + 5808;41916;2184;2315;350;5299877 + 5809;41918;2184;2316;350;5341795 + 5810;41928;2184;2316;350;5341795 + 5811;41938;2184;2317;350;5383733 + 5812;41940;2184;2317;350;5383733 + 5813;41952;2184;2317;350;5383733 + 5814;41960;2185;2318;353;5386085 + 5815;41964;2185;2318;353;5386085 + 5816;41974;2185;2319;353;5428059 + 5817;41976;2185;2319;353;5428059 + 5818;41988;2185;2319;353;5428059 + 5819;41998;2189;2320;351;5311415 + 5820;42000;2189;2320;351;5311415 + 5821;42012;2189;2320;351;5311415 + 5822;42016;2189;2321;351;5353431 + 5823;42024;2189;2321;351;5353431 + 5824;42036;2189;2321;351;5353431 + 5825;42037;2189;2322;351;5395468 + 5826;42048;2189;2322;351;5395468 + 5827;42049;2189;2323;351;5437517 + 5828;42060;2189;2323;351;5437517 + 5829;42064;2189;2324;351;5479581 + 5830;42072;2189;2324;351;5479581 + 5831;42080;2189;2325;351;5521661 + 5832;42084;2189;2325;351;5521661 + 5833;42096;2189;2325;351;5521661 + 5834;42102;2189;2326;351;5563763 + 5835;42108;2189;2326;351;5563763 + 5836;42116;2189;2327;351;5605879 + 5837;42120;2189;2327;351;5605879 + 5838;42130;2189;2328;351;5648009 + 5839;42132;2189;2328;351;5648009 + 5840;42144;2189;2328;351;5648009 + 5841;42150;2189;2329;351;5690159 + 5842;42156;2189;2329;351;5690159 + 5843;42168;2189;2329;351;5690159 + 5844;42170;2192;2330;334;5613156 + 5845;42180;2192;2330;334;5613156 + 5846;42192;2192;2330;334;5613156 + 5847;42193;2192;2331;334;5655349 + 5848;42204;2192;2331;334;5655349 + 5849;42206;2192;2332;334;5697555 + 5850;42216;2192;2332;334;5697555 + 5851;42225;2201;2333;313;5381182 + 5852;42228;2201;2333;313;5381182 + 5853;42238;2201;2334;313;5423420 + 5854;42240;2201;2334;313;5423420 + 5855;42252;2201;2334;313;5423420 + 5856;42253;2201;2335;313;5465673 + 5857;42264;2201;2335;313;5465673 + 5858;42271;2201;2336;313;5507944 + 5859;42276;2201;2336;313;5507944 + 5860;42283;2201;2337;313;5550227 + 5861;42288;2201;2337;313;5550227 + 5862;42300;2201;2337;313;5550227 + 5863;42301;2201;2338;313;5592528 + 5864;42312;2201;2338;313;5592528 + 5865;42318;2201;2339;313;5634846 + 5866;42324;2201;2339;313;5634846 + 5867;42336;2202;2339;316;5594916 + 5868;42340;2202;2340;316;5637256 + 5869;42348;2202;2340;316;5637256 + 5870;42360;2202;2340;316;5637256 + 5871;42361;2202;2341;316;5679617 + 5872;42372;2202;2341;316;5679617 + 5873;42377;2202;2342;316;5721994 + 5874;42384;2202;2342;316;5721994 + 5875;42396;2202;2342;316;5721994 + 5876;42401;2205;2343;323;5644491 + 5877;42408;2205;2343;323;5644491 + 5878;42420;2205;2343;323;5644491 + 5879;42425;2205;2344;323;5686916 + 5880;42432;2205;2344;323;5686916 + 5881;42441;2205;2345;323;5729357 + 5882;42444;2205;2345;323;5729357 + 5883;42456;2205;2345;323;5729357 + 5884;42461;2205;2346;323;5771818 + 5885;42468;2205;2346;323;5771818 + 5886;42480;2217;2346;313;5290747 + 5887;42484;2217;2347;313;5333231 + 5888;42492;2217;2347;313;5333231 + 5889;42504;2217;2347;313;5333231 + 5890;42506;2219;2348;316;5295309 + 5891;42516;2219;2348;316;5295309 + 5892;42519;2219;2349;316;5337828 + 5893;42528;2219;2349;316;5337828 + 5894;42537;2219;2350;316;5380365 + 5895;42540;2219;2350;316;5380365 + 5896;42550;2219;2351;316;5422915 + 5897;42552;2219;2351;316;5422915 + 5898;42564;2219;2351;316;5422915 + 5899;42574;2219;2352;316;5465489 + 5900;42576;2219;2352;316;5465489 + 5901;42588;2219;2352;316;5465489 + 5902;42592;2219;2353;316;5508081 + 5903;42600;2219;2353;316;5508081 + 5904;42612;2219;2353;316;5508081 + 5905;42614;2225;2354;298;5308903 + 5906;42624;2225;2354;298;5308903 + 5907;42627;2225;2355;298;5351530 + 5908;42636;2225;2355;298;5351530 + 5909;42641;2225;2356;298;5394171 + 5910;42648;2225;2356;298;5394171 + 5911;42659;2225;2357;298;5436830 + 5912;42660;2225;2357;298;5436830 + 5913;42672;2225;2357;298;5436830 + 5914;42678;2225;2358;298;5479508 + 5915;42684;2225;2358;298;5479508 + 5916;42694;2225;2359;298;5522202 + 5917;42696;2225;2359;298;5522202 + 5918;42708;2225;2359;298;5522202 + 5919;42716;2225;2360;298;5564918 + 5920;42720;2225;2360;298;5564918 + 5921;42732;2225;2360;298;5564918 + 5922;42740;2225;2361;298;5607658 + 5923;42744;2225;2361;298;5607658 + 5924;42756;2225;2361;298;5607658 + 5925;42761;2225;2362;298;5650419 + 5926;42768;2225;2362;298;5650419 + 5927;42780;2225;2362;298;5650419 + 5928;42782;2225;2363;298;5693201 + 5929;42792;2225;2363;298;5693201 + 5930;42802;2225;2364;298;5736003 + 5931;42804;2225;2364;298;5736003 + 5932;42816;2225;2364;298;5736003 + 5933;42816;2225;2365;298;5778819 + 5934;42828;2225;2365;298;5778819 + 5935;42829;2225;2366;298;5821648 + 5936;42840;2225;2366;298;5821648 + 5937;42852;2229;2366;301;5660104 + 5938;42853;2229;2367;301;5702957 + 5939;42864;2229;2367;301;5702957 + 5940;42876;2229;2367;301;5702957 + 5941;42877;2239;2368;283;5340659 + 5942;42888;2239;2368;283;5340659 + 5943;42892;2239;2369;283;5383551 + 5944;42900;2239;2369;283;5383551 + 5945;42912;2239;2369;283;5383551 + 5946;42914;2239;2370;283;5426465 + 5947;42924;2239;2370;283;5426465 + 5948;42933;2239;2371;283;5469398 + 5949;42936;2239;2371;283;5469398 + 5950;42948;2239;2371;283;5469398 + 5951;42955;2239;2372;283;5512353 + 5952;42960;2239;2372;283;5512353 + 5953;42972;2239;2372;283;5512353 + 5954;42977;2239;2373;283;5555330 + 5955;42984;2239;2373;283;5555330 + 5956;42996;2239;2373;283;5555330 + 5957;42996;2239;2374;283;5598326 + 5958;43008;2239;2374;283;5598326 + 5959;43011;2239;2375;283;5641337 + 5960;43020;2239;2375;283;5641337 + 5961;43025;2239;2376;283;5684362 + 5962;43032;2239;2376;283;5684362 + 5963;43037;2239;2377;283;5727399 + 5964;43044;2239;2377;283;5727399 + 5965;43056;2239;2377;283;5727399 + 5966;43057;2239;2378;283;5770456 + 5967;43068;2245;2378;275;5526540 + 5968;43080;2245;2378;275;5526540 + 5969;43080;2245;2379;275;5569620 + 5970;43092;2245;2379;275;5569620 + 5971;43099;2246;2380;278;5572014 + 5972;43104;2246;2380;278;5572014 + 5973;43116;2246;2380;278;5572014 + 5974;43121;2246;2381;278;5615135 + 5975;43128;2246;2381;278;5615135 + 5976;43140;2246;2381;278;5615135 + 5977;43142;2246;2382;278;5658277 + 5978;43152;2246;2382;278;5658277 + 5979;43161;2256;2383;272;5293520 + 5980;43164;2256;2383;272;5293520 + 5981;43176;2266;2383;251;4883860 + 5982;43179;2268;2384;248;4844915 + 5983;43188;2268;2384;248;4844915 + 5984;43198;2268;2385;248;4888113 + 5985;43200;2268;2385;248;4888113 + 5986;43212;2268;2385;248;4888113 + 5987;43220;2268;2386;248;4931333 + 5988;43224;2268;2386;248;4931333 + 5989;43236;2268;2386;248;4931333 + 5990;43242;2268;2387;248;4974575 + 5991;43248;2268;2387;248;4974575 + 5992;43259;2268;2388;248;5017834 + 5993;43260;2268;2388;248;5017834 + 5994;43272;2268;2388;248;5017834 + 5995;43274;2268;2389;248;5061108 + 5996;43284;2268;2389;248;5061108 + 5997;43295;2268;2390;248;5104403 + 5998;43296;2268;2390;248;5104403 + 5999;43307;2268;2391;248;5147710 + 6000;43308;2268;2391;248;5147710 + 6001;43320;2268;2391;248;5147710 + 6002;43326;2268;2392;248;5191036 + 6003;43332;2268;2392;248;5191036 + 6004;43340;2268;2393;248;5234376 + 6005;43344;2268;2393;248;5234376 + 6006;43356;2268;2393;248;5234376 + 6007;43361;2268;2394;248;5277737 + 6008;43368;2268;2394;248;5277737 + 6009;43376;2268;2395;248;5321113 + 6010;43380;2268;2395;248;5321113 + 6011;43392;2268;2395;248;5321113 + 6012;43396;2268;2396;248;5364509 + 6013;43404;2268;2396;248;5364509 + 6014;43410;2268;2397;248;5407919 + 6015;43416;2268;2397;248;5407919 + 6016;43428;2268;2397;248;5407919 + 6017;43428;2268;2398;248;5451347 + 6018;43440;2268;2398;248;5451347 + 6019;43445;2268;2399;248;5494792 + 6020;43452;2268;2399;248;5494792 + 6021;43464;2268;2399;248;5494792 + 6022;43464;2268;2400;248;5538256 + 6023;43476;2268;2400;248;5538256 + 6024;43487;2268;2401;248;5581743 + 6025;43488;2268;2401;248;5581743 + 6026;43500;2268;2401;248;5581743 + 6027;43509;2268;2402;248;5625252 + 6028;43512;2268;2402;248;5625252 + 6029;43524;2272;2402;235;5460758 + 6030;43532;2272;2403;235;5504290 + 6031;43536;2272;2403;235;5504290 + 6032;43548;2272;2403;235;5504290 + 6033;43555;2272;2404;235;5547845 + 6034;43560;2272;2404;235;5547845 + 6035;43567;2277;2405;240;5385350 + 6036;43572;2277;2405;240;5385350 + 6037;43583;2277;2406;240;5428933 + 6038;43584;2277;2406;240;5428933 + 6039;43596;2277;2406;240;5428933 + 6040;43603;2277;2407;240;5472536 + 6041;43608;2277;2407;240;5472536 + 6042;43616;2277;2408;240;5516152 + 6043;43620;2277;2408;240;5516152 + 6044;43632;2277;2408;240;5516152 + 6045;43639;2277;2409;240;5559791 + 6046;43644;2277;2409;240;5559791 + 6047;43654;2279;2410;241;5520895 + 6048;43656;2279;2410;241;5520895 + 6049;43667;2279;2411;241;5564562 + 6050;43668;2279;2411;241;5564562 + 6051;43679;2279;2412;241;5608241 + 6052;43680;2279;2412;241;5608241 + 6053;43692;2279;2412;241;5608241 + 6054;43697;2279;2413;241;5651938 + 6055;43704;2279;2413;241;5651938 + 6056;43715;2279;2414;241;5695653 + 6057;43716;2279;2414;241;5695653 + 6058;43728;2279;2414;241;5695653 + 6059;43736;2279;2415;241;5739389 + 6060;43740;2279;2415;241;5739389 + 6061;43748;2282;2416;232;5659171 + 6062;43752;2282;2416;232;5659171 + 6063;43764;2282;2416;232;5659171 + 6064;43772;2282;2417;232;5702943 + 6065;43776;2282;2417;232;5702943 + 6066;43785;2285;2418;234;5622583 + 6067;43788;2285;2418;234;5622583 + 6068;43798;2285;2419;234;5666381 + 6069;43800;2285;2419;234;5666381 + 6070;43812;2285;2419;234;5666381 + 6071;43822;2285;2420;234;5710203 + 6072;43824;2285;2420;234;5710203 + 6073;43836;2285;2420;234;5710203 + 6074;43839;2285;2421;234;5754042 + 6075;43848;2285;2421;234;5754042 + 6076;43852;2285;2422;234;5797894 + 6077;43860;2285;2422;234;5797894 + 6078;43872;2285;2422;234;5797894 + 6079;43874;2285;2423;234;5841768 + 6080;43884;2285;2423;234;5841768 + 6081;43896;2285;2423;234;5841768 + 6082;43896;2295;2424;226;5470553 + 6083;43908;2295;2424;226;5470553 + 6084;43920;2295;2424;226;5470553 + 6085;43920;2305;2425;203;5097667 + 6086;43932;2307;2425;202;5014110 + 6087;43939;2307;2426;202;5058049 + 6088;43944;2307;2426;202;5058049 + 6089;43956;2307;2426;202;5058049 + 6090;43961;2307;2427;202;5102010 + 6091;43968;2307;2427;202;5102010 + 6092;43980;2307;2427;202;5102010 + 6093;43983;2307;2428;202;5145993 + 6094;43992;2307;2428;202;5145993 + 6095;43998;2307;2429;202;5189991 + 6096;44004;2307;2429;202;5189991 + 6097;44016;2307;2429;202;5189991 + 6098;44020;2307;2430;202;5234011 + 6099;44028;2307;2430;202;5234011 + 6100;44036;2307;2431;202;5278047 + 6101;44040;2307;2431;202;5278047 + 6102;44052;2307;2431;202;5278047 + 6103;44057;2307;2432;202;5322104 + 6104;44064;2307;2432;202;5322104 + 6105;44076;2307;2432;202;5322104 + 6106;44081;2307;2433;202;5366185 + 6107;44088;2307;2433;202;5366185 + 6108;44100;2307;2433;202;5366185 + 6109;44101;2307;2434;202;5410286 + 6110;44112;2307;2434;202;5410286 + 6111;44117;2315;2435;185;5119487 + 6112;44124;2315;2435;185;5119487 + 6113;44136;2315;2435;185;5119487 + 6114;44141;2315;2436;185;5163628 + 6115;44148;2315;2436;185;5163628 + 6116;44160;2315;2436;185;5163628 + 6117;44162;2315;2437;185;5207790 + 6118;44172;2315;2437;185;5207790 + 6119;44176;2315;2438;185;5251966 + 6120;44184;2315;2438;185;5251966 + 6121;44188;2315;2439;185;5296154 + 6122;44196;2315;2439;185;5296154 + 6123;44201;2315;2440;185;5340355 + 6124;44208;2315;2440;185;5340355 + 6125;44218;2315;2441;185;5384573 + 6126;44220;2315;2441;185;5384573 + 6127;44232;2315;2441;185;5384573 + 6128;44234;2315;2442;185;5428807 + 6129;44244;2315;2442;185;5428807 + 6130;44248;2315;2443;185;5473055 + 6131;44256;2315;2443;185;5473055 + 6132;44268;2315;2443;185;5473055 + 6133;44272;2315;2444;185;5517327 + 6134;44280;2315;2444;185;5517327 + 6135;44289;2315;2445;185;5561616 + 6136;44292;2315;2445;185;5561616 + 6137;44304;2315;2445;185;5561616 + 6138;44312;2315;2446;185;5605928 + 6139;44316;2315;2446;185;5605928 + 6140;44324;2315;2447;185;5650252 + 6141;44328;2315;2447;185;5650252 + 6142;44339;2315;2448;185;5694591 + 6143;44340;2315;2448;185;5694591 + 6144;44352;2315;2448;185;5694591 + 6145;44361;2315;2449;185;5738952 + 6146;44364;2315;2449;185;5738952 + 6147;44376;2315;2449;185;5738952 + 6148;44381;2325;2450;172;5363115 + 6149;44388;2325;2450;172;5363115 + 6150;44399;2325;2451;172;5407514 + 6151;44400;2325;2451;172;5407514 + 6152;44412;2325;2451;172;5407514 + 6153;44423;2328;2452;174;5325541 + 6154;44424;2328;2452;174;5325541 + 6155;44436;2328;2452;174;5325541 + 6156;44443;2328;2453;174;5369984 + 6157;44448;2328;2453;174;5369984 + 6158;44459;2328;2454;174;5414443 + 6159;44460;2328;2454;174;5414443 + 6160;44472;2328;2454;174;5414443 + 6161;44473;2328;2455;174;5458916 + 6162;44484;2328;2455;174;5458916 + 6163;44494;2328;2456;174;5503410 + 6164;44496;2328;2456;174;5503410 + 6165;44508;2328;2456;174;5503410 + 6166;44518;2328;2457;174;5547928 + 6167;44520;2328;2457;174;5547928 + 6168;44532;2328;2457;174;5547928 + 6169;44540;2338;2458;164;5170010 + 6170;44544;2338;2458;164;5170010 + 6171;44556;2338;2458;164;5170010 + 6172;44562;2338;2459;164;5214572 + 6173;44568;2338;2459;164;5214572 + 6174;44578;2338;2460;164;5259150 + 6175;44580;2338;2460;164;5259150 + 6176;44592;2338;2460;164;5259150 + 6177;44594;2338;2461;164;5303744 + 6178;44604;2338;2461;164;5303744 + 6179;44616;2341;2461;156;5176666 + 6180;44618;2341;2462;156;5221284 + 6181;44628;2341;2462;156;5221284 + 6182;44640;2341;2462;156;5221284 + 6183;44640;2341;2463;156;5265924 + 6184;44652;2341;2463;156;5265924 + 6185;44657;2341;2464;156;5310581 + 6186;44664;2341;2464;156;5310581 + 6187;44676;2341;2464;156;5310581 + 6188;44676;2341;2465;156;5355257 + 6189;44688;2341;2465;156;5355257 + 6190;44688;2341;2466;156;5399945 + 6191;44700;2341;2466;156;5399945 + 6192;44706;2341;2467;156;5444651 + 6193;44712;2341;2467;156;5444651 + 6194;44724;2341;2467;156;5444651 + 6195;44726;2341;2468;156;5489377 + 6196;44736;2341;2468;156;5489377 + 6197;44743;2341;2469;156;5534120 + 6198;44748;2341;2469;156;5534120 + 6199;44760;2341;2469;156;5534120 + 6200;44765;2341;2470;156;5578885 + 6201;44772;2341;2470;156;5578885 + 6202;44784;2341;2470;156;5578885 + 6203;44784;2341;2471;156;5623669 + 6204;44796;2341;2471;156;5623669 + 6205;44797;2341;2472;156;5668466 + 6206;44808;2341;2472;156;5668466 + 6207;44809;2341;2473;156;5713275 + 6208;44820;2341;2473;156;5713275 + 6209;44832;2341;2473;156;5713275 + 6210;44832;2341;2474;156;5758107 + 6211;44844;2341;2474;156;5758107 + 6212;44848;2346;2475;158;5590743 + 6213;44856;2346;2475;158;5590743 + 6214;44867;2346;2476;158;5635610 + 6215;44868;2346;2476;158;5635610 + 6216;44880;2346;2476;158;5635610 + 6217;44890;2346;2477;158;5680500 + 6218;44892;2346;2477;158;5680500 + 6219;44902;2346;2478;158;5725402 + 6220;44904;2346;2478;158;5725402 + 6221;44916;2346;2478;158;5725402 + 6222;44923;2346;2479;158;5770325 + 6223;44928;2346;2479;158;5770325 + 6224;44940;2346;2479;158;5770325 + 6225;44942;2346;2480;158;5815267 + 6226;44952;2346;2480;158;5815267 + 6227;44955;2346;2481;158;5860222 + 6228;44964;2346;2481;158;5860222 + 6229;44969;2346;2482;158;5905191 + 6230;44976;2346;2482;158;5905191 + 6231;44986;2356;2483;146;5524358 + 6232;44988;2356;2483;146;5524358 + 6233;45000;2356;2483;146;5524358 + 6234;45007;2356;2484;146;5569365 + 6235;45012;2356;2484;146;5569365 + 6236;45024;2356;2484;146;5569365 + 6237;45024;2356;2485;146;5614389 + 6238;45036;2356;2485;146;5614389 + 6239;45045;2356;2486;146;5659434 + 6240;45048;2356;2486;146;5659434 + 6241;45060;2356;2486;146;5659434 + 6242;45062;2361;2487;139;5490907 + 6243;45072;2361;2487;139;5490907 + 6244;45077;2361;2488;139;5535984 + 6245;45084;2361;2488;139;5535984 + 6246;45096;2361;2488;139;5535984 + 6247;45096;2361;2489;139;5581080 + 6248;45108;2361;2489;139;5581080 + 6249;45120;2361;2489;139;5581080 + 6250;45120;2361;2490;139;5626200 + 6251;45132;2361;2490;139;5626200 + 6252;45140;2361;2491;139;5671340 + 6253;45144;2361;2491;139;5671340 + 6254;45156;2361;2491;139;5671340 + 6255;45164;2367;2492;137;5459545 + 6256;45168;2367;2492;137;5459545 + 6257;45179;2368;2493;138;5461832 + 6258;45180;2368;2493;138;5461832 + 6259;45192;2368;2493;138;5461832 + 6260;45195;2368;2494;138;5507027 + 6261;45204;2368;2494;138;5507027 + 6262;45216;2368;2494;138;5507027 + 6263;45216;2368;2495;138;5552243 + 6264;45228;2368;2495;138;5552243 + 6265;45229;2368;2496;138;5597472 + 6266;45240;2368;2496;138;5597472 + 6267;45243;2368;2497;138;5642715 + 6268;45252;2368;2497;138;5642715 + 6269;45259;2373;2498;130;5473199 + 6270;45264;2373;2498;130;5473199 + 6271;45276;2373;2498;130;5473199 + 6272;45277;2373;2499;130;5518476 + 6273;45288;2373;2499;130;5518476 + 6274;45299;2373;2500;130;5563775 + 6275;45300;2373;2500;130;5563775 + 6276;45312;2373;2500;130;5563775 + 6277;45315;2373;2501;130;5609090 + 6278;45324;2373;2501;130;5609090 + 6279;45336;2373;2501;130;5609090 + 6280;45338;2373;2502;130;5654428 + 6281;45348;2373;2502;130;5654428 + 6282;45360;2373;2502;130;5654428 + 6283;45361;2373;2503;130;5699789 + 6284;45372;2373;2503;130;5699789 + 6285;45375;2373;2504;130;5745164 + 6286;45384;2373;2504;130;5745164 + 6287;45395;2373;2505;130;5790559 + 6288;45396;2373;2505;130;5790559 + 6289;45408;2373;2505;130;5790559 + 6290;45413;2373;2506;130;5835972 + 6291;45420;2373;2506;130;5835972 + 6292;45432;2373;2506;130;5835972 + 6293;45437;2373;2507;130;5881409 + 6294;45444;2373;2507;130;5881409 + 6295;45454;2376;2508;130;5797790 + 6296;45456;2376;2508;130;5797790 + 6297;45466;2376;2509;130;5843256 + 6298;45468;2376;2509;130;5843256 + 6299;45480;2376;2509;130;5843256 + 6300;45490;2376;2510;130;5888746 + 6301;45492;2376;2510;130;5888746 + 6302;45504;2376;2510;130;5888746 + 6303;45509;2376;2511;130;5934255 + 6304;45516;2376;2511;130;5934255 + 6305;45528;2381;2511;123;5718756 + 6306;45531;2381;2512;123;5764287 + 6307;45540;2381;2512;123;5764287 + 6308;45546;2381;2513;123;5809833 + 6309;45552;2381;2513;123;5809833 + 6310;45563;2381;2514;123;5855396 + 6311;45564;2381;2514;123;5855396 + 6312;45576;2381;2514;123;5855396 + 6313;45583;2381;2515;123;5900979 + 6314;45588;2381;2515;123;5900979 + 6315;45595;2381;2516;123;5946574 + 6316;45600;2381;2516;123;5946574 + 6317;45610;2381;2517;123;5992184 + 6318;45612;2381;2517;123;5992184 + 6319;45624;2381;2517;123;5992184 + 6320;45625;2391;2518;113;5605348 + 6321;45636;2391;2518;113;5605348 + 6322;45646;2393;2519;113;5564293 + 6323;45648;2393;2519;113;5564293 + 6324;45658;2393;2520;113;5609951 + 6325;45660;2393;2520;113;5609951 + 6326;45672;2393;2520;113;5609951 + 6327;45682;2393;2521;113;5655633 + 6328;45684;2393;2521;113;5655633 + 6329;45696;2393;2521;113;5655633 + 6330;45702;2393;2522;113;5701335 + 6331;45708;2393;2522;113;5701335 + 6332;45720;2393;2522;113;5701335 + 6333;45721;2393;2523;113;5747056 + 6334;45732;2393;2523;113;5747056 + 6335;45744;2393;2523;113;5747056 + 6336;45745;2393;2524;113;5792801 + 6337;45756;2393;2524;113;5792801 + 6338;45762;2393;2525;113;5838563 + 6339;45768;2393;2525;113;5838563 + 6340;45777;2393;2526;113;5884340 + 6341;45780;2393;2526;113;5884340 + 6342;45792;2393;2526;113;5884340 + 6343;45800;2393;2527;113;5930140 + 6344;45804;2393;2527;113;5930140 + 6345;45812;2403;2528;104;5541350 + 6346;45816;2403;2528;104;5541350 + 6347;45828;2403;2528;104;5541350 + 6348;45834;2406;2529;103;5456431 + 6349;45840;2406;2529;103;5456431 + 6350;45852;2406;2529;103;5456431 + 6351;45856;2406;2530;103;5502287 + 6352;45864;2406;2530;103;5502287 + 6353;45874;2406;2531;103;5548161 + 6354;45876;2406;2531;103;5548161 + 6355;45888;2406;2531;103;5548161 + 6356;45889;2406;2532;103;5594050 + 6357;45900;2406;2532;103;5594050 + 6358;45912;2406;2532;103;5594050 + 6359;45913;2406;2533;103;5639963 + 6360;45924;2406;2533;103;5639963 + 6361;45926;2406;2534;103;5685889 + 6362;45936;2406;2534;103;5685889 + 6363;45945;2406;2535;103;5731834 + 6364;45948;2406;2535;103;5731834 + 6365;45960;2406;2535;103;5731834 + 6366;45961;2406;2536;103;5777795 + 6367;45972;2406;2536;103;5777795 + 6368;45984;2406;2536;103;5777795 + 6369;45985;2406;2537;103;5823780 + 6370;45996;2411;2537;97;5605525 + 6371;46005;2411;2538;97;5651530 + 6372;46008;2411;2538;97;5651530 + 6373;46017;2411;2539;97;5697547 + 6374;46020;2411;2539;97;5697547 + 6375;46030;2411;2540;97;5743577 + 6376;46032;2411;2540;97;5743577 + 6377;46044;2411;2540;97;5743577 + 6378;46053;2412;2541;98;5745933 + 6379;46056;2412;2541;98;5745933 + 6380;46068;2417;2541;100;5527177 + 6381;46077;2417;2542;100;5573254 + 6382;46080;2417;2542;100;5573254 + 6383;46092;2417;2542;100;5573254 + 6384;46094;2417;2543;100;5619348 + 6385;46104;2417;2543;100;5619348 + 6386;46110;2417;2544;100;5665458 + 6387;46116;2417;2544;100;5665458 + 6388;46123;2417;2545;100;5711581 + 6389;46128;2417;2545;100;5711581 + 6390;46140;2417;2545;100;5711581 + 6391;46142;2417;2546;100;5757723 + 6392;46152;2417;2546;100;5757723 + 6393;46164;2417;2546;100;5757723 + 6394;46165;2417;2547;100;5803888 + 6395;46176;2417;2547;100;5803888 + 6396;46186;2417;2548;100;5850074 + 6397;46188;2417;2548;100;5850074 + 6398;46200;2417;2548;100;5850074 + 6399;46205;2417;2549;100;5896279 + 6400;46212;2417;2549;100;5896279 + 6401;46217;2417;2550;100;5942496 + 6402;46224;2417;2550;100;5942496 + 6403;46236;2417;2550;100;5942496 + 6404;46238;2417;2551;100;5988734 + 6405;46248;2417;2551;100;5988734 + 6406;46257;2417;2552;100;6034991 + 6407;46260;2417;2552;100;6034991 + 6408;46271;2422;2553;95;5862077 + 6409;46272;2422;2553;95;5862077 + 6410;46284;2422;2553;95;5862077 + 6411;46294;2424;2554;97;5820555 + 6412;46296;2424;2554;97;5820555 + 6413;46308;2424;2554;97;5820555 + 6414;46312;2424;2555;97;5866867 + 6415;46320;2424;2555;97;5866867 + 6416;46332;2424;2555;97;5866867 + 6417;46334;2424;2556;97;5913201 + 6418;46344;2424;2556;97;5913201 + 6419;46349;2424;2557;97;5959550 + 6420;46356;2424;2557;97;5959550 + 6421;46362;2424;2558;97;6005912 + 6422;46368;2424;2558;97;6005912 + 6423;46380;2424;2558;97;6005912 + 6424;46380;2424;2559;97;6052292 + 6425;46392;2424;2559;97;6052292 + 6426;46396;2424;2560;97;6098688 + 6427;46404;2424;2560;97;6098688 + 6428;46408;2434;2561;92;5704803 + 6429;46416;2434;2561;92;5704803 + 6430;46422;2438;2562;90;5574558 + 6431;46428;2438;2562;90;5574558 + 6432;46439;2438;2563;90;5620997 + 6433;46440;2438;2563;90;5620997 + 6434;46452;2438;2563;90;5620997 + 6435;46458;2438;2564;90;5667455 + 6436;46464;2438;2564;90;5667455 + 6437;46475;2443;2565;85;5492757 + 6438;46476;2443;2565;85;5492757 + 6439;46488;2443;2565;85;5492757 + 6440;46494;2443;2566;85;5539251 + 6441;46500;2443;2566;85;5539251 + 6442;46510;2443;2567;85;5585761 + 6443;46512;2443;2567;85;5585761 + 6444;46524;2443;2567;85;5585761 + 6445;46526;2443;2568;85;5632287 + 6446;46536;2443;2568;85;5632287 + 6447;46540;2443;2569;85;5678827 + 6448;46548;2443;2569;85;5678827 + 6449;46554;2443;2570;85;5725381 + 6450;46560;2443;2570;85;5725381 + 6451;46572;2443;2570;85;5725381 + 6452;46575;2443;2571;85;5771956 + 6453;46584;2443;2571;85;5771956 + 6454;46593;2443;2572;85;5818549 + 6455;46596;2443;2572;85;5818549 + 6456;46608;2443;2572;85;5818549 + 6457;46610;2443;2573;85;5865159 + 6458;46620;2443;2573;85;5865159 + 6459;46627;2444;2574;86;5867497 + 6460;46632;2444;2574;86;5867497 + 6461;46644;2444;2574;86;5867497 + 6462;46651;2449;2575;88;5692431 + 6463;46656;2449;2575;88;5692431 + 6464;46668;2449;2575;88;5692431 + 6465;46671;2449;2576;88;5739102 + 6466;46680;2449;2576;88;5739102 + 6467;46692;2449;2576;88;5739102 + 6468;46694;2449;2577;88;5785796 + 6469;46704;2449;2577;88;5785796 + 6470;46712;2449;2578;88;5832508 + 6471;46716;2449;2578;88;5832508 + 6472;46728;2449;2578;88;5832508 + 6473;46734;2449;2579;88;5879242 + 6474;46740;2449;2579;88;5879242 + 6475;46748;2449;2580;88;5925990 + 6476;46752;2449;2580;88;5925990 + 6477;46764;2449;2580;88;5925990 + 6478;46766;2449;2581;88;5972756 + 6479;46776;2449;2581;88;5972756 + 6480;46781;2449;2582;88;6019537 + 6481;46788;2449;2582;88;6019537 + 6482;46800;2449;2582;88;6019537 + 6483;46803;2459;2583;81;5621451 + 6484;46812;2459;2583;81;5621451 + 6485;46824;2459;2583;81;5621451 + 6486;46826;2459;2584;81;5668277 + 6487;46836;2463;2584;76;5489768 + 6488;46848;2463;2584;76;5489768 + 6489;46848;2463;2585;76;5536616 + 6490;46860;2463;2585;76;5536616 + 6491;46864;2463;2586;76;5583480 + 6492;46872;2463;2586;76;5583480 + 6493;46884;2463;2586;76;5583480 + 6494;46884;2466;2587;75;5496294 + 6495;46896;2466;2587;75;5496294 + 6496;46906;2466;2588;75;5543200 + 6497;46908;2466;2588;75;5543200 + 6498;46920;2466;2588;75;5543200 + 6499;46921;2466;2589;75;5590121 + 6500;46932;2466;2589;75;5590121 + 6501;46943;2468;2590;76;5547595 + 6502;46944;2468;2590;76;5547595 + 6503;46956;2468;2590;76;5547595 + 6504;46960;2476;2591;71;5235963 + 6505;46968;2476;2591;71;5235963 + 6506;46973;2476;2592;71;5282936 + 6507;46980;2476;2592;71;5282936 + 6508;46992;2476;2592;71;5282936 + 6509;46994;2476;2593;71;5329930 + 6510;47004;2476;2593;71;5329930 + 6511;47016;2476;2593;71;5329930 + 6512;47017;2476;2594;71;5376947 + 6513;47028;2476;2594;71;5376947 + 6514;47034;2476;2595;71;5423981 + 6515;47040;2476;2595;71;5423981 + 6516;47051;2476;2596;71;5471032 + 6517;47052;2476;2596;71;5471032 + 6518;47064;2476;2596;71;5471032 + 6519;47065;2476;2597;71;5518097 + 6520;47076;2476;2597;71;5518097 + 6521;47088;2476;2597;71;5518097 + 6522;47088;2476;2598;71;5565185 + 6523;47100;2476;2598;71;5565185 + 6524;47109;2476;2599;71;5612294 + 6525;47112;2476;2599;71;5612294 + 6526;47121;2476;2600;71;5659415 + 6527;47124;2476;2600;71;5659415 + 6528;47136;2476;2600;71;5659415 + 6529;47144;2476;2601;71;5706559 + 6530;47148;2476;2601;71;5706559 + 6531;47160;2476;2601;71;5706559 + 6532;47160;2476;2602;71;5753719 + 6533;47172;2476;2602;71;5753719 + 6534;47173;2476;2603;71;5800892 + 6535;47184;2476;2603;71;5800892 + 6536;47186;2476;2604;71;5848078 + 6537;47196;2476;2604;71;5848078 + 6538;47207;2476;2605;71;5895285 + 6539;47208;2476;2605;71;5895285 + 6540;47220;2476;2605;71;5895285 + 6541;47222;2485;2606;66;5537754 + 6542;47232;2485;2606;66;5537754 + 6543;47244;2485;2606;66;5537754 + 6544;47244;2485;2607;66;5584998 + 6545;47256;2485;2607;66;5584998 + 6546;47264;2485;2608;66;5632262 + 6547;47268;2485;2608;66;5632262 + 6548;47280;2485;2608;66;5632262 + 6549;47281;2485;2609;66;5679543 + 6550;47292;2485;2609;66;5679543 + 6551;47293;2485;2610;66;5726836 + 6552;47304;2485;2610;66;5726836 + 6553;47307;2485;2611;66;5774143 + 6554;47316;2485;2611;66;5774143 + 6555;47322;2485;2612;66;5821465 + 6556;47328;2485;2612;66;5821465 + 6557;47339;2485;2613;66;5868804 + 6558;47340;2485;2613;66;5868804 + 6559;47352;2485;2613;66;5868804 + 6560;47356;2485;2614;66;5916160 + 6561;47364;2485;2614;66;5916160 + 6562;47369;2485;2615;66;5963529 + 6563;47376;2485;2615;66;5963529 + 6564;47388;2485;2615;66;5963529 + 6565;47390;2485;2616;66;6010919 + 6566;47400;2485;2616;66;6010919 + 6567;47412;2485;2616;66;6010919 + 6568;47412;2485;2617;66;6058331 + 6569;47424;2485;2617;66;6058331 + 6570;47431;2485;2618;66;6105762 + 6571;47436;2485;2618;66;6105762 + 6572;47448;2495;2618;63;5654284 + 6573;47455;2496;2619;63;5656496 + 6574;47460;2496;2619;63;5656496 + 6575;47471;2496;2620;63;5703967 + 6576;47472;2496;2620;63;5703967 + 6577;47484;2496;2620;63;5703967 + 6578;47495;2496;2621;63;5751462 + 6579;47496;2496;2621;63;5751462 + 6580;47508;2496;2621;63;5751462 + 6581;47514;2496;2622;63;5798976 + 6582;47520;2496;2622;63;5798976 + 6583;47527;2496;2623;63;5846503 + 6584;47532;2496;2623;63;5846503 + 6585;47544;2496;2623;63;5846503 + 6586;47544;2496;2624;63;5894047 + 6587;47556;2496;2624;63;5894047 + 6588;47560;2496;2625;63;5941607 + 6589;47568;2496;2625;63;5941607 + 6590;47580;2496;2625;63;5941607 + 6591;47584;2496;2626;63;5989191 + 6592;47592;2496;2626;63;5989191 + 6593;47604;2496;2626;63;5989191 + 6594;47606;2496;2627;63;6036797 + 6595;47616;2496;2627;63;6036797 + 6596;47619;2496;2628;63;6084416 + 6597;47628;2496;2628;63;6084416 + 6598;47640;2496;2628;63;6084416 + 6599;47641;2496;2629;63;6132057 + 6600;47652;2496;2629;63;6132057 + 6601;47662;2496;2630;63;6179719 + 6602;47664;2496;2630;63;6179719 + 6603;47676;2496;2630;63;6179719 + 6604;47684;2496;2631;63;6227403 + 6605;47688;2496;2631;63;6227403 + 6606;47697;2496;2632;63;6275100 + 6607;47700;2496;2632;63;6275100 + 6608;47712;2496;2632;63;6275100 + 6609;47721;2505;2633;61;5914789 + 6610;47724;2505;2633;61;5914789 + 6611;47736;2513;2633;56;5550793 + 6612;47741;2513;2634;56;5598534 + 6613;47748;2513;2634;56;5598534 + 6614;47760;2513;2634;56;5598534 + 6615;47764;2513;2635;56;5646298 + 6616;47772;2513;2635;56;5646298 + 6617;47779;2513;2636;56;5694077 + 6618;47784;2513;2636;56;5694077 + 6619;47796;2513;2636;56;5694077 + 6620;47796;2513;2637;56;5741873 + 6621;47808;2513;2637;56;5741873 + 6622;47808;2513;2638;56;5789681 + 6623;47820;2513;2638;56;5789681 + 6624;47824;2513;2639;56;5837505 + 6625;47832;2513;2639;56;5837505 + 6626;47844;2522;2639;51;5426683 + 6627;47844;2522;2640;51;5474527 + 6628;47856;2522;2640;51;5474527 + 6629;47864;2522;2641;51;5522391 + 6630;47868;2522;2641;51;5522391 + 6631;47880;2522;2641;51;5522391 + 6632;47885;2522;2642;51;5570276 + 6633;47892;2522;2642;51;5570276 + 6634;47901;2522;2643;51;5618177 + 6635;47904;2522;2643;51;5618177 + 6636;47916;2522;2643;51;5618177 + 6637;47923;2522;2644;51;5666100 + 6638;47928;2522;2644;51;5666100 + 6639;47939;2522;2645;51;5714039 + 6640;47940;2522;2645;51;5714039 + 6641;47952;2522;2645;51;5714039 + 6642;47963;2522;2646;51;5762002 + 6643;47964;2522;2646;51;5762002 + 6644;47976;2522;2646;51;5762002 + 6645;47981;2522;2647;51;5809983 + 6646;47988;2522;2647;51;5809983 + 6647;48000;2522;2647;51;5809983 + 6648;48004;2522;2648;51;5857987 + 6649;48012;2522;2648;51;5857987 + 6650;48023;2522;2649;51;5906010 + 6651;48024;2522;2649;51;5906010 + 6652;48036;2526;2649;52;5722926 + 6653;48036;2526;2650;52;5770962 + 6654;48048;2526;2650;52;5770962 + 6655;48059;2526;2651;52;5819021 + 6656;48060;2526;2651;52;5819021 + 6657;48072;2526;2651;52;5819021 + 6658;48074;2526;2652;52;5867095 + 6659;48084;2526;2652;52;5867095 + 6660;48087;2526;2653;52;5915182 + 6661;48096;2526;2653;52;5915182 + 6662;48105;2526;2654;52;5963287 + 6663;48108;2526;2654;52;5963287 + 6664;48120;2526;2654;52;5963287 + 6665;48121;2526;2655;52;6011408 + 6666;48132;2526;2655;52;6011408 + 6667;48143;2526;2656;52;6059551 + 6668;48144;2526;2656;52;6059551 + 6669;48156;2526;2656;52;6059551 + 6670;48166;2526;2657;52;6107717 + 6671;48168;2526;2657;52;6107717 + 6672;48180;2526;2657;52;6107717 + 6673;48182;2526;2658;52;6155899 + 6674;48192;2526;2658;52;6155899 + 6675;48204;2526;2658;52;6155899 + 6676;48206;2526;2659;52;6204105 + 6677;48216;2526;2659;52;6204105 + 6678;48218;2526;2660;52;6252323 + 6679;48228;2526;2660;52;6252323 + 6680;48230;2526;2661;52;6300553 + 6681;48240;2526;2661;52;6300553 + 6682;48248;2531;2662;49;6119536 + 6683;48252;2531;2662;49;6119536 + 6684;48264;2531;2662;49;6119536 + 6685;48266;2531;2663;49;6167802 + 6686;48276;2531;2663;49;6167802 + 6687;48286;2531;2664;49;6216088 + 6688;48288;2531;2664;49;6216088 + 6689;48299;2531;2665;49;6264387 + 6690;48300;2531;2665;49;6264387 + 6691;48312;2531;2665;49;6264387 + 6692;48322;2531;2666;49;6312709 + 6693;48324;2531;2666;49;6312709 + 6694;48336;2531;2666;49;6312709 + 6695;48339;2531;2667;49;6361048 + 6696;48348;2531;2667;49;6361048 + 6697;48353;2531;2668;49;6409401 + 6698;48360;2531;2668;49;6409401 + 6699;48369;2531;2669;49;6457770 + 6700;48372;2531;2669;49;6457770 + 6701;48384;2531;2669;49;6457770 + 6702;48386;2541;2670;46;6046244 + 6703;48396;2541;2670;46;6046244 + 6704;48402;2541;2671;46;6094646 + 6705;48408;2541;2671;46;6094646 + 6706;48420;2541;2671;46;6094646 + 6707;48424;2541;2672;46;6143070 + 6708;48432;2541;2672;46;6143070 + 6709;48444;2541;2672;46;6143070 + 6710;48444;2545;2673;46;6007045 + 6711;48456;2545;2673;46;6007045 + 6712;48457;2545;2674;46;6055502 + 6713;48468;2545;2674;46;6055502 + 6714;48476;2545;2675;46;6103978 + 6715;48480;2545;2675;46;6103978 + 6716;48492;2545;2675;46;6103978 + 6717;48496;2545;2676;46;6152474 + 6718;48504;2545;2676;46;6152474 + 6719;48516;2545;2676;46;6152474 + 6720;48520;2545;2677;46;6200994 + 6721;48528;2545;2677;46;6200994 + 6722;48535;2545;2678;46;6249529 + 6723;48540;2545;2678;46;6249529 + 6724;48552;2545;2678;46;6249529 + 6725;48557;2548;2679;47;6159530 + 6726;48564;2548;2679;47;6159530 + 6727;48573;2548;2680;47;6208103 + 6728;48576;2548;2680;47;6208103 + 6729;48588;2548;2680;47;6208103 + 6730;48595;2554;2681;44;5979109 + 6731;48600;2554;2681;44;5979109 + 6732;48610;2554;2682;44;6027719 + 6733;48612;2554;2682;44;6027719 + 6734;48624;2554;2682;44;6027719 + 6735;48628;2554;2683;44;6076347 + 6736;48636;2554;2683;44;6076347 + 6737;48648;2554;2683;44;6076347 + 6738;48651;2554;2684;44;6124998 + 6739;48660;2554;2684;44;6124998 + 6740;48672;2554;2684;44;6124998 + 6741;48674;2554;2685;44;6173672 + 6742;48684;2554;2685;44;6173672 + 6743;48693;2554;2686;44;6222365 + 6744;48696;2554;2686;44;6222365 + 6745;48708;2554;2686;44;6222365 + 6746;48709;2554;2687;44;6271074 + 6747;48720;2554;2687;44;6271074 + 6748;48724;2554;2688;44;6319798 + 6749;48732;2554;2688;44;6319798 + 6750;48741;2554;2689;44;6368539 + 6751;48744;2554;2689;44;6368539 + 6752;48754;2554;2690;44;6417293 + 6753;48756;2554;2690;44;6417293 + 6754;48766;2554;2691;44;6466059 + 6755;48768;2554;2691;44;6466059 + 6756;48780;2562;2691;44;6094969 + 6757;48790;2562;2692;44;6143759 + 6758;48792;2562;2692;44;6143759 + 6759;48804;2562;2692;44;6143759 + 6760;48805;2562;2693;44;6192564 + 6761;48816;2562;2693;44;6192564 + 6762;48820;2562;2694;44;6241384 + 6763;48828;2562;2694;44;6241384 + 6764;48835;2562;2695;44;6290219 + 6765;48840;2562;2695;44;6290219 + 6766;48849;2562;2696;44;6339068 + 6767;48852;2562;2696;44;6339068 + 6768;48864;2562;2696;44;6339068 + 6769;48872;2565;2697;44;6248513 + 6770;48876;2565;2697;44;6248513 + 6771;48888;2565;2697;44;6248513 + 6772;48894;2566;2698;44;6250897 + 6773;48900;2566;2698;44;6250897 + 6774;48912;2566;2698;44;6250897 + 6775;48912;2566;2699;44;6299809 + 6776;48924;2566;2699;44;6299809 + 6777;48929;2566;2700;44;6348738 + 6778;48936;2566;2700;44;6348738 + 6779;48944;2566;2701;44;6397682 + 6780;48948;2566;2701;44;6397682 + 6781;48960;2566;2701;44;6397682 + 6782;48960;2566;2702;44;6446642 + 6783;48972;2566;2702;44;6446642 + 6784;48983;2572;2703;42;6216227 + 6785;48984;2572;2703;42;6216227 + 6786;48996;2572;2703;42;6216227 + 6787;49005;2575;2704;42;6125283 + 6788;49008;2575;2704;42;6125283 + 6789;49017;2575;2705;42;6174300 + 6790;49020;2575;2705;42;6174300 + 6791;49032;2575;2705;42;6174300 + 6792;49033;2575;2706;42;6223333 + 6793;49044;2575;2706;42;6223333 + 6794;49048;2575;2707;42;6272381 + 6795;49056;2575;2707;42;6272381 + 6796;49068;2575;2707;42;6272381 + 6797;49069;2575;2708;42;6321450 + 6798;49080;2575;2708;42;6321450 + 6799;49085;2575;2709;42;6370535 + 6800;49092;2575;2709;42;6370535 + 6801;49104;2575;2709;42;6370535 + 6802;49107;2575;2710;42;6419642 + 6803;49116;2575;2710;42;6419642 + 6804;49125;2583;2711;40;6094703 + 6805;49128;2583;2711;40;6094703 + 6806;49140;2583;2711;40;6094703 + 6807;49140;2583;2712;40;6143843 + 6808;49152;2583;2712;40;6143843 + 6809;49155;2583;2713;40;6192998 + 6810;49164;2583;2713;40;6192998 + 6811;49174;2583;2714;40;6242172 + 6812;49176;2583;2714;40;6242172 + 6813;49188;2583;2714;40;6242172 + 6814;49198;2583;2715;40;6291370 + 6815;49200;2583;2715;40;6291370 + 6816;49212;2583;2715;40;6291370 + 6817;49212;2583;2716;40;6340582 + 6818;49224;2583;2716;40;6340582 + 6819;49230;2583;2717;40;6389812 + 6820;49236;2583;2717;40;6389812 + 6821;49244;2583;2718;40;6439056 + 6822;49248;2583;2718;40;6439056 + 6823;49260;2583;2718;40;6439056 + 6824;49266;2583;2719;40;6488322 + 6825;49272;2583;2719;40;6488322 + 6826;49278;2583;2720;40;6537600 + 6827;49284;2583;2720;40;6537600 + 6828;49292;2593;2721;37;6117582 + 6829;49296;2593;2721;37;6117582 + 6830;49308;2599;2721;36;5835114 + 6831;49311;2599;2722;36;5884425 + 6832;49320;2599;2722;36;5884425 + 6833;49327;2599;2723;36;5933752 + 6834;49332;2599;2723;36;5933752 + 6835;49341;2599;2724;36;5983093 + 6836;49344;2599;2724;36;5983093 + 6837;49356;2599;2724;36;5983093 + 6838;49362;2599;2725;36;6032455 + 6839;49368;2599;2725;36;6032455 + 6840;49380;2599;2725;36;6032455 + 6841;49380;2599;2726;36;6081835 + 6842;49392;2599;2726;36;6081835 + 6843;49402;2599;2727;36;6131237 + 6844;49404;2599;2727;36;6131237 + 6845;49416;2599;2727;36;6131237 + 6846;49422;2599;2728;36;6180659 + 6847;49428;2599;2728;36;6180659 + 6848;49440;2599;2728;36;6180659 + 6849;49441;2599;2729;36;6230100 + 6850;49452;2599;2729;36;6230100 + 6851;49453;2599;2730;36;6279553 + 6852;49464;2599;2730;36;6279553 + 6853;49468;2599;2731;36;6329021 + 6854;49476;2599;2731;36;6329021 + 6855;49485;2599;2732;36;6378506 + 6856;49488;2599;2732;36;6378506 + 6857;49500;2599;2732;36;6378506 + 6858;49500;2599;2733;36;6428006 + 6859;49512;2599;2733;36;6428006 + 6860;49518;2599;2734;36;6477524 + 6861;49524;2599;2734;36;6477524 + 6862;49536;2599;2734;36;6477524 + 6863;49541;2599;2735;36;6527065 + 6864;49548;2599;2735;36;6527065 + 6865;49557;2599;2736;36;6576622 + 6866;49560;2599;2736;36;6576622 + 6867;49572;2599;2736;36;6576622 + 6868;49581;2599;2737;36;6626203 + 6869;49584;2599;2737;36;6626203 + 6870;49594;2599;2738;36;6675797 + 6871;49596;2599;2738;36;6675797 + 6872;49606;2599;2739;36;6725403 + 6873;49608;2599;2739;36;6725403 + 6874;49620;2599;2739;36;6725403 + 6875;49630;2606;2740;34;6444697 + 6876;49632;2606;2740;34;6444697 + 6877;49644;2606;2740;34;6444697 + 6878;49644;2606;2741;34;6494341 + 6879;49656;2606;2741;34;6494341 + 6880;49665;2606;2742;34;6544006 + 6881;49668;2606;2742;34;6544006 + 6882;49680;2606;2742;34;6544006 + 6883;49685;2606;2743;34;6593691 + 6884;49692;2606;2743;34;6593691 + 6885;49704;2606;2743;34;6593691 + 6886;49706;2606;2744;34;6643397 + 6887;49716;2606;2744;34;6643397 + 6888;49728;2616;2744;31;6170064 + 6889;49729;2619;2745;31;6077436 + 6890;49740;2619;2745;31;6077436 + 6891;49749;2619;2746;31;6127185 + 6892;49752;2619;2746;31;6127185 + 6893;49761;2619;2747;31;6176946 + 6894;49764;2619;2747;31;6176946 + 6895;49776;2619;2747;31;6176946 + 6896;49779;2619;2748;31;6226725 + 6897;49788;2619;2748;31;6226725 + 6898;49795;2619;2749;31;6276520 + 6899;49800;2619;2749;31;6276520 + 6900;49812;2619;2749;31;6276520 + 6901;49816;2619;2750;31;6326336 + 6902;49824;2619;2750;31;6326336 + 6903;49832;2619;2751;31;6376168 + 6904;49836;2619;2751;31;6376168 + 6905;49848;2619;2751;31;6376168 + 6906;49853;2619;2752;31;6426021 + 6907;49860;2619;2752;31;6426021 + 6908;49872;2619;2752;31;6426021 + 6909;49876;2621;2753;29;6380888 + 6910;49884;2621;2753;29;6380888 + 6911;49888;2621;2754;29;6430776 + 6912;49896;2621;2754;29;6430776 + 6913;49906;2621;2755;29;6480682 + 6914;49908;2621;2755;29;6480682 + 6915;49920;2621;2755;29;6480682 + 6916;49925;2621;2756;29;6530607 + 6917;49932;2621;2756;29;6530607 + 6918;49940;2621;2757;29;6580547 + 6919;49944;2621;2757;29;6580547 + 6920;49956;2621;2757;29;6580547 + 6921;49958;2621;2758;29;6630505 + 6922;49968;2621;2758;29;6630505 + 6923;49977;2621;2759;29;6680482 + 6924;49980;2621;2759;29;6680482 + 6925;49992;2623;2759;29;6585411 + 6926;49994;2623;2760;29;6635405 + 6927;50004;2623;2760;29;6635405 + 6928;50007;2624;2761;30;6637852 + 6929;50016;2624;2761;30;6637852 + 6930;50027;2625;2762;30;6640295 + 6931;50028;2625;2762;30;6640295 + 6932;50040;2625;2762;30;6640295 + 6933;50050;2625;2763;30;6690345 + 6934;50052;2625;2763;30;6690345 + 6935;50064;2625;2763;30;6690345 + 6936;50073;2625;2764;30;6740418 + 6937;50076;2625;2764;30;6740418 + 6938;50088;2625;2764;30;6740418 + 6939;50096;2634;2765;29;6361379 + 6940;50100;2634;2765;29;6361379 + 6941;50112;2634;2765;29;6361379 + 6942;50118;2634;2766;29;6411497 + 6943;50124;2634;2766;29;6411497 + 6944;50136;2634;2766;29;6411497 + 6945;50140;2634;2767;29;6461637 + 6946;50148;2634;2767;29;6461637 + 6947;50152;2634;2768;29;6511789 + 6948;50160;2634;2768;29;6511789 + 6949;50170;2634;2769;29;6561959 + 6950;50172;2634;2769;29;6561959 + 6951;50184;2634;2769;29;6561959 + 6952;50192;2634;2770;29;6612151 + 6953;50196;2634;2770;29;6612151 + 6954;50207;2634;2771;29;6662358 + 6955;50208;2634;2771;29;6662358 + 6956;50220;2634;2771;29;6662358 + 6957;50225;2636;2772;29;6617008 + 6958;50232;2636;2772;29;6617008 + 6959;50242;2643;2773;27;6332201 + 6960;50244;2643;2773;27;6332201 + 6961;50256;2643;2773;27;6332201 + 6962;50259;2643;2774;27;6382460 + 6963;50268;2643;2774;27;6382460 + 6964;50280;2643;2774;27;6382460 + 6965;50282;2643;2775;27;6432742 + 6966;50292;2643;2775;27;6432742 + 6967;50298;2643;2776;27;6483040 + 6968;50304;2643;2776;27;6483040 + 6969;50316;2643;2776;27;6483040 + 6970;50321;2643;2777;27;6533361 + 6971;50328;2643;2777;27;6533361 + 6972;50335;2643;2778;27;6583696 + 6973;50340;2643;2778;27;6583696 + 6974;50351;2643;2779;27;6634047 + 6975;50352;2643;2779;27;6634047 + 6976;50364;2643;2779;27;6634047 + 6977;50366;2643;2780;27;6684413 + 6978;50376;2643;2780;27;6684413 + 6979;50386;2643;2781;27;6734799 + 6980;50388;2643;2781;27;6734799 + 6981;50400;2643;2781;27;6734799 + 6982;50409;2651;2782;25;6401129 + 6983;50412;2651;2782;25;6401129 + 6984;50422;2651;2783;25;6451551 + 6985;50424;2651;2783;25;6451551 + 6986;50434;2651;2784;25;6501985 + 6987;50436;2651;2784;25;6501985 + 6988;50448;2651;2784;25;6501985 + 6989;50457;2651;2785;25;6552442 + 6990;50460;2651;2785;25;6552442 + 6991;50472;2651;2785;25;6552442 + 6992;50480;2651;2786;25;6602922 + 6993;50484;2651;2786;25;6602922 + 6994;50496;2651;2786;25;6602922 + 6995;50498;2651;2787;25;6653420 + 6996;50508;2651;2787;25;6653420 + 6997;50520;2651;2787;25;6653420 + 6998;50522;2651;2788;25;6703942 + 6999;50532;2651;2788;25;6703942 + 7000;50544;2651;2788;25;6703942 + 7001;50544;2651;2789;25;6754486 + 7002;50556;2651;2789;25;6754486 + 7003;50567;2661;2790;24;6323347 + 7004;50568;2661;2790;24;6323347 + 7005;50579;2661;2791;24;6373926 + 7006;50580;2661;2791;24;6373926 + 7007;50592;2661;2791;24;6373926 + 7008;50592;2661;2792;24;6424518 + 7009;50604;2661;2792;24;6424518 + 7010;50611;2661;2793;24;6475129 + 7011;50616;2661;2793;24;6475129 + 7012;50625;2661;2794;24;6525754 + 7013;50628;2661;2794;24;6525754 + 7014;50640;2661;2794;24;6525754 + 7015;50648;2661;2795;24;6576402 + 7016;50652;2661;2795;24;6576402 + 7017;50662;2661;2796;24;6627064 + 7018;50664;2661;2796;24;6627064 + 7019;50676;2661;2796;24;6627064 + 7020;50676;2663;2797;24;6581188 + 7021;50688;2663;2797;24;6581188 + 7022;50692;2663;2798;24;6631880 + 7023;50700;2663;2798;24;6631880 + 7024;50711;2663;2799;24;6682591 + 7025;50712;2663;2799;24;6682591 + 7026;50723;2663;2800;24;6733314 + 7027;50724;2663;2800;24;6733314 + 7028;50736;2663;2800;24;6733314 + 7029;50747;2663;2801;24;6784061 + 7030;50748;2663;2801;24;6784061 + 7031;50760;2663;2801;24;6784061 + 7032;50763;2673;2802;23;6351029 + 7033;50772;2673;2802;23;6351029 + 7034;50782;2673;2803;23;6401811 + 7035;50784;2673;2803;23;6401811 + 7036;50796;2673;2803;23;6401811 + 7037;50797;2673;2804;23;6452608 + 7038;50808;2673;2804;23;6452608 + 7039;50809;2673;2805;23;6503417 + 7040;50820;2673;2805;23;6503417 + 7041;50821;2673;2806;23;6554238 + 7042;50832;2673;2806;23;6554238 + 7043;50842;2673;2807;23;6605080 + 7044;50844;2673;2807;23;6605080 + 7045;50855;2673;2808;23;6655935 + 7046;50856;2673;2808;23;6655935 + 7047;50868;2673;2808;23;6655935 + 7048;50876;2673;2809;23;6706811 + 7049;50880;2673;2809;23;6706811 + 7050;50892;2673;2809;23;6706811 + 7051;50892;2673;2810;23;6757703 + 7052;50904;2676;2810;23;6612211 + 7053;50906;2676;2811;23;6663117 + 7054;50916;2676;2811;23;6663117 + 7055;50928;2676;2811;23;6663117 + 7056;50929;2676;2812;23;6714046 + 7057;50940;2676;2812;23;6714046 + 7058;50952;2676;2812;23;6714046 + 7059;50952;2676;2813;23;6764998 + 7060;50964;2682;2813;21;6473500 + 7061;50964;2682;2814;21;6524464 + 7062;50976;2682;2814;21;6524464 + 7063;50979;2682;2815;21;6575443 + 7064;50988;2682;2815;21;6575443 + 7065;51000;2682;2815;21;6575443 + 7066;51003;2682;2816;21;6626446 + 7067;51012;2682;2816;21;6626446 + 7068;51021;2682;2817;21;6677467 + 7069;51024;2682;2817;21;6677467 + 7070;51036;2682;2817;21;6677467 + 7071;51041;2682;2818;21;6728508 + 7072;51048;2682;2818;21;6728508 + 7073;51060;2695;2818;20;6094697 + 7074;51064;2695;2819;20;6145761 + 7075;51072;2695;2819;20;6145761 + 7076;51079;2695;2820;20;6196840 + 7077;51084;2695;2820;20;6196840 + 7078;51096;2695;2820;20;6196840 + 7079;51098;2695;2821;20;6247938 + 7080;51108;2695;2821;20;6247938 + 7081;51113;2695;2822;20;6299051 + 7082;51120;2695;2822;20;6299051 + 7083;51132;2695;2822;20;6299051 + 7084;51135;2695;2823;20;6350186 + 7085;51144;2695;2823;20;6350186 + 7086;51153;2696;2824;20;6352467 + 7087;51156;2696;2824;20;6352467 + 7088;51168;2696;2824;20;6352467 + 7089;51174;2696;2825;20;6403641 + 7090;51180;2696;2825;20;6403641 + 7091;51192;2696;2825;20;6403641 + 7092;51193;2696;2826;20;6454834 + 7093;51204;2696;2826;20;6454834 + 7094;51211;2696;2827;20;6506045 + 7095;51216;2696;2827;20;6506045 + 7096;51226;2696;2828;20;6557271 + 7097;51228;2696;2828;20;6557271 + 7098;51240;2696;2828;20;6557271 + 7099;51245;2696;2829;20;6608516 + 7100;51252;2696;2829;20;6608516 + 7101;51257;2696;2830;20;6659773 + 7102;51264;2696;2830;20;6659773 + 7103;51272;2696;2831;20;6711045 + 7104;51276;2696;2831;20;6711045 + 7105;51288;2696;2831;20;6711045 + 7106;51288;2696;2832;20;6762333 + 7107;51300;2696;2832;20;6762333 + 7108;51300;2696;2833;20;6813633 + 7109;51312;2696;2833;20;6813633 + 7110;51314;2696;2834;20;6864947 + 7111;51324;2696;2834;20;6864947 + 7112;51336;2704;2834;19;6473303 + 7113;51336;2704;2835;19;6524639 + 7114;51348;2704;2835;19;6524639 + 7115;51355;2704;2836;19;6575994 + 7116;51360;2704;2836;19;6575994 + 7117;51372;2704;2836;19;6575994 + 7118;51376;2704;2837;19;6627370 + 7119;51384;2704;2837;19;6627370 + 7120;51388;2704;2838;19;6678758 + 7121;51396;2704;2838;19;6678758 + 7122;51400;2704;2839;19;6730158 + 7123;51408;2704;2839;19;6730158 + 7124;51413;2704;2840;19;6781571 + 7125;51420;2704;2840;19;6781571 + 7126;51432;2704;2840;19;6781571 + 7127;51432;2704;2841;19;6833003 + 7128;51444;2704;2841;19;6833003 + 7129;51453;2704;2842;19;6884456 + 7130;51456;2704;2842;19;6884456 + 7131;51468;2704;2842;19;6884456 + 7132;51475;2704;2843;19;6935931 + 7133;51480;2704;2843;19;6935931 + 7134;51492;2704;2843;19;6935931 + 7135;51497;2704;2844;19;6987428 + 7136;51504;2704;2844;19;6987428 + 7137;51512;2711;2845;18;6695333 + 7138;51516;2711;2845;18;6695333 + 7139;51528;2711;2845;18;6695333 + 7140;51528;2716;2846;19;6500892 + 7141;51540;2716;2846;19;6500892 + 7142;51546;2716;2847;19;6552438 + 7143;51552;2716;2847;19;6552438 + 7144;51564;2716;2847;19;6552438 + 7145;51568;2716;2848;19;6604006 + 7146;51576;2716;2848;19;6604006 + 7147;51582;2716;2849;19;6655588 + 7148;51588;2716;2849;19;6655588 + 7149;51600;2725;2849;17;6211787 + 7150;51605;2725;2850;17;6263392 + 7151;51612;2725;2850;17;6263392 + 7152;51624;2725;2850;17;6263392 + 7153;51627;2725;2851;17;6315019 + 7154;51636;2725;2851;17;6315019 + 7155;51641;2725;2852;17;6366660 + 7156;51648;2725;2852;17;6366660 + 7157;51660;2725;2852;17;6366660 + 7158;51662;2725;2853;17;6418322 + 7159;51672;2725;2853;17;6418322 + 7160;51679;2725;2854;17;6470001 + 7161;51684;2725;2854;17;6470001 + 7162;51696;2725;2854;17;6470001 + 7163;51698;2725;2855;17;6521699 + 7164;51708;2725;2855;17;6521699 + 7165;51711;2725;2856;17;6573410 + 7166;51720;2725;2856;17;6573410 + 7167;51723;2725;2857;17;6625133 + 7168;51732;2725;2857;17;6625133 + 7169;51737;2725;2858;17;6676870 + 7170;51744;2725;2858;17;6676870 + 7171;51756;2725;2858;17;6676870 + 7172;51760;2725;2859;17;6728630 + 7173;51768;2725;2859;17;6728630 + 7174;51775;2725;2860;17;6780405 + 7175;51780;2725;2860;17;6780405 + 7176;51789;2729;2861;17;6634476 + 7177;51792;2729;2861;17;6634476 + 7178;51802;2729;2862;17;6686278 + 7179;51804;2729;2862;17;6686278 + 7180;51816;2729;2862;17;6686278 + 7181;51819;2729;2863;17;6738097 + 7182;51828;2729;2863;17;6738097 + 7183;51840;2729;2863;17;6738097 + 7184;51843;2729;2864;17;6789940 + 7185;51852;2729;2864;17;6789940 + 7186;51864;2729;2864;17;6789940 + 7187;51865;2729;2865;17;6841805 + 7188;51876;2729;2865;17;6841805 + 7189;51888;2729;2865;17;6841805 + 7190;51888;2729;2866;17;6893693 + 7191;51900;2732;2866;16;6745240 + 7192;51903;2732;2867;16;6797143 + 7193;51912;2732;2867;16;6797143 + 7194;51915;2736;2868;16;6650861 + 7195;51924;2736;2868;16;6650861 + 7196;51935;2736;2869;16;6702796 + 7197;51936;2736;2869;16;6702796 + 7198;51948;2736;2869;16;6702796 + 7199;51954;2736;2870;16;6754750 + 7200;51960;2736;2870;16;6754750 + 7201;51967;2736;2871;16;6806717 + 7202;51972;2736;2871;16;6806717 + 7203;51982;2736;2872;16;6858699 + 7204;51984;2736;2872;16;6858699 + 7205;51996;2736;2872;16;6858699 + 7206;51997;2736;2873;16;6910696 + 7207;52008;2736;2873;16;6910696 + 7208;52019;2736;2874;16;6962715 + 7209;52020;2736;2874;16;6962715 + 7210;52032;2736;2874;16;6962715 + 7211;52035;2746;2875;15;6517981 + 7212;52044;2747;2875;15;6468202 + 7213;52054;2747;2876;15;6520256 + 7214;52056;2747;2876;15;6520256 + 7215;52068;2747;2876;15;6520256 + 7216;52071;2747;2877;15;6572327 + 7217;52080;2747;2877;15;6572327 + 7218;52091;2747;2878;15;6624418 + 7219;52092;2747;2878;15;6624418 + 7220;52103;2747;2879;15;6676521 + 7221;52104;2747;2879;15;6676521 + 7222;52116;2747;2879;15;6676521 + 7223;52122;2747;2880;15;6728643 + 7224;52128;2747;2880;15;6728643 + 7225;52138;2747;2881;15;6780781 + 7226;52140;2747;2881;15;6780781 + 7227;52152;2747;2881;15;6780781 + 7228;52154;2747;2882;15;6832935 + 7229;52164;2747;2882;15;6832935 + 7230;52167;2747;2883;15;6885102 + 7231;52176;2747;2883;15;6885102 + 7232;52188;2747;2883;15;6885102 + 7233;52191;2747;2884;15;6937293 + 7234;52200;2747;2884;15;6937293 + 7235;52205;2747;2885;15;6989498 + 7236;52212;2747;2885;15;6989498 + 7237;52224;2747;2885;15;6989498 + 7238;52229;2748;2886;15;6991932 + 7239;52236;2748;2886;15;6991932 + 7240;52246;2755;2887;14;6695082 + 7241;52248;2755;2887;14;6695082 + 7242;52260;2755;2887;14;6695082 + 7243;52265;2755;2888;14;6747347 + 7244;52272;2755;2888;14;6747347 + 7245;52278;2755;2889;14;6799625 + 7246;52284;2755;2889;14;6799625 + 7247;52296;2755;2889;14;6799625 + 7248;52296;2763;2890;13;6451895 + 7249;52308;2763;2890;13;6451895 + 7250;52317;2763;2891;13;6504212 + 7251;52320;2763;2891;13;6504212 + 7252;52332;2763;2891;13;6504212 + 7253;52337;2763;2892;13;6556549 + 7254;52344;2763;2892;13;6556549 + 7255;52353;2771;2893;12;6207602 + 7256;52356;2771;2893;12;6207602 + 7257;52365;2771;2894;12;6259967 + 7258;52368;2771;2894;12;6259967 + 7259;52380;2771;2894;12;6259967 + 7260;52389;2771;2895;12;6312356 + 7261;52392;2771;2895;12;6312356 + 7262;52401;2771;2896;12;6364757 + 7263;52404;2771;2896;12;6364757 + 7264;52416;2771;2896;12;6364757 + 7265;52421;2771;2897;12;6417178 + 7266;52428;2771;2897;12;6417178 + 7267;52440;2771;2897;12;6417178 + 7268;52445;2771;2898;12;6469623 + 7269;52452;2771;2898;12;6469623 + 7270;52464;2771;2898;12;6469623 + 7271;52464;2771;2899;12;6522087 + 7272;52476;2771;2899;12;6522087 + 7273;52477;2774;2900;12;6423781 + 7274;52488;2774;2900;12;6423781 + 7275;52497;2774;2901;12;6476278 + 7276;52500;2774;2901;12;6476278 + 7277;52512;2774;2901;12;6476278 + 7278;52515;2774;2902;12;6528793 + 7279;52524;2774;2902;12;6528793 + 7280;52536;2774;2902;12;6528793 + 7281;52537;2774;2903;12;6581330 + 7282;52548;2774;2903;12;6581330 + 7283;52553;2774;2904;12;6633883 + 7284;52560;2774;2904;12;6633883 + 7285;52566;2774;2905;12;6686449 + 7286;52572;2774;2905;12;6686449 + 7287;52584;2774;2905;12;6686449 + 7288;52589;2774;2906;12;6739038 + 7289;52596;2774;2906;12;6739038 + 7290;52608;2774;2906;12;6739038 + 7291;52611;2774;2907;12;6791649 + 7292;52620;2774;2907;12;6791649 + 7293;52624;2774;2908;12;6844273 + 7294;52632;2774;2908;12;6844273 + 7295;52640;2785;2909;12;6342654 + 7296;52644;2785;2909;12;6342654 + 7297;52653;2785;2910;12;6395307 + 7298;52656;2785;2910;12;6395307 + 7299;52668;2785;2910;12;6395307 + 7300;52669;2785;2911;12;6447976 + 7301;52680;2785;2911;12;6447976 + 7302;52692;2785;2911;12;6447976 + 7303;52693;2785;2912;12;6500669 + 7304;52704;2785;2912;12;6500669 + 7305;52705;2785;2913;12;6553374 + 7306;52716;2785;2913;12;6553374 + 7307;52726;2785;2914;12;6606100 + 7308;52728;2785;2914;12;6606100 + 7309;52740;2785;2914;12;6606100 + 7310;52744;2785;2915;12;6658844 + 7311;52752;2785;2915;12;6658844 + 7312;52764;2785;2915;12;6658844 + 7313;52766;2785;2916;12;6711610 + 7314;52776;2785;2916;12;6711610 + 7315;52780;2785;2917;12;6764390 + 7316;52788;2785;2917;12;6764390 + 7317;52800;2785;2917;12;6764390 + 7318;52801;2785;2918;12;6817191 + 7319;52812;2785;2918;12;6817191 + 7320;52819;2789;2919;12;6667879 + 7321;52824;2789;2919;12;6667879 + 7322;52836;2789;2919;12;6667879 + 7323;52842;2796;2920;11;6366328 + 7324;52848;2796;2920;11;6366328 + 7325;52854;2796;2921;11;6419182 + 7326;52860;2796;2921;11;6419182 + 7327;52872;2796;2921;11;6419182 + 7328;52875;2796;2922;11;6472057 + 7329;52884;2796;2922;11;6472057 + 7330;52891;2796;2923;11;6524948 + 7331;52896;2796;2923;11;6524948 + 7332;52907;2803;2924;10;6222640 + 7333;52908;2803;2924;10;6222640 + 7334;52920;2803;2924;10;6222640 + 7335;52930;2803;2925;10;6275570 + 7336;52932;2803;2925;10;6275570 + 7337;52944;2803;2925;10;6275570 + 7338;52952;2803;2926;10;6328522 + 7339;52956;2803;2926;10;6328522 + 7340;52965;2803;2927;10;6381487 + 7341;52968;2803;2927;10;6381487 + 7342;52978;2803;2928;10;6434465 + 7343;52980;2803;2928;10;6434465 + 7344;52992;2803;2928;10;6434465 + 7345;52995;2803;2929;10;6487460 + 7346;53004;2803;2929;10;6487460 + 7347;53008;2803;2930;10;6540468 + 7348;53016;2803;2930;10;6540468 + 7349;53028;2803;2930;10;6540468 + 7350;53032;2804;2931;10;6542691 + 7351;53040;2804;2931;10;6542691 + 7352;53049;2804;2932;10;6595740 + 7353;53052;2804;2932;10;6595740 + 7354;53064;2804;2932;10;6595740 + 7355;53073;2804;2933;10;6648813 + 7356;53076;2804;2933;10;6648813 + 7357;53088;2804;2933;10;6648813 + 7358;53095;2804;2934;10;6701908 + 7359;53100;2804;2934;10;6701908 + 7360;53112;2804;2934;10;6701908 + 7361;53118;2804;2935;10;6755026 + 7362;53124;2804;2935;10;6755026 + 7363;53130;2804;2936;10;6808156 + 7364;53136;2804;2936;10;6808156 + 7365;53148;2804;2936;10;6808156 + 7366;53150;2807;2937;10;6708788 + 7367;53160;2807;2937;10;6708788 + 7368;53165;2807;2938;10;6761953 + 7369;53172;2807;2938;10;6761953 + 7370;53181;2807;2939;10;6815134 + 7371;53184;2807;2939;10;6815134 + 7372;53196;2807;2939;10;6815134 + 7373;53199;2807;2940;10;6868333 + 7374;53208;2807;2940;10;6868333 + 7375;53219;2807;2941;10;6921552 + 7376;53220;2807;2941;10;6921552 + 7377;53232;2807;2941;10;6921552 + 7378;53234;2808;2942;10;6923910 + 7379;53244;2808;2942;10;6923910 + 7380;53248;2808;2943;10;6977158 + 7381;53256;2808;2943;10;6977158 + 7382;53268;2808;2943;10;6977158 + 7383;53269;2818;2944;10;6520676 + 7384;53280;2818;2944;10;6520676 + 7385;53291;2818;2945;10;6573967 + 7386;53292;2818;2945;10;6573967 + 7387;53304;2818;2945;10;6573967 + 7388;53315;2818;2946;10;6627282 + 7389;53316;2818;2946;10;6627282 + 7390;53328;2818;2946;10;6627282 + 7391;53335;2818;2947;10;6680617 + 7392;53340;2818;2947;10;6680617 + 7393;53352;2818;2947;10;6680617 + 7394;53353;2818;2948;10;6733970 + 7395;53364;2818;2948;10;6733970 + 7396;53372;2818;2949;10;6787342 + 7397;53376;2818;2949;10;6787342 + 7398;53388;2818;2949;10;6787342 + 7399;53391;2818;2950;10;6840733 + 7400;53400;2818;2950;10;6840733 + 7401;53409;2818;2951;10;6894142 + 7402;53412;2818;2951;10;6894142 + 7403;53424;2818;2951;10;6894142 + 7404;53432;2818;2952;10;6947574 + 7405;53436;2818;2952;10;6947574 + 7406;53444;2818;2953;10;7001018 + 7407;53448;2818;2953;10;7001018 + 7408;53456;2818;2954;10;7054474 + 7409;53460;2818;2954;10;7054474 + 7410;53469;2818;2955;10;7107943 + 7411;53472;2818;2955;10;7107943 + 7412;53484;2818;2955;10;7107943 + 7413;53490;2818;2956;10;7161433 + 7414;53496;2818;2956;10;7161433 + 7415;53508;2818;2956;10;7161433 + 7416;53511;2818;2957;10;7214944 + 7417;53520;2818;2957;10;7214944 + 7418;53525;2818;2958;10;7268469 + 7419;53532;2818;2958;10;7268469 + 7420;53538;2818;2959;10;7322007 + 7421;53544;2818;2959;10;7322007 + 7422;53556;2818;2959;10;7322007 + 7423;53558;2828;2960;9;6863938 + 7424;53568;2831;2960;9;6710121 + 7425;53578;2831;2961;9;6763699 + 7426;53580;2831;2961;9;6763699 + 7427;53591;2831;2962;9;6817290 + 7428;53592;2831;2962;9;6817290 + 7429;53604;2831;2962;9;6817290 + 7430;53612;2841;2963;8;6357135 + 7431;53616;2841;2963;8;6357135 + 7432;53627;2842;2964;8;6359287 + 7433;53628;2842;2964;8;6359287 + 7434;53640;2842;2964;8;6359287 + 7435;53649;2842;2965;8;6412936 + 7436;53652;2842;2965;8;6412936 + 7437;53664;2842;2965;8;6412936 + 7438;53672;2842;2966;8;6466608 + 7439;53676;2842;2966;8;6466608 + 7440;53686;2842;2967;8;6520294 + 7441;53688;2842;2967;8;6520294 + 7442;53700;2842;2967;8;6520294 + 7443;53702;2842;2968;8;6573996 + 7444;53712;2842;2968;8;6573996 + 7445;53717;2842;2969;8;6627713 + 7446;53724;2842;2969;8;6627713 + 7447;53731;2842;2970;8;6681444 + 7448;53736;2842;2970;8;6681444 + 7449;53747;2842;2971;8;6735191 + 7450;53748;2842;2971;8;6735191 + 7451;53760;2842;2971;8;6735191 + 7452;53761;2842;2972;8;6788952 + 7453;53772;2842;2972;8;6788952 + 7454;53774;2842;2973;8;6842726 + 7455;53784;2842;2973;8;6842726 + 7456;53789;2842;2974;8;6896515 + 7457;53796;2842;2974;8;6896515 + 7458;53808;2842;2974;8;6896515 + 7459;53809;2842;2975;8;6950324 + 7460;53820;2842;2975;8;6950324 + 7461;53826;2848;2976;8;6694917 + 7462;53832;2848;2976;8;6694917 + 7463;53841;2848;2977;8;6748758 + 7464;53844;2848;2977;8;6748758 + 7465;53856;2848;2977;8;6748758 + 7466;53861;2848;2978;8;6802619 + 7467;53868;2848;2978;8;6802619 + 7468;53879;2848;2979;8;6856498 + 7469;53880;2848;2979;8;6856498 + 7470;53892;2848;2979;8;6856498 + 7471;53895;2848;2980;8;6910393 + 7472;53904;2848;2980;8;6910393 + 7473;53914;2848;2981;8;6964307 + 7474;53916;2848;2981;8;6964307 + 7475;53928;2848;2981;8;6964307 + 7476;53931;2848;2982;8;7018238 + 7477;53940;2848;2982;8;7018238 + 7478;53952;2848;2982;8;7018238 + 7479;53955;2848;2983;8;7072193 + 7480;53964;2848;2983;8;7072193 + 7481;53976;2848;2983;8;7072193 + 7482;53977;2848;2984;8;7126170 + 7483;53988;2848;2984;8;7126170 + 7484;53995;2851;2985;7;7025292 + 7485;54000;2851;2985;7;7025292 + 7486;54012;2851;2985;7;7025292 + 7487;54016;2851;2986;7;7079308 + 7488;54024;2851;2986;7;7079308 + 7489;54029;2851;2987;7;7133337 + 7490;54036;2851;2987;7;7133337 + 7491;54048;2851;2987;7;7133337 + 7492;54053;2851;2988;7;7187390 + 7493;54060;2851;2988;7;7187390 + 7494;54072;2851;2988;7;7187390 + 7495;54076;2851;2989;7;7241466 + 7496;54084;2851;2989;7;7241466 + 7497;54095;2851;2990;7;7295561 + 7498;54096;2851;2990;7;7295561 + 7499;54108;2851;2990;7;7295561 + 7500;54110;2851;2991;7;7349671 + 7501;54120;2851;2991;7;7349671 + 7502;54132;2859;2991;7;6935926 + 7503;54134;2859;2992;7;6990060 + 7504;54144;2859;2992;7;6990060 + 7505;54155;2859;2993;7;7044215 + 7506;54156;2859;2993;7;7044215 + 7507;54168;2859;2993;7;7044215 + 7508;54176;2859;2994;7;7098391 + 7509;54180;2859;2994;7;7098391 + 7510;54192;2859;2994;7;7098391 + 7511;54193;2859;2995;7;7152584 + 7512;54204;2859;2995;7;7152584 + 7513;54209;2862;2996;7;7051383 + 7514;54216;2862;2996;7;7051383 + 7515;54228;2862;2996;7;7051383 + 7516;54231;2862;2997;7;7105614 + 7517;54240;2862;2997;7;7105614 + 7518;54244;2862;2998;7;7159858 + 7519;54252;2862;2998;7;7159858 + 7520;54264;2862;2998;7;7159858 + 7521;54267;2869;2999;7;6850822 + 7522;54276;2869;2999;7;6850822 + 7523;54285;2869;3000;7;6905107 + 7524;54288;2869;3000;7;6905107 + 7525;54297;2869;3001;7;6959404 + 7526;54300;2869;3001;7;6959404 + 7527;54312;2869;3001;7;6959404 + 7528;54315;2871;3002;7;6909770 + 7529;54324;2871;3002;7;6909770 + 7530;54332;2871;3003;7;6964102 + 7531;54336;2871;3003;7;6964102 + 7532;54348;2871;3003;7;6964102 + 7533;54350;2881;3004;6;6497668 + 7534;54360;2881;3004;6;6497668 + 7535;54372;2881;3004;6;6497668 + 7536;54372;2882;3005;6;6499873 + 7537;54384;2882;3005;6;6499873 + 7538;54390;2882;3006;6;6554263 + 7539;54396;2882;3006;6;6554263 + 7540;54403;2882;3007;6;6608666 + 7541;54408;2882;3007;6;6608666 + 7542;54420;2882;3007;6;6608666 + 7543;54426;2882;3008;6;6663092 + 7544;54432;2882;3008;6;6663092 + 7545;54440;2882;3009;6;6717532 + 7546;54444;2882;3009;6;6717532 + 7547;54453;2882;3010;6;6771985 + 7548;54456;2882;3010;6;6771985 + 7549;54468;2882;3010;6;6771985 + 7550;54474;2882;3011;6;6826459 + 7551;54480;2882;3011;6;6826459 + 7552;54492;2882;3011;6;6826459 + 7553;54492;2882;3012;6;6880951 + 7554;54504;2882;3012;6;6880951 + 7555;54504;2882;3013;6;6935455 + 7556;54516;2882;3013;6;6935455 + 7557;54522;2882;3014;6;6989977 + 7558;54528;2882;3014;6;6989977 + 7559;54540;2882;3014;6;6989977 + 7560;54541;2882;3015;6;7044518 + 7561;54552;2882;3015;6;7044518 + 7562;54553;2882;3016;6;7099071 + 7563;54564;2882;3016;6;7099071 + 7564;54571;2882;3017;6;7153642 + 7565;54576;2882;3017;6;7153642 + 7566;54585;2882;3018;6;7208227 + 7567;54588;2882;3018;6;7208227 + 7568;54600;2882;3018;6;7208227 + 7569;54603;2882;3019;6;7262830 + 7570;54612;2882;3019;6;7262830 + 7571;54619;2882;3020;6;7317449 + 7572;54624;2882;3020;6;7317449 + 7573;54636;2888;3020;6;7004035 + 7574;54638;2888;3021;6;7058673 + 7575;54648;2888;3021;6;7058673 + 7576;54660;2888;3021;6;7058673 + 7577;54660;2888;3022;6;7113333 + 7578;54672;2888;3022;6;7113333 + 7579;54673;2897;3023;6;6696682 + 7580;54684;2897;3023;6;6696682 + 7581;54691;2897;3024;6;6751373 + 7582;54696;2897;3024;6;6751373 + 7583;54708;2897;3024;6;6751373 + 7584;54714;2897;3025;6;6806087 + 7585;54720;2897;3025;6;6806087 + 7586;54730;2897;3026;6;6860817 + 7587;54732;2897;3026;6;6860817 + 7588;54743;2897;3027;6;6915560 + 7589;54744;2897;3027;6;6915560 + 7590;54756;2897;3027;6;6915560 + 7591;54756;2897;3028;6;6970316 + 7592;54768;2897;3028;6;6970316 + 7593;54777;2897;3029;6;7025093 + 7594;54780;2897;3029;6;7025093 + 7595;54792;2897;3029;6;7025093 + 7596;54792;2897;3030;6;7079885 + 7597;54804;2897;3030;6;7079885 + 7598;54810;2899;3031;6;7029754 + 7599;54816;2899;3031;6;7029754 + 7600;54828;2904;3031;6;6767086 + 7601;54832;2904;3032;6;6821918 + 7602;54840;2904;3032;6;6821918 + 7603;54844;2904;3033;6;6876762 + 7604;54852;2904;3033;6;6876762 + 7605;54864;2907;3033;6;6718938 + 7606;54866;2907;3034;6;6773804 + 7607;54876;2907;3034;6;6773804 + 7608;54885;2907;3035;6;6828689 + 7609;54888;2907;3035;6;6828689 + 7610;54900;2907;3035;6;6828689 + 7611;54909;2907;3036;6;6883598 + 7612;54912;2907;3036;6;6883598 + 7613;54924;2907;3036;6;6883598 + 7614;54933;2909;3037;6;6833238 + 7615;54936;2909;3037;6;6833238 + 7616;54948;2909;3037;6;6833238 + 7617;54955;2909;3038;6;6888193 + 7618;54960;2909;3038;6;6888193 + 7619;54972;2909;3038;6;6888193 + 7620;54978;2909;3039;6;6943171 + 7621;54984;2909;3039;6;6943171 + 7622;54994;2909;3040;6;6998165 + 7623;54996;2909;3040;6;6998165 + 7624;55008;2909;3040;6;6998165 + 7625;55016;2912;3041;5;6895114 + 7626;55020;2912;3041;5;6895114 + 7627;55032;2912;3041;5;6895114 + 7628;55035;2912;3042;5;6950149 + 7629;55044;2912;3042;5;6950149 + 7630;55049;2912;3043;5;7005198 + 7631;55056;2912;3043;5;7005198 + 7632;55063;2912;3044;5;7060261 + 7633;55068;2912;3044;5;7060261 + 7634;55080;2912;3044;5;7060261 + 7635;55087;2912;3045;5;7115348 + 7636;55092;2912;3045;5;7115348 + 7637;55102;2915;3046;5;7012214 + 7638;55104;2915;3046;5;7012214 + 7639;55116;2915;3046;5;7012214 + 7640;55123;2918;3047;5;6908937 + 7641;55128;2918;3047;5;6908937 + 7642;55140;2918;3047;5;6908937 + 7643;55147;2918;3048;5;6964084 + 7644;55152;2918;3048;5;6964084 + 7645;55163;2918;3049;5;7019247 + 7646;55164;2918;3049;5;7019247 + 7647;55176;2918;3049;5;7019247 + 7648;55185;2918;3050;5;7074432 + 7649;55188;2918;3050;5;7074432 + 7650;55199;2918;3051;5;7129631 + 7651;55200;2918;3051;5;7129631 + 7652;55212;2918;3051;5;7129631 + 7653;55220;2918;3052;5;7184851 + 7654;55224;2918;3052;5;7184851 + 7655;55235;2918;3053;5;7240086 + 7656;55236;2918;3053;5;7240086 + 7657;55248;2918;3053;5;7240086 + 7658;55258;2918;3054;5;7295344 + 7659;55260;2918;3054;5;7295344 + 7660;55272;2918;3054;5;7295344 + 7661;55276;2918;3055;5;7350620 + 7662;55284;2918;3055;5;7350620 + 7663;55296;2918;3055;5;7350620 + 7664;55297;2918;3056;5;7405917 + 7665;55308;2918;3056;5;7405917 + 7666;55311;2925;3057;5;7090977 + 7667;55320;2925;3057;5;7090977 + 7668;55327;2925;3058;5;7146304 + 7669;55332;2925;3058;5;7146304 + 7670;55340;2925;3059;5;7201644 + 7671;55344;2925;3059;5;7201644 + 7672;55356;2925;3059;5;7201644 + 7673;55363;2925;3060;5;7257007 + 7674;55368;2925;3060;5;7257007 + 7675;55378;2925;3061;5;7312385 + 7676;55380;2925;3061;5;7312385 + 7677;55392;2925;3061;5;7312385 + 7678;55396;2925;3062;5;7367781 + 7679;55404;2925;3062;5;7367781 + 7680;55416;2925;3062;5;7367781 + 7681;55417;2933;3063;5;6999003 + 7682;55428;2933;3063;5;6999003 + 7683;55429;2933;3064;5;7054432 + 7684;55440;2933;3064;5;7054432 + 7685;55441;2933;3065;5;7109873 + 7686;55452;2933;3065;5;7109873 + 7687;55464;2933;3065;5;7109873 + 7688;55465;2933;3066;5;7165338 + 7689;55476;2933;3066;5;7165338 + 7690;55480;2934;3067;5;7167700 + 7691;55488;2934;3067;5;7167700 + 7692;55500;2934;3067;5;7167700 + 7693;55503;2939;3068;5;6957378 + 7694;55512;2939;3068;5;6957378 + 7695;55524;2939;3068;5;6957378 + 7696;55524;2939;3069;5;7012902 + 7697;55536;2939;3069;5;7012902 + 7698;55542;2939;3070;5;7068444 + 7699;55548;2939;3070;5;7068444 + 7700;55559;2939;3071;5;7124003 + 7701;55560;2939;3071;5;7124003 + 7702;55571;2939;3072;5;7179574 + 7703;55572;2939;3072;5;7179574 + 7704;55583;2939;3073;5;7235157 + 7705;55584;2939;3073;5;7235157 + 7706;55596;2939;3073;5;7235157 + 7707;55597;2939;3074;5;7290754 + 7708;55608;2939;3074;5;7290754 + 7709;55615;2939;3075;5;7346369 + 7710;55620;2939;3075;5;7346369 + 7711;55632;2939;3075;5;7346369 + 7712;55634;2939;3076;5;7402003 + 7713;55644;2939;3076;5;7402003 + 7714;55656;2939;3076;5;7402003 + 7715;55656;2939;3077;5;7457659 + 7716;55668;2939;3077;5;7457659 + 7717;55680;2939;3077;5;7457659 + 7718;55680;2949;3078;5;6980312 + 7719;55692;2951;3078;4;6873471 + 7720;55694;2951;3079;4;6929165 + 7721;55704;2951;3079;4;6929165 + 7722;55716;2951;3079;4;6929165 + 7723;55716;2951;3080;4;6984881 + 7724;55728;2951;3080;4;6984881 + 7725;55738;2951;3081;4;7040619 + 7726;55740;2951;3081;4;7040619 + 7727;55752;2951;3081;4;7040619 + 7728;55752;2951;3082;4;7096371 + 7729;55764;2951;3082;4;7096371 + 7730;55766;2951;3083;4;7152137 + 7731;55776;2951;3083;4;7152137 + 7732;55778;2951;3084;4;7207915 + 7733;55788;2951;3084;4;7207915 + 7734;55800;2951;3084;4;7207915 + 7735;55800;2951;3085;4;7263715 + 7736;55812;2951;3085;4;7263715 + 7737;55813;2951;3086;4;7319528 + 7738;55824;2951;3086;4;7319528 + 7739;55830;2956;3087;4;7107988 + 7740;55836;2956;3087;4;7107988 + 7741;55847;2957;3088;4;7110310 + 7742;55848;2957;3088;4;7110310 + 7743;55860;2957;3088;4;7110310 + 7744;55861;2957;3089;4;7166171 + 7745;55872;2957;3089;4;7166171 + 7746;55878;2962;3090;4;6954172 + 7747;55884;2962;3090;4;6954172 + 7748;55896;2962;3090;4;6954172 + 7749;55898;2962;3091;4;7010070 + 7750;55908;2964;3091;4;6902794 + 7751;55914;2964;3092;4;6958708 + 7752;55920;2964;3092;4;6958708 + 7753;55932;2964;3092;4;6958708 + 7754;55933;2964;3093;4;7014641 + 7755;55944;2964;3093;4;7014641 + 7756;55946;2964;3094;4;7070587 + 7757;55956;2964;3094;4;7070587 + 7758;55966;2972;3095;4;6696763 + 7759;55968;2972;3095;4;6696763 + 7760;55978;2972;3096;4;6752741 + 7761;55980;2972;3096;4;6752741 + 7762;55992;2972;3096;4;6752741 + 7763;56001;2972;3097;4;6808742 + 7764;56004;2972;3097;4;6808742 + 7765;56016;2972;3097;4;6808742 + 7766;56024;2972;3098;4;6864766 + 7767;56028;2972;3098;4;6864766 + 7768;56036;2972;3099;4;6920802 + 7769;56040;2972;3099;4;6920802 + 7770;56052;2972;3099;4;6920802 + 7771;56058;2974;3100;4;6869262 + 7772;56064;2974;3100;4;6869262 + 7773;56075;2974;3101;4;6925337 + 7774;56076;2974;3101;4;6925337 + 7775;56088;2974;3101;4;6925337 + 7776;56098;2974;3102;4;6981435 + 7777;56100;2974;3102;4;6981435 + 7778;56112;2974;3102;4;6981435 + 7779;56121;2974;3103;4;7037556 + 7780;56124;2974;3103;4;7037556 + 7781;56136;2974;3103;4;7037556 + 7782;56136;2974;3104;4;7093692 + 7783;56148;2974;3104;4;7093692 + 7784;56157;2974;3105;4;7149849 + 7785;56160;2974;3105;4;7149849 + 7786;56172;2974;3105;4;7149849 + 7787;56176;2978;3106;4;6990618 + 7788;56184;2978;3106;4;6990618 + 7789;56192;2978;3107;4;7046810 + 7790;56196;2978;3107;4;7046810 + 7791;56208;2978;3107;4;7046810 + 7792;56208;2978;3108;4;7103018 + 7793;56220;2978;3108;4;7103018 + 7794;56222;2978;3109;4;7159240 + 7795;56232;2978;3109;4;7159240 + 7796;56243;2978;3110;4;7215483 + 7797;56244;2978;3110;4;7215483 + 7798;56256;2978;3110;4;7215483 + 7799;56267;2978;3111;4;7271750 + 7800;56268;2978;3111;4;7271750 + 7801;56280;2978;3111;4;7271750 + 7802;56286;2978;3112;4;7328036 + 7803;56292;2978;3112;4;7328036 + 7804;56304;2978;3112;4;7328036 + 7805;56305;2983;3113;4;7114669 + 7806;56316;2983;3113;4;7114669 + 7807;56318;2983;3114;4;7170987 + 7808;56328;2983;3114;4;7170987 + 7809;56334;2983;3115;4;7227321 + 7810;56340;2983;3115;4;7227321 + 7811;56350;2983;3116;4;7283671 + 7812;56352;2983;3116;4;7283671 + 7813;56364;2983;3116;4;7283671 + 7814;56372;2983;3117;4;7340043 + 7815;56376;2983;3117;4;7340043 + 7816;56384;2983;3118;4;7396427 + 7817;56388;2983;3118;4;7396427 + 7818;56400;2983;3118;4;7396427 + 7819;56402;2983;3119;4;7452829 + 7820;56412;2983;3119;4;7452829 + 7821;56416;2983;3120;4;7509245 + 7822;56424;2983;3120;4;7509245 + 7823;56434;2983;3121;4;7565679 + 7824;56436;2983;3121;4;7565679 + 7825;56448;2983;3121;4;7565679 + 7826;56453;2983;3122;4;7622132 + 7827;56460;2983;3122;4;7622132 + 7828;56467;2993;3123;3;7137760 + 7829;56472;2993;3123;3;7137760 + 7830;56484;2993;3123;3;7137760 + 7831;56490;2995;3124;3;7085848 + 7832;56496;2995;3124;3;7085848 + 7833;56508;2995;3124;3;7085848 + 7834;56513;2995;3125;3;7142361 + 7835;56520;2995;3125;3;7142361 + 7836;56529;2995;3126;3;7198890 + 7837;56532;2995;3126;3;7198890 + 7838;56544;2995;3126;3;7198890 + 7839;56551;2995;3127;3;7255441 + 7840;56556;2995;3127;3;7255441 + 7841;56568;2995;3127;3;7255441 + 7842;56574;2995;3128;3;7312015 + 7843;56580;2995;3128;3;7312015 + 7844;56592;2995;3128;3;7312015 + 7845;56597;2995;3129;3;7368612 + 7846;56604;2995;3129;3;7368612 + 7847;56610;2995;3130;3;7425222 + 7848;56616;2995;3130;3;7425222 + 7849;56623;2995;3131;3;7481845 + 7850;56628;2995;3131;3;7481845 + 7851;56639;2995;3132;3;7538484 + 7852;56640;2995;3132;3;7538484 + 7853;56652;2995;3132;3;7538484 + 7854;56661;2995;3133;3;7595145 + 7855;56664;2995;3133;3;7595145 + 7856;56673;3005;3134;3;7108735 + 7857;56676;3005;3134;3;7108735 + 7858;56688;3006;3134;3;7054332 + 7859;56697;3006;3135;3;7111029 + 7860;56700;3006;3135;3;7111029 + 7861;56712;3006;3135;3;7111029 + 7862;56721;3006;3136;3;7167750 + 7863;56724;3006;3136;3;7167750 + 7864;56736;3006;3136;3;7167750 + 7865;56743;3006;3137;3;7224493 + 7866;56748;3006;3137;3;7224493 + 7867;56755;3006;3138;3;7281248 + 7868;56760;3006;3138;3;7281248 + 7869;56772;3006;3138;3;7281248 + 7870;56772;3006;3139;3;7338020 + 7871;56784;3006;3139;3;7338020 + 7872;56794;3006;3140;3;7394814 + 7873;56796;3006;3140;3;7394814 + 7874;56808;3006;3140;3;7394814 + 7875;56815;3006;3141;3;7451629 + 7876;56820;3006;3141;3;7451629 + 7877;56827;3006;3142;3;7508456 + 7878;56832;3006;3142;3;7508456 + 7879;56843;3015;3143;3;7074894 + 7880;56844;3015;3143;3;7074894 + 7881;56856;3015;3143;3;7074894 + 7882;56865;3015;3144;3;7131759 + 7883;56868;3015;3144;3;7131759 + 7884;56880;3015;3144;3;7131759 + 7885;56880;3015;3145;3;7188639 + 7886;56892;3015;3145;3;7188639 + 7887;56902;3015;3146;3;7245541 + 7888;56904;3015;3146;3;7245541 + 7889;56914;3015;3147;3;7302455 + 7890;56916;3015;3147;3;7302455 + 7891;56927;3021;3148;3;7031706 + 7892;56928;3021;3148;3;7031706 + 7893;56940;3021;3148;3;7031706 + 7894;56944;3021;3149;3;7088650 + 7895;56952;3021;3149;3;7088650 + 7896;56961;3021;3150;3;7145611 + 7897;56964;3021;3150;3;7145611 + 7898;56976;3021;3150;3;7145611 + 7899;56982;3021;3151;3;7202593 + 7900;56988;3021;3151;3;7202593 + 7901;56999;3026;3152;2;6986041 + 7902;57000;3026;3152;2;6986041 + 7903;57012;3026;3152;2;6986041 + 7904;57019;3026;3153;2;7043060 + 7905;57024;3026;3153;2;7043060 + 7906;57036;3026;3153;2;7043060 + 7907;57041;3028;3154;2;6990568 + 7908;57048;3028;3154;2;6990568 + 7909;57060;3028;3154;2;6990568 + 7910;57064;3028;3155;2;7047632 + 7911;57072;3028;3155;2;7047632 + 7912;57080;3028;3156;2;7104712 + 7913;57084;3028;3156;2;7104712 + 7914;57096;3028;3156;2;7104712 + 7915;57099;3028;3157;2;7161811 + 7916;57108;3028;3157;2;7161811 + 7917;57120;3028;3157;2;7161811 + 7918;57121;3028;3158;2;7218932 + 7919;57132;3028;3158;2;7218932 + 7920;57144;3028;3158;2;7218932 + 7921;57145;3028;3159;2;7276077 + 7922;57156;3028;3159;2;7276077 + 7923;57157;3028;3160;2;7333234 + 7924;57168;3028;3160;2;7333234 + 7925;57169;3028;3161;2;7390403 + 7926;57180;3028;3161;2;7390403 + 7927;57190;3028;3162;2;7447593 + 7928;57192;3028;3162;2;7447593 + 7929;57204;3028;3162;2;7447593 + 7930;57214;3028;3163;2;7504807 + 7931;57216;3028;3163;2;7504807 + 7932;57228;3028;3163;2;7504807 + 7933;57234;3035;3164;2;7178103 + 7934;57240;3035;3164;2;7178103 + 7935;57252;3035;3164;2;7178103 + 7936;57252;3035;3165;2;7235355 + 7937;57264;3035;3165;2;7235355 + 7938;57273;3035;3166;2;7292628 + 7939;57276;3035;3166;2;7292628 + 7940;57288;3035;3166;2;7292628 + 7941;57293;3036;3167;2;7294988 + 7942;57300;3036;3167;2;7294988 + 7943;57312;3036;3167;2;7294988 + 7944;57316;3036;3168;2;7352304 + 7945;57324;3036;3168;2;7352304 + 7946;57336;3036;3168;2;7352304 + 7947;57338;3036;3169;2;7409642 + 7948;57348;3036;3169;2;7409642 + 7949;57353;3036;3170;2;7466995 + 7950;57360;3036;3170;2;7466995 + 7951;57372;3036;3170;2;7466995 + 7952;57375;3036;3171;2;7524370 + 7953;57384;3036;3171;2;7524370 + 7954;57396;3036;3171;2;7524370 + 7955;57398;3044;3172;2;7141591 + 7956;57408;3044;3172;2;7141591 + 7957;57419;3044;3173;2;7199010 + 7958;57420;3044;3173;2;7199010 + 7959;57432;3044;3173;2;7199010 + 7960;57438;3044;3174;2;7256448 + 7961;57444;3044;3174;2;7256448 + 7962;57452;3044;3175;2;7313900 + 7963;57456;3044;3175;2;7313900 + 7964;57465;3044;3176;2;7371365 + 7965;57468;3044;3176;2;7371365 + 7966;57480;3044;3176;2;7371365 + 7967;57480;3044;3177;2;7428845 + 7968;57492;3044;3177;2;7428845 + 7969;57499;3044;3178;2;7486344 + 7970;57504;3044;3178;2;7486344 + 7971;57515;3044;3179;2;7543859 + 7972;57516;3044;3179;2;7543859 + 7973;57528;3044;3179;2;7543859 + 7974;57529;3044;3180;2;7601388 + 7975;57540;3044;3180;2;7601388 + 7976;57546;3044;3181;2;7658934 + 7977;57552;3044;3181;2;7658934 + 7978;57561;3044;3182;2;7716495 + 7979;57564;3044;3182;2;7716495 + 7980;57576;3044;3182;2;7716495 + 7981;57579;3052;3183;2;7332700 + 7982;57588;3052;3183;2;7332700 + 7983;57595;3052;3184;2;7390295 + 7984;57600;3052;3184;2;7390295 + 7985;57610;3052;3185;2;7447905 + 7986;57612;3052;3185;2;7447905 + 7987;57624;3052;3185;2;7447905 + 7988;57627;3052;3186;2;7505532 + 7989;57636;3052;3186;2;7505532 + 7990;57642;3052;3187;2;7563174 + 7991;57648;3052;3187;2;7563174 + 7992;57654;3052;3188;2;7620828 + 7993;57660;3052;3188;2;7620828 + 7994;57669;3052;3189;2;7678497 + 7995;57672;3052;3189;2;7678497 + 7996;57684;3052;3189;2;7678497 + 7997;57689;3062;3190;2;7182823 + 7998;57696;3062;3190;2;7182823 + 7999;57708;3062;3190;2;7182823 + 8000;57709;3062;3191;2;7240532 + 8001;57720;3062;3191;2;7240532 + 8002;57725;3062;3192;2;7298257 + 8003;57732;3062;3192;2;7298257 + 8004;57740;3062;3193;2;7355997 + 8005;57744;3062;3193;2;7355997 + 8006;57752;3062;3194;2;7413749 + 8007;57756;3062;3194;2;7413749 + 8008;57768;3062;3194;2;7413749 + 8009;57775;3062;3195;2;7471524 + 8010;57780;3062;3195;2;7471524 + 8011;57787;3062;3196;2;7529311 + 8012;57792;3062;3196;2;7529311 + 8013;57801;3062;3197;2;7587112 + 8014;57804;3062;3197;2;7587112 + 8015;57816;3071;3197;2;7087598 + 8016;57822;3071;3198;2;7145420 + 8017;57828;3071;3198;2;7145420 + 8018;57840;3071;3198;2;7145420 + 8019;57846;3071;3199;2;7203266 + 8020;57852;3071;3199;2;7203266 + 8021;57864;3071;3199;2;7203266 + 8022;57866;3071;3200;2;7261132 + 8023;57876;3071;3200;2;7261132 + 8024;57887;3071;3201;2;7319019 + 8025;57888;3071;3201;2;7319019 + 8026;57900;3071;3201;2;7319019 + 8027;57911;3071;3202;2;7376930 + 8028;57912;3071;3202;2;7376930 + 8029;57924;3071;3202;2;7376930 + 8030;57924;3071;3203;2;7434854 + 8031;57936;3071;3203;2;7434854 + 8032;57943;3071;3204;2;7492797 + 8033;57948;3071;3204;2;7492797 + 8034;57956;3071;3205;2;7550753 + 8035;57960;3071;3205;2;7550753 + 8036;57972;3071;3205;2;7550753 + 8037;57978;3071;3206;2;7608731 + 8038;57984;3071;3206;2;7608731 + 8039;57996;3071;3206;2;7608731 + 8040;57999;3081;3207;2;7110065 + 8041;58008;3081;3207;2;7110065 + 8042;58011;3081;3208;2;7168076 + 8043;58020;3081;3208;2;7168076 + 8044;58031;3081;3209;2;7226107 + 8045;58032;3081;3209;2;7226107 + 8046;58044;3081;3209;2;7226107 + 8047;58050;3081;3210;2;7284157 + 8048;58056;3081;3210;2;7284157 + 8049;58068;3081;3210;2;7284157 + 8050;58069;3081;3211;2;7342226 + 8051;58080;3081;3211;2;7342226 + 8052;58082;3081;3212;2;7400308 + 8053;58092;3081;3212;2;7400308 + 8054;58095;3081;3213;2;7458403 + 8055;58104;3081;3213;2;7458403 + 8056;58116;3081;3213;2;7458403 + 8057;58118;3081;3214;2;7516521 + 8058;58128;3081;3214;2;7516521 + 8059;58135;3081;3215;2;7574656 + 8060;58140;3081;3215;2;7574656 + 8061;58152;3081;3215;2;7574656 + 8062;58155;3081;3216;2;7632811 + 8063;58164;3081;3216;2;7632811 + 8064;58169;3081;3217;2;7690980 + 8065;58176;3081;3217;2;7690980 + 8066;58188;3081;3217;2;7690980 + 8067;58190;3081;3218;2;7749170 + 8068;58200;3081;3218;2;7749170 + 8069;58205;3084;3219;2;7640031 + 8070;58212;3084;3219;2;7640031 + 8071;58224;3084;3219;2;7640031 + 8072;58225;3084;3220;2;7698256 + 8073;58236;3084;3220;2;7698256 + 8074;58237;3084;3221;2;7756493 + 8075;58248;3084;3221;2;7756493 + 8076;58255;3084;3222;2;7814748 + 8077;58260;3084;3222;2;7814748 + 8078;58272;3084;3222;2;7814748 + 8079;58277;3094;3223;1;7314139 + 8080;58284;3094;3223;1;7314139 + 8081;58292;3101;3224;1;6980161 + 8082;58296;3101;3224;1;6980161 + 8083;58308;3101;3224;1;6980161 + 8084;58315;3101;3225;1;7038476 + 8085;58320;3101;3225;1;7038476 + 8086;58332;3101;3225;1;7038476 + 8087;58339;3101;3226;1;7096815 + 8088;58344;3101;3226;1;7096815 + 8089;58356;3101;3226;1;7096815 + 8090;58363;3101;3227;1;7155178 + 8091;58368;3101;3227;1;7155178 + 8092;58380;3101;3227;1;7155178 + 8093;58382;3101;3228;1;7213560 + 8094;58392;3101;3228;1;7213560 + 8095;58394;3101;3229;1;7271954 + 8096;58404;3101;3229;1;7271954 + 8097;58409;3103;3230;1;7218106 + 8098;58416;3103;3230;1;7218106 + 8099;58421;3103;3231;1;7276527 + 8100;58428;3103;3231;1;7276527 + 8101;58440;3103;3231;1;7276527 + 8102;58442;3103;3232;1;7334969 + 8103;58452;3103;3232;1;7334969 + 8104;58462;3103;3233;1;7393431 + 8105;58464;3103;3233;1;7393431 + 8106;58476;3103;3233;1;7393431 + 8107;58480;3103;3234;1;7451911 + 8108;58488;3103;3234;1;7451911 + 8109;58494;3103;3235;1;7510405 + 8110;58500;3103;3235;1;7510405 + 8111;58506;3103;3236;1;7568911 + 8112;58512;3103;3236;1;7568911 + 8113;58519;3103;3237;1;7627430 + 8114;58524;3103;3237;1;7627430 + 8115;58536;3103;3237;1;7627430 + 8116;58541;3103;3238;1;7685971 + 8117;58548;3103;3238;1;7685971 + 8118;58560;3103;3238;1;7685971 + 8119;58562;3103;3239;1;7744533 + 8120;58572;3103;3239;1;7744533 + 8121;58580;3103;3240;1;7803113 + 8122;58584;3103;3240;1;7803113 + 8123;58596;3103;3240;1;7803113 + 8124;58599;3103;3241;1;7861712 + 8125;58608;3103;3241;1;7861712 + 8126;58620;3103;3241;1;7861712 + 8127;58623;3113;3242;1;7357961 + 8128;58632;3117;3242;1;7132521 + 8129;58644;3117;3242;1;7132521 + 8130;58645;3117;3243;1;7191166 + 8131;58656;3117;3243;1;7191166 + 8132;58668;3117;3243;1;7191166 + 8133;58668;3117;3244;1;7249834 + 8134;58680;3117;3244;1;7249834 + 8135;58691;3117;3245;1;7308525 + 8136;58692;3117;3245;1;7308525 + 8137;58704;3117;3245;1;7308525 + 8138;58711;3117;3246;1;7367236 + 8139;58716;3117;3246;1;7367236 + 8140;58728;3121;3246;1;7141531 + 8141;58729;3121;3247;1;7200260 + 8142;58740;3121;3247;1;7200260 + 8143;58745;3121;3248;1;7259005 + 8144;58752;3121;3248;1;7259005 + 8145;58764;3121;3248;1;7259005 + 8146;58765;3121;3249;1;7317770 + 8147;58776;3121;3249;1;7317770 + 8148;58787;3121;3250;1;7376557 + 8149;58788;3121;3250;1;7376557 + 8150;58800;3121;3250;1;7376557 + 8151;58809;3121;3251;1;7435366 + 8152;58812;3121;3251;1;7435366 + 8153;58822;3121;3252;1;7494188 + 8154;58824;3121;3252;1;7494188 + 8155;58834;3121;3253;1;7553022 + 8156;58836;3121;3253;1;7553022 + 8157;58848;3121;3253;1;7553022 + 8158;58854;3121;3254;1;7611876 + 8159;58860;3121;3254;1;7611876 + 8160;58869;3128;3255;1;7275024 + 8161;58872;3128;3255;1;7275024 + 8162;58884;3128;3255;1;7275024 + 8163;58884;3128;3256;1;7333908 + 8164;58896;3128;3256;1;7333908 + 8165;58906;3128;3257;1;7392814 + 8166;58908;3128;3257;1;7392814 + 8167;58920;3128;3257;1;7392814 + 8168;58922;3128;3258;1;7451736 + 8169;58932;3128;3258;1;7451736 + 8170;58939;3128;3259;1;7510675 + 8171;58944;3128;3259;1;7510675 + 8172;58953;3128;3260;1;7569628 + 8173;58956;3128;3260;1;7569628 + 8174;58968;3128;3260;1;7569628 + 8175;58975;3128;3261;1;7628603 + 8176;58980;3128;3261;1;7628603 + 8177;58992;3128;3261;1;7628603 + 8178;58999;3128;3262;1;7687602 + 8179;59004;3128;3262;1;7687602 + 8180;59014;3135;3263;1;7349992 + 8181;59016;3135;3263;1;7349992 + 8182;59028;3135;3263;1;7349992 + 8183;59028;3137;3264;1;7295522 + 8184;59040;3137;3264;1;7295522 + 8185;59048;3137;3265;1;7354570 + 8186;59052;3137;3265;1;7354570 + 8187;59064;3137;3265;1;7354570 + 8188;59069;3142;3266;1;7129588 + 8189;59076;3142;3266;1;7129588 + 8190;59086;3142;3267;1;7188674 + 8191;59088;3142;3267;1;7188674 + 8192;59100;3142;3267;1;7188674 + 8193;59108;3142;3268;1;7247782 + 8194;59112;3142;3268;1;7247782 + 8195;59124;3142;3268;1;7247782 + 8196;59132;3142;3269;1;7306914 + 8197;59136;3142;3269;1;7306914 + 8198;59148;3142;3269;1;7306914 + 8199;59156;3142;3270;1;7366070 + 8200;59160;3142;3270;1;7366070 + 8201;59172;3142;3270;1;7366070 + 8202;59172;3142;3271;1;7425242 + 8203;59184;3142;3271;1;7425242 + 8204;59195;3142;3272;1;7484437 + 8205;59196;3142;3272;1;7484437 + 8206;59208;3153;3272;1;6858003 + 8207;59216;3153;3273;1;6917219 + 8208;59220;3153;3273;1;6917219 + 8209;59232;3153;3273;1;6917219 + 8210;59236;3153;3274;1;6976455 + 8211;59244;3153;3274;1;6976455 + 8212;59256;3153;3274;1;6976455 + 8213;59257;3153;3275;1;7035712 + 8214;59268;3153;3275;1;7035712 + 8215;59277;3153;3276;1;7094989 + 8216;59280;3153;3276;1;7094989 + 8217;59292;3156;3276;1;6923746 + 8218;59294;3156;3277;1;6983040 + 8219;59304;3156;3277;1;6983040 + 8220;59306;3156;3278;1;7042346 + 8221;59316;3156;3278;1;7042346 + 8222;59328;3156;3278;1;7042346 + 8223;59329;3156;3279;1;7101675 + 8224;59340;3156;3279;1;7101675 + 8225;59344;3156;3280;1;7161019 + 8226;59352;3156;3280;1;7161019 + 8227;59364;3156;3280;1;7161019 + 8228;59368;3159;3281;1;7048964 + 8229;59376;3159;3281;1;7048964 + 8230;59381;3159;3282;1;7108345 + 8231;59388;3159;3282;1;7108345 + 8232;59393;3159;3283;1;7167738 + 8233;59400;3159;3283;1;7167738 + 8234;59406;3159;3284;1;7227144 + 8235;59412;3159;3284;1;7227144 + 8236;59424;3159;3284;1;7227144 + 8237;59430;3159;3285;1;7286574 + 8238;59436;3159;3285;1;7286574 + 8239;59448;3159;3285;1;7286574 + 8240;59451;3159;3286;1;7346025 + 8241;59460;3159;3286;1;7346025 + 8242;59472;3159;3286;1;7346025 + 8243;59473;3159;3287;1;7405498 + 8244;59484;3159;3287;1;7405498 + 8245;59490;3159;3288;1;7464988 + 8246;59496;3159;3288;1;7464988 + 8247;59508;3159;3288;1;7464988 + 8248;59512;3159;3289;1;7524500 + 8249;59520;3159;3289;1;7524500 + 8250;59528;3159;3290;1;7584028 + 8251;59532;3159;3290;1;7584028 + 8252;59542;3159;3291;1;7643570 + 8253;59544;3159;3291;1;7643570 + 8254;59555;3159;3292;1;7703125 + 8255;59556;3159;3292;1;7703125 + 8256;59568;3159;3292;1;7703125 + 8257;59570;3159;3293;1;7762695 + 8258;59580;3159;3293;1;7762695 + 8259;59592;3159;3293;1;7762695 + 8260;59592;3159;3294;1;7822287 + 8261;59604;3159;3294;1;7822287 + 8262;59611;3165;3295;1;7538566 + 8263;59616;3165;3295;1;7538566 + 8264;59628;3165;3295;1;7538566 + 8265;59634;3165;3296;1;7598200 + 8266;59640;3165;3296;1;7598200 + 8267;59647;3165;3297;1;7657847 + 8268;59652;3165;3297;1;7657847 + 8269;59661;3165;3298;1;7717508 + 8270;59664;3165;3298;1;7717508 + 8271;59676;3165;3298;1;7717508 + 8272;59680;3165;3299;1;7777188 + 8273;59688;3165;3299;1;7777188 + 8274;59694;3165;3300;1;7836882 + 8275;59700;3165;3300;1;7836882 + 8276;59711;3175;3301;1;7322746 + 8277;59712;3175;3301;1;7322746 + 8278;59724;3175;3301;1;7322746 + 8279;59725;3175;3302;1;7382471 + 8280;59736;3175;3302;1;7382471 + 8281;59747;3175;3303;1;7442218 + 8282;59748;3175;3303;1;7442218 + 8283;59760;3175;3303;1;7442218 + 8284;59760;3176;3304;1;7444498 + 8285;59772;3176;3304;1;7444498 + 8286;59779;3176;3305;1;7504277 + 8287;59784;3176;3305;1;7504277 + 8288;59796;3176;3305;1;7504277 + 8289;59803;3177;3306;1;7506581 + 8290;59808;3177;3306;1;7506581 + 8291;59820;3177;3306;1;7506581 + 8292;59825;3177;3307;1;7566406 + 8293;59832;3177;3307;1;7566406 + 8294;59842;3177;3308;1;7626248 + 8295;59844;3177;3308;1;7626248 + 8296;59856;3177;3308;1;7626248 + 8297;59857;3177;3309;1;7686105 + 8298;59868;3177;3309;1;7686105 + 8299;59878;3177;3310;1;7745983 + 8300;59880;3177;3310;1;7745983 + 8301;59890;3177;3311;1;7805873 + 8302;59892;3177;3311;1;7805873 + 8303;59904;3177;3311;1;7805873 + 8304;59904;3184;3312;1;7462842 + 8305;59916;3184;3312;1;7462842 + 8306;59919;3184;3313;1;7522761 + 8307;59928;3184;3313;1;7522761 + 8308;59935;3184;3314;1;7582696 + 8309;59940;3184;3314;1;7582696 + 8310;59948;3188;3315;1;7412052 + 8311;59952;3188;3315;1;7412052 + 8312;59964;3188;3315;1;7412052 + 8313;59969;3188;3316;1;7472021 + 8314;59976;3188;3316;1;7472021 + 8315;59987;3188;3317;1;7532008 + 8316;59988;3188;3317;1;7532008 + 8317;60000;3188;3317;1;7532008 + 8318;60006;3188;3318;1;7592014 + 8319;60012;3188;3318;1;7592014 + 8320;60024;3188;3318;1;7592014 + 8321;60027;3188;3319;1;7652041 + 8322;60036;3188;3319;1;7652041 + 8323;60048;3188;3319;1;7652041 + 8324;60051;3196;3320;1;7250114 + 8325;60060;3196;3320;1;7250114 + 8326;60065;3196;3321;1;7310179 + 8327;60072;3196;3321;1;7310179 + 8328;60084;3196;3321;1;7310179 + 8329;60084;3196;3322;1;7370263 + 8330;60096;3196;3322;1;7370263 + 8331;60099;3196;3323;1;7430362 + 8332;60108;3196;3323;1;7430362 + 8333;60120;3196;3323;1;7430362 + 8334;60123;3196;3324;1;7490485 + 8335;60132;3196;3324;1;7490485 + 8336;60140;3196;3325;1;7550625 + 8337;60144;3196;3325;1;7550625 + 8338;60156;3196;3325;1;7550625 + 8339;60163;3196;3326;1;7610788 + 8340;60168;3196;3326;1;7610788 + 8341;60180;3196;3326;1;7610788 + 8342;60185;3196;3327;1;7670973 + 8343;60192;3196;3327;1;7670973 + 8344;60204;3196;3327;1;7670973 + 8345;60208;3196;3328;1;7731181 + 8346;60216;3196;3328;1;7731181 + 8347;60228;3196;3328;1;7731181 + 8348;60230;3196;3329;1;7791411 + 8349;60240;3196;3329;1;7791411 + 8350;60252;3196;3329;1;7791411 + 8351;60252;3196;3330;1;7851663 + 8352;60264;3196;3330;1;7851663 + 8353;60266;3196;3331;1;7911929 + 8354;60276;3196;3331;1;7911929 + 8355;60286;3204;3332;1;7509060 + 8356;60288;3204;3332;1;7509060 + 8357;60300;3204;3332;1;7509060 + 8358;60302;3204;3333;1;7569362 + 8359;60312;3204;3333;1;7569362 + 8360;60314;3204;3334;1;7629676 + 8361;60324;3204;3334;1;7629676 + 8362;60335;3204;3335;1;7690011 + 8363;60336;3204;3335;1;7690011 + 8364;60348;3204;3335;1;7690011 + 8365;60356;3204;3336;1;7750367 + 8366;60360;3204;3336;1;7750367 + 8367;60368;3204;3337;1;7810735 + 8368;60372;3204;3337;1;7810735 + 8369;60384;3204;3337;1;7810735 + 8370;60388;3204;3338;1;7871123 + 8371;60396;3204;3338;1;7871123 + 8372;60403;3204;3339;1;7931526 + 8373;60408;3204;3339;1;7931526 + 8374;60415;3204;3340;1;7991941 + 8375;60420;3204;3340;1;7991941 + 8376;60430;3212;3341;0;7588056 + 8377;60432;3212;3341;0;7588056 + 8378;60444;3212;3341;0;7588056 + 8379;60444;3212;3342;0;7648500 + 8380;60456;3212;3342;0;7648500 + 8381;60464;3212;3343;0;7708964 + 8382;60468;3212;3343;0;7708964 + 8383;60480;3212;3343;0;7708964 + 8384;60480;3212;3344;0;7769444 + 8385;60492;3212;3344;0;7769444 + 8386;60504;3212;3344;0;7769444 + 8387;60504;3218;3345;0;7480976 + 8388;60516;3232;3345;0;6664163 + 8389;60523;3232;3346;0;6724686 + 8390;60528;3232;3346;0;6724686 + 8391;60540;3232;3346;0;6724686 + 8392;60541;3232;3347;0;6785227 + 8393;60552;3232;3347;0;6785227 + 8394;60563;3232;3348;0;6845790 + 8395;60564;3232;3348;0;6845790 + 8396;60576;3232;3348;0;6845790 + 8397;60587;3232;3349;0;6906377 + 8398;60588;3232;3349;0;6906377 + 8399;60599;3232;3350;0;6966976 + 8400;60600;3232;3350;0;6966976 + 8401;60612;3232;3350;0;6966976 + 8402;60623;3232;3351;0;7027599 + 8403;60624;3232;3351;0;7027599 + 8404;60636;3232;3351;0;7027599 + 8405;60642;3232;3352;0;7088241 + 8406;60648;3232;3352;0;7088241 + 8407;60660;3232;3352;0;7088241 + 8408;60661;3232;3353;0;7148902 + 8409;60672;3232;3353;0;7148902 + 8410;60684;3232;3353;0;7148902 + 8411;60685;3232;3354;0;7209587 + 8412;60696;3232;3354;0;7209587 + 8413;60708;3232;3354;0;7209587 + 8414;60708;3232;3355;0;7270295 + 8415;60720;3232;3355;0;7270295 + 8416;60730;3232;3356;0;7331025 + 8417;60732;3232;3356;0;7331025 + 8418;60744;3232;3356;0;7331025 + 8419;60750;3232;3357;0;7391775 + 8420;60756;3232;3357;0;7391775 + 8421;60768;3232;3357;0;7391775 + 8422;60771;3232;3358;0;7452546 + 8423;60780;3232;3358;0;7452546 + 8424;60788;3232;3359;0;7513334 + 8425;60792;3232;3359;0;7513334 + 8426;60801;3234;3360;0;7457161 + 8427;60804;3234;3360;0;7457161 + 8428;60816;3234;3360;0;7457161 + 8429;60823;3234;3361;0;7517984 + 8430;60828;3234;3361;0;7517984 + 8431;60840;3234;3361;0;7517984 + 8432;60847;3238;3362;0;7344703 + 8433;60852;3238;3362;0;7344703 + 8434;60864;3238;3362;0;7344703 + 8435;60869;3238;3363;0;7405572 + 8436;60876;3238;3363;0;7405572 + 8437;60885;3238;3364;0;7466457 + 8438;60888;3238;3364;0;7466457 + 8439;60900;3238;3364;0;7466457 + 8440;60909;3238;3365;0;7527366 + 8441;60912;3238;3365;0;7527366 + 8442;60923;3238;3366;0;7588289 + 8443;60924;3238;3366;0;7588289 + 8444;60936;3238;3366;0;7588289 + 8445;60938;3238;3367;0;7649227 + 8446;60948;3238;3367;0;7649227 + 8447;60958;3238;3368;0;7710185 + 8448;60960;3238;3368;0;7710185 + 8449;60972;3238;3368;0;7710185 + 8450;60981;3238;3369;0;7771166 + 8451;60984;3238;3369;0;7771166 + 8452;60996;3238;3369;0;7771166 + 8453;60996;3238;3370;0;7832162 + 8454;61008;3238;3370;0;7832162 + 8455;61009;3238;3371;0;7893171 + 8456;61020;3238;3371;0;7893171 + 8457;61032;3238;3371;0;7893171 + 8458;61032;3238;3372;0;7954203 + 8459;61044;3238;3372;0;7954203 + 8460;61048;3248;3373;0;7428495 + 8461;61056;3248;3373;0;7428495 + 8462;61064;3253;3374;0;7195453 + 8463;61068;3253;3374;0;7195453 + 8464;61079;3253;3375;0;7256532 + 8465;61080;3253;3375;0;7256532 + 8466;61092;3253;3375;0;7256532 + 8467;61100;3253;3376;0;7317632 + 8468;61104;3253;3376;0;7317632 + 8469;61116;3253;3376;0;7317632 + 8470;61122;3253;3377;0;7378754 + 8471;61128;3253;3377;0;7378754 + 8472;61137;3253;3378;0;7439891 + 8473;61140;3253;3378;0;7439891 + 8474;61152;3253;3378;0;7439891 + 8475;61155;3258;3379;0;7206526 + 8476;61164;3258;3379;0;7206526 + 8477;61168;3258;3380;0;7267694 + 8478;61176;3258;3380;0;7267694 + 8479;61186;3258;3381;0;7328880 + 8480;61188;3258;3381;0;7328880 + 8481;61200;3258;3381;0;7328880 + 8482;61206;3258;3382;0;7390086 + 8483;61212;3258;3382;0;7390086 + 8484;61222;3258;3383;0;7451308 + 8485;61224;3258;3383;0;7451308 + 8486;61236;3258;3383;0;7451308 + 8487;61238;3258;3384;0;7512546 + 8488;61248;3258;3384;0;7512546 + 8489;61255;3258;3385;0;7573801 + 8490;61260;3258;3385;0;7573801 + 8491;61268;3258;3386;0;7635069 + 8492;61272;3258;3386;0;7635069 + 8493;61280;3258;3387;0;7696349 + 8494;61284;3258;3387;0;7696349 + 8495;61296;3258;3387;0;7696349 + 8496;61303;3258;3388;0;7757652 + 8497;61308;3258;3388;0;7757652 + 8498;61320;3258;3388;0;7757652 + 8499;61326;3258;3389;0;7818978 + 8500;61332;3258;3389;0;7818978 + 8501;61343;3259;3390;0;7821368 + 8502;61344;3259;3390;0;7821368 + 8503;61356;3259;3390;0;7821368 + 8504;61360;3259;3391;0;7882728 + 8505;61368;3259;3391;0;7882728 + 8506;61379;3266;3392;0;7530888 + 8507;61380;3266;3392;0;7530888 + 8508;61392;3266;3392;0;7530888 + 8509;61400;3266;3393;0;7592288 + 8510;61404;3266;3393;0;7592288 + 8511;61416;3266;3393;0;7592288 + 8512;61419;3266;3394;0;7653707 + 8513;61428;3266;3394;0;7653707 + 8514;61439;3266;3395;0;7715146 + 8515;61440;3266;3395;0;7715146 + 8516;61452;3266;3395;0;7715146 + 8517;61454;3266;3396;0;7776600 + 8518;61464;3266;3396;0;7776600 + 8519;61466;3266;3397;0;7838066 + 8520;61476;3266;3397;0;7838066 + 8521;61478;3266;3398;0;7899544 + 8522;61488;3266;3398;0;7899544 + 8523;61490;3266;3399;0;7961034 + 8524;61500;3266;3399;0;7961034 + 8525;61504;3266;3400;0;8022538 + 8526;61512;3266;3400;0;8022538 + 8527;61522;3266;3401;0;8084060 + 8528;61524;3266;3401;0;8084060 + 8529;61536;3266;3401;0;8084060 + 8530;61544;3266;3402;0;8145604 + 8531;61548;3266;3402;0;8145604 + 8532;61560;3267;3402;0;8086496 + 8533;61566;3267;3403;0;8148062 + 8534;61572;3267;3403;0;8148062 + 8535;61581;3269;3404;0;8091355 + 8536;61584;3269;3404;0;8091355 + 8537;61596;3269;3404;0;8091355 + 8538;61598;3269;3405;0;8152953 + 8539;61608;3275;3405;0;7797600 + 8540;61614;3275;3406;0;7859214 + 8541;61620;3275;3406;0;7859214 + 8542;61631;3275;3407;0;7920845 + 8543;61632;3275;3407;0;7920845 + 8544;61644;3275;3407;0;7920845 + 8545;61646;3275;3408;0;7982491 + 8546;61656;3275;3408;0;7982491 + 8547;61663;3278;3409;0;7866225 + 8548;61668;3278;3409;0;7866225 + 8549;61680;3278;3409;0;7866225 + 8550;61682;3278;3410;0;7927907 + 8551;61692;3278;3410;0;7927907 + 8552;61702;3278;3411;0;7989609 + 8553;61704;3278;3411;0;7989609 + 8554;61716;3278;3411;0;7989609 + 8555;61723;3278;3412;0;8051332 + 8556;61728;3278;3412;0;8051332 + 8557;61740;3278;3412;0;8051332 + 8558;61745;3278;3413;0;8113077 + 8559;61752;3278;3413;0;8113077 + 8560;61761;3278;3414;0;8174838 + 8561;61764;3278;3414;0;8174838 + 8562;61776;3278;3414;0;8174838 + 8563;61780;3278;3415;0;8236618 + 8564;61788;3278;3415;0;8236618 + 8565;61800;3278;3415;0;8236618 + 8566;61803;3278;3416;0;8298421 + 8567;61812;3278;3416;0;8298421 + 8568;61823;3283;3417;0;8063352 + 8569;61824;3283;3417;0;8063352 + 8570;61836;3283;3417;0;8063352 + 8571;61846;3283;3418;0;8125198 + 8572;61848;3283;3418;0;8125198 + 8573;61860;3283;3418;0;8125198 + 8574;61860;3293;3419;0;7591915 + 8575;61872;3293;3419;0;7591915 + 8576;61881;3298;3420;0;7355563 + 8577;61884;3298;3420;0;7355563 + 8578;61896;3298;3420;0;7355563 + 8579;61897;3298;3421;0;7417460 + 8580;61908;3298;3421;0;7417460 + 8581;61920;3298;3421;0;7417460 + 8582;61921;3298;3422;0;7479381 + 8583;61932;3298;3422;0;7479381 + 8584;61937;3298;3423;0;7541318 + 8585;61944;3298;3423;0;7541318 + 8586;61956;3298;3423;0;7541318 + 8587;61959;3298;3424;0;7603277 + 8588;61968;3298;3424;0;7603277 + 8589;61971;3298;3425;0;7665248 + 8590;61980;3298;3425;0;7665248 + 8591;61992;3298;3425;0;7665248 + 8592;61992;3298;3426;0;7727240 + 8593;62004;3298;3426;0;7727240 + 8594;62005;3298;3427;0;7789245 + 8595;62016;3298;3427;0;7789245 + 8596;62026;3298;3428;0;7851271 + 8597;62028;3298;3428;0;7851271 + 8598;62040;3298;3428;0;7851271 + 8599;62047;3298;3429;0;7913318 + 8600;62052;3298;3429;0;7913318 + 8601;62064;3298;3429;0;7913318 + 8602;62064;3298;3430;0;7975382 + 8603;62076;3298;3430;0;7975382 + 8604;62087;3298;3431;0;8037469 + 8605;62088;3298;3431;0;8037469 + 8606;62100;3298;3431;0;8037469 + 8607;62106;3298;3432;0;8099575 + 8608;62112;3298;3432;0;8099575 + 8609;62119;3298;3433;0;8161694 + 8610;62124;3298;3433;0;8161694 + 8611;62131;3307;3434;0;7685939 + 8612;62136;3307;3434;0;7685939 + 8613;62148;3307;3434;0;7685939 + 8614;62149;3307;3435;0;7748088 + 8615;62160;3307;3435;0;7748088 + 8616;62172;3307;3435;0;7748088 + 8617;62172;3307;3436;0;7810260 + 8618;62184;3307;3436;0;7810260 + 8619;62185;3307;3437;0;7872445 + 8620;62196;3307;3437;0;7872445 + 8621;62200;3307;3438;0;7934645 + 8622;62208;3307;3438;0;7934645 + 8623;62218;3307;3439;0;7996863 + 8624;62220;3307;3439;0;7996863 + 8625;62232;3307;3439;0;7996863 + 8626;62234;3307;3440;0;8059097 + 8627;62244;3307;3440;0;8059097 + 8628;62256;3315;3440;0;7579797 + 8629;62256;3315;3441;0;7642053 + 8630;62268;3315;3441;0;7642053 + 8631;62273;3315;3442;0;7704326 + 8632;62280;3315;3442;0;7704326 + 8633;62292;3315;3442;0;7704326 + 8634;62292;3315;3443;0;7766618 + 8635;62304;3315;3443;0;7766618 + 8636;62304;3315;3444;0;7828922 + 8637;62316;3315;3444;0;7828922 + 8638;62319;3315;3445;0;7891241 + 8639;62328;3315;3445;0;7891241 + 8640;62339;3315;3446;0;7953580 + 8641;62340;3315;3446;0;7953580 + 8642;62352;3315;3446;0;7953580 + 8643;62359;3325;3447;0;7415194 + 8644;62364;3325;3447;0;7415194 + 8645;62376;3325;3447;0;7415194 + 8646;62376;3325;3448;0;7477570 + 8647;62388;3325;3448;0;7477570 + 8648;62388;3325;3449;0;7539958 + 8649;62400;3325;3449;0;7539958 + 8650;62411;3325;3450;0;7602369 + 8651;62412;3325;3450;0;7602369 + 8652;62424;3325;3450;0;7602369 + 8653;62424;3326;3451;0;7604608 + 8654;62436;3326;3451;0;7604608 + 8655;62444;3326;3452;0;7667052 + 8656;62448;3326;3452;0;7667052 + 8657;62460;3326;3452;0;7667052 + 8658;62460;3326;3453;0;7729512 + 8659;62472;3326;3453;0;7729512 + 8660;62479;3326;3454;0;7791991 + 8661;62484;3326;3454;0;7791991 + 8662;62496;3326;3454;0;7791991 + 8663;62500;3326;3455;0;7854491 + 8664;62508;3326;3455;0;7854491 + 8665;62515;3326;3456;0;7917006 + 8666;62520;3326;3456;0;7917006 + 8667;62532;3326;3456;0;7917006 + 8668;62538;3331;3457;0;7678302 + 8669;62544;3331;3457;0;7678302 + 8670;62554;3336;3458;0;7439181 + 8671;62556;3336;3458;0;7439181 + 8672;62568;3336;3458;0;7439181 + 8673;62574;3336;3459;0;7501755 + 8674;62580;3336;3459;0;7501755 + 8675;62586;3336;3460;0;7564341 + 8676;62592;3336;3460;0;7564341 + 8677;62599;3336;3461;0;7626940 + 8678;62604;3336;3461;0;7626940 + 8679;62616;3336;3461;0;7626940 + 8680;62619;3336;3462;0;7689559 + 8681;62628;3336;3462;0;7689559 + 8682;62631;3336;3463;0;7752190 + 8683;62640;3336;3463;0;7752190 + 8684;62643;3336;3464;0;7814833 + 8685;62652;3336;3464;0;7814833 + 8686;62663;3336;3465;0;7877496 + 8687;62664;3336;3465;0;7877496 + 8688;62675;3336;3466;0;7940171 + 8689;62676;3336;3466;0;7940171 + 8690;62688;3336;3466;0;7940171 + 8691;62692;3336;3467;0;8002863 + 8692;62700;3336;3467;0;8002863 + 8693;62711;3336;3468;0;8065574 + 8694;62712;3336;3468;0;8065574 + 8695;62724;3336;3468;0;8065574 + 8696;62727;3336;3469;0;8128301 + 8697;62736;3336;3469;0;8128301 + 8698;62746;3337;3470;0;8130659 + 8699;62748;3337;3470;0;8130659 + 8700;62760;3337;3470;0;8130659 + 8701;62764;3337;3471;0;8193423 + 8702;62772;3337;3471;0;8193423 + 8703;62784;3337;3471;0;8193423 + 8704;62786;3337;3472;0;8256209 + 8705;62796;3337;3472;0;8256209 + 8706;62808;3337;3472;0;8256209 + 8707;62808;3337;3473;0;8319017 + 8708;62820;3337;3473;0;8319017 + 8709;62828;3337;3474;0;8381845 + 8710;62832;3337;3474;0;8381845 + 8711;62842;3337;3475;0;8444687 + 8712;62844;3337;3475;0;8444687 + 8713;62856;3337;3475;0;8444687 + 8714;62858;3341;3476;0;8265853 + 8715;62868;3341;3476;0;8265853 + 8716;62874;3341;3477;0;8328727 + 8717;62880;3341;3477;0;8328727 + 8718;62886;3341;3478;0;8391613 + 8719;62892;3341;3478;0;8391613 + 8720;62901;3345;3479;0;8212543 + 8721;62904;3345;3479;0;8212543 + 8722;62916;3345;3479;0;8212543 + 8723;62919;3345;3480;0;8275462 + 8724;62928;3345;3480;0;8275462 + 8725;62931;3345;3481;0;8338393 + 8726;62940;3345;3481;0;8338393 + 8727;62952;3345;3481;0;8338393 + 8728;62952;3345;3482;0;8401345 + 8729;62964;3352;3482;0;7977129 + 8730;62970;3352;3483;0;8040099 + 8731;62976;3352;3483;0;8040099 + 8732;62988;3352;3483;0;8040099 + 8733;62988;3352;3484;0;8103087 + 8734;63000;3352;3484;0;8103087 + 8735;63003;3352;3485;0;8166090 + 8736;63012;3352;3485;0;8166090 + 8737;63019;3352;3486;0;8229109 + 8738;63024;3352;3486;0;8229109 + 8739;63033;3352;3487;0;8292142 + 8740;63036;3352;3487;0;8292142 + 8741;63048;3352;3487;0;8292142 + 8742;63049;3352;3488;0;8355191 + 8743;63060;3356;3488;0;8112318 + 8744;63062;3356;3489;0;8175380 + 8745;63072;3356;3489;0;8175380 + 8746;63083;3356;3490;0;8238463 + 8747;63084;3356;3490;0;8238463 + 8748;63096;3356;3490;0;8238463 + 8749;63104;3356;3491;0;8301567 + 8750;63108;3356;3491;0;8301567 + 8751;63120;3356;3491;0;8301567 + 8752;63125;3356;3492;0;8364692 + 8753;63132;3356;3492;0;8364692 + 8754;63137;3356;3493;0;8427829 + 8755;63144;3356;3493;0;8427829 + 8756;63150;3366;3494;0;7882425 + 8757;63156;3366;3494;0;7882425 + 8758;63166;3367;3495;0;7884633 + 8759;63168;3367;3495;0;7884633 + 8760;63179;3367;3496;0;7947812 + 8761;63180;3367;3496;0;7947812 + 8762;63192;3367;3496;0;7947812 + 8763;63202;3367;3497;0;8011014 + 8764;63204;3367;3497;0;8011014 + 8765;63216;3367;3497;0;8011014 + 8766;63221;3367;3498;0;8074235 + 8767;63228;3367;3498;0;8074235 + 8768;63233;3367;3499;0;8137468 + 8769;63240;3367;3499;0;8137468 + 8770;63251;3367;3500;0;8200719 + 8771;63252;3367;3500;0;8200719 + 8772;63264;3367;3500;0;8200719 + 8773;63264;3367;3501;0;8263983 + 8774;63276;3367;3501;0;8263983 + 8775;63287;3367;3502;0;8327270 + 8776;63288;3367;3502;0;8327270 + 8777;63300;3367;3502;0;8327270 + 8778;63301;3367;3503;0;8390571 + 8779;63312;3367;3503;0;8390571 + 8780;63319;3367;3504;0;8453890 + 8781;63324;3367;3504;0;8453890 + 8782;63331;3367;3505;0;8517221 + 8783;63336;3367;3505;0;8517221 + 8784;63348;3367;3505;0;8517221 + 8785;63350;3367;3506;0;8580571 + 8786;63360;3367;3506;0;8580571 + 8787;63372;3367;3506;0;8580571 + 8788;63372;3367;3507;0;8643943 + 8789;63384;3372;3507;0;8338877 + 8790;63385;3372;3508;0;8402262 + 8791;63396;3372;3508;0;8402262 + 8792;63403;3372;3509;0;8465665 + 8793;63408;3372;3509;0;8465665 + 8794;63420;3372;3509;0;8465665 + 8795;63426;3372;3510;0;8529091 + 8796;63432;3372;3510;0;8529091 + 8797;63442;3372;3511;0;8592533 + 8798;63444;3372;3511;0;8592533 + 8799;63455;3372;3512;0;8655988 + 8800;63456;3372;3512;0;8655988 + 8801;63468;3372;3512;0;8655988 + 8802;63471;3372;3513;0;8719459 + 8803;63480;3372;3513;0;8719459 + 8804;63485;3372;3514;0;8782944 + 8805;63492;3372;3514;0;8782944 + 8806;63501;3372;3515;0;8846445 + 8807;63504;3372;3515;0;8846445 + 8808;63516;3372;3515;0;8846445 + 8809;63522;3372;3516;0;8909967 + 8810;63528;3372;3516;0;8909967 + 8811;63540;3372;3516;0;8909967 + 8812;63541;3381;3517;0;8423291 + 8813;63552;3381;3517;0;8423291 + 8814;63562;3381;3518;0;8486853 + 8815;63564;3381;3518;0;8486853 + 8816;63575;3381;3519;0;8550428 + 8817;63576;3381;3519;0;8550428 + 8818;63588;3381;3519;0;8550428 + 8819;63590;3381;3520;0;8614018 + 8820;63600;3381;3520;0;8614018 + 8821;63611;3381;3521;0;8677629 + 8822;63612;3381;3521;0;8677629 + 8823;63624;3381;3521;0;8677629 + 8824;63626;3381;3522;0;8741255 + 8825;63636;3381;3522;0;8741255 + 8826;63640;3381;3523;0;8804895 + 8827;63648;3381;3523;0;8804895 + 8828;63657;3383;3524;0;8746092 + 8829;63660;3383;3524;0;8746092 + 8830;63671;3393;3525;0;8196430 + 8831;63672;3393;3525;0;8196430 + 8832;63684;3393;3525;0;8196430 + 8833;63684;3393;3526;0;8260114 + 8834;63696;3393;3526;0;8260114 + 8835;63697;3393;3527;0;8323811 + 8836;63708;3393;3527;0;8323811 + 8837;63714;3393;3528;0;8387525 + 8838;63720;3393;3528;0;8387525 + 8839;63730;3393;3529;0;8451255 + 8840;63732;3393;3529;0;8451255 + 8841;63744;3393;3529;0;8451255 + 8842;63753;3393;3530;0;8515008 + 8843;63756;3393;3530;0;8515008 + 8844;63768;3393;3530;0;8515008 + 8845;63775;3393;3531;0;8578783 + 8846;63780;3393;3531;0;8578783 + 8847;63789;3393;3532;0;8642572 + 8848;63792;3393;3532;0;8642572 + 8849;63801;3393;3533;0;8706373 + 8850;63804;3393;3533;0;8706373 + 8851;63816;3393;3533;0;8706373 + 8852;63817;3397;3534;0;8524353 + 8853;63828;3397;3534;0;8524353 + 8854;63839;3402;3535;0;8280566 + 8855;63840;3402;3535;0;8280566 + 8856;63852;3402;3535;0;8280566 + 8857;63855;3402;3536;0;8344421 + 8858;63864;3402;3536;0;8344421 + 8859;63869;3403;3537;0;8346709 + 8860;63876;3403;3537;0;8346709 + 8861;63886;3403;3538;0;8410595 + 8862;63888;3403;3538;0;8410595 + 8863;63900;3403;3538;0;8410595 + 8864;63900;3403;3539;0;8474495 + 8865;63912;3403;3539;0;8474495 + 8866;63912;3404;3540;0;8476809 + 8867;63924;3404;3540;0;8476809 + 8868;63932;3404;3541;0;8540741 + 8869;63936;3404;3541;0;8540741 + 8870;63948;3404;3541;0;8540741 + 8871;63953;3404;3542;0;8604694 + 8872;63960;3404;3542;0;8604694 + 8873;63966;3404;3543;0;8668660 + 8874;63972;3404;3543;0;8668660 + 8875;63984;3404;3543;0;8668660 + 8876;63985;3404;3544;0;8732645 + 8877;63996;3404;3544;0;8732645 + 8878;64000;3404;3545;0;8796645 + 8879;64008;3404;3545;0;8796645 + 8880;64012;3404;3546;0;8860657 + 8881;64020;3404;3546;0;8860657 + 8882;64029;3404;3547;0;8924686 + 8883;64032;3404;3547;0;8924686 + 8884;64044;3404;3547;0;8924686 + 8885;64048;3414;3548;0;8371787 + 8886;64056;3414;3548;0;8371787 + 8887;64064;3416;3549;0;8312225 + 8888;64068;3416;3549;0;8312225 + 8889;64080;3416;3549;0;8312225 + 8890;64087;3416;3550;0;8376312 + 8891;64092;3416;3550;0;8376312 + 8892;64104;3416;3550;0;8376312 + 8893;64108;3416;3551;0;8440420 + 8894;64116;3416;3551;0;8440420 + 8895;64127;3416;3552;0;8504547 + 8896;64128;3416;3552;0;8504547 + 8897;64140;3416;3552;0;8504547 + 8898;64140;3416;3553;0;8568687 + 8899;64152;3416;3553;0;8568687 + 8900;64155;3416;3554;0;8632842 + 8901;64164;3416;3554;0;8632842 + 8902;64172;3416;3555;0;8697014 + 8903;64176;3416;3555;0;8697014 + 8904;64185;3416;3556;0;8761199 + 8905;64188;3416;3556;0;8761199 + 8906;64197;3416;3557;0;8825396 + 8907;64200;3416;3557;0;8825396 + 8908;64212;3416;3557;0;8825396 + 8909;64215;3416;3558;0;8889611 + 8910;64224;3416;3558;0;8889611 + 8911;64233;3416;3559;0;8953844 + 8912;64236;3416;3559;0;8953844 + 8913;64248;3416;3559;0;8953844 + 8914;64254;3416;3560;0;9018098 + 8915;64260;3416;3560;0;9018098 + 8916;64272;3416;3560;0;9018098 + 8917;64274;3416;3561;0;9082372 + 8918;64284;3416;3561;0;9082372 + 8919;64296;3417;3561;0;9020526 + 8920;64298;3417;3562;0;9084824 + 8921;64308;3417;3562;0;9084824 + 8922;64320;3417;3562;0;9084824 + 8923;64322;3417;3563;0;9149146 + 8924;64332;3417;3563;0;9149146 + 8925;64339;3421;3564;0;8965926 + 8926;64344;3421;3564;0;8965926 + 8927;64356;3421;3564;0;8965926 + 8928;64356;3423;3565;0;8906386 + 8929;64368;3423;3565;0;8906386 + 8930;64376;3423;3566;0;8970762 + 8931;64380;3423;3566;0;8970762 + 8932;64390;3423;3567;0;9035152 + 8933;64392;3423;3567;0;9035152 + 8934;64404;3423;3567;0;9035152 + 8935;64410;3423;3568;0;9099562 + 8936;64416;3423;3568;0;9099562 + 8937;64427;3423;3569;0;9163989 + 8938;64428;3423;3569;0;9163989 + 8939;64440;3423;3569;0;9163989 + 8940;64444;3433;3570;0;8607885 + 8941;64452;3433;3570;0;8607885 + 8942;64460;3434;3571;0;8610196 + 8943;64464;3434;3571;0;8610196 + 8944;64475;3434;3572;0;8674671 + 8945;64476;3434;3572;0;8674671 + 8946;64488;3434;3572;0;8674671 + 8947;64498;3434;3573;0;8739169 + 8948;64500;3434;3573;0;8739169 + 8949;64510;3434;3574;0;8803679 + 8950;64512;3434;3574;0;8803679 + 8951;64524;3434;3574;0;8803679 + 8952;64527;3434;3575;0;8868206 + 8953;64536;3437;3575;0;8681649 + 8954;64548;3437;3575;0;8681649 + 8955;64549;3437;3576;0;8746198 + 8956;64560;3437;3576;0;8746198 + 8957;64566;3437;3577;0;8810764 + 8958;64572;3437;3577;0;8810764 + 8959;64584;3437;3577;0;8810764 + 8960;64590;3437;3578;0;8875354 + 8961;64596;3437;3578;0;8875354 + 8962;64604;3437;3579;0;8939958 + 8963;64608;3437;3579;0;8939958 + 8964;64620;3437;3579;0;8939958 + 8965;64623;3446;3580;0;8443987 + 8966;64632;3446;3580;0;8443987 + 8967;64641;3446;3581;0;8508628 + 8968;64644;3446;3581;0;8508628 + 8969;64654;3446;3582;0;8573282 + 8970;64656;3446;3582;0;8573282 + 8971;64668;3446;3582;0;8573282 + 8972;64670;3446;3583;0;8637952 + 8973;64680;3446;3583;0;8637952 + 8974;64687;3446;3584;0;8702639 + 8975;64692;3446;3584;0;8702639 + 8976;64704;3446;3584;0;8702639 + 8977;64711;3446;3585;0;8767350 + 8978;64716;3446;3585;0;8767350 + 8979;64725;3446;3586;0;8832075 + 8980;64728;3446;3586;0;8832075 + 8981;64740;3446;3586;0;8832075 + 8982;64741;3446;3587;0;8896816 + 8983;64752;3446;3587;0;8896816 + 8984;64764;3446;3587;0;8896816 + 8985;64765;3446;3588;0;8961581 + 8986;64776;3446;3588;0;8961581 + 8987;64787;3446;3589;0;9026368 + 8988;64788;3446;3589;0;9026368 + 8989;64800;3446;3589;0;9026368 + 8990;64804;3446;3590;0;9091172 + 8991;64812;3446;3590;0;9091172 + 8992;64824;3446;3590;0;9091172 + 8993;64825;3456;3591;0;8531462 + 8994;64836;3456;3591;0;8531462 + 8995;64846;3466;3592;0;7970072 + 8996;64848;3466;3592;0;7970072 + 8997;64860;3467;3592;0;7907361 + 8998;64862;3467;3593;0;7972223 + 8999;64872;3467;3593;0;7972223 + 9000;64878;3467;3594;0;8037101 + 9001;64884;3467;3594;0;8037101 + 9002;64891;3467;3595;0;8101992 + 9003;64896;3467;3595;0;8101992 + 9004;64908;3467;3595;0;8101992 + 9005;64908;3467;3596;0;8166900 + 9006;64920;3467;3596;0;8166900 + 9007;64929;3467;3597;0;8231829 + 9008;64932;3467;3597;0;8231829 + 9009;64944;3467;3597;0;8231829 + 9010;64948;3467;3598;0;8296777 + 9011;64956;3467;3598;0;8296777 + 9012;64967;3467;3599;0;8361744 + 9013;64968;3467;3599;0;8361744 + 9014;64980;3467;3599;0;8361744 + 9015;64980;3467;3600;0;8426724 + 9016;64992;3467;3600;0;8426724 + 9017;65004;3467;3600;0;8426724 + 9018;65004;3467;3601;0;8491728 + 9019;65016;3467;3601;0;8491728 + 9020;65028;3473;3601;0;8115069 + 9021;65028;3473;3602;0;8180097 + 9022;65040;3473;3602;0;8180097 + 9023;65040;3473;3603;0;8245137 + 9024;65052;3473;3603;0;8245137 + 9025;65052;3473;3604;0;8310189 + 9026;65064;3473;3604;0;8310189 + 9027;65071;3473;3605;0;8375260 + 9028;65076;3473;3605;0;8375260 + 9029;65088;3473;3605;0;8375260 + 9030;65095;3473;3606;0;8440355 + 9031;65100;3473;3606;0;8440355 + 9032;65107;3473;3607;0;8505462 + 9033;65112;3473;3607;0;8505462 + 9034;65124;3473;3607;0;8505462 + 9035;65127;3473;3608;0;8570589 + 9036;65136;3473;3608;0;8570589 + 9037;65147;3473;3609;0;8635736 + 9038;65148;3473;3609;0;8635736 + 9039;65160;3473;3609;0;8635736 + 9040;65163;3473;3610;0;8700899 + 9041;65172;3473;3610;0;8700899 + 9042;65175;3473;3611;0;8766074 + 9043;65184;3473;3611;0;8766074 + 9044;65196;3473;3611;0;8766074 + 9045;65197;3473;3612;0;8831271 + 9046;65208;3473;3612;0;8831271 + 9047;65220;3473;3612;0;8831271 + 9048;65220;3473;3613;0;8896491 + 9049;65232;3473;3613;0;8896491 + 9050;65238;3473;3614;0;8961729 + 9051;65244;3473;3614;0;8961729 + 9052;65253;3473;3615;0;9026982 + 9053;65256;3473;3615;0;9026982 + 9054;65268;3473;3615;0;9026982 + 9055;65271;3473;3616;0;9092253 + 9056;65280;3473;3616;0;9092253 + 9057;65292;3473;3616;0;9092253 + 9058;65294;3473;3617;0;9157547 + 9059;65304;3473;3617;0;9157547 + 9060;65315;3485;3618;0;8467719 + 9061;65316;3485;3618;0;8467719 + 9062;65328;3485;3618;0;8467719 + 9063;65329;3485;3619;0;8533048 + 9064;65340;3485;3619;0;8533048 + 9065;65341;3485;3620;0;8598389 + 9066;65352;3485;3620;0;8598389 + 9067;65359;3485;3621;0;8663748 + 9068;65364;3485;3621;0;8663748 + 9069;65373;3485;3622;0;8729121 + 9070;65376;3485;3622;0;8729121 + 9071;65388;3485;3622;0;8729121 + 9072;65389;3485;3623;0;8794510 + 9073;65400;3485;3623;0;8794510 + 9074;65410;3485;3624;0;8859920 + 9075;65412;3485;3624;0;8859920 + 9076;65422;3485;3625;0;8925342 + 9077;65424;3485;3625;0;8925342 + 9078;65436;3485;3625;0;8925342 + 9079;65440;3485;3626;0;8990782 + 9080;65448;3485;3626;0;8990782 + 9081;65456;3488;3627;0;8867094 + 9082;65460;3488;3627;0;8867094 + 9083;65472;3492;3627;0;8614645 + 9084;65475;3492;3628;0;8680120 + 9085;65484;3496;3628;0;8427423 + 9086;65496;3496;3628;0;8427423 + 9087;65498;3496;3629;0;8492921 + 9088;65508;3496;3629;0;8492921 + 9089;65520;3496;3629;0;8492921 + 9090;65522;3496;3630;0;8558443 + 9091;65532;3496;3630;0;8558443 + 9092;65543;3496;3631;0;8623986 + 9093;65544;3496;3631;0;8623986 + 9094;65556;3496;3631;0;8623986 + 9095;65560;3496;3632;0;8689546 + 9096;65568;3496;3632;0;8689546 + 9097;65575;3496;3633;0;8755121 + 9098;65580;3496;3633;0;8755121 + 9099;65592;3496;3633;0;8755121 + 9100;65598;3496;3634;0;8820719 + 9101;65604;3496;3634;0;8820719 + 9102;65616;3496;3634;0;8820719 + 9103;65618;3496;3635;0;8886337 + 9104;65628;3496;3635;0;8886337 + 9105;65632;3496;3636;0;8951969 + 9106;65640;3496;3636;0;8951969 + 9107;65652;3496;3636;0;8951969 + 9108;65656;3496;3637;0;9017625 + 9109;65664;3496;3637;0;9017625 + 9110;65676;3496;3637;0;9017625 + 9111;65676;3506;3638;0;8450372 + 9112;65688;3515;3638;0;7879282 + 9113;65697;3515;3639;0;7944979 + 9114;65700;3515;3639;0;7944979 + 9115;65712;3515;3639;0;7944979 + 9116;65721;3515;3640;0;8010700 + 9117;65724;3515;3640;0;8010700 + 9118;65736;3515;3640;0;8010700 + 9119;65736;3515;3641;0;8076436 + 9120;65748;3515;3641;0;8076436 + 9121;65757;3515;3642;0;8142193 + 9122;65760;3515;3642;0;8142193 + 9123;65772;3515;3642;0;8142193 + 9124;65774;3515;3643;0;8207967 + 9125;65784;3515;3643;0;8207967 + 9126;65796;3515;3643;0;8207967 + 9127;65798;3515;3644;0;8273765 + 9128;65808;3515;3644;0;8273765 + 9129;65814;3515;3645;0;8339579 + 9130;65820;3515;3645;0;8339579 + 9131;65828;3515;3646;0;8405407 + 9132;65832;3515;3646;0;8405407 + 9133;65844;3515;3646;0;8405407 + 9134;65851;3515;3647;0;8471258 + 9135;65856;3515;3647;0;8471258 + 9136;65868;3515;3647;0;8471258 + 9137;65870;3515;3648;0;8537128 + 9138;65880;3515;3648;0;8537128 + 9139;65883;3515;3649;0;8603011 + 9140;65892;3515;3649;0;8603011 + 9141;65904;3515;3649;0;8603011 + 9142;65906;3515;3650;0;8668917 + 9143;65916;3515;3650;0;8668917 + 9144;65922;3515;3651;0;8734839 + 9145;65928;3515;3651;0;8734839 + 9146;65935;3515;3652;0;8800774 + 9147;65940;3515;3652;0;8800774 + 9148;65950;3515;3653;0;8866724 + 9149;65952;3515;3653;0;8866724 + 9150;65963;3515;3654;0;8932687 + 9151;65964;3515;3654;0;8932687 + 9152;65976;3515;3654;0;8932687 + 9153;65981;3515;3655;0;8998668 + 9154;65988;3515;3655;0;8998668 + 9155;65997;3523;3656;0;8555863 + 9156;66000;3523;3656;0;8555863 + 9157;66012;3523;3656;0;8555863 + 9158;66018;3523;3657;0;8621881 + 9159;66024;3523;3657;0;8621881 + 9160;66036;3523;3657;0;8621881 + 9161;66041;3523;3658;0;8687922 + 9162;66048;3523;3658;0;8687922 + 9163;66058;3523;3659;0;8753980 + 9164;66060;3523;3659;0;8753980 + 9165;66072;3523;3659;0;8753980 + 9166;66080;3532;3660;0;8246446 + 9167;66084;3532;3660;0;8246446 + 9168;66096;3532;3660;0;8246446 + 9169;66101;3532;3661;0;8312547 + 9170;66108;3532;3661;0;8312547 + 9171;66120;3532;3661;0;8312547 + 9172;66124;3532;3662;0;8378671 + 9173;66132;3532;3662;0;8378671 + 9174;66143;3532;3663;0;8444814 + 9175;66144;3532;3663;0;8444814 + 9176;66156;3532;3663;0;8444814 + 9177;66160;3532;3664;0;8510974 + 9178;66168;3532;3664;0;8510974 + 9179;66178;3532;3665;0;8577152 + 9180;66180;3532;3665;0;8577152 + 9181;66191;3532;3666;0;8643343 + 9182;66192;3532;3666;0;8643343 + 9183;66204;3532;3666;0;8643343 + 9184;66210;3532;3667;0;8709553 + 9185;66216;3532;3667;0;8709553 + 9186;66226;3532;3668;0;8775779 + 9187;66228;3532;3668;0;8775779 + 9188;66240;3532;3668;0;8775779 + 9189;66241;3532;3669;0;8842020 + 9190;66252;3532;3669;0;8842020 + 9191;66260;3534;3670;0;8780624 + 9192;66264;3534;3670;0;8780624 + 9193;66276;3534;3670;0;8780624 + 9194;66280;3544;3671;0;8207646 + 9195;66288;3554;3671;0;7566704 + 9196;66299;3555;3672;0;7568818 + 9197;66300;3555;3672;0;7568818 + 9198;66311;3555;3673;0;7635129 + 9199;66312;3555;3673;0;7635129 + 9200;66324;3555;3673;0;7635129 + 9201;66325;3555;3674;0;7701454 + 9202;66336;3555;3674;0;7701454 + 9203;66339;3555;3675;0;7767793 + 9204;66348;3555;3675;0;7767793 + 9205;66360;3555;3675;0;7767793 + 9206;66360;3555;3676;0;7834153 + 9207;66372;3555;3676;0;7834153 + 9208;66373;3555;3677;0;7900526 + 9209;66384;3555;3677;0;7900526 + 9210;66387;3555;3678;0;7966913 + 9211;66396;3555;3678;0;7966913 + 9212;66401;3555;3679;0;8033314 + 9213;66408;3555;3679;0;8033314 + 9214;66413;3555;3680;0;8099727 + 9215;66420;3555;3680;0;8099727 + 9216;66432;3555;3680;0;8099727 + 9217;66432;3556;3681;0;8101962 + 9218;66444;3556;3681;0;8101962 + 9219;66452;3556;3682;0;8168414 + 9220;66456;3556;3682;0;8168414 + 9221;66468;3556;3682;0;8168414 + 9222;66471;3556;3683;0;8234885 + 9223;66480;3556;3683;0;8234885 + 9224;66491;3556;3684;0;8301376 + 9225;66492;3556;3684;0;8301376 + 9226;66504;3556;3684;0;8301376 + 9227;66507;3556;3685;0;8367883 + 9228;66516;3556;3685;0;8367883 + 9229;66528;3556;3685;0;8367883 + 9230;66530;3556;3686;0;8434413 + 9231;66540;3556;3686;0;8434413 + 9232;66542;3556;3687;0;8500955 + 9233;66552;3556;3687;0;8500955 + 9234;66564;3556;3687;0;8500955 + 9235;66565;3556;3688;0;8567520 + 9236;66576;3556;3688;0;8567520 + 9237;66580;3556;3689;0;8634100 + 9238;66588;3556;3689;0;8634100 + 9239;66594;3556;3690;0;8700694 + 9240;66600;3556;3690;0;8700694 + 9241;66612;3556;3690;0;8700694 + 9242;66613;3562;3691;0;8381711 + 9243;66624;3562;3691;0;8381711 + 9244;66627;3562;3692;0;8448338 + 9245;66636;3562;3692;0;8448338 + 9246;66641;3562;3693;0;8514979 + 9247;66648;3562;3693;0;8514979 + 9248;66659;3562;3694;0;8581638 + 9249;66660;3562;3694;0;8581638 + 9250;66672;3562;3694;0;8581638 + 9251;66677;3562;3695;0;8648315 + 9252;66684;3562;3695;0;8648315 + 9253;66693;3562;3696;0;8715008 + 9254;66696;3562;3696;0;8715008 + 9255;66708;3562;3696;0;8715008 + 9256;66713;3562;3697;0;8781721 + 9257;66720;3562;3697;0;8781721 + 9258;66732;3562;3697;0;8781721 + 9259;66733;3562;3698;0;8848454 + 9260;66744;3562;3698;0;8848454 + 9261;66753;3572;3699;0;8271032 + 9262;66756;3572;3699;0;8271032 + 9263;66766;3579;3700;0;7885829 + 9264;66768;3579;3700;0;7885829 + 9265;66780;3579;3700;0;7885829 + 9266;66786;3579;3701;0;7952615 + 9267;66792;3579;3701;0;7952615 + 9268;66804;3579;3701;0;7952615 + 9269;66805;3581;3702;0;7890125 + 9270;66816;3581;3702;0;7890125 + 9271;66828;3581;3702;0;7890125 + 9272;66829;3581;3703;0;7956954 + 9273;66840;3581;3703;0;7956954 + 9274;66843;3581;3704;0;8023797 + 9275;66852;3581;3704;0;8023797 + 9276;66864;3581;3704;0;8023797 + 9277;66866;3581;3705;0;8090663 + 9278;66876;3581;3705;0;8090663 + 9279;66887;3581;3706;0;8157550 + 9280;66888;3581;3706;0;8157550 + 9281;66900;3581;3706;0;8157550 + 9282;66900;3581;3707;0;8224450 + 9283;66912;3581;3707;0;8224450 + 9284;66917;3581;3708;0;8291367 + 9285;66924;3581;3708;0;8291367 + 9286;66936;3581;3708;0;8291367 + 9287;66937;3581;3709;0;8358304 + 9288;66948;3581;3709;0;8358304 + 9289;66956;3581;3710;0;8425260 + 9290;66960;3581;3710;0;8425260 + 9291;66972;3581;3710;0;8425260 + 9292;66975;3581;3711;0;8492235 + 9293;66984;3581;3711;0;8492235 + 9294;66996;3581;3711;0;8492235 + 9295;66996;3581;3712;0;8559231 + 9296;67008;3581;3712;0;8559231 + 9297;67015;3581;3713;0;8626246 + 9298;67020;3581;3713;0;8626246 + 9299;67032;3581;3713;0;8626246 + 9300;67038;3581;3714;0;8693284 + 9301;67044;3581;3714;0;8693284 + 9302;67053;3581;3715;0;8760337 + 9303;67056;3581;3715;0;8760337 + 9304;67068;3581;3715;0;8760337 + 9305;67071;3581;3716;0;8827408 + 9306;67080;3581;3716;0;8827408 + 9307;67083;3581;3717;0;8894491 + 9308;67092;3581;3717;0;8894491 + 9309;67104;3581;3717;0;8894491 + 9310;67107;3581;3718;0;8961598 + 9311;67116;3581;3718;0;8961598 + 9312;67128;3581;3718;0;8961598 + 9313;67131;3581;3719;0;9028729 + 9314;67140;3581;3719;0;9028729 + 9315;67145;3584;3720;0;8901806 + 9316;67152;3584;3720;0;8901806 + 9317;67164;3584;3720;0;8901806 + 9318;67169;3584;3721;0;8968975 + 9319;67176;3584;3721;0;8968975 + 9320;67188;3584;3721;0;8968975 + 9321;67192;3592;3722;0;8517812 + 9322;67200;3592;3722;0;8517812 + 9323;67211;3592;3723;0;8585023 + 9324;67212;3592;3723;0;8585023 + 9325;67224;3592;3723;0;8585023 + 9326;67224;3592;3724;0;8652247 + 9327;67236;3592;3724;0;8652247 + 9328;67238;3592;3725;0;8719485 + 9329;67248;3592;3725;0;8719485 + 9330;67253;3592;3726;0;8786738 + 9331;67260;3592;3726;0;8786738 + 9332;67272;3592;3726;0;8786738 + 9333;67274;3592;3727;0;8854012 + 9334;67284;3592;3727;0;8854012 + 9335;67292;3592;3728;0;8921304 + 9336;67296;3592;3728;0;8921304 + 9337;67308;3592;3728;0;8921304 + 9338;67314;3592;3729;0;8988618 + 9339;67320;3592;3729;0;8988618 + 9340;67332;3592;3729;0;8988618 + 9341;67332;3599;3730;0;8601449 + 9342;67344;3599;3730;0;8601449 + 9343;67350;3599;3731;0;8668799 + 9344;67356;3599;3731;0;8668799 + 9345;67368;3599;3731;0;8668799 + 9346;67370;3604;3732;0;8410974 + 9347;67380;3604;3732;0;8410974 + 9348;67387;3604;3733;0;8478361 + 9349;67392;3604;3733;0;8478361 + 9350;67404;3604;3733;0;8478361 + 9351;67407;3604;3734;0;8545768 + 9352;67416;3604;3734;0;8545768 + 9353;67427;3604;3735;0;8613195 + 9354;67428;3604;3735;0;8613195 + 9355;67440;3604;3735;0;8613195 + 9356;67443;3604;3736;0;8680638 + 9357;67452;3604;3736;0;8680638 + 9358;67458;3604;3737;0;8748096 + 9359;67464;3604;3737;0;8748096 + 9360;67472;3604;3738;0;8815568 + 9361;67476;3604;3738;0;8815568 + 9362;67486;3604;3739;0;8883054 + 9363;67488;3604;3739;0;8883054 + 9364;67500;3604;3739;0;8883054 + 9365;67508;3604;3740;0;8950562 + 9366;67512;3604;3740;0;8950562 + 9367;67524;3604;3740;0;8950562 + 9368;67526;3606;3741;0;8887886 + 9369;67536;3606;3741;0;8887886 + 9370;67548;3606;3741;0;8887886 + 9371;67548;3606;3742;0;8955434 + 9372;67560;3606;3742;0;8955434 + 9373;67571;3611;3743;0;8697196 + 9374;67572;3611;3743;0;8697196 + 9375;67584;3612;3743;0;8631976 + 9376;67587;3622;3744;0;8046401 + 9377;67596;3622;3744;0;8046401 + 9378;67606;3624;3745;0;7983175 + 9379;67608;3624;3745;0;7983175 + 9380;67620;3624;3745;0;7983175 + 9381;67622;3624;3746;0;8050797 + 9382;67632;3624;3746;0;8050797 + 9383;67643;3624;3747;0;8118440 + 9384;67644;3624;3747;0;8118440 + 9385;67655;3624;3748;0;8186095 + 9386;67656;3624;3748;0;8186095 + 9387;67668;3624;3748;0;8186095 + 9388;67676;3624;3749;0;8253771 + 9389;67680;3624;3749;0;8253771 + 9390;67692;3624;3749;0;8253771 + 9391;67696;3624;3750;0;8321467 + 9392;67704;3624;3750;0;8321467 + 9393;67712;3624;3751;0;8389179 + 9394;67716;3624;3751;0;8389179 + 9395;67728;3624;3751;0;8389179 + 9396;67735;3624;3752;0;8456914 + 9397;67740;3624;3752;0;8456914 + 9398;67752;3624;3752;0;8456914 + 9399;67757;3628;3753;0;8262802 + 9400;67764;3628;3753;0;8262802 + 9401;67776;3633;3753;0;7935004 + 9402;67778;3633;3754;0;8002782 + 9403;67788;3633;3754;0;8002782 + 9404;67799;3633;3755;0;8070581 + 9405;67800;3633;3755;0;8070581 + 9406;67812;3633;3755;0;8070581 + 9407;67815;3633;3756;0;8138396 + 9408;67824;3633;3756;0;8138396 + 9409;67829;3633;3757;0;8206225 + 9410;67836;3633;3757;0;8206225 + 9411;67844;3633;3758;0;8274069 + 9412;67848;3633;3758;0;8274069 + 9413;67860;3633;3758;0;8274069 + 9414;67868;3633;3759;0;8341937 + 9415;67872;3633;3759;0;8341937 + 9416;67881;3633;3760;0;8409818 + 9417;67884;3633;3760;0;8409818 + 9418;67893;3633;3761;0;8477711 + 9419;67896;3633;3761;0;8477711 + 9420;67908;3633;3761;0;8477711 + 9421;67912;3633;3762;0;8545623 + 9422;67920;3633;3762;0;8545623 + 9423;67929;3633;3763;0;8613552 + 9424;67932;3633;3763;0;8613552 + 9425;67944;3633;3763;0;8613552 + 9426;67953;3633;3764;0;8681505 + 9427;67956;3633;3764;0;8681505 + 9428;67968;3633;3764;0;8681505 + 9429;67977;3633;3765;0;8749482 + 9430;67980;3633;3765;0;8749482 + 9431;67992;3633;3765;0;8749482 + 9432;67999;3633;3766;0;8817481 + 9433;68004;3633;3766;0;8817481 + 9434;68016;3633;3766;0;8817481 + 9435;68021;3633;3767;0;8885502 + 9436;68028;3633;3767;0;8885502 + 9437;68038;3633;3768;0;8953540 + 9438;68040;3633;3768;0;8953540 + 9439;68050;3633;3769;0;9021590 + 9440;68052;3633;3769;0;9021590 + 9441;68064;3633;3769;0;9021590 + 9442;68068;3638;3770;0;8761379 + 9443;68076;3638;3770;0;8761379 + 9444;68084;3638;3771;0;8829463 + 9445;68088;3638;3771;0;8829463 + 9446;68100;3638;3771;0;8829463 + 9447;68105;3644;3772;0;8502968 + 9448;68112;3644;3772;0;8502968 + 9449;68122;3644;3773;0;8571090 + 9450;68124;3644;3773;0;8571090 + 9451;68134;3644;3774;0;8639224 + 9452;68136;3644;3774;0;8639224 + 9453;68148;3644;3774;0;8639224 + 9454;68153;3644;3775;0;8707377 + 9455;68160;3644;3775;0;8707377 + 9456;68172;3647;3775;0;8509828 + 9457;68174;3647;3776;0;8578002 + 9458;68184;3647;3776;0;8578002 + 9459;68195;3647;3777;0;8646197 + 9460;68196;3647;3777;0;8646197 + 9461;68208;3647;3777;0;8646197 + 9462;68215;3647;3778;0;8714412 + 9463;68220;3647;3778;0;8714412 + 9464;68231;3647;3779;0;8782643 + 9465;68232;3647;3779;0;8782643 + 9466;68244;3647;3779;0;8782643 + 9467;68254;3647;3780;0;8850897 + 9468;68256;3647;3780;0;8850897 + 9469;68268;3647;3780;0;8850897 + 9470;68270;3647;3781;0;8919167 + 9471;68280;3647;3781;0;8919167 + 9472;68292;3647;3781;0;8919167 + 9473;68294;3647;3782;0;8987461 + 9474;68304;3647;3782;0;8987461 + 9475;68311;3647;3783;0;9055772 + 9476;68316;3647;3783;0;9055772 + 9477;68328;3647;3783;0;9055772 + 9478;68328;3657;3784;0;8464504 + 9479;68340;3659;3784;0;8332366 + 9480;68346;3659;3785;0;8400712 + 9481;68352;3659;3785;0;8400712 + 9482;68360;3659;3786;0;8469072 + 9483;68364;3659;3786;0;8469072 + 9484;68376;3659;3786;0;8469072 + 9485;68380;3659;3787;0;8537452 + 9486;68388;3659;3787;0;8537452 + 9487;68392;3659;3788;0;8605844 + 9488;68400;3659;3788;0;8605844 + 9489;68408;3659;3789;0;8674252 + 9490;68412;3659;3789;0;8674252 + 9491;68424;3659;3789;0;8674252 + 9492;68428;3664;3790;0;8411974 + 9493;68436;3664;3790;0;8411974 + 9494;68445;3664;3791;0;8480419 + 9495;68448;3664;3791;0;8480419 + 9496;68460;3664;3791;0;8480419 + 9497;68461;3664;3792;0;8548880 + 9498;68472;3664;3792;0;8548880 + 9499;68482;3664;3793;0;8617362 + 9500;68484;3664;3793;0;8617362 + 9501;68496;3664;3793;0;8617362 + 9502;68496;3664;3794;0;8685858 + 9503;68508;3664;3794;0;8685858 + 9504;68513;3664;3795;0;8754371 + 9505;68520;3664;3795;0;8754371 + 9506;68532;3664;3795;0;8754371 + 9507;68536;3664;3796;0;8822907 + 9508;68544;3664;3796;0;8822907 + 9509;68551;3664;3797;0;8891458 + 9510;68556;3664;3797;0;8891458 + 9511;68567;3664;3798;0;8960025 + 9512;68568;3664;3798;0;8960025 + 9513;68580;3664;3798;0;8960025 + 9514;68588;3664;3799;0;9028613 + 9515;68592;3664;3799;0;9028613 + 9516;68604;3664;3799;0;9028613 + 9517;68610;3664;3800;0;9097223 + 9518;68616;3664;3800;0;9097223 + 9519;68628;3664;3800;0;9097223 + 9520;68633;3664;3801;0;9165856 + 9521;68640;3664;3801;0;9165856 + 9522;68652;3664;3801;0;9165856 + 9523;68652;3664;3802;0;9234508 + 9524;68664;3664;3802;0;9234508 + 9525;68668;3672;3803;0;8773158 + 9526;68676;3672;3803;0;8773158 + 9527;68682;3684;3804;0;8044889 + 9528;68688;3684;3804;0;8044889 + 9529;68698;3684;3805;0;8113587 + 9530;68700;3684;3805;0;8113587 + 9531;68712;3684;3805;0;8113587 + 9532;68722;3684;3806;0;8182309 + 9533;68724;3684;3806;0;8182309 + 9534;68735;3684;3807;0;8251044 + 9535;68736;3684;3807;0;8251044 + 9536;68747;3684;3808;0;8319791 + 9537;68748;3684;3808;0;8319791 + 9538;68760;3684;3808;0;8319791 + 9539;68765;3684;3809;0;8388556 + 9540;68772;3684;3809;0;8388556 + 9541;68784;3684;3809;0;8388556 + 9542;68784;3684;3810;0;8457340 + 9543;68796;3684;3810;0;8457340 + 9544;68808;3684;3810;0;8457340 + 9545;68808;3684;3811;0;8526148 + 9546;68820;3684;3811;0;8526148 + 9547;68821;3684;3812;0;8594969 + 9548;68832;3691;3812;0;8128918 + 9549;68833;3691;3813;0;8197751 + 9550;68844;3691;3813;0;8197751 + 9551;68849;3691;3814;0;8266600 + 9552;68856;3691;3814;0;8266600 + 9553;68865;3691;3815;0;8335465 + 9554;68868;3691;3815;0;8335465 + 9555;68880;3691;3815;0;8335465 + 9556;68888;3691;3816;0;8404353 + 9557;68892;3691;3816;0;8404353 + 9558;68902;3694;3817;0;8273278 + 9559;68904;3694;3817;0;8273278 + 9560;68916;3694;3817;0;8273278 + 9561;68918;3694;3818;0;8342196 + 9562;68928;3694;3818;0;8342196 + 9563;68940;3694;3818;0;8342196 + 9564;68941;3694;3819;0;8411137 + 9565;68952;3694;3819;0;8411137 + 9566;68961;3694;3820;0;8480098 + 9567;68964;3694;3820;0;8480098 + 9568;68976;3694;3820;0;8480098 + 9569;68979;3694;3821;0;8549077 + 9570;68988;3694;3821;0;8549077 + 9571;69000;3694;3821;0;8549077 + 9572;69001;3694;3822;0;8618078 + 9573;69012;3694;3822;0;8618078 + 9574;69023;3694;3823;0;8687101 + 9575;69024;3694;3823;0;8687101 + 9576;69036;3694;3823;0;8687101 + 9577;69046;3694;3824;0;8756147 + 9578;69048;3694;3824;0;8756147 + 9579;69060;3694;3824;0;8756147 + 9580;69067;3694;3825;0;8825214 + 9581;69072;3694;3825;0;8825214 + 9582;69083;3701;3826;0;8427048 + 9583;69084;3701;3826;0;8427048 + 9584;69096;3701;3826;0;8427048 + 9585;69105;3701;3827;0;8496153 + 9586;69108;3701;3827;0;8496153 + 9587;69120;3701;3827;0;8496153 + 9588;69120;3701;3828;0;8565273 + 9589;69132;3701;3828;0;8565273 + 9590;69134;3701;3829;0;8634407 + 9591;69144;3701;3829;0;8634407 + 9592;69155;3701;3830;0;8703562 + 9593;69156;3701;3830;0;8703562 + 9594;69168;3701;3830;0;8703562 + 9595;69179;3701;3831;0;8772741 + 9596;69180;3701;3831;0;8772741 + 9597;69191;3701;3832;0;8841932 + 9598;69192;3701;3832;0;8841932 + 9599;69204;3701;3832;0;8841932 + 9600;69214;3711;3833;0;8242040 + 9601;69216;3711;3833;0;8242040 + 9602;69228;3711;3833;0;8242040 + 9603;69236;3711;3834;0;8311276 + 9604;69240;3711;3834;0;8311276 + 9605;69252;3711;3834;0;8311276 + 9606;69252;3711;3835;0;8380528 + 9607;69264;3711;3835;0;8380528 + 9608;69272;3711;3836;0;8449800 + 9609;69276;3711;3836;0;8449800 + 9610;69288;3711;3836;0;8449800 + 9611;69296;3711;3837;0;8519096 + 9612;69300;3711;3837;0;8519096 + 9613;69312;3711;3837;0;8519096 + 9614;69320;3711;3838;0;8588416 + 9615;69324;3711;3838;0;8588416 + 9616;69336;3711;3838;0;8588416 + 9617;69338;3711;3839;0;8657754 + 9618;69348;3711;3839;0;8657754 + 9619;69360;3711;3839;0;8657754 + 9620;69362;3713;3840;0;8593063 + 9621;69372;3713;3840;0;8593063 + 9622;69377;3713;3841;0;8662440 + 9623;69384;3713;3841;0;8662440 + 9624;69389;3713;3842;0;8731829 + 9625;69396;3713;3842;0;8731829 + 9626;69406;3713;3843;0;8801235 + 9627;69408;3713;3843;0;8801235 + 9628;69420;3713;3843;0;8801235 + 9629;69424;3713;3844;0;8870659 + 9630;69432;3713;3844;0;8870659 + 9631;69444;3713;3844;0;8870659 + 9632;69444;3713;3845;0;8940103 + 9633;69456;3713;3845;0;8940103 + 9634;69456;3713;3846;0;9009559 + 9635;69468;3713;3846;0;9009559 + 9636;69472;3713;3847;0;9079031 + 9637;69480;3713;3847;0;9079031 + 9638;69491;3713;3848;0;9148522 + 9639;69492;3713;3848;0;9148522 + 9640;69504;3713;3848;0;9148522 + 9641;69513;3713;3849;0;9218035 + 9642;69516;3713;3849;0;9218035 + 9643;69528;3713;3849;0;9218035 + 9644;69528;3718;3850;0;8952118 + 9645;69540;3718;3850;0;8952118 + 9646;69550;3719;3851;0;8954523 + 9647;69552;3719;3851;0;8954523 + 9648;69564;3719;3851;0;8954523 + 9649;69573;3719;3852;0;9024096 + 9650;69576;3719;3852;0;9024096 + 9651;69586;3719;3853;0;9093682 + 9652;69588;3719;3853;0;9093682 + 9653;69600;3719;3853;0;9093682 + 9654;69600;3719;3854;0;9163282 + 9655;69612;3719;3854;0;9163282 + 9656;69617;3719;3855;0;9232899 + 9657;69624;3719;3855;0;9232899 + 9658;69636;3719;3855;0;9232899 + 9659;69638;3721;3856;0;9168176 + 9660;69648;3721;3856;0;9168176 + 9661;69656;3721;3857;0;9237832 + 9662;69660;3721;3857;0;9237832 + 9663;69672;3724;3857;0;9036159 + 9664;69676;3724;3858;0;9105835 + 9665;69684;3724;3858;0;9105835 + 9666;69696;3724;3858;0;9105835 + 9667;69700;3724;3859;0;9175535 + 9668;69708;3724;3859;0;9175535 + 9669;69720;3724;3859;0;9175535 + 9670;69724;3726;3860;0;9110732 + 9671;69732;3726;3860;0;9110732 + 9672;69744;3726;3860;0;9110732 + 9673;69747;3729;3861;0;8978541 + 9674;69756;3729;3861;0;8978541 + 9675;69763;3729;3862;0;9048304 + 9676;69768;3729;3862;0;9048304 + 9677;69780;3729;3862;0;9048304 + 9678;69784;3729;3863;0;9118088 + 9679;69792;3729;3863;0;9118088 + 9680;69804;3729;3863;0;9118088 + 9681;69804;3735;3864;0;8783508 + 9682;69816;3735;3864;0;8783508 + 9683;69823;3735;3865;0;8853331 + 9684;69828;3735;3865;0;8853331 + 9685;69840;3735;3865;0;8853331 + 9686;69845;3735;3866;0;8923176 + 9687;69852;3735;3866;0;8923176 + 9688;69864;3735;3866;0;8923176 + 9689;69864;3735;3867;0;8993040 + 9690;69876;3735;3867;0;8993040 + 9691;69880;3735;3868;0;9062920 + 9692;69888;3735;3868;0;9062920 + 9693;69900;3735;3868;0;9062920 + 9694;69904;3735;3869;0;9132824 + 9695;69912;3735;3869;0;9132824 + 9696;69923;3741;3870;0;8797749 + 9697;69924;3741;3870;0;8797749 + 9698;69936;3741;3870;0;8797749 + 9699;69938;3741;3871;0;8867687 + 9700;69948;3741;3871;0;8867687 + 9701;69957;3741;3872;0;8937644 + 9702;69960;3741;3872;0;8937644 + 9703;69972;3741;3872;0;8937644 + 9704;69977;3741;3873;0;9007621 + 9705;69984;3741;3873;0;9007621 + 9706;69996;3748;3873;0;8534261 + 9707;69996;3748;3874;0;8604257 + 9708;70008;3748;3874;0;8604257 + 9709;70017;3748;3875;0;8674274 + 9710;70020;3748;3875;0;8674274 + 9711;70029;3748;3876;0;8744303 + 9712;70032;3748;3876;0;8744303 + 9713;70042;3748;3877;0;8814345 + 9714;70044;3748;3877;0;8814345 + 9715;70056;3758;3877;0;8136512 + 9716;70065;3758;3878;0;8206577 + 9717;70068;3758;3878;0;8206577 + 9718;70079;3758;3879;0;8276656 + 9719;70080;3758;3879;0;8276656 + 9720;70092;3758;3879;0;8276656 + 9721;70092;3758;3880;0;8346748 + 9722;70104;3758;3880;0;8346748 + 9723;70106;3758;3881;0;8416854 + 9724;70116;3758;3881;0;8416854 + 9725;70125;3762;3882;0;8215364 + 9726;70128;3762;3882;0;8215364 + 9727;70140;3762;3882;0;8215364 + 9728;70143;3762;3883;0;8285507 + 9729;70152;3762;3883;0;8285507 + 9730;70164;3762;3883;0;8285507 + 9731;70165;3762;3884;0;8355672 + 9732;70176;3762;3884;0;8355672 + 9733;70180;3765;3885;0;8221923 + 9734;70188;3765;3885;0;8221923 + 9735;70200;3765;3885;0;8221923 + 9736;70204;3765;3886;0;8292127 + 9737;70212;3765;3886;0;8292127 + 9738;70223;3765;3887;0;8362350 + 9739;70224;3765;3887;0;8362350 + 9740;70236;3765;3887;0;8362350 + 9741;70239;3765;3888;0;8432589 + 9742;70248;3765;3888;0;8432589 + 9743;70254;3765;3889;0;8502843 + 9744;70260;3765;3889;0;8502843 + 9745;70272;3765;3889;0;8502843 + 9746;70277;3765;3890;0;8573120 + 9747;70284;3765;3890;0;8573120 + 9748;70290;3765;3891;0;8643410 + 9749;70296;3765;3891;0;8643410 + 9750;70308;3765;3891;0;8643410 + 9751;70308;3765;3892;0;8713718 + 9752;70320;3765;3892;0;8713718 + 9753;70320;3765;3893;0;8784038 + 9754;70332;3765;3893;0;8784038 + 9755;70344;3765;3893;0;8784038 + 9756;70344;3765;3894;0;8854382 + 9757;70356;3765;3894;0;8854382 + 9758;70366;3765;3895;0;8924748 + 9759;70368;3765;3895;0;8924748 + 9760;70380;3765;3895;0;8924748 + 9761;70384;3768;3896;0;8791023 + 9762;70392;3768;3896;0;8791023 + 9763;70404;3768;3896;0;8791023 + 9764;70408;3768;3897;0;8861431 + 9765;70416;3768;3897;0;8861431 + 9766;70424;3768;3898;0;8931855 + 9767;70428;3768;3898;0;8931855 + 9768;70440;3768;3898;0;8931855 + 9769;70445;3768;3899;0;9002300 + 9770;70452;3768;3899;0;9002300 + 9771;70464;3768;3899;0;9002300 + 9772;70467;3768;3900;0;9072767 + 9773;70476;3768;3900;0;9072767 + 9774;70488;3768;3900;0;9072767 + 9775;70488;3768;3901;0;9143255 + 9776;70500;3768;3901;0;9143255 + 9777;70512;3777;3901;0;8530005 + 9778;70512;3777;3902;0;8600517 + 9779;70524;3777;3902;0;8600517 + 9780;70536;3777;3902;0;8600517 + 9781;70536;3777;3903;0;8671053 + 9782;70548;3777;3903;0;8671053 + 9783;70551;3783;3904;0;8331916 + 9784;70560;3783;3904;0;8331916 + 9785;70566;3783;3905;0;8402482 + 9786;70572;3783;3905;0;8402482 + 9787;70578;3783;3906;0;8473060 + 9788;70584;3783;3906;0;8473060 + 9789;70592;3783;3907;0;8543652 + 9790;70596;3783;3907;0;8543652 + 9791;70606;3783;3908;0;8614258 + 9792;70608;3783;3908;0;8614258 + 9793;70620;3783;3908;0;8614258 + 9794;70627;3783;3909;0;8684885 + 9795;70632;3783;3909;0;8684885 + 9796;70644;3783;3909;0;8684885 + 9797;70650;3783;3910;0;8755535 + 9798;70656;3783;3910;0;8755535 + 9799;70668;3783;3910;0;8755535 + 9800;70670;3783;3911;0;8826205 + 9801;70680;3783;3911;0;8826205 + 9802;70683;3783;3912;0;8896888 + 9803;70692;3783;3912;0;8896888 + 9804;70697;3783;3913;0;8967585 + 9805;70704;3783;3913;0;8967585 + 9806;70716;3783;3913;0;8967585 + 9807;70721;3783;3914;0;9038306 + 9808;70728;3783;3914;0;9038306 + 9809;70739;3783;3915;0;9109045 + 9810;70740;3783;3915;0;9109045 + 9811;70752;3792;3915;0;8493343 + 9812;70762;3792;3916;0;8564105 + 9813;70764;3792;3916;0;8564105 + 9814;70776;3792;3916;0;8564105 + 9815;70776;3792;3917;0;8634881 + 9816;70788;3792;3917;0;8634881 + 9817;70795;3792;3918;0;8705676 + 9818;70800;3792;3918;0;8705676 + 9819;70812;3792;3918;0;8705676 + 9820;70815;3792;3919;0;8776491 + 9821;70824;3792;3919;0;8776491 + 9822;70836;3792;3919;0;8776491 + 9823;70838;3792;3920;0;8847329 + 9824;70848;3792;3920;0;8847329 + 9825;70858;3792;3921;0;8918187 + 9826;70860;3792;3921;0;8918187 + 9827;70872;3792;3921;0;8918187 + 9828;70877;3802;3922;0;8303250 + 9829;70884;3805;3922;0;8097148 + 9830;70893;3805;3923;0;8168041 + 9831;70896;3805;3923;0;8168041 + 9832;70908;3805;3923;0;8168041 + 9833;70911;3805;3924;0;8238952 + 9834;70920;3805;3924;0;8238952 + 9835;70932;3805;3924;0;8238952 + 9836;70935;3805;3925;0;8309887 + 9837;70944;3805;3925;0;8309887 + 9838;70956;3805;3925;0;8309887 + 9839;70959;3805;3926;0;8380846 + 9840;70968;3805;3926;0;8380846 + 9841;70976;3805;3927;0;8451822 + 9842;70980;3805;3927;0;8451822 + 9843;70988;3805;3928;0;8522810 + 9844;70992;3805;3928;0;8522810 + 9845;71002;3805;3929;0;8593812 + 9846;71004;3805;3929;0;8593812 + 9847;71016;3805;3929;0;8593812 + 9848;71016;3805;3930;0;8664828 + 9849;71028;3805;3930;0;8664828 + 9850;71033;3805;3931;0;8735861 + 9851;71040;3805;3931;0;8735861 + 9852;71046;3805;3932;0;8806907 + 9853;71052;3805;3932;0;8806907 + 9854;71064;3805;3932;0;8806907 + 9855;71067;3805;3933;0;8877974 + 9856;71076;3805;3933;0;8877974 + 9857;71079;3805;3934;0;8949053 + 9858;71088;3805;3934;0;8949053 + 9859;71100;3805;3934;0;8949053 + 9860;71101;3805;3935;0;9020154 + 9861;71112;3805;3935;0;9020154 + 9862;71117;3805;3936;0;9091271 + 9863;71124;3805;3936;0;9091271 + 9864;71132;3815;3937;0;8474308 + 9865;71136;3815;3937;0;8474308 + 9866;71144;3819;3938;0;8269730 + 9867;71148;3819;3938;0;8269730 + 9868;71157;3819;3939;0;8340887 + 9869;71160;3819;3939;0;8340887 + 9870;71172;3819;3939;0;8340887 + 9871;71172;3819;3940;0;8412059 + 9872;71184;3819;3940;0;8412059 + 9873;71188;3819;3941;0;8483247 + 9874;71196;3819;3941;0;8483247 + 9875;71208;3819;3941;0;8483247 + 9876;71208;3819;3942;0;8554455 + 9877;71220;3819;3942;0;8554455 + 9878;71221;3819;3943;0;8625676 + 9879;71232;3819;3943;0;8625676 + 9880;71244;3819;3943;0;8625676 + 9881;71244;3819;3944;0;8696920 + 9882;71256;3819;3944;0;8696920 + 9883;71259;3819;3945;0;8768179 + 9884;71268;3819;3945;0;8768179 + 9885;71275;3819;3946;0;8839454 + 9886;71280;3819;3946;0;8839454 + 9887;71291;3819;3947;0;8910745 + 9888;71292;3819;3947;0;8910745 + 9889;71303;3819;3948;0;8982048 + 9890;71304;3819;3948;0;8982048 + 9891;71316;3819;3948;0;8982048 + 9892;71324;3819;3949;0;9053372 + 9893;71328;3819;3949;0;9053372 + 9894;71340;3819;3949;0;9053372 + 9895;71342;3819;3950;0;9124714 + 9896;71352;3819;3950;0;9124714 + 9897;71361;3819;3951;0;9196075 + 9898;71364;3819;3951;0;9196075 + 9899;71376;3819;3951;0;9196075 + 9900;71376;3819;3952;0;9267451 + 9901;71388;3827;3952;0;8715027 + 9902;71395;3827;3953;0;8786422 + 9903;71400;3827;3953;0;8786422 + 9904;71408;3827;3954;0;8857830 + 9905;71412;3827;3954;0;8857830 + 9906;71422;3828;3955;0;8860118 + 9907;71424;3828;3955;0;8860118 + 9908;71436;3828;3955;0;8860118 + 9909;71436;3828;3956;0;8931554 + 9910;71448;3828;3956;0;8931554 + 9911;71450;3828;3957;0;9003004 + 9912;71460;3828;3957;0;9003004 + 9913;71468;3828;3958;0;9074472 + 9914;71472;3828;3958;0;9074472 + 9915;71480;3828;3959;0;9145952 + 9916;71484;3828;3959;0;9145952 + 9917;71496;3828;3959;0;9145952 + 9918;71497;3828;3960;0;9217449 + 9919;71508;3828;3960;0;9217449 + 9920;71519;3828;3961;0;9288968 + 9921;71520;3828;3961;0;9288968 + 9922;71532;3828;3961;0;9288968 + 9923;71543;3843;3962;0;8321100 + 9924;71544;3843;3962;0;8321100 + 9925;71556;3843;3962;0;8321100 + 9926;71563;3843;3963;0;8392663 + 9927;71568;3843;3963;0;8392663 + 9928;71579;3843;3964;0;8464242 + 9929;71580;3843;3964;0;8464242 + 9930;71592;3843;3964;0;8464242 + 9931;71598;3843;3965;0;8535840 + 9932;71604;3843;3965;0;8535840 + 9933;71615;3843;3966;0;8607455 + 9934;71616;3843;3966;0;8607455 + 9935;71628;3843;3966;0;8607455 + 9936;71638;3843;3967;0;8679093 + 9937;71640;3843;3967;0;8679093 + 9938;71652;3843;3967;0;8679093 + 9939;71653;3843;3968;0;8750746 + 9940;71664;3843;3968;0;8750746 + 9941;71673;3843;3969;0;8822419 + 9942;71676;3843;3969;0;8822419 + 9943;71688;3843;3969;0;8822419 + 9944;71691;3843;3970;0;8894110 + 9945;71700;3843;3970;0;8894110 + 9946;71708;3843;3971;0;8965818 + 9947;71712;3843;3971;0;8965818 + 9948;71724;3843;3971;0;8965818 + 9949;71724;3843;3972;0;9037542 + 9950;71736;3843;3972;0;9037542 + 9951;71745;3843;3973;0;9109287 + 9952;71748;3843;3973;0;9109287 + 9953;71760;3843;3973;0;9109287 + 9954;71765;3845;3974;0;9042152 + 9955;71772;3845;3974;0;9042152 + 9956;71783;3845;3975;0;9113935 + 9957;71784;3845;3975;0;9113935 + 9958;71796;3845;3975;0;9113935 + 9959;71799;3845;3976;0;9185734 + 9960;71808;3845;3976;0;9185734 + 9961;71814;3845;3977;0;9257548 + 9962;71820;3845;3977;0;9257548 + 9963;71829;3845;3978;0;9329377 + 9964;71832;3845;3978;0;9329377 + 9965;71844;3845;3978;0;9329377 + 9966;71845;3845;3979;0;9401222 + 9967;71856;3845;3979;0;9401222 + 9968;71862;3845;3980;0;9473084 + 9969;71868;3845;3980;0;9473084 + 9970;71876;3845;3981;0;9544960 + 9971;71880;3845;3981;0;9544960 + 9972;71892;3845;3981;0;9544960 + 9973;71897;3845;3982;0;9616857 + 9974;71904;3845;3982;0;9616857 + 9975;71911;3845;3983;0;9688768 + 9976;71916;3845;3983;0;9688768 + 9977;71928;3845;3983;0;9688768 + 9978;71935;3848;3984;0;9552227 + 9979;71940;3848;3984;0;9552227 + 9980;71949;3848;3985;0;9624176 + 9981;71952;3848;3985;0;9624176 + 9982;71964;3848;3985;0;9624176 + 9983;71970;3858;3986;0;9000022 + 9984;71976;3858;3986;0;9000022 + 9985;71985;3867;3987;0;8443773 + 9986;71988;3867;3987;0;8443773 + 9987;71997;3867;3988;0;8515770 + 9988;72000;3867;3988;0;8515770 + 9989;72012;3867;3988;0;8515770 + 9990;72017;3867;3989;0;8587787 + 9991;72024;3867;3989;0;8587787 + 9992;72029;3867;3990;0;8659816 + 9993;72036;3867;3990;0;8659816 + 9994;72048;3867;3990;0;8659816 + 9995;72048;3867;3991;0;8731864 + 9996;72060;3867;3991;0;8731864 + 9997;72072;3867;3991;0;8731864 + 9998;72072;3867;3992;0;8803936 + 9999;72084;3867;3992;0;8803936 + 10000;72094;3867;3993;0;8876030 + 10001;72096;3867;3993;0;8876030 + 10002;72107;3867;3994;0;8948137 + 10003;72108;3867;3994;0;8948137 + 10004;72119;3867;3995;0;9020256 + 10005;72120;3867;3995;0;9020256 + 10006;72132;3867;3995;0;9020256 + 10007;72135;3867;3996;0;9092391 + 10008;72144;3867;3996;0;9092391 + 10009;72156;3867;3996;0;9092391 + 10010;72158;3867;3997;0;9164549 + 10011;72168;3867;3997;0;9164549 + 10012;72178;3867;3998;0;9236727 + 10013;72180;3867;3998;0;9236727 + 10014;72192;3867;3998;0;9236727 + 10015;72202;3867;3999;0;9308929 + 10016;72204;3867;3999;0;9308929 + 10017;72216;3867;3999;0;9308929 + 10018;72217;3867;4000;0;9381146 + 10019;72228;3867;4000;0;9381146 + 10020;72229;3867;4001;0;9453375 + 10021;72240;3867;4001;0;9453375 + 10022;72252;3867;4001;0;9453375 + 10023;72264;3872;4001;0;9103676 + 10024;72276;3872;4001;0;9103676 + 10025;72288;3872;4001;0;9103676 + 10026;72300;3872;4001;0;9103676 + 10027;72312;3872;4001;0;9103676 + 10028;72324;3872;4001;0;9103676 + 10029;72336;3877;4001;0;8753527 + 10030;72348;3877;4001;0;8753527 + 10031;72360;3877;4001;0;8753527 + 10032;72372;3877;4001;0;8753527 + 10033;72384;3877;4001;0;8753527 + 10034;72396;3877;4001;0;8753527 + 10035;72408;3877;4001;0;8753527 + 10036;72420;3877;4001;0;8753527 + 10037;72432;3877;4001;0;8753527 + 10038;72444;3877;4001;0;8753527 + 10039;72456;3877;4001;0;8753527 + 10040;72468;3877;4001;0;8753527 + 10041;72480;3877;4001;0;8753527 + 10042;72492;3877;4001;0;8753527 + 10043;72504;3877;4001;0;8753527 + 10044;72516;3877;4001;0;8753527 + 10045;72528;3892;4001;0;7700522 + 10046;72540;3892;4001;0;7700522 + 10047;72552;3892;4001;0;7700522 + 10048;72564;3892;4001;0;7700522 + 10049;72576;3892;4001;0;7700522 + 10050;72588;3892;4001;0;7700522 + 10051;72600;3899;4001;0;7207684 + 10052;72612;3899;4001;0;7207684 + 10053;72624;3899;4001;0;7207684 + 10054;72636;3899;4001;0;7207684 + 10055;72648;3899;4001;0;7207684 + 10056;72660;3899;4001;0;7207684 + 10057;72672;3899;4001;0;7207684 + 10058;72684;3899;4001;0;7207684 + 10059;72696;3899;4001;0;7207684 + 10060;72708;3899;4001;0;7207684 + 10061;72720;3899;4001;0;7207684 + 10062;72732;3899;4001;0;7207684 + 10063;72744;3899;4001;0;7207684 + 10064;72756;3899;4001;0;7207684 + 10065;72768;3899;4001;0;7207684 + 10066;72780;3899;4001;0;7207684 + 10067;72792;3899;4001;0;7207684 + 10068;72804;3899;4001;0;7207684 + 10069;72816;3899;4001;0;7207684 + 10070;72828;3899;4001;0;7207684 + 10071;72840;3899;4001;0;7207684 + 10072;72852;3899;4001;0;7207684 + 10073;72864;3899;4001;0;7207684 + 10074;72876;3902;4001;0;6996148 + 10075;72888;3902;4001;0;6996148 + 10076;72900;3902;4001;0;6996148 + 10077;72912;3902;4001;0;6996148 + 10078;72924;3902;4001;0;6996148 + 10079;72936;3902;4001;0;6996148 + 10080;72948;3902;4001;0;6996148 + 10081;72960;3902;4001;0;6996148 + 10082;72972;3902;4001;0;6996148 + 10083;72984;3902;4001;0;6996148 + 10084;72996;3902;4001;0;6996148 + 10085;73008;3902;4001;0;6996148 + 10086;73020;3902;4001;0;6996148 + 10087;73032;3902;4001;0;6996148 + 10088;73044;3909;4001;0;6501978 + 10089;73056;3909;4001;0;6501978 + 10090;73068;3909;4001;0;6501978 + 10091;73080;3909;4001;0;6501978 + 10092;73092;3909;4001;0;6501978 + 10093;73104;3909;4001;0;6501978 + 10094;73116;3913;4001;0;6219207 + 10095;73128;3913;4001;0;6219207 + 10096;73140;3913;4001;0;6219207 + 10097;73152;3913;4001;0;6219207 + 10098;73164;3913;4001;0;6219207 + 10099;73176;3913;4001;0;6219207 + 10100;73188;3913;4001;0;6219207 + 10101;73200;3916;4001;0;6006930 + 10102;73212;3916;4001;0;6006930 + 10103;73224;3916;4001;0;6006930 + 10104;73236;3916;4001;0;6006930 + 10105;73248;3916;4001;0;6006930 + 10106;73260;3916;4001;0;6006930 + 10107;73272;3925;4001;0;5369049 + 10108;73284;3925;4001;0;5369049 + 10109;73296;3925;4001;0;5369049 + 10110;73308;3925;4001;0;5369049 + 10111;73320;3927;4001;0;5227085 + 10112;73332;3927;4001;0;5227085 + 10113;73344;3927;4001;0;5227085 + 10114;73356;3927;4001;0;5227085 + 10115;73368;3927;4001;0;5227085 + 10116;73380;3927;4001;0;5227085 + 10117;73392;3927;4001;0;5227085 + 10118;73404;3927;4001;0;5227085 + 10119;73416;3927;4001;0;5227085 + 10120;73428;3929;4001;0;5085067 + 10121;73440;3929;4001;0;5085067 + 10122;73452;3929;4001;0;5085067 + 10123;73464;3929;4001;0;5085067 + 10124;73476;3929;4001;0;5085067 + 10125;73488;3929;4001;0;5085067 + 10126;73500;3929;4001;0;5085067 + 10127;73512;3938;4001;0;4445191 + 10128;73524;3938;4001;0;4445191 + 10129;73536;3938;4001;0;4445191 + 10130;73548;3938;4001;0;4445191 + 10131;73560;3938;4001;0;4445191 + 10132;73572;3938;4001;0;4445191 + 10133;73584;3938;4001;0;4445191 + 10134;73596;3938;4001;0;4445191 + 10135;73608;3938;4001;0;4445191 + 10136;73620;3948;4001;0;3732706 + 10137;73632;3948;4001;0;3732706 + 10138;73644;3948;4001;0;3732706 + 10139;73656;3948;4001;0;3732706 + 10140;73668;3948;4001;0;3732706 + 10141;73680;3948;4001;0;3732706 + 10142;73692;3948;4001;0;3732706 + 10143;73704;3953;4001;0;3375824 + 10144;73716;3953;4001;0;3375824 + 10145;73728;3953;4001;0;3375824 + 10146;73740;3953;4001;0;3375824 + 10147;73752;3953;4001;0;3375824 + 10148;73764;3953;4001;0;3375824 + 10149;73776;3953;4001;0;3375824 + 10150;73788;3953;4001;0;3375824 + 10151;73800;3953;4001;0;3375824 + 10152;73812;3953;4001;0;3375824 + 10153;73824;3953;4001;0;3375824 + 10154;73836;3963;4001;0;2660867 + 10155;73848;3965;4001;0;2517654 + 10156;73860;3965;4001;0;2517654 + 10157;73872;3965;4001;0;2517654 + 10158;73884;3965;4001;0;2517654 + 10159;73896;3965;4001;0;2517654 + 10160;73908;3969;4001;0;2230999 + 10161;73920;3969;4001;0;2230999 + 10162;73932;3969;4001;0;2230999 + 10163;73944;3969;4001;0;2230999 + 10164;73956;3969;4001;0;2230999 + 10165;73968;3969;4001;0;2230999 + 10166;73980;3969;4001;0;2230999 + 10167;73992;3969;4001;0;2230999 + 10168;74004;3969;4001;0;2230999 + 10169;74016;3969;4001;0;2230999 + 10170;74028;3969;4001;0;2230999 + 10171;74040;3969;4001;0;2230999 + 10172;74052;3969;4001;0;2230999 + 10173;74064;3969;4001;0;2230999 + 10174;74076;3969;4001;0;2230999 + 10175;74088;3969;4001;0;2230999 + 10176;74100;3969;4001;0;2230999 + 10177;74112;3969;4001;0;2230999 + 10178;74124;3969;4001;0;2230999 + 10179;74136;3969;4001;0;2230999 + 10180;74148;3971;4001;0;2087567 + 10181;74160;3971;4001;0;2087567 + 10182;74172;3971;4001;0;2087567 + 10183;74184;3971;4001;0;2087567 + 10184;74196;3971;4001;0;2087567 + 10185;74208;3971;4001;0;2087567 + 10186;74220;3971;4001;0;2087567 + 10187;74232;3977;4001;0;1656832 + 10188;74244;3977;4001;0;1656832 + 10189;74256;3977;4001;0;1656832 + 10190;74268;3977;4001;0;1656832 + 10191;74280;3977;4001;0;1656832 + 10192;74292;3977;4001;0;1656832 + 10193;74304;3977;4001;0;1656832 + 10194;74316;3977;4001;0;1656832 + 10195;74328;3977;4001;0;1656832 + 10196;74340;3977;4001;0;1656832 + 10197;74352;3977;4001;0;1656832 + 10198;74364;3985;4001;0;1081587 + 10199;74376;3985;4001;0;1081587 + 10200;74388;3985;4001;0;1081587 + 10201;74400;3985;4001;0;1081587 + 10202;74412;3985;4001;0;1081587 + 10203;74424;3985;4001;0;1081587 + 10204;74436;3985;4001;0;1081587 + 10205;74448;3985;4001;0;1081587 + 10206;74460;3985;4001;0;1081587 + 10207;74472;3985;4001;0;1081587 + 10208;74484;3985;4001;0;1081587 + 10209;74496;3985;4001;0;1081587 + 10210;74508;3985;4001;0;1081587 + -----------------------------! + +Test result: ok. 1 passed; 0 failed; finished in 8.29s +| contracts/L1/TaikoToken.sol:TaikoToken contract | | | | | | +|-------------------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1203248 | 6042 | | | | | +| Function Name | min | avg | median | max | # calls | +| burn | 10388 | 10388 | 10388 | 10388 | 1 | +| init | 161878 | 161878 | 161878 | 161878 | 1 | +| mint | 48066 | 48066 | 48066 | 48066 | 1 | +| transfer | 30008 | 30008 | 30008 | 30008 | 1 | + + +| contracts/common/AddressManager.sol:AddressManager contract | | | | | | +|-------------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 268706 | 1374 | | | | | +| Function Name | min | avg | median | max | # calls | +| getAddress | 538 | 539 | 538 | 2538 | 8006 | +| init | 48211 | 48211 | 48211 | 48211 | 1 | +| setAddress | 3073 | 20991 | 24973 | 24973 | 11 | + + +| contracts/signal/SignalService.sol:SignalService contract | | | | | | +|-----------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1561631 | 7832 | | | | | +| Function Name | min | avg | median | max | # calls | +| init | 92994 | 92994 | 92994 | 92994 | 1 | + + +| test/LibLn.sol:LibLn contract | | | | | | +|-------------------------------|-----------------|------|--------|------|---------| +| Deployment Cost | Deployment Size | | | | | +| 227894 | 1196 | | | | | +| Function Name | min | avg | median | max | # calls | +| calcInitProofTimeIssued | 1626 | 1626 | 1626 | 1626 | 1 | + + +| test/TaikoL1.sim.sol:TaikoL1_b contract | | | | | | +|-----------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 3481693 | 17421 | | | | | +| Function Name | min | avg | median | max | # calls | +| depositTaikoToken | 40114 | 40114 | 40114 | 40114 | 1 | +| getBlockFee | 464 | 464 | 464 | 464 | 1 | +| getConfig | 2546 | 2546 | 2546 | 2546 | 1 | +| getStateVariables | 2251 | 2251 | 2251 | 10251 | 14211 | +| getVerifierName | 494 | 494 | 494 | 494 | 2 | +| init | 230235 | 230235 | 230235 | 230235 | 1 | +| proposeBlock | 25391 | 51303 | 25444 | 183368 | 4000 | +| proveBlock | 17096 | 48685 | 19096 | 199112 | 4000 | +| resolve(bytes32,bool)(address) | 2007 | 2009 | 2007 | 8507 | 4002 | +| resolve(uint256,bytes32,bool)(address) | 1964 | 1965 | 1964 | 3964 | 4002 | + + + diff --git a/packages/protocol/simulation/exports/simulation_data_1682760720.txt b/packages/protocol/simulation/exports/simulation_data_1682760720.txt new file mode 100644 index 00000000000..62e90539282 --- /dev/null +++ b/packages/protocol/simulation/exports/simulation_data_1682760720.txt @@ -0,0 +1,14299 @@ + +> @taiko/protocol@0.6.1 test:sim /Users/keszeyd/work/taiko_major_upgrade_ref/taiko-mono/packages/protocol +> forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000 + +Compiling 1 files with 0.8.18 +Solc 0.8.18 finished in 3.92s +Compiler run successful + +Running 1 test for test/TaikoL1.sim.sol:TaikoL1Simulation +[PASS] test_90percent_slow_10percent_quick() (gas: 1248356515067) +Logs: + 31337 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0x72384992222BE015DE0146a6D7E5dA0E19d2Ba49 + 31337 45889272483043749622685123383852074881457604843399824532951312269642964140032 → 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5 + 167 52670410704698717800542732036128729340597328726126075889694804077029212815360 → 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb + 167 52640402180712775100801168841838825813708635172629202311207512447469335085056 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 167 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C + 167 52640402180752029697201414225623803055489816253066935491057410734051802742784 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 31337 16777316 → 0x08526067985167EcFcB1F9720C72DbBF36c96018 + 31337 52640402180752042938242321556083758872323763589890511990531751287648111558656 → 0x0F8458E544c9D4C7C25A881240727209caae20B8 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0x34A1D3fff3958843C43aD80F30b94c510645C316 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0xFEfC6BAF87cF3684058D62Da40Ff3A795946Ab06 + 0:[0→1] fee:100000000 nextEthDepositToProcess:0 numEthDeposits:0 // init + 31337 16777316 → 0x4d04375eCD86c2B81eb0F55B37aA3fAb41CeCBc4 + BlockId, ProofTime + 1 ; 287 + 2 ; 2367 + 3 ; 1844 + 4 ; 2379 + 5 ; 1706 + 6 ; 1672 + 7 ; 2292 + 8 ; 1986 + 9 ; 1910 + 10 ; 2364 + 11 ; 217 + 12 ; 1651 + 13 ; 2291 + 14 ; 2044 + 15 ; 1785 + 16 ; 2171 + 17 ; 2178 + 18 ; 1889 + 19 ; 2201 + 20 ; 1735 + 21 ; 142 + 22 ; 2161 + 23 ; 1694 + 24 ; 2241 + 25 ; 1803 + 26 ; 2113 + 27 ; 1890 + 28 ; 2246 + 29 ; 1898 + 30 ; 2096 + 31 ; 154 + 32 ; 1846 + 33 ; 1965 + 34 ; 2333 + 35 ; 2400 + 36 ; 2253 + 37 ; 2244 + 38 ; 1853 + 39 ; 1864 + 40 ; 2198 + 41 ; 160 + 42 ; 2119 + 43 ; 1669 + 44 ; 2326 + 45 ; 2149 + 46 ; 1789 + 47 ; 2339 + 48 ; 2207 + 49 ; 1765 + 50 ; 1864 + 51 ; 293 + 52 ; 2037 + 53 ; 1979 + 54 ; 1805 + 55 ; 1812 + 56 ; 1785 + 57 ; 2092 + 58 ; 2264 + 59 ; 1782 + 60 ; 2270 + 61 ; 231 + 62 ; 1873 + 63 ; 2214 + 64 ; 1908 + 65 ; 1730 + 66 ; 2144 + 67 ; 2056 + 68 ; 1718 + 69 ; 2356 + 70 ; 1784 + 71 ; 113 + 72 ; 2018 + 73 ; 2061 + 74 ; 2304 + 75 ; 1957 + 76 ; 2359 + 77 ; 1628 + 78 ; 2347 + 79 ; 2325 + 80 ; 1731 + 81 ; 201 + 82 ; 1920 + 83 ; 1663 + 84 ; 1618 + 85 ; 2078 + 86 ; 2348 + 87 ; 2033 + 88 ; 1722 + 89 ; 2326 + 90 ; 2098 + 91 ; 246 + 92 ; 2028 + 93 ; 1997 + 94 ; 2201 + 95 ; 2289 + 96 ; 2304 + 97 ; 2157 + 98 ; 2326 + 99 ; 2023 + 100 ; 2063 + 101 ; 114 + 102 ; 1977 + 103 ; 2116 + 104 ; 1658 + 105 ; 2155 + 106 ; 1925 + 107 ; 1758 + 108 ; 2103 + 109 ; 2093 + 110 ; 2322 + 111 ; 250 + 112 ; 1968 + 113 ; 1878 + 114 ; 2245 + 115 ; 2401 + 116 ; 2323 + 117 ; 2182 + 118 ; 2404 + 119 ; 1828 + 120 ; 1733 + 121 ; 146 + 122 ; 1937 + 123 ; 1974 + 124 ; 2202 + 125 ; 1693 + 126 ; 1632 + 127 ; 2354 + 128 ; 2014 + 129 ; 1905 + 130 ; 1859 + 131 ; 199 + 132 ; 2346 + 133 ; 1826 + 134 ; 1613 + 135 ; 1769 + 136 ; 1988 + 137 ; 2369 + 138 ; 1976 + 139 ; 1924 + 140 ; 2100 + 141 ; 199 + 142 ; 2339 + 143 ; 2101 + 144 ; 2091 + 145 ; 1894 + 146 ; 1643 + 147 ; 1641 + 148 ; 2372 + 149 ; 2148 + 150 ; 2167 + 151 ; 77 + 152 ; 1962 + 153 ; 2227 + 154 ; 2103 + 155 ; 1738 + 156 ; 2105 + 157 ; 1921 + 158 ; 2110 + 159 ; 2350 + 160 ; 1670 + 161 ; 103 + 162 ; 1615 + 163 ; 1856 + 164 ; 2339 + 165 ; 1702 + 166 ; 1729 + 167 ; 2187 + 168 ; 2333 + 169 ; 2017 + 170 ; 1973 + 171 ; 264 + 172 ; 2160 + 173 ; 1654 + 174 ; 1715 + 175 ; 2025 + 176 ; 2391 + 177 ; 1780 + 178 ; 2341 + 179 ; 2300 + 180 ; 2188 + 181 ; 256 + 182 ; 1678 + 183 ; 2177 + 184 ; 1621 + 185 ; 1718 + 186 ; 2364 + 187 ; 2167 + 188 ; 2350 + 189 ; 1900 + 190 ; 2321 + 191 ; 276 + 192 ; 1877 + 193 ; 1960 + 194 ; 2126 + 195 ; 2358 + 196 ; 2012 + 197 ; 1661 + 198 ; 2102 + 199 ; 2149 + 200 ; 2290 + 201 ; 114 + 202 ; 2128 + 203 ; 1990 + 204 ; 1725 + 205 ; 1977 + 206 ; 1953 + 207 ; 1843 + 208 ; 1889 + 209 ; 2141 + 210 ; 1663 + 211 ; 248 + 212 ; 1913 + 213 ; 1623 + 214 ; 1961 + 215 ; 2240 + 216 ; 1905 + 217 ; 2185 + 218 ; 2392 + 219 ; 2284 + 220 ; 2337 + 221 ; 113 + 222 ; 1671 + 223 ; 1705 + 224 ; 2208 + 225 ; 1998 + 226 ; 1905 + 227 ; 1884 + 228 ; 2032 + 229 ; 2291 + 230 ; 1891 + 231 ; 296 + 232 ; 2396 + 233 ; 2378 + 234 ; 1814 + 235 ; 2226 + 236 ; 1935 + 237 ; 2154 + 238 ; 1931 + 239 ; 2235 + 240 ; 2338 + 241 ; 233 + 242 ; 2338 + 243 ; 1635 + 244 ; 1846 + 245 ; 1876 + 246 ; 2280 + 247 ; 1986 + 248 ; 2053 + 249 ; 2210 + 250 ; 1648 + 251 ; 159 + 252 ; 1765 + 253 ; 2188 + 254 ; 1831 + 255 ; 1815 + 256 ; 2121 + 257 ; 1836 + 258 ; 2199 + 259 ; 2078 + 260 ; 2167 + 261 ; 245 + 262 ; 2223 + 263 ; 2148 + 264 ; 2354 + 265 ; 2294 + 266 ; 1970 + 267 ; 1808 + 268 ; 2032 + 269 ; 2158 + 270 ; 1899 + 271 ; 288 + 272 ; 2350 + 273 ; 1827 + 274 ; 1909 + 275 ; 1785 + 276 ; 1717 + 277 ; 1772 + 278 ; 1689 + 279 ; 1797 + 280 ; 2144 + 281 ; 172 + 282 ; 1856 + 283 ; 2385 + 284 ; 1697 + 285 ; 2124 + 286 ; 1742 + 287 ; 1878 + 288 ; 1758 + 289 ; 2205 + 290 ; 2081 + 291 ; 311 + 292 ; 1745 + 293 ; 2179 + 294 ; 2158 + 295 ; 2261 + 296 ; 2141 + 297 ; 1886 + 298 ; 2042 + 299 ; 1991 + 300 ; 1859 + 301 ; 201 + 302 ; 1831 + 303 ; 2129 + 304 ; 1680 + 305 ; 2184 + 306 ; 1870 + 307 ; 1728 + 308 ; 2239 + 309 ; 1632 + 310 ; 1952 + 311 ; 160 + 312 ; 1899 + 313 ; 1624 + 314 ; 2049 + 315 ; 2404 + 316 ; 1765 + 317 ; 2305 + 318 ; 1927 + 319 ; 1643 + 320 ; 2194 + 321 ; 304 + 322 ; 2104 + 323 ; 2397 + 324 ; 1912 + 325 ; 2224 + 326 ; 1873 + 327 ; 1885 + 328 ; 1883 + 329 ; 1840 + 330 ; 2381 + 331 ; 257 + 332 ; 2164 + 333 ; 1952 + 334 ; 1851 + 335 ; 1620 + 336 ; 1902 + 337 ; 1789 + 338 ; 2154 + 339 ; 2207 + 340 ; 2186 + 341 ; 81 + 342 ; 2128 + 343 ; 1988 + 344 ; 2206 + 345 ; 1627 + 346 ; 1805 + 347 ; 1965 + 348 ; 2186 + 349 ; 1688 + 350 ; 1735 + 351 ; 279 + 352 ; 2177 + 353 ; 2089 + 354 ; 2057 + 355 ; 2204 + 356 ; 2363 + 357 ; 2357 + 358 ; 1800 + 359 ; 2328 + 360 ; 2127 + 361 ; 241 + 362 ; 2213 + 363 ; 2409 + 364 ; 2370 + 365 ; 2325 + 366 ; 2283 + 367 ; 1914 + 368 ; 2317 + 369 ; 2075 + 370 ; 2011 + 371 ; 294 + 372 ; 2275 + 373 ; 2065 + 374 ; 1752 + 375 ; 2052 + 376 ; 2235 + 377 ; 1872 + 378 ; 1764 + 379 ; 1943 + 380 ; 2133 + 381 ; 158 + 382 ; 1680 + 383 ; 2292 + 384 ; 1931 + 385 ; 1635 + 386 ; 1754 + 387 ; 2349 + 388 ; 2025 + 389 ; 1708 + 390 ; 1617 + 391 ; 307 + 392 ; 2212 + 393 ; 1863 + 394 ; 2078 + 395 ; 2247 + 396 ; 2153 + 397 ; 1818 + 398 ; 2322 + 399 ; 2188 + 400 ; 2200 + 401 ; 289 + 402 ; 2295 + 403 ; 2199 + 404 ; 2269 + 405 ; 1825 + 406 ; 1842 + 407 ; 1668 + 408 ; 1927 + 409 ; 2357 + 410 ; 2162 + 411 ; 201 + 412 ; 1621 + 413 ; 1854 + 414 ; 2095 + 415 ; 1992 + 416 ; 2038 + 417 ; 1644 + 418 ; 1749 + 419 ; 2167 + 420 ; 1883 + 421 ; 190 + 422 ; 2343 + 423 ; 2308 + 424 ; 1798 + 425 ; 1883 + 426 ; 2067 + 427 ; 1882 + 428 ; 2069 + 429 ; 1615 + 430 ; 2277 + 431 ; 228 + 432 ; 1654 + 433 ; 2216 + 434 ; 1946 + 435 ; 2389 + 436 ; 2079 + 437 ; 1650 + 438 ; 2031 + 439 ; 1969 + 440 ; 2269 + 441 ; 258 + 442 ; 2292 + 443 ; 2349 + 444 ; 2211 + 445 ; 1967 + 446 ; 2380 + 447 ; 2132 + 448 ; 1947 + 449 ; 2343 + 450 ; 1800 + 451 ; 168 + 452 ; 1911 + 453 ; 2057 + 454 ; 2196 + 455 ; 1882 + 456 ; 1827 + 457 ; 2244 + 458 ; 1962 + 459 ; 1937 + 460 ; 1864 + 461 ; 234 + 462 ; 1854 + 463 ; 1745 + 464 ; 2303 + 465 ; 2346 + 466 ; 2008 + 467 ; 2061 + 468 ; 2300 + 469 ; 1822 + 470 ; 2124 + 471 ; 207 + 472 ; 2083 + 473 ; 2011 + 474 ; 2198 + 475 ; 2021 + 476 ; 2275 + 477 ; 1622 + 478 ; 1749 + 479 ; 2155 + 480 ; 2409 + 481 ; 256 + 482 ; 1638 + 483 ; 2132 + 484 ; 1727 + 485 ; 1726 + 486 ; 2277 + 487 ; 2072 + 488 ; 2042 + 489 ; 2031 + 490 ; 2104 + 491 ; 96 + 492 ; 1888 + 493 ; 2237 + 494 ; 1879 + 495 ; 2109 + 496 ; 2024 + 497 ; 2002 + 498 ; 2376 + 499 ; 2149 + 500 ; 2185 + 501 ; 229 + 502 ; 2379 + 503 ; 1616 + 504 ; 1888 + 505 ; 2235 + 506 ; 2164 + 507 ; 1828 + 508 ; 2183 + 509 ; 2037 + 510 ; 1802 + 511 ; 143 + 512 ; 2108 + 513 ; 1877 + 514 ; 2334 + 515 ; 1778 + 516 ; 2267 + 517 ; 2351 + 518 ; 1792 + 519 ; 1890 + 520 ; 2104 + 521 ; 280 + 522 ; 1673 + 523 ; 1856 + 524 ; 2221 + 525 ; 1857 + 526 ; 2239 + 527 ; 2394 + 528 ; 2173 + 529 ; 2124 + 530 ; 2169 + 531 ; 285 + 532 ; 2057 + 533 ; 2353 + 534 ; 1722 + 535 ; 2030 + 536 ; 1619 + 537 ; 1943 + 538 ; 2186 + 539 ; 2013 + 540 ; 2208 + 541 ; 271 + 542 ; 1854 + 543 ; 1782 + 544 ; 2340 + 545 ; 1738 + 546 ; 1717 + 547 ; 2025 + 548 ; 1942 + 549 ; 1881 + 550 ; 2371 + 551 ; 265 + 552 ; 2251 + 553 ; 2231 + 554 ; 1960 + 555 ; 1707 + 556 ; 1835 + 557 ; 2281 + 558 ; 1727 + 559 ; 1825 + 560 ; 1879 + 561 ; 114 + 562 ; 2002 + 563 ; 1952 + 564 ; 2330 + 565 ; 2308 + 566 ; 2240 + 567 ; 1876 + 568 ; 2048 + 569 ; 1984 + 570 ; 2313 + 571 ; 192 + 572 ; 2353 + 573 ; 1667 + 574 ; 1954 + 575 ; 1613 + 576 ; 1677 + 577 ; 1777 + 578 ; 2363 + 579 ; 1854 + 580 ; 2075 + 581 ; 139 + 582 ; 2307 + 583 ; 2213 + 584 ; 2340 + 585 ; 1793 + 586 ; 1819 + 587 ; 1876 + 588 ; 2366 + 589 ; 1783 + 590 ; 1620 + 591 ; 235 + 592 ; 1996 + 593 ; 2036 + 594 ; 1949 + 595 ; 2230 + 596 ; 2048 + 597 ; 1697 + 598 ; 2091 + 599 ; 2138 + 600 ; 2178 + 601 ; 265 + 602 ; 1694 + 603 ; 1827 + 604 ; 2283 + 605 ; 2216 + 606 ; 2036 + 607 ; 2097 + 608 ; 2007 + 609 ; 2377 + 610 ; 2327 + 611 ; 131 + 612 ; 1991 + 613 ; 1914 + 614 ; 1696 + 615 ; 2089 + 616 ; 1999 + 617 ; 2090 + 618 ; 1661 + 619 ; 2137 + 620 ; 2305 + 621 ; 176 + 622 ; 1856 + 623 ; 2022 + 624 ; 2325 + 625 ; 1686 + 626 ; 2123 + 627 ; 2084 + 628 ; 2285 + 629 ; 2341 + 630 ; 1663 + 631 ; 235 + 632 ; 1963 + 633 ; 1976 + 634 ; 1916 + 635 ; 1616 + 636 ; 2100 + 637 ; 2232 + 638 ; 1689 + 639 ; 1734 + 640 ; 1614 + 641 ; 192 + 642 ; 2181 + 643 ; 2082 + 644 ; 1622 + 645 ; 1976 + 646 ; 1628 + 647 ; 2105 + 648 ; 1889 + 649 ; 2146 + 650 ; 2319 + 651 ; 242 + 652 ; 2359 + 653 ; 2066 + 654 ; 2299 + 655 ; 1711 + 656 ; 2144 + 657 ; 2255 + 658 ; 1933 + 659 ; 2204 + 660 ; 2081 + 661 ; 74 + 662 ; 1894 + 663 ; 2029 + 664 ; 1739 + 665 ; 1671 + 666 ; 1658 + 667 ; 2366 + 668 ; 1894 + 669 ; 1633 + 670 ; 1922 + 671 ; 85 + 672 ; 2403 + 673 ; 1705 + 674 ; 1726 + 675 ; 2314 + 676 ; 2374 + 677 ; 2343 + 678 ; 2316 + 679 ; 1728 + 680 ; 2228 + 681 ; 191 + 682 ; 2325 + 683 ; 1706 + 684 ; 1614 + 685 ; 1954 + 686 ; 1858 + 687 ; 2036 + 688 ; 1804 + 689 ; 2230 + 690 ; 2356 + 691 ; 146 + 692 ; 2208 + 693 ; 1950 + 694 ; 1677 + 695 ; 2201 + 696 ; 2153 + 697 ; 2288 + 698 ; 2325 + 699 ; 1695 + 700 ; 1956 + 701 ; 219 + 702 ; 2102 + 703 ; 1627 + 704 ; 1684 + 705 ; 1913 + 706 ; 2239 + 707 ; 2082 + 708 ; 1727 + 709 ; 2173 + 710 ; 1746 + 711 ; 205 + 712 ; 2211 + 713 ; 1674 + 714 ; 1924 + 715 ; 2197 + 716 ; 1759 + 717 ; 2126 + 718 ; 2238 + 719 ; 1756 + 720 ; 2339 + 721 ; 293 + 722 ; 2348 + 723 ; 1807 + 724 ; 1864 + 725 ; 1929 + 726 ; 2304 + 727 ; 1901 + 728 ; 1834 + 729 ; 2135 + 730 ; 1894 + 731 ; 199 + 732 ; 2396 + 733 ; 1829 + 734 ; 2001 + 735 ; 1664 + 736 ; 1673 + 737 ; 2153 + 738 ; 1840 + 739 ; 1933 + 740 ; 1647 + 741 ; 195 + 742 ; 2112 + 743 ; 2245 + 744 ; 2188 + 745 ; 1619 + 746 ; 1811 + 747 ; 2233 + 748 ; 1658 + 749 ; 2116 + 750 ; 1646 + 751 ; 185 + 752 ; 1938 + 753 ; 1984 + 754 ; 1881 + 755 ; 2142 + 756 ; 1884 + 757 ; 2046 + 758 ; 2242 + 759 ; 2349 + 760 ; 2237 + 761 ; 110 + 762 ; 1753 + 763 ; 1743 + 764 ; 2136 + 765 ; 1783 + 766 ; 1938 + 767 ; 1781 + 768 ; 2133 + 769 ; 2083 + 770 ; 1671 + 771 ; 199 + 772 ; 2148 + 773 ; 1796 + 774 ; 2318 + 775 ; 1869 + 776 ; 2409 + 777 ; 1954 + 778 ; 2084 + 779 ; 1776 + 780 ; 1854 + 781 ; 263 + 782 ; 2325 + 783 ; 2139 + 784 ; 2359 + 785 ; 2264 + 786 ; 1697 + 787 ; 2393 + 788 ; 1990 + 789 ; 1912 + 790 ; 2164 + 791 ; 141 + 792 ; 1870 + 793 ; 2298 + 794 ; 1648 + 795 ; 1850 + 796 ; 2074 + 797 ; 1642 + 798 ; 2037 + 799 ; 2336 + 800 ; 2010 + 801 ; 178 + 802 ; 2392 + 803 ; 1845 + 804 ; 2069 + 805 ; 1949 + 806 ; 1919 + 807 ; 1821 + 808 ; 1666 + 809 ; 2006 + 810 ; 1664 + 811 ; 304 + 812 ; 1749 + 813 ; 2380 + 814 ; 2070 + 815 ; 1952 + 816 ; 2211 + 817 ; 2052 + 818 ; 2324 + 819 ; 1828 + 820 ; 1664 + 821 ; 267 + 822 ; 2218 + 823 ; 2042 + 824 ; 1834 + 825 ; 1767 + 826 ; 1622 + 827 ; 1949 + 828 ; 1861 + 829 ; 2059 + 830 ; 2052 + 831 ; 115 + 832 ; 2116 + 833 ; 1910 + 834 ; 2280 + 835 ; 2367 + 836 ; 1655 + 837 ; 2005 + 838 ; 2027 + 839 ; 1667 + 840 ; 2305 + 841 ; 145 + 842 ; 2358 + 843 ; 2303 + 844 ; 1628 + 845 ; 2355 + 846 ; 2411 + 847 ; 1881 + 848 ; 2403 + 849 ; 1896 + 850 ; 1973 + 851 ; 272 + 852 ; 1950 + 853 ; 2377 + 854 ; 2291 + 855 ; 1798 + 856 ; 1726 + 857 ; 2402 + 858 ; 1937 + 859 ; 1649 + 860 ; 2154 + 861 ; 210 + 862 ; 1620 + 863 ; 1827 + 864 ; 1803 + 865 ; 1978 + 866 ; 1667 + 867 ; 1973 + 868 ; 2178 + 869 ; 2295 + 870 ; 1997 + 871 ; 91 + 872 ; 2341 + 873 ; 2164 + 874 ; 1804 + 875 ; 1781 + 876 ; 1990 + 877 ; 1949 + 878 ; 2376 + 879 ; 2289 + 880 ; 2132 + 881 ; 100 + 882 ; 2256 + 883 ; 2335 + 884 ; 1614 + 885 ; 2207 + 886 ; 1783 + 887 ; 1760 + 888 ; 1857 + 889 ; 2041 + 890 ; 1652 + 891 ; 307 + 892 ; 2409 + 893 ; 2217 + 894 ; 2196 + 895 ; 1773 + 896 ; 2295 + 897 ; 2098 + 898 ; 2021 + 899 ; 1973 + 900 ; 1908 + 901 ; 116 + 902 ; 2074 + 903 ; 2247 + 904 ; 2081 + 905 ; 1801 + 906 ; 2325 + 907 ; 1899 + 908 ; 2348 + 909 ; 2080 + 910 ; 2085 + 911 ; 201 + 912 ; 1851 + 913 ; 2189 + 914 ; 2079 + 915 ; 2276 + 916 ; 2074 + 917 ; 1970 + 918 ; 2098 + 919 ; 2347 + 920 ; 1793 + 921 ; 114 + 922 ; 2152 + 923 ; 2313 + 924 ; 2286 + 925 ; 1627 + 926 ; 2209 + 927 ; 1782 + 928 ; 1901 + 929 ; 1652 + 930 ; 1939 + 931 ; 131 + 932 ; 2223 + 933 ; 2219 + 934 ; 2045 + 935 ; 2405 + 936 ; 2146 + 937 ; 1899 + 938 ; 2167 + 939 ; 2313 + 940 ; 1634 + 941 ; 261 + 942 ; 2141 + 943 ; 2035 + 944 ; 2314 + 945 ; 2251 + 946 ; 2376 + 947 ; 1626 + 948 ; 2052 + 949 ; 2272 + 950 ; 2079 + 951 ; 131 + 952 ; 2038 + 953 ; 2399 + 954 ; 1920 + 955 ; 2115 + 956 ; 2169 + 957 ; 1765 + 958 ; 1734 + 959 ; 1849 + 960 ; 2077 + 961 ; 312 + 962 ; 1761 + 963 ; 1931 + 964 ; 1786 + 965 ; 2401 + 966 ; 1848 + 967 ; 2241 + 968 ; 2012 + 969 ; 1813 + 970 ; 2085 + 971 ; 98 + 972 ; 2068 + 973 ; 1980 + 974 ; 2165 + 975 ; 2251 + 976 ; 1754 + 977 ; 1714 + 978 ; 1895 + 979 ; 2069 + 980 ; 1947 + 981 ; 279 + 982 ; 1653 + 983 ; 1981 + 984 ; 1682 + 985 ; 1740 + 986 ; 2264 + 987 ; 2328 + 988 ; 1612 + 989 ; 1989 + 990 ; 1734 + 991 ; 207 + 992 ; 1730 + 993 ; 2209 + 994 ; 2331 + 995 ; 1709 + 996 ; 2334 + 997 ; 1892 + 998 ; 2093 + 999 ; 2124 + 1000 ; 2253 + 1001 ; 245 + 1002 ; 1745 + 1003 ; 2253 + 1004 ; 2083 + 1005 ; 2038 + 1006 ; 2114 + 1007 ; 1740 + 1008 ; 2408 + 1009 ; 2059 + 1010 ; 2231 + 1011 ; 267 + 1012 ; 2317 + 1013 ; 2209 + 1014 ; 1707 + 1015 ; 2358 + 1016 ; 2275 + 1017 ; 2384 + 1018 ; 2150 + 1019 ; 2144 + 1020 ; 2342 + 1021 ; 73 + 1022 ; 1756 + 1023 ; 1620 + 1024 ; 1652 + 1025 ; 1875 + 1026 ; 1820 + 1027 ; 2312 + 1028 ; 2178 + 1029 ; 2399 + 1030 ; 1734 + 1031 ; 131 + 1032 ; 1793 + 1033 ; 1732 + 1034 ; 2016 + 1035 ; 1777 + 1036 ; 1701 + 1037 ; 1773 + 1038 ; 2366 + 1039 ; 1824 + 1040 ; 1672 + 1041 ; 267 + 1042 ; 1892 + 1043 ; 1696 + 1044 ; 1906 + 1045 ; 1935 + 1046 ; 1659 + 1047 ; 1698 + 1048 ; 2157 + 1049 ; 1828 + 1050 ; 2045 + 1051 ; 128 + 1052 ; 2014 + 1053 ; 2292 + 1054 ; 2328 + 1055 ; 2045 + 1056 ; 2305 + 1057 ; 2198 + 1058 ; 2061 + 1059 ; 1645 + 1060 ; 2332 + 1061 ; 209 + 1062 ; 1921 + 1063 ; 2058 + 1064 ; 1902 + 1065 ; 2264 + 1066 ; 1836 + 1067 ; 1951 + 1068 ; 1751 + 1069 ; 1895 + 1070 ; 1749 + 1071 ; 310 + 1072 ; 1923 + 1073 ; 1895 + 1074 ; 1791 + 1075 ; 1781 + 1076 ; 1757 + 1077 ; 2078 + 1078 ; 1881 + 1079 ; 2408 + 1080 ; 1729 + 1081 ; 156 + 1082 ; 2411 + 1083 ; 1790 + 1084 ; 2268 + 1085 ; 1776 + 1086 ; 2297 + 1087 ; 2373 + 1088 ; 1814 + 1089 ; 1773 + 1090 ; 1963 + 1091 ; 229 + 1092 ; 1846 + 1093 ; 2197 + 1094 ; 1746 + 1095 ; 1917 + 1096 ; 1623 + 1097 ; 1781 + 1098 ; 2033 + 1099 ; 2280 + 1100 ; 2208 + 1101 ; 110 + 1102 ; 2317 + 1103 ; 2002 + 1104 ; 2371 + 1105 ; 2000 + 1106 ; 1897 + 1107 ; 1804 + 1108 ; 2145 + 1109 ; 1629 + 1110 ; 1911 + 1111 ; 119 + 1112 ; 1956 + 1113 ; 1891 + 1114 ; 2254 + 1115 ; 2331 + 1116 ; 2145 + 1117 ; 1929 + 1118 ; 2213 + 1119 ; 2323 + 1120 ; 2036 + 1121 ; 187 + 1122 ; 2182 + 1123 ; 2173 + 1124 ; 2334 + 1125 ; 1673 + 1126 ; 2303 + 1127 ; 2340 + 1128 ; 1792 + 1129 ; 1751 + 1130 ; 1681 + 1131 ; 231 + 1132 ; 1635 + 1133 ; 1842 + 1134 ; 1915 + 1135 ; 2066 + 1136 ; 2189 + 1137 ; 2004 + 1138 ; 1727 + 1139 ; 1810 + 1140 ; 1990 + 1141 ; 240 + 1142 ; 2323 + 1143 ; 1973 + 1144 ; 2004 + 1145 ; 2073 + 1146 ; 1688 + 1147 ; 2152 + 1148 ; 2411 + 1149 ; 2264 + 1150 ; 2143 + 1151 ; 227 + 1152 ; 2169 + 1153 ; 2088 + 1154 ; 2056 + 1155 ; 2303 + 1156 ; 2195 + 1157 ; 1780 + 1158 ; 1914 + 1159 ; 1844 + 1160 ; 2173 + 1161 ; 159 + 1162 ; 1925 + 1163 ; 2216 + 1164 ; 2223 + 1165 ; 2269 + 1166 ; 2371 + 1167 ; 2207 + 1168 ; 1958 + 1169 ; 1882 + 1170 ; 1778 + 1171 ; 147 + 1172 ; 2163 + 1173 ; 1932 + 1174 ; 2210 + 1175 ; 2381 + 1176 ; 1775 + 1177 ; 1699 + 1178 ; 1946 + 1179 ; 1709 + 1180 ; 1944 + 1181 ; 170 + 1182 ; 2175 + 1183 ; 1694 + 1184 ; 2103 + 1185 ; 1702 + 1186 ; 1687 + 1187 ; 1908 + 1188 ; 1616 + 1189 ; 1880 + 1190 ; 2221 + 1191 ; 103 + 1192 ; 1765 + 1193 ; 1958 + 1194 ; 1877 + 1195 ; 2302 + 1196 ; 2074 + 1197 ; 1874 + 1198 ; 1782 + 1199 ; 1949 + 1200 ; 1739 + 1201 ; 296 + 1202 ; 2229 + 1203 ; 1969 + 1204 ; 2405 + 1205 ; 2187 + 1206 ; 1679 + 1207 ; 1637 + 1208 ; 2273 + 1209 ; 2170 + 1210 ; 1782 + 1211 ; 134 + 1212 ; 2200 + 1213 ; 2350 + 1214 ; 1812 + 1215 ; 2181 + 1216 ; 1761 + 1217 ; 2074 + 1218 ; 2074 + 1219 ; 1868 + 1220 ; 1824 + 1221 ; 295 + 1222 ; 2297 + 1223 ; 1950 + 1224 ; 1834 + 1225 ; 2195 + 1226 ; 2352 + 1227 ; 2264 + 1228 ; 2110 + 1229 ; 1820 + 1230 ; 1906 + 1231 ; 242 + 1232 ; 1747 + 1233 ; 2003 + 1234 ; 2013 + 1235 ; 2304 + 1236 ; 2128 + 1237 ; 2213 + 1238 ; 1844 + 1239 ; 1985 + 1240 ; 2092 + 1241 ; 94 + 1242 ; 2027 + 1243 ; 1937 + 1244 ; 2128 + 1245 ; 2055 + 1246 ; 1723 + 1247 ; 2023 + 1248 ; 2179 + 1249 ; 2018 + 1250 ; 1811 + 1251 ; 111 + 1252 ; 2126 + 1253 ; 2278 + 1254 ; 2366 + 1255 ; 2211 + 1256 ; 1614 + 1257 ; 2180 + 1258 ; 1881 + 1259 ; 2268 + 1260 ; 1731 + 1261 ; 163 + 1262 ; 2279 + 1263 ; 1718 + 1264 ; 1642 + 1265 ; 2174 + 1266 ; 2288 + 1267 ; 1944 + 1268 ; 2006 + 1269 ; 1820 + 1270 ; 2089 + 1271 ; 122 + 1272 ; 2397 + 1273 ; 1841 + 1274 ; 2379 + 1275 ; 1948 + 1276 ; 2270 + 1277 ; 1735 + 1278 ; 1774 + 1279 ; 1666 + 1280 ; 1614 + 1281 ; 278 + 1282 ; 1746 + 1283 ; 2207 + 1284 ; 2269 + 1285 ; 1659 + 1286 ; 2064 + 1287 ; 2350 + 1288 ; 1944 + 1289 ; 2282 + 1290 ; 1692 + 1291 ; 239 + 1292 ; 1934 + 1293 ; 1879 + 1294 ; 1720 + 1295 ; 2400 + 1296 ; 1793 + 1297 ; 1768 + 1298 ; 2034 + 1299 ; 2182 + 1300 ; 2040 + 1301 ; 206 + 1302 ; 1876 + 1303 ; 2069 + 1304 ; 1650 + 1305 ; 1805 + 1306 ; 1697 + 1307 ; 2149 + 1308 ; 2165 + 1309 ; 2240 + 1310 ; 1796 + 1311 ; 133 + 1312 ; 2053 + 1313 ; 1856 + 1314 ; 2058 + 1315 ; 2399 + 1316 ; 1732 + 1317 ; 2194 + 1318 ; 2241 + 1319 ; 1874 + 1320 ; 2277 + 1321 ; 116 + 1322 ; 2133 + 1323 ; 1640 + 1324 ; 1626 + 1325 ; 2309 + 1326 ; 2372 + 1327 ; 2221 + 1328 ; 1676 + 1329 ; 2109 + 1330 ; 1868 + 1331 ; 253 + 1332 ; 2323 + 1333 ; 1766 + 1334 ; 2331 + 1335 ; 1770 + 1336 ; 2288 + 1337 ; 1763 + 1338 ; 2098 + 1339 ; 2341 + 1340 ; 2296 + 1341 ; 305 + 1342 ; 2167 + 1343 ; 1916 + 1344 ; 1671 + 1345 ; 2016 + 1346 ; 2156 + 1347 ; 1762 + 1348 ; 1646 + 1349 ; 1953 + 1350 ; 1656 + 1351 ; 109 + 1352 ; 2262 + 1353 ; 1712 + 1354 ; 2116 + 1355 ; 1977 + 1356 ; 1744 + 1357 ; 2057 + 1358 ; 1913 + 1359 ; 2066 + 1360 ; 2168 + 1361 ; 181 + 1362 ; 2350 + 1363 ; 2228 + 1364 ; 1956 + 1365 ; 2381 + 1366 ; 1776 + 1367 ; 1847 + 1368 ; 2042 + 1369 ; 1706 + 1370 ; 2124 + 1371 ; 180 + 1372 ; 2206 + 1373 ; 1975 + 1374 ; 1978 + 1375 ; 1842 + 1376 ; 1675 + 1377 ; 2022 + 1378 ; 2357 + 1379 ; 2069 + 1380 ; 1901 + 1381 ; 85 + 1382 ; 2208 + 1383 ; 2390 + 1384 ; 1790 + 1385 ; 2229 + 1386 ; 2410 + 1387 ; 1835 + 1388 ; 1803 + 1389 ; 1744 + 1390 ; 1788 + 1391 ; 163 + 1392 ; 1805 + 1393 ; 2018 + 1394 ; 2164 + 1395 ; 1649 + 1396 ; 1755 + 1397 ; 1890 + 1398 ; 2055 + 1399 ; 2355 + 1400 ; 1693 + 1401 ; 172 + 1402 ; 2353 + 1403 ; 2258 + 1404 ; 1681 + 1405 ; 2340 + 1406 ; 1891 + 1407 ; 2361 + 1408 ; 1945 + 1409 ; 1882 + 1410 ; 1745 + 1411 ; 284 + 1412 ; 1861 + 1413 ; 2002 + 1414 ; 2089 + 1415 ; 1998 + 1416 ; 1811 + 1417 ; 2106 + 1418 ; 2080 + 1419 ; 1808 + 1420 ; 1844 + 1421 ; 297 + 1422 ; 1805 + 1423 ; 1941 + 1424 ; 2087 + 1425 ; 2265 + 1426 ; 2061 + 1427 ; 1985 + 1428 ; 2175 + 1429 ; 2369 + 1430 ; 1948 + 1431 ; 260 + 1432 ; 2317 + 1433 ; 2219 + 1434 ; 1832 + 1435 ; 1813 + 1436 ; 1762 + 1437 ; 2074 + 1438 ; 1832 + 1439 ; 2318 + 1440 ; 1923 + 1441 ; 152 + 1442 ; 2069 + 1443 ; 1712 + 1444 ; 2283 + 1445 ; 1987 + 1446 ; 1910 + 1447 ; 2197 + 1448 ; 1933 + 1449 ; 2320 + 1450 ; 2336 + 1451 ; 154 + 1452 ; 2337 + 1453 ; 1677 + 1454 ; 2010 + 1455 ; 2094 + 1456 ; 2224 + 1457 ; 1630 + 1458 ; 2103 + 1459 ; 2321 + 1460 ; 1774 + 1461 ; 118 + 1462 ; 2282 + 1463 ; 2098 + 1464 ; 1798 + 1465 ; 2027 + 1466 ; 2143 + 1467 ; 1823 + 1468 ; 2183 + 1469 ; 1639 + 1470 ; 2062 + 1471 ; 89 + 1472 ; 1896 + 1473 ; 1880 + 1474 ; 1926 + 1475 ; 1619 + 1476 ; 1738 + 1477 ; 1659 + 1478 ; 2060 + 1479 ; 2345 + 1480 ; 1745 + 1481 ; 98 + 1482 ; 2255 + 1483 ; 1640 + 1484 ; 1656 + 1485 ; 2116 + 1486 ; 2234 + 1487 ; 2287 + 1488 ; 1681 + 1489 ; 2342 + 1490 ; 2374 + 1491 ; 273 + 1492 ; 2072 + 1493 ; 1951 + 1494 ; 2182 + 1495 ; 2153 + 1496 ; 1895 + 1497 ; 2358 + 1498 ; 2232 + 1499 ; 2121 + 1500 ; 2374 + 1501 ; 265 + 1502 ; 1835 + 1503 ; 1783 + 1504 ; 1994 + 1505 ; 1968 + 1506 ; 1906 + 1507 ; 1641 + 1508 ; 1651 + 1509 ; 1786 + 1510 ; 2274 + 1511 ; 129 + 1512 ; 1772 + 1513 ; 2260 + 1514 ; 2206 + 1515 ; 1940 + 1516 ; 2162 + 1517 ; 1976 + 1518 ; 2278 + 1519 ; 1890 + 1520 ; 1719 + 1521 ; 169 + 1522 ; 1913 + 1523 ; 1965 + 1524 ; 2299 + 1525 ; 1722 + 1526 ; 1639 + 1527 ; 1949 + 1528 ; 2290 + 1529 ; 2188 + 1530 ; 1797 + 1531 ; 184 + 1532 ; 1634 + 1533 ; 1936 + 1534 ; 2084 + 1535 ; 2043 + 1536 ; 1759 + 1537 ; 2391 + 1538 ; 2227 + 1539 ; 2410 + 1540 ; 1689 + 1541 ; 266 + 1542 ; 2195 + 1543 ; 2165 + 1544 ; 1889 + 1545 ; 1716 + 1546 ; 1960 + 1547 ; 2153 + 1548 ; 2061 + 1549 ; 2077 + 1550 ; 1662 + 1551 ; 275 + 1552 ; 1842 + 1553 ; 2325 + 1554 ; 1927 + 1555 ; 2007 + 1556 ; 1863 + 1557 ; 2150 + 1558 ; 1870 + 1559 ; 2086 + 1560 ; 1859 + 1561 ; 288 + 1562 ; 1642 + 1563 ; 1908 + 1564 ; 2075 + 1565 ; 2301 + 1566 ; 1713 + 1567 ; 1626 + 1568 ; 2228 + 1569 ; 2020 + 1570 ; 2056 + 1571 ; 132 + 1572 ; 1744 + 1573 ; 2276 + 1574 ; 2021 + 1575 ; 1847 + 1576 ; 1721 + 1577 ; 1646 + 1578 ; 2293 + 1579 ; 2260 + 1580 ; 2356 + 1581 ; 203 + 1582 ; 1750 + 1583 ; 2155 + 1584 ; 1950 + 1585 ; 1671 + 1586 ; 1764 + 1587 ; 2376 + 1588 ; 2186 + 1589 ; 1706 + 1590 ; 1962 + 1591 ; 258 + 1592 ; 1649 + 1593 ; 1804 + 1594 ; 1632 + 1595 ; 1830 + 1596 ; 2389 + 1597 ; 2101 + 1598 ; 1769 + 1599 ; 1973 + 1600 ; 1642 + 1601 ; 85 + 1602 ; 1885 + 1603 ; 1669 + 1604 ; 1833 + 1605 ; 1762 + 1606 ; 2131 + 1607 ; 2048 + 1608 ; 2010 + 1609 ; 2066 + 1610 ; 1694 + 1611 ; 159 + 1612 ; 2256 + 1613 ; 2106 + 1614 ; 1649 + 1615 ; 1906 + 1616 ; 1665 + 1617 ; 1818 + 1618 ; 2017 + 1619 ; 2027 + 1620 ; 2019 + 1621 ; 269 + 1622 ; 2403 + 1623 ; 2195 + 1624 ; 1839 + 1625 ; 1622 + 1626 ; 2394 + 1627 ; 2290 + 1628 ; 1835 + 1629 ; 2307 + 1630 ; 1782 + 1631 ; 233 + 1632 ; 2004 + 1633 ; 2392 + 1634 ; 1698 + 1635 ; 2386 + 1636 ; 1886 + 1637 ; 1788 + 1638 ; 2380 + 1639 ; 1655 + 1640 ; 2289 + 1641 ; 237 + 1642 ; 1885 + 1643 ; 1817 + 1644 ; 1767 + 1645 ; 2112 + 1646 ; 1952 + 1647 ; 2098 + 1648 ; 2082 + 1649 ; 1954 + 1650 ; 2396 + 1651 ; 82 + 1652 ; 1755 + 1653 ; 2300 + 1654 ; 1876 + 1655 ; 1639 + 1656 ; 2032 + 1657 ; 2370 + 1658 ; 2146 + 1659 ; 2124 + 1660 ; 2374 + 1661 ; 216 + 1662 ; 1635 + 1663 ; 2121 + 1664 ; 2404 + 1665 ; 1905 + 1666 ; 2200 + 1667 ; 2164 + 1668 ; 2228 + 1669 ; 1885 + 1670 ; 1868 + 1671 ; 111 + 1672 ; 1836 + 1673 ; 2128 + 1674 ; 1848 + 1675 ; 1750 + 1676 ; 1884 + 1677 ; 2137 + 1678 ; 2348 + 1679 ; 1856 + 1680 ; 2352 + 1681 ; 92 + 1682 ; 1743 + 1683 ; 2157 + 1684 ; 2200 + 1685 ; 1644 + 1686 ; 1930 + 1687 ; 1647 + 1688 ; 1962 + 1689 ; 1696 + 1690 ; 1816 + 1691 ; 135 + 1692 ; 1899 + 1693 ; 2221 + 1694 ; 1765 + 1695 ; 2030 + 1696 ; 2187 + 1697 ; 1872 + 1698 ; 1665 + 1699 ; 2304 + 1700 ; 2091 + 1701 ; 154 + 1702 ; 2041 + 1703 ; 1627 + 1704 ; 1739 + 1705 ; 2272 + 1706 ; 2383 + 1707 ; 2177 + 1708 ; 2228 + 1709 ; 1807 + 1710 ; 1807 + 1711 ; 103 + 1712 ; 2187 + 1713 ; 2095 + 1714 ; 2393 + 1715 ; 2235 + 1716 ; 1631 + 1717 ; 1818 + 1718 ; 1861 + 1719 ; 1985 + 1720 ; 2390 + 1721 ; 163 + 1722 ; 2233 + 1723 ; 1696 + 1724 ; 2243 + 1725 ; 1817 + 1726 ; 1954 + 1727 ; 1911 + 1728 ; 2105 + 1729 ; 2176 + 1730 ; 1720 + 1731 ; 241 + 1732 ; 1665 + 1733 ; 1993 + 1734 ; 2144 + 1735 ; 2384 + 1736 ; 2091 + 1737 ; 2409 + 1738 ; 2022 + 1739 ; 1859 + 1740 ; 2154 + 1741 ; 143 + 1742 ; 1674 + 1743 ; 2001 + 1744 ; 2360 + 1745 ; 2349 + 1746 ; 2113 + 1747 ; 2092 + 1748 ; 1906 + 1749 ; 1774 + 1750 ; 2064 + 1751 ; 126 + 1752 ; 1695 + 1753 ; 2143 + 1754 ; 1708 + 1755 ; 1878 + 1756 ; 2191 + 1757 ; 1970 + 1758 ; 2376 + 1759 ; 2137 + 1760 ; 2037 + 1761 ; 200 + 1762 ; 2161 + 1763 ; 2253 + 1764 ; 1852 + 1765 ; 1815 + 1766 ; 1944 + 1767 ; 2083 + 1768 ; 1651 + 1769 ; 1865 + 1770 ; 2379 + 1771 ; 170 + 1772 ; 1976 + 1773 ; 2135 + 1774 ; 2093 + 1775 ; 2148 + 1776 ; 2116 + 1777 ; 1791 + 1778 ; 1817 + 1779 ; 2329 + 1780 ; 1745 + 1781 ; 293 + 1782 ; 1872 + 1783 ; 2371 + 1784 ; 2172 + 1785 ; 1891 + 1786 ; 2220 + 1787 ; 2331 + 1788 ; 1647 + 1789 ; 2178 + 1790 ; 2269 + 1791 ; 185 + 1792 ; 2004 + 1793 ; 2170 + 1794 ; 2056 + 1795 ; 2332 + 1796 ; 2407 + 1797 ; 1674 + 1798 ; 2171 + 1799 ; 1668 + 1800 ; 1674 + 1801 ; 259 + 1802 ; 1997 + 1803 ; 2388 + 1804 ; 1911 + 1805 ; 2327 + 1806 ; 2399 + 1807 ; 1880 + 1808 ; 2243 + 1809 ; 2184 + 1810 ; 1939 + 1811 ; 154 + 1812 ; 1763 + 1813 ; 1884 + 1814 ; 1669 + 1815 ; 2254 + 1816 ; 2319 + 1817 ; 1797 + 1818 ; 2316 + 1819 ; 1705 + 1820 ; 1647 + 1821 ; 111 + 1822 ; 1893 + 1823 ; 2300 + 1824 ; 1889 + 1825 ; 2184 + 1826 ; 2123 + 1827 ; 2261 + 1828 ; 2058 + 1829 ; 1788 + 1830 ; 1796 + 1831 ; 150 + 1832 ; 2212 + 1833 ; 2227 + 1834 ; 1784 + 1835 ; 1722 + 1836 ; 1844 + 1837 ; 1690 + 1838 ; 1730 + 1839 ; 1923 + 1840 ; 1671 + 1841 ; 291 + 1842 ; 2381 + 1843 ; 2126 + 1844 ; 1803 + 1845 ; 2076 + 1846 ; 1655 + 1847 ; 1989 + 1848 ; 1877 + 1849 ; 1757 + 1850 ; 1859 + 1851 ; 170 + 1852 ; 2403 + 1853 ; 1821 + 1854 ; 2276 + 1855 ; 2053 + 1856 ; 2368 + 1857 ; 1997 + 1858 ; 1956 + 1859 ; 1853 + 1860 ; 2071 + 1861 ; 221 + 1862 ; 1683 + 1863 ; 1976 + 1864 ; 1734 + 1865 ; 2211 + 1866 ; 2290 + 1867 ; 2338 + 1868 ; 1832 + 1869 ; 1766 + 1870 ; 1797 + 1871 ; 247 + 1872 ; 1923 + 1873 ; 1891 + 1874 ; 1737 + 1875 ; 2008 + 1876 ; 1683 + 1877 ; 1804 + 1878 ; 1906 + 1879 ; 1707 + 1880 ; 1794 + 1881 ; 112 + 1882 ; 2351 + 1883 ; 2349 + 1884 ; 1646 + 1885 ; 1668 + 1886 ; 2036 + 1887 ; 2237 + 1888 ; 2209 + 1889 ; 1953 + 1890 ; 1685 + 1891 ; 215 + 1892 ; 1637 + 1893 ; 1644 + 1894 ; 1873 + 1895 ; 2183 + 1896 ; 1922 + 1897 ; 2301 + 1898 ; 1979 + 1899 ; 1620 + 1900 ; 1962 + 1901 ; 205 + 1902 ; 1837 + 1903 ; 1663 + 1904 ; 1658 + 1905 ; 2284 + 1906 ; 1931 + 1907 ; 1925 + 1908 ; 2398 + 1909 ; 2100 + 1910 ; 2122 + 1911 ; 114 + 1912 ; 1800 + 1913 ; 2300 + 1914 ; 1851 + 1915 ; 1975 + 1916 ; 2086 + 1917 ; 2274 + 1918 ; 2229 + 1919 ; 1867 + 1920 ; 2150 + 1921 ; 309 + 1922 ; 1852 + 1923 ; 2312 + 1924 ; 1927 + 1925 ; 1965 + 1926 ; 1974 + 1927 ; 2313 + 1928 ; 1713 + 1929 ; 1970 + 1930 ; 2137 + 1931 ; 195 + 1932 ; 1960 + 1933 ; 1856 + 1934 ; 2243 + 1935 ; 2248 + 1936 ; 2199 + 1937 ; 1968 + 1938 ; 2034 + 1939 ; 2207 + 1940 ; 1834 + 1941 ; 96 + 1942 ; 1653 + 1943 ; 1944 + 1944 ; 2164 + 1945 ; 2246 + 1946 ; 2069 + 1947 ; 2347 + 1948 ; 1856 + 1949 ; 2359 + 1950 ; 1772 + 1951 ; 213 + 1952 ; 1969 + 1953 ; 1958 + 1954 ; 2286 + 1955 ; 2154 + 1956 ; 2349 + 1957 ; 1739 + 1958 ; 1838 + 1959 ; 2358 + 1960 ; 1697 + 1961 ; 76 + 1962 ; 1636 + 1963 ; 2292 + 1964 ; 2400 + 1965 ; 1875 + 1966 ; 1679 + 1967 ; 1651 + 1968 ; 2232 + 1969 ; 2058 + 1970 ; 2210 + 1971 ; 107 + 1972 ; 2256 + 1973 ; 2320 + 1974 ; 1944 + 1975 ; 1758 + 1976 ; 2221 + 1977 ; 1802 + 1978 ; 2273 + 1979 ; 2286 + 1980 ; 2168 + 1981 ; 98 + 1982 ; 1855 + 1983 ; 2234 + 1984 ; 1693 + 1985 ; 2247 + 1986 ; 2210 + 1987 ; 1621 + 1988 ; 1751 + 1989 ; 1758 + 1990 ; 1885 + 1991 ; 81 + 1992 ; 2360 + 1993 ; 2153 + 1994 ; 1760 + 1995 ; 1900 + 1996 ; 1774 + 1997 ; 1739 + 1998 ; 2408 + 1999 ; 2336 + 2000 ; 2000 + 2001 ; 203 + 2002 ; 1948 + 2003 ; 1910 + 2004 ; 1612 + 2005 ; 1739 + 2006 ; 1738 + 2007 ; 1625 + 2008 ; 1760 + 2009 ; 2070 + 2010 ; 2335 + 2011 ; 292 + 2012 ; 1653 + 2013 ; 1894 + 2014 ; 2293 + 2015 ; 2310 + 2016 ; 2371 + 2017 ; 2127 + 2018 ; 1621 + 2019 ; 1924 + 2020 ; 1692 + 2021 ; 112 + 2022 ; 1989 + 2023 ; 1657 + 2024 ; 1896 + 2025 ; 2273 + 2026 ; 2308 + 2027 ; 2048 + 2028 ; 1634 + 2029 ; 2340 + 2030 ; 2191 + 2031 ; 176 + 2032 ; 1629 + 2033 ; 2212 + 2034 ; 2176 + 2035 ; 2180 + 2036 ; 1978 + 2037 ; 2186 + 2038 ; 2261 + 2039 ; 2090 + 2040 ; 2190 + 2041 ; 310 + 2042 ; 2026 + 2043 ; 1699 + 2044 ; 1906 + 2045 ; 1778 + 2046 ; 1651 + 2047 ; 1695 + 2048 ; 1913 + 2049 ; 1849 + 2050 ; 2360 + 2051 ; 239 + 2052 ; 2253 + 2053 ; 1971 + 2054 ; 2403 + 2055 ; 1810 + 2056 ; 1755 + 2057 ; 1830 + 2058 ; 1662 + 2059 ; 1989 + 2060 ; 1829 + 2061 ; 299 + 2062 ; 2229 + 2063 ; 2339 + 2064 ; 2359 + 2065 ; 2030 + 2066 ; 2023 + 2067 ; 2126 + 2068 ; 1968 + 2069 ; 2269 + 2070 ; 1644 + 2071 ; 87 + 2072 ; 1990 + 2073 ; 2162 + 2074 ; 1901 + 2075 ; 2042 + 2076 ; 1721 + 2077 ; 1890 + 2078 ; 1749 + 2079 ; 2122 + 2080 ; 1720 + 2081 ; 196 + 2082 ; 1670 + 2083 ; 2059 + 2084 ; 1913 + 2085 ; 1639 + 2086 ; 2356 + 2087 ; 1680 + 2088 ; 2286 + 2089 ; 1982 + 2090 ; 1960 + 2091 ; 205 + 2092 ; 2288 + 2093 ; 1951 + 2094 ; 1996 + 2095 ; 2202 + 2096 ; 2133 + 2097 ; 1682 + 2098 ; 2200 + 2099 ; 2400 + 2100 ; 1794 + 2101 ; 122 + 2102 ; 2337 + 2103 ; 2034 + 2104 ; 2162 + 2105 ; 2220 + 2106 ; 1805 + 2107 ; 2067 + 2108 ; 2075 + 2109 ; 2255 + 2110 ; 2198 + 2111 ; 126 + 2112 ; 2013 + 2113 ; 2110 + 2114 ; 1909 + 2115 ; 1880 + 2116 ; 1713 + 2117 ; 2203 + 2118 ; 2070 + 2119 ; 2253 + 2120 ; 2326 + 2121 ; 85 + 2122 ; 1624 + 2123 ; 1817 + 2124 ; 1758 + 2125 ; 1819 + 2126 ; 1988 + 2127 ; 2346 + 2128 ; 1870 + 2129 ; 2015 + 2130 ; 1828 + 2131 ; 116 + 2132 ; 2217 + 2133 ; 1716 + 2134 ; 1906 + 2135 ; 2002 + 2136 ; 2171 + 2137 ; 1760 + 2138 ; 2173 + 2139 ; 1708 + 2140 ; 1719 + 2141 ; 152 + 2142 ; 2126 + 2143 ; 1954 + 2144 ; 2052 + 2145 ; 1917 + 2146 ; 1827 + 2147 ; 2356 + 2148 ; 1822 + 2149 ; 2405 + 2150 ; 1870 + 2151 ; 149 + 2152 ; 1730 + 2153 ; 1968 + 2154 ; 1745 + 2155 ; 2286 + 2156 ; 2320 + 2157 ; 1655 + 2158 ; 2135 + 2159 ; 1918 + 2160 ; 1847 + 2161 ; 97 + 2162 ; 1862 + 2163 ; 2230 + 2164 ; 1713 + 2165 ; 2225 + 2166 ; 1732 + 2167 ; 1931 + 2168 ; 1850 + 2169 ; 1782 + 2170 ; 2071 + 2171 ; 108 + 2172 ; 1940 + 2173 ; 1642 + 2174 ; 2174 + 2175 ; 2411 + 2176 ; 1749 + 2177 ; 2252 + 2178 ; 1740 + 2179 ; 2040 + 2180 ; 1625 + 2181 ; 147 + 2182 ; 1926 + 2183 ; 1763 + 2184 ; 2132 + 2185 ; 2283 + 2186 ; 2306 + 2187 ; 1706 + 2188 ; 1709 + 2189 ; 2161 + 2190 ; 2408 + 2191 ; 102 + 2192 ; 1986 + 2193 ; 2384 + 2194 ; 1933 + 2195 ; 2200 + 2196 ; 2250 + 2197 ; 1922 + 2198 ; 1661 + 2199 ; 1687 + 2200 ; 1818 + 2201 ; 129 + 2202 ; 2337 + 2203 ; 2368 + 2204 ; 2317 + 2205 ; 2110 + 2206 ; 2404 + 2207 ; 1907 + 2208 ; 1766 + 2209 ; 2046 + 2210 ; 2151 + 2211 ; 218 + 2212 ; 2126 + 2213 ; 2183 + 2214 ; 1849 + 2215 ; 2088 + 2216 ; 2178 + 2217 ; 2170 + 2218 ; 2225 + 2219 ; 2081 + 2220 ; 2305 + 2221 ; 261 + 2222 ; 1951 + 2223 ; 1661 + 2224 ; 2138 + 2225 ; 1882 + 2226 ; 2411 + 2227 ; 1916 + 2228 ; 2001 + 2229 ; 2074 + 2230 ; 2372 + 2231 ; 255 + 2232 ; 1841 + 2233 ; 2060 + 2234 ; 1830 + 2235 ; 2220 + 2236 ; 2062 + 2237 ; 1765 + 2238 ; 1853 + 2239 ; 1869 + 2240 ; 2383 + 2241 ; 271 + 2242 ; 1870 + 2243 ; 2302 + 2244 ; 2076 + 2245 ; 2287 + 2246 ; 2331 + 2247 ; 2367 + 2248 ; 2246 + 2249 ; 1733 + 2250 ; 2252 + 2251 ; 110 + 2252 ; 2129 + 2253 ; 2241 + 2254 ; 2009 + 2255 ; 2094 + 2256 ; 2213 + 2257 ; 1912 + 2258 ; 2075 + 2259 ; 2099 + 2260 ; 1735 + 2261 ; 293 + 2262 ; 1766 + 2263 ; 2050 + 2264 ; 1750 + 2265 ; 2037 + 2266 ; 1848 + 2267 ; 1667 + 2268 ; 1976 + 2269 ; 2360 + 2270 ; 1803 + 2271 ; 208 + 2272 ; 1924 + 2273 ; 2327 + 2274 ; 1971 + 2275 ; 2290 + 2276 ; 2116 + 2277 ; 2046 + 2278 ; 2319 + 2279 ; 1893 + 2280 ; 2385 + 2281 ; 230 + 2282 ; 2249 + 2283 ; 2359 + 2284 ; 1853 + 2285 ; 2123 + 2286 ; 2407 + 2287 ; 2141 + 2288 ; 2012 + 2289 ; 1630 + 2290 ; 2277 + 2291 ; 270 + 2292 ; 1907 + 2293 ; 2146 + 2294 ; 2181 + 2295 ; 1943 + 2296 ; 1826 + 2297 ; 1795 + 2298 ; 1935 + 2299 ; 2002 + 2300 ; 1712 + 2301 ; 103 + 2302 ; 2147 + 2303 ; 1774 + 2304 ; 1612 + 2305 ; 1850 + 2306 ; 1877 + 2307 ; 1923 + 2308 ; 2246 + 2309 ; 1617 + 2310 ; 2093 + 2311 ; 112 + 2312 ; 1654 + 2313 ; 2101 + 2314 ; 1857 + 2315 ; 1681 + 2316 ; 2373 + 2317 ; 1792 + 2318 ; 1699 + 2319 ; 1859 + 2320 ; 1753 + 2321 ; 237 + 2322 ; 2142 + 2323 ; 2081 + 2324 ; 2057 + 2325 ; 1665 + 2326 ; 2235 + 2327 ; 2157 + 2328 ; 2091 + 2329 ; 2306 + 2330 ; 2092 + 2331 ; 214 + 2332 ; 1943 + 2333 ; 1959 + 2334 ; 2154 + 2335 ; 1766 + 2336 ; 1936 + 2337 ; 2085 + 2338 ; 1698 + 2339 ; 2207 + 2340 ; 1943 + 2341 ; 261 + 2342 ; 2375 + 2343 ; 2206 + 2344 ; 2106 + 2345 ; 1633 + 2346 ; 2174 + 2347 ; 2409 + 2348 ; 1986 + 2349 ; 1891 + 2350 ; 1952 + 2351 ; 217 + 2352 ; 1720 + 2353 ; 1675 + 2354 ; 1727 + 2355 ; 2144 + 2356 ; 2041 + 2357 ; 2319 + 2358 ; 2041 + 2359 ; 1992 + 2360 ; 1999 + 2361 ; 129 + 2362 ; 2302 + 2363 ; 1751 + 2364 ; 1793 + 2365 ; 1820 + 2366 ; 2136 + 2367 ; 1811 + 2368 ; 2224 + 2369 ; 2285 + 2370 ; 1930 + 2371 ; 268 + 2372 ; 1653 + 2373 ; 1890 + 2374 ; 2373 + 2375 ; 1790 + 2376 ; 1927 + 2377 ; 2402 + 2378 ; 1841 + 2379 ; 2116 + 2380 ; 1882 + 2381 ; 108 + 2382 ; 2403 + 2383 ; 1768 + 2384 ; 1675 + 2385 ; 2158 + 2386 ; 1870 + 2387 ; 2268 + 2388 ; 1648 + 2389 ; 1932 + 2390 ; 1629 + 2391 ; 129 + 2392 ; 1647 + 2393 ; 2190 + 2394 ; 2372 + 2395 ; 2308 + 2396 ; 1679 + 2397 ; 1961 + 2398 ; 1695 + 2399 ; 1710 + 2400 ; 2041 + 2401 ; 234 + 2402 ; 1794 + 2403 ; 1650 + 2404 ; 2035 + 2405 ; 1805 + 2406 ; 1855 + 2407 ; 2314 + 2408 ; 1633 + 2409 ; 2050 + 2410 ; 2191 + 2411 ; 86 + 2412 ; 2282 + 2413 ; 2286 + 2414 ; 2259 + 2415 ; 2192 + 2416 ; 1989 + 2417 ; 2104 + 2418 ; 2410 + 2419 ; 1655 + 2420 ; 2356 + 2421 ; 244 + 2422 ; 1793 + 2423 ; 2319 + 2424 ; 2265 + 2425 ; 2406 + 2426 ; 1882 + 2427 ; 1881 + 2428 ; 2173 + 2429 ; 2099 + 2430 ; 2199 + 2431 ; 156 + 2432 ; 2048 + 2433 ; 1634 + 2434 ; 2041 + 2435 ; 2129 + 2436 ; 1720 + 2437 ; 1699 + 2438 ; 1839 + 2439 ; 2198 + 2440 ; 2149 + 2441 ; 168 + 2442 ; 2128 + 2443 ; 1627 + 2444 ; 2271 + 2445 ; 2277 + 2446 ; 2223 + 2447 ; 2227 + 2448 ; 2104 + 2449 ; 1922 + 2450 ; 2342 + 2451 ; 192 + 2452 ; 1623 + 2453 ; 1616 + 2454 ; 2087 + 2455 ; 1867 + 2456 ; 1996 + 2457 ; 2057 + 2458 ; 1988 + 2459 ; 1867 + 2460 ; 2174 + 2461 ; 280 + 2462 ; 1749 + 2463 ; 1798 + 2464 ; 2142 + 2465 ; 1779 + 2466 ; 1780 + 2467 ; 2142 + 2468 ; 2049 + 2469 ; 2128 + 2470 ; 2112 + 2471 ; 280 + 2472 ; 1790 + 2473 ; 1924 + 2474 ; 2007 + 2475 ; 1966 + 2476 ; 1927 + 2477 ; 2253 + 2478 ; 2099 + 2479 ; 1732 + 2480 ; 1760 + 2481 ; 192 + 2482 ; 2173 + 2483 ; 2126 + 2484 ; 1736 + 2485 ; 1714 + 2486 ; 2319 + 2487 ; 1908 + 2488 ; 2152 + 2489 ; 2043 + 2490 ; 2183 + 2491 ; 273 + 2492 ; 1815 + 2493 ; 2027 + 2494 ; 2141 + 2495 ; 1763 + 2496 ; 1926 + 2497 ; 2395 + 2498 ; 2237 + 2499 ; 2098 + 2500 ; 1809 + 2501 ; 131 + 2502 ; 2204 + 2503 ; 1865 + 2504 ; 1807 + 2505 ; 2240 + 2506 ; 2230 + 2507 ; 1734 + 2508 ; 2055 + 2509 ; 1686 + 2510 ; 1747 + 2511 ; 192 + 2512 ; 2065 + 2513 ; 1902 + 2514 ; 2192 + 2515 ; 2061 + 2516 ; 1628 + 2517 ; 1890 + 2518 ; 1787 + 2519 ; 1723 + 2520 ; 1645 + 2521 ; 270 + 2522 ; 1857 + 2523 ; 2229 + 2524 ; 2074 + 2525 ; 2013 + 2526 ; 2160 + 2527 ; 2359 + 2528 ; 1612 + 2529 ; 2141 + 2530 ; 2178 + 2531 ; 284 + 2532 ; 2402 + 2533 ; 1877 + 2534 ; 2123 + 2535 ; 2083 + 2536 ; 1920 + 2537 ; 2030 + 2538 ; 1717 + 2539 ; 1888 + 2540 ; 1697 + 2541 ; 172 + 2542 ; 2290 + 2543 ; 2004 + 2544 ; 1890 + 2545 ; 2115 + 2546 ; 2332 + 2547 ; 2172 + 2548 ; 1987 + 2549 ; 2311 + 2550 ; 2079 + 2551 ; 260 + 2552 ; 1850 + 2553 ; 1998 + 2554 ; 1890 + 2555 ; 2379 + 2556 ; 2361 + 2557 ; 2070 + 2558 ; 2303 + 2559 ; 2040 + 2560 ; 2042 + 2561 ; 194 + 2562 ; 2236 + 2563 ; 2352 + 2564 ; 1921 + 2565 ; 1875 + 2566 ; 2317 + 2567 ; 2383 + 2568 ; 1782 + 2569 ; 1801 + 2570 ; 1907 + 2571 ; 163 + 2572 ; 1961 + 2573 ; 2318 + 2574 ; 2059 + 2575 ; 2257 + 2576 ; 2365 + 2577 ; 1886 + 2578 ; 1818 + 2579 ; 2243 + 2580 ; 1945 + 2581 ; 179 + 2582 ; 2124 + 2583 ; 1750 + 2584 ; 2376 + 2585 ; 2052 + 2586 ; 1717 + 2587 ; 1843 + 2588 ; 2260 + 2589 ; 2229 + 2590 ; 1700 + 2591 ; 118 + 2592 ; 1819 + 2593 ; 1760 + 2594 ; 2199 + 2595 ; 1730 + 2596 ; 1692 + 2597 ; 1612 + 2598 ; 2116 + 2599 ; 1623 + 2600 ; 2407 + 2601 ; 75 + 2602 ; 2289 + 2603 ; 1879 + 2604 ; 1862 + 2605 ; 2083 + 2606 ; 1689 + 2607 ; 2387 + 2608 ; 1791 + 2609 ; 1742 + 2610 ; 1955 + 2611 ; 108 + 2612 ; 2002 + 2613 ; 1623 + 2614 ; 2018 + 2615 ; 1784 + 2616 ; 2051 + 2617 ; 2164 + 2618 ; 1658 + 2619 ; 1713 + 2620 ; 2302 + 2621 ; 269 + 2622 ; 2396 + 2623 ; 1715 + 2624 ; 2383 + 2625 ; 2373 + 2626 ; 2409 + 2627 ; 2031 + 2628 ; 2187 + 2629 ; 2018 + 2630 ; 1948 + 2631 ; 191 + 2632 ; 1811 + 2633 ; 2284 + 2634 ; 1955 + 2635 ; 2381 + 2636 ; 1620 + 2637 ; 2360 + 2638 ; 1643 + 2639 ; 2303 + 2640 ; 1654 + 2641 ; 95 + 2642 ; 1798 + 2643 ; 1892 + 2644 ; 2403 + 2645 ; 1699 + 2646 ; 1690 + 2647 ; 2262 + 2648 ; 2121 + 2649 ; 1665 + 2650 ; 2003 + 2651 ; 126 + 2652 ; 2406 + 2653 ; 2155 + 2654 ; 2228 + 2655 ; 1913 + 2656 ; 1897 + 2657 ; 2026 + 2658 ; 1917 + 2659 ; 1768 + 2660 ; 1973 + 2661 ; 110 + 2662 ; 2347 + 2663 ; 2014 + 2664 ; 2390 + 2665 ; 1982 + 2666 ; 1944 + 2667 ; 1860 + 2668 ; 2144 + 2669 ; 1729 + 2670 ; 2046 + 2671 ; 274 + 2672 ; 1615 + 2673 ; 2107 + 2674 ; 2361 + 2675 ; 1923 + 2676 ; 2117 + 2677 ; 2362 + 2678 ; 1789 + 2679 ; 1915 + 2680 ; 1832 + 2681 ; 136 + 2682 ; 2082 + 2683 ; 2341 + 2684 ; 2091 + 2685 ; 2232 + 2686 ; 2192 + 2687 ; 1883 + 2688 ; 2240 + 2689 ; 2024 + 2690 ; 1750 + 2691 ; 151 + 2692 ; 1629 + 2693 ; 2016 + 2694 ; 1652 + 2695 ; 1729 + 2696 ; 2217 + 2697 ; 2362 + 2698 ; 2222 + 2699 ; 2146 + 2700 ; 2050 + 2701 ; 107 + 2702 ; 2071 + 2703 ; 1805 + 2704 ; 1777 + 2705 ; 2409 + 2706 ; 2329 + 2707 ; 2300 + 2708 ; 1733 + 2709 ; 1931 + 2710 ; 1637 + 2711 ; 226 + 2712 ; 2311 + 2713 ; 2273 + 2714 ; 2073 + 2715 ; 2230 + 2716 ; 2169 + 2717 ; 2280 + 2718 ; 2203 + 2719 ; 1842 + 2720 ; 1666 + 2721 ; 257 + 2722 ; 1723 + 2723 ; 1756 + 2724 ; 1645 + 2725 ; 1897 + 2726 ; 2316 + 2727 ; 1701 + 2728 ; 2239 + 2729 ; 1967 + 2730 ; 2369 + 2731 ; 302 + 2732 ; 1835 + 2733 ; 2334 + 2734 ; 2018 + 2735 ; 1699 + 2736 ; 1623 + 2737 ; 2379 + 2738 ; 1735 + 2739 ; 1674 + 2740 ; 1727 + 2741 ; 269 + 2742 ; 1626 + 2743 ; 1969 + 2744 ; 1989 + 2745 ; 2144 + 2746 ; 2131 + 2747 ; 1692 + 2748 ; 2358 + 2749 ; 2370 + 2750 ; 2203 + 2751 ; 93 + 2752 ; 2067 + 2753 ; 1704 + 2754 ; 1938 + 2755 ; 2166 + 2756 ; 2293 + 2757 ; 2245 + 2758 ; 1833 + 2759 ; 1814 + 2760 ; 1762 + 2761 ; 200 + 2762 ; 2122 + 2763 ; 2096 + 2764 ; 2189 + 2765 ; 1933 + 2766 ; 1731 + 2767 ; 1681 + 2768 ; 1744 + 2769 ; 1642 + 2770 ; 1898 + 2771 ; 310 + 2772 ; 2172 + 2773 ; 2057 + 2774 ; 2002 + 2775 ; 2272 + 2776 ; 1738 + 2777 ; 2086 + 2778 ; 2068 + 2779 ; 2101 + 2780 ; 2016 + 2781 ; 280 + 2782 ; 2021 + 2783 ; 1995 + 2784 ; 2055 + 2785 ; 1719 + 2786 ; 2254 + 2787 ; 2235 + 2788 ; 1801 + 2789 ; 1849 + 2790 ; 2199 + 2791 ; 299 + 2792 ; 1887 + 2793 ; 2064 + 2794 ; 1657 + 2795 ; 1735 + 2796 ; 1895 + 2797 ; 2142 + 2798 ; 1756 + 2799 ; 1909 + 2800 ; 1869 + 2801 ; 94 + 2802 ; 1782 + 2803 ; 1944 + 2804 ; 2163 + 2805 ; 2268 + 2806 ; 2023 + 2807 ; 2193 + 2808 ; 2295 + 2809 ; 2315 + 2810 ; 2261 + 2811 ; 130 + 2812 ; 2054 + 2813 ; 1709 + 2814 ; 1878 + 2815 ; 2173 + 2816 ; 2093 + 2817 ; 2051 + 2818 ; 1810 + 2819 ; 2411 + 2820 ; 1848 + 2821 ; 92 + 2822 ; 1742 + 2823 ; 2317 + 2824 ; 1856 + 2825 ; 2115 + 2826 ; 2264 + 2827 ; 1848 + 2828 ; 2206 + 2829 ; 2222 + 2830 ; 2185 + 2831 ; 143 + 2832 ; 2237 + 2833 ; 2069 + 2834 ; 1935 + 2835 ; 1790 + 2836 ; 1721 + 2837 ; 1840 + 2838 ; 1937 + 2839 ; 1651 + 2840 ; 1695 + 2841 ; 87 + 2842 ; 2042 + 2843 ; 2257 + 2844 ; 1975 + 2845 ; 2182 + 2846 ; 1797 + 2847 ; 1750 + 2848 ; 1639 + 2849 ; 2323 + 2850 ; 2185 + 2851 ; 272 + 2852 ; 2396 + 2853 ; 2334 + 2854 ; 2189 + 2855 ; 1658 + 2856 ; 2200 + 2857 ; 1737 + 2858 ; 1621 + 2859 ; 1937 + 2860 ; 2350 + 2861 ; 95 + 2862 ; 1988 + 2863 ; 2343 + 2864 ; 1653 + 2865 ; 1780 + 2866 ; 2009 + 2867 ; 2211 + 2868 ; 2226 + 2869 ; 2140 + 2870 ; 2277 + 2871 ; 276 + 2872 ; 2280 + 2873 ; 1828 + 2874 ; 2011 + 2875 ; 1849 + 2876 ; 1616 + 2877 ; 1647 + 2878 ; 1981 + 2879 ; 1809 + 2880 ; 1838 + 2881 ; 212 + 2882 ; 1870 + 2883 ; 2373 + 2884 ; 2232 + 2885 ; 2225 + 2886 ; 1748 + 2887 ; 2147 + 2888 ; 1635 + 2889 ; 2305 + 2890 ; 2141 + 2891 ; 172 + 2892 ; 1920 + 2893 ; 1936 + 2894 ; 2209 + 2895 ; 2140 + 2896 ; 1867 + 2897 ; 1661 + 2898 ; 2275 + 2899 ; 2206 + 2900 ; 2268 + 2901 ; 169 + 2902 ; 1973 + 2903 ; 1841 + 2904 ; 2111 + 2905 ; 2203 + 2906 ; 2144 + 2907 ; 2172 + 2908 ; 2219 + 2909 ; 1824 + 2910 ; 2272 + 2911 ; 261 + 2912 ; 2224 + 2913 ; 2307 + 2914 ; 2081 + 2915 ; 1870 + 2916 ; 2268 + 2917 ; 1688 + 2918 ; 1952 + 2919 ; 2397 + 2920 ; 1776 + 2921 ; 132 + 2922 ; 2120 + 2923 ; 1624 + 2924 ; 2152 + 2925 ; 1929 + 2926 ; 2391 + 2927 ; 2128 + 2928 ; 2194 + 2929 ; 1691 + 2930 ; 1829 + 2931 ; 108 + 2932 ; 1942 + 2933 ; 2079 + 2934 ; 2298 + 2935 ; 2304 + 2936 ; 2083 + 2937 ; 2018 + 2938 ; 1962 + 2939 ; 2208 + 2940 ; 2382 + 2941 ; 84 + 2942 ; 1653 + 2943 ; 2264 + 2944 ; 2101 + 2945 ; 1976 + 2946 ; 1763 + 2947 ; 1794 + 2948 ; 1786 + 2949 ; 1845 + 2950 ; 2102 + 2951 ; 134 + 2952 ; 2316 + 2953 ; 2060 + 2954 ; 1817 + 2955 ; 2252 + 2956 ; 1706 + 2957 ; 2259 + 2958 ; 2270 + 2959 ; 2129 + 2960 ; 1762 + 2961 ; 279 + 2962 ; 1643 + 2963 ; 2213 + 2964 ; 1983 + 2965 ; 2223 + 2966 ; 2025 + 2967 ; 1908 + 2968 ; 1714 + 2969 ; 1704 + 2970 ; 2098 + 2971 ; 207 + 2972 ; 1846 + 2973 ; 2206 + 2974 ; 2110 + 2975 ; 2287 + 2976 ; 2096 + 2977 ; 2096 + 2978 ; 2221 + 2979 ; 2347 + 2980 ; 1719 + 2981 ; 202 + 2982 ; 1780 + 2983 ; 1775 + 2984 ; 2407 + 2985 ; 2156 + 2986 ; 1766 + 2987 ; 1699 + 2988 ; 2107 + 2989 ; 1646 + 2990 ; 2234 + 2991 ; 154 + 2992 ; 1651 + 2993 ; 1656 + 2994 ; 2126 + 2995 ; 1627 + 2996 ; 2375 + 2997 ; 2183 + 2998 ; 1640 + 2999 ; 2175 + 3000 ; 1918 + 3001 ; 97 + 3002 ; 2071 + 3003 ; 1900 + 3004 ; 1892 + 3005 ; 2042 + 3006 ; 1642 + 3007 ; 2352 + 3008 ; 1697 + 3009 ; 2038 + 3010 ; 1731 + 3011 ; 88 + 3012 ; 1954 + 3013 ; 2000 + 3014 ; 1967 + 3015 ; 1868 + 3016 ; 2294 + 3017 ; 2074 + 3018 ; 2027 + 3019 ; 1647 + 3020 ; 1800 + 3021 ; 265 + 3022 ; 2255 + 3023 ; 2125 + 3024 ; 1647 + 3025 ; 1908 + 3026 ; 1879 + 3027 ; 2212 + 3028 ; 1790 + 3029 ; 2367 + 3030 ; 2117 + 3031 ; 241 + 3032 ; 1837 + 3033 ; 1686 + 3034 ; 2214 + 3035 ; 2159 + 3036 ; 2295 + 3037 ; 2372 + 3038 ; 1775 + 3039 ; 1803 + 3040 ; 2143 + 3041 ; 147 + 3042 ; 2200 + 3043 ; 1794 + 3044 ; 2014 + 3045 ; 2405 + 3046 ; 2009 + 3047 ; 1772 + 3048 ; 2305 + 3049 ; 1838 + 3050 ; 1631 + 3051 ; 159 + 3052 ; 1710 + 3053 ; 2370 + 3054 ; 2175 + 3055 ; 1841 + 3056 ; 1826 + 3057 ; 2286 + 3058 ; 1744 + 3059 ; 1640 + 3060 ; 1902 + 3061 ; 76 + 3062 ; 1740 + 3063 ; 2324 + 3064 ; 2302 + 3065 ; 1882 + 3066 ; 1867 + 3067 ; 1923 + 3068 ; 1844 + 3069 ; 2125 + 3070 ; 2102 + 3071 ; 262 + 3072 ; 2347 + 3073 ; 2216 + 3074 ; 1626 + 3075 ; 2191 + 3076 ; 1664 + 3077 ; 1791 + 3078 ; 1658 + 3079 ; 2071 + 3080 ; 2186 + 3081 ; 228 + 3082 ; 2379 + 3083 ; 2284 + 3084 ; 1647 + 3085 ; 2399 + 3086 ; 2137 + 3087 ; 1704 + 3088 ; 1794 + 3089 ; 1644 + 3090 ; 2258 + 3091 ; 267 + 3092 ; 1619 + 3093 ; 2138 + 3094 ; 2073 + 3095 ; 1621 + 3096 ; 1876 + 3097 ; 1903 + 3098 ; 1648 + 3099 ; 1688 + 3100 ; 1628 + 3101 ; 151 + 3102 ; 2227 + 3103 ; 1966 + 3104 ; 2403 + 3105 ; 1857 + 3106 ; 1753 + 3107 ; 2041 + 3108 ; 1998 + 3109 ; 2271 + 3110 ; 1631 + 3111 ; 149 + 3112 ; 1804 + 3113 ; 2031 + 3114 ; 1769 + 3115 ; 1835 + 3116 ; 2169 + 3117 ; 2027 + 3118 ; 2257 + 3119 ; 2018 + 3120 ; 1907 + 3121 ; 271 + 3122 ; 2332 + 3123 ; 1719 + 3124 ; 1815 + 3125 ; 2098 + 3126 ; 2063 + 3127 ; 2235 + 3128 ; 2202 + 3129 ; 2331 + 3130 ; 1626 + 3131 ; 149 + 3132 ; 2067 + 3133 ; 2111 + 3134 ; 2189 + 3135 ; 1963 + 3136 ; 2221 + 3137 ; 1859 + 3138 ; 2227 + 3139 ; 2016 + 3140 ; 2178 + 3141 ; 196 + 3142 ; 1783 + 3143 ; 2277 + 3144 ; 1728 + 3145 ; 1954 + 3146 ; 1642 + 3147 ; 1789 + 3148 ; 2022 + 3149 ; 1773 + 3150 ; 1880 + 3151 ; 289 + 3152 ; 1975 + 3153 ; 1808 + 3154 ; 2162 + 3155 ; 1964 + 3156 ; 1930 + 3157 ; 2182 + 3158 ; 2095 + 3159 ; 1991 + 3160 ; 2375 + 3161 ; 217 + 3162 ; 1989 + 3163 ; 2035 + 3164 ; 1951 + 3165 ; 1917 + 3166 ; 2354 + 3167 ; 1662 + 3168 ; 1786 + 3169 ; 1931 + 3170 ; 1632 + 3171 ; 312 + 3172 ; 1919 + 3173 ; 1889 + 3174 ; 1975 + 3175 ; 1633 + 3176 ; 2211 + 3177 ; 2223 + 3178 ; 2317 + 3179 ; 2133 + 3180 ; 2151 + 3181 ; 165 + 3182 ; 2246 + 3183 ; 1876 + 3184 ; 1681 + 3185 ; 2258 + 3186 ; 1850 + 3187 ; 2039 + 3188 ; 2021 + 3189 ; 2295 + 3190 ; 2014 + 3191 ; 221 + 3192 ; 1635 + 3193 ; 2194 + 3194 ; 1921 + 3195 ; 2195 + 3196 ; 1681 + 3197 ; 2398 + 3198 ; 2181 + 3199 ; 1858 + 3200 ; 2066 + 3201 ; 207 + 3202 ; 1966 + 3203 ; 2245 + 3204 ; 2260 + 3205 ; 2387 + 3206 ; 2059 + 3207 ; 1850 + 3208 ; 1623 + 3209 ; 2042 + 3210 ; 1702 + 3211 ; 299 + 3212 ; 1906 + 3213 ; 2321 + 3214 ; 1614 + 3215 ; 2223 + 3216 ; 2116 + 3217 ; 1786 + 3218 ; 1970 + 3219 ; 2226 + 3220 ; 2053 + 3221 ; 256 + 3222 ; 1887 + 3223 ; 1795 + 3224 ; 1962 + 3225 ; 1874 + 3226 ; 1917 + 3227 ; 1626 + 3228 ; 1939 + 3229 ; 1879 + 3230 ; 1913 + 3231 ; 277 + 3232 ; 1808 + 3233 ; 2249 + 3234 ; 1800 + 3235 ; 2269 + 3236 ; 2104 + 3237 ; 1878 + 3238 ; 2103 + 3239 ; 2402 + 3240 ; 2194 + 3241 ; 280 + 3242 ; 1736 + 3243 ; 1838 + 3244 ; 1824 + 3245 ; 1647 + 3246 ; 1735 + 3247 ; 1696 + 3248 ; 1989 + 3249 ; 2211 + 3250 ; 1706 + 3251 ; 166 + 3252 ; 1933 + 3253 ; 1730 + 3254 ; 2224 + 3255 ; 2139 + 3256 ; 1678 + 3257 ; 2076 + 3258 ; 2034 + 3259 ; 2329 + 3260 ; 2342 + 3261 ; 104 + 3262 ; 1738 + 3263 ; 1653 + 3264 ; 2004 + 3265 ; 1615 + 3266 ; 1895 + 3267 ; 2378 + 3268 ; 2379 + 3269 ; 1654 + 3270 ; 2367 + 3271 ; 154 + 3272 ; 2123 + 3273 ; 2000 + 3274 ; 2233 + 3275 ; 1653 + 3276 ; 2309 + 3277 ; 1750 + 3278 ; 1968 + 3279 ; 2401 + 3280 ; 2016 + 3281 ; 134 + 3282 ; 1817 + 3283 ; 1808 + 3284 ; 2370 + 3285 ; 2073 + 3286 ; 2299 + 3287 ; 1848 + 3288 ; 1827 + 3289 ; 2220 + 3290 ; 1808 + 3291 ; 220 + 3292 ; 1939 + 3293 ; 2122 + 3294 ; 1771 + 3295 ; 1922 + 3296 ; 1848 + 3297 ; 1773 + 3298 ; 1709 + 3299 ; 2366 + 3300 ; 2139 + 3301 ; 85 + 3302 ; 1700 + 3303 ; 2261 + 3304 ; 2277 + 3305 ; 2053 + 3306 ; 1776 + 3307 ; 2119 + 3308 ; 2318 + 3309 ; 2025 + 3310 ; 1665 + 3311 ; 134 + 3312 ; 2048 + 3313 ; 1966 + 3314 ; 1770 + 3315 ; 2051 + 3316 ; 2311 + 3317 ; 1792 + 3318 ; 2270 + 3319 ; 1963 + 3320 ; 2180 + 3321 ; 293 + 3322 ; 1743 + 3323 ; 1729 + 3324 ; 1678 + 3325 ; 1922 + 3326 ; 2171 + 3327 ; 2263 + 3328 ; 1989 + 3329 ; 2212 + 3330 ; 2099 + 3331 ; 227 + 3332 ; 2178 + 3333 ; 1733 + 3334 ; 2155 + 3335 ; 1938 + 3336 ; 2020 + 3337 ; 2291 + 3338 ; 2390 + 3339 ; 2049 + 3340 ; 1618 + 3341 ; 296 + 3342 ; 2377 + 3343 ; 2024 + 3344 ; 2209 + 3345 ; 1988 + 3346 ; 2357 + 3347 ; 2153 + 3348 ; 1657 + 3349 ; 1906 + 3350 ; 2028 + 3351 ; 212 + 3352 ; 1854 + 3353 ; 2307 + 3354 ; 1912 + 3355 ; 1997 + 3356 ; 1631 + 3357 ; 2312 + 3358 ; 2148 + 3359 ; 2026 + 3360 ; 2014 + 3361 ; 289 + 3362 ; 1634 + 3363 ; 1739 + 3364 ; 1770 + 3365 ; 1783 + 3366 ; 1668 + 3367 ; 2020 + 3368 ; 2335 + 3369 ; 1693 + 3370 ; 1835 + 3371 ; 80 + 3372 ; 2010 + 3373 ; 2407 + 3374 ; 1642 + 3375 ; 1940 + 3376 ; 1660 + 3377 ; 2151 + 3378 ; 2258 + 3379 ; 2313 + 3380 ; 1618 + 3381 ; 272 + 3382 ; 2364 + 3383 ; 1733 + 3384 ; 2348 + 3385 ; 2164 + 3386 ; 2155 + 3387 ; 1898 + 3388 ; 2013 + 3389 ; 1618 + 3390 ; 2018 + 3391 ; 150 + 3392 ; 1665 + 3393 ; 1743 + 3394 ; 2311 + 3395 ; 1667 + 3396 ; 2212 + 3397 ; 1850 + 3398 ; 2271 + 3399 ; 1853 + 3400 ; 1896 + 3401 ; 201 + 3402 ; 2123 + 3403 ; 2220 + 3404 ; 2253 + 3405 ; 2365 + 3406 ; 1962 + 3407 ; 2077 + 3408 ; 2070 + 3409 ; 2188 + 3410 ; 2249 + 3411 ; 176 + 3412 ; 2227 + 3413 ; 2148 + 3414 ; 1734 + 3415 ; 2054 + 3416 ; 1783 + 3417 ; 2379 + 3418 ; 2412 + 3419 ; 1903 + 3420 ; 1790 + 3421 ; 257 + 3422 ; 2353 + 3423 ; 2072 + 3424 ; 2406 + 3425 ; 1864 + 3426 ; 2113 + 3427 ; 2202 + 3428 ; 2237 + 3429 ; 2069 + 3430 ; 2143 + 3431 ; 193 + 3432 ; 2050 + 3433 ; 2034 + 3434 ; 1958 + 3435 ; 2300 + 3436 ; 1984 + 3437 ; 1682 + 3438 ; 2341 + 3439 ; 1714 + 3440 ; 1871 + 3441 ; 214 + 3442 ; 2199 + 3443 ; 2228 + 3444 ; 1706 + 3445 ; 2076 + 3446 ; 2056 + 3447 ; 2386 + 3448 ; 2082 + 3449 ; 2219 + 3450 ; 1899 + 3451 ; 138 + 3452 ; 2057 + 3453 ; 1843 + 3454 ; 2162 + 3455 ; 1869 + 3456 ; 1765 + 3457 ; 2134 + 3458 ; 1782 + 3459 ; 1760 + 3460 ; 1975 + 3461 ; 128 + 3462 ; 2021 + 3463 ; 1981 + 3464 ; 2104 + 3465 ; 2110 + 3466 ; 2068 + 3467 ; 1936 + 3468 ; 2227 + 3469 ; 1685 + 3470 ; 1808 + 3471 ; 299 + 3472 ; 1965 + 3473 ; 1987 + 3474 ; 2397 + 3475 ; 1762 + 3476 ; 1980 + 3477 ; 1729 + 3478 ; 2322 + 3479 ; 1802 + 3480 ; 2040 + 3481 ; 209 + 3482 ; 1947 + 3483 ; 2048 + 3484 ; 1897 + 3485 ; 1885 + 3486 ; 2360 + 3487 ; 1625 + 3488 ; 2330 + 3489 ; 2318 + 3490 ; 2071 + 3491 ; 174 + 3492 ; 2177 + 3493 ; 2266 + 3494 ; 1772 + 3495 ; 1688 + 3496 ; 1848 + 3497 ; 2387 + 3498 ; 1986 + 3499 ; 2210 + 3500 ; 1910 + 3501 ; 90 + 3502 ; 1910 + 3503 ; 1890 + 3504 ; 1686 + 3505 ; 1875 + 3506 ; 2115 + 3507 ; 2235 + 3508 ; 1631 + 3509 ; 1880 + 3510 ; 2036 + 3511 ; 113 + 3512 ; 1784 + 3513 ; 2022 + 3514 ; 1779 + 3515 ; 1705 + 3516 ; 2391 + 3517 ; 1711 + 3518 ; 1961 + 3519 ; 2144 + 3520 ; 2006 + 3521 ; 202 + 3522 ; 1960 + 3523 ; 1953 + 3524 ; 2345 + 3525 ; 1782 + 3526 ; 2073 + 3527 ; 1865 + 3528 ; 1691 + 3529 ; 2056 + 3530 ; 1830 + 3531 ; 224 + 3532 ; 2064 + 3533 ; 2376 + 3534 ; 2351 + 3535 ; 2358 + 3536 ; 1688 + 3537 ; 2326 + 3538 ; 1818 + 3539 ; 2178 + 3540 ; 2193 + 3541 ; 77 + 3542 ; 1649 + 3543 ; 1695 + 3544 ; 1941 + 3545 ; 1847 + 3546 ; 1737 + 3547 ; 1876 + 3548 ; 1843 + 3549 ; 1815 + 3550 ; 1995 + 3551 ; 130 + 3552 ; 2044 + 3553 ; 1619 + 3554 ; 1642 + 3555 ; 1764 + 3556 ; 2170 + 3557 ; 2325 + 3558 ; 2063 + 3559 ; 2103 + 3560 ; 2073 + 3561 ; 282 + 3562 ; 1872 + 3563 ; 2350 + 3564 ; 1937 + 3565 ; 2141 + 3566 ; 2140 + 3567 ; 1693 + 3568 ; 2163 + 3569 ; 2204 + 3570 ; 2220 + 3571 ; 109 + 3572 ; 1675 + 3573 ; 1777 + 3574 ; 1837 + 3575 ; 2081 + 3576 ; 2020 + 3577 ; 1984 + 3578 ; 1708 + 3579 ; 1961 + 3580 ; 2100 + 3581 ; 215 + 3582 ; 2406 + 3583 ; 1822 + 3584 ; 2289 + 3585 ; 2401 + 3586 ; 1912 + 3587 ; 2060 + 3588 ; 2127 + 3589 ; 1995 + 3590 ; 2041 + 3591 ; 259 + 3592 ; 1843 + 3593 ; 2391 + 3594 ; 2001 + 3595 ; 2194 + 3596 ; 1946 + 3597 ; 1697 + 3598 ; 1740 + 3599 ; 2275 + 3600 ; 2290 + 3601 ; 279 + 3602 ; 2130 + 3603 ; 2064 + 3604 ; 1636 + 3605 ; 2366 + 3606 ; 2059 + 3607 ; 2380 + 3608 ; 2264 + 3609 ; 2216 + 3610 ; 2335 + 3611 ; 79 + 3612 ; 2292 + 3613 ; 2278 + 3614 ; 1681 + 3615 ; 2171 + 3616 ; 2221 + 3617 ; 1960 + 3618 ; 1969 + 3619 ; 2082 + 3620 ; 1698 + 3621 ; 268 + 3622 ; 1786 + 3623 ; 2021 + 3624 ; 1887 + 3625 ; 2239 + 3626 ; 2031 + 3627 ; 2125 + 3628 ; 2064 + 3629 ; 2180 + 3630 ; 1977 + 3631 ; 133 + 3632 ; 2098 + 3633 ; 2081 + 3634 ; 2385 + 3635 ; 2068 + 3636 ; 1970 + 3637 ; 2020 + 3638 ; 1623 + 3639 ; 2307 + 3640 ; 1764 + 3641 ; 73 + 3642 ; 2101 + 3643 ; 1975 + 3644 ; 2000 + 3645 ; 2279 + 3646 ; 1813 + 3647 ; 1930 + 3648 ; 2381 + 3649 ; 1629 + 3650 ; 1942 + 3651 ; 217 + 3652 ; 2237 + 3653 ; 1846 + 3654 ; 2287 + 3655 ; 2174 + 3656 ; 1754 + 3657 ; 1877 + 3658 ; 1794 + 3659 ; 2143 + 3660 ; 2262 + 3661 ; 132 + 3662 ; 1786 + 3663 ; 1969 + 3664 ; 2093 + 3665 ; 2407 + 3666 ; 1792 + 3667 ; 1694 + 3668 ; 1751 + 3669 ; 1712 + 3670 ; 2058 + 3671 ; 260 + 3672 ; 1614 + 3673 ; 2289 + 3674 ; 2257 + 3675 ; 1763 + 3676 ; 1902 + 3677 ; 1617 + 3678 ; 1738 + 3679 ; 1760 + 3680 ; 1615 + 3681 ; 260 + 3682 ; 2101 + 3683 ; 1815 + 3684 ; 1792 + 3685 ; 2234 + 3686 ; 1821 + 3687 ; 2174 + 3688 ; 1923 + 3689 ; 2099 + 3690 ; 1826 + 3691 ; 187 + 3692 ; 2200 + 3693 ; 1757 + 3694 ; 1620 + 3695 ; 2330 + 3696 ; 1848 + 3697 ; 1694 + 3698 ; 1683 + 3699 ; 1931 + 3700 ; 1645 + 3701 ; 261 + 3702 ; 2304 + 3703 ; 2007 + 3704 ; 1779 + 3705 ; 1887 + 3706 ; 1732 + 3707 ; 1646 + 3708 ; 2197 + 3709 ; 1903 + 3710 ; 1804 + 3711 ; 177 + 3712 ; 2279 + 3713 ; 1642 + 3714 ; 2401 + 3715 ; 1760 + 3716 ; 1815 + 3717 ; 1667 + 3718 ; 1796 + 3719 ; 2335 + 3720 ; 2404 + 3721 ; 117 + 3722 ; 2393 + 3723 ; 2018 + 3724 ; 1692 + 3725 ; 2402 + 3726 ; 1871 + 3727 ; 2393 + 3728 ; 2066 + 3729 ; 1687 + 3730 ; 2388 + 3731 ; 202 + 3732 ; 1681 + 3733 ; 2287 + 3734 ; 1722 + 3735 ; 2299 + 3736 ; 2395 + 3737 ; 1795 + 3738 ; 1668 + 3739 ; 2143 + 3740 ; 1944 + 3741 ; 168 + 3742 ; 2351 + 3743 ; 2204 + 3744 ; 2153 + 3745 ; 1984 + 3746 ; 1614 + 3747 ; 2013 + 3748 ; 1752 + 3749 ; 2299 + 3750 ; 1757 + 3751 ; 105 + 3752 ; 2081 + 3753 ; 1952 + 3754 ; 2156 + 3755 ; 1909 + 3756 ; 1724 + 3757 ; 2050 + 3758 ; 1673 + 3759 ; 2174 + 3760 ; 1654 + 3761 ; 118 + 3762 ; 1992 + 3763 ; 2154 + 3764 ; 1999 + 3765 ; 1876 + 3766 ; 2303 + 3767 ; 2176 + 3768 ; 1873 + 3769 ; 2368 + 3770 ; 1620 + 3771 ; 186 + 3772 ; 1788 + 3773 ; 1965 + 3774 ; 1842 + 3775 ; 1737 + 3776 ; 1723 + 3777 ; 1965 + 3778 ; 2260 + 3779 ; 1706 + 3780 ; 2101 + 3781 ; 144 + 3782 ; 2030 + 3783 ; 1805 + 3784 ; 2335 + 3785 ; 1790 + 3786 ; 2020 + 3787 ; 1910 + 3788 ; 1947 + 3789 ; 1910 + 3790 ; 2160 + 3791 ; 148 + 3792 ; 2111 + 3793 ; 2303 + 3794 ; 2034 + 3795 ; 2252 + 3796 ; 1829 + 3797 ; 1967 + 3798 ; 1709 + 3799 ; 1920 + 3800 ; 1698 + 3801 ; 269 + 3802 ; 1637 + 3803 ; 1914 + 3804 ; 1735 + 3805 ; 1925 + 3806 ; 2328 + 3807 ; 1945 + 3808 ; 1887 + 3809 ; 2273 + 3810 ; 1775 + 3811 ; 247 + 3812 ; 1795 + 3813 ; 1839 + 3814 ; 1973 + 3815 ; 1906 + 3816 ; 1842 + 3817 ; 1848 + 3818 ; 1698 + 3819 ; 2056 + 3820 ; 2339 + 3821 ; 150 + 3822 ; 1950 + 3823 ; 2131 + 3824 ; 2000 + 3825 ; 2189 + 3826 ; 1778 + 3827 ; 1933 + 3828 ; 2220 + 3829 ; 2317 + 3830 ; 2154 + 3831 ; 250 + 3832 ; 1879 + 3833 ; 1861 + 3834 ; 2204 + 3835 ; 1646 + 3836 ; 1666 + 3837 ; 2152 + 3838 ; 2144 + 3839 ; 1861 + 3840 ; 2002 + 3841 ; 162 + 3842 ; 1641 + 3843 ; 1636 + 3844 ; 2258 + 3845 ; 1970 + 3846 ; 2387 + 3847 ; 2287 + 3848 ; 2073 + 3849 ; 2374 + 3850 ; 1934 + 3851 ; 149 + 3852 ; 2023 + 3853 ; 1949 + 3854 ; 2290 + 3855 ; 2046 + 3856 ; 2032 + 3857 ; 1898 + 3858 ; 2082 + 3859 ; 1637 + 3860 ; 2070 + 3861 ; 200 + 3862 ; 1816 + 3863 ; 1979 + 3864 ; 1706 + 3865 ; 1976 + 3866 ; 1813 + 3867 ; 1861 + 3868 ; 2279 + 3869 ; 2018 + 3870 ; 2118 + 3871 ; 198 + 3872 ; 2178 + 3873 ; 2258 + 3874 ; 1792 + 3875 ; 2068 + 3876 ; 1776 + 3877 ; 1987 + 3878 ; 2353 + 3879 ; 1662 + 3880 ; 2031 + 3881 ; 173 + 3882 ; 2162 + 3883 ; 2071 + 3884 ; 2145 + 3885 ; 1688 + 3886 ; 1975 + 3887 ; 1872 + 3888 ; 2058 + 3889 ; 2116 + 3890 ; 1834 + 3891 ; 192 + 3892 ; 2053 + 3893 ; 2182 + 3894 ; 1736 + 3895 ; 1698 + 3896 ; 1774 + 3897 ; 2105 + 3898 ; 1668 + 3899 ; 1823 + 3900 ; 2271 + 3901 ; 237 + 3902 ; 2028 + 3903 ; 2410 + 3904 ; 2059 + 3905 ; 2201 + 3906 ; 1866 + 3907 ; 2314 + 3908 ; 1925 + 3909 ; 2306 + 3910 ; 2378 + 3911 ; 143 + 3912 ; 1894 + 3913 ; 2073 + 3914 ; 2395 + 3915 ; 1707 + 3916 ; 2090 + 3917 ; 2387 + 3918 ; 1705 + 3919 ; 1921 + 3920 ; 2044 + 3921 ; 220 + 3922 ; 1794 + 3923 ; 1704 + 3924 ; 2060 + 3925 ; 2073 + 3926 ; 2242 + 3927 ; 1924 + 3928 ; 2318 + 3929 ; 1925 + 3930 ; 2387 + 3931 ; 142 + 3932 ; 1682 + 3933 ; 1844 + 3934 ; 2138 + 3935 ; 2026 + 3936 ; 1847 + 3937 ; 2119 + 3938 ; 1621 + 3939 ; 2368 + 3940 ; 1845 + 3941 ; 103 + 3942 ; 2204 + 3943 ; 1849 + 3944 ; 2053 + 3945 ; 2152 + 3946 ; 1794 + 3947 ; 1937 + 3948 ; 1784 + 3949 ; 2243 + 3950 ; 1629 + 3951 ; 156 + 3952 ; 1713 + 3953 ; 1787 + 3954 ; 2308 + 3955 ; 2069 + 3956 ; 2025 + 3957 ; 2228 + 3958 ; 2287 + 3959 ; 1694 + 3960 ; 1904 + 3961 ; 244 + 3962 ; 2064 + 3963 ; 2040 + 3964 ; 2096 + 3965 ; 1978 + 3966 ; 2195 + 3967 ; 2095 + 3968 ; 1792 + 3969 ; 1736 + 3970 ; 2313 + 3971 ; 124 + 3972 ; 2401 + 3973 ; 2384 + 3974 ; 1924 + 3975 ; 2220 + 3976 ; 2241 + 3977 ; 2229 + 3978 ; 2406 + 3979 ; 1701 + 3980 ; 1751 + 3981 ; 233 + 3982 ; 2312 + 3983 ; 1921 + 3984 ; 2049 + 3985 ; 1930 + 3986 ; 2378 + 3987 ; 2038 + 3988 ; 2370 + 3989 ; 1726 + 3990 ; 1793 + 3991 ; 294 + 3992 ; 1967 + 3993 ; 2411 + 3994 ; 2264 + 3995 ; 1857 + 3996 ; 2221 + 3997 ; 1789 + 3998 ; 1840 + 3999 ; 2025 + 4000 ; 2054 + Last second: 74517 + Proof time target: 1826 + Average proposal time: 18 + Average proof time: 1826 + +logCount,time,lastVerifiedBlockId,numBlocks,blockFee,accProposedAt + !----------------------------- + 1;1;0;1;100000000;0 + 2;12;0;1;100000000;0 + 3;20;0;2;100000000;20 + 4;24;0;2;100000000;20 + 5;36;0;2;100000000;20 + 6;39;0;3;100000000;59 + 7;48;0;3;100000000;59 + 8;58;0;4;100000000;117 + 9;60;0;4;100000000;117 + 10;72;0;4;100000000;117 + 11;75;0;5;100000000;192 + 12;84;0;5;100000000;192 + 13;90;0;6;100000000;282 + 14;96;0;6;100000000;282 + 15;106;0;7;100000000;388 + 16;108;0;7;100000000;388 + 17;120;0;7;100000000;388 + 18;122;0;8;100000000;510 + 19;132;0;8;100000000;510 + 20;138;0;9;100000000;648 + 21;144;0;9;100000000;648 + 22;150;0;10;100000000;798 + 23;156;0;10;100000000;798 + 24;162;0;11;100000000;960 + 25;168;0;11;100000000;960 + 26;180;0;11;100000000;960 + 27;186;0;12;100000000;1146 + 28;192;0;12;100000000;1146 + 29;204;0;12;100000000;1146 + 30;206;0;13;100000000;1352 + 31;216;0;13;100000000;1352 + 32;218;0;14;100000000;1570 + 33;228;0;14;100000000;1570 + 34;239;0;15;100000000;1809 + 35;240;0;15;100000000;1809 + 36;252;0;15;100000000;1809 + 37;260;0;16;100000000;2069 + 38;264;0;16;100000000;2069 + 39;276;0;16;100000000;2069 + 40;277;0;17;100000000;2346 + 41;288;0;17;100000000;2346 + 42;297;0;18;100000000;2643 + 43;300;0;18;100000000;2643 + 44;311;0;19;100000000;2954 + 45;312;0;19;100000000;2954 + 46;324;0;19;100000000;2954 + 47;334;0;20;100000000;3288 + 48;336;0;20;100000000;3288 + 49;348;0;20;100000000;3288 + 50;349;0;21;100000000;3637 + 51;360;0;21;100000000;3637 + 52;371;1;22;94867687;3988 + 53;372;1;22;94867687;3988 + 54;384;1;22;94867687;3988 + 55;387;1;23;94867687;4375 + 56;396;1;23;94867687;4375 + 57;406;1;24;94867687;4781 + 58;408;1;24;94867687;4781 + 59;420;1;24;94867687;4781 + 60;430;1;25;94867687;5211 + 61;432;1;25;94867687;5211 + 62;444;1;25;94867687;5211 + 63;447;1;26;94867687;5658 + 64;456;1;26;94867687;5658 + 65;466;1;27;94867687;6124 + 66;468;1;27;94867687;6124 + 67;480;1;27;94867687;6124 + 68;486;1;28;94867687;6610 + 69;492;1;28;94867687;6610 + 70;504;1;28;94867687;6610 + 71;506;1;29;94867687;7116 + 72;516;1;29;94867687;7116 + 73;522;1;30;94867687;7638 + 74;528;1;30;94867687;7638 + 75;539;1;31;94867687;8177 + 76;540;1;31;94867687;8177 + 77;551;1;32;94867687;8728 + 78;552;1;32;94867687;8728 + 79;564;1;32;94867687;8728 + 80;569;1;33;94867687;9297 + 81;576;1;33;94867687;9297 + 82;588;1;33;94867687;9297 + 83;589;1;34;94867687;9886 + 84;600;1;34;94867687;9886 + 85;612;1;34;94867687;9886 + 86;613;1;35;94867687;10499 + 87;624;1;35;94867687;10499 + 88;626;1;36;94867687;11125 + 89;636;1;36;94867687;11125 + 90;645;1;37;94867687;11770 + 91;648;1;37;94867687;11770 + 92;660;1;37;94867687;11770 + 93;667;1;38;94867687;12437 + 94;672;1;38;94867687;12437 + 95;680;1;39;94867687;13117 + 96;684;1;39;94867687;13117 + 97;696;1;39;94867687;13117 + 98;698;1;40;94867687;13815 + 99;708;1;40;94867687;13815 + 100;718;1;41;94867687;14533 + 101;720;1;41;94867687;14533 + 102;732;1;41;94867687;14533 + 103;740;1;42;94867687;15273 + 104;744;1;42;94867687;15273 + 105;755;1;43;94867687;16028 + 106;756;1;43;94867687;16028 + 107;768;1;43;94867687;16028 + 108;769;1;44;94867687;16797 + 109;780;1;44;94867687;16797 + 110;791;1;45;94867687;17588 + 111;792;1;45;94867687;17588 + 112;804;1;45;94867687;17588 + 113;804;1;46;94867687;18392 + 114;816;1;46;94867687;18392 + 115;827;1;47;94867687;19219 + 116;828;1;47;94867687;19219 + 117;840;1;47;94867687;19219 + 118;846;1;48;94867687;20065 + 119;852;1;48;94867687;20065 + 120;864;1;48;94867687;20065 + 121;867;1;49;94867687;20932 + 122;876;1;49;94867687;20932 + 123;888;1;49;94867687;20932 + 124;890;1;50;94867687;21822 + 125;900;1;50;94867687;21822 + 126;912;1;50;94867687;21822 + 127;913;1;51;94867687;22735 + 128;924;1;51;94867687;22735 + 129;929;1;52;94867687;23664 + 130;936;1;52;94867687;23664 + 131;941;1;53;94867687;24605 + 132;948;1;53;94867687;24605 + 133;960;1;53;94867687;24605 + 134;965;1;54;94867687;25570 + 135;972;1;54;94867687;25570 + 136;984;1;54;94867687;25570 + 137;987;1;55;94867687;26557 + 138;996;1;55;94867687;26557 + 139;1008;1;55;94867687;26557 + 140;1008;1;56;94867687;27565 + 141;1020;1;56;94867687;27565 + 142;1027;1;57;94867687;28592 + 143;1032;1;57;94867687;28592 + 144;1042;1;58;94867687;29634 + 145;1044;1;58;94867687;29634 + 146;1056;1;58;94867687;29634 + 147;1060;1;59;94867687;30694 + 148;1068;1;59;94867687;30694 + 149;1080;1;59;94867687;30694 + 150;1083;1;60;94867687;31777 + 151;1092;1;60;94867687;31777 + 152;1104;1;60;94867687;31777 + 153;1104;1;61;94867687;32881 + 154;1116;1;61;94867687;32881 + 155;1125;1;62;94867687;34006 + 156;1128;1;62;94867687;34006 + 157;1140;1;62;94867687;34006 + 158;1148;1;63;94867687;35154 + 159;1152;1;63;94867687;35154 + 160;1164;1;63;94867687;35154 + 161;1165;1;64;94867687;36319 + 162;1176;1;64;94867687;36319 + 163;1183;1;65;94867687;37502 + 164;1188;1;65;94867687;37502 + 165;1199;1;66;94867687;38701 + 166;1200;1;66;94867687;38701 + 167;1212;1;66;94867687;38701 + 168;1218;1;67;94867687;39919 + 169;1224;1;67;94867687;39919 + 170;1236;1;67;94867687;39919 + 171;1238;1;68;94867687;41157 + 172;1248;1;68;94867687;41157 + 173;1251;1;69;94867687;42408 + 174;1260;1;69;94867687;42408 + 175;1268;1;70;94867687;43676 + 176;1272;1;70;94867687;43676 + 177;1284;1;70;94867687;43676 + 178;1288;1;71;94867687;44964 + 179;1296;1;71;94867687;44964 + 180;1305;1;72;94867687;46269 + 181;1308;1;72;94867687;46269 + 182;1320;1;72;94867687;46269 + 183;1325;1;73;94867687;47594 + 184;1332;1;73;94867687;47594 + 185;1343;1;74;94867687;48937 + 186;1344;1;74;94867687;48937 + 187;1356;1;74;94867687;48937 + 188;1360;1;75;94867687;50297 + 189;1368;1;75;94867687;50297 + 190;1372;1;76;94867687;51669 + 191;1380;1;76;94867687;51669 + 192;1390;1;77;94867687;53059 + 193;1392;1;77;94867687;53059 + 194;1404;1;77;94867687;53059 + 195;1406;1;78;94867687;54465 + 196;1416;1;78;94867687;54465 + 197;1421;1;79;94867687;55886 + 198;1428;1;79;94867687;55886 + 199;1440;1;79;94867687;55886 + 200;1443;1;80;94867687;57329 + 201;1452;1;80;94867687;57329 + 202;1464;1;80;94867687;57329 + 203;1467;1;81;94867687;58796 + 204;1476;1;81;94867687;58796 + 205;1479;1;82;94867687;60275 + 206;1488;1;82;94867687;60275 + 207;1494;1;83;94867687;61769 + 208;1500;1;83;94867687;61769 + 209;1512;1;83;94867687;61769 + 210;1514;1;84;94867687;63283 + 211;1524;1;84;94867687;63283 + 212;1526;1;85;94867687;64809 + 213;1536;1;85;94867687;64809 + 214;1548;1;85;94867687;64809 + 215;1549;1;86;94867687;66358 + 216;1560;1;86;94867687;66358 + 217;1567;1;87;94867687;67925 + 218;1572;1;87;94867687;67925 + 219;1580;1;88;94867687;69505 + 220;1584;1;88;94867687;69505 + 221;1594;1;89;94867687;71099 + 222;1596;1;89;94867687;71099 + 223;1608;1;89;94867687;71099 + 224;1610;1;90;94867687;72709 + 225;1620;1;90;94867687;72709 + 226;1632;1;90;94867687;72709 + 227;1634;1;91;94867687;74343 + 228;1644;1;91;94867687;74343 + 229;1656;1;91;94867687;74343 + 230;1658;1;92;94867687;76001 + 231;1668;1;92;94867687;76001 + 232;1680;1;92;94867687;76001 + 233;1681;1;93;94867687;77682 + 234;1692;1;93;94867687;77682 + 235;1698;1;94;94867687;79380 + 236;1704;1;94;94867687;79380 + 237;1716;1;94;94867687;79380 + 238;1717;1;95;94867687;81097 + 239;1728;1;95;94867687;81097 + 240;1740;1;95;94867687;81097 + 241;1741;1;96;94867687;82838 + 242;1752;1;96;94867687;82838 + 243;1762;1;97;94867687;84600 + 244;1764;1;97;94867687;84600 + 245;1776;1;97;94867687;84600 + 246;1781;1;98;94867687;86381 + 247;1788;1;98;94867687;86381 + 248;1800;1;98;94867687;86381 + 249;1804;1;99;94867687;88185 + 250;1812;1;99;94867687;88185 + 251;1824;1;99;94867687;88185 + 252;1826;1;100;94867687;90011 + 253;1836;1;100;94867687;90011 + 254;1839;1;101;94867687;91850 + 255;1848;1;101;94867687;91850 + 256;1860;1;101;94867687;91850 + 257;1860;1;102;94867687;93710 + 258;1872;1;102;94867687;93710 + 259;1876;1;103;94867687;95586 + 260;1884;1;103;94867687;95586 + 261;1893;1;104;94867687;97479 + 262;1896;1;104;94867687;97479 + 263;1908;1;104;94867687;97479 + 264;1908;1;105;94867687;99387 + 265;1920;1;105;94867687;99387 + 266;1931;1;106;94867687;101318 + 267;1932;1;106;94867687;101318 + 268;1944;1;106;94867687;101318 + 269;1945;1;107;94867687;103263 + 270;1956;1;107;94867687;103263 + 271;1958;1;108;94867687;105221 + 272;1968;1;108;94867687;105221 + 273;1973;1;109;94867687;107194 + 274;1980;1;109;94867687;107194 + 275;1987;1;110;94867687;109181 + 276;1992;1;110;94867687;109181 + 277;2003;1;111;94867687;111184 + 278;2004;1;111;94867687;111184 + 279;2016;1;111;94867687;111184 + 280;2019;1;112;94867687;113203 + 281;2028;1;112;94867687;113203 + 282;2032;1;113;94867687;115235 + 283;2040;1;113;94867687;115235 + 284;2046;1;114;94867687;117281 + 285;2052;1;114;94867687;117281 + 286;2064;1;114;94867687;117281 + 287;2070;1;115;94867687;119351 + 288;2076;1;115;94867687;119351 + 289;2088;1;115;94867687;119351 + 290;2088;1;116;94867687;121439 + 291;2100;1;116;94867687;121439 + 292;2112;1;116;94867687;121439 + 293;2112;1;117;94867687;123551 + 294;2124;1;117;94867687;123551 + 295;2125;1;118;94867687;125676 + 296;2136;1;118;94867687;125676 + 297;2142;1;119;94867687;127818 + 298;2148;1;119;94867687;127818 + 299;2159;1;120;94867687;129977 + 300;2160;1;120;94867687;129977 + 301;2172;1;120;94867687;129977 + 302;2179;1;121;94867687;132156 + 303;2184;1;121;94867687;132156 + 304;2196;1;121;94867687;132156 + 305;2200;1;122;94867687;134356 + 306;2208;1;122;94867687;134356 + 307;2220;1;122;94867687;134356 + 308;2220;1;123;94867687;136576 + 309;2232;1;123;94867687;136576 + 310;2238;1;124;94867687;138814 + 311;2244;1;124;94867687;138814 + 312;2256;1;124;94867687;138814 + 313;2259;1;125;94867687;141073 + 314;2268;1;125;94867687;141073 + 315;2279;1;126;94867687;143352 + 316;2280;1;126;94867687;143352 + 317;2292;1;126;94867687;143352 + 318;2296;1;127;94867687;145648 + 319;2304;1;127;94867687;145648 + 320;2310;1;128;94867687;147958 + 321;2316;1;128;94867687;147958 + 322;2328;1;128;94867687;147958 + 323;2330;1;129;94867687;150288 + 324;2340;1;129;94867687;150288 + 325;2349;1;130;94867687;152637 + 326;2352;1;130;94867687;152637 + 327;2364;1;130;94867687;152637 + 328;2371;1;131;94867687;155008 + 329;2376;1;131;94867687;155008 + 330;2388;1;131;94867687;155008 + 331;2389;1;132;94867687;157397 + 332;2400;1;132;94867687;157397 + 333;2409;1;133;94867687;159806 + 334;2412;1;133;94867687;159806 + 335;2423;1;134;94867687;162229 + 336;2424;1;134;94867687;162229 + 337;2436;1;134;94867687;162229 + 338;2439;1;135;94867687;164668 + 339;2448;1;135;94867687;164668 + 340;2453;1;136;94867687;167121 + 341;2460;1;136;94867687;167121 + 342;2472;1;136;94867687;167121 + 343;2475;3;137;96700300;169499 + 344;2484;3;137;96700300;169499 + 345;2496;3;137;96700300;169499 + 346;2498;3;138;96700300;171997 + 347;2508;3;138;96700300;171997 + 348;2519;9;139;100029768;173835 + 349;2520;9;139;100029768;173835 + 350;2532;9;139;100029768;173835 + 351;2532;9;140;100029768;176367 + 352;2544;9;140;100029768;176367 + 353;2552;9;141;100029768;178919 + 354;2556;9;141;100029768;178919 + 355;2565;9;142;100029768;181484 + 356;2568;9;142;100029768;181484 + 357;2580;9;142;100029768;181484 + 358;2582;9;143;100029768;184066 + 359;2592;18;143;100565309;181910 + 360;2604;18;143;100565309;181910 + 361;2606;21;144;95859963;183462 + 362;2616;21;144;95859963;183462 + 363;2623;23;145;96528341;185292 + 364;2628;23;145;96528341;185292 + 365;2640;23;145;96528341;185292 + 366;2642;23;146;96528341;187934 + 367;2652;23;146;96528341;187934 + 368;2663;23;147;96528341;190597 + 369;2664;23;147;96528341;190597 + 370;2676;23;147;96528341;190597 + 371;2685;23;148;96528341;193282 + 372;2688;23;148;96528341;193282 + 373;2700;23;148;96528341;193282 + 374;2702;23;149;96528341;195984 + 375;2712;23;149;96528341;195984 + 376;2717;23;150;96528341;198701 + 377;2724;23;150;96528341;198701 + 378;2731;27;151;99014661;199603 + 379;2736;27;151;99014661;199603 + 380;2748;27;151;99014661;199603 + 381;2754;27;152;99014661;202357 + 382;2760;27;152;99014661;202357 + 383;2772;27;152;99014661;202357 + 384;2772;27;153;99014661;205129 + 385;2784;27;153;99014661;205129 + 386;2789;27;154;99014661;207918 + 387;2796;27;154;99014661;207918 + 388;2804;27;155;99014661;210722 + 389;2808;27;155;99014661;210722 + 390;2820;33;155;96501913;207446 + 391;2823;33;156;96501913;210269 + 392;2832;33;156;96501913;210269 + 393;2838;33;157;96501913;213107 + 394;2844;33;157;96501913;213107 + 395;2856;33;157;96501913;213107 + 396;2857;33;158;96501913;215964 + 397;2868;33;158;96501913;215964 + 398;2877;33;159;96501913;218841 + 399;2880;33;159;96501913;218841 + 400;2892;33;159;96501913;218841 + 401;2895;33;160;96501913;221736 + 402;2904;33;160;96501913;221736 + 403;2910;33;161;96501913;224646 + 404;2916;33;161;96501913;224646 + 405;2928;33;161;96501913;224646 + 406;2934;33;162;96501913;227580 + 407;2940;33;162;96501913;227580 + 408;2952;33;162;96501913;227580 + 409;2958;33;163;96501913;230538 + 410;2964;33;163;96501913;230538 + 411;2976;33;163;96501913;230538 + 412;2977;33;164;96501913;233515 + 413;2988;33;164;96501913;233515 + 414;2999;33;165;96501913;236514 + 415;3000;33;165;96501913;236514 + 416;3012;33;165;96501913;236514 + 417;3020;34;166;98191175;238921 + 418;3024;34;166;98191175;238921 + 419;3036;34;166;98191175;238921 + 420;3036;34;167;98191175;241957 + 421;3048;34;167;98191175;241957 + 422;3048;34;168;98191175;245005 + 423;3060;34;168;98191175;245005 + 424;3067;34;169;98191175;248072 + 425;3072;34;169;98191175;248072 + 426;3081;34;170;98191175;251153 + 427;3084;34;170;98191175;251153 + 428;3093;43;171;99292954;247948 + 429;3096;43;171;99292954;247948 + 430;3106;43;172;99292954;251054 + 431;3108;43;172;99292954;251054 + 432;3120;43;172;99292954;251054 + 433;3130;43;173;99292954;254184 + 434;3132;43;173;99292954;254184 + 435;3144;43;173;99292954;254184 + 436;3150;43;174;99292954;257334 + 437;3156;43;174;99292954;257334 + 438;3168;43;174;99292954;257334 + 439;3171;43;175;99292954;260505 + 440;3180;46;175;102000496;258083 + 441;3187;46;176;102000496;261270 + 442;3192;46;176;102000496;261270 + 443;3199;46;177;102000496;264469 + 444;3204;46;177;102000496;264469 + 445;3216;46;177;102000496;264469 + 446;3222;46;178;102000496;267691 + 447;3228;46;178;102000496;267691 + 448;3240;46;178;102000496;267691 + 449;3242;46;179;102000496;270933 + 450;3252;46;179;102000496;270933 + 451;3260;56;180;100703089;264820 + 452;3264;56;180;100703089;264820 + 453;3275;57;181;101624137;267053 + 454;3276;57;181;101624137;267053 + 455;3288;57;181;101624137;267053 + 456;3292;57;182;101624137;270345 + 457;3300;57;182;101624137;270345 + 458;3305;57;183;101624137;273650 + 459;3312;57;183;101624137;273650 + 460;3323;57;184;101624137;276973 + 461;3324;57;184;101624137;276973 + 462;3336;57;184;101624137;276973 + 463;3346;57;185;101624137;280319 + 464;3348;57;185;101624137;280319 + 465;3360;57;185;101624137;280319 + 466;3365;57;186;101624137;283684 + 467;3372;57;186;101624137;283684 + 468;3384;57;186;101624137;283684 + 469;3384;59;187;103003898;284925 + 470;3396;59;187;103003898;284925 + 471;3407;59;188;103003898;288332 + 472;3408;59;188;103003898;288332 + 473;3419;59;189;103003898;291751 + 474;3420;59;189;103003898;291751 + 475;3432;59;189;103003898;291751 + 476;3440;68;190;101986532;284560 + 477;3444;68;190;101986532;284560 + 478;3456;68;190;101986532;284560 + 479;3458;68;191;101986532;288018 + 480;3468;68;191;101986532;288018 + 481;3480;68;191;101986532;288018 + 482;3482;68;192;101986532;291500 + 483;3492;68;192;101986532;291500 + 484;3504;68;192;101986532;291500 + 485;3505;68;193;101986532;295005 + 486;3516;68;193;101986532;295005 + 487;3520;68;194;101986532;298525 + 488;3528;68;194;101986532;298525 + 489;3535;68;195;101986532;302060 + 490;3540;68;195;101986532;302060 + 491;3552;68;195;101986532;302060 + 492;3552;68;196;101986532;305612 + 493;3564;68;196;101986532;305612 + 494;3572;68;197;101986532;309184 + 495;3576;68;197;101986532;309184 + 496;3588;68;197;101986532;309184 + 497;3588;68;198;101986532;312772 + 498;3600;68;198;101986532;312772 + 499;3607;68;199;101986532;316379 + 500;3612;68;199;101986532;316379 + 501;3624;68;199;101986532;316379 + 502;3630;68;200;101986532;320009 + 503;3636;68;200;101986532;320009 + 504;3648;68;200;101986532;320009 + 505;3652;68;201;101986532;323661 + 506;3660;68;201;101986532;323661 + 507;3666;68;202;101986532;327327 + 508;3672;68;202;101986532;327327 + 509;3682;68;203;101986532;331009 + 510;3684;68;203;101986532;331009 + 511;3696;73;203;99238591;324480 + 512;3706;73;204;99238591;328186 + 513;3708;73;204;99238591;328186 + 514;3718;73;205;99238591;331904 + 515;3720;73;205;99238591;331904 + 516;3732;73;205;99238591;331904 + 517;3741;75;206;101328905;332913 + 518;3744;75;206;101328905;332913 + 519;3756;75;206;101328905;332913 + 520;3761;75;207;101328905;336674 + 521;3768;75;207;101328905;336674 + 522;3780;75;207;101328905;336674 + 523;3784;75;208;101328905;340458 + 524;3792;75;208;101328905;340458 + 525;3800;75;209;101328905;344258 + 526;3804;75;209;101328905;344258 + 527;3816;75;209;101328905;344258 + 528;3816;77;210;102497461;345278 + 529;3828;77;210;102497461;345278 + 530;3832;85;211;99985268;337217 + 531;3840;85;211;99985268;337217 + 532;3850;85;212;99985268;341067 + 533;3852;85;212;99985268;341067 + 534;3863;85;213;99985268;344930 + 535;3864;85;213;99985268;344930 + 536;3876;85;213;99985268;344930 + 537;3881;85;214;99985268;348811 + 538;3888;85;214;99985268;348811 + 539;3897;85;215;99985268;352708 + 540;3900;85;215;99985268;352708 + 541;3912;85;215;99985268;352708 + 542;3920;85;216;99985268;356628 + 543;3924;85;216;99985268;356628 + 544;3936;85;216;99985268;356628 + 545;3938;85;217;99985268;360566 + 546;3948;85;217;99985268;360566 + 547;3954;85;218;99985268;364520 + 548;3960;85;218;99985268;364520 + 549;3967;85;219;99985268;368487 + 550;3972;85;219;99985268;368487 + 551;3981;88;220;102147234;367727 + 552;3984;88;220;102147234;367727 + 553;3996;88;220;102147234;367727 + 554;3997;94;221;101937673;361726 + 555;4008;94;221;101937673;361726 + 556;4017;94;222;101937673;365743 + 557;4020;94;222;101937673;365743 + 558;4032;94;222;101937673;365743 + 559;4036;94;223;101937673;369779 + 560;4044;94;223;101937673;369779 + 561;4052;94;224;101937673;373831 + 562;4056;94;224;101937673;373831 + 563;4064;94;225;101937673;377895 + 564;4068;94;225;101937673;377895 + 565;4080;94;225;101937673;377895 + 566;4086;94;226;101937673;381981 + 567;4092;94;226;101937673;381981 + 568;4104;95;226;103565996;380240 + 569;4110;95;227;103565996;384350 + 570;4116;95;227;103565996;384350 + 571;4128;95;227;103565996;384350 + 572;4128;97;228;106473844;384935 + 573;4140;97;228;106473844;384935 + 574;4145;97;229;106473844;389080 + 575;4152;97;229;106473844;389080 + 576;4164;97;229;106473844;389080 + 577;4168;97;230;106473844;393248 + 578;4176;97;230;106473844;393248 + 579;4185;97;231;106473844;397433 + 580;4188;97;231;106473844;397433 + 581;4197;107;232;105946720;382790 + 582;4200;107;232;105946720;382790 + 583;4209;109;233;107937922;383039 + 584;4212;109;233;107937922;383039 + 585;4221;109;234;107937922;387260 + 586;4224;109;234;107937922;387260 + 587;4235;109;235;107937922;391495 + 588;4236;109;235;107937922;391495 + 589;4248;109;235;107937922;391495 + 590;4249;109;236;107937922;395744 + 591;4260;109;236;107937922;395744 + 592;4270;109;237;107937922;400014 + 593;4272;109;237;107937922;400014 + 594;4284;109;237;107937922;400014 + 595;4289;109;238;107937922;404303 + 596;4296;109;238;107937922;404303 + 597;4308;109;238;107937922;404303 + 598;4309;109;239;107937922;408612 + 599;4320;109;239;107937922;408612 + 600;4330;109;240;107937922;412942 + 601;4332;109;240;107937922;412942 + 602;4344;109;240;107937922;412942 + 603;4349;109;241;107937922;417291 + 604;4356;109;241;107937922;417291 + 605;4368;109;241;107937922;417291 + 606;4372;109;242;107937922;421663 + 607;4380;109;242;107937922;421663 + 608;4392;109;242;107937922;421663 + 609;4395;114;243;106226316;415888 + 610;4404;114;243;106226316;415888 + 611;4416;114;243;106226316;415888 + 612;4417;114;244;106226316;420305 + 613;4428;114;244;106226316;420305 + 614;4431;114;245;106226316;424736 + 615;4440;114;245;106226316;424736 + 616;4452;114;245;106226316;424736 + 617;4452;114;246;106226316;429188 + 618;4464;114;246;106226316;429188 + 619;4475;114;247;106226316;433663 + 620;4476;114;247;106226316;433663 + 621;4488;114;247;106226316;433663 + 622;4492;114;248;106226316;438155 + 623;4500;114;248;106226316;438155 + 624;4512;114;248;106226316;438155 + 625;4514;114;249;106226316;442669 + 626;4524;114;249;106226316;442669 + 627;4530;114;250;106226316;447199 + 628;4536;114;250;106226316;447199 + 629;4548;114;250;106226316;447199 + 630;4551;117;251;111547354;445425 + 631;4560;117;251;111547354;445425 + 632;4568;117;252;111547354;449993 + 633;4572;117;252;111547354;449993 + 634;4583;117;253;111547354;454576 + 635;4584;117;253;111547354;454576 + 636;4596;117;253;111547354;454576 + 637;4606;126;254;108219068;439210 + 638;4608;126;254;108219068;439210 + 639;4620;126;254;108219068;439210 + 640;4623;126;255;108219068;443833 + 641;4632;126;255;108219068;443833 + 642;4636;126;256;108219068;448469 + 643;4644;126;256;108219068;448469 + 644;4651;126;257;108219068;453120 + 645;4656;126;257;108219068;453120 + 646;4665;126;258;108219068;457785 + 647;4668;126;258;108219068;457785 + 648;4680;126;258;108219068;457785 + 649;4688;126;259;108219068;462473 + 650;4692;126;259;108219068;462473 + 651;4704;126;259;108219068;462473 + 652;4704;126;260;108219068;467177 + 653;4716;126;260;108219068;467177 + 654;4717;126;261;108219068;471894 + 655;4728;131;261;105299592;460145 + 656;4738;131;262;105299592;464883 + 657;4740;131;262;105299592;464883 + 658;4752;131;262;105299592;464883 + 659;4758;131;263;105299592;469641 + 660;4764;131;263;105299592;469641 + 661;4776;131;263;105299592;469641 + 662;4780;131;264;105299592;474421 + 663;4788;131;264;105299592;474421 + 664;4792;131;265;105299592;479213 + 665;4800;131;265;105299592;479213 + 666;4809;131;266;105299592;484022 + 667;4812;131;266;105299592;484022 + 668;4824;131;266;105299592;484022 + 669;4828;136;267;106795032;476651 + 670;4836;136;267;106795032;476651 + 671;4848;136;267;106795032;476651 + 672;4852;136;268;106795032;481503 + 673;4860;136;268;106795032;481503 + 674;4870;136;269;106795032;486373 + 675;4872;136;269;106795032;486373 + 676;4883;136;270;106795032;491256 + 677;4884;136;270;106795032;491256 + 678;4896;136;270;106795032;491256 + 679;4906;136;271;106795032;496162 + 680;4908;136;271;106795032;496162 + 681;4920;136;271;106795032;496162 + 682;4922;136;272;106795032;501084 + 683;4932;136;272;106795032;501084 + 684;4937;141;273;104760352;493355 + 685;4944;141;273;104760352;493355 + 686;4953;141;274;104760352;498308 + 687;4956;141;274;104760352;498308 + 688;4967;141;275;104760352;503275 + 689;4968;141;275;104760352;503275 + 690;4980;141;275;104760352;503275 + 691;4985;147;276;107495493;492459 + 692;4992;147;276;107495493;492459 + 693;5004;147;276;107495493;492459 + 694;5008;147;277;107495493;497467 + 695;5016;147;277;107495493;497467 + 696;5028;147;277;107495493;497467 + 697;5028;147;278;107495493;502495 + 698;5040;147;278;107495493;502495 + 699;5040;147;279;107495493;507535 + 700;5052;147;279;107495493;507535 + 701;5058;147;280;107495493;512593 + 702;5064;147;280;107495493;512593 + 703;5070;147;281;107495493;517663 + 704;5076;147;281;107495493;517663 + 705;5082;147;282;107495493;522745 + 706;5088;147;282;107495493;522745 + 707;5100;147;282;107495493;522745 + 708;5106;147;283;107495493;527851 + 709;5112;147;283;107495493;527851 + 710;5122;147;284;107495493;532973 + 711;5124;147;284;107495493;532973 + 712;5136;147;284;107495493;532973 + 713;5139;157;285;109575795;510325 + 714;5148;157;285;109575795;510325 + 715;5151;158;286;110646143;512599 + 716;5160;158;286;110646143;512599 + 717;5167;158;287;110646143;517766 + 718;5172;158;287;110646143;517766 + 719;5184;158;287;110646143;517766 + 720;5189;158;288;110646143;522955 + 721;5196;158;288;110646143;522955 + 722;5206;158;289;110646143;528161 + 723;5208;158;289;110646143;528161 + 724;5220;158;289;110646143;528161 + 725;5222;158;290;110646143;533383 + 726;5232;158;290;110646143;533383 + 727;5244;158;290;110646143;533383 + 728;5244;158;291;110646143;538627 + 729;5256;158;291;110646143;538627 + 730;5261;158;292;110646143;543888 + 731;5268;158;292;110646143;543888 + 732;5274;158;293;110646143;549162 + 733;5280;158;293;110646143;549162 + 734;5292;158;293;110646143;549162 + 735;5293;158;294;110646143;554455 + 736;5304;158;294;110646143;554455 + 737;5308;163;295;104979309;545089 + 738;5316;163;295;104979309;545089 + 739;5328;163;295;104979309;545089 + 740;5332;163;296;104979309;550421 + 741;5340;163;296;104979309;550421 + 742;5351;163;297;104979309;555772 + 743;5352;163;297;104979309;555772 + 744;5364;163;297;104979309;555772 + 745;5364;163;298;104979309;561136 + 746;5376;163;298;104979309;561136 + 747;5386;163;299;104979309;566522 + 748;5388;163;299;104979309;566522 + 749;5400;163;299;104979309;566522 + 750;5407;167;300;107352095;559826 + 751;5412;167;300;107352095;559826 + 752;5423;167;301;107352095;565249 + 753;5424;167;301;107352095;565249 + 754;5436;167;301;107352095;565249 + 755;5436;167;302;107352095;570685 + 756;5448;167;302;107352095;570685 + 757;5451;167;303;107352095;576136 + 758;5460;167;303;107352095;576136 + 759;5469;175;304;105649778;556620 + 760;5472;175;304;105649778;556620 + 761;5484;175;304;105649778;556620 + 762;5489;175;305;105649778;562109 + 763;5496;175;305;105649778;562109 + 764;5505;175;306;105649778;567614 + 765;5508;175;306;105649778;567614 + 766;5520;175;306;105649778;567614 + 767;5525;175;307;105649778;573139 + 768;5532;175;307;105649778;573139 + 769;5544;175;307;105649778;573139 + 770;5549;175;308;105649778;578688 + 771;5556;175;308;105649778;578688 + 772;5568;175;308;105649778;578688 + 773;5570;175;309;105649778;584258 + 774;5580;175;309;105649778;584258 + 775;5592;175;309;105649778;584258 + 776;5594;175;310;105649778;589852 + 777;5604;175;310;105649778;589852 + 778;5613;175;311;105649778;595465 + 779;5616;175;311;105649778;595465 + 780;5628;175;311;105649778;595465 + 781;5628;175;312;105649778;601093 + 782;5640;175;312;105649778;601093 + 783;5643;175;313;105649778;606736 + 784;5652;175;313;105649778;606736 + 785;5657;185;314;106339088;579564 + 786;5664;185;314;106339088;579564 + 787;5670;185;315;106339088;585234 + 788;5676;185;315;106339088;585234 + 789;5682;185;316;106339088;590916 + 790;5688;185;316;106339088;590916 + 791;5700;185;316;106339088;590916 + 792;5700;185;317;106339088;596616 + 793;5712;185;317;106339088;596616 + 794;5716;185;318;106339088;602332 + 795;5724;185;318;106339088;602332 + 796;5728;185;319;106339088;608060 + 797;5736;185;319;106339088;608060 + 798;5740;185;320;106339088;613800 + 799;5748;185;320;106339088;613800 + 800;5760;185;320;106339088;613800 + 801;5761;185;321;106339088;619561 + 802;5772;185;321;106339088;619561 + 803;5776;185;322;106339088;625337 + 804;5784;185;322;106339088;625337 + 805;5796;185;322;106339088;625337 + 806;5800;185;323;106339088;631137 + 807;5808;185;323;106339088;631137 + 808;5820;187;323;109587047;624346 + 809;5824;187;324;109587047;630170 + 810;5832;187;324;109587047;630170 + 811;5844;194;324;109692124;605811 + 812;5845;194;325;109692124;611656 + 813;5856;194;325;109692124;611656 + 814;5868;194;325;109692124;611656 + 815;5868;194;326;109692124;617524 + 816;5880;194;326;109692124;617524 + 817;5880;194;327;109692124;623404 + 818;5892;194;327;109692124;623404 + 819;5901;194;328;109692124;629305 + 820;5904;194;328;109692124;629305 + 821;5916;194;328;109692124;629305 + 822;5920;194;329;109692124;635225 + 823;5928;194;329;109692124;635225 + 824;5940;194;329;109692124;635225 + 825;5944;194;330;109692124;641169 + 826;5952;194;330;109692124;641169 + 827;5964;194;330;109692124;641169 + 828;5964;194;331;109692124;647133 + 829;5976;194;331;109692124;647133 + 830;5987;199;332;114103738;635171 + 831;5988;199;332;114103738;635171 + 832;6000;199;332;114103738;635171 + 833;6003;208;333;112071651;607664 + 834;6012;208;333;112071651;607664 + 835;6020;214;334;106802343;590545 + 836;6024;214;334;106802343;590545 + 837;6036;214;334;106802343;590545 + 838;6044;214;335;106802343;596589 + 839;6048;214;335;106802343;596589 + 840;6060;214;335;106802343;596589 + 841;6067;214;336;106802343;602656 + 842;6072;214;336;106802343;602656 + 843;6080;214;337;106802343;608736 + 844;6084;214;337;106802343;608736 + 845;6096;214;337;106802343;608736 + 846;6103;214;338;106802343;614839 + 847;6108;214;338;106802343;614839 + 848;6120;214;338;106802343;614839 + 849;6125;214;339;106802343;620964 + 850;6132;214;339;106802343;620964 + 851;6137;214;340;106802343;627101 + 852;6144;214;340;106802343;627101 + 853;6152;214;341;106802343;633253 + 854;6156;214;341;106802343;633253 + 855;6168;214;341;106802343;633253 + 856;6174;214;342;106802343;639427 + 857;6180;214;342;106802343;639427 + 858;6186;214;343;106802343;645613 + 859;6192;214;343;106802343;645613 + 860;6198;214;344;106802343;651811 + 861;6204;214;344;106802343;651811 + 862;6216;214;344;106802343;651811 + 863;6221;217;345;109962783;646220 + 864;6228;217;345;109962783;646220 + 865;6236;217;346;109962783;652456 + 866;6240;217;346;109962783;652456 + 867;6252;217;346;109962783;652456 + 868;6252;217;347;109962783;658708 + 869;6264;217;347;109962783;658708 + 870;6275;217;348;109962783;664983 + 871;6276;217;348;109962783;664983 + 872;6288;217;348;109962783;664983 + 873;6297;217;349;109962783;671280 + 874;6300;217;349;109962783;671280 + 875;6312;217;349;109962783;671280 + 876;6314;217;350;109962783;677594 + 877;6324;217;350;109962783;677594 + 878;6327;217;351;109962783;683921 + 879;6336;217;351;109962783;683921 + 880;6346;217;352;109962783;690267 + 881;6348;217;352;109962783;690267 + 882;6360;217;352;109962783;690267 + 883;6360;217;353;109962783;696627 + 884;6372;217;353;109962783;696627 + 885;6373;217;354;109962783;703000 + 886;6384;217;354;109962783;703000 + 887;6390;217;355;109962783;709390 + 888;6396;217;355;109962783;709390 + 889;6408;217;355;109962783;709390 + 890;6414;217;356;109962783;715804 + 891;6420;217;356;109962783;715804 + 892;6432;217;356;109962783;715804 + 893;6436;227;357;110858428;681802 + 894;6444;228;357;111642845;677657 + 895;6451;228;358;111642845;684108 + 896;6456;228;358;111642845;684108 + 897;6468;228;358;111642845;684108 + 898;6470;228;359;111642845;690578 + 899;6480;228;359;111642845;690578 + 900;6491;228;360;111642845;697069 + 901;6492;228;360;111642845;697069 + 902;6504;228;360;111642845;697069 + 903;6510;228;361;111642845;703579 + 904;6516;228;361;111642845;703579 + 905;6528;228;361;111642845;703579 + 906;6534;231;362;107886211;697563 + 907;6540;231;362;107886211;697563 + 908;6552;231;362;107886211;697563 + 909;6556;231;363;107886211;704119 + 910;6564;231;363;107886211;704119 + 911;6568;231;364;107886211;710687 + 912;6576;231;364;107886211;710687 + 913;6588;231;364;107886211;710687 + 914;6591;231;365;107886211;717278 + 915;6600;231;365;107886211;717278 + 916;6612;231;365;107886211;717278 + 917;6615;231;366;107886211;723893 + 918;6624;231;366;107886211;723893 + 919;6636;231;366;107886211;723893 + 920;6638;231;367;107886211;730531 + 921;6648;231;367;107886211;730531 + 922;6660;231;367;107886211;730531 + 923;6661;231;368;107886211;737192 + 924;6672;231;368;107886211;737192 + 925;6674;239;369;117367700;709754 + 926;6684;239;369;117367700;709754 + 927;6686;239;370;117367700;716440 + 928;6696;239;370;117367700;716440 + 929;6705;239;371;117367700;723145 + 930;6708;239;371;117367700;723145 + 931;6720;239;371;117367700;723145 + 932;6729;239;372;117367700;729874 + 933;6732;239;372;117367700;729874 + 934;6744;239;372;117367700;729874 + 935;6746;239;373;117367700;736620 + 936;6756;241;373;113104420;727899 + 937;6768;241;373;113104420;727899 + 938;6769;241;374;113104420;734668 + 939;6780;241;374;113104420;734668 + 940;6783;241;375;113104420;741451 + 941;6792;241;375;113104420;741451 + 942;6797;245;376;114628280;730553 + 943;6804;245;376;114628280;730553 + 944;6810;245;377;114628280;737363 + 945;6816;245;377;114628280;737363 + 946;6822;252;378;111987292;712472 + 947;6828;252;378;111987292;712472 + 948;6840;252;378;111987292;712472 + 949;6846;252;379;111987292;719318 + 950;6852;252;379;111987292;719318 + 951;6864;257;379;114549837;696137 + 952;6865;257;380;114549837;703002 + 953;6876;257;380;114549837;703002 + 954;6880;257;381;114549837;709882 + 955;6888;257;381;114549837;709882 + 956;6894;257;382;114549837;716776 + 957;6900;257;382;114549837;716776 + 958;6912;257;382;114549837;716776 + 959;6917;257;383;114549837;723693 + 960;6924;257;383;114549837;723693 + 961;6936;257;383;114549837;723693 + 962;6937;257;384;114549837;730630 + 963;6948;257;384;114549837;730630 + 964;6957;261;385;112163752;718740 + 965;6960;261;385;112163752;718740 + 966;6969;261;386;112163752;725709 + 967;6972;261;386;112163752;725709 + 968;6984;261;386;112163752;725709 + 969;6985;261;387;112163752;732694 + 970;6996;261;387;112163752;732694 + 971;7003;261;388;112163752;739697 + 972;7008;261;388;112163752;739697 + 973;7017;261;389;112163752;746714 + 974;7020;261;389;112163752;746714 + 975;7032;261;389;112163752;746714 + 976;7032;261;390;112163752;753746 + 977;7044;263;390;114958326;744208 + 978;7052;263;391;114958326;751260 + 979;7056;263;391;114958326;751260 + 980;7068;263;391;114958326;751260 + 981;7069;263;392;114958326;758329 + 982;7080;263;392;114958326;758329 + 983;7084;263;393;114958326;765413 + 984;7092;263;393;114958326;765413 + 985;7096;263;394;114958326;772509 + 986;7104;263;394;114958326;772509 + 987;7112;263;395;114958326;779621 + 988;7116;263;395;114958326;779621 + 989;7128;263;395;114958326;779621 + 990;7131;263;396;114958326;786752 + 991;7140;263;396;114958326;786752 + 992;7145;263;397;114958326;793897 + 993;7152;263;397;114958326;793897 + 994;7164;263;397;114958326;793897 + 995;7169;263;398;114958326;801066 + 996;7176;263;398;114958326;801066 + 997;7188;263;398;114958326;801066 + 998;7188;263;399;114958326;808254 + 999;7200;263;399;114958326;808254 + 1000;7201;263;400;114958326;815455 + 1001;7212;263;400;114958326;815455 + 1002;7217;271;401;115728173;783810 + 1003;7224;271;401;115728173;783810 + 1004;7236;271;401;115728173;783810 + 1005;7241;271;402;115728173;791051 + 1006;7248;271;402;115728173;791051 + 1007;7260;271;402;115728173;791051 + 1008;7264;271;403;115728173;798315 + 1009;7272;271;403;115728173;798315 + 1010;7278;271;404;115728173;805593 + 1011;7284;271;404;115728173;805593 + 1012;7296;271;404;115728173;805593 + 1013;7296;271;405;115728173;812889 + 1014;7308;271;405;115728173;812889 + 1015;7313;271;406;115728173;820202 + 1016;7320;271;406;115728173;820202 + 1017;7332;271;406;115728173;820202 + 1018;7337;271;407;115728173;827539 + 1019;7344;271;407;115728173;827539 + 1020;7353;281;408;111459574;784764 + 1021;7356;281;408;111459574;784764 + 1022;7366;282;409;111574083;787024 + 1023;7368;282;409;111574083;787024 + 1024;7380;282;409;111574083;787024 + 1025;7382;282;410;111574083;794406 + 1026;7392;282;410;111574083;794406 + 1027;7395;282;411;111574083;801801 + 1028;7404;282;411;111574083;801801 + 1029;7411;282;412;111574083;809212 + 1030;7416;282;412;111574083;809212 + 1031;7428;282;412;111574083;809212 + 1032;7432;282;413;111574083;816644 + 1033;7440;282;413;111574083;816644 + 1034;7446;282;414;111574083;824090 + 1035;7452;282;414;111574083;824090 + 1036;7464;282;414;111574083;824090 + 1037;7465;282;415;111574083;831555 + 1038;7476;282;415;111574083;831555 + 1039;7482;282;416;111574083;839037 + 1040;7488;282;416;111574083;839037 + 1041;7496;282;417;111574083;846533 + 1042;7500;282;417;111574083;846533 + 1043;7511;282;418;111574083;854044 + 1044;7512;282;418;111574083;854044 + 1045;7524;282;418;111574083;854044 + 1046;7530;282;419;111574083;861574 + 1047;7536;282;419;111574083;861574 + 1048;7543;282;420;111574083;869117 + 1049;7548;282;420;111574083;869117 + 1050;7556;282;421;111574083;876673 + 1051;7560;282;421;111574083;876673 + 1052;7569;292;422;110305821;832267 + 1053;7572;292;422;110305821;832267 + 1054;7584;292;422;110305821;832267 + 1055;7587;294;423;112922615;829253 + 1056;7596;294;423;112922615;829253 + 1057;7604;294;424;112922615;836857 + 1058;7608;294;424;112922615;836857 + 1059;7620;294;424;112922615;836857 + 1060;7628;294;425;112922615;844485 + 1061;7632;294;425;112922615;844485 + 1062;7644;294;425;112922615;844485 + 1063;7649;294;426;112922615;852134 + 1064;7656;302;426;111402363;808984 + 1065;7668;302;426;111402363;808984 + 1066;7672;304;427;112002625;805698 + 1067;7680;304;427;112002625;805698 + 1068;7688;304;428;112002625;813386 + 1069;7692;304;428;112002625;813386 + 1070;7704;304;428;112002625;813386 + 1071;7704;304;429;112002625;821090 + 1072;7716;304;429;112002625;821090 + 1073;7725;304;430;112002625;828815 + 1074;7728;304;430;112002625;828815 + 1075;7740;304;430;112002625;828815 + 1076;7742;304;431;112002625;836557 + 1077;7752;304;431;112002625;836557 + 1078;7761;307;432;113174126;827739 + 1079;7764;307;432;113174126;827739 + 1080;7776;307;432;113174126;827739 + 1081;7784;307;433;113174126;835523 + 1082;7788;307;433;113174126;835523 + 1083;7800;307;433;113174126;835523 + 1084;7802;307;434;113174126;843325 + 1085;7812;307;434;113174126;843325 + 1086;7824;307;434;113174126;843325 + 1087;7825;307;435;113174126;851150 + 1088;7836;307;435;113174126;851150 + 1089;7848;307;435;113174126;851150 + 1090;7848;307;436;113174126;858998 + 1091;7860;307;436;113174126;858998 + 1092;7869;314;437;108519516;827492 + 1093;7872;314;437;108519516;827492 + 1094;7884;314;437;108519516;827492 + 1095;7888;314;438;108519516;835380 + 1096;7896;314;438;108519516;835380 + 1097;7908;314;438;108519516;835380 + 1098;7911;314;439;108519516;843291 + 1099;7920;314;439;108519516;843291 + 1100;7925;314;440;108519516;851216 + 1101;7932;314;440;108519516;851216 + 1102;7937;314;441;108519516;859153 + 1103;7944;314;441;108519516;859153 + 1104;7956;314;441;108519516;859153 + 1105;7961;314;442;108519516;867114 + 1106;7968;314;442;108519516;867114 + 1107;7973;314;443;108519516;875087 + 1108;7980;314;443;108519516;875087 + 1109;7991;314;444;108519516;883078 + 1110;7992;314;444;108519516;883078 + 1111;8004;314;444;108519516;883078 + 1112;8011;314;445;108519516;891089 + 1113;8016;314;445;108519516;891089 + 1114;8027;314;446;108519516;899116 + 1115;8028;314;446;108519516;899116 + 1116;8040;314;446;108519516;899116 + 1117;8046;314;447;108519516;907162 + 1118;8052;314;447;108519516;907162 + 1119;8059;314;448;108519516;915221 + 1120;8064;314;448;108519516;915221 + 1121;8074;314;449;108519516;923295 + 1122;8076;314;449;108519516;923295 + 1123;8088;314;449;108519516;923295 + 1124;8088;314;450;108519516;931383 + 1125;8100;314;450;108519516;931383 + 1126;8105;314;451;108519516;939488 + 1127;8112;314;451;108519516;939488 + 1128;8124;314;451;108519516;939488 + 1129;8128;314;452;108519516;947616 + 1130;8136;314;452;108519516;947616 + 1131;8142;314;453;108519516;955758 + 1132;8148;314;453;108519516;955758 + 1133;8160;314;453;108519516;955758 + 1134;8162;322;454;108660755;918017 + 1135;8172;322;454;108660755;918017 + 1136;8179;322;455;108660755;926196 + 1137;8184;322;455;108660755;926196 + 1138;8195;322;456;108660755;934391 + 1139;8196;322;456;108660755;934391 + 1140;8208;322;456;108660755;934391 + 1141;8215;322;457;108660755;942606 + 1142;8220;322;457;108660755;942606 + 1143;8232;322;457;108660755;942606 + 1144;8237;322;458;108660755;950843 + 1145;8244;322;458;108660755;950843 + 1146;8256;322;458;108660755;950843 + 1147;8259;322;459;108660755;959102 + 1148;8268;322;459;108660755;959102 + 1149;8276;322;460;108660755;967378 + 1150;8280;322;460;108660755;967378 + 1151;8292;322;460;108660755;967378 + 1152;8295;329;461;113340817;934491 + 1153;8304;329;461;113340817;934491 + 1154;8316;329;461;113340817;934491 + 1155;8317;329;462;113340817;942808 + 1156;8328;329;462;113340817;942808 + 1157;8340;329;462;113340817;942808 + 1158;8340;329;463;113340817;951148 + 1159;8352;329;463;113340817;951148 + 1160;8354;329;464;113340817;959502 + 1161;8364;329;464;113340817;959502 + 1162;8373;329;465;113340817;967875 + 1163;8376;329;465;113340817;967875 + 1164;8388;329;465;113340817;967875 + 1165;8395;329;466;113340817;976270 + 1166;8400;329;466;113340817;976270 + 1167;8409;339;467;113406787;924149 + 1168;8412;339;467;113406787;924149 + 1169;8424;339;467;113406787;924149 + 1170;8424;343;468;109887533;907863 + 1171;8436;343;468;109887533;907863 + 1172;8445;343;469;109887533;916308 + 1173;8448;343;469;109887533;916308 + 1174;8460;343;469;109887533;916308 + 1175;8460;343;470;109887533;924768 + 1176;8472;343;470;109887533;924768 + 1177;8475;343;471;109887533;933243 + 1178;8484;343;471;109887533;933243 + 1179;8496;343;471;109887533;933243 + 1180;8497;347;472;111017909;916756 + 1181;8508;347;472;111017909;916756 + 1182;8518;347;473;111017909;925274 + 1183;8520;347;473;111017909;925274 + 1184;8532;347;473;111017909;925274 + 1185;8535;347;474;111017909;933809 + 1186;8544;347;474;111017909;933809 + 1187;8552;351;475;105765559;917077 + 1188;8556;351;475;105765559;917077 + 1189;8568;351;475;105765559;917077 + 1190;8570;351;476;105765559;925647 + 1191;8580;351;476;105765559;925647 + 1192;8592;351;476;105765559;925647 + 1193;8593;351;477;105765559;934240 + 1194;8604;354;477;108869231;915117 + 1195;8608;354;478;108869231;923725 + 1196;8616;354;478;108869231;923725 + 1197;8621;354;479;108869231;932346 + 1198;8628;354;479;108869231;932346 + 1199;8640;354;479;108869231;932346 + 1200;8645;354;480;108869231;940991 + 1201;8652;354;480;108869231;940991 + 1202;8664;354;480;108869231;940991 + 1203;8665;354;481;108869231;949656 + 1204;8676;354;481;108869231;949656 + 1205;8680;355;482;110286945;951922 + 1206;8688;355;482;110286945;951922 + 1207;8696;355;483;110286945;960618 + 1208;8700;355;483;110286945;960618 + 1209;8712;355;483;110286945;960618 + 1210;8716;355;484;110286945;969334 + 1211;8724;355;484;110286945;969334 + 1212;8731;355;485;110286945;978065 + 1213;8736;355;485;110286945;978065 + 1214;8748;355;485;110286945;978065 + 1215;8749;355;486;110286945;986814 + 1216;8760;355;486;110286945;986814 + 1217;8764;355;487;110286945;995578 + 1218;8772;355;487;110286945;995578 + 1219;8784;355;487;110286945;995578 + 1220;8784;355;488;110286945;1004362 + 1221;8796;355;488;110286945;1004362 + 1222;8797;355;489;110286945;1013159 + 1223;8808;355;489;110286945;1013159 + 1224;8815;355;490;110286945;1021974 + 1225;8820;355;490;110286945;1021974 + 1226;8832;355;490;110286945;1021974 + 1227;8832;355;491;110286945;1030806 + 1228;8844;355;491;110286945;1030806 + 1229;8851;355;492;110286945;1039657 + 1230;8856;355;492;110286945;1039657 + 1231;8868;355;492;110286945;1039657 + 1232;8871;358;493;114291357;1029171 + 1233;8880;358;493;114291357;1029171 + 1234;8891;362;494;112756538;1011971 + 1235;8892;362;494;112756538;1011971 + 1236;8904;362;494;112756538;1011971 + 1237;8909;362;495;112756538;1020880 + 1238;8916;362;495;112756538;1020880 + 1239;8926;362;496;112756538;1029806 + 1240;8928;362;496;112756538;1029806 + 1241;8940;362;496;112756538;1029806 + 1242;8944;362;497;112756538;1038750 + 1243;8952;362;497;112756538;1038750 + 1244;8964;362;497;112756538;1038750 + 1245;8967;362;498;112756538;1047717 + 1246;8976;362;498;112756538;1047717 + 1247;8980;362;499;112756538;1056697 + 1248;8988;362;499;112756538;1056697 + 1249;8996;362;500;112756538;1065693 + 1250;9000;362;500;112756538;1065693 + 1251;9012;362;500;112756538;1065693 + 1252;9020;362;501;112756538;1074713 + 1253;9024;362;501;112756538;1074713 + 1254;9036;362;501;112756538;1074713 + 1255;9038;367;502;121454482;1050678 + 1256;9048;367;502;121454482;1050678 + 1257;9053;371;503;118957142;1032937 + 1258;9060;371;503;118957142;1032937 + 1259;9067;371;504;118957142;1042004 + 1260;9072;371;504;118957142;1042004 + 1261;9084;371;504;118957142;1042004 + 1262;9091;375;505;122426964;1024000 + 1263;9096;375;505;122426964;1024000 + 1264;9104;375;506;122426964;1033104 + 1265;9108;375;506;122426964;1033104 + 1266;9120;375;506;122426964;1033104 + 1267;9125;382;507;118319608;994195 + 1268;9132;382;507;118319608;994195 + 1269;9137;382;508;118319608;1003332 + 1270;9144;382;508;118319608;1003332 + 1271;9156;382;508;118319608;1003332 + 1272;9156;382;509;118319608;1012488 + 1273;9168;382;509;118319608;1012488 + 1274;9176;382;510;118319608;1021664 + 1275;9180;382;510;118319608;1021664 + 1276;9192;382;510;118319608;1021664 + 1277;9197;382;511;118319608;1030861 + 1278;9204;382;511;118319608;1030861 + 1279;9212;382;512;118319608;1040073 + 1280;9216;382;512;118319608;1040073 + 1281;9224;382;513;118319608;1049297 + 1282;9228;382;513;118319608;1049297 + 1283;9240;382;513;118319608;1049297 + 1284;9247;382;514;118319608;1058544 + 1285;9252;382;514;118319608;1058544 + 1286;9264;382;514;118319608;1058544 + 1287;9265;382;515;118319608;1067809 + 1288;9276;382;515;118319608;1067809 + 1289;9286;382;516;118319608;1077095 + 1290;9288;382;516;118319608;1077095 + 1291;9300;386;516;119573551;1049247 + 1292;9308;386;517;119573551;1058555 + 1293;9312;386;517;119573551;1058555 + 1294;9321;386;518;119573551;1067876 + 1295;9324;386;518;119573551;1067876 + 1296;9335;386;519;119573551;1077211 + 1297;9336;386;519;119573551;1077211 + 1298;9348;386;519;119573551;1077211 + 1299;9355;386;520;119573551;1086566 + 1300;9360;386;520;119573551;1086566 + 1301;9369;386;521;119573551;1095935 + 1302;9372;386;521;119573551;1095935 + 1303;9384;386;521;119573551;1095935 + 1304;9387;386;522;119573551;1105322 + 1305;9396;386;522;119573551;1105322 + 1306;9400;386;523;119573551;1114722 + 1307;9408;386;523;119573551;1114722 + 1308;9415;394;524;117749959;1067672 + 1309;9420;394;524;117749959;1067672 + 1310;9432;394;524;117749959;1067672 + 1311;9438;397;525;120770490;1055665 + 1312;9444;397;525;120770490;1055665 + 1313;9456;397;525;120770490;1055665 + 1314;9462;397;526;120770490;1065127 + 1315;9468;397;526;120770490;1065127 + 1316;9480;397;526;120770490;1065127 + 1317;9484;397;527;120770490;1074611 + 1318;9492;397;527;120770490;1074611 + 1319;9499;397;528;120770490;1084110 + 1320;9504;397;528;120770490;1084110 + 1321;9516;397;528;120770490;1084110 + 1322;9517;397;529;120770490;1093627 + 1323;9528;397;529;120770490;1093627 + 1324;9531;397;530;120770490;1103158 + 1325;9540;397;530;120770490;1103158 + 1326;9552;397;530;120770490;1103158 + 1327;9553;397;531;120770490;1112711 + 1328;9564;397;531;120770490;1112711 + 1329;9567;397;532;120770490;1122278 + 1330;9576;401;532;119516267;1093431 + 1331;9588;401;532;119516267;1093431 + 1332;9591;401;533;119516267;1103022 + 1333;9600;401;533;119516267;1103022 + 1334;9607;401;534;119516267;1112629 + 1335;9612;401;534;119516267;1112629 + 1336;9624;401;534;119516267;1112629 + 1337;9629;408;535;124710826;1071051 + 1338;9636;408;535;124710826;1071051 + 1339;9643;408;536;124710826;1080694 + 1340;9648;408;536;124710826;1080694 + 1341;9660;408;536;124710826;1080694 + 1342;9665;408;537;124710826;1090359 + 1343;9672;408;537;124710826;1090359 + 1344;9684;408;537;124710826;1090359 + 1345;9688;408;538;124710826;1100047 + 1346;9696;408;538;124710826;1100047 + 1347;9702;408;539;124710826;1109749 + 1348;9708;408;539;124710826;1109749 + 1349;9720;408;539;124710826;1109749 + 1350;9721;408;540;124710826;1119470 + 1351;9732;408;540;124710826;1119470 + 1352;9737;408;541;124710826;1129207 + 1353;9744;408;541;124710826;1129207 + 1354;9756;408;541;124710826;1129207 + 1355;9756;408;542;124710826;1138963 + 1356;9768;408;542;124710826;1138963 + 1357;9774;408;543;124710826;1148737 + 1358;9780;408;543;124710826;1148737 + 1359;9789;408;544;124710826;1158526 + 1360;9792;408;544;124710826;1158526 + 1361;9804;408;544;124710826;1158526 + 1362;9812;418;545;122397635;1093788 + 1363;9816;418;545;122397635;1093788 + 1364;9828;418;545;122397635;1093788 + 1365;9828;421;546;117319503;1080948 + 1366;9840;421;546;117319503;1080948 + 1367;9847;421;547;117319503;1090795 + 1368;9852;421;547;117319503;1090795 + 1369;9864;421;547;117319503;1090795 + 1370;9870;421;548;117319503;1100665 + 1371;9876;421;548;117319503;1100665 + 1372;9888;421;548;117319503;1100665 + 1373;9892;421;549;117319503;1110557 + 1374;9900;421;549;117319503;1110557 + 1375;9905;421;550;117319503;1120462 + 1376;9912;421;550;117319503;1120462 + 1377;9924;421;550;117319503;1120462 + 1378;9924;421;551;117319503;1130386 + 1379;9936;421;551;117319503;1130386 + 1380;9941;421;552;117319503;1140327 + 1381;9948;421;552;117319503;1140327 + 1382;9959;421;553;117319503;1150286 + 1383;9960;421;553;117319503;1150286 + 1384;9972;421;553;117319503;1150286 + 1385;9974;421;554;117319503;1160260 + 1386;9984;421;554;117319503;1160260 + 1387;9995;429;555;122897191;1108998 + 1388;9996;429;555;122897191;1108998 + 1389;10008;429;555;122897191;1108998 + 1390;10018;429;556;122897191;1119016 + 1391;10020;429;556;122897191;1119016 + 1392;10032;429;556;122897191;1119016 + 1393;10036;429;557;122897191;1129052 + 1394;10044;429;557;122897191;1129052 + 1395;10054;429;558;122897191;1139106 + 1396;10056;429;558;122897191;1139106 + 1397;10068;429;558;122897191;1139106 + 1398;10068;429;559;122897191;1149174 + 1399;10080;429;559;122897191;1149174 + 1400;10080;434;560;119540814;1120340 + 1401;10092;434;560;119540814;1120340 + 1402;10095;434;561;119540814;1130435 + 1403;10104;434;561;119540814;1130435 + 1404;10116;434;561;119540814;1130435 + 1405;10117;434;562;119540814;1140552 + 1406;10128;434;562;119540814;1140552 + 1407;10140;434;562;119540814;1140552 + 1408;10140;434;563;119540814;1150692 + 1409;10152;434;563;119540814;1150692 + 1410;10155;434;564;119540814;1160847 + 1411;10164;434;564;119540814;1160847 + 1412;10174;434;565;119540814;1171021 + 1413;10176;434;565;119540814;1171021 + 1414;10188;434;565;119540814;1171021 + 1415;10189;434;566;119540814;1181210 + 1416;10200;434;566;119540814;1181210 + 1417;10207;434;567;119540814;1191417 + 1418;10212;434;567;119540814;1191417 + 1419;10221;434;568;119540814;1201638 + 1420;10224;434;568;119540814;1201638 + 1421;10236;434;568;119540814;1201638 + 1422;10237;434;569;119540814;1211875 + 1423;10248;434;569;119540814;1211875 + 1424;10250;434;570;119540814;1222125 + 1425;10260;434;570;119540814;1222125 + 1426;10265;434;571;119540814;1232390 + 1427;10272;434;571;119540814;1232390 + 1428;10284;434;571;119540814;1232390 + 1429;10286;434;572;119540814;1242676 + 1430;10296;434;572;119540814;1242676 + 1431;10306;441;573;118981574;1197643 + 1432;10308;441;573;118981574;1197643 + 1433;10320;441;573;118981574;1197643 + 1434;10330;442;574;120894565;1200000 + 1435;10332;442;574;120894565;1200000 + 1436;10344;442;574;120894565;1200000 + 1437;10353;442;575;120894565;1210353 + 1438;10356;442;575;120894565;1210353 + 1439;10368;442;575;120894565;1210353 + 1440;10377;442;576;120894565;1220730 + 1441;10380;442;576;120894565;1220730 + 1442;10392;442;576;120894565;1220730 + 1443;10395;442;577;120894565;1231125 + 1444;10404;442;577;120894565;1231125 + 1445;10416;442;577;120894565;1231125 + 1446;10419;445;578;125314150;1217515 + 1447;10428;445;578;125314150;1217515 + 1448;10440;445;578;125314150;1217515 + 1449;10442;445;579;125314150;1227957 + 1450;10452;445;579;125314150;1227957 + 1451;10463;445;580;125314150;1238420 + 1452;10464;445;580;125314150;1238420 + 1453;10476;445;580;125314150;1238420 + 1454;10486;448;581;129593325;1224727 + 1455;10488;448;581;129593325;1224727 + 1456;10500;448;581;129593325;1224727 + 1457;10510;456;582;127726171;1170023 + 1458;10512;456;582;127726171;1170023 + 1459;10524;456;582;127726171;1170023 + 1460;10532;456;583;127726171;1180555 + 1461;10536;456;583;127726171;1180555 + 1462;10548;463;583;123673630;1122477 + 1463;10554;463;584;123673630;1133031 + 1464;10560;463;584;123673630;1133031 + 1465;10572;463;584;123673630;1133031 + 1466;10574;463;585;123673630;1143605 + 1467;10584;463;585;123673630;1143605 + 1468;10596;463;585;123673630;1143605 + 1469;10596;463;586;123673630;1154201 + 1470;10608;463;586;123673630;1154201 + 1471;10620;463;586;123673630;1154201 + 1472;10620;463;587;123673630;1164821 + 1473;10632;463;587;123673630;1164821 + 1474;10639;463;588;123673630;1175460 + 1475;10644;463;588;123673630;1175460 + 1476;10656;463;588;123673630;1175460 + 1477;10661;463;589;123673630;1186121 + 1478;10668;463;589;123673630;1186121 + 1479;10678;463;590;123673630;1196799 + 1480;10680;463;590;123673630;1196799 + 1481;10691;463;591;123673630;1207490 + 1482;10692;463;591;123673630;1207490 + 1483;10704;463;591;123673630;1207490 + 1484;10709;463;592;123673630;1218199 + 1485;10716;463;592;123673630;1218199 + 1486;10723;463;593;123673630;1228922 + 1487;10728;463;593;123673630;1228922 + 1488;10737;464;594;125709382;1231286 + 1489;10740;464;594;125709382;1231286 + 1490;10752;464;594;125709382;1231286 + 1491;10756;464;595;125709382;1242042 + 1492;10764;464;595;125709382;1242042 + 1493;10771;464;596;125709382;1252813 + 1494;10776;464;596;125709382;1252813 + 1495;10783;464;597;125709382;1263596 + 1496;10788;464;597;125709382;1263596 + 1497;10800;464;597;125709382;1263596 + 1498;10806;473;598;128001891;1198244 + 1499;10812;473;598;128001891;1198244 + 1500;10821;475;599;130510308;1191943 + 1501;10824;475;599;130510308;1191943 + 1502;10836;475;599;130510308;1191943 + 1503;10837;475;600;130510308;1202780 + 1504;10848;475;600;130510308;1202780 + 1505;10859;475;601;130510308;1213639 + 1506;10860;475;601;130510308;1213639 + 1507;10872;475;601;130510308;1213639 + 1508;10883;475;602;130510308;1224522 + 1509;10884;475;602;130510308;1224522 + 1510;10896;475;602;130510308;1224522 + 1511;10897;475;603;130510308;1235419 + 1512;10908;475;603;130510308;1235419 + 1513;10909;475;604;130510308;1246328 + 1514;10920;475;604;130510308;1246328 + 1515;10930;479;605;132749440;1222791 + 1516;10932;479;605;132749440;1222791 + 1517;10944;479;605;132749440;1222791 + 1518;10946;479;606;132749440;1233737 + 1519;10956;479;606;132749440;1233737 + 1520;10959;479;607;132749440;1244696 + 1521;10968;479;607;132749440;1244696 + 1522;10980;479;607;132749440;1244696 + 1523;10982;479;608;132749440;1255678 + 1524;10992;479;608;132749440;1255678 + 1525;11004;479;608;132749440;1255678 + 1526;11006;479;609;132749440;1266684 + 1527;11016;479;609;132749440;1266684 + 1528;11028;479;609;132749440;1266684 + 1529;11030;479;610;132749440;1277714 + 1530;11040;479;610;132749440;1277714 + 1531;11049;479;611;132749440;1288763 + 1532;11052;479;611;132749440;1288763 + 1533;11064;479;611;132749440;1288763 + 1534;11069;479;612;132749440;1299832 + 1535;11076;479;612;132749440;1299832 + 1536;11085;479;613;132749440;1310917 + 1537;11088;479;613;132749440;1310917 + 1538;11099;479;614;132749440;1322016 + 1539;11100;479;614;132749440;1322016 + 1540;11112;479;614;132749440;1322016 + 1541;11117;479;615;132749440;1333133 + 1542;11124;479;615;132749440;1333133 + 1543;11134;489;616;132976820;1256870 + 1544;11136;489;616;132976820;1256870 + 1545;11147;492;617;126798366;1241463 + 1546;11148;492;617;126798366;1241463 + 1547;11160;492;617;126798366;1241463 + 1548;11164;492;618;126798366;1252627 + 1549;11172;492;618;126798366;1252627 + 1550;11182;492;619;126798366;1263809 + 1551;11184;492;619;126798366;1263809 + 1552;11196;492;619;126798366;1263809 + 1553;11201;497;620;131758084;1230373 + 1554;11208;497;620;131758084;1230373 + 1555;11213;497;621;131758084;1241586 + 1556;11220;497;621;131758084;1241586 + 1557;11232;497;621;131758084;1241586 + 1558;11235;497;622;131758084;1252821 + 1559;11244;497;622;131758084;1252821 + 1560;11250;497;623;131758084;1264071 + 1561;11256;497;623;131758084;1264071 + 1562;11265;497;624;131758084;1275336 + 1563;11268;497;624;131758084;1275336 + 1564;11280;497;624;131758084;1275336 + 1565;11282;497;625;131758084;1286618 + 1566;11292;497;625;131758084;1286618 + 1567;11296;497;626;131758084;1297914 + 1568;11304;497;626;131758084;1297914 + 1569;11316;497;626;131758084;1297914 + 1570;11316;497;627;131758084;1309230 + 1571;11328;497;627;131758084;1309230 + 1572;11340;497;627;131758084;1309230 + 1573;11340;497;628;131758084;1320570 + 1574;11352;497;628;131758084;1320570 + 1575;11364;497;628;131758084;1320570 + 1576;11364;497;629;131758084;1331934 + 1577;11376;497;629;131758084;1331934 + 1578;11380;497;630;131758084;1343314 + 1579;11388;497;630;131758084;1343314 + 1580;11392;497;631;131758084;1354706 + 1581;11400;497;631;131758084;1354706 + 1582;11410;497;632;131758084;1366116 + 1583;11412;497;632;131758084;1366116 + 1584;11424;497;632;131758084;1366116 + 1585;11425;501;633;130122250;1341507 + 1586;11436;501;633;130122250;1341507 + 1587;11442;501;634;130122250;1352949 + 1588;11448;501;634;130122250;1352949 + 1589;11460;501;634;130122250;1352949 + 1590;11466;501;635;130122250;1364415 + 1591;11472;501;635;130122250;1364415 + 1592;11482;501;636;130122250;1375897 + 1593;11484;501;636;130122250;1375897 + 1594;11494;511;637;130189074;1296073 + 1595;11496;511;637;130189074;1296073 + 1596;11508;511;637;130189074;1296073 + 1597;11514;513;638;131681440;1289116 + 1598;11520;513;638;131681440;1289116 + 1599;11532;513;638;131681440;1289116 + 1600;11532;513;639;131681440;1300648 + 1601;11544;513;639;131681440;1300648 + 1602;11556;513;639;131681440;1300648 + 1603;11556;513;640;131681440;1312204 + 1604;11568;513;640;131681440;1312204 + 1605;11570;513;641;131681440;1323774 + 1606;11580;513;641;131681440;1323774 + 1607;11586;513;642;131681440;1335360 + 1608;11592;513;642;131681440;1335360 + 1609;11603;513;643;131681440;1346963 + 1610;11604;513;643;131681440;1346963 + 1611;11616;513;643;131681440;1346963 + 1612;11617;513;644;131681440;1358580 + 1613;11628;513;644;131681440;1358580 + 1614;11640;513;644;131681440;1358580 + 1615;11640;513;645;131681440;1370220 + 1616;11652;513;645;131681440;1370220 + 1617;11664;516;645;135805666;1342361 + 1618;11664;516;646;135805666;1354025 + 1619;11676;516;646;135805666;1354025 + 1620;11677;516;647;135805666;1365702 + 1621;11688;516;647;135805666;1365702 + 1622;11698;516;648;135805666;1377400 + 1623;11700;516;648;135805666;1377400 + 1624;11712;516;648;135805666;1377400 + 1625;11717;516;649;135805666;1389117 + 1626;11724;516;649;135805666;1389117 + 1627;11735;525;650;133913160;1316370 + 1628;11736;525;650;133913160;1316370 + 1629;11748;525;650;133913160;1316370 + 1630;11750;525;651;133913160;1328120 + 1631;11760;525;651;133913160;1328120 + 1632;11766;525;652;133913160;1339886 + 1633;11772;525;652;133913160;1339886 + 1634;11780;525;653;133913160;1351666 + 1635;11784;525;653;133913160;1351666 + 1636;11793;526;654;135819612;1353975 + 1637;11796;526;654;135819612;1353975 + 1638;11808;526;654;135819612;1353975 + 1639;11813;526;655;135819612;1365788 + 1640;11820;526;655;135819612;1365788 + 1641;11829;526;656;135819612;1377617 + 1642;11832;526;656;135819612;1377617 + 1643;11844;526;656;135819612;1377617 + 1644;11849;526;657;135819612;1389466 + 1645;11856;526;657;135819612;1389466 + 1646;11868;526;657;135819612;1389466 + 1647;11873;526;658;135819612;1401339 + 1648;11880;526;658;135819612;1401339 + 1649;11888;526;659;135819612;1413227 + 1650;11892;526;659;135819612;1413227 + 1651;11904;526;659;135819612;1413227 + 1652;11907;526;660;135819612;1425134 + 1653;11916;526;660;135819612;1425134 + 1654;11928;526;660;135819612;1425134 + 1655;11931;526;661;135819612;1437065 + 1656;11940;526;661;135819612;1437065 + 1657;11952;526;661;135819612;1437065 + 1658;11954;532;662;136968047;1391761 + 1659;11964;532;662;136968047;1391761 + 1660;11968;532;663;136968047;1403729 + 1661;11976;532;663;136968047;1403729 + 1662;11988;532;663;136968047;1403729 + 1663;11988;532;664;136968047;1415717 + 1664;12000;532;664;136968047;1415717 + 1665;12006;532;665;136968047;1427723 + 1666;12012;532;665;136968047;1427723 + 1667;12024;532;665;136968047;1427723 + 1668;12027;542;666;136682370;1342828 + 1669;12036;543;666;136476678;1333039 + 1670;12046;543;667;136476678;1345085 + 1671;12048;543;667;136476678;1345085 + 1672;12060;543;667;136476678;1345085 + 1673;12069;543;668;136476678;1357154 + 1674;12072;543;668;136476678;1357154 + 1675;12084;543;668;136476678;1357154 + 1676;12092;543;669;136476678;1369246 + 1677;12096;543;669;136476678;1369246 + 1678;12108;543;669;136476678;1369246 + 1679;12113;543;670;136476678;1381359 + 1680;12120;543;670;136476678;1381359 + 1681;12125;543;671;136476678;1393484 + 1682;12132;543;671;136476678;1393484 + 1683;12141;543;672;136476678;1405625 + 1684;12144;543;672;136476678;1405625 + 1685;12156;543;672;136476678;1405625 + 1686;12165;543;673;136476678;1417790 + 1687;12168;543;673;136476678;1417790 + 1688;12180;543;673;136476678;1417790 + 1689;12185;543;674;136476678;1429975 + 1690;12192;543;674;136476678;1429975 + 1691;12204;543;674;136476678;1429975 + 1692;12209;543;675;136476678;1442184 + 1693;12216;543;675;136476678;1442184 + 1694;12227;549;676;139723890;1395257 + 1695;12228;549;676;139723890;1395257 + 1696;12239;549;677;139723890;1407496 + 1697;12240;549;677;139723890;1407496 + 1698;12252;549;677;139723890;1407496 + 1699;12253;549;678;139723890;1419749 + 1700;12264;549;678;139723890;1419749 + 1701;12275;549;679;139723890;1432024 + 1702;12276;549;679;139723890;1432024 + 1703;12288;549;679;139723890;1432024 + 1704;12291;549;680;139723890;1444315 + 1705;12300;549;680;139723890;1444315 + 1706;12303;549;681;139723890;1456618 + 1707;12312;549;681;139723890;1456618 + 1708;12323;549;682;139723890;1468941 + 1709;12324;549;682;139723890;1468941 + 1710;12336;549;682;139723890;1468941 + 1711;12345;549;683;139723890;1481286 + 1712;12348;549;683;139723890;1481286 + 1713;12360;549;683;139723890;1481286 + 1714;12369;556;684;138951278;1423808 + 1715;12372;556;684;138951278;1423808 + 1716;12381;556;685;138951278;1436189 + 1717;12384;556;685;138951278;1436189 + 1718;12396;556;685;138951278;1436189 + 1719;12399;563;686;134266560;1377879 + 1720;12408;563;686;134266560;1377879 + 1721;12412;563;687;134266560;1390291 + 1722;12420;563;687;134266560;1390291 + 1723;12432;563;687;134266560;1390291 + 1724;12436;563;688;134266560;1402727 + 1725;12444;563;688;134266560;1402727 + 1726;12456;563;688;134266560;1402727 + 1727;12459;563;689;134266560;1415186 + 1728;12468;563;689;134266560;1415186 + 1729;12478;563;690;134266560;1427664 + 1730;12480;563;690;134266560;1427664 + 1731;12492;563;690;134266560;1427664 + 1732;12500;563;691;134266560;1440164 + 1733;12504;563;691;134266560;1440164 + 1734;12516;563;691;134266560;1440164 + 1735;12520;563;692;134266560;1452684 + 1736;12528;563;692;134266560;1452684 + 1737;12532;563;693;134266560;1465216 + 1738;12540;563;693;134266560;1465216 + 1739;12552;563;693;134266560;1465216 + 1740;12555;563;694;134266560;1477771 + 1741;12564;563;694;134266560;1477771 + 1742;12572;569;695;142945578;1429065 + 1743;12576;569;695;142945578;1429065 + 1744;12588;569;695;142945578;1429065 + 1745;12588;569;696;142945578;1441653 + 1746;12600;569;696;142945578;1441653 + 1747;12606;569;697;142945578;1454259 + 1748;12612;569;697;142945578;1454259 + 1749;12624;569;697;142945578;1454259 + 1750;12629;569;698;142945578;1466888 + 1751;12636;569;698;142945578;1466888 + 1752;12641;571;699;137442366;1458978 + 1753;12648;571;699;137442366;1458978 + 1754;12660;571;699;137442366;1458978 + 1755;12665;571;700;137442366;1471643 + 1756;12672;571;700;137442366;1471643 + 1757;12678;571;701;137442366;1484321 + 1758;12684;571;701;137442366;1484321 + 1759;12696;571;701;137442366;1484321 + 1760;12698;571;702;137442366;1497019 + 1761;12708;571;702;137442366;1497019 + 1762;12712;571;703;137442366;1509731 + 1763;12720;577;703;137842819;1447551 + 1764;12732;577;703;137842819;1447551 + 1765;12733;577;704;137842819;1460284 + 1766;12744;577;704;137842819;1460284 + 1767;12753;577;705;137842819;1473037 + 1768;12756;577;705;137842819;1473037 + 1769;12768;577;705;137842819;1473037 + 1770;12769;577;706;137842819;1485806 + 1771;12780;577;706;137842819;1485806 + 1772;12783;577;707;137842819;1498589 + 1773;12792;577;707;137842819;1498589 + 1774;12800;577;708;137842819;1511389 + 1775;12804;577;708;137842819;1511389 + 1776;12812;577;709;137842819;1524201 + 1777;12816;577;709;137842819;1524201 + 1778;12828;577;709;137842819;1524201 + 1779;12828;577;710;137842819;1537029 + 1780;12840;577;710;137842819;1537029 + 1781;12844;577;711;137842819;1549873 + 1782;12852;577;711;137842819;1549873 + 1783;12864;577;711;137842819;1549873 + 1784;12866;581;712;133784882;1520838 + 1785;12876;581;712;133784882;1520838 + 1786;12888;581;712;133784882;1520838 + 1787;12890;581;713;133784882;1533728 + 1788;12900;581;713;133784882;1533728 + 1789;12908;583;714;137819230;1525550 + 1790;12912;583;714;137819230;1525550 + 1791;12924;583;714;137819230;1525550 + 1792;12929;583;715;137819230;1538479 + 1793;12936;583;715;137819230;1538479 + 1794;12948;583;715;137819230;1538479 + 1795;12948;583;716;137819230;1551427 + 1796;12960;583;716;137819230;1551427 + 1797;12968;583;717;137819230;1564395 + 1798;12972;583;717;137819230;1564395 + 1799;12984;587;717;140313370;1521966 + 1800;12991;587;718;140313370;1534957 + 1801;12996;587;718;140313370;1534957 + 1802;13006;587;719;140313370;1547963 + 1803;13008;587;719;140313370;1547963 + 1804;13020;587;719;140313370;1547963 + 1805;13020;587;720;140313370;1560983 + 1806;13032;587;720;140313370;1560983 + 1807;13035;587;721;140313370;1574018 + 1808;13044;587;721;140313370;1574018 + 1809;13056;587;721;140313370;1574018 + 1810;13059;587;722;140313370;1587077 + 1811;13068;587;722;140313370;1587077 + 1812;13080;587;722;140313370;1587077 + 1813;13080;587;723;140313370;1600157 + 1814;13092;587;723;140313370;1600157 + 1815;13102;603;724;135299942;1440738 + 1816;13104;603;724;135299942;1440738 + 1817;13116;603;724;135299942;1440738 + 1818;13123;603;725;135299942;1453861 + 1819;13128;603;725;135299942;1453861 + 1820;13140;603;725;135299942;1453861 + 1821;13142;603;726;135299942;1467003 + 1822;13152;603;726;135299942;1467003 + 1823;13156;603;727;135299942;1480159 + 1824;13164;603;727;135299942;1480159 + 1825;13176;603;727;135299942;1480159 + 1826;13180;603;728;135299942;1493339 + 1827;13188;603;728;135299942;1493339 + 1828;13200;603;728;135299942;1493339 + 1829;13201;603;729;135299942;1506540 + 1830;13212;603;729;135299942;1506540 + 1831;13213;603;730;135299942;1519753 + 1832;13224;603;730;135299942;1519753 + 1833;13231;603;731;135299942;1532984 + 1834;13236;603;731;135299942;1532984 + 1835;13248;603;731;135299942;1532984 + 1836;13248;603;732;135299942;1546232 + 1837;13260;603;732;135299942;1546232 + 1838;13266;603;733;135299942;1559498 + 1839;13272;603;733;135299942;1559498 + 1840;13283;608;734;142471772;1517958 + 1841;13284;608;734;142471772;1517958 + 1842;13296;608;734;142471772;1517958 + 1843;13306;608;735;142471772;1531264 + 1844;13308;608;735;142471772;1531264 + 1845;13319;608;736;142471772;1544583 + 1846;13320;608;736;142471772;1544583 + 1847;13332;608;736;142471772;1544583 + 1848;13335;608;737;142471772;1557918 + 1849;13344;608;737;142471772;1557918 + 1850;13356;608;737;142471772;1557918 + 1851;13357;608;738;142471772;1571275 + 1852;13368;608;738;142471772;1571275 + 1853;13379;608;739;142471772;1584654 + 1854;13380;608;739;142471772;1584654 + 1855;13392;608;739;142471772;1584654 + 1856;13402;608;740;142471772;1598056 + 1857;13404;608;740;142471772;1598056 + 1858;13415;608;741;142471772;1611471 + 1859;13416;608;741;142471772;1611471 + 1860;13428;608;741;142471772;1611471 + 1861;13433;608;742;142471772;1624904 + 1862;13440;608;742;142471772;1624904 + 1863;13452;608;742;142471772;1624904 + 1864;13455;608;743;142471772;1638359 + 1865;13464;608;743;142471772;1638359 + 1866;13469;618;744;142544938;1540752 + 1867;13476;618;744;142544938;1540752 + 1868;13488;618;744;142544938;1540752 + 1869;13490;619;745;144070413;1543041 + 1870;13500;619;745;144070413;1543041 + 1871;13507;619;746;144070413;1556548 + 1872;13512;619;746;144070413;1556548 + 1873;13524;619;746;144070413;1556548 + 1874;13525;619;747;144070413;1570073 + 1875;13536;619;747;144070413;1570073 + 1876;13540;619;748;144070413;1583613 + 1877;13548;619;748;144070413;1583613 + 1878;13560;619;748;144070413;1583613 + 1879;13564;619;749;144070413;1597177 + 1880;13572;619;749;144070413;1597177 + 1881;13584;619;749;144070413;1597177 + 1882;13584;623;750;139484972;1565798 + 1883;13596;623;750;139484972;1565798 + 1884;13598;623;751;139484972;1579396 + 1885;13608;623;751;139484972;1579396 + 1886;13615;623;752;139484972;1593011 + 1887;13620;623;752;139484972;1593011 + 1888;13632;623;752;139484972;1593011 + 1889;13632;623;753;139484972;1606643 + 1890;13644;623;753;139484972;1606643 + 1891;13650;623;754;139484972;1620293 + 1892;13656;623;754;139484972;1620293 + 1893;13664;623;755;139484972;1633957 + 1894;13668;623;755;139484972;1633957 + 1895;13680;623;755;139484972;1633957 + 1896;13687;627;756;143917626;1602410 + 1897;13692;627;756;143917626;1602410 + 1898;13699;627;757;143917626;1616109 + 1899;13704;627;757;143917626;1616109 + 1900;13716;627;757;143917626;1616109 + 1901;13720;628;758;146196508;1618465 + 1902;13728;628;758;146196508;1618465 + 1903;13740;628;758;146196508;1618465 + 1904;13742;628;759;146196508;1632207 + 1905;13752;628;759;146196508;1632207 + 1906;13761;628;760;146196508;1645968 + 1907;13764;628;760;146196508;1645968 + 1908;13776;628;760;146196508;1645968 + 1909;13777;628;761;146196508;1659745 + 1910;13788;636;761;142257367;1568254 + 1911;13796;636;762;142257367;1582050 + 1912;13800;636;762;142257367;1582050 + 1913;13812;636;762;142257367;1582050 + 1914;13812;641;763;134358504;1538104 + 1915;13824;641;763;134358504;1538104 + 1916;13833;641;764;134358504;1551937 + 1917;13836;641;764;134358504;1551937 + 1918;13848;641;764;134358504;1551937 + 1919;13852;646;765;136019658;1507588 + 1920;13860;646;765;136019658;1507588 + 1921;13872;646;765;136019658;1507588 + 1922;13876;648;766;137621248;1498049 + 1923;13884;648;766;137621248;1498049 + 1924;13896;648;766;137621248;1498049 + 1925;13899;648;767;137621248;1511948 + 1926;13908;648;767;137621248;1511948 + 1927;13920;648;767;137621248;1511948 + 1928;13921;648;768;137621248;1525869 + 1929;13932;648;768;137621248;1525869 + 1930;13934;648;769;137621248;1539803 + 1931;13944;648;769;137621248;1539803 + 1932;13956;648;769;137621248;1539803 + 1933;13958;649;770;139136885;1542026 + 1934;13968;649;770;139136885;1542026 + 1935;13980;649;770;139136885;1542026 + 1936;13981;649;771;139136885;1556007 + 1937;13992;649;771;139136885;1556007 + 1938;14001;649;772;139136885;1570008 + 1939;14004;649;772;139136885;1570008 + 1940;14016;649;772;139136885;1570008 + 1941;14021;649;773;139136885;1584029 + 1942;14028;649;773;139136885;1584029 + 1943;14040;649;773;139136885;1584029 + 1944;14045;649;774;139136885;1598074 + 1945;14052;649;774;139136885;1598074 + 1946;14057;649;775;139136885;1612131 + 1947;14064;649;775;139136885;1612131 + 1948;14074;649;776;139136885;1626205 + 1949;14076;649;776;139136885;1626205 + 1950;14088;649;776;139136885;1626205 + 1951;14092;649;777;139136885;1640297 + 1952;14100;649;777;139136885;1640297 + 1953;14110;649;778;139136885;1654407 + 1954;14112;649;778;139136885;1654407 + 1955;14124;649;778;139136885;1654407 + 1956;14134;651;779;134036973;1645025 + 1957;14136;651;779;134036973;1645025 + 1958;14148;651;779;134036973;1645025 + 1959;14152;651;780;134036973;1659177 + 1960;14160;651;780;134036973;1659177 + 1961;14172;651;780;134036973;1659177 + 1962;14172;651;781;134036973;1673349 + 1963;14184;651;781;134036973;1673349 + 1964;14189;651;782;134036973;1687538 + 1965;14196;651;782;134036973;1687538 + 1966;14206;666;783;137414143;1523092 + 1967;14208;666;783;137414143;1523092 + 1968;14220;666;783;137414143;1523092 + 1969;14229;666;784;137414143;1537321 + 1970;14232;666;784;137414143;1537321 + 1971;14244;666;784;137414143;1537321 + 1972;14250;666;785;137414143;1551571 + 1973;14256;666;785;137414143;1551571 + 1974;14264;666;786;137414143;1565835 + 1975;14268;666;786;137414143;1565835 + 1976;14280;666;786;137414143;1565835 + 1977;14286;666;787;137414143;1580121 + 1978;14292;666;787;137414143;1580121 + 1979;14304;666;787;137414143;1580121 + 1980;14309;666;788;137414143;1594430 + 1981;14316;666;788;137414143;1594430 + 1982;14326;666;789;137414143;1608756 + 1983;14328;666;789;137414143;1608756 + 1984;14340;666;789;137414143;1608756 + 1985;14341;666;790;137414143;1623097 + 1986;14352;666;790;137414143;1623097 + 1987;14359;666;791;137414143;1637456 + 1988;14364;666;791;137414143;1637456 + 1989;14376;666;791;137414143;1637456 + 1990;14377;666;792;137414143;1651833 + 1991;14388;666;792;137414143;1651833 + 1992;14390;666;793;137414143;1666223 + 1993;14400;666;793;137414143;1666223 + 1994;14411;666;794;137414143;1680634 + 1995;14412;666;794;137414143;1680634 + 1996;14424;666;794;137414143;1680634 + 1997;14428;666;795;137414143;1695062 + 1998;14436;666;795;137414143;1695062 + 1999;14447;666;796;137414143;1709509 + 2000;14448;666;796;137414143;1709509 + 2001;14460;666;796;137414143;1709509 + 2002;14469;666;797;137414143;1723978 + 2003;14472;666;797;137414143;1723978 + 2004;14484;666;797;137414143;1723978 + 2005;14492;666;798;137414143;1738470 + 2006;14496;666;798;137414143;1738470 + 2007;14508;671;798;131749065;1677930 + 2008;14508;671;799;131749065;1692438 + 2009;14520;671;799;131749065;1692438 + 2010;14529;671;800;131749065;1706967 + 2011;14532;671;800;131749065;1706967 + 2012;14544;671;800;131749065;1706967 + 2013;14546;671;801;131749065;1721513 + 2014;14556;671;801;131749065;1721513 + 2015;14568;671;801;131749065;1721513 + 2016;14570;671;802;131749065;1736083 + 2017;14580;671;802;131749065;1736083 + 2018;14591;671;803;131749065;1750674 + 2019;14592;671;803;131749065;1750674 + 2020;14604;671;803;131749065;1750674 + 2021;14605;671;804;131749065;1765279 + 2022;14616;671;804;131749065;1765279 + 2023;14617;671;805;131749065;1779896 + 2024;14628;671;805;131749065;1779896 + 2025;14631;675;806;135610576;1745741 + 2026;14640;675;806;135610576;1745741 + 2027;14646;675;807;135610576;1760387 + 2028;14652;675;807;135610576;1760387 + 2029;14658;675;808;135610576;1775045 + 2030;14664;675;808;135610576;1775045 + 2031;14676;675;808;135610576;1775045 + 2032;14680;681;809;136654303;1716041 + 2033;14688;681;809;136654303;1716041 + 2034;14700;681;809;136654303;1716041 + 2035;14701;681;810;136654303;1730742 + 2036;14712;681;810;136654303;1730742 + 2037;14716;681;811;136654303;1745458 + 2038;14724;681;811;136654303;1745458 + 2039;14736;681;811;136654303;1745458 + 2040;14740;688;812;139084509;1673397 + 2041;14748;688;812;139084509;1673397 + 2042;14760;688;812;139084509;1673397 + 2043;14764;688;813;139084509;1688161 + 2044;14772;688;813;139084509;1688161 + 2045;14783;689;814;141021134;1690466 + 2046;14784;689;814;141021134;1690466 + 2047;14796;689;814;141021134;1690466 + 2048;14799;689;815;141021134;1705265 + 2049;14808;689;815;141021134;1705265 + 2050;14820;689;815;141021134;1705265 + 2051;14822;689;816;141021134;1720087 + 2052;14832;689;816;141021134;1720087 + 2053;14844;689;816;141021134;1720087 + 2054;14846;689;817;141021134;1734933 + 2055;14856;689;817;141021134;1734933 + 2056;14861;689;818;141021134;1749794 + 2057;14868;689;818;141021134;1749794 + 2058;14880;689;818;141021134;1749794 + 2059;14884;689;819;141021134;1764678 + 2060;14892;689;819;141021134;1764678 + 2061;14904;689;819;141021134;1764678 + 2062;14904;689;820;141021134;1779582 + 2063;14916;689;820;141021134;1779582 + 2064;14918;696;821;140582575;1706627 + 2065;14928;696;821;140582575;1706627 + 2066;14932;696;822;140582575;1721559 + 2067;14940;696;822;140582575;1721559 + 2068;14949;696;823;140582575;1736508 + 2069;14952;696;823;140582575;1736508 + 2070;14964;696;823;140582575;1736508 + 2071;14965;696;824;140582575;1751473 + 2072;14976;696;824;140582575;1751473 + 2073;14986;697;825;142823313;1753830 + 2074;14988;697;825;142823313;1753830 + 2075;15000;697;825;142823313;1753830 + 2076;15010;697;826;142823313;1768840 + 2077;15012;697;826;142823313;1768840 + 2078;15024;697;826;142823313;1768840 + 2079;15027;705;827;137607117;1682218 + 2080;15036;705;827;137607117;1682218 + 2081;15044;705;828;137607117;1697262 + 2082;15048;705;828;137607117;1697262 + 2083;15058;705;829;137607117;1712320 + 2084;15060;705;829;137607117;1712320 + 2085;15072;705;829;137607117;1712320 + 2086;15073;705;830;137607117;1727393 + 2087;15084;705;830;137607117;1727393 + 2088;15091;711;831;133963589;1665551 + 2089;15096;711;831;133963589;1665551 + 2090;15106;711;832;133963589;1680657 + 2091;15108;711;832;133963589;1680657 + 2092;15120;711;832;133963589;1680657 + 2093;15129;711;833;133963589;1695786 + 2094;15132;711;833;133963589;1695786 + 2095;15144;711;833;133963589;1695786 + 2096;15150;711;834;133963589;1710936 + 2097;15156;711;834;133963589;1710936 + 2098;15166;714;835;135489947;1687375 + 2099;15168;714;835;135489947;1687375 + 2100;15180;714;835;135489947;1687375 + 2101;15190;714;836;135489947;1702565 + 2102;15192;714;836;135489947;1702565 + 2103;15204;714;836;135489947;1702565 + 2104;15208;717;837;138320167;1678866 + 2105;15216;717;837;138320167;1678866 + 2106;15228;717;837;138320167;1678866 + 2107;15228;717;838;138320167;1694094 + 2108;15240;717;838;138320167;1694094 + 2109;15247;717;839;138320167;1709341 + 2110;15252;717;839;138320167;1709341 + 2111;15259;717;840;138320167;1724600 + 2112;15264;717;840;138320167;1724600 + 2113;15276;717;840;138320167;1724600 + 2114;15283;717;841;138320167;1739883 + 2115;15288;717;841;138320167;1739883 + 2116;15300;717;841;138320167;1739883 + 2117;15303;717;842;138320167;1755186 + 2118;15312;719;842;139948845;1729160 + 2119;15317;719;843;139948845;1744477 + 2120;15324;719;843;139948845;1744477 + 2121;15336;719;843;139948845;1744477 + 2122;15339;719;844;139948845;1759816 + 2123;15348;719;844;139948845;1759816 + 2124;15356;719;845;139948845;1775172 + 2125;15360;719;845;139948845;1775172 + 2126;15372;719;845;139948845;1775172 + 2127;15379;719;846;139948845;1790551 + 2128;15384;719;846;139948845;1790551 + 2129;15395;719;847;139948845;1805946 + 2130;15396;719;847;139948845;1805946 + 2131;15408;719;847;139948845;1805946 + 2132;15415;719;848;139948845;1821361 + 2133;15420;719;848;139948845;1821361 + 2134;15432;719;848;139948845;1821361 + 2135;15437;721;849;135147205;1810704 + 2136;15444;721;849;135147205;1810704 + 2137;15456;721;849;135147205;1810704 + 2138;15458;721;850;135147205;1826162 + 2139;15468;721;850;135147205;1826162 + 2140;15478;721;851;135147205;1841640 + 2141;15480;721;851;135147205;1841640 + 2142;15492;721;851;135147205;1841640 + 2143;15493;725;852;138159291;1804686 + 2144;15504;725;852;138159291;1804686 + 2145;15513;725;853;138159291;1820199 + 2146;15516;725;853;138159291;1820199 + 2147;15528;725;853;138159291;1820199 + 2148;15534;731;854;134939204;1756504 + 2149;15540;731;854;134939204;1756504 + 2150;15552;731;854;134939204;1756504 + 2151;15554;731;855;134939204;1772058 + 2152;15564;731;855;134939204;1772058 + 2153;15568;731;856;134939204;1787626 + 2154;15576;731;856;134939204;1787626 + 2155;15583;731;857;134939204;1803209 + 2156;15588;731;857;134939204;1803209 + 2157;15595;731;858;134939204;1818804 + 2158;15600;731;858;134939204;1818804 + 2159;15612;731;858;134939204;1818804 + 2160;15616;731;859;134939204;1834420 + 2161;15624;731;859;134939204;1834420 + 2162;15628;731;860;134939204;1850048 + 2163;15636;731;860;134939204;1850048 + 2164;15645;731;861;134939204;1865693 + 2165;15648;731;861;134939204;1865693 + 2166;15658;731;862;134939204;1881351 + 2167;15660;731;862;134939204;1881351 + 2168;15672;731;862;134939204;1881351 + 2169;15679;731;863;134939204;1897030 + 2170;15684;731;863;134939204;1897030 + 2171;15696;731;863;134939204;1897030 + 2172;15699;731;864;134939204;1912729 + 2173;15708;731;864;134939204;1912729 + 2174;15720;731;864;134939204;1912729 + 2175;15721;731;865;134939204;1928450 + 2176;15732;731;865;134939204;1928450 + 2177;15744;731;865;134939204;1928450 + 2178;15744;741;866;130715956;1810699 + 2179;15756;741;866;130715956;1810699 + 2180;15758;742;867;132001838;1813002 + 2181;15768;742;867;132001838;1813002 + 2182;15779;746;868;134551793;1774790 + 2183;15780;746;868;134551793;1774790 + 2184;15792;746;868;134551793;1774790 + 2185;15792;746;869;134551793;1790582 + 2186;15804;746;869;134551793;1790582 + 2187;15815;746;870;134551793;1806397 + 2188;15816;746;870;134551793;1806397 + 2189;15828;746;870;134551793;1806397 + 2190;15838;754;871;130171251;1713388 + 2191;15840;754;871;130171251;1713388 + 2192;15852;754;871;130171251;1713388 + 2193;15855;754;872;130171251;1729243 + 2194;15864;754;872;130171251;1729243 + 2195;15870;754;873;130171251;1745113 + 2196;15876;754;873;130171251;1745113 + 2197;15888;754;873;130171251;1745113 + 2198;15888;754;874;130171251;1761001 + 2199;15900;754;874;130171251;1761001 + 2200;15906;757;875;132844892;1735801 + 2201;15912;757;875;132844892;1735801 + 2202;15924;757;875;132844892;1735801 + 2203;15928;757;876;132844892;1751729 + 2204;15936;757;876;132844892;1751729 + 2205;15948;757;876;132844892;1751729 + 2206;15950;757;877;132844892;1767679 + 2207;15960;757;877;132844892;1767679 + 2208;15963;757;878;132844892;1783642 + 2209;15972;757;878;132844892;1783642 + 2210;15980;757;879;132844892;1799622 + 2211;15984;757;879;132844892;1799622 + 2212;15993;757;880;132844892;1815615 + 2213;15996;757;880;132844892;1815615 + 2214;16008;757;880;132844892;1815615 + 2215;16009;757;881;132844892;1831624 + 2216;16020;757;881;132844892;1831624 + 2217;16026;757;882;132844892;1847650 + 2218;16032;757;882;132844892;1847650 + 2219;16039;757;883;132844892;1863689 + 2220;16044;757;883;132844892;1863689 + 2221;16056;757;883;132844892;1863689 + 2222;16057;758;884;134749971;1866004 + 2223;16068;758;884;134749971;1866004 + 2224;16069;758;885;134749971;1882073 + 2225;16080;758;885;134749971;1882073 + 2226;16084;758;886;134749971;1898157 + 2227;16092;758;886;134749971;1898157 + 2228;16104;758;886;134749971;1898157 + 2229;16108;758;887;134749971;1914265 + 2230;16116;758;887;134749971;1914265 + 2231;16120;758;888;134749971;1930385 + 2232;16128;758;888;134749971;1930385 + 2233;16136;758;889;134749971;1946521 + 2234;16140;758;889;134749971;1946521 + 2235;16152;758;889;134749971;1946521 + 2236;16153;758;890;134749971;1962674 + 2237;16164;758;890;134749971;1962674 + 2238;16176;758;890;134749971;1962674 + 2239;16177;768;891;133387087;1840390 + 2240;16188;768;891;133387087;1840390 + 2241;16197;771;892;126603215;1814647 + 2242;16200;771;892;126603215;1814647 + 2243;16211;771;893;126603215;1830858 + 2244;16212;771;893;126603215;1830858 + 2245;16224;771;893;126603215;1830858 + 2246;16234;773;894;127874898;1819026 + 2247;16236;773;894;127874898;1819026 + 2248;16248;773;894;127874898;1819026 + 2249;16251;773;895;127874898;1835277 + 2250;16260;773;895;127874898;1835277 + 2251;16272;773;895;127874898;1835277 + 2252;16274;773;896;127874898;1851551 + 2253;16284;773;896;127874898;1851551 + 2254;16294;773;897;127874898;1867845 + 2255;16296;773;897;127874898;1867845 + 2256;16308;773;897;127874898;1867845 + 2257;16312;773;898;127874898;1884157 + 2258;16320;773;898;127874898;1884157 + 2259;16325;773;899;127874898;1900482 + 2260;16332;773;899;127874898;1900482 + 2261;16344;773;899;127874898;1900482 + 2262;16344;773;900;127874898;1916826 + 2263;16356;773;900;127874898;1916826 + 2264;16366;773;901;127874898;1933192 + 2265;16368;773;901;127874898;1933192 + 2266;16380;773;901;127874898;1933192 + 2267;16384;773;902;127874898;1949576 + 2268;16392;773;902;127874898;1949576 + 2269;16402;773;903;127874898;1965978 + 2270;16404;773;903;127874898;1965978 + 2271;16416;773;903;127874898;1965978 + 2272;16426;773;904;127874898;1982404 + 2273;16428;773;904;127874898;1982404 + 2274;16440;773;904;127874898;1982404 + 2275;16450;775;905;130238100;1970723 + 2276;16452;775;905;130238100;1970723 + 2277;16464;775;905;130238100;1970723 + 2278;16468;775;906;130238100;1987191 + 2279;16476;775;906;130238100;1987191 + 2280;16481;775;907;130238100;2003672 + 2281;16488;775;907;130238100;2003672 + 2282;16494;775;908;130238100;2020166 + 2283;16500;775;908;130238100;2020166 + 2284;16506;775;909;130238100;2036672 + 2285;16512;775;909;130238100;2036672 + 2286;16524;775;909;130238100;2036672 + 2287;16528;775;910;130238100;2053200 + 2288;16536;775;910;130238100;2053200 + 2289;16548;775;910;130238100;2053200 + 2290;16548;775;911;130238100;2069748 + 2291;16560;775;911;130238100;2069748 + 2292;16569;781;912;127520862;2001468 + 2293;16572;781;912;127520862;2001468 + 2294;16583;781;913;127520862;2018051 + 2295;16584;781;913;127520862;2018051 + 2296;16596;781;913;127520862;2018051 + 2297;16607;783;914;131114760;2006223 + 2298;16608;783;914;131114760;2006223 + 2299;16620;783;914;131114760;2006223 + 2300;16627;783;915;131114760;2022850 + 2301;16632;783;915;131114760;2022850 + 2302;16644;783;915;131114760;2022850 + 2303;16650;783;916;131114760;2039500 + 2304;16656;783;916;131114760;2039500 + 2305;16663;783;917;131114760;2056163 + 2306;16668;783;917;131114760;2056163 + 2307;16680;783;917;131114760;2056163 + 2308;16684;786;918;134948442;2030047 + 2309;16692;786;918;134948442;2030047 + 2310;16701;786;919;134948442;2046748 + 2311;16704;786;919;134948442;2046748 + 2312;16715;786;920;134948442;2063463 + 2313;16716;786;920;134948442;2063463 + 2314;16728;786;920;134948442;2063463 + 2315;16739;786;921;134948442;2080202 + 2316;16740;786;921;134948442;2080202 + 2317;16752;786;921;134948442;2080202 + 2318;16758;786;922;134948442;2096960 + 2319;16764;786;922;134948442;2096960 + 2320;16776;798;922;135443580;1924103 + 2321;16780;798;923;135443580;1940883 + 2322;16788;798;923;135443580;1940883 + 2323;16796;798;924;135443580;1957679 + 2324;16800;798;924;135443580;1957679 + 2325;16812;798;924;135443580;1957679 + 2326;16812;798;925;135443580;1974491 + 2327;16824;798;925;135443580;1974491 + 2328;16836;798;925;135443580;1974491 + 2329;16836;798;926;135443580;1991327 + 2330;16848;798;926;135443580;1991327 + 2331;16850;798;927;135443580;2008177 + 2332;16860;798;927;135443580;2008177 + 2333;16872;798;927;135443580;2008177 + 2334;16874;798;928;135443580;2025051 + 2335;16884;798;928;135443580;2025051 + 2336;16896;798;928;135443580;2025051 + 2337;16898;798;929;135443580;2041949 + 2338;16908;798;929;135443580;2041949 + 2339;16910;798;930;135443580;2058859 + 2340;16920;798;930;135443580;2058859 + 2341;16927;801;931;131092323;2032141 + 2342;16932;801;931;131092323;2032141 + 2343;16944;801;931;131092323;2032141 + 2344;16949;801;932;131092323;2049090 + 2345;16956;801;932;131092323;2049090 + 2346;16967;801;933;131092323;2066057 + 2347;16968;801;933;131092323;2066057 + 2348;16980;801;933;131092323;2066057 + 2349;16991;801;934;131092323;2083048 + 2350;16992;801;934;131092323;2083048 + 2351;17004;801;934;131092323;2083048 + 2352;17012;801;935;131092323;2100060 + 2353;17016;801;935;131092323;2100060 + 2354;17025;801;936;131092323;2117085 + 2355;17028;801;936;131092323;2117085 + 2356;17040;801;936;131092323;2117085 + 2357;17044;811;937;128317728;1987544 + 2358;17052;811;937;128317728;1987544 + 2359;17063;812;938;127979987;1989843 + 2360;17064;812;938;127979987;1989843 + 2361;17076;812;938;127979987;1989843 + 2362;17085;812;939;127979987;2006928 + 2363;17088;812;939;127979987;2006928 + 2364;17100;812;939;127979987;2006928 + 2365;17109;812;940;127979987;2024037 + 2366;17112;812;940;127979987;2024037 + 2367;17124;812;940;127979987;2024037 + 2368;17130;812;941;127979987;2041167 + 2369;17136;812;941;127979987;2041167 + 2370;17148;812;941;127979987;2041167 + 2371;17148;812;942;127979987;2058315 + 2372;17160;812;942;127979987;2058315 + 2373;17170;812;943;127979987;2075485 + 2374;17172;812;943;127979987;2075485 + 2375;17184;812;943;127979987;2075485 + 2376;17188;812;944;127979987;2092673 + 2377;17196;812;944;127979987;2092673 + 2378;17208;812;944;127979987;2092673 + 2379;17212;812;945;127979987;2109885 + 2380;17220;812;945;127979987;2109885 + 2381;17232;812;945;127979987;2109885 + 2382;17234;817;946;134883791;2053008 + 2383;17244;817;946;134883791;2053008 + 2384;17247;817;947;134883791;2070255 + 2385;17256;817;947;134883791;2070255 + 2386;17268;817;947;134883791;2070255 + 2387;17270;827;948;131487774;1937906 + 2388;17280;831;948;126123126;1877578 + 2389;17292;831;948;126123126;1877578 + 2390;17294;831;949;126123126;1894872 + 2391;17304;831;949;126123126;1894872 + 2392;17313;833;950;127748032;1881906 + 2393;17316;833;950;127748032;1881906 + 2394;17328;833;950;127748032;1881906 + 2395;17335;833;951;127748032;1899241 + 2396;17340;833;951;127748032;1899241 + 2397;17350;833;952;127748032;1916591 + 2398;17352;833;952;127748032;1916591 + 2399;17364;833;952;127748032;1916591 + 2400;17365;833;953;127748032;1933956 + 2401;17376;833;953;127748032;1933956 + 2402;17385;833;954;127748032;1951341 + 2403;17388;833;954;127748032;1951341 + 2404;17397;833;955;127748032;1968738 + 2405;17400;833;955;127748032;1968738 + 2406;17412;833;955;127748032;1968738 + 2407;17413;833;956;127748032;1986151 + 2408;17424;833;956;127748032;1986151 + 2409;17430;833;957;127748032;2003581 + 2410;17436;833;957;127748032;2003581 + 2411;17448;833;957;127748032;2003581 + 2412;17450;833;958;127748032;2021031 + 2413;17460;833;958;127748032;2021031 + 2414;17466;833;959;127748032;2038497 + 2415;17472;833;959;127748032;2038497 + 2416;17484;833;959;127748032;2038497 + 2417;17484;833;960;127748032;2055981 + 2418;17496;833;960;127748032;2055981 + 2419;17497;833;961;127748032;2073478 + 2420;17508;833;961;127748032;2073478 + 2421;17509;834;962;129748668;2075821 + 2422;17520;834;962;129748668;2075821 + 2423;17526;834;963;129748668;2093347 + 2424;17532;834;963;129748668;2093347 + 2425;17544;834;963;129748668;2093347 + 2426;17549;834;964;129748668;2110896 + 2427;17556;834;964;129748668;2110896 + 2428;17568;834;964;129748668;2110896 + 2429;17570;834;965;129748668;2128466 + 2430;17580;834;965;129748668;2128466 + 2431;17585;834;966;129748668;2146051 + 2432;17592;834;966;129748668;2146051 + 2433;17604;834;966;129748668;2146051 + 2434;17605;834;967;129748668;2163656 + 2435;17616;834;967;129748668;2163656 + 2436;17619;839;968;132400033;2105143 + 2437;17628;839;968;132400033;2105143 + 2438;17638;839;969;132400033;2122781 + 2439;17640;839;969;132400033;2122781 + 2440;17652;839;969;132400033;2122781 + 2441;17655;841;970;127063385;2109850 + 2442;17664;841;970;127063385;2109850 + 2443;17676;841;970;127063385;2109850 + 2444;17678;841;971;127063385;2127528 + 2445;17688;841;971;127063385;2127528 + 2446;17696;841;972;127063385;2145224 + 2447;17700;841;972;127063385;2145224 + 2448;17709;841;973;127063385;2162933 + 2449;17712;841;973;127063385;2162933 + 2450;17721;841;974;127063385;2180654 + 2451;17724;841;974;127063385;2180654 + 2452;17736;841;974;127063385;2180654 + 2453;17745;844;975;130639918;2152387 + 2454;17748;844;975;130639918;2152387 + 2455;17759;844;976;130639918;2170146 + 2456;17760;844;976;130639918;2170146 + 2457;17772;844;976;130639918;2170146 + 2458;17783;844;977;130639918;2187929 + 2459;17784;844;977;130639918;2187929 + 2460;17796;845;977;133026896;2172550 + 2461;17803;845;978;133026896;2190353 + 2462;17808;845;978;133026896;2190353 + 2463;17820;845;978;133026896;2190353 + 2464;17823;845;979;133026896;2208176 + 2465;17832;845;979;133026896;2208176 + 2466;17839;845;980;133026896;2226015 + 2467;17844;845;980;133026896;2226015 + 2468;17856;845;980;133026896;2226015 + 2469;17863;845;981;133026896;2243878 + 2470;17868;845;981;133026896;2243878 + 2471;17880;845;981;133026896;2243878 + 2472;17884;847;982;135973109;2230952 + 2473;17892;847;982;135973109;2230952 + 2474;17904;847;982;135973109;2230952 + 2475;17905;852;983;133045110;2171478 + 2476;17916;852;983;133045110;2171478 + 2477;17923;852;984;133045110;2189401 + 2478;17928;852;984;133045110;2189401 + 2479;17940;852;984;133045110;2189401 + 2480;17946;852;985;133045110;2207347 + 2481;17952;852;985;133045110;2207347 + 2482;17964;852;985;133045110;2207347 + 2483;17966;852;986;133045110;2225313 + 2484;17976;852;986;133045110;2225313 + 2485;17982;856;987;137151006;2181056 + 2486;17988;856;987;137151006;2181056 + 2487;18000;856;987;137151006;2181056 + 2488;18004;856;988;137151006;2199060 + 2489;18012;856;988;137151006;2199060 + 2490;18022;856;989;137151006;2217082 + 2491;18024;856;989;137151006;2217082 + 2492;18036;856;989;137151006;2217082 + 2493;18039;856;990;137151006;2235121 + 2494;18048;856;990;137151006;2235121 + 2495;18054;856;991;137151006;2253175 + 2496;18060;856;991;137151006;2253175 + 2497;18072;856;991;137151006;2253175 + 2498;18072;866;992;132477096;2114504 + 2499;18084;866;992;132477096;2114504 + 2500;18092;868;993;134759196;2101025 + 2501;18096;868;993;134759196;2101025 + 2502;18104;868;994;134759196;2119129 + 2503;18108;868;994;134759196;2119129 + 2504;18120;868;994;134759196;2119129 + 2505;18122;868;995;134759196;2137251 + 2506;18132;868;995;134759196;2137251 + 2507;18136;868;996;134759196;2155387 + 2508;18144;868;996;134759196;2155387 + 2509;18156;868;996;134759196;2155387 + 2510;18156;868;997;134759196;2173543 + 2511;18168;868;997;134759196;2173543 + 2512;18173;871;998;129801971;2144208 + 2513;18180;871;998;129801971;2144208 + 2514;18187;871;999;129801971;2162395 + 2515;18192;871;999;129801971;2162395 + 2516;18204;871;999;129801971;2162395 + 2517;18205;871;1000;129801971;2180600 + 2518;18216;871;1000;129801971;2180600 + 2519;18223;871;1001;129801971;2198823 + 2520;18228;871;1001;129801971;2198823 + 2521;18240;871;1001;129801971;2198823 + 2522;18247;871;1002;129801971;2217070 + 2523;18252;871;1002;129801971;2217070 + 2524;18262;871;1003;129801971;2235332 + 2525;18264;871;1003;129801971;2235332 + 2526;18276;877;1003;134657759;2139827 + 2527;18282;877;1004;134657759;2158109 + 2528;18288;877;1004;134657759;2158109 + 2529;18294;877;1005;134657759;2176403 + 2530;18300;877;1005;134657759;2176403 + 2531;18311;877;1006;134657759;2194714 + 2532;18312;877;1006;134657759;2194714 + 2533;18324;877;1006;134657759;2194714 + 2534;18325;877;1007;134657759;2213039 + 2535;18336;877;1007;134657759;2213039 + 2536;18347;877;1008;134657759;2231386 + 2537;18348;877;1008;134657759;2231386 + 2538;18360;877;1008;134657759;2231386 + 2539;18362;877;1009;134657759;2249748 + 2540;18372;877;1009;134657759;2249748 + 2541;18374;877;1010;134657759;2268122 + 2542;18384;877;1010;134657759;2268122 + 2543;18395;877;1011;134657759;2286517 + 2544;18396;877;1011;134657759;2286517 + 2545;18408;877;1011;134657759;2286517 + 2546;18411;877;1012;134657759;2304928 + 2547;18420;877;1012;134657759;2304928 + 2548;18431;882;1013;134763808;2243312 + 2549;18432;882;1013;134763808;2243312 + 2550;18444;882;1013;134763808;2243312 + 2551;18446;882;1014;134763808;2261758 + 2552;18456;882;1014;134763808;2261758 + 2553;18466;891;1015;130774132;2135123 + 2554;18468;891;1015;130774132;2135123 + 2555;18480;891;1015;130774132;2135123 + 2556;18482;891;1016;130774132;2153605 + 2557;18492;891;1016;130774132;2153605 + 2558;18501;891;1017;130774132;2172106 + 2559;18504;891;1017;130774132;2172106 + 2560;18515;891;1018;130774132;2190621 + 2561;18516;891;1018;130774132;2190621 + 2562;18528;891;1018;130774132;2190621 + 2563;18530;891;1019;130774132;2209151 + 2564;18540;891;1019;130774132;2209151 + 2565;18546;891;1020;130774132;2227697 + 2566;18552;891;1020;130774132;2227697 + 2567;18564;891;1020;130774132;2227697 + 2568;18570;891;1021;130774132;2246267 + 2569;18576;891;1021;130774132;2246267 + 2570;18588;891;1021;130774132;2246267 + 2571;18591;891;1022;130774132;2264858 + 2572;18600;891;1022;130774132;2264858 + 2573;18612;891;1022;130774132;2264858 + 2574;18614;891;1023;130774132;2283472 + 2575;18624;891;1023;130774132;2283472 + 2576;18629;891;1024;130774132;2302101 + 2577;18636;891;1024;130774132;2302101 + 2578;18644;891;1025;130774132;2320745 + 2579;18648;891;1025;130774132;2320745 + 2580;18658;891;1026;130774132;2339403 + 2581;18660;891;1026;130774132;2339403 + 2582;18672;891;1026;130774132;2339403 + 2583;18672;891;1027;130774132;2358075 + 2584;18684;891;1027;130774132;2358075 + 2585;18695;901;1028;134156309;2213775 + 2586;18696;901;1028;134156309;2213775 + 2587;18708;902;1028;135299942;2197373 + 2588;18711;902;1029;135299942;2216084 + 2589;18720;902;1029;135299942;2216084 + 2590;18726;902;1030;135299942;2234810 + 2591;18732;902;1030;135299942;2234810 + 2592;18741;905;1031;138348577;2204207 + 2593;18744;905;1031;138348577;2204207 + 2594;18756;905;1031;138348577;2204207 + 2595;18763;905;1032;138348577;2222970 + 2596;18768;905;1032;138348577;2222970 + 2597;18775;905;1033;138348577;2241745 + 2598;18780;905;1033;138348577;2241745 + 2599;18792;905;1033;138348577;2241745 + 2600;18793;905;1034;138348577;2260538 + 2601;18804;905;1034;138348577;2260538 + 2602;18809;905;1035;138348577;2279347 + 2603;18816;905;1035;138348577;2279347 + 2604;18828;905;1035;138348577;2279347 + 2605;18833;905;1036;138348577;2298180 + 2606;18840;905;1036;138348577;2298180 + 2607;18852;905;1036;138348577;2298180 + 2608;18854;905;1037;138348577;2317034 + 2609;18864;905;1037;138348577;2317034 + 2610;18873;907;1038;141083897;2302932 + 2611;18876;907;1038;141083897;2302932 + 2612;18888;907;1038;141083897;2302932 + 2613;18890;907;1039;141083897;2321822 + 2614;18900;907;1039;141083897;2321822 + 2615;18912;907;1039;141083897;2321822 + 2616;18912;907;1040;141083897;2340734 + 2617;18924;907;1040;141083897;2340734 + 2618;18928;914;1041;141330391;2243694 + 2619;18936;914;1041;141330391;2243694 + 2620;18948;914;1041;141330391;2243694 + 2621;18949;914;1042;141330391;2262643 + 2622;18960;914;1042;141330391;2262643 + 2623;18969;914;1043;141330391;2281612 + 2624;18972;914;1043;141330391;2281612 + 2625;18984;914;1043;141330391;2281612 + 2626;18987;918;1044;146823347;2233901 + 2627;18996;918;1044;146823347;2233901 + 2628;19000;918;1045;146823347;2252901 + 2629;19008;918;1045;146823347;2252901 + 2630;19014;918;1046;146823347;2271915 + 2631;19020;918;1046;146823347;2271915 + 2632;19026;918;1047;146823347;2290941 + 2633;19032;918;1047;146823347;2290941 + 2634;19042;918;1048;146823347;2309983 + 2635;19044;918;1048;146823347;2309983 + 2636;19056;918;1048;146823347;2309983 + 2637;19062;918;1049;146823347;2329045 + 2638;19068;918;1049;146823347;2329045 + 2639;19080;918;1049;146823347;2329045 + 2640;19082;918;1050;146823347;2348127 + 2641;19092;918;1050;146823347;2348127 + 2642;19094;918;1051;146823347;2367221 + 2643;19104;918;1051;146823347;2367221 + 2644;19115;918;1052;146823347;2386336 + 2645;19116;918;1052;146823347;2386336 + 2646;19128;918;1052;146823347;2386336 + 2647;19131;922;1053;142379148;2338475 + 2648;19140;922;1053;142379148;2338475 + 2649;19152;922;1053;142379148;2338475 + 2650;19152;922;1054;142379148;2357627 + 2651;19164;922;1054;142379148;2357627 + 2652;19168;922;1055;142379148;2376795 + 2653;19176;922;1055;142379148;2376795 + 2654;19183;931;1056;139513620;2244126 + 2655;19188;931;1056;139513620;2244126 + 2656;19199;931;1057;139513620;2263325 + 2657;19200;931;1057;139513620;2263325 + 2658;19212;931;1057;139513620;2263325 + 2659;19222;931;1058;139513620;2282547 + 2660;19224;931;1058;139513620;2282547 + 2661;19236;931;1058;139513620;2282547 + 2662;19237;931;1059;139513620;2301784 + 2663;19248;931;1059;139513620;2301784 + 2664;19254;932;1060;141422332;2304071 + 2665;19260;932;1060;141422332;2304071 + 2666;19272;932;1060;141422332;2304071 + 2667;19272;934;1061;144416012;2289340 + 2668;19284;934;1061;144416012;2289340 + 2669;19292;934;1062;144416012;2308632 + 2670;19296;934;1062;144416012;2308632 + 2671;19304;934;1063;144416012;2327936 + 2672;19308;934;1063;144416012;2327936 + 2673;19319;934;1064;144416012;2347255 + 2674;19320;934;1064;144416012;2347255 + 2675;19332;934;1064;144416012;2347255 + 2676;19343;934;1065;144416012;2366598 + 2677;19344;934;1065;144416012;2366598 + 2678;19356;934;1065;144416012;2366598 + 2679;19360;934;1066;144416012;2385958 + 2680;19368;934;1066;144416012;2385958 + 2681;19380;934;1066;144416012;2385958 + 2682;19384;934;1067;144416012;2405342 + 2683;19392;934;1067;144416012;2405342 + 2684;19404;934;1067;144416012;2405342 + 2685;19407;934;1068;144416012;2424749 + 2686;19416;934;1068;144416012;2424749 + 2687;19425;934;1069;144416012;2444174 + 2688;19428;934;1069;144416012;2444174 + 2689;19440;934;1069;144416012;2444174 + 2690;19441;934;1070;144416012;2463615 + 2691;19452;934;1070;144416012;2463615 + 2692;19455;934;1071;144416012;2483070 + 2693;19464;934;1071;144416012;2483070 + 2694;19476;934;1071;144416012;2483070 + 2695;19479;934;1072;144416012;2502549 + 2696;19488;934;1072;144416012;2502549 + 2697;19499;943;1073;147246091;2368086 + 2698;19500;943;1073;147246091;2368086 + 2699;19512;943;1073;147246091;2368086 + 2700;19520;943;1074;147246091;2387606 + 2701;19524;943;1074;147246091;2387606 + 2702;19536;943;1074;147246091;2387606 + 2703;19537;943;1075;147246091;2407143 + 2704;19548;943;1075;147246091;2407143 + 2705;19549;943;1076;147246091;2426692 + 2706;19560;943;1076;147246091;2426692 + 2707;19572;943;1076;147246091;2426692 + 2708;19573;943;1077;147246091;2446265 + 2709;19584;943;1077;147246091;2446265 + 2710;19596;943;1077;147246091;2446265 + 2711;19596;945;1078;151920184;2431415 + 2712;19608;945;1078;151920184;2431415 + 2713;19616;945;1079;151920184;2451031 + 2714;19620;945;1079;151920184;2451031 + 2715;19632;945;1079;151920184;2451031 + 2716;19640;945;1080;151920184;2470671 + 2717;19644;945;1080;151920184;2470671 + 2718;19656;945;1080;151920184;2470671 + 2719;19660;945;1081;151920184;2490331 + 2720;19668;945;1081;151920184;2490331 + 2721;19675;945;1082;151920184;2510006 + 2722;19680;945;1082;151920184;2510006 + 2723;19687;952;1083;150842447;2408519 + 2724;19692;952;1083;150842447;2408519 + 2725;19704;952;1083;150842447;2408519 + 2726;19709;952;1084;150842447;2428228 + 2727;19716;952;1084;150842447;2428228 + 2728;19728;952;1084;150842447;2428228 + 2729;19729;952;1085;150842447;2447957 + 2730;19740;952;1085;150842447;2447957 + 2731;19751;952;1086;150842447;2467708 + 2732;19752;952;1086;150842447;2467708 + 2733;19764;952;1086;150842447;2467708 + 2734;19767;952;1087;150842447;2487475 + 2735;19776;952;1087;150842447;2487475 + 2736;19788;952;1087;150842447;2487475 + 2737;19791;952;1088;150842447;2507266 + 2738;19800;952;1088;150842447;2507266 + 2739;19812;952;1088;150842447;2507266 + 2740;19812;952;1089;150842447;2527078 + 2741;19824;952;1089;150842447;2527078 + 2742;19830;952;1090;150842447;2546908 + 2743;19836;952;1090;150842447;2546908 + 2744;19848;962;1090;150023758;2372351 + 2745;19854;964;1091;150357904;2357086 + 2746;19860;964;1091;150357904;2357086 + 2747;19872;964;1091;150357904;2357086 + 2748;19875;964;1092;150357904;2376961 + 2749;19884;964;1092;150357904;2376961 + 2750;19896;964;1092;150357904;2376961 + 2751;19896;964;1093;150357904;2396857 + 2752;19908;964;1093;150357904;2396857 + 2753;19911;964;1094;150357904;2416768 + 2754;19920;964;1094;150357904;2416768 + 2755;19929;964;1095;150357904;2436697 + 2756;19932;964;1095;150357904;2436697 + 2757;19944;964;1095;150357904;2436697 + 2758;19947;964;1096;150357904;2456644 + 2759;19956;964;1096;150357904;2456644 + 2760;19960;964;1097;150357904;2476604 + 2761;19968;964;1097;150357904;2476604 + 2762;19974;964;1098;150357904;2496578 + 2763;19980;964;1098;150357904;2496578 + 2764;19992;964;1098;150357904;2496578 + 2765;19995;964;1099;150357904;2516573 + 2766;20004;964;1099;150357904;2516573 + 2767;20016;964;1099;150357904;2516573 + 2768;20019;964;1100;150357904;2536592 + 2769;20028;964;1100;150357904;2536592 + 2770;20037;964;1101;150357904;2556629 + 2771;20040;964;1101;150357904;2556629 + 2772;20049;974;1102;152696948;2400027 + 2773;20052;974;1102;152696948;2400027 + 2774;20061;974;1103;152696948;2420088 + 2775;20064;974;1103;152696948;2420088 + 2776;20076;974;1103;152696948;2420088 + 2777;20085;984;1104;147382232;2261645 + 2778;20088;985;1104;146949037;2243679 + 2779;20099;985;1105;146949037;2263778 + 2780;20100;985;1105;146949037;2263778 + 2781;20112;985;1105;146949037;2263778 + 2782;20122;985;1106;146949037;2283900 + 2783;20124;985;1106;146949037;2283900 + 2784;20136;985;1106;146949037;2283900 + 2785;20139;985;1107;146949037;2304039 + 2786;20148;985;1107;146949037;2304039 + 2787;20158;985;1108;146949037;2324197 + 2788;20160;985;1108;146949037;2324197 + 2789;20172;985;1108;146949037;2324197 + 2790;20179;985;1109;146949037;2344376 + 2791;20184;985;1109;146949037;2344376 + 2792;20196;985;1109;146949037;2344376 + 2793;20202;985;1110;146949037;2364578 + 2794;20208;985;1110;146949037;2364578 + 2795;20218;985;1111;146949037;2384796 + 2796;20220;985;1111;146949037;2384796 + 2797;20232;985;1111;146949037;2384796 + 2798;20237;985;1112;146949037;2405033 + 2799;20244;985;1112;146949037;2405033 + 2800;20256;985;1112;146949037;2405033 + 2801;20260;985;1113;146949037;2425293 + 2802;20268;985;1113;146949037;2425293 + 2803;20280;985;1113;146949037;2425293 + 2804;20280;985;1114;146949037;2445573 + 2805;20292;985;1114;146949037;2445573 + 2806;20295;985;1115;146949037;2465868 + 2807;20304;985;1115;146949037;2465868 + 2808;20316;986;1115;149168662;2447886 + 2809;20316;986;1116;149168662;2468202 + 2810;20328;986;1116;149168662;2468202 + 2811;20339;986;1117;149168662;2488541 + 2812;20340;986;1117;149168662;2488541 + 2813;20352;986;1117;149168662;2488541 + 2814;20355;986;1118;149168662;2508896 + 2815;20364;986;1118;149168662;2508896 + 2816;20376;986;1118;149168662;2508896 + 2817;20376;986;1119;149168662;2529272 + 2818;20388;986;1119;149168662;2529272 + 2819;20395;993;1120;144282611;2423280 + 2820;20400;993;1120;144282611;2423280 + 2821;20412;993;1120;144282611;2423280 + 2822;20415;993;1121;144282611;2443695 + 2823;20424;993;1121;144282611;2443695 + 2824;20430;993;1122;144282611;2464125 + 2825;20436;993;1122;144282611;2464125 + 2826;20444;993;1123;144282611;2484569 + 2827;20448;993;1123;144282611;2484569 + 2828;20458;993;1124;144282611;2505027 + 2829;20460;993;1124;144282611;2505027 + 2830;20472;993;1124;144282611;2505027 + 2831;20473;993;1125;144282611;2525500 + 2832;20484;993;1125;144282611;2525500 + 2833;20496;993;1125;144282611;2525500 + 2834;20496;993;1126;144282611;2545996 + 2835;20508;993;1126;144282611;2545996 + 2836;20510;993;1127;144282611;2566506 + 2837;20520;993;1127;144282611;2566506 + 2838;20528;995;1128;146211521;2550776 + 2839;20532;995;1128;146211521;2550776 + 2840;20544;995;1128;146211521;2550776 + 2841;20548;995;1129;146211521;2571324 + 2842;20556;1002;1129;145731877;2443871 + 2843;20568;1002;1129;145731877;2443871 + 2844;20571;1002;1130;145731877;2464442 + 2845;20580;1002;1130;145731877;2464442 + 2846;20585;1002;1131;145731877;2485027 + 2847;20592;1002;1131;145731877;2485027 + 2848;20604;1007;1131;151313013;2393468 + 2849;20606;1007;1132;151313013;2414074 + 2850;20616;1007;1132;151313013;2414074 + 2851;20623;1007;1133;151313013;2434697 + 2852;20628;1007;1133;151313013;2434697 + 2853;20640;1007;1133;151313013;2434697 + 2854;20644;1007;1134;151313013;2455341 + 2855;20652;1007;1134;151313013;2455341 + 2856;20664;1007;1134;151313013;2455341 + 2857;20667;1007;1135;151313013;2476008 + 2858;20676;1007;1135;151313013;2476008 + 2859;20685;1007;1136;151313013;2496693 + 2860;20688;1007;1136;151313013;2496693 + 2861;20700;1007;1136;151313013;2496693 + 2862;20706;1007;1137;151313013;2517399 + 2863;20712;1007;1137;151313013;2517399 + 2864;20722;1007;1138;151313013;2538121 + 2865;20724;1007;1138;151313013;2538121 + 2866;20736;1007;1138;151313013;2538121 + 2867;20739;1007;1139;151313013;2558860 + 2868;20748;1007;1139;151313013;2558860 + 2869;20754;1007;1140;151313013;2579614 + 2870;20760;1007;1140;151313013;2579614 + 2871;20772;1007;1140;151313013;2579614 + 2872;20772;1007;1141;151313013;2600386 + 2873;20784;1007;1141;151313013;2600386 + 2874;20795;1007;1142;151313013;2621181 + 2875;20796;1007;1142;151313013;2621181 + 2876;20808;1007;1142;151313013;2621181 + 2877;20812;1007;1143;151313013;2641993 + 2878;20820;1007;1143;151313013;2641993 + 2879;20831;1014;1144;153482936;2533939 + 2880;20832;1014;1144;153482936;2533939 + 2881;20844;1014;1144;153482936;2533939 + 2882;20852;1014;1145;153482936;2554791 + 2883;20856;1014;1145;153482936;2554791 + 2884;20868;1014;1145;153482936;2554791 + 2885;20871;1014;1146;153482936;2575662 + 2886;20880;1014;1146;153482936;2575662 + 2887;20892;1014;1146;153482936;2575662 + 2888;20893;1014;1147;153482936;2596555 + 2889;20904;1014;1147;153482936;2596555 + 2890;20913;1016;1148;158724007;2580485 + 2891;20916;1016;1148;158724007;2580485 + 2892;20925;1016;1149;158724007;2601410 + 2893;20928;1016;1149;158724007;2601410 + 2894;20940;1016;1149;158724007;2601410 + 2895;20941;1016;1150;158724007;2622351 + 2896;20952;1016;1150;158724007;2622351 + 2897;20958;1016;1151;158724007;2643309 + 2898;20964;1016;1151;158724007;2643309 + 2899;20976;1016;1151;158724007;2643309 + 2900;20982;1026;1152;156330091;2478322 + 2901;20988;1026;1152;156330091;2478322 + 2902;20996;1026;1153;156330091;2499318 + 2903;21000;1026;1153;156330091;2499318 + 2904;21012;1026;1153;156330091;2499318 + 2905;21016;1026;1154;156330091;2520334 + 2906;21024;1026;1154;156330091;2520334 + 2907;21031;1026;1155;156330091;2541365 + 2908;21036;1026;1155;156330091;2541365 + 2909;21048;1026;1155;156330091;2541365 + 2910;21052;1026;1156;156330091;2562417 + 2911;21060;1026;1156;156330091;2562417 + 2912;21069;1028;1157;160879019;2546080 + 2913;21072;1028;1157;160879019;2546080 + 2914;21084;1028;1157;160879019;2546080 + 2915;21084;1028;1158;160879019;2567164 + 2916;21096;1028;1158;160879019;2567164 + 2917;21106;1028;1159;160879019;2588270 + 2918;21108;1028;1159;160879019;2588270 + 2919;21120;1028;1159;160879019;2588270 + 2920;21129;1028;1160;160879019;2609399 + 2921;21132;1028;1160;160879019;2609399 + 2922;21144;1028;1160;160879019;2609399 + 2923;21145;1028;1161;160879019;2630544 + 2924;21156;1028;1161;160879019;2630544 + 2925;21164;1028;1162;160879019;2651708 + 2926;21168;1028;1162;160879019;2651708 + 2927;21176;1028;1163;160879019;2672884 + 2928;21180;1028;1163;160879019;2672884 + 2929;21192;1028;1163;160879019;2672884 + 2930;21199;1037;1164;153467177;2524916 + 2931;21204;1037;1164;153467177;2524916 + 2932;21216;1037;1164;153467177;2524916 + 2933;21222;1037;1165;153467177;2546138 + 2934;21228;1037;1165;153467177;2546138 + 2935;21240;1037;1165;153467177;2546138 + 2936;21240;1037;1166;153467177;2567378 + 2937;21252;1037;1166;153467177;2567378 + 2938;21257;1037;1167;153467177;2588635 + 2939;21264;1037;1167;153467177;2588635 + 2940;21276;1037;1167;153467177;2588635 + 2941;21280;1037;1168;153467177;2609915 + 2942;21288;1037;1168;153467177;2609915 + 2943;21300;1037;1168;153467177;2609915 + 2944;21301;1037;1169;153467177;2631216 + 2945;21312;1037;1169;153467177;2631216 + 2946;21317;1047;1170;146562256;2462816 + 2947;21324;1052;1170;141834381;2367332 + 2948;21333;1052;1171;141834381;2388665 + 2949;21336;1052;1171;141834381;2388665 + 2950;21348;1052;1171;141834381;2388665 + 2951;21350;1052;1172;141834381;2410015 + 2952;21360;1052;1172;141834381;2410015 + 2953;21367;1052;1173;141834381;2431382 + 2954;21372;1052;1173;141834381;2431382 + 2955;21384;1052;1173;141834381;2431382 + 2956;21390;1052;1174;141834381;2452772 + 2957;21396;1052;1174;141834381;2452772 + 2958;21408;1052;1174;141834381;2452772 + 2959;21409;1052;1175;141834381;2474181 + 2960;21420;1052;1175;141834381;2474181 + 2961;21430;1052;1176;141834381;2495611 + 2962;21432;1052;1176;141834381;2495611 + 2963;21444;1052;1176;141834381;2495611 + 2964;21450;1052;1177;141834381;2517061 + 2965;21456;1052;1177;141834381;2517061 + 2966;21466;1052;1178;141834381;2538527 + 2967;21468;1052;1178;141834381;2538527 + 2968;21478;1052;1179;141834381;2560005 + 2969;21480;1052;1179;141834381;2560005 + 2970;21490;1052;1180;141834381;2581495 + 2971;21492;1052;1180;141834381;2581495 + 2972;21504;1052;1180;141834381;2581495 + 2973;21507;1053;1181;144114800;2583850 + 2974;21516;1053;1181;144114800;2583850 + 2975;21527;1053;1182;144114800;2605377 + 2976;21528;1053;1182;144114800;2605377 + 2977;21540;1053;1182;144114800;2605377 + 2978;21546;1053;1183;144114800;2626923 + 2979;21552;1053;1183;144114800;2626923 + 2980;21564;1053;1183;144114800;2626923 + 2981;21569;1059;1184;152362819;2533229 + 2982;21576;1059;1184;152362819;2533229 + 2983;21582;1059;1185;152362819;2554811 + 2984;21588;1059;1185;152362819;2554811 + 2985;21600;1059;1185;152362819;2554811 + 2986;21602;1059;1186;152362819;2576413 + 2987;21612;1059;1186;152362819;2576413 + 2988;21622;1059;1187;152362819;2598035 + 2989;21624;1059;1187;152362819;2598035 + 2990;21636;1059;1187;152362819;2598035 + 2991;21637;1059;1188;152362819;2619672 + 2992;21648;1059;1188;152362819;2619672 + 2993;21649;1059;1189;152362819;2641321 + 2994;21660;1059;1189;152362819;2641321 + 2995;21662;1059;1190;152362819;2662983 + 2996;21672;1059;1190;152362819;2662983 + 2997;21675;1064;1191;148714944;2588128 + 2998;21684;1064;1191;148714944;2588128 + 2999;21691;1074;1192;144228298;2415312 + 3000;21696;1074;1192;144228298;2415312 + 3001;21708;1076;1192;143666620;2376190 + 3002;21711;1076;1193;143666620;2397901 + 3003;21720;1076;1193;143666620;2397901 + 3004;21723;1076;1194;143666620;2419624 + 3005;21732;1076;1194;143666620;2419624 + 3006;21744;1078;1194;145184220;2380412 + 3007;21747;1078;1195;145184220;2402159 + 3008;21756;1078;1195;145184220;2402159 + 3009;21762;1078;1196;145184220;2423921 + 3010;21768;1078;1196;145184220;2423921 + 3011;21780;1078;1196;145184220;2423921 + 3012;21786;1078;1197;145184220;2445707 + 3013;21792;1078;1197;145184220;2445707 + 3014;21804;1078;1197;145184220;2445707 + 3015;21810;1078;1198;145184220;2467517 + 3016;21816;1078;1198;145184220;2467517 + 3017;21827;1078;1199;145184220;2489344 + 3018;21828;1078;1199;145184220;2489344 + 3019;21840;1078;1199;145184220;2489344 + 3020;21850;1078;1200;145184220;2511194 + 3021;21852;1078;1200;145184220;2511194 + 3022;21864;1078;1200;145184220;2511194 + 3023;21872;1078;1201;145184220;2533066 + 3024;21876;1078;1201;145184220;2533066 + 3025;21888;1078;1201;145184220;2533066 + 3026;21888;1078;1202;145184220;2554954 + 3027;21900;1078;1202;145184220;2554954 + 3028;21902;1078;1203;145184220;2576856 + 3029;21912;1078;1203;145184220;2576856 + 3030;21915;1078;1204;145184220;2598771 + 3031;21924;1078;1204;145184220;2598771 + 3032;21936;1078;1204;145184220;2598771 + 3033;21938;1078;1205;145184220;2620709 + 3034;21948;1078;1205;145184220;2620709 + 3035;21954;1078;1206;145184220;2642663 + 3036;21960;1078;1206;145184220;2642663 + 3037;21972;1078;1206;145184220;2642663 + 3038;21976;1078;1207;145184220;2664639 + 3039;21984;1078;1207;145184220;2664639 + 3040;21995;1078;1208;145184220;2686634 + 3041;21996;1078;1208;145184220;2686634 + 3042;22008;1078;1208;145184220;2686634 + 3043;22015;1078;1209;145184220;2708649 + 3044;22020;1078;1209;145184220;2708649 + 3045;22028;1078;1210;145184220;2730677 + 3046;22032;1078;1210;145184220;2730677 + 3047;22041;1078;1211;145184220;2752718 + 3048;22044;1078;1211;145184220;2752718 + 3049;22056;1078;1211;145184220;2752718 + 3050;22059;1078;1212;145184220;2774777 + 3051;22068;1078;1212;145184220;2774777 + 3052;22074;1078;1213;145184220;2796851 + 3053;22080;1078;1213;145184220;2796851 + 3054;22092;1078;1213;145184220;2796851 + 3055;22094;1078;1214;145184220;2818945 + 3056;22104;1078;1214;145184220;2818945 + 3057;22116;1081;1214;139413376;2759970 + 3058;22117;1081;1215;139413376;2782087 + 3059;22128;1081;1215;139413376;2782087 + 3060;22131;1081;1216;139413376;2804218 + 3061;22140;1081;1216;139413376;2804218 + 3062;22152;1081;1216;139413376;2804218 + 3063;22153;1081;1217;139413376;2826371 + 3064;22164;1081;1217;139413376;2826371 + 3065;22172;1086;1218;146316653;2749900 + 3066;22176;1086;1218;146316653;2749900 + 3067;22186;1086;1219;146316653;2772086 + 3068;22188;1086;1219;146316653;2772086 + 3069;22200;1086;1219;146316653;2772086 + 3070;22205;1086;1220;146316653;2794291 + 3071;22212;1086;1220;146316653;2794291 + 3072;22224;1086;1220;146316653;2794291 + 3073;22228;1096;1221;142466895;2617714 + 3074;22236;1096;1221;142466895;2617714 + 3075;22240;1098;1222;143259055;2599985 + 3076;22248;1098;1222;143259055;2599985 + 3077;22260;1098;1222;143259055;2599985 + 3078;22262;1098;1223;143259055;2622247 + 3079;22272;1098;1223;143259055;2622247 + 3080;22275;1098;1224;143259055;2644522 + 3081;22284;1098;1224;143259055;2644522 + 3082;22296;1098;1224;143259055;2644522 + 3083;22299;1098;1225;143259055;2666821 + 3084;22308;1098;1225;143259055;2666821 + 3085;22315;1098;1226;143259055;2689136 + 3086;22320;1098;1226;143259055;2689136 + 3087;22329;1098;1227;143259055;2711465 + 3088;22332;1098;1227;143259055;2711465 + 3089;22344;1098;1227;143259055;2711465 + 3090;22350;1098;1228;143259055;2733815 + 3091;22356;1098;1228;143259055;2733815 + 3092;22366;1101;1229;139008361;2696076 + 3093;22368;1101;1229;139008361;2696076 + 3094;22380;1101;1229;139008361;2696076 + 3095;22387;1101;1230;139008361;2718463 + 3096;22392;1101;1230;139008361;2718463 + 3097;22399;1101;1231;139008361;2740862 + 3098;22404;1101;1231;139008361;2740862 + 3099;22416;1101;1231;139008361;2740862 + 3100;22419;1101;1232;139008361;2763281 + 3101;22428;1101;1232;139008361;2763281 + 3102;22436;1101;1233;139008361;2785717 + 3103;22440;1101;1233;139008361;2785717 + 3104;22452;1103;1233;142218419;2745571 + 3105;22455;1103;1234;142218419;2768026 + 3106;22464;1103;1234;142218419;2768026 + 3107;22475;1103;1235;142218419;2790501 + 3108;22476;1103;1235;142218419;2790501 + 3109;22488;1103;1235;142218419;2790501 + 3110;22495;1103;1236;142218419;2812996 + 3111;22500;1103;1236;142218419;2812996 + 3112;22512;1103;1236;142218419;2812996 + 3113;22513;1103;1237;142218419;2835509 + 3114;22524;1103;1237;142218419;2835509 + 3115;22536;1113;1237;139628273;2633615 + 3116;22536;1113;1238;139628273;2656151 + 3117;22548;1113;1238;139628273;2656151 + 3118;22559;1113;1239;139628273;2678710 + 3119;22560;1113;1239;139628273;2678710 + 3120;22572;1113;1239;139628273;2678710 + 3121;22576;1113;1240;139628273;2701286 + 3122;22584;1113;1240;139628273;2701286 + 3123;22588;1113;1241;139628273;2723874 + 3124;22596;1113;1241;139628273;2723874 + 3125;22602;1113;1242;139628273;2746476 + 3126;22608;1113;1242;139628273;2746476 + 3127;22620;1113;1242;139628273;2746476 + 3128;22625;1114;1243;141688815;2748806 + 3129;22632;1114;1243;141688815;2748806 + 3130;22644;1114;1243;141688815;2748806 + 3131;22649;1114;1244;141688815;2771455 + 3132;22656;1114;1244;141688815;2771455 + 3133;22664;1114;1245;141688815;2794119 + 3134;22668;1114;1245;141688815;2794119 + 3135;22680;1114;1245;141688815;2794119 + 3136;22682;1114;1246;141688815;2816801 + 3137;22692;1114;1246;141688815;2816801 + 3138;22699;1114;1247;141688815;2839500 + 3139;22704;1114;1247;141688815;2839500 + 3140;22714;1118;1248;148206795;2780828 + 3141;22716;1118;1248;148206795;2780828 + 3142;22728;1118;1248;148206795;2780828 + 3143;22731;1118;1249;148206795;2803559 + 3144;22740;1118;1249;148206795;2803559 + 3145;22752;1118;1249;148206795;2803559 + 3146;22753;1118;1250;148206795;2826312 + 3147;22764;1118;1250;148206795;2826312 + 3148;22772;1118;1251;148206795;2849084 + 3149;22776;1118;1251;148206795;2849084 + 3150;22788;1118;1251;148206795;2849084 + 3151;22792;1123;1252;147049666;2769734 + 3152;22800;1123;1252;147049666;2769734 + 3153;22809;1123;1253;147049666;2792543 + 3154;22812;1123;1253;147049666;2792543 + 3155;22824;1123;1253;147049666;2792543 + 3156;22833;1123;1254;147049666;2815376 + 3157;22836;1123;1254;147049666;2815376 + 3158;22848;1123;1254;147049666;2815376 + 3159;22856;1123;1255;147049666;2838232 + 3160;22860;1123;1255;147049666;2838232 + 3161;22872;1125;1255;148847348;2797263 + 3162;22875;1126;1256;151297476;2799628 + 3163;22884;1126;1256;151297476;2799628 + 3164;22889;1126;1257;151297476;2822517 + 3165;22896;1126;1257;151297476;2822517 + 3166;22908;1126;1257;151297476;2822517 + 3167;22908;1126;1258;151297476;2845425 + 3168;22920;1126;1258;151297476;2845425 + 3169;22921;1126;1259;151297476;2868346 + 3170;22932;1126;1259;151297476;2868346 + 3171;22940;1135;1260;145303533;2705829 + 3172;22944;1135;1260;145303533;2705829 + 3173;22952;1135;1261;145303533;2728781 + 3174;22956;1135;1261;145303533;2728781 + 3175;22968;1135;1261;145303533;2728781 + 3176;22970;1141;1262;140433487;2627263 + 3177;22980;1141;1262;140433487;2627263 + 3178;22984;1141;1263;140433487;2650247 + 3179;22992;1141;1263;140433487;2650247 + 3180;23004;1141;1263;140433487;2650247 + 3181;23007;1141;1264;140433487;2673254 + 3182;23016;1141;1264;140433487;2673254 + 3183;23023;1141;1265;140433487;2696277 + 3184;23028;1141;1265;140433487;2696277 + 3185;23040;1141;1265;140433487;2696277 + 3186;23047;1141;1266;140433487;2719324 + 3187;23052;1141;1266;140433487;2719324 + 3188;23064;1141;1266;140433487;2719324 + 3189;23071;1141;1267;140433487;2742395 + 3190;23076;1141;1267;140433487;2742395 + 3191;23088;1141;1267;140433487;2742395 + 3192;23088;1141;1268;140433487;2765483 + 3193;23100;1141;1268;140433487;2765483 + 3194;23105;1141;1269;140433487;2788588 + 3195;23112;1141;1269;140433487;2788588 + 3196;23122;1141;1270;140433487;2811710 + 3197;23124;1141;1270;140433487;2811710 + 3198;23136;1141;1270;140433487;2811710 + 3199;23141;1141;1271;140433487;2834851 + 3200;23148;1141;1271;140433487;2834851 + 3201;23156;1141;1272;140433487;2858007 + 3202;23160;1141;1272;140433487;2858007 + 3203;23172;1141;1272;140433487;2858007 + 3204;23180;1141;1273;140433487;2881187 + 3205;23184;1141;1273;140433487;2881187 + 3206;23192;1141;1274;140433487;2904379 + 3207;23196;1141;1274;140433487;2904379 + 3208;23206;1147;1275;146607412;2802413 + 3209;23208;1147;1275;146607412;2802413 + 3210;23220;1147;1275;146607412;2802413 + 3211;23229;1147;1276;146607412;2825642 + 3212;23232;1147;1276;146607412;2825642 + 3213;23243;1147;1277;146607412;2848885 + 3214;23244;1147;1277;146607412;2848885 + 3215;23256;1147;1277;146607412;2848885 + 3216;23266;1147;1278;146607412;2872151 + 3217;23268;1147;1278;146607412;2872151 + 3218;23280;1147;1278;146607412;2872151 + 3219;23280;1147;1279;146607412;2895431 + 3220;23292;1147;1279;146607412;2895431 + 3221;23295;1147;1280;146607412;2918726 + 3222;23304;1147;1280;146607412;2918726 + 3223;23309;1147;1281;146607412;2942035 + 3224;23316;1147;1281;146607412;2942035 + 3225;23328;1147;1281;146607412;2942035 + 3226;23329;1147;1282;146607412;2965364 + 3227;23340;1147;1282;146607412;2965364 + 3228;23345;1147;1283;146607412;2988709 + 3229;23352;1147;1283;146607412;2988709 + 3230;23361;1147;1284;146607412;3012070 + 3231;23364;1147;1284;146607412;3012070 + 3232;23376;1147;1284;146607412;3012070 + 3233;23385;1147;1285;146607412;3035455 + 3234;23388;1147;1285;146607412;3035455 + 3235;23400;1147;1285;146607412;3035455 + 3236;23407;1154;1286;149526490;2912013 + 3237;23412;1154;1286;149526490;2912013 + 3238;23421;1162;1287;147922991;2766509 + 3239;23424;1162;1287;147922991;2766509 + 3240;23433;1162;1288;147922991;2789942 + 3241;23436;1162;1288;147922991;2789942 + 3242;23446;1162;1289;147922991;2813388 + 3243;23448;1162;1289;147922991;2813388 + 3244;23460;1162;1289;147922991;2813388 + 3245;23466;1162;1290;147922991;2836854 + 3246;23472;1162;1290;147922991;2836854 + 3247;23478;1163;1291;149910831;2839133 + 3248;23484;1163;1291;149910831;2839133 + 3249;23496;1163;1291;149910831;2839133 + 3250;23500;1163;1292;149910831;2862633 + 3251;23508;1163;1292;149910831;2862633 + 3252;23518;1164;1293;151961789;2864929 + 3253;23520;1164;1293;151961789;2864929 + 3254;23532;1164;1293;151961789;2864929 + 3255;23536;1164;1294;151961789;2888465 + 3256;23544;1164;1294;151961789;2888465 + 3257;23556;1164;1294;151961789;2888465 + 3258;23559;1164;1295;151961789;2912024 + 3259;23568;1164;1295;151961789;2912024 + 3260;23571;1165;1296;154283532;2914355 + 3261;23580;1165;1296;154283532;2914355 + 3262;23583;1165;1297;154283532;2937938 + 3263;23592;1165;1297;154283532;2937938 + 3264;23597;1165;1298;154283532;2961535 + 3265;23604;1165;1298;154283532;2961535 + 3266;23616;1165;1298;154283532;2961535 + 3267;23621;1165;1299;154283532;2985156 + 3268;23628;1165;1299;154283532;2985156 + 3269;23640;1165;1299;154283532;2985156 + 3270;23644;1165;1300;154283532;3008800 + 3271;23652;1165;1300;154283532;3008800 + 3272;23663;1165;1301;154283532;3032463 + 3273;23664;1165;1301;154283532;3032463 + 3274;23676;1165;1301;154283532;3032463 + 3275;23685;1165;1302;154283532;3056148 + 3276;23688;1165;1302;154283532;3056148 + 3277;23700;1165;1302;154283532;3056148 + 3278;23702;1174;1303;155417770;2887846 + 3279;23712;1174;1303;155417770;2887846 + 3280;23717;1174;1304;155417770;2911563 + 3281;23724;1174;1304;155417770;2911563 + 3282;23736;1174;1304;155417770;2911563 + 3283;23736;1174;1305;155417770;2935299 + 3284;23748;1174;1305;155417770;2935299 + 3285;23759;1174;1306;155417770;2959058 + 3286;23760;1174;1306;155417770;2959058 + 3287;23771;1174;1307;155417770;2982829 + 3288;23772;1174;1307;155417770;2982829 + 3289;23784;1174;1307;155417770;2982829 + 3290;23786;1174;1308;155417770;3006615 + 3291;23796;1174;1308;155417770;3006615 + 3292;23808;1174;1308;155417770;3006615 + 3293;23810;1174;1309;155417770;3030425 + 3294;23820;1174;1309;155417770;3030425 + 3295;23822;1174;1310;155417770;3054247 + 3296;23832;1174;1310;155417770;3054247 + 3297;23838;1174;1311;155417770;3078085 + 3298;23844;1174;1311;155417770;3078085 + 3299;23852;1174;1312;155417770;3101937 + 3300;23856;1174;1312;155417770;3101937 + 3301;23864;1174;1313;155417770;3125801 + 3302;23868;1174;1313;155417770;3125801 + 3303;23879;1184;1314;151925384;2934635 + 3304;23880;1184;1314;151925384;2934635 + 3305;23892;1189;1314;150183027;2826463 + 3306;23894;1189;1315;150183027;2850357 + 3307;23904;1189;1315;150183027;2850357 + 3308;23908;1189;1316;150183027;2874265 + 3309;23916;1189;1316;150183027;2874265 + 3310;23928;1189;1316;150183027;2874265 + 3311;23932;1189;1317;150183027;2898197 + 3312;23940;1189;1317;150183027;2898197 + 3313;23950;1189;1318;150183027;2922147 + 3314;23952;1189;1318;150183027;2922147 + 3315;23964;1189;1318;150183027;2922147 + 3316;23973;1194;1319;144109868;2837573 + 3317;23976;1194;1319;144109868;2837573 + 3318;23988;1194;1319;144109868;2837573 + 3319;23997;1194;1320;144109868;2861570 + 3320;24000;1194;1320;144109868;2861570 + 3321;24012;1194;1320;144109868;2861570 + 3322;24018;1194;1321;144109868;2885588 + 3323;24024;1194;1321;144109868;2885588 + 3324;24036;1194;1321;144109868;2885588 + 3325;24038;1194;1322;144109868;2909626 + 3326;24048;1194;1322;144109868;2909626 + 3327;24060;1194;1322;144109868;2909626 + 3328;24060;1194;1323;144109868;2933686 + 3329;24072;1194;1323;144109868;2933686 + 3330;24081;1194;1324;144109868;2957767 + 3331;24084;1194;1324;144109868;2957767 + 3332;24096;1194;1324;144109868;2957767 + 3333;24097;1194;1325;144109868;2981864 + 3334;24108;1194;1325;144109868;2981864 + 3335;24120;1194;1325;144109868;2981864 + 3336;24121;1194;1326;144109868;3005985 + 3337;24132;1201;1326;140380623;2853190 + 3338;24140;1201;1327;140380623;2877330 + 3339;24144;1201;1327;140380623;2877330 + 3340;24153;1201;1328;140380623;2901483 + 3341;24156;1201;1328;140380623;2901483 + 3342;24168;1201;1328;140380623;2901483 + 3343;24173;1201;1329;140380623;2925656 + 3344;24180;1201;1329;140380623;2925656 + 3345;24191;1203;1330;143028779;2906030 + 3346;24192;1203;1330;143028779;2906030 + 3347;24204;1203;1330;143028779;2906030 + 3348;24215;1203;1331;143028779;2930245 + 3349;24216;1203;1331;143028779;2930245 + 3350;24228;1203;1331;143028779;2930245 + 3351;24229;1203;1332;143028779;2954474 + 3352;24240;1203;1332;143028779;2954474 + 3353;24249;1203;1333;143028779;2978723 + 3354;24252;1203;1333;143028779;2978723 + 3355;24264;1203;1333;143028779;2978723 + 3356;24267;1203;1334;143028779;3002990 + 3357;24276;1203;1334;143028779;3002990 + 3358;24281;1203;1335;143028779;3027271 + 3359;24288;1203;1335;143028779;3027271 + 3360;24293;1203;1336;143028779;3051564 + 3361;24300;1203;1336;143028779;3051564 + 3362;24312;1203;1336;143028779;3051564 + 3363;24317;1203;1337;143028779;3075881 + 3364;24324;1203;1337;143028779;3075881 + 3365;24336;1203;1337;143028779;3075881 + 3366;24336;1203;1338;143028779;3100217 + 3367;24348;1203;1338;143028779;3100217 + 3368;24348;1203;1339;143028779;3124565 + 3369;24360;1203;1339;143028779;3124565 + 3370;24372;1203;1339;143028779;3124565 + 3371;24372;1203;1340;143028779;3148937 + 3372;24384;1203;1340;143028779;3148937 + 3373;24396;1203;1340;143028779;3148937 + 3374;24396;1203;1341;143028779;3173333 + 3375;24408;1212;1341;143190423;2975253 + 3376;24410;1212;1342;143190423;2999663 + 3377;24420;1212;1342;143190423;2999663 + 3378;24432;1212;1342;143190423;2999663 + 3379;24434;1212;1343;143190423;3024097 + 3380;24444;1212;1343;143190423;3024097 + 3381;24456;1212;1343;143190423;3024097 + 3382;24457;1212;1344;143190423;3048554 + 3383;24468;1212;1344;143190423;3048554 + 3384;24469;1212;1345;143190423;3073023 + 3385;24480;1212;1345;143190423;3073023 + 3386;24489;1212;1346;143190423;3097512 + 3387;24492;1212;1346;143190423;3097512 + 3388;24504;1212;1346;143190423;3097512 + 3389;24507;1221;1347;142237892;2922493 + 3390;24516;1221;1347;142237892;2922493 + 3391;24519;1221;1348;142237892;2947012 + 3392;24528;1221;1348;142237892;2947012 + 3393;24534;1221;1349;142237892;2971546 + 3394;24540;1221;1349;142237892;2971546 + 3395;24551;1221;1350;142237892;2996097 + 3396;24552;1221;1350;142237892;2996097 + 3397;24564;1221;1350;142237892;2996097 + 3398;24567;1221;1351;142237892;3020664 + 3399;24576;1221;1351;142237892;3020664 + 3400;24587;1221;1352;142237892;3045251 + 3401;24588;1221;1352;142237892;3045251 + 3402;24600;1221;1352;142237892;3045251 + 3403;24611;1221;1353;142237892;3069862 + 3404;24612;1221;1353;142237892;3069862 + 3405;24624;1221;1353;142237892;3069862 + 3406;24632;1225;1354;147049666;3005343 + 3407;24636;1225;1354;147049666;3005343 + 3408;24648;1225;1354;147049666;3005343 + 3409;24648;1225;1355;147049666;3029991 + 3410;24660;1225;1355;147049666;3029991 + 3411;24660;1225;1356;147049666;3054651 + 3412;24672;1225;1356;147049666;3054651 + 3413;24680;1225;1357;147049666;3079331 + 3414;24684;1225;1357;147049666;3079331 + 3415;24694;1225;1358;147049666;3104025 + 3416;24696;1225;1358;147049666;3104025 + 3417;24708;1225;1358;147049666;3104025 + 3418;24708;1225;1359;147049666;3128733 + 3419;24720;1225;1359;147049666;3128733 + 3420;24724;1225;1360;147049666;3153457 + 3421;24732;1225;1360;147049666;3153457 + 3422;24742;1234;1361;147165475;2976583 + 3423;24744;1234;1361;147165475;2976583 + 3424;24756;1234;1361;147165475;2976583 + 3425;24763;1234;1362;147165475;3001346 + 3426;24768;1234;1362;147165475;3001346 + 3427;24780;1234;1362;147165475;3001346 + 3428;24784;1234;1363;147165475;3026130 + 3429;24792;1234;1363;147165475;3026130 + 3430;24804;1234;1363;147165475;3026130 + 3431;24808;1234;1364;147165475;3050938 + 3432;24816;1234;1364;147165475;3050938 + 3433;24827;1234;1365;147165475;3075765 + 3434;24828;1234;1365;147165475;3075765 + 3435;24840;1234;1365;147165475;3075765 + 3436;24848;1234;1366;147165475;3100613 + 3437;24852;1234;1366;147165475;3100613 + 3438;24863;1244;1367;149664739;2899669 + 3439;24864;1244;1367;149664739;2899669 + 3440;24876;1244;1367;149664739;2899669 + 3441;24887;1247;1368;151328551;2856461 + 3442;24888;1247;1368;151328551;2856461 + 3443;24900;1247;1368;151328551;2856461 + 3444;24909;1247;1369;151328551;2881370 + 3445;24912;1247;1369;151328551;2881370 + 3446;24921;1247;1370;151328551;2906291 + 3447;24924;1247;1370;151328551;2906291 + 3448;24936;1247;1370;151328551;2906291 + 3449;24937;1247;1371;151328551;2931228 + 3450;24948;1247;1371;151328551;2931228 + 3451;24956;1247;1372;151328551;2956184 + 3452;24960;1247;1372;151328551;2956184 + 3453;24972;1247;1372;151328551;2956184 + 3454;24972;1251;1373;145313480;2890108 + 3455;24984;1251;1373;145313480;2890108 + 3456;24984;1251;1374;145313480;2915092 + 3457;24996;1251;1374;145313480;2915092 + 3458;24996;1252;1375;146813296;2917279 + 3459;25008;1252;1375;146813296;2917279 + 3460;25010;1252;1376;146813296;2942289 + 3461;25020;1252;1376;146813296;2942289 + 3462;25032;1252;1376;146813296;2942289 + 3463;25032;1252;1377;146813296;2967321 + 3464;25044;1252;1377;146813296;2967321 + 3465;25054;1252;1378;146813296;2992375 + 3466;25056;1252;1378;146813296;2992375 + 3467;25068;1252;1378;146813296;2992375 + 3468;25078;1252;1379;146813296;3017453 + 3469;25080;1252;1379;146813296;3017453 + 3470;25092;1252;1379;146813296;3017453 + 3471;25093;1252;1380;146813296;3042546 + 3472;25104;1252;1380;146813296;3042546 + 3473;25115;1252;1381;146813296;3067661 + 3474;25116;1252;1381;146813296;3067661 + 3475;25128;1252;1381;146813296;3067661 + 3476;25136;1252;1382;146813296;3092797 + 3477;25140;1252;1382;146813296;3092797 + 3478;25152;1252;1382;146813296;3092797 + 3479;25159;1252;1383;146813296;3117956 + 3480;25164;1252;1383;146813296;3117956 + 3481;25176;1252;1383;146813296;3117956 + 3482;25176;1253;1384;149102302;3120299 + 3483;25188;1253;1384;149102302;3120299 + 3484;25192;1253;1385;149102302;3145491 + 3485;25200;1253;1385;149102302;3145491 + 3486;25212;1253;1385;149102302;3145491 + 3487;25214;1253;1386;149102302;3170705 + 3488;25224;1253;1386;149102302;3170705 + 3489;25236;1253;1386;149102302;3170705 + 3490;25238;1253;1387;149102302;3195943 + 3491;25248;1253;1387;149102302;3195943 + 3492;25251;1253;1388;149102302;3221194 + 3493;25260;1253;1388;149102302;3221194 + 3494;25271;1253;1389;149102302;3246465 + 3495;25272;1253;1389;149102302;3246465 + 3496;25284;1253;1389;149102302;3246465 + 3497;25292;1261;1390;148115513;3088446 + 3498;25296;1261;1390;148115513;3088446 + 3499;25305;1261;1391;148115513;3113751 + 3500;25308;1261;1391;148115513;3113751 + 3501;25320;1261;1391;148115513;3113751 + 3502;25322;1261;1392;148115513;3139073 + 3503;25332;1261;1392;148115513;3139073 + 3504;25344;1261;1392;148115513;3139073 + 3505;25346;1265;1393;150718585;3072358 + 3506;25356;1265;1393;150718585;3072358 + 3507;25368;1265;1393;150718585;3072358 + 3508;25368;1265;1394;150718585;3097726 + 3509;25380;1265;1394;150718585;3097726 + 3510;25385;1265;1395;150718585;3123111 + 3511;25392;1265;1395;150718585;3123111 + 3512;25404;1265;1395;150718585;3123111 + 3513;25404;1265;1396;150718585;3148515 + 3514;25416;1265;1396;150718585;3148515 + 3515;25423;1271;1397;147215855;3035255 + 3516;25428;1271;1397;147215855;3035255 + 3517;25440;1271;1397;147215855;3035255 + 3518;25443;1271;1398;147215855;3060698 + 3519;25452;1271;1398;147215855;3060698 + 3520;25461;1271;1399;147215855;3086159 + 3521;25464;1271;1399;147215855;3086159 + 3522;25476;1271;1399;147215855;3086159 + 3523;25482;1271;1400;147215855;3111641 + 3524;25488;1271;1400;147215855;3111641 + 3525;25500;1271;1400;147215855;3111641 + 3526;25506;1271;1401;147215855;3137147 + 3527;25512;1271;1401;147215855;3137147 + 3528;25524;1271;1401;147215855;3137147 + 3529;25524;1271;1402;147215855;3162671 + 3530;25536;1271;1402;147215855;3162671 + 3531;25538;1271;1403;147215855;3188209 + 3532;25548;1271;1403;147215855;3188209 + 3533;25555;1271;1404;147215855;3213764 + 3534;25560;1271;1404;147215855;3213764 + 3535;25572;1271;1404;147215855;3213764 + 3536;25574;1271;1405;147215855;3239338 + 3537;25584;1271;1405;147215855;3239338 + 3538;25590;1271;1406;147215855;3264928 + 3539;25596;1271;1406;147215855;3264928 + 3540;25608;1271;1406;147215855;3264928 + 3541;25612;1271;1407;147215855;3290540 + 3542;25620;1271;1407;147215855;3290540 + 3543;25627;1271;1408;147215855;3316167 + 3544;25632;1271;1408;147215855;3316167 + 3545;25644;1271;1408;147215855;3316167 + 3546;25645;1281;1409;145422944;3109283 + 3547;25656;1283;1409;146928919;3062577 + 3548;25664;1283;1410;146928919;3088241 + 3549;25668;1283;1410;146928919;3088241 + 3550;25677;1283;1411;146928919;3113918 + 3551;25680;1283;1411;146928919;3113918 + 3552;25692;1283;1411;146928919;3113918 + 3553;25701;1283;1412;146928919;3139619 + 3554;25704;1283;1412;146928919;3139619 + 3555;25716;1283;1412;146928919;3139619 + 3556;25725;1286;1413;149536727;3095131 + 3557;25728;1286;1413;149536727;3095131 + 3558;25740;1286;1413;149536727;3095131 + 3559;25742;1286;1414;149536727;3120873 + 3560;25752;1286;1414;149536727;3120873 + 3561;25764;1286;1414;149536727;3120873 + 3562;25765;1286;1415;149536727;3146638 + 3563;25776;1286;1415;149536727;3146638 + 3564;25788;1286;1415;149536727;3146638 + 3565;25788;1286;1416;149536727;3172426 + 3566;25800;1286;1416;149536727;3172426 + 3567;25807;1286;1417;149536727;3198233 + 3568;25812;1286;1417;149536727;3198233 + 3569;25824;1286;1417;149536727;3198233 + 3570;25828;1286;1418;149536727;3224061 + 3571;25836;1286;1418;149536727;3224061 + 3572;25848;1286;1418;149536727;3224061 + 3573;25851;1294;1419;146657601;3061976 + 3574;25860;1294;1419;146657601;3061976 + 3575;25872;1294;1419;146657601;3061976 + 3576;25875;1294;1420;146657601;3087851 + 3577;25884;1294;1420;146657601;3087851 + 3578;25896;1294;1420;146657601;3087851 + 3579;25899;1294;1421;146657601;3113750 + 3580;25908;1294;1421;146657601;3113750 + 3581;25916;1294;1422;146657601;3139666 + 3582;25920;1294;1422;146657601;3139666 + 3583;25930;1294;1423;146657601;3165596 + 3584;25932;1294;1423;146657601;3165596 + 3585;25944;1294;1423;146657601;3165596 + 3586;25949;1294;1424;146657601;3191545 + 3587;25956;1294;1424;146657601;3191545 + 3588;25963;1294;1425;146657601;3217508 + 3589;25968;1294;1425;146657601;3217508 + 3590;25980;1294;1425;146657601;3217508 + 3591;25983;1294;1426;146657601;3243491 + 3592;25992;1294;1426;146657601;3243491 + 3593;26001;1294;1427;146657601;3269492 + 3594;26004;1294;1427;146657601;3269492 + 3595;26013;1294;1428;146657601;3295505 + 3596;26016;1294;1428;146657601;3295505 + 3597;26028;1294;1428;146657601;3295505 + 3598;26036;1308;1429;148019221;2989896 + 3599;26040;1308;1429;148019221;2989896 + 3600;26052;1308;1429;148019221;2989896 + 3601;26056;1308;1430;148019221;3015952 + 3602;26064;1308;1430;148019221;3015952 + 3603;26071;1308;1431;148019221;3042023 + 3604;26076;1308;1431;148019221;3042023 + 3605;26088;1308;1431;148019221;3042023 + 3606;26094;1308;1432;148019221;3068117 + 3607;26100;1308;1432;148019221;3068117 + 3608;26106;1308;1433;148019221;3094223 + 3609;26112;1308;1433;148019221;3094223 + 3610;26124;1308;1433;148019221;3094223 + 3611;26124;1314;1434;143922552;2977198 + 3612;26136;1314;1434;143922552;2977198 + 3613;26141;1314;1435;143922552;3003339 + 3614;26148;1314;1435;143922552;3003339 + 3615;26160;1314;1435;143922552;3003339 + 3616;26162;1314;1436;143922552;3029501 + 3617;26172;1314;1436;143922552;3029501 + 3618;26183;1314;1437;143922552;3055684 + 3619;26184;1314;1437;143922552;3055684 + 3620;26196;1314;1437;143922552;3055684 + 3621;26205;1314;1438;143922552;3081889 + 3622;26208;1314;1438;143922552;3081889 + 3623;26219;1314;1439;143922552;3108108 + 3624;26220;1314;1439;143922552;3108108 + 3625;26232;1314;1439;143922552;3108108 + 3626;26235;1314;1440;143922552;3134343 + 3627;26244;1314;1440;143922552;3134343 + 3628;26249;1314;1441;143922552;3160592 + 3629;26256;1314;1441;143922552;3160592 + 3630;26268;1314;1441;143922552;3160592 + 3631;26269;1314;1442;143922552;3186861 + 3632;26280;1314;1442;143922552;3186861 + 3633;26284;1314;1443;143922552;3213145 + 3634;26292;1314;1443;143922552;3213145 + 3635;26301;1314;1444;143922552;3239446 + 3636;26304;1314;1444;143922552;3239446 + 3637;26316;1314;1444;143922552;3239446 + 3638;26318;1314;1445;143922552;3265764 + 3639;26328;1314;1445;143922552;3265764 + 3640;26330;1314;1446;143922552;3292094 + 3641;26340;1314;1446;143922552;3292094 + 3642;26343;1314;1447;143922552;3318437 + 3643;26352;1314;1447;143922552;3318437 + 3644;26357;1314;1448;143922552;3344794 + 3645;26364;1314;1448;143922552;3344794 + 3646;26375;1324;1449;143784686;3131115 + 3647;26376;1324;1449;143784686;3131115 + 3648;26388;1324;1449;143784686;3131115 + 3649;26390;1324;1450;143784686;3157505 + 3650;26400;1324;1450;143784686;3157505 + 3651;26409;1324;1451;143784686;3183914 + 3652;26412;1324;1451;143784686;3183914 + 3653;26424;1324;1451;143784686;3183914 + 3654;26433;1324;1452;143784686;3210347 + 3655;26436;1324;1452;143784686;3210347 + 3656;26448;1324;1452;143784686;3210347 + 3657;26457;1324;1453;143784686;3236804 + 3658;26460;1324;1453;143784686;3236804 + 3659;26470;1324;1454;143784686;3263274 + 3660;26472;1324;1454;143784686;3263274 + 3661;26484;1324;1454;143784686;3263274 + 3662;26489;1324;1455;143784686;3289763 + 3663;26496;1324;1455;143784686;3289763 + 3664;26502;1325;1456;146181497;3292144 + 3665;26508;1325;1456;146181497;3292144 + 3666;26516;1325;1457;146181497;3318660 + 3667;26520;1325;1457;146181497;3318660 + 3668;26531;1325;1458;146181497;3345191 + 3669;26532;1325;1458;146181497;3345191 + 3670;26544;1325;1458;146181497;3345191 + 3671;26555;1325;1459;146181497;3371746 + 3672;26556;1325;1459;146181497;3371746 + 3673;26568;1325;1459;146181497;3371746 + 3674;26573;1331;1460;143912700;3253218 + 3675;26580;1331;1460;143912700;3253218 + 3676;26592;1331;1460;143912700;3253218 + 3677;26597;1331;1461;143912700;3279815 + 3678;26604;1331;1461;143912700;3279815 + 3679;26614;1331;1462;143912700;3306429 + 3680;26616;1331;1462;143912700;3306429 + 3681;26628;1331;1462;143912700;3306429 + 3682;26628;1331;1463;143912700;3333057 + 3683;26640;1333;1463;146081462;3284541 + 3684;26643;1333;1464;146081462;3311184 + 3685;26652;1333;1464;146081462;3311184 + 3686;26656;1333;1465;146081462;3337840 + 3687;26664;1333;1465;146081462;3337840 + 3688;26674;1338;1466;151790242;3242939 + 3689;26676;1338;1466;151790242;3242939 + 3690;26688;1338;1466;151790242;3242939 + 3691;26688;1338;1467;151790242;3269627 + 3692;26700;1338;1467;151790242;3269627 + 3693;26711;1338;1468;151790242;3296338 + 3694;26712;1338;1468;151790242;3296338 + 3695;26724;1338;1468;151790242;3296338 + 3696;26726;1338;1469;151790242;3323064 + 3697;26736;1338;1469;151790242;3323064 + 3698;26742;1338;1470;151790242;3349806 + 3699;26748;1338;1470;151790242;3349806 + 3700;26757;1338;1471;151790242;3376563 + 3701;26760;1338;1471;151790242;3376563 + 3702;26772;1338;1471;151790242;3376563 + 3703;26779;1348;1472;151873392;3158755 + 3704;26784;1351;1472;142994514;3085050 + 3705;26796;1351;1472;142994514;3085050 + 3706;26796;1351;1473;142994514;3111846 + 3707;26808;1351;1473;142994514;3111846 + 3708;26808;1351;1474;142994514;3138654 + 3709;26820;1351;1474;142994514;3138654 + 3710;26832;1351;1474;142994514;3138654 + 3711;26832;1351;1475;142994514;3165486 + 3712;26844;1351;1475;142994514;3165486 + 3713;26844;1351;1476;142994514;3192330 + 3714;26856;1351;1476;142994514;3192330 + 3715;26858;1351;1477;142994514;3219188 + 3716;26868;1351;1477;142994514;3219188 + 3717;26878;1351;1478;142994514;3246066 + 3718;26880;1351;1478;142994514;3246066 + 3719;26892;1351;1478;142994514;3246066 + 3720;26898;1351;1479;142994514;3272964 + 3721;26904;1351;1479;142994514;3272964 + 3722;26916;1351;1479;142994514;3272964 + 3723;26920;1351;1480;142994514;3299884 + 3724;26928;1351;1480;142994514;3299884 + 3725;26939;1359;1481;149189086;3129466 + 3726;26940;1359;1481;149189086;3129466 + 3727;26952;1359;1481;149189086;3129466 + 3728;26960;1359;1482;149189086;3156426 + 3729;26964;1359;1482;149189086;3156426 + 3730;26976;1361;1482;142681616;3106921 + 3731;26978;1361;1483;142681616;3133899 + 3732;26988;1361;1483;142681616;3133899 + 3733;27000;1361;1483;142681616;3133899 + 3734;27002;1361;1484;142681616;3160901 + 3735;27012;1361;1484;142681616;3160901 + 3736;27021;1361;1485;142681616;3187922 + 3737;27024;1361;1485;142681616;3187922 + 3738;27036;1361;1485;142681616;3187922 + 3739;27036;1361;1486;142681616;3214958 + 3740;27048;1361;1486;142681616;3214958 + 3741;27052;1361;1487;142681616;3242010 + 3742;27060;1361;1487;142681616;3242010 + 3743;27068;1361;1488;142681616;3269078 + 3744;27072;1361;1488;142681616;3269078 + 3745;27083;1361;1489;142681616;3296161 + 3746;27084;1361;1489;142681616;3296161 + 3747;27096;1361;1489;142681616;3296161 + 3748;27104;1361;1490;142681616;3323265 + 3749;27108;1361;1490;142681616;3323265 + 3750;27120;1361;1490;142681616;3323265 + 3751;27122;1361;1491;142681616;3350387 + 3752;27132;1361;1491;142681616;3350387 + 3753;27137;1361;1492;142681616;3377524 + 3754;27144;1361;1492;142681616;3377524 + 3755;27156;1361;1492;142681616;3377524 + 3756;27159;1361;1493;142681616;3404683 + 3757;27168;1361;1493;142681616;3404683 + 3758;27171;1361;1494;142681616;3431854 + 3759;27180;1361;1494;142681616;3431854 + 3760;27192;1361;1494;142681616;3431854 + 3761;27193;1361;1495;142681616;3459047 + 3762;27204;1364;1495;147933117;3384628 + 3763;27216;1364;1495;147933117;3384628 + 3764;27216;1364;1496;147933117;3411844 + 3765;27228;1364;1496;147933117;3411844 + 3766;27237;1364;1497;147933117;3439081 + 3767;27240;1364;1497;147933117;3439081 + 3768;27252;1364;1497;147933117;3439081 + 3769;27258;1364;1498;147933117;3466339 + 3770;27264;1364;1498;147933117;3466339 + 3771;27276;1364;1498;147933117;3466339 + 3772;27281;1364;1499;147933117;3493620 + 3773;27288;1364;1499;147933117;3493620 + 3774;27300;1364;1499;147933117;3493620 + 3775;27303;1374;1500;147705439;3271650 + 3776;27312;1374;1500;147705439;3271650 + 3777;27318;1377;1501;148014154;3223872 + 3778;27324;1377;1501;148014154;3223872 + 3779;27336;1377;1501;148014154;3223872 + 3780;27342;1377;1502;148014154;3251214 + 3781;27348;1377;1502;148014154;3251214 + 3782;27360;1377;1502;148014154;3251214 + 3783;27361;1377;1503;148014154;3278575 + 3784;27372;1377;1503;148014154;3278575 + 3785;27384;1377;1503;148014154;3278575 + 3786;27384;1377;1504;148014154;3305959 + 3787;27396;1377;1504;148014154;3305959 + 3788;27402;1377;1505;148014154;3333361 + 3789;27408;1377;1505;148014154;3333361 + 3790;27420;1377;1505;148014154;3333361 + 3791;27423;1377;1506;148014154;3360784 + 3792;27432;1377;1506;148014154;3360784 + 3793;27444;1377;1506;148014154;3360784 + 3794;27445;1377;1507;148014154;3388229 + 3795;27456;1377;1507;148014154;3388229 + 3796;27467;1377;1508;148014154;3415696 + 3797;27468;1377;1508;148014154;3415696 + 3798;27480;1377;1508;148014154;3415696 + 3799;27488;1377;1509;148014154;3443184 + 3800;27492;1377;1509;148014154;3443184 + 3801;27504;1382;1509;145452812;3317603 + 3802;27505;1382;1510;145452812;3345108 + 3803;27516;1382;1510;145452812;3345108 + 3804;27523;1382;1511;145452812;3372631 + 3805;27528;1382;1511;145452812;3372631 + 3806;27540;1382;1511;145452812;3372631 + 3807;27547;1382;1512;145452812;3400178 + 3808;27552;1382;1512;145452812;3400178 + 3809;27564;1382;1512;145452812;3400178 + 3810;27567;1382;1513;145452812;3427745 + 3811;27576;1382;1513;145452812;3427745 + 3812;27586;1382;1514;145452812;3455331 + 3813;27588;1382;1514;145452812;3455331 + 3814;27600;1382;1514;145452812;3455331 + 3815;27601;1382;1515;145452812;3482932 + 3816;27612;1382;1515;145452812;3482932 + 3817;27618;1382;1516;145452812;3510550 + 3818;27624;1382;1516;145452812;3510550 + 3819;27636;1382;1516;145452812;3510550 + 3820;27638;1385;1517;150162467;3462606 + 3821;27648;1385;1517;150162467;3462606 + 3822;27655;1385;1518;150162467;3490261 + 3823;27660;1385;1518;150162467;3490261 + 3824;27671;1385;1519;150162467;3517932 + 3825;27672;1385;1519;150162467;3517932 + 3826;27683;1385;1520;150162467;3545615 + 3827;27684;1385;1520;150162467;3545615 + 3828;27696;1385;1520;150162467;3545615 + 3829;27707;1385;1521;150162467;3573322 + 3830;27708;1385;1521;150162467;3573322 + 3831;27720;1385;1521;150162467;3573322 + 3832;27726;1395;1522;145701952;3347866 + 3833;27732;1395;1522;145701952;3347866 + 3834;27740;1398;1523;146813296;3299279 + 3835;27744;1398;1523;146813296;3299279 + 3836;27754;1398;1524;146813296;3327033 + 3837;27756;1398;1524;146813296;3327033 + 3838;27768;1398;1524;146813296;3327033 + 3839;27769;1398;1525;146813296;3354802 + 3840;27780;1398;1525;146813296;3354802 + 3841;27791;1398;1526;146813296;3382593 + 3842;27792;1398;1526;146813296;3382593 + 3843;27804;1398;1526;146813296;3382593 + 3844;27809;1398;1527;146813296;3410402 + 3845;27816;1398;1527;146813296;3410402 + 3846;27821;1398;1528;146813296;3438223 + 3847;27828;1398;1528;146813296;3438223 + 3848;27838;1398;1529;146813296;3466061 + 3849;27840;1398;1529;146813296;3466061 + 3850;27850;1398;1530;146813296;3493911 + 3851;27852;1398;1530;146813296;3493911 + 3852;27864;1398;1530;146813296;3493911 + 3853;27870;1398;1531;146813296;3521781 + 3854;27876;1398;1531;146813296;3521781 + 3855;27885;1398;1532;146813296;3549666 + 3856;27888;1398;1532;146813296;3549666 + 3857;27898;1401;1533;140625888;3501052 + 3858;27900;1401;1533;140625888;3501052 + 3859;27912;1401;1533;140625888;3501052 + 3860;27915;1401;1534;140625888;3528967 + 3861;27924;1401;1534;140625888;3528967 + 3862;27935;1401;1535;140625888;3556902 + 3863;27936;1401;1535;140625888;3556902 + 3864;27948;1401;1535;140625888;3556902 + 3865;27949;1401;1536;140625888;3584851 + 3866;27960;1401;1536;140625888;3584851 + 3867;27971;1404;1537;144599020;3536155 + 3868;27972;1404;1537;144599020;3536155 + 3869;27984;1404;1537;144599020;3536155 + 3870;27990;1406;1538;147493254;3512943 + 3871;27996;1406;1538;147493254;3512943 + 3872;28008;1406;1538;147493254;3512943 + 3873;28011;1406;1539;147493254;3540954 + 3874;28020;1406;1539;147493254;3540954 + 3875;28031;1406;1540;147493254;3568985 + 3876;28032;1406;1540;147493254;3568985 + 3877;28043;1406;1541;147493254;3597028 + 3878;28044;1406;1541;147493254;3597028 + 3879;28056;1423;1541;141640326;3158639 + 3880;28062;1423;1542;141640326;3186701 + 3881;28068;1423;1542;141640326;3186701 + 3882;28080;1423;1542;141640326;3186701 + 3883;28085;1423;1543;141640326;3214786 + 3884;28092;1423;1543;141640326;3214786 + 3885;28104;1423;1543;141640326;3214786 + 3886;28106;1423;1544;141640326;3242892 + 3887;28116;1423;1544;141640326;3242892 + 3888;28122;1424;1545;142911333;3245051 + 3889;28128;1424;1545;142911333;3245051 + 3890;28136;1424;1546;142911333;3273187 + 3891;28140;1424;1546;142911333;3273187 + 3892;28151;1424;1547;142911333;3301338 + 3893;28152;1424;1547;142911333;3301338 + 3894;28164;1424;1547;142911333;3301338 + 3895;28174;1424;1548;142911333;3329512 + 3896;28176;1424;1548;142911333;3329512 + 3897;28188;1424;1548;142911333;3329512 + 3898;28198;1424;1549;142911333;3357710 + 3899;28200;1424;1549;142911333;3357710 + 3900;28212;1424;1549;142911333;3357710 + 3901;28217;1424;1550;142911333;3385927 + 3902;28224;1424;1550;142911333;3385927 + 3903;28236;1424;1550;142911333;3385927 + 3904;28241;1424;1551;142911333;3414168 + 3905;28248;1424;1551;142911333;3414168 + 3906;28260;1424;1551;142911333;3414168 + 3907;28263;1424;1552;142911333;3442431 + 3908;28272;1424;1552;142911333;3442431 + 3909;28277;1424;1553;142911333;3470708 + 3910;28284;1424;1553;142911333;3470708 + 3911;28291;1424;1554;142911333;3498999 + 3912;28296;1424;1554;142911333;3498999 + 3913;28304;1424;1555;142911333;3527303 + 3914;28308;1424;1555;142911333;3527303 + 3915;28320;1428;1555;148811689;3423270 + 3916;28328;1428;1556;148811689;3451598 + 3917;28332;1428;1556;148811689;3451598 + 3918;28344;1428;1556;148811689;3451598 + 3919;28347;1428;1557;148811689;3479945 + 3920;28356;1428;1557;148811689;3479945 + 3921;28366;1428;1558;148811689;3508311 + 3922;28368;1428;1558;148811689;3508311 + 3923;28380;1428;1558;148811689;3508311 + 3924;28386;1428;1559;148811689;3536697 + 3925;28392;1428;1559;148811689;3536697 + 3926;28404;1428;1559;148811689;3536697 + 3927;28410;1428;1560;148811689;3565107 + 3928;28416;1428;1560;148811689;3565107 + 3929;28426;1428;1561;148811689;3593533 + 3930;28428;1428;1561;148811689;3593533 + 3931;28440;1428;1561;148811689;3593533 + 3932;28441;1428;1562;148811689;3621974 + 3933;28452;1428;1562;148811689;3621974 + 3934;28464;1428;1562;148811689;3621974 + 3935;28465;1428;1563;148811689;3650439 + 3936;28476;1428;1563;148811689;3650439 + 3937;28484;1428;1564;148811689;3678923 + 3938;28488;1428;1564;148811689;3678923 + 3939;28496;1438;1565;149659617;3446058 + 3940;28500;1438;1565;149659617;3446058 + 3941;28512;1438;1565;149659617;3446058 + 3942;28515;1438;1566;149659617;3474573 + 3943;28524;1438;1566;149659617;3474573 + 3944;28528;1438;1567;149659617;3503101 + 3945;28536;1438;1567;149659617;3503101 + 3946;28542;1438;1568;149659617;3531643 + 3947;28548;1438;1568;149659617;3531643 + 3948;28560;1438;1568;149659617;3531643 + 3949;28561;1438;1569;149659617;3560204 + 3950;28572;1438;1569;149659617;3560204 + 3951;28582;1438;1570;149659617;3588786 + 3952;28584;1438;1570;149659617;3588786 + 3953;28596;1438;1570;149659617;3588786 + 3954;28601;1438;1571;149659617;3617387 + 3955;28608;1438;1571;149659617;3617387 + 3956;28620;1438;1571;149659617;3617387 + 3957;28621;1443;1572;144841740;3514670 + 3958;28632;1443;1572;144841740;3514670 + 3959;28637;1443;1573;144841740;3543307 + 3960;28644;1443;1573;144841740;3543307 + 3961;28649;1443;1574;144841740;3571956 + 3962;28656;1443;1574;144841740;3571956 + 3963;28668;1443;1574;144841740;3571956 + 3964;28672;1448;1575;150811472;3468905 + 3965;28680;1448;1575;150811472;3468905 + 3966;28687;1448;1576;150811472;3497592 + 3967;28692;1448;1576;150811472;3497592 + 3968;28704;1448;1576;150811472;3497592 + 3969;28706;1448;1577;150811472;3526298 + 3970;28716;1448;1577;150811472;3526298 + 3971;28721;1448;1578;150811472;3555019 + 3972;28728;1448;1578;150811472;3555019 + 3973;28740;1448;1578;150811472;3555019 + 3974;28742;1448;1579;150811472;3583761 + 3975;28752;1448;1579;150811472;3583761 + 3976;28756;1448;1580;150811472;3612517 + 3977;28764;1448;1580;150811472;3612517 + 3978;28776;1448;1580;150811472;3612517 + 3979;28778;1449;1581;153383154;3614905 + 3980;28788;1449;1581;153383154;3614905 + 3981;28790;1449;1582;153383154;3643695 + 3982;28800;1449;1582;153383154;3643695 + 3983;28806;1451;1583;147402412;3619659 + 3984;28812;1451;1583;147402412;3619659 + 3985;28822;1451;1584;147402412;3648481 + 3986;28824;1451;1584;147402412;3648481 + 3987;28836;1451;1584;147402412;3648481 + 3988;28845;1451;1585;147402412;3677326 + 3989;28848;1451;1585;147402412;3677326 + 3990;28857;1458;1586;154072445;3520663 + 3991;28860;1458;1586;154072445;3520663 + 3992;28872;1458;1586;154072445;3520663 + 3993;28877;1458;1587;154072445;3549540 + 3994;28884;1458;1587;154072445;3549540 + 3995;28896;1458;1587;154072445;3549540 + 3996;28896;1458;1588;154072445;3578436 + 3997;28908;1458;1588;154072445;3578436 + 3998;28912;1458;1589;154072445;3607348 + 3999;28920;1458;1589;154072445;3607348 + 4000;28932;1458;1589;154072445;3607348 + 4001;28934;1458;1590;154072445;3636282 + 4002;28944;1458;1590;154072445;3636282 + 4003;28955;1461;1591;147543747;3585453 + 4004;28956;1461;1591;147543747;3585453 + 4005;28968;1461;1591;147543747;3585453 + 4006;28968;1461;1592;147543747;3614421 + 4007;28980;1461;1592;147543747;3614421 + 4008;28988;1471;1593;146959096;3376405 + 4009;28992;1471;1593;146959096;3376405 + 4010;29004;1477;1593;145766798;3215389 + 4011;29012;1477;1594;145766798;3244401 + 4012;29016;1477;1594;145766798;3244401 + 4013;29024;1478;1595;146938977;3246527 + 4014;29028;1478;1595;146938977;3246527 + 4015;29036;1478;1596;146938977;3275563 + 4016;29040;1478;1596;146938977;3275563 + 4017;29052;1478;1596;146938977;3275563 + 4018;29052;1478;1597;146938977;3304615 + 4019;29064;1478;1597;146938977;3304615 + 4020;29072;1478;1598;146938977;3333687 + 4021;29076;1478;1598;146938977;3333687 + 4022;29088;1478;1598;146938977;3333687 + 4023;29096;1478;1599;146938977;3362783 + 4024;29100;1478;1599;146938977;3362783 + 4025;29112;1478;1599;146938977;3362783 + 4026;29119;1478;1600;146938977;3391902 + 4027;29124;1478;1600;146938977;3391902 + 4028;29136;1478;1600;146938977;3391902 + 4029;29142;1478;1601;146938977;3421044 + 4030;29148;1478;1601;146938977;3421044 + 4031;29160;1478;1601;146938977;3421044 + 4032;29164;1478;1602;146938977;3450208 + 4033;29172;1478;1602;146938977;3450208 + 4034;29180;1478;1603;146938977;3479388 + 4035;29184;1478;1603;146938977;3479388 + 4036;29196;1478;1603;146938977;3479388 + 4037;29202;1478;1604;146938977;3508590 + 4038;29208;1478;1604;146938977;3508590 + 4039;29217;1478;1605;146938977;3537807 + 4040;29220;1478;1605;146938977;3537807 + 4041;29232;1478;1605;146938977;3537807 + 4042;29238;1478;1606;146938977;3567045 + 4043;29244;1478;1606;146938977;3567045 + 4044;29256;1478;1606;146938977;3567045 + 4045;29258;1478;1607;146938977;3596303 + 4046;29268;1478;1607;146938977;3596303 + 4047;29276;1478;1608;146938977;3625579 + 4048;29280;1478;1608;146938977;3625579 + 4049;29292;1478;1608;146938977;3625579 + 4050;29296;1478;1609;146938977;3654875 + 4051;29304;1478;1609;146938977;3654875 + 4052;29316;1478;1609;146938977;3654875 + 4053;29316;1478;1610;146938977;3684191 + 4054;29328;1478;1610;146938977;3684191 + 4055;29340;1485;1610;142349911;3495335 + 4056;29340;1485;1611;142349911;3524675 + 4057;29352;1486;1611;144351766;3497623 + 4058;29352;1486;1612;144351766;3526975 + 4059;29364;1486;1612;144351766;3526975 + 4060;29365;1486;1613;144351766;3556340 + 4061;29376;1486;1613;144351766;3556340 + 4062;29383;1486;1614;144351766;3585723 + 4063;29388;1486;1614;144351766;3585723 + 4064;29400;1486;1614;144351766;3585723 + 4065;29401;1486;1615;144351766;3615124 + 4066;29412;1486;1615;144351766;3615124 + 4067;29416;1488;1616;145921548;3590389 + 4068;29424;1488;1616;145921548;3590389 + 4069;29436;1488;1616;145921548;3590389 + 4070;29440;1488;1617;145921548;3619829 + 4071;29448;1488;1617;145921548;3619829 + 4072;29458;1488;1618;145921548;3649287 + 4073;29460;1488;1618;145921548;3649287 + 4074;29472;1488;1618;145921548;3649287 + 4075;29477;1488;1619;145921548;3678764 + 4076;29484;1488;1619;145921548;3678764 + 4077;29496;1488;1619;145921548;3678764 + 4078;29497;1488;1620;145921548;3708261 + 4079;29508;1488;1620;145921548;3708261 + 4080;29514;1489;1621;148521643;3710671 + 4081;29520;1489;1621;148521643;3710671 + 4082;29532;1489;1621;148521643;3710671 + 4083;29536;1489;1622;148521643;3740207 + 4084;29544;1489;1622;148521643;3740207 + 4085;29550;1489;1623;148521643;3769757 + 4086;29556;1489;1623;148521643;3769757 + 4087;29567;1496;1624;149122717;3609089 + 4088;29568;1496;1624;149122717;3609089 + 4089;29580;1496;1624;149122717;3609089 + 4090;29583;1496;1625;149122717;3638672 + 4091;29592;1496;1625;149122717;3638672 + 4092;29599;1496;1626;149122717;3668271 + 4093;29604;1496;1626;149122717;3668271 + 4094;29614;1496;1627;149122717;3697885 + 4095;29616;1496;1627;149122717;3697885 + 4096;29626;1496;1628;149122717;3727511 + 4097;29628;1496;1628;149122717;3727511 + 4098;29640;1496;1628;149122717;3727511 + 4099;29642;1496;1629;149122717;3757153 + 4100;29652;1496;1629;149122717;3757153 + 4101;29661;1496;1630;149122717;3786814 + 4102;29664;1496;1630;149122717;3786814 + 4103;29673;1496;1631;149122717;3816487 + 4104;29676;1496;1631;149122717;3816487 + 4105;29687;1499;1632;155550817;3764332 + 4106;29688;1499;1632;155550817;3764332 + 4107;29700;1499;1632;155550817;3764332 + 4108;29705;1499;1633;155550817;3794037 + 4109;29712;1499;1633;155550817;3794037 + 4110;29723;1499;1634;155550817;3823760 + 4111;29724;1499;1634;155550817;3823760 + 4112;29736;1499;1634;155550817;3823760 + 4113;29745;1499;1635;155550817;3853505 + 4114;29748;1499;1635;155550817;3853505 + 4115;29760;1499;1635;155550817;3853505 + 4116;29766;1509;1636;150023758;3609136 + 4117;29772;1509;1636;150023758;3609136 + 4118;29784;1509;1636;150023758;3609136 + 4119;29790;1509;1637;150023758;3638926 + 4120;29796;1509;1637;150023758;3638926 + 4121;29808;1509;1637;150023758;3638926 + 4122;29808;1509;1638;150023758;3668734 + 4123;29820;1509;1638;150023758;3668734 + 4124;29825;1509;1639;150023758;3698559 + 4125;29832;1509;1639;150023758;3698559 + 4126;29844;1509;1639;150023758;3698559 + 4127;29846;1509;1640;150023758;3728405 + 4128;29856;1509;1640;150023758;3728405 + 4129;29860;1512;1641;143479880;3675628 + 4130;29868;1512;1641;143479880;3675628 + 4131;29875;1512;1642;143479880;3705503 + 4132;29880;1512;1642;143479880;3705503 + 4133;29892;1512;1642;143479880;3705503 + 4134;29896;1512;1643;143479880;3735399 + 4135;29904;1512;1643;143479880;3735399 + 4136;29916;1512;1643;143479880;3735399 + 4137;29916;1517;1644;150594826;3627217 + 4138;29928;1517;1644;150594826;3627217 + 4139;29939;1517;1645;150594826;3657156 + 4140;29940;1517;1645;150594826;3657156 + 4141;29952;1517;1645;150594826;3657156 + 4142;29962;1517;1646;150594826;3687118 + 4143;29964;1517;1646;150594826;3687118 + 4144;29976;1517;1646;150594826;3687118 + 4145;29982;1517;1647;150594826;3717100 + 4146;29988;1517;1647;150594826;3717100 + 4147;29994;1517;1648;150594826;3747094 + 4148;30000;1517;1648;150594826;3747094 + 4149;30012;1523;1648;145417967;3580813 + 4150;30012;1523;1649;145417967;3610825 + 4151;30024;1523;1649;145417967;3610825 + 4152;30025;1523;1650;145417967;3640850 + 4153;30036;1523;1650;145417967;3640850 + 4154;30044;1523;1651;145417967;3670894 + 4155;30048;1523;1651;145417967;3670894 + 4156;30060;1523;1651;145417967;3670894 + 4157;30063;1523;1652;145417967;3700957 + 4158;30072;1523;1652;145417967;3700957 + 4159;30084;1523;1652;145417967;3700957 + 4160;30087;1523;1653;145417967;3731044 + 4161;30096;1523;1653;145417967;3731044 + 4162;30107;1523;1654;145417967;3761151 + 4163;30108;1523;1654;145417967;3761151 + 4164;30120;1523;1654;145417967;3761151 + 4165;30124;1523;1655;145417967;3791275 + 4166;30132;1527;1655;146944007;3680085 + 4167;30144;1527;1655;146944007;3680085 + 4168;30147;1527;1656;146944007;3710232 + 4169;30156;1527;1656;146944007;3710232 + 4170;30167;1527;1657;146944007;3740399 + 4171;30168;1527;1657;146944007;3740399 + 4172;30179;1527;1658;146944007;3770578 + 4173;30180;1527;1658;146944007;3770578 + 4174;30191;1536;1659;144356707;3549658 + 4175;30192;1536;1659;144356707;3549658 + 4176;30204;1536;1659;144356707;3549658 + 4177;30208;1536;1660;144356707;3579866 + 4178;30216;1536;1660;144356707;3579866 + 4179;30221;1536;1661;144356707;3610087 + 4180;30228;1536;1661;144356707;3610087 + 4181;30240;1536;1661;144356707;3610087 + 4182;30242;1536;1662;144356707;3640329 + 4183;30252;1536;1662;144356707;3640329 + 4184;30264;1536;1662;144356707;3640329 + 4185;30265;1536;1663;144356707;3670594 + 4186;30276;1536;1663;144356707;3670594 + 4187;30281;1536;1664;144356707;3700875 + 4188;30288;1536;1664;144356707;3700875 + 4189;30295;1536;1665;144356707;3731170 + 4190;30300;1536;1665;144356707;3731170 + 4191;30312;1536;1665;144356707;3731170 + 4192;30316;1536;1666;144356707;3761486 + 4193;30324;1536;1666;144356707;3761486 + 4194;30331;1536;1667;144356707;3791817 + 4195;30336;1536;1667;144356707;3791817 + 4196;30348;1536;1667;144356707;3791817 + 4197;30348;1536;1668;144356707;3822165 + 4198;30360;1536;1668;144356707;3822165 + 4199;30361;1536;1669;144356707;3852526 + 4200;30372;1536;1669;144356707;3852526 + 4201;30384;1536;1669;144356707;3852526 + 4202;30385;1536;1670;144356707;3882911 + 4203;30396;1536;1670;144356707;3882911 + 4204;30401;1536;1671;144356707;3913312 + 4205;30408;1536;1671;144356707;3913312 + 4206;30420;1536;1671;144356707;3913312 + 4207;30424;1536;1672;144356707;3943736 + 4208;30432;1536;1672;144356707;3943736 + 4209;30441;1538;1673;149209513;3918176 + 4210;30444;1538;1673;149209513;3918176 + 4211;30456;1538;1673;149209513;3918176 + 4212;30460;1538;1674;149209513;3948636 + 4213;30468;1538;1674;149209513;3948636 + 4214;30472;1538;1675;149209513;3979108 + 4215;30480;1538;1675;149209513;3979108 + 4216;30489;1538;1676;149209513;4009597 + 4217;30492;1538;1676;149209513;4009597 + 4218;30504;1538;1676;149209513;4009597 + 4219;30505;1548;1677;150460867;3758994 + 4220;30516;1548;1677;150460867;3758994 + 4221;30520;1552;1678;143185522;3676516 + 4222;30528;1552;1678;143185522;3676516 + 4223;30536;1552;1679;143185522;3707052 + 4224;30540;1552;1679;143185522;3707052 + 4225;30552;1552;1679;143185522;3707052 + 4226;30556;1552;1680;143185522;3737608 + 4227;30564;1552;1680;143185522;3737608 + 4228;30568;1552;1681;143185522;3768176 + 4229;30576;1552;1681;143185522;3768176 + 4230;30582;1552;1682;143185522;3798758 + 4231;30588;1552;1682;143185522;3798758 + 4232;30600;1552;1682;143185522;3798758 + 4233;30604;1552;1683;143185522;3829362 + 4234;30612;1552;1683;143185522;3829362 + 4235;30624;1552;1683;143185522;3829362 + 4236;30625;1552;1684;143185522;3859987 + 4237;30636;1552;1684;143185522;3859987 + 4238;30648;1552;1684;143185522;3859987 + 4239;30649;1552;1685;143185522;3890636 + 4240;30660;1552;1685;143185522;3890636 + 4241;30672;1552;1685;143185522;3890636 + 4242;30673;1552;1686;143185522;3921309 + 4243;30684;1552;1686;143185522;3921309 + 4244;30695;1564;1687;143617454;3611260 + 4245;30696;1564;1687;143617454;3611260 + 4246;30708;1564;1687;143617454;3611260 + 4247;30708;1564;1688;143617454;3641968 + 4248;30720;1564;1688;143617454;3641968 + 4249;30731;1564;1689;143617454;3672699 + 4250;30732;1564;1689;143617454;3672699 + 4251;30744;1564;1689;143617454;3672699 + 4252;30745;1564;1690;143617454;3703444 + 4253;30756;1564;1690;143617454;3703444 + 4254;30761;1564;1691;143617454;3734205 + 4255;30768;1564;1691;143617454;3734205 + 4256;30774;1564;1692;143617454;3764979 + 4257;30780;1564;1692;143617454;3764979 + 4258;30791;1564;1693;143617454;3795770 + 4259;30792;1564;1693;143617454;3795770 + 4260;30804;1564;1693;143617454;3795770 + 4261;30812;1564;1694;143617454;3826582 + 4262;30816;1564;1694;143617454;3826582 + 4263;30828;1564;1694;143617454;3826582 + 4264;30830;1564;1695;143617454;3857412 + 4265;30840;1564;1695;143617454;3857412 + 4266;30852;1564;1695;143617454;3857412 + 4267;30852;1564;1696;143617454;3888264 + 4268;30864;1564;1696;143617454;3888264 + 4269;30870;1564;1697;143617454;3919134 + 4270;30876;1564;1697;143617454;3919134 + 4271;30883;1572;1698;139795645;3721430 + 4272;30888;1572;1698;139795645;3721430 + 4273;30895;1572;1699;139795645;3752325 + 4274;30900;1572;1699;139795645;3752325 + 4275;30910;1572;1700;139795645;3783235 + 4276;30912;1572;1700;139795645;3783235 + 4277;30924;1572;1700;139795645;3783235 + 4278;30933;1572;1701;139795645;3814168 + 4279;30936;1572;1701;139795645;3814168 + 4280;30946;1572;1702;139795645;3845114 + 4281;30948;1572;1702;139795645;3845114 + 4282;30960;1572;1702;139795645;3845114 + 4283;30966;1572;1703;139795645;3876080 + 4284;30972;1572;1703;139795645;3876080 + 4285;30984;1572;1703;139795645;3876080 + 4286;30988;1577;1704;141630630;3763633 + 4287;30996;1577;1704;141630630;3763633 + 4288;31008;1577;1704;141630630;3763633 + 4289;31010;1577;1705;141630630;3794643 + 4290;31020;1577;1705;141630630;3794643 + 4291;31030;1577;1706;141630630;3825673 + 4292;31032;1577;1706;141630630;3825673 + 4293;31044;1577;1706;141630630;3825673 + 4294;31051;1577;1707;141630630;3856724 + 4295;31056;1577;1707;141630630;3856724 + 4296;31068;1577;1707;141630630;3856724 + 4297;31071;1577;1708;141630630;3887795 + 4298;31080;1577;1708;141630630;3887795 + 4299;31090;1577;1709;141630630;3918885 + 4300;31092;1577;1709;141630630;3918885 + 4301;31104;1579;1709;146066462;3861387 + 4302;31109;1579;1710;146066462;3892496 + 4303;31116;1579;1710;146066462;3892496 + 4304;31126;1579;1711;146066462;3923622 + 4305;31128;1579;1711;146066462;3923622 + 4306;31140;1579;1711;146066462;3923622 + 4307;31141;1579;1712;146066462;3954763 + 4308;31152;1579;1712;146066462;3954763 + 4309;31156;1579;1713;146066462;3985919 + 4310;31164;1579;1713;146066462;3985919 + 4311;31175;1579;1714;146066462;4017094 + 4312;31176;1579;1714;146066462;4017094 + 4313;31188;1579;1714;146066462;4017094 + 4314;31198;1586;1715;141475589;3846517 + 4315;31200;1586;1715;141475589;3846517 + 4316;31212;1586;1715;141475589;3846517 + 4317;31221;1586;1716;141475589;3877738 + 4318;31224;1586;1716;141475589;3877738 + 4319;31236;1586;1716;141475589;3877738 + 4320;31244;1586;1717;141475589;3908982 + 4321;31248;1586;1717;141475589;3908982 + 4322;31256;1586;1718;141475589;3940238 + 4323;31260;1586;1718;141475589;3940238 + 4324;31271;1586;1719;141475589;3971509 + 4325;31272;1586;1719;141475589;3971509 + 4326;31283;1586;1720;141475589;4002792 + 4327;31284;1586;1720;141475589;4002792 + 4328;31296;1586;1720;141475589;4002792 + 4329;31296;1586;1721;141475589;4034088 + 4330;31308;1586;1721;141475589;4034088 + 4331;31314;1586;1722;141475589;4065402 + 4332;31320;1586;1722;141475589;4065402 + 4333;31332;1586;1722;141475589;4065402 + 4334;31333;1595;1723;136570136;3836010 + 4335;31344;1595;1723;136570136;3836010 + 4336;31349;1595;1724;136570136;3867359 + 4337;31356;1595;1724;136570136;3867359 + 4338;31362;1595;1725;136570136;3898721 + 4339;31368;1595;1725;136570136;3898721 + 4340;31380;1595;1725;136570136;3898721 + 4341;31383;1595;1726;136570136;3930104 + 4342;31392;1595;1726;136570136;3930104 + 4343;31395;1595;1727;136570136;3961499 + 4344;31404;1595;1727;136570136;3961499 + 4345;31410;1595;1728;136570136;3992909 + 4346;31416;1595;1728;136570136;3992909 + 4347;31428;1595;1728;136570136;3992909 + 4348;31434;1595;1729;136570136;4024343 + 4349;31440;1595;1729;136570136;4024343 + 4350;31452;1595;1729;136570136;4024343 + 4351;31454;1595;1730;136570136;4055797 + 4352;31464;1595;1730;136570136;4055797 + 4353;31476;1595;1730;136570136;4055797 + 4354;31476;1595;1731;136570136;4087273 + 4355;31488;1595;1731;136570136;4087273 + 4356;31492;1595;1732;136570136;4118765 + 4357;31500;1595;1732;136570136;4118765 + 4358;31509;1611;1733;127533957;3682954 + 4359;31512;1611;1733;127533957;3682954 + 4360;31524;1611;1733;127533957;3682954 + 4361;31531;1611;1734;127533957;3714485 + 4362;31536;1611;1734;127533957;3714485 + 4363;31548;1611;1734;127533957;3714485 + 4364;31552;1611;1735;127533957;3746037 + 4365;31560;1611;1735;127533957;3746037 + 4366;31572;1611;1735;127533957;3746037 + 4367;31572;1611;1736;127533957;3777609 + 4368;31584;1611;1736;127533957;3777609 + 4369;31584;1611;1737;127533957;3809193 + 4370;31596;1611;1737;127533957;3809193 + 4371;31608;1611;1737;127533957;3809193 + 4372;31608;1611;1738;127533957;3840801 + 4373;31620;1611;1738;127533957;3840801 + 4374;31620;1611;1739;127533957;3872421 + 4375;31632;1611;1739;127533957;3872421 + 4376;31640;1611;1740;127533957;3904061 + 4377;31644;1611;1740;127533957;3904061 + 4378;31653;1611;1741;127533957;3935714 + 4379;31656;1611;1741;127533957;3935714 + 4380;31668;1611;1741;127533957;3935714 + 4381;31675;1611;1742;127533957;3967389 + 4382;31680;1611;1742;127533957;3967389 + 4383;31692;1611;1742;127533957;3967389 + 4384;31695;1621;1743;125249829;3704597 + 4385;31704;1621;1743;125249829;3704597 + 4386;31714;1621;1744;125249829;3736311 + 4387;31716;1621;1744;125249829;3736311 + 4388;31727;1621;1745;125249829;3768038 + 4389;31728;1621;1745;125249829;3768038 + 4390;31740;1621;1745;125249829;3768038 + 4391;31743;1621;1746;125249829;3799781 + 4392;31752;1621;1746;125249829;3799781 + 4393;31762;1621;1747;125249829;3831543 + 4394;31764;1621;1747;125249829;3831543 + 4395;31776;1621;1747;125249829;3831543 + 4396;31785;1621;1748;125249829;3863328 + 4397;31788;1621;1748;125249829;3863328 + 4398;31800;1621;1748;125249829;3863328 + 4399;31803;1621;1749;125249829;3895131 + 4400;31812;1621;1749;125249829;3895131 + 4401;31822;1621;1750;125249829;3926953 + 4402;31824;1621;1750;125249829;3926953 + 4403;31836;1621;1750;125249829;3926953 + 4404;31837;1621;1751;125249829;3958790 + 4405;31848;1621;1751;125249829;3958790 + 4406;31854;1621;1752;125249829;3990644 + 4407;31860;1621;1752;125249829;3990644 + 4408;31872;1621;1752;125249829;3990644 + 4409;31877;1621;1753;125249829;4022521 + 4410;31884;1621;1753;125249829;4022521 + 4411;31890;1621;1754;125249829;4054411 + 4412;31896;1621;1754;125249829;4054411 + 4413;31902;1621;1755;125249829;4086313 + 4414;31908;1621;1755;125249829;4086313 + 4415;31920;1621;1755;125249829;4086313 + 4416;31924;1621;1756;125249829;4118237 + 4417;31932;1621;1756;125249829;4118237 + 4418;31938;1621;1757;125249829;4150175 + 4419;31944;1621;1757;125249829;4150175 + 4420;31956;1621;1757;125249829;4150175 + 4421;31957;1621;1758;125249829;4182132 + 4422;31968;1621;1758;125249829;4182132 + 4423;31969;1621;1759;125249829;4214101 + 4424;31980;1621;1759;125249829;4214101 + 4425;31992;1621;1759;125249829;4214101 + 4426;31993;1621;1760;125249829;4246094 + 4427;32004;1621;1760;125249829;4246094 + 4428;32009;1621;1761;125249829;4278103 + 4429;32016;1621;1761;125249829;4278103 + 4430;32027;1625;1762;128528719;4191831 + 4431;32028;1625;1762;128528719;4191831 + 4432;32040;1625;1762;128528719;4191831 + 4433;32040;1625;1763;128528719;4223871 + 4434;32052;1625;1763;128528719;4223871 + 4435;32054;1625;1764;128528719;4255925 + 4436;32064;1625;1764;128528719;4255925 + 4437;32075;1632;1765;128806172;4080392 + 4438;32076;1632;1765;128806172;4080392 + 4439;32088;1632;1765;128806172;4080392 + 4440;32096;1632;1766;128806172;4112488 + 4441;32100;1632;1766;128806172;4112488 + 4442;32112;1632;1766;128806172;4112488 + 4443;32118;1632;1767;128806172;4144606 + 4444;32124;1632;1767;128806172;4144606 + 4445;32130;1632;1768;128806172;4176736 + 4446;32136;1632;1768;128806172;4176736 + 4447;32148;1632;1768;128806172;4176736 + 4448;32154;1632;1769;128806172;4208890 + 4449;32160;1632;1769;128806172;4208890 + 4450;32172;1632;1769;128806172;4208890 + 4451;32177;1634;1770;130751753;4181599 + 4452;32184;1634;1770;130751753;4181599 + 4453;32189;1634;1771;130751753;4213788 + 4454;32196;1634;1771;130751753;4213788 + 4455;32201;1634;1772;130751753;4245989 + 4456;32208;1634;1772;130751753;4245989 + 4457;32220;1634;1772;130751753;4245989 + 4458;32223;1637;1773;133382522;4188848 + 4459;32232;1637;1773;133382522;4188848 + 4460;32238;1637;1774;133382522;4221086 + 4461;32244;1637;1774;133382522;4221086 + 4462;32253;1637;1775;133382522;4253339 + 4463;32256;1637;1775;133382522;4253339 + 4464;32268;1637;1775;133382522;4253339 + 4465;32273;1649;1776;134833016;3926480 + 4466;32280;1649;1776;134833016;3926480 + 4467;32292;1649;1776;134833016;3926480 + 4468;32294;1649;1777;134833016;3958774 + 4469;32304;1649;1777;134833016;3958774 + 4470;32315;1649;1778;134833016;3991089 + 4471;32316;1649;1778;134833016;3991089 + 4472;32328;1649;1778;134833016;3991089 + 4473;32329;1649;1779;134833016;4023418 + 4474;32340;1649;1779;134833016;4023418 + 4475;32341;1649;1780;134833016;4055759 + 4476;32352;1649;1780;134833016;4055759 + 4477;32364;1649;1780;134833016;4055759 + 4478;32365;1649;1781;134833016;4088124 + 4479;32376;1649;1781;134833016;4088124 + 4480;32378;1649;1782;134833016;4120502 + 4481;32388;1649;1782;134833016;4120502 + 4482;32391;1649;1783;134833016;4152893 + 4483;32400;1649;1783;134833016;4152893 + 4484;32412;1649;1783;134833016;4152893 + 4485;32412;1649;1784;134833016;4185305 + 4486;32424;1649;1784;134833016;4185305 + 4487;32425;1649;1785;134833016;4217730 + 4488;32436;1649;1785;134833016;4217730 + 4489;32437;1649;1786;134833016;4250167 + 4490;32448;1649;1786;134833016;4250167 + 4491;32455;1649;1787;134833016;4282622 + 4492;32460;1649;1787;134833016;4282622 + 4493;32472;1649;1787;134833016;4282622 + 4494;32477;1649;1788;134833016;4315099 + 4495;32484;1649;1788;134833016;4315099 + 4496;32489;1649;1789;134833016;4347588 + 4497;32496;1649;1789;134833016;4347588 + 4498;32505;1656;1790;131631870;4169354 + 4499;32508;1656;1790;131631870;4169354 + 4500;32520;1656;1790;131631870;4169354 + 4501;32527;1656;1791;131631870;4201881 + 4502;32532;1656;1791;131631870;4201881 + 4503;32540;1656;1792;131631870;4234421 + 4504;32544;1656;1792;131631870;4234421 + 4505;32554;1656;1793;131631870;4266975 + 4506;32556;1656;1793;131631870;4266975 + 4507;32568;1656;1793;131631870;4266975 + 4508;32569;1656;1794;131631870;4299544 + 4509;32580;1656;1794;131631870;4299544 + 4510;32581;1656;1795;131631870;4332125 + 4511;32592;1656;1795;131631870;4332125 + 4512;32602;1656;1796;131631870;4364727 + 4513;32604;1656;1796;131631870;4364727 + 4514;32616;1659;1796;136972735;4274149 + 4515;32622;1659;1797;136972735;4306771 + 4516;32628;1659;1797;136972735;4306771 + 4517;32640;1659;1797;136972735;4306771 + 4518;32641;1659;1798;136972735;4339412 + 4519;32652;1659;1798;136972735;4339412 + 4520;32660;1663;1799;132554203;4251063 + 4521;32664;1663;1799;132554203;4251063 + 4522;32676;1663;1799;132554203;4251063 + 4523;32676;1663;1800;132554203;4283739 + 4524;32688;1663;1800;132554203;4283739 + 4525;32693;1663;1801;132554203;4316432 + 4526;32700;1663;1801;132554203;4316432 + 4527;32712;1663;1801;132554203;4316432 + 4528;32712;1663;1802;132554203;4349144 + 4529;32724;1663;1802;132554203;4349144 + 4530;32736;1663;1802;132554203;4349144 + 4531;32736;1663;1803;132554203;4381880 + 4532;32748;1663;1803;132554203;4381880 + 4533;32757;1663;1804;132554203;4414637 + 4534;32760;1663;1804;132554203;4414637 + 4535;32772;1663;1804;132554203;4414637 + 4536;32780;1673;1805;134699247;4143655 + 4537;32784;1677;1805;136159399;4021669 + 4538;32796;1677;1805;136159399;4021669 + 4539;32801;1677;1806;136159399;4054470 + 4540;32808;1677;1806;136159399;4054470 + 4541;32820;1677;1806;136159399;4054470 + 4542;32822;1677;1807;136159399;4087292 + 4543;32832;1677;1807;136159399;4087292 + 4544;32840;1677;1808;136159399;4120132 + 4545;32844;1677;1808;136159399;4120132 + 4546;32856;1677;1808;136159399;4120132 + 4547;32864;1677;1809;136159399;4152996 + 4548;32868;1677;1809;136159399;4152996 + 4549;32877;1677;1810;136159399;4185873 + 4550;32880;1677;1810;136159399;4185873 + 4551;32892;1677;1810;136159399;4185873 + 4552;32895;1677;1811;136159399;4218768 + 4553;32904;1677;1811;136159399;4218768 + 4554;32911;1677;1812;136159399;4251679 + 4555;32916;1677;1812;136159399;4251679 + 4556;32928;1677;1812;136159399;4251679 + 4557;32932;1677;1813;136159399;4284611 + 4558;32940;1677;1813;136159399;4284611 + 4559;32944;1679;1814;138756418;4256463 + 4560;32952;1679;1814;138756418;4256463 + 4561;32960;1679;1815;138756418;4289423 + 4562;32964;1679;1815;138756418;4289423 + 4563;32973;1679;1816;138756418;4322396 + 4564;32976;1679;1816;138756418;4322396 + 4565;32988;1679;1816;138756418;4322396 + 4566;32997;1689;1817;134837631;4048813 + 4567;33000;1689;1817;134837631;4048813 + 4568;33010;1692;1818;127529592;3989497 + 4569;33012;1692;1818;127529592;3989497 + 4570;33022;1692;1819;127529592;4022519 + 4571;33024;1692;1819;127529592;4022519 + 4572;33036;1692;1819;127529592;4022519 + 4573;33044;1692;1820;127529592;4055563 + 4574;33048;1692;1820;127529592;4055563 + 4575;33060;1692;1820;127529592;4055563 + 4576;33063;1692;1821;127529592;4088626 + 4577;33072;1692;1821;127529592;4088626 + 4578;33084;1692;1821;127529592;4088626 + 4579;33086;1692;1822;127529592;4121712 + 4580;33096;1692;1822;127529592;4121712 + 4581;33107;1695;1823;129899750;4062325 + 4582;33108;1695;1823;129899750;4062325 + 4583;33120;1695;1823;129899750;4062325 + 4584;33125;1698;1824;130998129;4002802 + 4585;33132;1698;1824;130998129;4002802 + 4586;33138;1698;1825;130998129;4035940 + 4587;33144;1698;1825;130998129;4035940 + 4588;33152;1698;1826;130998129;4069092 + 4589;33156;1698;1826;130998129;4069092 + 4590;33168;1698;1826;130998129;4069092 + 4591;33169;1698;1827;130998129;4102261 + 4592;33180;1698;1827;130998129;4102261 + 4593;33191;1698;1828;130998129;4135452 + 4594;33192;1698;1828;130998129;4135452 + 4595;33204;1698;1828;130998129;4135452 + 4596;33207;1698;1829;130998129;4168659 + 4597;33216;1698;1829;130998129;4168659 + 4598;33225;1698;1830;130998129;4201884 + 4599;33228;1698;1830;130998129;4201884 + 4600;33238;1698;1831;130998129;4235122 + 4601;33240;1698;1831;130998129;4235122 + 4602;33252;1698;1831;130998129;4235122 + 4603;33252;1698;1832;130998129;4268374 + 4604;33264;1698;1832;130998129;4268374 + 4605;33267;1698;1833;130998129;4301641 + 4606;33276;1698;1833;130998129;4301641 + 4607;33281;1704;1834;126590216;4149169 + 4608;33288;1704;1834;126590216;4149169 + 4609;33296;1704;1835;126590216;4182465 + 4610;33300;1704;1835;126590216;4182465 + 4611;33311;1704;1836;126590216;4215776 + 4612;33312;1704;1836;126590216;4215776 + 4613;33324;1704;1836;126590216;4215776 + 4614;33328;1704;1837;126590216;4249104 + 4615;33336;1704;1837;126590216;4249104 + 4616;33343;1704;1838;126590216;4282447 + 4617;33348;1704;1838;126590216;4282447 + 4618;33360;1704;1838;126590216;4282447 + 4619;33361;1704;1839;126590216;4315808 + 4620;33372;1705;1839;128537518;4284778 + 4621;33384;1705;1839;128537518;4284778 + 4622;33384;1705;1840;128537518;4318162 + 4623;33396;1705;1840;128537518;4318162 + 4624;33404;1705;1841;128537518;4351566 + 4625;33408;1705;1841;128537518;4351566 + 4626;33420;1705;1841;128537518;4351566 + 4627;33420;1705;1842;128537518;4384986 + 4628;33432;1705;1842;128537518;4384986 + 4629;33440;1705;1843;128537518;4418426 + 4630;33444;1705;1843;128537518;4418426 + 4631;33452;1705;1844;128537518;4451878 + 4632;33456;1705;1844;128537518;4451878 + 4633;33464;1705;1845;128537518;4485342 + 4634;33468;1705;1845;128537518;4485342 + 4635;33479;1705;1846;128537518;4518821 + 4636;33480;1705;1846;128537518;4518821 + 4637;33492;1705;1846;128537518;4518821 + 4638;33494;1713;1847;129327457;4303396 + 4639;33504;1713;1847;129327457;4303396 + 4640;33506;1713;1848;129327457;4336902 + 4641;33516;1713;1848;129327457;4336902 + 4642;33523;1713;1849;129327457;4370425 + 4643;33528;1713;1849;129327457;4370425 + 4644;33540;1713;1849;129327457;4370425 + 4645;33543;1713;1850;129327457;4403968 + 4646;33552;1713;1850;129327457;4403968 + 4647;33559;1713;1851;129327457;4437527 + 4648;33564;1713;1851;129327457;4437527 + 4649;33576;1713;1851;129327457;4437527 + 4650;33582;1713;1852;129327457;4471109 + 4651;33588;1713;1852;129327457;4471109 + 4652;33600;1713;1852;129327457;4471109 + 4653;33605;1713;1853;129327457;4504714 + 4654;33612;1713;1853;129327457;4504714 + 4655;33624;1713;1853;129327457;4504714 + 4656;33627;1713;1854;129327457;4538341 + 4657;33636;1713;1854;129327457;4538341 + 4658;33644;1713;1855;129327457;4571985 + 4659;33648;1713;1855;129327457;4571985 + 4660;33660;1713;1855;129327457;4571985 + 4661;33664;1719;1856;133679603;4418176 + 4662;33672;1719;1856;133679603;4418176 + 4663;33678;1719;1857;133679603;4451854 + 4664;33684;1719;1857;133679603;4451854 + 4665;33694;1719;1858;133679603;4485548 + 4666;33696;1719;1858;133679603;4485548 + 4667;33708;1719;1858;133679603;4485548 + 4668;33713;1719;1859;133679603;4519261 + 4669;33720;1719;1859;133679603;4519261 + 4670;33732;1719;1859;133679603;4519261 + 4671;33732;1719;1860;133679603;4552993 + 4672;33744;1719;1860;133679603;4552993 + 4673;33750;1729;1861;135652358;4273013 + 4674;33756;1733;1861;128050094;4147005 + 4675;33766;1734;1862;129451461;4149219 + 4676;33768;1734;1862;129451461;4149219 + 4677;33780;1734;1862;129451461;4149219 + 4678;33781;1734;1863;129451461;4183000 + 4679;33792;1734;1863;129451461;4183000 + 4680;33793;1734;1864;129451461;4216793 + 4681;33804;1734;1864;129451461;4216793 + 4682;33811;1734;1865;129451461;4250604 + 4683;33816;1734;1865;129451461;4250604 + 4684;33827;1734;1866;129451461;4284431 + 4685;33828;1734;1866;129451461;4284431 + 4686;33840;1734;1866;129451461;4284431 + 4687;33842;1734;1867;129451461;4318273 + 4688;33852;1734;1867;129451461;4318273 + 4689;33864;1734;1867;129451461;4318273 + 4690;33866;1734;1868;129451461;4352139 + 4691;33876;1734;1868;129451461;4352139 + 4692;33882;1734;1869;129451461;4386021 + 4693;33888;1734;1869;129451461;4386021 + 4694;33900;1734;1869;129451461;4386021 + 4695;33903;1734;1870;129451461;4419924 + 4696;33912;1734;1870;129451461;4419924 + 4697;33924;1734;1870;129451461;4419924 + 4698;33927;1734;1871;129451461;4453851 + 4699;33936;1734;1871;129451461;4453851 + 4700;33948;1734;1871;129451461;4453851 + 4701;33951;1734;1872;129451461;4487802 + 4702;33960;1734;1872;129451461;4487802 + 4703;33966;1734;1873;129451461;4521768 + 4704;33972;1734;1873;129451461;4521768 + 4705;33984;1734;1873;129451461;4521768 + 4706;33986;1734;1874;129451461;4555754 + 4707;33996;1734;1874;129451461;4555754 + 4708;34004;1734;1875;129451461;4589758 + 4709;34008;1734;1875;129451461;4589758 + 4710;34020;1736;1875;133149890;4526602 + 4711;34025;1736;1876;133149890;4560627 + 4712;34032;1736;1876;133149890;4560627 + 4713;34044;1736;1876;133149890;4560627 + 4714;34049;1736;1877;133149890;4594676 + 4715;34056;1736;1877;133149890;4594676 + 4716;34063;1736;1878;133149890;4628739 + 4717;34068;1736;1878;133149890;4628739 + 4718;34080;1736;1878;133149890;4628739 + 4719;34087;1743;1879;130800992;4441221 + 4720;34092;1743;1879;130800992;4441221 + 4721;34104;1743;1879;130800992;4441221 + 4722;34111;1743;1880;130800992;4475332 + 4723;34116;1743;1880;130800992;4475332 + 4724;34123;1743;1881;130800992;4509455 + 4725;34128;1743;1881;130800992;4509455 + 4726;34135;1743;1882;130800992;4543590 + 4727;34140;1743;1882;130800992;4543590 + 4728;34152;1743;1882;130800992;4543590 + 4729;34152;1753;1883;132431760;4259642 + 4730;34164;1753;1883;132431760;4259642 + 4731;34166;1755;1884;132132929;4229982 + 4732;34176;1755;1884;132132929;4229982 + 4733;34187;1755;1885;132132929;4264169 + 4734;34188;1755;1885;132132929;4264169 + 4735;34200;1757;1885;134455114;4200274 + 4736;34211;1757;1886;134455114;4234485 + 4737;34212;1757;1886;134455114;4234485 + 4738;34224;1757;1886;134455114;4234485 + 4739;34224;1757;1887;134455114;4268709 + 4740;34236;1757;1887;134455114;4268709 + 4741;34242;1757;1888;134455114;4302951 + 4742;34248;1757;1888;134455114;4302951 + 4743;34260;1757;1888;134455114;4302951 + 4744;34261;1757;1889;134455114;4337212 + 4745;34272;1757;1889;134455114;4337212 + 4746;34284;1757;1889;134455114;4337212 + 4747;34285;1757;1890;134455114;4371497 + 4748;34296;1757;1890;134455114;4371497 + 4749;34305;1757;1891;134455114;4405802 + 4750;34308;1757;1891;134455114;4405802 + 4751;34320;1757;1891;134455114;4405802 + 4752;34327;1757;1892;134455114;4440129 + 4753;34332;1757;1892;134455114;4440129 + 4754;34344;1757;1892;134455114;4440129 + 4755;34349;1757;1893;134455114;4474478 + 4756;34356;1757;1893;134455114;4474478 + 4757;34365;1757;1894;134455114;4508843 + 4758;34368;1757;1894;134455114;4508843 + 4759;34380;1757;1894;134455114;4508843 + 4760;34387;1757;1895;134455114;4543230 + 4761;34392;1757;1895;134455114;4543230 + 4762;34404;1757;1895;134455114;4543230 + 4763;34411;1769;1896;136598186;4192799 + 4764;34416;1769;1896;136598186;4192799 + 4765;34428;1769;1896;136598186;4192799 + 4766;34428;1769;1897;136598186;4227227 + 4767;34440;1769;1897;136598186;4227227 + 4768;34444;1769;1898;136598186;4261671 + 4769;34452;1769;1898;136598186;4261671 + 4770;34464;1769;1898;136598186;4261671 + 4771;34466;1769;1899;136598186;4296137 + 4772;34476;1769;1899;136598186;4296137 + 4773;34483;1769;1900;136598186;4330620 + 4774;34488;1769;1900;136598186;4330620 + 4775;34500;1769;1900;136598186;4330620 + 4776;34507;1769;1901;136598186;4365127 + 4777;34512;1769;1901;136598186;4365127 + 4778;34521;1769;1902;136598186;4399648 + 4779;34524;1769;1902;136598186;4399648 + 4780;34536;1769;1902;136598186;4399648 + 4781;34544;1769;1903;136598186;4434192 + 4782;34548;1769;1903;136598186;4434192 + 4783;34560;1769;1903;136598186;4434192 + 4784;34564;1769;1904;136598186;4468756 + 4785;34572;1769;1904;136598186;4468756 + 4786;34579;1769;1905;136598186;4503335 + 4787;34584;1769;1905;136598186;4503335 + 4788;34592;1769;1906;136598186;4537927 + 4789;34596;1769;1906;136598186;4537927 + 4790;34608;1769;1906;136598186;4537927 + 4791;34608;1769;1907;136598186;4572535 + 4792;34620;1769;1907;136598186;4572535 + 4793;34629;1778;1908;137494124;4316849 + 4794;34632;1778;1908;137494124;4316849 + 4795;34644;1778;1908;137494124;4316849 + 4796;34653;1778;1909;137494124;4351502 + 4797;34656;1778;1909;137494124;4351502 + 4798;34668;1778;1909;137494124;4351502 + 4799;34674;1778;1910;137494124;4386176 + 4800;34680;1778;1910;137494124;4386176 + 4801;34692;1778;1910;137494124;4386176 + 4802;34694;1778;1911;137494124;4420870 + 4803;34704;1778;1911;137494124;4420870 + 4804;34710;1778;1912;137494124;4455580 + 4805;34716;1778;1912;137494124;4455580 + 4806;34724;1778;1913;137494124;4490304 + 4807;34728;1778;1913;137494124;4490304 + 4808;34740;1782;1913;132572353;4360829 + 4809;34742;1782;1914;132572353;4395571 + 4810;34752;1782;1914;132572353;4395571 + 4811;34754;1782;1915;132572353;4430325 + 4812;34764;1782;1915;132572353;4430325 + 4813;34772;1782;1916;132572353;4465097 + 4814;34776;1782;1916;132572353;4465097 + 4815;34788;1782;1916;132572353;4465097 + 4816;34791;1782;1917;132572353;4499888 + 4817;34800;1782;1917;132572353;4499888 + 4818;34809;1782;1918;132572353;4534697 + 4819;34812;1782;1918;132572353;4534697 + 4820;34824;1782;1918;132572353;4534697 + 4821;34833;1782;1919;132572353;4569530 + 4822;34836;1782;1919;132572353;4569530 + 4823;34847;1786;1920;138841933;4474648 + 4824;34848;1786;1920;138841933;4474648 + 4825;34860;1786;1920;138841933;4474648 + 4826;34864;1786;1921;138841933;4509512 + 4827;34872;1786;1921;138841933;4509512 + 4828;34884;1786;1921;138841933;4509512 + 4829;34886;1794;1922;139948845;4284156 + 4830;34896;1794;1922;139948845;4284156 + 4831;34908;1794;1922;139948845;4284156 + 4832;34909;1794;1923;139948845;4319065 + 4833;34920;1794;1923;139948845;4319065 + 4834;34930;1794;1924;139948845;4353995 + 4835;34932;1794;1924;139948845;4353995 + 4836;34942;1794;1925;139948845;4388937 + 4837;34944;1794;1925;139948845;4388937 + 4838;34956;1794;1925;139948845;4388937 + 4839;34965;1794;1926;139948845;4423902 + 4840;34968;1794;1926;139948845;4423902 + 4841;34980;1794;1926;139948845;4423902 + 4842;34980;1794;1927;139948845;4458882 + 4843;34992;1794;1927;139948845;4458882 + 4844;34999;1795;1928;142393769;4461279 + 4845;35004;1795;1928;142393769;4461279 + 4846;35016;1795;1928;142393769;4461279 + 4847;35019;1795;1929;142393769;4496298 + 4848;35028;1795;1929;142393769;4496298 + 4849;35032;1795;1930;142393769;4531330 + 4850;35040;1795;1930;142393769;4531330 + 4851;35050;1795;1931;142393769;4566380 + 4852;35052;1795;1931;142393769;4566380 + 4853;35064;1795;1931;142393769;4566380 + 4854;35073;1795;1932;142393769;4601453 + 4855;35076;1795;1932;142393769;4601453 + 4856;35088;1795;1932;142393769;4601453 + 4857;35091;1802;1933;137923049;4407804 + 4858;35100;1802;1933;137923049;4407804 + 4859;35107;1802;1934;137923049;4442911 + 4860;35112;1802;1934;137923049;4442911 + 4861;35123;1802;1935;137923049;4478034 + 4862;35124;1802;1935;137923049;4478034 + 4863;35136;1802;1935;137923049;4478034 + 4864;35143;1802;1936;137923049;4513177 + 4865;35148;1802;1936;137923049;4513177 + 4866;35160;1802;1936;137923049;4513177 + 4867;35162;1802;1937;137923049;4548339 + 4868;35172;1802;1937;137923049;4548339 + 4869;35184;1802;1937;137923049;4548339 + 4870;35186;1802;1938;137923049;4583525 + 4871;35196;1802;1938;137923049;4583525 + 4872;35200;1802;1939;137923049;4618725 + 4873;35208;1802;1939;137923049;4618725 + 4874;35216;1805;1940;143450417;4555603 + 4875;35220;1805;1940;143450417;4555603 + 4876;35231;1805;1941;143450417;4590834 + 4877;35232;1805;1941;143450417;4590834 + 4878;35244;1805;1941;143450417;4590834 + 4879;35249;1805;1942;143450417;4626083 + 4880;35256;1805;1942;143450417;4626083 + 4881;35267;1805;1943;143450417;4661350 + 4882;35268;1805;1943;143450417;4661350 + 4883;35280;1805;1943;143450417;4661350 + 4884;35286;1814;1944;141892649;4400591 + 4885;35292;1814;1944;141892649;4400591 + 4886;35304;1815;1944;143986606;4367618 + 4887;35305;1815;1945;143986606;4402923 + 4888;35316;1815;1945;143986606;4402923 + 4889;35322;1815;1946;143986606;4438245 + 4890;35328;1815;1946;143986606;4438245 + 4891;35337;1815;1947;143986606;4473582 + 4892;35340;1815;1947;143986606;4473582 + 4893;35352;1815;1947;143986606;4473582 + 4894;35359;1815;1948;143986606;4508941 + 4895;35364;1815;1948;143986606;4508941 + 4896;35372;1815;1949;143986606;4544313 + 4897;35376;1815;1949;143986606;4544313 + 4898;35388;1815;1949;143986606;4544313 + 4899;35394;1817;1950;146291615;4513700 + 4900;35400;1817;1950;146291615;4513700 + 4901;35411;1822;1951;139170226;4383789 + 4902;35412;1822;1951;139170226;4383789 + 4903;35424;1822;1951;139170226;4383789 + 4904;35429;1822;1952;139170226;4419218 + 4905;35436;1822;1952;139170226;4419218 + 4906;35448;1822;1952;139170226;4419218 + 4907;35453;1822;1953;139170226;4454671 + 4908;35460;1822;1953;139170226;4454671 + 4909;35466;1822;1954;139170226;4490137 + 4910;35472;1822;1954;139170226;4490137 + 4911;35481;1822;1955;139170226;4525618 + 4912;35484;1822;1955;139170226;4525618 + 4913;35496;1826;1955;144965733;4393034 + 4914;35498;1826;1956;144965733;4428532 + 4915;35508;1826;1956;144965733;4428532 + 4916;35511;1826;1957;144965733;4464043 + 4917;35520;1826;1957;144965733;4464043 + 4918;35528;1831;1958;139719107;4333458 + 4919;35532;1831;1958;139719107;4333458 + 4920;35544;1831;1958;139719107;4333458 + 4921;35545;1832;1959;141577316;4335736 + 4922;35556;1832;1959;141577316;4335736 + 4923;35563;1832;1960;141577316;4371299 + 4924;35568;1832;1960;141577316;4371299 + 4925;35580;1841;1960;134252773;4071171 + 4926;35586;1841;1961;134252773;4106757 + 4927;35592;1841;1961;134252773;4106757 + 4928;35598;1841;1962;134252773;4142355 + 4929;35604;1841;1962;134252773;4142355 + 4930;35616;1841;1962;134252773;4142355 + 4931;35619;1841;1963;134252773;4177974 + 4932;35628;1841;1963;134252773;4177974 + 4933;35637;1841;1964;134252773;4213611 + 4934;35640;1841;1964;134252773;4213611 + 4935;35652;1841;1964;134252773;4213611 + 4936;35656;1841;1965;134252773;4249267 + 4937;35664;1841;1965;134252773;4249267 + 4938;35670;1841;1966;134252773;4284937 + 4939;35676;1841;1966;134252773;4284937 + 4940;35687;1841;1967;134252773;4320624 + 4941;35688;1841;1967;134252773;4320624 + 4942;35700;1841;1967;134252773;4320624 + 4943;35703;1841;1968;134252773;4356327 + 4944;35712;1841;1968;134252773;4356327 + 4945;35717;1841;1969;134252773;4392044 + 4946;35724;1841;1969;134252773;4392044 + 4947;35732;1841;1970;134252773;4427776 + 4948;35736;1841;1970;134252773;4427776 + 4949;35748;1841;1970;134252773;4427776 + 4950;35750;1841;1971;134252773;4463526 + 4951;35760;1841;1971;134252773;4463526 + 4952;35765;1841;1972;134252773;4499291 + 4953;35772;1841;1972;134252773;4499291 + 4954;35784;1841;1972;134252773;4499291 + 4955;35784;1841;1973;134252773;4535075 + 4956;35796;1841;1973;134252773;4535075 + 4957;35805;1841;1974;134252773;4570880 + 4958;35808;1841;1974;134252773;4570880 + 4959;35820;1841;1974;134252773;4570880 + 4960;35826;1841;1975;134252773;4606706 + 4961;35832;1841;1975;134252773;4606706 + 4962;35844;1841;1975;134252773;4606706 + 4963;35847;1841;1976;134252773;4642553 + 4964;35856;1841;1976;134252773;4642553 + 4965;35868;1841;1976;134252773;4642553 + 4966;35871;1841;1977;134252773;4678424 + 4967;35880;1841;1977;134252773;4678424 + 4968;35884;1851;1978;131672426;4379266 + 4969;35892;1851;1978;131672426;4379266 + 4970;35900;1851;1979;131672426;4415166 + 4971;35904;1851;1979;131672426;4415166 + 4972;35916;1851;1979;131672426;4415166 + 4973;35919;1851;1980;131672426;4451085 + 4974;35928;1851;1980;131672426;4451085 + 4975;35932;1851;1981;131672426;4487017 + 4976;35940;1851;1981;131672426;4487017 + 4977;35951;1851;1982;131672426;4522968 + 4978;35952;1851;1982;131672426;4522968 + 4979;35964;1851;1982;131672426;4522968 + 4980;35967;1851;1983;131672426;4558935 + 4981;35976;1851;1983;131672426;4558935 + 4982;35988;1851;1983;131672426;4558935 + 4983;35990;1851;1984;131672426;4594925 + 4984;36000;1851;1984;131672426;4594925 + 4985;36012;1851;1984;131672426;4594925 + 4986;36014;1851;1985;131672426;4630939 + 4987;36024;1851;1985;131672426;4630939 + 4988;36036;1851;1985;131672426;4630939 + 4989;36038;1851;1986;131672426;4666977 + 4990;36048;1851;1986;131672426;4666977 + 4991;36050;1851;1987;131672426;4703027 + 4992;36060;1851;1987;131672426;4703027 + 4993;36066;1851;1988;131672426;4739093 + 4994;36072;1851;1988;131672426;4739093 + 4995;36084;1851;1988;131672426;4739093 + 4996;36090;1855;1989;137423550;4640643 + 4997;36096;1855;1989;137423550;4640643 + 4998;36108;1855;1989;137423550;4640643 + 4999;36113;1865;1990;136532745;4339211 + 5000;36120;1865;1990;136532745;4339211 + 5001;36132;1865;1990;136532745;4339211 + 5002;36136;1865;1991;136532745;4375347 + 5003;36144;1865;1991;136532745;4375347 + 5004;36156;1865;1991;136532745;4375347 + 5005;36157;1865;1992;136532745;4411504 + 5006;36168;1865;1992;136532745;4411504 + 5007;36180;1865;1992;136532745;4411504 + 5008;36181;1865;1993;136532745;4447685 + 5009;36192;1865;1993;136532745;4447685 + 5010;36201;1866;1994;138718429;4450044 + 5011;36204;1866;1994;138718429;4450044 + 5012;36216;1866;1994;138718429;4450044 + 5013;36223;1866;1995;138718429;4486267 + 5014;36228;1866;1995;138718429;4486267 + 5015;36237;1866;1996;138718429;4522504 + 5016;36240;1866;1996;138718429;4522504 + 5017;36249;1866;1997;138718429;4558753 + 5018;36252;1866;1997;138718429;4558753 + 5019;36264;1866;1997;138718429;4558753 + 5020;36270;1876;1998;133876497;4255464 + 5021;36276;1876;1998;133876497;4255464 + 5022;36283;1881;1999;125847145;4121228 + 5023;36288;1881;1999;125847145;4121228 + 5024;36299;1881;2000;125847145;4157527 + 5025;36300;1881;2000;125847145;4157527 + 5026;36312;1881;2000;125847145;4157527 + 5027;36315;1881;2001;125847145;4193842 + 5028;36324;1881;2001;125847145;4193842 + 5029;36332;1881;2002;125847145;4230174 + 5030;36336;1881;2002;125847145;4230174 + 5031;36347;1881;2003;125847145;4266521 + 5032;36348;1881;2003;125847145;4266521 + 5033;36360;1881;2003;125847145;4266521 + 5034;36369;1881;2004;125847145;4302890 + 5035;36372;1881;2004;125847145;4302890 + 5036;36384;1881;2004;125847145;4302890 + 5037;36386;1881;2005;125847145;4339276 + 5038;36396;1881;2005;125847145;4339276 + 5039;36398;1881;2006;125847145;4375674 + 5040;36408;1881;2006;125847145;4375674 + 5041;36411;1881;2007;125847145;4412085 + 5042;36420;1881;2007;125847145;4412085 + 5043;36432;1881;2007;125847145;4412085 + 5044;36433;1881;2008;125847145;4448518 + 5045;36444;1881;2008;125847145;4448518 + 5046;36456;1881;2008;125847145;4448518 + 5047;36456;1881;2009;125847145;4484974 + 5048;36468;1881;2009;125847145;4484974 + 5049;36470;1881;2010;125847145;4521444 + 5050;36480;1881;2010;125847145;4521444 + 5051;36491;1881;2011;125847145;4557935 + 5052;36492;1881;2011;125847145;4557935 + 5053;36504;1881;2011;125847145;4557935 + 5054;36515;1881;2012;125847145;4594450 + 5055;36516;1881;2012;125847145;4594450 + 5056;36528;1881;2012;125847145;4594450 + 5057;36531;1881;2013;125847145;4630981 + 5058;36540;1881;2013;125847145;4630981 + 5059;36551;1881;2014;125847145;4667532 + 5060;36552;1881;2014;125847145;4667532 + 5061;36564;1881;2014;125847145;4667532 + 5062;36571;1882;2015;128129010;4669951 + 5063;36576;1882;2015;128129010;4669951 + 5064;36588;1882;2015;128129010;4669951 + 5065;36590;1892;2016;125417134;4363984 + 5066;36600;1894;2016;124838949;4295232 + 5067;36612;1894;2016;124838949;4295232 + 5068;36612;1894;2017;124838949;4331844 + 5069;36624;1894;2017;124838949;4331844 + 5070;36626;1894;2018;124838949;4368470 + 5071;36636;1894;2018;124838949;4368470 + 5072;36642;1894;2019;124838949;4405112 + 5073;36648;1894;2019;124838949;4405112 + 5074;36660;1894;2019;124838949;4405112 + 5075;36662;1896;2020;126789687;4372935 + 5076;36672;1896;2020;126789687;4372935 + 5077;36678;1896;2021;126789687;4409613 + 5078;36684;1896;2021;126789687;4409613 + 5079;36696;1896;2021;126789687;4409613 + 5080;36701;1896;2022;126789687;4446314 + 5081;36708;1896;2022;126789687;4446314 + 5082;36720;1896;2022;126789687;4446314 + 5083;36720;1896;2023;126789687;4483034 + 5084;36732;1896;2023;126789687;4483034 + 5085;36744;1896;2023;126789687;4483034 + 5086;36744;1896;2024;126789687;4519778 + 5087;36756;1896;2024;126789687;4519778 + 5088;36767;1896;2025;126789687;4556545 + 5089;36768;1896;2025;126789687;4556545 + 5090;36780;1896;2025;126789687;4556545 + 5091;36784;1896;2026;126789687;4593329 + 5092;36792;1896;2026;126789687;4593329 + 5093;36803;1896;2027;126789687;4630132 + 5094;36804;1896;2027;126789687;4630132 + 5095;36816;1904;2027;120927673;4354024 + 5096;36823;1904;2028;120927673;4390847 + 5097;36828;1904;2028;120927673;4390847 + 5098;36835;1904;2029;120927673;4427682 + 5099;36840;1904;2029;120927673;4427682 + 5100;36852;1904;2029;120927673;4427682 + 5101;36859;1904;2030;120927673;4464541 + 5102;36864;1904;2030;120927673;4464541 + 5103;36876;1904;2030;120927673;4464541 + 5104;36879;1904;2031;120927673;4501420 + 5105;36888;1904;2031;120927673;4501420 + 5106;36896;1904;2032;120927673;4538316 + 5107;36900;1904;2032;120927673;4538316 + 5108;36909;1904;2033;120927673;4575225 + 5109;36912;1904;2033;120927673;4575225 + 5110;36924;1904;2033;120927673;4575225 + 5111;36933;1904;2034;120927673;4612158 + 5112;36936;1904;2034;120927673;4612158 + 5113;36948;1904;2034;120927673;4612158 + 5114;36950;1907;2035;123699031;4545279 + 5115;36960;1907;2035;123699031;4545279 + 5116;36968;1907;2036;123699031;4582247 + 5117;36972;1907;2036;123699031;4582247 + 5118;36983;1907;2037;123699031;4619230 + 5119;36984;1907;2037;123699031;4619230 + 5120;36996;1907;2037;123699031;4619230 + 5121;37000;1907;2038;123699031;4656230 + 5122;37008;1907;2038;123699031;4656230 + 5123;37012;1907;2039;123699031;4693242 + 5124;37020;1907;2039;123699031;4693242 + 5125;37028;1907;2040;123699031;4730270 + 5126;37032;1907;2040;123699031;4730270 + 5127;37040;1907;2041;123699031;4767310 + 5128;37044;1907;2041;123699031;4767310 + 5129;37056;1907;2041;123699031;4767310 + 5130;37064;1907;2042;123699031;4804374 + 5131;37068;1907;2042;123699031;4804374 + 5132;37080;1907;2042;123699031;4804374 + 5133;37086;1907;2043;123699031;4841460 + 5134;37092;1907;2043;123699031;4841460 + 5135;37104;1907;2043;123699031;4841460 + 5136;37105;1907;2044;123699031;4878565 + 5137;37116;1907;2044;123699031;4878565 + 5138;37118;1916;2045;125027101;4603169 + 5139;37128;1916;2045;125027101;4603169 + 5140;37135;1916;2046;125027101;4640304 + 5141;37140;1916;2046;125027101;4640304 + 5142;37152;1916;2046;125027101;4640304 + 5143;37154;1922;2047;123855786;4468310 + 5144;37164;1922;2047;123855786;4468310 + 5145;37167;1922;2048;123855786;4505477 + 5146;37176;1922;2048;123855786;4505477 + 5147;37180;1922;2049;123855786;4542657 + 5148;37188;1922;2049;123855786;4542657 + 5149;37194;1922;2050;123855786;4579851 + 5150;37200;1922;2050;123855786;4579851 + 5151;37211;1922;2051;123855786;4617062 + 5152;37212;1922;2051;123855786;4617062 + 5153;37224;1922;2051;123855786;4617062 + 5154;37235;1922;2052;123855786;4654297 + 5155;37236;1922;2052;123855786;4654297 + 5156;37248;1922;2052;123855786;4654297 + 5157;37253;1922;2053;123855786;4691550 + 5158;37260;1922;2053;123855786;4691550 + 5159;37271;1922;2054;123855786;4728821 + 5160;37272;1922;2054;123855786;4728821 + 5161;37284;1922;2054;123855786;4728821 + 5162;37286;1922;2055;123855786;4766107 + 5163;37296;1922;2055;123855786;4766107 + 5164;37300;1922;2056;123855786;4803407 + 5165;37308;1922;2056;123855786;4803407 + 5166;37317;1926;2057;127616923;4700907 + 5167;37320;1926;2057;127616923;4700907 + 5168;37332;1926;2057;127616923;4700907 + 5169;37336;1926;2058;127616923;4738243 + 5170;37344;1926;2058;127616923;4738243 + 5171;37349;1926;2059;127616923;4775592 + 5172;37356;1926;2059;127616923;4775592 + 5173;37365;1926;2060;127616923;4812957 + 5174;37368;1926;2060;127616923;4812957 + 5175;37380;1933;2060;124860316;4567586 + 5176;37382;1933;2061;124860316;4604968 + 5177;37392;1933;2061;124860316;4604968 + 5178;37404;1933;2061;124860316;4604968 + 5179;37405;1933;2062;124860316;4642373 + 5180;37416;1933;2062;124860316;4642373 + 5181;37419;1933;2063;124860316;4679792 + 5182;37428;1933;2063;124860316;4679792 + 5183;37431;1934;2064;126655226;4682100 + 5184;37440;1934;2064;126655226;4682100 + 5185;37452;1934;2064;126655226;4682100 + 5186;37455;1938;2065;131717502;4578864 + 5187;37464;1938;2065;131717502;4578864 + 5188;37474;1938;2066;131717502;4616338 + 5189;37476;1938;2066;131717502;4616338 + 5190;37488;1938;2066;131717502;4616338 + 5191;37497;1943;2067;125571769;4477586 + 5192;37500;1943;2067;125571769;4477586 + 5193;37512;1943;2067;125571769;4477586 + 5194;37512;1943;2068;125571769;4515098 + 5195;37524;1943;2068;125571769;4515098 + 5196;37529;1944;2069;127032945;4517322 + 5197;37536;1944;2069;127032945;4517322 + 5198;37541;1944;2070;127032945;4554863 + 5199;37548;1944;2070;127032945;4554863 + 5200;37560;1944;2070;127032945;4554863 + 5201;37565;1944;2071;127032945;4592428 + 5202;37572;1944;2071;127032945;4592428 + 5203;37581;1944;2072;127032945;4630009 + 5204;37584;1944;2072;127032945;4630009 + 5205;37596;1944;2072;127032945;4630009 + 5206;37597;1944;2073;127032945;4667606 + 5207;37608;1944;2073;127032945;4667606 + 5208;37615;1944;2074;127032945;4705221 + 5209;37620;1944;2074;127032945;4705221 + 5210;37632;1944;2074;127032945;4705221 + 5211;37639;1946;2075;129948667;4672201 + 5212;37644;1946;2075;129948667;4672201 + 5213;37656;1946;2075;129948667;4672201 + 5214;37657;1946;2076;129948667;4709858 + 5215;37668;1946;2076;129948667;4709858 + 5216;37670;1946;2077;129948667;4747528 + 5217;37680;1946;2077;129948667;4747528 + 5218;37682;1946;2078;129948667;4785210 + 5219;37692;1946;2078;129948667;4785210 + 5220;37698;1946;2079;129948667;4822908 + 5221;37704;1946;2079;129948667;4822908 + 5222;37716;1946;2079;129948667;4822908 + 5223;37720;1946;2080;129948667;4860628 + 5224;37728;1946;2080;129948667;4860628 + 5225;37739;1946;2081;129948667;4898367 + 5226;37740;1946;2081;129948667;4898367 + 5227;37752;1946;2081;129948667;4898367 + 5228;37757;1946;2082;129948667;4936124 + 5229;37764;1946;2082;129948667;4936124 + 5230;37776;1948;2082;132422694;4865393 + 5231;37781;1948;2083;132422694;4903174 + 5232;37788;1948;2083;132422694;4903174 + 5233;37797;1948;2084;132422694;4940971 + 5234;37800;1948;2084;132422694;4940971 + 5235;37812;1948;2084;132422694;4940971 + 5236;37817;1953;2085;128585922;4801635 + 5237;37824;1953;2085;128585922;4801635 + 5238;37836;1953;2085;128585922;4801635 + 5239;37841;1955;2086;132101275;4768497 + 5240;37848;1955;2086;132101275;4768497 + 5241;37857;1955;2087;132101275;4806354 + 5242;37860;1955;2087;132101275;4806354 + 5243;37872;1955;2087;132101275;4806354 + 5244;37875;1955;2088;132101275;4844229 + 5245;37884;1955;2088;132101275;4844229 + 5246;37893;1955;2089;132101275;4882122 + 5247;37896;1955;2089;132101275;4882122 + 5248;37908;1955;2089;132101275;4882122 + 5249;37909;1955;2090;132101275;4920031 + 5250;37920;1955;2090;132101275;4920031 + 5251;37929;1958;2091;134142534;4851376 + 5252;37932;1958;2091;134142534;4851376 + 5253;37944;1958;2091;134142534;4851376 + 5254;37948;1958;2092;134142534;4889324 + 5255;37956;1958;2092;134142534;4889324 + 5256;37968;1958;2092;134142534;4889324 + 5257;37970;1958;2093;134142534;4927294 + 5258;37980;1958;2093;134142534;4927294 + 5259;37986;1962;2094;127267957;4822914 + 5260;37992;1962;2094;127267957;4822914 + 5261;38004;1963;2094;129314177;4787277 + 5262;38004;1963;2095;129314177;4825281 + 5263;38016;1963;2095;129314177;4825281 + 5264;38018;1963;2096;129314177;4863299 + 5265;38028;1963;2096;129314177;4863299 + 5266;38039;1963;2097;129314177;4901338 + 5267;38040;1963;2097;129314177;4901338 + 5268;38052;1963;2097;129314177;4901338 + 5269;38052;1963;2098;129314177;4939390 + 5270;38064;1963;2098;129314177;4939390 + 5271;38066;1963;2099;129314177;4977456 + 5272;38076;1963;2099;129314177;4977456 + 5273;38088;1963;2099;129314177;4977456 + 5274;38090;1963;2100;129314177;5015546 + 5275;38100;1963;2100;129314177;5015546 + 5276;38110;1963;2101;129314177;5053656 + 5277;38112;1963;2101;129314177;5053656 + 5278;38124;1963;2101;129314177;5053656 + 5279;38132;1972;2102;129464754;4770324 + 5280;38136;1972;2102;129464754;4770324 + 5281;38148;1972;2102;129464754;4770324 + 5282;38154;1972;2103;129464754;4808478 + 5283;38160;1972;2103;129464754;4808478 + 5284;38172;1972;2103;129464754;4808478 + 5285;38174;1972;2104;129464754;4846652 + 5286;38184;1972;2104;129464754;4846652 + 5287;38192;1977;2105;133583551;4705611 + 5288;38196;1977;2105;133583551;4705611 + 5289;38208;1977;2105;133583551;4705611 + 5290;38212;1977;2106;133583551;4743823 + 5291;38220;1977;2106;133583551;4743823 + 5292;38226;1977;2107;133583551;4782049 + 5293;38232;1977;2107;133583551;4782049 + 5294;38240;1978;2108;135643072;4784389 + 5295;38244;1978;2108;135643072;4784389 + 5296;38256;1978;2108;135643072;4784389 + 5297;38257;1978;2109;135643072;4822646 + 5298;38268;1978;2109;135643072;4822646 + 5299;38271;1982;2110;131541792;4717148 + 5300;38280;1982;2110;131541792;4717148 + 5301;38290;1984;2111;132785794;4683434 + 5302;38292;1984;2111;132785794;4683434 + 5303;38304;1984;2111;132785794;4683434 + 5304;38311;1984;2112;132785794;4721745 + 5305;38316;1984;2112;132785794;4721745 + 5306;38328;1984;2112;132785794;4721745 + 5307;38329;1984;2113;132785794;4760074 + 5308;38340;1984;2113;132785794;4760074 + 5309;38341;1984;2114;132785794;4798415 + 5310;38352;1984;2114;132785794;4798415 + 5311;38359;1991;2115;127315883;4584124 + 5312;38364;1991;2115;127315883;4584124 + 5313;38376;1991;2115;127315883;4584124 + 5314;38376;1991;2116;127315883;4622500 + 5315;38388;1991;2116;127315883;4622500 + 5316;38389;1991;2117;127315883;4660889 + 5317;38400;1991;2117;127315883;4660889 + 5318;38406;1991;2118;127315883;4699295 + 5319;38412;1991;2118;127315883;4699295 + 5320;38418;1991;2119;127315883;4737713 + 5321;38424;1991;2119;127315883;4737713 + 5322;38436;1991;2119;127315883;4737713 + 5323;38442;1991;2120;127315883;4776155 + 5324;38448;1991;2120;127315883;4776155 + 5325;38460;1991;2120;127315883;4776155 + 5326;38465;1991;2121;127315883;4814620 + 5327;38472;1991;2121;127315883;4814620 + 5328;38484;1991;2121;127315883;4814620 + 5329;38489;1991;2122;127315883;4853109 + 5330;38496;1991;2122;127315883;4853109 + 5331;38503;1991;2123;127315883;4891612 + 5332;38508;1991;2123;127315883;4891612 + 5333;38516;1991;2124;127315883;4930128 + 5334;38520;1991;2124;127315883;4930128 + 5335;38532;1991;2124;127315883;4930128 + 5336;38535;1991;2125;127315883;4968663 + 5337;38544;1991;2125;127315883;4968663 + 5338;38554;1991;2126;127315883;5007217 + 5339;38556;1991;2126;127315883;5007217 + 5340;38568;1991;2126;127315883;5007217 + 5341;38570;1991;2127;127315883;5045787 + 5342;38580;1991;2127;127315883;5045787 + 5343;38583;1991;2128;127315883;5084370 + 5344;38592;1991;2128;127315883;5084370 + 5345;38595;1991;2129;127315883;5122965 + 5346;38604;1991;2129;127315883;5122965 + 5347;38616;1991;2129;127315883;5122965 + 5348;38617;1997;2130;130537113;4944221 + 5349;38628;1997;2130;130537113;4944221 + 5350;38638;1997;2131;130537113;4982859 + 5351;38640;1997;2131;130537113;4982859 + 5352;38652;1997;2131;130537113;4982859 + 5353;38653;1997;2132;130537113;5021512 + 5354;38664;1997;2132;130537113;5021512 + 5355;38669;1997;2133;130537113;5060181 + 5356;38676;1997;2133;130537113;5060181 + 5357;38688;1997;2133;130537113;5060181 + 5358;38691;1997;2134;130537113;5098872 + 5359;38700;1997;2134;130537113;5098872 + 5360;38704;1997;2135;130537113;5137576 + 5361;38712;1997;2135;130537113;5137576 + 5362;38720;1997;2136;130537113;5176296 + 5363;38724;1997;2136;130537113;5176296 + 5364;38736;1997;2136;130537113;5176296 + 5365;38738;1997;2137;130537113;5215034 + 5366;38748;1997;2137;130537113;5215034 + 5367;38752;2007;2138;127267957;4890213 + 5368;38760;2009;2138;128045711;4817287 + 5369;38772;2009;2138;128045711;4817287 + 5370;38774;2009;2139;128045711;4856061 + 5371;38784;2009;2139;128045711;4856061 + 5372;38794;2009;2140;128045711;4894855 + 5373;38796;2009;2140;128045711;4894855 + 5374;38808;2009;2140;128045711;4894855 + 5375;38810;2009;2141;128045711;4933665 + 5376;38820;2009;2141;128045711;4933665 + 5377;38829;2009;2142;128045711;4972494 + 5378;38832;2009;2142;128045711;4972494 + 5379;38844;2009;2142;128045711;4972494 + 5380;38845;2009;2143;128045711;5011339 + 5381;38856;2009;2143;128045711;5011339 + 5382;38867;2009;2144;128045711;5050206 + 5383;38868;2009;2144;128045711;5050206 + 5384;38880;2009;2144;128045711;5050206 + 5385;38889;2013;2145;123187782;4943007 + 5386;38892;2013;2145;123187782;4943007 + 5387;38904;2013;2145;123187782;4943007 + 5388;38907;2013;2146;123187782;4981914 + 5389;38916;2013;2146;123187782;4981914 + 5390;38928;2013;2146;123187782;4981914 + 5391;38928;2014;2147;125172686;4984271 + 5392;38940;2014;2147;125172686;4984271 + 5393;38941;2014;2148;125172686;5023212 + 5394;38952;2014;2148;125172686;5023212 + 5395;38953;2014;2149;125172686;5062165 + 5396;38964;2015;2149;127263601;5025575 + 5397;38966;2015;2150;127263601;5064541 + 5398;38976;2015;2150;127263601;5064541 + 5399;38978;2015;2151;127263601;5103519 + 5400;38988;2015;2151;127263601;5103519 + 5401;39000;2015;2151;127263601;5103519 + 5402;39001;2015;2152;127263601;5142520 + 5403;39012;2015;2152;127263601;5142520 + 5404;39023;2015;2153;127263601;5181543 + 5405;39024;2015;2153;127263601;5181543 + 5406;39036;2015;2153;127263601;5181543 + 5407;39037;2015;2154;127263601;5220580 + 5408;39048;2024;2154;122792073;4890428 + 5409;39052;2024;2155;122792073;4929480 + 5410;39060;2024;2155;122792073;4929480 + 5411;39072;2024;2155;122792073;4929480 + 5412;39075;2024;2156;122792073;4968555 + 5413;39084;2024;2156;122792073;4968555 + 5414;39096;2024;2156;122792073;4968555 + 5415;39097;2024;2157;122792073;5007652 + 5416;39108;2024;2157;122792073;5007652 + 5417;39117;2025;2158;124685217;5009985 + 5418;39120;2025;2158;124685217;5009985 + 5419;39132;2025;2158;124685217;5009985 + 5420;39137;2025;2159;124685217;5049122 + 5421;39144;2025;2159;124685217;5049122 + 5422;39154;2025;2160;124685217;5088276 + 5423;39156;2025;2160;124685217;5088276 + 5424;39168;2025;2160;124685217;5088276 + 5425;39168;2025;2161;124685217;5127444 + 5426;39180;2025;2161;124685217;5127444 + 5427;39189;2028;2162;126889540;5056172 + 5428;39192;2028;2162;126889540;5056172 + 5429;39204;2028;2162;126889540;5056172 + 5430;39212;2028;2163;126889540;5095384 + 5431;39216;2028;2163;126889540;5095384 + 5432;39228;2028;2163;126889540;5095384 + 5433;39233;2028;2164;126889540;5134617 + 5434;39240;2028;2164;126889540;5134617 + 5435;39245;2028;2165;126889540;5173862 + 5436;39252;2028;2165;126889540;5173862 + 5437;39259;2037;2166;129673192;4880744 + 5438;39264;2037;2166;129673192;4880744 + 5439;39276;2037;2166;129673192;4880744 + 5440;39282;2037;2167;129673192;4920026 + 5441;39288;2037;2167;129673192;4920026 + 5442;39300;2037;2167;129673192;4920026 + 5443;39301;2037;2168;129673192;4959327 + 5444;39312;2037;2168;129673192;4959327 + 5445;39323;2037;2169;129673192;4998650 + 5446;39324;2037;2169;129673192;4998650 + 5447;39336;2037;2169;129673192;4998650 + 5448;39337;2047;2170;126802706;4667078 + 5449;39348;2047;2170;126802706;4667078 + 5450;39351;2049;2171;127281026;4632055 + 5451;39360;2049;2171;127281026;4632055 + 5452;39363;2049;2172;127281026;4671418 + 5453;39372;2049;2172;127281026;4671418 + 5454;39381;2049;2173;127281026;4710799 + 5455;39384;2049;2173;127281026;4710799 + 5456;39396;2049;2173;127281026;4710799 + 5457;39402;2049;2174;127281026;4750201 + 5458;39408;2049;2174;127281026;4750201 + 5459;39420;2049;2174;127281026;4750201 + 5460;39421;2049;2175;127281026;4789622 + 5461;39432;2049;2175;127281026;4789622 + 5462;39433;2049;2176;127281026;4829055 + 5463;39444;2049;2176;127281026;4829055 + 5464;39446;2049;2177;127281026;4868501 + 5465;39456;2049;2177;127281026;4868501 + 5466;39466;2049;2178;127281026;4907967 + 5467;39468;2049;2178;127281026;4907967 + 5468;39480;2049;2178;127281026;4907967 + 5469;39485;2049;2179;127281026;4947452 + 5470;39492;2049;2179;127281026;4947452 + 5471;39503;2049;2180;127281026;4986955 + 5472;39504;2049;2180;127281026;4986955 + 5473;39516;2049;2180;127281026;4986955 + 5474;39516;2049;2181;127281026;5026471 + 5475;39528;2049;2181;127281026;5026471 + 5476;39531;2049;2182;127281026;5066002 + 5477;39540;2049;2182;127281026;5066002 + 5478;39552;2049;2182;127281026;5066002 + 5479;39555;2049;2183;127281026;5105557 + 5480;39564;2049;2183;127281026;5105557 + 5481;39576;2049;2183;127281026;5105557 + 5482;39576;2049;2184;127281026;5145133 + 5483;39588;2049;2184;127281026;5145133 + 5484;39590;2049;2185;127281026;5184723 + 5485;39600;2049;2185;127281026;5184723 + 5486;39608;2049;2186;127281026;5224331 + 5487;39612;2049;2186;127281026;5224331 + 5488;39624;2049;2186;127281026;5224331 + 5489;39629;2049;2187;127281026;5263960 + 5490;39636;2049;2187;127281026;5263960 + 5491;39648;2053;2187;125202680;5114990 + 5492;39650;2053;2188;125202680;5154640 + 5493;39660;2053;2188;125202680;5154640 + 5494;39672;2053;2188;125202680;5154640 + 5495;39674;2053;2189;125202680;5194314 + 5496;39684;2053;2189;125202680;5194314 + 5497;39689;2053;2190;125202680;5234003 + 5498;39696;2053;2190;125202680;5234003 + 5499;39701;2053;2191;125202680;5273704 + 5500;39708;2053;2191;125202680;5273704 + 5501;39720;2053;2191;125202680;5273704 + 5502;39724;2053;2192;125202680;5313428 + 5503;39732;2053;2192;125202680;5313428 + 5504;39744;2053;2192;125202680;5313428 + 5505;39748;2053;2193;125202680;5353176 + 5506;39756;2053;2193;125202680;5353176 + 5507;39765;2062;2194;122540158;5056782 + 5508;39768;2062;2194;122540158;5056782 + 5509;39780;2062;2194;122540158;5056782 + 5510;39784;2062;2195;122540158;5096566 + 5511;39792;2062;2195;122540158;5096566 + 5512;39804;2062;2195;122540158;5096566 + 5513;39805;2062;2196;122540158;5136371 + 5514;39816;2062;2196;122540158;5136371 + 5515;39827;2062;2197;122540158;5176198 + 5516;39828;2062;2197;122540158;5176198 + 5517;39840;2062;2197;122540158;5176198 + 5518;39851;2063;2198;124710826;5178618 + 5519;39852;2063;2198;124710826;5178618 + 5520;39864;2063;2198;124710826;5178618 + 5521;39865;2063;2199;124710826;5218483 + 5522;39876;2063;2199;124710826;5218483 + 5523;39885;2073;2200;126421345;4883002 + 5524;39888;2073;2200;126421345;4883002 + 5525;39900;2078;2200;127172159;4694656 + 5526;39902;2082;2201;120411392;4583561 + 5527;39912;2082;2201;120411392;4583561 + 5528;39914;2082;2202;120411392;4623475 + 5529;39924;2082;2202;120411392;4623475 + 5530;39930;2085;2203;120960791;4549950 + 5531;39936;2085;2203;120960791;4549950 + 5532;39948;2085;2203;120960791;4549950 + 5533;39954;2085;2204;120960791;4589904 + 5534;39960;2085;2204;120960791;4589904 + 5535;39967;2085;2205;120960791;4629871 + 5536;39972;2085;2205;120960791;4629871 + 5537;39983;2085;2206;120960791;4669854 + 5538;39984;2085;2206;120960791;4669854 + 5539;39996;2085;2206;120960791;4669854 + 5540;39999;2085;2207;120960791;4709853 + 5541;40008;2085;2207;120960791;4709853 + 5542;40011;2085;2208;120960791;4749864 + 5543;40020;2085;2208;120960791;4749864 + 5544;40024;2085;2209;120960791;4789888 + 5545;40032;2085;2209;120960791;4789888 + 5546;40043;2085;2210;120960791;4829931 + 5547;40044;2085;2210;120960791;4829931 + 5548;40056;2085;2210;120960791;4829931 + 5549;40057;2085;2211;120960791;4869988 + 5550;40068;2085;2211;120960791;4869988 + 5551;40074;2085;2212;120960791;4910062 + 5552;40080;2085;2212;120960791;4910062 + 5553;40092;2085;2212;120960791;4910062 + 5554;40096;2085;2213;120960791;4950158 + 5555;40104;2085;2213;120960791;4950158 + 5556;40113;2085;2214;120960791;4990271 + 5557;40116;2085;2214;120960791;4990271 + 5558;40128;2085;2214;120960791;4990271 + 5559;40134;2085;2215;120960791;5030405 + 5560;40140;2085;2215;120960791;5030405 + 5561;40152;2085;2215;120960791;5030405 + 5562;40152;2085;2216;120960791;5070557 + 5563;40164;2085;2216;120960791;5070557 + 5564;40176;2085;2216;120960791;5070557 + 5565;40176;2085;2217;120960791;5110733 + 5566;40188;2085;2217;120960791;5110733 + 5567;40192;2085;2218;120960791;5150925 + 5568;40200;2085;2218;120960791;5150925 + 5569;40204;2085;2219;120960791;5191129 + 5570;40212;2085;2219;120960791;5191129 + 5571;40224;2085;2219;120960791;5191129 + 5572;40224;2085;2220;120960791;5231353 + 5573;40236;2085;2220;120960791;5231353 + 5574;40245;2085;2221;120960791;5271598 + 5575;40248;2085;2221;120960791;5271598 + 5576;40260;2085;2221;120960791;5271598 + 5577;40266;2085;2222;120960791;5311864 + 5578;40272;2085;2222;120960791;5311864 + 5579;40284;2085;2222;120960791;5311864 + 5580;40289;2091;2223;118961213;5124742 + 5581;40296;2091;2223;118961213;5124742 + 5582;40308;2091;2223;118961213;5124742 + 5583;40311;2091;2224;118961213;5165053 + 5584;40320;2091;2224;118961213;5165053 + 5585;40332;2091;2224;118961213;5165053 + 5586;40334;2098;2225;125959189;4939252 + 5587;40344;2098;2225;125959189;4939252 + 5588;40347;2098;2226;125959189;4979599 + 5589;40356;2098;2226;125959189;4979599 + 5590;40360;2098;2227;125959189;5019959 + 5591;40368;2098;2227;125959189;5019959 + 5592;40373;2098;2228;125959189;5060332 + 5593;40380;2098;2228;125959189;5060332 + 5594;40392;2098;2228;125959189;5060332 + 5595;40397;2098;2229;125959189;5100729 + 5596;40404;2098;2229;125959189;5100729 + 5597;40414;2098;2230;125959189;5141143 + 5598;40416;2098;2230;125959189;5141143 + 5599;40428;2098;2230;125959189;5141143 + 5600;40433;2098;2231;125959189;5181576 + 5601;40440;2098;2231;125959189;5181576 + 5602;40452;2098;2231;125959189;5181576 + 5603;40456;2098;2232;125959189;5222032 + 5604;40464;2098;2232;125959189;5222032 + 5605;40474;2098;2233;125959189;5262506 + 5606;40476;2098;2233;125959189;5262506 + 5607;40488;2098;2233;125959189;5262506 + 5608;40489;2098;2234;125959189;5302995 + 5609;40500;2098;2234;125959189;5302995 + 5610;40508;2098;2235;125959189;5343503 + 5611;40512;2098;2235;125959189;5343503 + 5612;40524;2098;2235;125959189;5343503 + 5613;40524;2098;2236;125959189;5384027 + 5614;40536;2098;2236;125959189;5384027 + 5615;40547;2098;2237;125959189;5424574 + 5616;40548;2098;2237;125959189;5424574 + 5617;40560;2108;2237;129261075;5042787 + 5618;40562;2108;2238;129261075;5083349 + 5619;40572;2108;2238;129261075;5083349 + 5620;40583;2108;2239;129261075;5123932 + 5621;40584;2108;2239;129261075;5123932 + 5622;40596;2108;2239;129261075;5123932 + 5623;40599;2116;2240;127485949;4857865 + 5624;40608;2116;2240;127485949;4857865 + 5625;40620;2116;2240;127485949;4857865 + 5626;40620;2116;2241;127485949;4898485 + 5627;40632;2116;2241;127485949;4898485 + 5628;40632;2116;2242;127485949;4939117 + 5629;40644;2116;2242;127485949;4939117 + 5630;40646;2116;2243;127485949;4979763 + 5631;40656;2116;2243;127485949;4979763 + 5632;40658;2116;2244;127485949;5020421 + 5633;40668;2116;2244;127485949;5020421 + 5634;40671;2118;2245;130224727;4984268 + 5635;40680;2118;2245;130224727;4984268 + 5636;40689;2118;2246;130224727;5024957 + 5637;40692;2118;2246;130224727;5024957 + 5638;40704;2118;2246;130224727;5024957 + 5639;40705;2118;2247;130224727;5065662 + 5640;40716;2118;2247;130224727;5065662 + 5641;40721;2118;2248;130224727;5106383 + 5642;40728;2118;2248;130224727;5106383 + 5643;40733;2118;2249;130224727;5147116 + 5644;40740;2118;2249;130224727;5147116 + 5645;40752;2118;2249;130224727;5147116 + 5646;40754;2118;2250;130224727;5187870 + 5647;40764;2119;2250;132141975;5149428 + 5648;40767;2119;2251;132141975;5190195 + 5649;40776;2119;2251;132141975;5190195 + 5650;40785;2119;2252;132141975;5230980 + 5651;40788;2119;2252;132141975;5230980 + 5652;40797;2119;2253;132141975;5271777 + 5653;40800;2119;2253;132141975;5271777 + 5654;40811;2119;2254;132141975;5312588 + 5655;40812;2119;2254;132141975;5312588 + 5656;40824;2119;2254;132141975;5312588 + 5657;40835;2119;2255;132141975;5353423 + 5658;40836;2119;2255;132141975;5353423 + 5659;40848;2119;2255;132141975;5353423 + 5660;40850;2119;2256;132141975;5394273 + 5661;40860;2119;2256;132141975;5394273 + 5662;40865;2126;2257;126110176;5165506 + 5663;40872;2126;2257;126110176;5165506 + 5664;40884;2126;2257;126110176;5165506 + 5665;40889;2126;2258;126110176;5206395 + 5666;40896;2126;2258;126110176;5206395 + 5667;40904;2126;2259;126110176;5247299 + 5668;40908;2126;2259;126110176;5247299 + 5669;40920;2126;2259;126110176;5247299 + 5670;40923;2126;2260;126110176;5288222 + 5671;40932;2126;2260;126110176;5288222 + 5672;40944;2126;2260;126110176;5288222 + 5673;40946;2126;2261;126110176;5329168 + 5674;40956;2126;2261;126110176;5329168 + 5675;40962;2126;2262;126110176;5370130 + 5676;40968;2126;2262;126110176;5370130 + 5677;40974;2126;2263;126110176;5411104 + 5678;40980;2126;2263;126110176;5411104 + 5679;40988;2126;2264;126110176;5452092 + 5680;40992;2126;2264;126110176;5452092 + 5681;41004;2126;2264;126110176;5452092 + 5682;41006;2137;2265;125511610;5067738 + 5683;41016;2141;2265;119018232;4912531 + 5684;41028;2141;2265;119018232;4912531 + 5685;41028;2141;2266;119018232;4953559 + 5686;41040;2141;2266;119018232;4953559 + 5687;41040;2146;2267;122096369;4800163 + 5688;41052;2146;2267;122096369;4800163 + 5689;41053;2146;2268;122096369;4841216 + 5690;41064;2146;2268;122096369;4841216 + 5691;41071;2146;2269;122096369;4882287 + 5692;41076;2146;2269;122096369;4882287 + 5693;41088;2146;2269;122096369;4882287 + 5694;41094;2146;2270;122096369;4923381 + 5695;41100;2146;2270;122096369;4923381 + 5696;41112;2146;2270;122096369;4923381 + 5697;41115;2146;2271;122096369;4964496 + 5698;41124;2146;2271;122096369;4964496 + 5699;41131;2146;2272;122096369;5005627 + 5700;41136;2146;2272;122096369;5005627 + 5701;41148;2146;2272;122096369;5005627 + 5702;41154;2146;2273;122096369;5046781 + 5703;41160;2146;2273;122096369;5046781 + 5704;41172;2146;2273;122096369;5046781 + 5705;41178;2146;2274;122096369;5087959 + 5706;41184;2146;2274;122096369;5087959 + 5707;41196;2146;2274;122096369;5087959 + 5708;41199;2146;2275;122096369;5129158 + 5709;41208;2146;2275;122096369;5129158 + 5710;41211;2146;2276;122096369;5170369 + 5711;41220;2146;2276;122096369;5170369 + 5712;41227;2146;2277;122096369;5211596 + 5713;41232;2146;2277;122096369;5211596 + 5714;41244;2146;2277;122096369;5211596 + 5715;41247;2146;2278;122096369;5252843 + 5716;41256;2146;2278;122096369;5252843 + 5717;41267;2146;2279;122096369;5294110 + 5718;41268;2146;2279;122096369;5294110 + 5719;41280;2146;2279;122096369;5294110 + 5720;41283;2146;2280;122096369;5335393 + 5721;41292;2146;2280;122096369;5335393 + 5722;41302;2146;2281;122096369;5376695 + 5723;41304;2146;2281;122096369;5376695 + 5724;41316;2146;2281;122096369;5376695 + 5725;41323;2146;2282;122096369;5418018 + 5726;41328;2146;2282;122096369;5418018 + 5727;41340;2146;2282;122096369;5418018 + 5728;41341;2146;2283;122096369;5459359 + 5729;41352;2146;2283;122096369;5459359 + 5730;41363;2148;2284;124314479;5422828 + 5731;41364;2148;2284;124314479;5422828 + 5732;41376;2148;2284;124314479;5422828 + 5733;41383;2148;2285;124314479;5464211 + 5734;41388;2148;2285;124314479;5464211 + 5735;41399;2148;2286;124314479;5505610 + 5736;41400;2148;2286;124314479;5505610 + 5737;41412;2148;2286;124314479;5505610 + 5738;41423;2148;2287;124314479;5547033 + 5739;41424;2148;2287;124314479;5547033 + 5740;41436;2148;2287;124314479;5547033 + 5741;41446;2155;2288;121666681;5315347 + 5742;41448;2155;2288;121666681;5315347 + 5743;41460;2155;2288;121666681;5315347 + 5744;41469;2155;2289;121666681;5356816 + 5745;41472;2155;2289;121666681;5356816 + 5746;41484;2162;2289;117782206;5082742 + 5747;41492;2162;2290;117782206;5124234 + 5748;41496;2162;2290;117782206;5124234 + 5749;41508;2162;2290;117782206;5124234 + 5750;41508;2162;2291;117782206;5165742 + 5751;41520;2162;2291;117782206;5165742 + 5752;41526;2164;2292;118961213;5128790 + 5753;41532;2164;2292;118961213;5128790 + 5754;41538;2164;2293;118961213;5170328 + 5755;41544;2164;2293;118961213;5170328 + 5756;41554;2173;2294;114357879;4857883 + 5757;41556;2173;2294;114357879;4857883 + 5758;41568;2173;2294;114357879;4857883 + 5759;41571;2173;2295;114357879;4899454 + 5760;41580;2173;2295;114357879;4899454 + 5761;41584;2173;2296;114357879;4941038 + 5762;41592;2173;2296;114357879;4941038 + 5763;41603;2173;2297;114357879;4982641 + 5764;41604;2173;2297;114357879;4982641 + 5765;41616;2173;2297;114357879;4982641 + 5766;41622;2173;2298;114357879;5024263 + 5767;41628;2173;2298;114357879;5024263 + 5768;41640;2173;2298;114357879;5024263 + 5769;41641;2173;2299;114357879;5065904 + 5770;41652;2173;2299;114357879;5065904 + 5771;41658;2174;2300;115728173;5068141 + 5772;41664;2174;2300;115728173;5068141 + 5773;41670;2174;2301;115728173;5109811 + 5774;41676;2174;2301;115728173;5109811 + 5775;41688;2174;2301;115728173;5109811 + 5776;41691;2174;2302;115728173;5151502 + 5777;41700;2174;2302;115728173;5151502 + 5778;41707;2174;2303;115728173;5193209 + 5779;41712;2174;2303;115728173;5193209 + 5780;41721;2174;2304;115728173;5234930 + 5781;41724;2174;2304;115728173;5234930 + 5782;41736;2174;2304;115728173;5234930 + 5783;41739;2174;2305;115728173;5276669 + 5784;41748;2174;2305;115728173;5276669 + 5785;41754;2174;2306;115728173;5318423 + 5786;41760;2174;2306;115728173;5318423 + 5787;41770;2174;2307;115728173;5360193 + 5788;41772;2174;2307;115728173;5360193 + 5789;41784;2174;2307;115728173;5360193 + 5790;41787;2174;2308;115728173;5401980 + 5791;41796;2174;2308;115728173;5401980 + 5792;41807;2174;2309;115728173;5443787 + 5793;41808;2174;2309;115728173;5443787 + 5794;41820;2174;2309;115728173;5443787 + 5795;41823;2174;2310;115728173;5485610 + 5796;41832;2174;2310;115728173;5485610 + 5797;41836;2174;2311;115728173;5527446 + 5798;41844;2174;2311;115728173;5527446 + 5799;41856;2174;2311;115728173;5527446 + 5800;41857;2174;2312;115728173;5569303 + 5801;41868;2174;2312;115728173;5569303 + 5802;41876;2174;2313;115728173;5611179 + 5803;41880;2174;2313;115728173;5611179 + 5804;41892;2174;2313;115728173;5611179 + 5805;41893;2174;2314;115728173;5653072 + 5806;41904;2174;2314;115728173;5653072 + 5807;41906;2184;2315;113861852;5299877 + 5808;41916;2184;2315;113861852;5299877 + 5809;41918;2184;2316;113861852;5341795 + 5810;41928;2184;2316;113861852;5341795 + 5811;41938;2184;2317;113861852;5383733 + 5812;41940;2184;2317;113861852;5383733 + 5813;41952;2184;2317;113861852;5383733 + 5814;41960;2185;2318;115656895;5386085 + 5815;41964;2185;2318;115656895;5386085 + 5816;41974;2185;2319;115656895;5428059 + 5817;41976;2185;2319;115656895;5428059 + 5818;41988;2185;2319;115656895;5428059 + 5819;41998;2189;2320;117967798;5311415 + 5820;42000;2189;2320;117967798;5311415 + 5821;42012;2189;2320;117967798;5311415 + 5822;42016;2189;2321;117967798;5353431 + 5823;42024;2189;2321;117967798;5353431 + 5824;42036;2189;2321;117967798;5353431 + 5825;42037;2189;2322;117967798;5395468 + 5826;42048;2189;2322;117967798;5395468 + 5827;42049;2189;2323;117967798;5437517 + 5828;42060;2189;2323;117967798;5437517 + 5829;42064;2189;2324;117967798;5479581 + 5830;42072;2189;2324;117967798;5479581 + 5831;42080;2189;2325;117967798;5521661 + 5832;42084;2189;2325;117967798;5521661 + 5833;42096;2189;2325;117967798;5521661 + 5834;42102;2189;2326;117967798;5563763 + 5835;42108;2189;2326;117967798;5563763 + 5836;42116;2189;2327;117967798;5605879 + 5837;42120;2189;2327;117967798;5605879 + 5838;42130;2189;2328;117967798;5648009 + 5839;42132;2189;2328;117967798;5648009 + 5840;42144;2189;2328;117967798;5648009 + 5841;42150;2189;2329;117967798;5690159 + 5842;42156;2189;2329;117967798;5690159 + 5843;42168;2189;2329;117967798;5690159 + 5844;42170;2192;2330;114068594;5613156 + 5845;42180;2192;2330;114068594;5613156 + 5846;42192;2192;2330;114068594;5613156 + 5847;42193;2192;2331;114068594;5655349 + 5848;42204;2192;2331;114068594;5655349 + 5849;42206;2192;2332;114068594;5697555 + 5850;42216;2192;2332;114068594;5697555 + 5851;42225;2201;2333;112325111;5381182 + 5852;42228;2201;2333;112325111;5381182 + 5853;42238;2201;2334;112325111;5423420 + 5854;42240;2201;2334;112325111;5423420 + 5855;42252;2201;2334;112325111;5423420 + 5856;42253;2201;2335;112325111;5465673 + 5857;42264;2201;2335;112325111;5465673 + 5858;42271;2201;2336;112325111;5507944 + 5859;42276;2201;2336;112325111;5507944 + 5860;42283;2201;2337;112325111;5550227 + 5861;42288;2201;2337;112325111;5550227 + 5862;42300;2201;2337;112325111;5550227 + 5863;42301;2201;2338;112325111;5592528 + 5864;42312;2201;2338;112325111;5592528 + 5865;42318;2201;2339;112325111;5634846 + 5866;42324;2201;2339;112325111;5634846 + 5867;42336;2202;2339;114307006;5594916 + 5868;42340;2202;2340;114307006;5637256 + 5869;42348;2202;2340;114307006;5637256 + 5870;42360;2202;2340;114307006;5637256 + 5871;42361;2202;2341;114307006;5679617 + 5872;42372;2202;2341;114307006;5679617 + 5873;42377;2202;2342;114307006;5721994 + 5874;42384;2202;2342;114307006;5721994 + 5875;42396;2202;2342;114307006;5721994 + 5876;42401;2205;2343;119577644;5644491 + 5877;42408;2205;2343;119577644;5644491 + 5878;42420;2205;2343;119577644;5644491 + 5879;42425;2205;2344;119577644;5686916 + 5880;42432;2205;2344;119577644;5686916 + 5881;42441;2205;2345;119577644;5729357 + 5882;42444;2205;2345;119577644;5729357 + 5883;42456;2205;2345;119577644;5729357 + 5884;42461;2205;2346;119577644;5771818 + 5885;42468;2205;2346;119577644;5771818 + 5886;42480;2217;2346;124480536;5290747 + 5887;42484;2217;2347;124480536;5333231 + 5888;42492;2217;2347;124480536;5333231 + 5889;42504;2217;2347;124480536;5333231 + 5890;42506;2219;2348;127298454;5295309 + 5891;42516;2219;2348;127298454;5295309 + 5892;42519;2219;2349;127298454;5337828 + 5893;42528;2219;2349;127298454;5337828 + 5894;42537;2219;2350;127298454;5380365 + 5895;42540;2219;2350;127298454;5380365 + 5896;42550;2219;2351;127298454;5422915 + 5897;42552;2219;2351;127298454;5422915 + 5898;42564;2219;2351;127298454;5422915 + 5899;42574;2219;2352;127298454;5465489 + 5900;42576;2219;2352;127298454;5465489 + 5901;42588;2219;2352;127298454;5465489 + 5902;42592;2219;2353;127298454;5508081 + 5903;42600;2219;2353;127298454;5508081 + 5904;42612;2219;2353;127298454;5508081 + 5905;42614;2225;2354;124038211;5308903 + 5906;42624;2225;2354;124038211;5308903 + 5907;42627;2225;2355;124038211;5351530 + 5908;42636;2225;2355;124038211;5351530 + 5909;42641;2225;2356;124038211;5394171 + 5910;42648;2225;2356;124038211;5394171 + 5911;42659;2225;2357;124038211;5436830 + 5912;42660;2225;2357;124038211;5436830 + 5913;42672;2225;2357;124038211;5436830 + 5914;42678;2225;2358;124038211;5479508 + 5915;42684;2225;2358;124038211;5479508 + 5916;42694;2225;2359;124038211;5522202 + 5917;42696;2225;2359;124038211;5522202 + 5918;42708;2225;2359;124038211;5522202 + 5919;42716;2225;2360;124038211;5564918 + 5920;42720;2225;2360;124038211;5564918 + 5921;42732;2225;2360;124038211;5564918 + 5922;42740;2225;2361;124038211;5607658 + 5923;42744;2225;2361;124038211;5607658 + 5924;42756;2225;2361;124038211;5607658 + 5925;42761;2225;2362;124038211;5650419 + 5926;42768;2225;2362;124038211;5650419 + 5927;42780;2225;2362;124038211;5650419 + 5928;42782;2225;2363;124038211;5693201 + 5929;42792;2225;2363;124038211;5693201 + 5930;42802;2225;2364;124038211;5736003 + 5931;42804;2225;2364;124038211;5736003 + 5932;42816;2225;2364;124038211;5736003 + 5933;42816;2225;2365;124038211;5778819 + 5934;42828;2225;2365;124038211;5778819 + 5935;42829;2225;2366;124038211;5821648 + 5936;42840;2225;2366;124038211;5821648 + 5937;42852;2229;2366;128788538;5660104 + 5938;42853;2229;2367;128788538;5702957 + 5939;42864;2229;2367;128788538;5702957 + 5940;42876;2229;2367;128788538;5702957 + 5941;42877;2239;2368;128203586;5340659 + 5942;42888;2239;2368;128203586;5340659 + 5943;42892;2239;2369;128203586;5383551 + 5944;42900;2239;2369;128203586;5383551 + 5945;42912;2239;2369;128203586;5383551 + 5946;42914;2239;2370;128203586;5426465 + 5947;42924;2239;2370;128203586;5426465 + 5948;42933;2239;2371;128203586;5469398 + 5949;42936;2239;2371;128203586;5469398 + 5950;42948;2239;2371;128203586;5469398 + 5951;42955;2239;2372;128203586;5512353 + 5952;42960;2239;2372;128203586;5512353 + 5953;42972;2239;2372;128203586;5512353 + 5954;42977;2239;2373;128203586;5555330 + 5955;42984;2239;2373;128203586;5555330 + 5956;42996;2239;2373;128203586;5555330 + 5957;42996;2239;2374;128203586;5598326 + 5958;43008;2239;2374;128203586;5598326 + 5959;43011;2239;2375;128203586;5641337 + 5960;43020;2239;2375;128203586;5641337 + 5961;43025;2239;2376;128203586;5684362 + 5962;43032;2239;2376;128203586;5684362 + 5963;43037;2239;2377;128203586;5727399 + 5964;43044;2239;2377;128203586;5727399 + 5965;43056;2239;2377;128203586;5727399 + 5966;43057;2239;2378;128203586;5770456 + 5967;43068;2245;2378;129230108;5526540 + 5968;43080;2245;2378;129230108;5526540 + 5969;43080;2245;2379;129230108;5569620 + 5970;43092;2245;2379;129230108;5569620 + 5971;43099;2246;2380;131483274;5572014 + 5972;43104;2246;2380;131483274;5572014 + 5973;43116;2246;2380;131483274;5572014 + 5974;43121;2246;2381;131483274;5615135 + 5975;43128;2246;2381;131483274;5615135 + 5976;43140;2246;2381;131483274;5615135 + 5977;43142;2246;2382;131483274;5658277 + 5978;43152;2246;2382;131483274;5658277 + 5979;43161;2256;2383;136687049;5293520 + 5980;43164;2256;2383;136687049;5293520 + 5981;43176;2266;2383;133473861;4883860 + 5982;43179;2268;2384;133432751;4844915 + 5983;43188;2268;2384;133432751;4844915 + 5984;43198;2268;2385;133432751;4888113 + 5985;43200;2268;2385;133432751;4888113 + 5986;43212;2268;2385;133432751;4888113 + 5987;43220;2268;2386;133432751;4931333 + 5988;43224;2268;2386;133432751;4931333 + 5989;43236;2268;2386;133432751;4931333 + 5990;43242;2268;2387;133432751;4974575 + 5991;43248;2268;2387;133432751;4974575 + 5992;43259;2268;2388;133432751;5017834 + 5993;43260;2268;2388;133432751;5017834 + 5994;43272;2268;2388;133432751;5017834 + 5995;43274;2268;2389;133432751;5061108 + 5996;43284;2268;2389;133432751;5061108 + 5997;43295;2268;2390;133432751;5104403 + 5998;43296;2268;2390;133432751;5104403 + 5999;43307;2268;2391;133432751;5147710 + 6000;43308;2268;2391;133432751;5147710 + 6001;43320;2268;2391;133432751;5147710 + 6002;43326;2268;2392;133432751;5191036 + 6003;43332;2268;2392;133432751;5191036 + 6004;43340;2268;2393;133432751;5234376 + 6005;43344;2268;2393;133432751;5234376 + 6006;43356;2268;2393;133432751;5234376 + 6007;43361;2268;2394;133432751;5277737 + 6008;43368;2268;2394;133432751;5277737 + 6009;43376;2268;2395;133432751;5321113 + 6010;43380;2268;2395;133432751;5321113 + 6011;43392;2268;2395;133432751;5321113 + 6012;43396;2268;2396;133432751;5364509 + 6013;43404;2268;2396;133432751;5364509 + 6014;43410;2268;2397;133432751;5407919 + 6015;43416;2268;2397;133432751;5407919 + 6016;43428;2268;2397;133432751;5407919 + 6017;43428;2268;2398;133432751;5451347 + 6018;43440;2268;2398;133432751;5451347 + 6019;43445;2268;2399;133432751;5494792 + 6020;43452;2268;2399;133432751;5494792 + 6021;43464;2268;2399;133432751;5494792 + 6022;43464;2268;2400;133432751;5538256 + 6023;43476;2268;2400;133432751;5538256 + 6024;43487;2268;2401;133432751;5581743 + 6025;43488;2268;2401;133432751;5581743 + 6026;43500;2268;2401;133432751;5581743 + 6027;43509;2268;2402;133432751;5625252 + 6028;43512;2268;2402;133432751;5625252 + 6029;43524;2272;2402;128903201;5460758 + 6030;43532;2272;2403;128903201;5504290 + 6031;43536;2272;2403;128903201;5504290 + 6032;43548;2272;2403;128903201;5504290 + 6033;43555;2272;2404;128903201;5547845 + 6034;43560;2272;2404;128903201;5547845 + 6035;43567;2277;2405;136252640;5385350 + 6036;43572;2277;2405;136252640;5385350 + 6037;43583;2277;2406;136252640;5428933 + 6038;43584;2277;2406;136252640;5428933 + 6039;43596;2277;2406;136252640;5428933 + 6040;43603;2277;2407;136252640;5472536 + 6041;43608;2277;2407;136252640;5472536 + 6042;43616;2277;2408;136252640;5516152 + 6043;43620;2277;2408;136252640;5516152 + 6044;43632;2277;2408;136252640;5516152 + 6045;43639;2277;2409;136252640;5559791 + 6046;43644;2277;2409;136252640;5559791 + 6047;43654;2279;2410;138889463;5520895 + 6048;43656;2279;2410;138889463;5520895 + 6049;43667;2279;2411;138889463;5564562 + 6050;43668;2279;2411;138889463;5564562 + 6051;43679;2279;2412;138889463;5608241 + 6052;43680;2279;2412;138889463;5608241 + 6053;43692;2279;2412;138889463;5608241 + 6054;43697;2279;2413;138889463;5651938 + 6055;43704;2279;2413;138889463;5651938 + 6056;43715;2279;2414;138889463;5695653 + 6057;43716;2279;2414;138889463;5695653 + 6058;43728;2279;2414;138889463;5695653 + 6059;43736;2279;2415;138889463;5739389 + 6060;43740;2279;2415;138889463;5739389 + 6061;43748;2282;2416;136001037;5659171 + 6062;43752;2282;2416;136001037;5659171 + 6063;43764;2282;2416;136001037;5659171 + 6064;43772;2282;2417;136001037;5702943 + 6065;43776;2282;2417;136001037;5702943 + 6066;43785;2285;2418;140049474;5622583 + 6067;43788;2285;2418;140049474;5622583 + 6068;43798;2285;2419;140049474;5666381 + 6069;43800;2285;2419;140049474;5666381 + 6070;43812;2285;2419;140049474;5666381 + 6071;43822;2285;2420;140049474;5710203 + 6072;43824;2285;2420;140049474;5710203 + 6073;43836;2285;2420;140049474;5710203 + 6074;43839;2285;2421;140049474;5754042 + 6075;43848;2285;2421;140049474;5754042 + 6076;43852;2285;2422;140049474;5797894 + 6077;43860;2285;2422;140049474;5797894 + 6078;43872;2285;2422;140049474;5797894 + 6079;43874;2285;2423;140049474;5841768 + 6080;43884;2285;2423;140049474;5841768 + 6081;43896;2285;2423;140049474;5841768 + 6082;43896;2295;2424;143219833;5470553 + 6083;43908;2295;2424;143219833;5470553 + 6084;43920;2295;2424;143219833;5470553 + 6085;43920;2305;2425;136033626;5097667 + 6086;43932;2307;2425;136724482;5014110 + 6087;43939;2307;2426;136724482;5058049 + 6088;43944;2307;2426;136724482;5058049 + 6089;43956;2307;2426;136724482;5058049 + 6090;43961;2307;2427;136724482;5102010 + 6091;43968;2307;2427;136724482;5102010 + 6092;43980;2307;2427;136724482;5102010 + 6093;43983;2307;2428;136724482;5145993 + 6094;43992;2307;2428;136724482;5145993 + 6095;43998;2307;2429;136724482;5189991 + 6096;44004;2307;2429;136724482;5189991 + 6097;44016;2307;2429;136724482;5189991 + 6098;44020;2307;2430;136724482;5234011 + 6099;44028;2307;2430;136724482;5234011 + 6100;44036;2307;2431;136724482;5278047 + 6101;44040;2307;2431;136724482;5278047 + 6102;44052;2307;2431;136724482;5278047 + 6103;44057;2307;2432;136724482;5322104 + 6104;44064;2307;2432;136724482;5322104 + 6105;44076;2307;2432;136724482;5322104 + 6106;44081;2307;2433;136724482;5366185 + 6107;44088;2307;2433;136724482;5366185 + 6108;44100;2307;2433;136724482;5366185 + 6109;44101;2307;2434;136724482;5410286 + 6110;44112;2307;2434;136724482;5410286 + 6111;44117;2315;2435;131011581;5119487 + 6112;44124;2315;2435;131011581;5119487 + 6113;44136;2315;2435;131011581;5119487 + 6114;44141;2315;2436;131011581;5163628 + 6115;44148;2315;2436;131011581;5163628 + 6116;44160;2315;2436;131011581;5163628 + 6117;44162;2315;2437;131011581;5207790 + 6118;44172;2315;2437;131011581;5207790 + 6119;44176;2315;2438;131011581;5251966 + 6120;44184;2315;2438;131011581;5251966 + 6121;44188;2315;2439;131011581;5296154 + 6122;44196;2315;2439;131011581;5296154 + 6123;44201;2315;2440;131011581;5340355 + 6124;44208;2315;2440;131011581;5340355 + 6125;44218;2315;2441;131011581;5384573 + 6126;44220;2315;2441;131011581;5384573 + 6127;44232;2315;2441;131011581;5384573 + 6128;44234;2315;2442;131011581;5428807 + 6129;44244;2315;2442;131011581;5428807 + 6130;44248;2315;2443;131011581;5473055 + 6131;44256;2315;2443;131011581;5473055 + 6132;44268;2315;2443;131011581;5473055 + 6133;44272;2315;2444;131011581;5517327 + 6134;44280;2315;2444;131011581;5517327 + 6135;44289;2315;2445;131011581;5561616 + 6136;44292;2315;2445;131011581;5561616 + 6137;44304;2315;2445;131011581;5561616 + 6138;44312;2315;2446;131011581;5605928 + 6139;44316;2315;2446;131011581;5605928 + 6140;44324;2315;2447;131011581;5650252 + 6141;44328;2315;2447;131011581;5650252 + 6142;44339;2315;2448;131011581;5694591 + 6143;44340;2315;2448;131011581;5694591 + 6144;44352;2315;2448;131011581;5694591 + 6145;44361;2315;2449;131011581;5738952 + 6146;44364;2315;2449;131011581;5738952 + 6147;44376;2315;2449;131011581;5738952 + 6148;44381;2325;2450;128339690;5363115 + 6149;44388;2325;2450;128339690;5363115 + 6150;44399;2325;2451;128339690;5407514 + 6151;44400;2325;2451;128339690;5407514 + 6152;44412;2325;2451;128339690;5407514 + 6153;44423;2328;2452;132831252;5325541 + 6154;44424;2328;2452;132831252;5325541 + 6155;44436;2328;2452;132831252;5325541 + 6156;44443;2328;2453;132831252;5369984 + 6157;44448;2328;2453;132831252;5369984 + 6158;44459;2328;2454;132831252;5414443 + 6159;44460;2328;2454;132831252;5414443 + 6160;44472;2328;2454;132831252;5414443 + 6161;44473;2328;2455;132831252;5458916 + 6162;44484;2328;2455;132831252;5458916 + 6163;44494;2328;2456;132831252;5503410 + 6164;44496;2328;2456;132831252;5503410 + 6165;44508;2328;2456;132831252;5503410 + 6166;44518;2328;2457;132831252;5547928 + 6167;44520;2328;2457;132831252;5547928 + 6168;44532;2328;2457;132831252;5547928 + 6169;44540;2338;2458;132345663;5170010 + 6170;44544;2338;2458;132345663;5170010 + 6171;44556;2338;2458;132345663;5170010 + 6172;44562;2338;2459;132345663;5214572 + 6173;44568;2338;2459;132345663;5214572 + 6174;44578;2338;2460;132345663;5259150 + 6175;44580;2338;2460;132345663;5259150 + 6176;44592;2338;2460;132345663;5259150 + 6177;44594;2338;2461;132345663;5303744 + 6178;44604;2338;2461;132345663;5303744 + 6179;44616;2341;2461;127599452;5176666 + 6180;44618;2341;2462;127599452;5221284 + 6181;44628;2341;2462;127599452;5221284 + 6182;44640;2341;2462;127599452;5221284 + 6183;44640;2341;2463;127599452;5265924 + 6184;44652;2341;2463;127599452;5265924 + 6185;44657;2341;2464;127599452;5310581 + 6186;44664;2341;2464;127599452;5310581 + 6187;44676;2341;2464;127599452;5310581 + 6188;44676;2341;2465;127599452;5355257 + 6189;44688;2341;2465;127599452;5355257 + 6190;44688;2341;2466;127599452;5399945 + 6191;44700;2341;2466;127599452;5399945 + 6192;44706;2341;2467;127599452;5444651 + 6193;44712;2341;2467;127599452;5444651 + 6194;44724;2341;2467;127599452;5444651 + 6195;44726;2341;2468;127599452;5489377 + 6196;44736;2341;2468;127599452;5489377 + 6197;44743;2341;2469;127599452;5534120 + 6198;44748;2341;2469;127599452;5534120 + 6199;44760;2341;2469;127599452;5534120 + 6200;44765;2341;2470;127599452;5578885 + 6201;44772;2341;2470;127599452;5578885 + 6202;44784;2341;2470;127599452;5578885 + 6203;44784;2341;2471;127599452;5623669 + 6204;44796;2341;2471;127599452;5623669 + 6205;44797;2341;2472;127599452;5668466 + 6206;44808;2341;2472;127599452;5668466 + 6207;44809;2341;2473;127599452;5713275 + 6208;44820;2341;2473;127599452;5713275 + 6209;44832;2341;2473;127599452;5713275 + 6210;44832;2341;2474;127599452;5758107 + 6211;44844;2341;2474;127599452;5758107 + 6212;44848;2346;2475;133697906;5590743 + 6213;44856;2346;2475;133697906;5590743 + 6214;44867;2346;2476;133697906;5635610 + 6215;44868;2346;2476;133697906;5635610 + 6216;44880;2346;2476;133697906;5635610 + 6217;44890;2346;2477;133697906;5680500 + 6218;44892;2346;2477;133697906;5680500 + 6219;44902;2346;2478;133697906;5725402 + 6220;44904;2346;2478;133697906;5725402 + 6221;44916;2346;2478;133697906;5725402 + 6222;44923;2346;2479;133697906;5770325 + 6223;44928;2346;2479;133697906;5770325 + 6224;44940;2346;2479;133697906;5770325 + 6225;44942;2346;2480;133697906;5815267 + 6226;44952;2346;2480;133697906;5815267 + 6227;44955;2346;2481;133697906;5860222 + 6228;44964;2346;2481;133697906;5860222 + 6229;44969;2346;2482;133697906;5905191 + 6230;44976;2346;2482;133697906;5905191 + 6231;44986;2356;2483;131438278;5524358 + 6232;44988;2356;2483;131438278;5524358 + 6233;45000;2356;2483;131438278;5524358 + 6234;45007;2356;2484;131438278;5569365 + 6235;45012;2356;2484;131438278;5569365 + 6236;45024;2356;2484;131438278;5569365 + 6237;45024;2356;2485;131438278;5614389 + 6238;45036;2356;2485;131438278;5614389 + 6239;45045;2356;2486;131438278;5659434 + 6240;45048;2356;2486;131438278;5659434 + 6241;45060;2356;2486;131438278;5659434 + 6242;45062;2361;2487;128546317;5490907 + 6243;45072;2361;2487;128546317;5490907 + 6244;45077;2361;2488;128546317;5535984 + 6245;45084;2361;2488;128546317;5535984 + 6246;45096;2361;2488;128546317;5535984 + 6247;45096;2361;2489;128546317;5581080 + 6248;45108;2361;2489;128546317;5581080 + 6249;45120;2361;2489;128546317;5581080 + 6250;45120;2361;2490;128546317;5626200 + 6251;45132;2361;2490;128546317;5626200 + 6252;45140;2361;2491;128546317;5671340 + 6253;45144;2361;2491;128546317;5671340 + 6254;45156;2361;2491;128546317;5671340 + 6255;45164;2367;2492;131469773;5459545 + 6256;45168;2367;2492;131469773;5459545 + 6257;45179;2368;2493;133272998;5461832 + 6258;45180;2368;2493;133272998;5461832 + 6259;45192;2368;2493;133272998;5461832 + 6260;45195;2368;2494;133272998;5507027 + 6261;45204;2368;2494;133272998;5507027 + 6262;45216;2368;2494;133272998;5507027 + 6263;45216;2368;2495;133272998;5552243 + 6264;45228;2368;2495;133272998;5552243 + 6265;45229;2368;2496;133272998;5597472 + 6266;45240;2368;2496;133272998;5597472 + 6267;45243;2368;2497;133272998;5642715 + 6268;45252;2368;2497;133272998;5642715 + 6269;45259;2373;2498;128330905;5473199 + 6270;45264;2373;2498;128330905;5473199 + 6271;45276;2373;2498;128330905;5473199 + 6272;45277;2373;2499;128330905;5518476 + 6273;45288;2373;2499;128330905;5518476 + 6274;45299;2373;2500;128330905;5563775 + 6275;45300;2373;2500;128330905;5563775 + 6276;45312;2373;2500;128330905;5563775 + 6277;45315;2373;2501;128330905;5609090 + 6278;45324;2373;2501;128330905;5609090 + 6279;45336;2373;2501;128330905;5609090 + 6280;45338;2373;2502;128330905;5654428 + 6281;45348;2373;2502;128330905;5654428 + 6282;45360;2373;2502;128330905;5654428 + 6283;45361;2373;2503;128330905;5699789 + 6284;45372;2373;2503;128330905;5699789 + 6285;45375;2373;2504;128330905;5745164 + 6286;45384;2373;2504;128330905;5745164 + 6287;45395;2373;2505;128330905;5790559 + 6288;45396;2373;2505;128330905;5790559 + 6289;45408;2373;2505;128330905;5790559 + 6290;45413;2373;2506;128330905;5835972 + 6291;45420;2373;2506;128330905;5835972 + 6292;45432;2373;2506;128330905;5835972 + 6293;45437;2373;2507;128330905;5881409 + 6294;45444;2373;2507;128330905;5881409 + 6295;45454;2376;2508;131047460;5797790 + 6296;45456;2376;2508;131047460;5797790 + 6297;45466;2376;2509;131047460;5843256 + 6298;45468;2376;2509;131047460;5843256 + 6299;45480;2376;2509;131047460;5843256 + 6300;45490;2376;2510;131047460;5888746 + 6301;45492;2376;2510;131047460;5888746 + 6302;45504;2376;2510;131047460;5888746 + 6303;45509;2376;2511;131047460;5934255 + 6304;45516;2376;2511;131047460;5934255 + 6305;45528;2381;2511;127590718;5718756 + 6306;45531;2381;2512;127590718;5764287 + 6307;45540;2381;2512;127590718;5764287 + 6308;45546;2381;2513;127590718;5809833 + 6309;45552;2381;2513;127590718;5809833 + 6310;45563;2381;2514;127590718;5855396 + 6311;45564;2381;2514;127590718;5855396 + 6312;45576;2381;2514;127590718;5855396 + 6313;45583;2381;2515;127590718;5900979 + 6314;45588;2381;2515;127590718;5900979 + 6315;45595;2381;2516;127590718;5946574 + 6316;45600;2381;2516;127590718;5946574 + 6317;45610;2381;2517;127590718;5992184 + 6318;45612;2381;2517;127590718;5992184 + 6319;45624;2381;2517;127590718;5992184 + 6320;45625;2391;2518;124229408;5605348 + 6321;45636;2391;2518;124229408;5605348 + 6322;45646;2393;2519;125018543;5564293 + 6323;45648;2393;2519;125018543;5564293 + 6324;45658;2393;2520;125018543;5609951 + 6325;45660;2393;2520;125018543;5609951 + 6326;45672;2393;2520;125018543;5609951 + 6327;45682;2393;2521;125018543;5655633 + 6328;45684;2393;2521;125018543;5655633 + 6329;45696;2393;2521;125018543;5655633 + 6330;45702;2393;2522;125018543;5701335 + 6331;45708;2393;2522;125018543;5701335 + 6332;45720;2393;2522;125018543;5701335 + 6333;45721;2393;2523;125018543;5747056 + 6334;45732;2393;2523;125018543;5747056 + 6335;45744;2393;2523;125018543;5747056 + 6336;45745;2393;2524;125018543;5792801 + 6337;45756;2393;2524;125018543;5792801 + 6338;45762;2393;2525;125018543;5838563 + 6339;45768;2393;2525;125018543;5838563 + 6340;45777;2393;2526;125018543;5884340 + 6341;45780;2393;2526;125018543;5884340 + 6342;45792;2393;2526;125018543;5884340 + 6343;45800;2393;2527;125018543;5930140 + 6344;45804;2393;2527;125018543;5930140 + 6345;45812;2403;2528;121575099;5541350 + 6346;45816;2403;2528;121575099;5541350 + 6347;45828;2403;2528;121575099;5541350 + 6348;45834;2406;2529;122481452;5456431 + 6349;45840;2406;2529;122481452;5456431 + 6350;45852;2406;2529;122481452;5456431 + 6351;45856;2406;2530;122481452;5502287 + 6352;45864;2406;2530;122481452;5502287 + 6353;45874;2406;2531;122481452;5548161 + 6354;45876;2406;2531;122481452;5548161 + 6355;45888;2406;2531;122481452;5548161 + 6356;45889;2406;2532;122481452;5594050 + 6357;45900;2406;2532;122481452;5594050 + 6358;45912;2406;2532;122481452;5594050 + 6359;45913;2406;2533;122481452;5639963 + 6360;45924;2406;2533;122481452;5639963 + 6361;45926;2406;2534;122481452;5685889 + 6362;45936;2406;2534;122481452;5685889 + 6363;45945;2406;2535;122481452;5731834 + 6364;45948;2406;2535;122481452;5731834 + 6365;45960;2406;2535;122481452;5731834 + 6366;45961;2406;2536;122481452;5777795 + 6367;45972;2406;2536;122481452;5777795 + 6368;45984;2406;2536;122481452;5777795 + 6369;45985;2406;2537;122481452;5823780 + 6370;45996;2411;2537;118944927;5605525 + 6371;46005;2411;2538;118944927;5651530 + 6372;46008;2411;2538;118944927;5651530 + 6373;46017;2411;2539;118944927;5697547 + 6374;46020;2411;2539;118944927;5697547 + 6375;46030;2411;2540;118944927;5743577 + 6376;46032;2411;2540;118944927;5743577 + 6377;46044;2411;2540;118944927;5743577 + 6378;46053;2412;2541;120815970;5745933 + 6379;46056;2412;2541;120815970;5745933 + 6380;46068;2417;2541;128054476;5527177 + 6381;46077;2417;2542;128054476;5573254 + 6382;46080;2417;2542;128054476;5573254 + 6383;46092;2417;2542;128054476;5573254 + 6384;46094;2417;2543;128054476;5619348 + 6385;46104;2417;2543;128054476;5619348 + 6386;46110;2417;2544;128054476;5665458 + 6387;46116;2417;2544;128054476;5665458 + 6388;46123;2417;2545;128054476;5711581 + 6389;46128;2417;2545;128054476;5711581 + 6390;46140;2417;2545;128054476;5711581 + 6391;46142;2417;2546;128054476;5757723 + 6392;46152;2417;2546;128054476;5757723 + 6393;46164;2417;2546;128054476;5757723 + 6394;46165;2417;2547;128054476;5803888 + 6395;46176;2417;2547;128054476;5803888 + 6396;46186;2417;2548;128054476;5850074 + 6397;46188;2417;2548;128054476;5850074 + 6398;46200;2417;2548;128054476;5850074 + 6399;46205;2417;2549;128054476;5896279 + 6400;46212;2417;2549;128054476;5896279 + 6401;46217;2417;2550;128054476;5942496 + 6402;46224;2417;2550;128054476;5942496 + 6403;46236;2417;2550;128054476;5942496 + 6404;46238;2417;2551;128054476;5988734 + 6405;46248;2417;2551;128054476;5988734 + 6406;46257;2417;2552;128054476;6034991 + 6407;46260;2417;2552;128054476;6034991 + 6408;46271;2422;2553;125142699;5862077 + 6409;46272;2422;2553;125142699;5862077 + 6410;46284;2422;2553;125142699;5862077 + 6411;46294;2424;2554;129199149;5820555 + 6412;46296;2424;2554;129199149;5820555 + 6413;46308;2424;2554;129199149;5820555 + 6414;46312;2424;2555;129199149;5866867 + 6415;46320;2424;2555;129199149;5866867 + 6416;46332;2424;2555;129199149;5866867 + 6417;46334;2424;2556;129199149;5913201 + 6418;46344;2424;2556;129199149;5913201 + 6419;46349;2424;2557;129199149;5959550 + 6420;46356;2424;2557;129199149;5959550 + 6421;46362;2424;2558;129199149;6005912 + 6422;46368;2424;2558;129199149;6005912 + 6423;46380;2424;2558;129199149;6005912 + 6424;46380;2424;2559;129199149;6052292 + 6425;46392;2424;2559;129199149;6052292 + 6426;46396;2424;2560;129199149;6098688 + 6427;46404;2424;2560;129199149;6098688 + 6428;46408;2434;2561;130349592;5704803 + 6429;46416;2434;2561;130349592;5704803 + 6430;46422;2438;2562;130720430;5574558 + 6431;46428;2438;2562;130720430;5574558 + 6432;46439;2438;2563;130720430;5620997 + 6433;46440;2438;2563;130720430;5620997 + 6434;46452;2438;2563;130720430;5620997 + 6435;46458;2438;2564;130720430;5667455 + 6436;46464;2438;2564;130720430;5667455 + 6437;46475;2443;2565;126928634;5492757 + 6438;46476;2443;2565;126928634;5492757 + 6439;46488;2443;2565;126928634;5492757 + 6440;46494;2443;2566;126928634;5539251 + 6441;46500;2443;2566;126928634;5539251 + 6442;46510;2443;2567;126928634;5585761 + 6443;46512;2443;2567;126928634;5585761 + 6444;46524;2443;2567;126928634;5585761 + 6445;46526;2443;2568;126928634;5632287 + 6446;46536;2443;2568;126928634;5632287 + 6447;46540;2443;2569;126928634;5678827 + 6448;46548;2443;2569;126928634;5678827 + 6449;46554;2443;2570;126928634;5725381 + 6450;46560;2443;2570;126928634;5725381 + 6451;46572;2443;2570;126928634;5725381 + 6452;46575;2443;2571;126928634;5771956 + 6453;46584;2443;2571;126928634;5771956 + 6454;46593;2443;2572;126928634;5818549 + 6455;46596;2443;2572;126928634;5818549 + 6456;46608;2443;2572;126928634;5818549 + 6457;46610;2443;2573;126928634;5865159 + 6458;46620;2443;2573;126928634;5865159 + 6459;46627;2444;2574;128876731;5867497 + 6460;46632;2444;2574;128876731;5867497 + 6461;46644;2444;2574;128876731;5867497 + 6462;46651;2449;2575;136238650;5692431 + 6463;46656;2449;2575;136238650;5692431 + 6464;46668;2449;2575;136238650;5692431 + 6465;46671;2449;2576;136238650;5739102 + 6466;46680;2449;2576;136238650;5739102 + 6467;46692;2449;2576;136238650;5739102 + 6468;46694;2449;2577;136238650;5785796 + 6469;46704;2449;2577;136238650;5785796 + 6470;46712;2449;2578;136238650;5832508 + 6471;46716;2449;2578;136238650;5832508 + 6472;46728;2449;2578;136238650;5832508 + 6473;46734;2449;2579;136238650;5879242 + 6474;46740;2449;2579;136238650;5879242 + 6475;46748;2449;2580;136238650;5925990 + 6476;46752;2449;2580;136238650;5925990 + 6477;46764;2449;2580;136238650;5925990 + 6478;46766;2449;2581;136238650;5972756 + 6479;46776;2449;2581;136238650;5972756 + 6480;46781;2449;2582;136238650;6019537 + 6481;46788;2449;2582;136238650;6019537 + 6482;46800;2449;2582;136238650;6019537 + 6483;46803;2459;2583;133355132;5621451 + 6484;46812;2459;2583;133355132;5621451 + 6485;46824;2459;2583;133355132;5621451 + 6486;46826;2459;2584;133355132;5668277 + 6487;46836;2463;2584;127538322;5489768 + 6488;46848;2463;2584;127538322;5489768 + 6489;46848;2463;2585;127538322;5536616 + 6490;46860;2463;2585;127538322;5536616 + 6491;46864;2463;2586;127538322;5583480 + 6492;46872;2463;2586;127538322;5583480 + 6493;46884;2463;2586;127538322;5583480 + 6494;46884;2466;2587;128515522;5496294 + 6495;46896;2466;2587;128515522;5496294 + 6496;46906;2466;2588;128515522;5543200 + 6497;46908;2466;2588;128515522;5543200 + 6498;46920;2466;2588;128515522;5543200 + 6499;46921;2466;2589;128515522;5590121 + 6500;46932;2466;2589;128515522;5590121 + 6501;46943;2468;2590;130908484;5547595 + 6502;46944;2468;2590;130908484;5547595 + 6503;46956;2468;2590;130908484;5547595 + 6504;46960;2476;2591;128801763;5235963 + 6505;46968;2476;2591;128801763;5235963 + 6506;46973;2476;2592;128801763;5282936 + 6507;46980;2476;2592;128801763;5282936 + 6508;46992;2476;2592;128801763;5282936 + 6509;46994;2476;2593;128801763;5329930 + 6510;47004;2476;2593;128801763;5329930 + 6511;47016;2476;2593;128801763;5329930 + 6512;47017;2476;2594;128801763;5376947 + 6513;47028;2476;2594;128801763;5376947 + 6514;47034;2476;2595;128801763;5423981 + 6515;47040;2476;2595;128801763;5423981 + 6516;47051;2476;2596;128801763;5471032 + 6517;47052;2476;2596;128801763;5471032 + 6518;47064;2476;2596;128801763;5471032 + 6519;47065;2476;2597;128801763;5518097 + 6520;47076;2476;2597;128801763;5518097 + 6521;47088;2476;2597;128801763;5518097 + 6522;47088;2476;2598;128801763;5565185 + 6523;47100;2476;2598;128801763;5565185 + 6524;47109;2476;2599;128801763;5612294 + 6525;47112;2476;2599;128801763;5612294 + 6526;47121;2476;2600;128801763;5659415 + 6527;47124;2476;2600;128801763;5659415 + 6528;47136;2476;2600;128801763;5659415 + 6529;47144;2476;2601;128801763;5706559 + 6530;47148;2476;2601;128801763;5706559 + 6531;47160;2476;2601;128801763;5706559 + 6532;47160;2476;2602;128801763;5753719 + 6533;47172;2476;2602;128801763;5753719 + 6534;47173;2476;2603;128801763;5800892 + 6535;47184;2476;2603;128801763;5800892 + 6536;47186;2476;2604;128801763;5848078 + 6537;47196;2476;2604;128801763;5848078 + 6538;47207;2476;2605;128801763;5895285 + 6539;47208;2476;2605;128801763;5895285 + 6540;47220;2476;2605;128801763;5895285 + 6541;47222;2485;2606;125972124;5537754 + 6542;47232;2485;2606;125972124;5537754 + 6543;47244;2485;2606;125972124;5537754 + 6544;47244;2485;2607;125972124;5584998 + 6545;47256;2485;2607;125972124;5584998 + 6546;47264;2485;2608;125972124;5632262 + 6547;47268;2485;2608;125972124;5632262 + 6548;47280;2485;2608;125972124;5632262 + 6549;47281;2485;2609;125972124;5679543 + 6550;47292;2485;2609;125972124;5679543 + 6551;47293;2485;2610;125972124;5726836 + 6552;47304;2485;2610;125972124;5726836 + 6553;47307;2485;2611;125972124;5774143 + 6554;47316;2485;2611;125972124;5774143 + 6555;47322;2485;2612;125972124;5821465 + 6556;47328;2485;2612;125972124;5821465 + 6557;47339;2485;2613;125972124;5868804 + 6558;47340;2485;2613;125972124;5868804 + 6559;47352;2485;2613;125972124;5868804 + 6560;47356;2485;2614;125972124;5916160 + 6561;47364;2485;2614;125972124;5916160 + 6562;47369;2485;2615;125972124;5963529 + 6563;47376;2485;2615;125972124;5963529 + 6564;47388;2485;2615;125972124;5963529 + 6565;47390;2485;2616;125972124;6010919 + 6566;47400;2485;2616;125972124;6010919 + 6567;47412;2485;2616;125972124;6010919 + 6568;47412;2485;2617;125972124;6058331 + 6569;47424;2485;2617;125972124;6058331 + 6570;47431;2485;2618;125972124;6105762 + 6571;47436;2485;2618;125972124;6105762 + 6572;47448;2495;2618;127551419;5654284 + 6573;47455;2496;2619;127988748;5656496 + 6574;47460;2496;2619;127988748;5656496 + 6575;47471;2496;2620;127988748;5703967 + 6576;47472;2496;2620;127988748;5703967 + 6577;47484;2496;2620;127988748;5703967 + 6578;47495;2496;2621;127988748;5751462 + 6579;47496;2496;2621;127988748;5751462 + 6580;47508;2496;2621;127988748;5751462 + 6581;47514;2496;2622;127988748;5798976 + 6582;47520;2496;2622;127988748;5798976 + 6583;47527;2496;2623;127988748;5846503 + 6584;47532;2496;2623;127988748;5846503 + 6585;47544;2496;2623;127988748;5846503 + 6586;47544;2496;2624;127988748;5894047 + 6587;47556;2496;2624;127988748;5894047 + 6588;47560;2496;2625;127988748;5941607 + 6589;47568;2496;2625;127988748;5941607 + 6590;47580;2496;2625;127988748;5941607 + 6591;47584;2496;2626;127988748;5989191 + 6592;47592;2496;2626;127988748;5989191 + 6593;47604;2496;2626;127988748;5989191 + 6594;47606;2496;2627;127988748;6036797 + 6595;47616;2496;2627;127988748;6036797 + 6596;47619;2496;2628;127988748;6084416 + 6597;47628;2496;2628;127988748;6084416 + 6598;47640;2496;2628;127988748;6084416 + 6599;47641;2496;2629;127988748;6132057 + 6600;47652;2496;2629;127988748;6132057 + 6601;47662;2496;2630;127988748;6179719 + 6602;47664;2496;2630;127988748;6179719 + 6603;47676;2496;2630;127988748;6179719 + 6604;47684;2496;2631;127988748;6227403 + 6605;47688;2496;2631;127988748;6227403 + 6606;47697;2496;2632;127988748;6275100 + 6607;47700;2496;2632;127988748;6275100 + 6608;47712;2496;2632;127988748;6275100 + 6609;47721;2505;2633;129540108;5914789 + 6610;47724;2505;2633;129540108;5914789 + 6611;47736;2513;2633;125194110;5550793 + 6612;47741;2513;2634;125194110;5598534 + 6613;47748;2513;2634;125194110;5598534 + 6614;47760;2513;2634;125194110;5598534 + 6615;47764;2513;2635;125194110;5646298 + 6616;47772;2513;2635;125194110;5646298 + 6617;47779;2513;2636;125194110;5694077 + 6618;47784;2513;2636;125194110;5694077 + 6619;47796;2513;2636;125194110;5694077 + 6620;47796;2513;2637;125194110;5741873 + 6621;47808;2513;2637;125194110;5741873 + 6622;47808;2513;2638;125194110;5789681 + 6623;47820;2513;2638;125194110;5789681 + 6624;47824;2513;2639;125194110;5837505 + 6625;47832;2513;2639;125194110;5837505 + 6626;47844;2522;2639;119414041;5426683 + 6627;47844;2522;2640;119414041;5474527 + 6628;47856;2522;2640;119414041;5474527 + 6629;47864;2522;2641;119414041;5522391 + 6630;47868;2522;2641;119414041;5522391 + 6631;47880;2522;2641;119414041;5522391 + 6632;47885;2522;2642;119414041;5570276 + 6633;47892;2522;2642;119414041;5570276 + 6634;47901;2522;2643;119414041;5618177 + 6635;47904;2522;2643;119414041;5618177 + 6636;47916;2522;2643;119414041;5618177 + 6637;47923;2522;2644;119414041;5666100 + 6638;47928;2522;2644;119414041;5666100 + 6639;47939;2522;2645;119414041;5714039 + 6640;47940;2522;2645;119414041;5714039 + 6641;47952;2522;2645;119414041;5714039 + 6642;47963;2522;2646;119414041;5762002 + 6643;47964;2522;2646;119414041;5762002 + 6644;47976;2522;2646;119414041;5762002 + 6645;47981;2522;2647;119414041;5809983 + 6646;47988;2522;2647;119414041;5809983 + 6647;48000;2522;2647;119414041;5809983 + 6648;48004;2522;2648;119414041;5857987 + 6649;48012;2522;2648;119414041;5857987 + 6650;48023;2522;2649;119414041;5906010 + 6651;48024;2522;2649;119414041;5906010 + 6652;48036;2526;2649;124301715;5722926 + 6653;48036;2526;2650;124301715;5770962 + 6654;48048;2526;2650;124301715;5770962 + 6655;48059;2526;2651;124301715;5819021 + 6656;48060;2526;2651;124301715;5819021 + 6657;48072;2526;2651;124301715;5819021 + 6658;48074;2526;2652;124301715;5867095 + 6659;48084;2526;2652;124301715;5867095 + 6660;48087;2526;2653;124301715;5915182 + 6661;48096;2526;2653;124301715;5915182 + 6662;48105;2526;2654;124301715;5963287 + 6663;48108;2526;2654;124301715;5963287 + 6664;48120;2526;2654;124301715;5963287 + 6665;48121;2526;2655;124301715;6011408 + 6666;48132;2526;2655;124301715;6011408 + 6667;48143;2526;2656;124301715;6059551 + 6668;48144;2526;2656;124301715;6059551 + 6669;48156;2526;2656;124301715;6059551 + 6670;48166;2526;2657;124301715;6107717 + 6671;48168;2526;2657;124301715;6107717 + 6672;48180;2526;2657;124301715;6107717 + 6673;48182;2526;2658;124301715;6155899 + 6674;48192;2526;2658;124301715;6155899 + 6675;48204;2526;2658;124301715;6155899 + 6676;48206;2526;2659;124301715;6204105 + 6677;48216;2526;2659;124301715;6204105 + 6678;48218;2526;2660;124301715;6252323 + 6679;48228;2526;2660;124301715;6252323 + 6680;48230;2526;2661;124301715;6300553 + 6681;48240;2526;2661;124301715;6300553 + 6682;48248;2531;2662;121958537;6119536 + 6683;48252;2531;2662;121958537;6119536 + 6684;48264;2531;2662;121958537;6119536 + 6685;48266;2531;2663;121958537;6167802 + 6686;48276;2531;2663;121958537;6167802 + 6687;48286;2531;2664;121958537;6216088 + 6688;48288;2531;2664;121958537;6216088 + 6689;48299;2531;2665;121958537;6264387 + 6690;48300;2531;2665;121958537;6264387 + 6691;48312;2531;2665;121958537;6264387 + 6692;48322;2531;2666;121958537;6312709 + 6693;48324;2531;2666;121958537;6312709 + 6694;48336;2531;2666;121958537;6312709 + 6695;48339;2531;2667;121958537;6361048 + 6696;48348;2531;2667;121958537;6361048 + 6697;48353;2531;2668;121958537;6409401 + 6698;48360;2531;2668;121958537;6409401 + 6699;48369;2531;2669;121958537;6457770 + 6700;48372;2531;2669;121958537;6457770 + 6701;48384;2531;2669;121958537;6457770 + 6702;48386;2541;2670;120502098;6046244 + 6703;48396;2541;2670;120502098;6046244 + 6704;48402;2541;2671;120502098;6094646 + 6705;48408;2541;2671;120502098;6094646 + 6706;48420;2541;2671;120502098;6094646 + 6707;48424;2541;2672;120502098;6143070 + 6708;48432;2541;2672;120502098;6143070 + 6709;48444;2541;2672;120502098;6143070 + 6710;48444;2545;2673;124676682;6007045 + 6711;48456;2545;2673;124676682;6007045 + 6712;48457;2545;2674;124676682;6055502 + 6713;48468;2545;2674;124676682;6055502 + 6714;48476;2545;2675;124676682;6103978 + 6715;48480;2545;2675;124676682;6103978 + 6716;48492;2545;2675;124676682;6103978 + 6717;48496;2545;2676;124676682;6152474 + 6718;48504;2545;2676;124676682;6152474 + 6719;48516;2545;2676;124676682;6152474 + 6720;48520;2545;2677;124676682;6200994 + 6721;48528;2545;2677;124676682;6200994 + 6722;48535;2545;2678;124676682;6249529 + 6723;48540;2545;2678;124676682;6249529 + 6724;48552;2545;2678;124676682;6249529 + 6725;48557;2548;2679;129075387;6159530 + 6726;48564;2548;2679;129075387;6159530 + 6727;48573;2548;2680;129075387;6208103 + 6728;48576;2548;2680;129075387;6208103 + 6729;48588;2548;2680;129075387;6208103 + 6730;48595;2554;2681;126590216;5979109 + 6731;48600;2554;2681;126590216;5979109 + 6732;48610;2554;2682;126590216;6027719 + 6733;48612;2554;2682;126590216;6027719 + 6734;48624;2554;2682;126590216;6027719 + 6735;48628;2554;2683;126590216;6076347 + 6736;48636;2554;2683;126590216;6076347 + 6737;48648;2554;2683;126590216;6076347 + 6738;48651;2554;2684;126590216;6124998 + 6739;48660;2554;2684;126590216;6124998 + 6740;48672;2554;2684;126590216;6124998 + 6741;48674;2554;2685;126590216;6173672 + 6742;48684;2554;2685;126590216;6173672 + 6743;48693;2554;2686;126590216;6222365 + 6744;48696;2554;2686;126590216;6222365 + 6745;48708;2554;2686;126590216;6222365 + 6746;48709;2554;2687;126590216;6271074 + 6747;48720;2554;2687;126590216;6271074 + 6748;48724;2554;2688;126590216;6319798 + 6749;48732;2554;2688;126590216;6319798 + 6750;48741;2554;2689;126590216;6368539 + 6751;48744;2554;2689;126590216;6368539 + 6752;48754;2554;2690;126590216;6417293 + 6753;48756;2554;2690;126590216;6417293 + 6754;48766;2554;2691;126590216;6466059 + 6755;48768;2554;2691;126590216;6466059 + 6756;48780;2562;2691;131074376;6094969 + 6757;48790;2562;2692;131074376;6143759 + 6758;48792;2562;2692;131074376;6143759 + 6759;48804;2562;2692;131074376;6143759 + 6760;48805;2562;2693;131074376;6192564 + 6761;48816;2562;2693;131074376;6192564 + 6762;48820;2562;2694;131074376;6241384 + 6763;48828;2562;2694;131074376;6241384 + 6764;48835;2562;2695;131074376;6290219 + 6765;48840;2562;2695;131074376;6290219 + 6766;48849;2562;2696;131074376;6339068 + 6767;48852;2562;2696;131074376;6339068 + 6768;48864;2562;2696;131074376;6339068 + 6769;48872;2565;2697;134114989;6248513 + 6770;48876;2565;2697;134114989;6248513 + 6771;48888;2565;2697;134114989;6248513 + 6772;48894;2566;2698;136387952;6250897 + 6773;48900;2566;2698;136387952;6250897 + 6774;48912;2566;2698;136387952;6250897 + 6775;48912;2566;2699;136387952;6299809 + 6776;48924;2566;2699;136387952;6299809 + 6777;48929;2566;2700;136387952;6348738 + 6778;48936;2566;2700;136387952;6348738 + 6779;48944;2566;2701;136387952;6397682 + 6780;48948;2566;2701;136387952;6397682 + 6781;48960;2566;2701;136387952;6397682 + 6782;48960;2566;2702;136387952;6446642 + 6783;48972;2566;2702;136387952;6446642 + 6784;48983;2572;2703;131983767;6216227 + 6785;48984;2572;2703;131983767;6216227 + 6786;48996;2572;2703;131983767;6216227 + 6787;49005;2575;2704;137310708;6125283 + 6788;49008;2575;2704;137310708;6125283 + 6789;49017;2575;2705;137310708;6174300 + 6790;49020;2575;2705;137310708;6174300 + 6791;49032;2575;2705;137310708;6174300 + 6792;49033;2575;2706;137310708;6223333 + 6793;49044;2575;2706;137310708;6223333 + 6794;49048;2575;2707;137310708;6272381 + 6795;49056;2575;2707;137310708;6272381 + 6796;49068;2575;2707;137310708;6272381 + 6797;49069;2575;2708;137310708;6321450 + 6798;49080;2575;2708;137310708;6321450 + 6799;49085;2575;2709;137310708;6370535 + 6800;49092;2575;2709;137310708;6370535 + 6801;49104;2575;2709;137310708;6370535 + 6802;49107;2575;2710;137310708;6419642 + 6803;49116;2575;2710;137310708;6419642 + 6804;49125;2583;2711;135917272;6094703 + 6805;49128;2583;2711;135917272;6094703 + 6806;49140;2583;2711;135917272;6094703 + 6807;49140;2583;2712;135917272;6143843 + 6808;49152;2583;2712;135917272;6143843 + 6809;49155;2583;2713;135917272;6192998 + 6810;49164;2583;2713;135917272;6192998 + 6811;49174;2583;2714;135917272;6242172 + 6812;49176;2583;2714;135917272;6242172 + 6813;49188;2583;2714;135917272;6242172 + 6814;49198;2583;2715;135917272;6291370 + 6815;49200;2583;2715;135917272;6291370 + 6816;49212;2583;2715;135917272;6291370 + 6817;49212;2583;2716;135917272;6340582 + 6818;49224;2583;2716;135917272;6340582 + 6819;49230;2583;2717;135917272;6389812 + 6820;49236;2583;2717;135917272;6389812 + 6821;49244;2583;2718;135917272;6439056 + 6822;49248;2583;2718;135917272;6439056 + 6823;49260;2583;2718;135917272;6439056 + 6824;49266;2583;2719;135917272;6488322 + 6825;49272;2583;2719;135917272;6488322 + 6826;49278;2583;2720;135917272;6537600 + 6827;49284;2583;2720;135917272;6537600 + 6828;49292;2593;2721;134133352;6117582 + 6829;49296;2593;2721;134133352;6117582 + 6830;49308;2599;2721;134206829;5835114 + 6831;49311;2599;2722;134206829;5884425 + 6832;49320;2599;2722;134206829;5884425 + 6833;49327;2599;2723;134206829;5933752 + 6834;49332;2599;2723;134206829;5933752 + 6835;49341;2599;2724;134206829;5983093 + 6836;49344;2599;2724;134206829;5983093 + 6837;49356;2599;2724;134206829;5983093 + 6838;49362;2599;2725;134206829;6032455 + 6839;49368;2599;2725;134206829;6032455 + 6840;49380;2599;2725;134206829;6032455 + 6841;49380;2599;2726;134206829;6081835 + 6842;49392;2599;2726;134206829;6081835 + 6843;49402;2599;2727;134206829;6131237 + 6844;49404;2599;2727;134206829;6131237 + 6845;49416;2599;2727;134206829;6131237 + 6846;49422;2599;2728;134206829;6180659 + 6847;49428;2599;2728;134206829;6180659 + 6848;49440;2599;2728;134206829;6180659 + 6849;49441;2599;2729;134206829;6230100 + 6850;49452;2599;2729;134206829;6230100 + 6851;49453;2599;2730;134206829;6279553 + 6852;49464;2599;2730;134206829;6279553 + 6853;49468;2599;2731;134206829;6329021 + 6854;49476;2599;2731;134206829;6329021 + 6855;49485;2599;2732;134206829;6378506 + 6856;49488;2599;2732;134206829;6378506 + 6857;49500;2599;2732;134206829;6378506 + 6858;49500;2599;2733;134206829;6428006 + 6859;49512;2599;2733;134206829;6428006 + 6860;49518;2599;2734;134206829;6477524 + 6861;49524;2599;2734;134206829;6477524 + 6862;49536;2599;2734;134206829;6477524 + 6863;49541;2599;2735;134206829;6527065 + 6864;49548;2599;2735;134206829;6527065 + 6865;49557;2599;2736;134206829;6576622 + 6866;49560;2599;2736;134206829;6576622 + 6867;49572;2599;2736;134206829;6576622 + 6868;49581;2599;2737;134206829;6626203 + 6869;49584;2599;2737;134206829;6626203 + 6870;49594;2599;2738;134206829;6675797 + 6871;49596;2599;2738;134206829;6675797 + 6872;49606;2599;2739;134206829;6725403 + 6873;49608;2599;2739;134206829;6725403 + 6874;49620;2599;2739;134206829;6725403 + 6875;49630;2606;2740;131938599;6444697 + 6876;49632;2606;2740;131938599;6444697 + 6877;49644;2606;2740;131938599;6444697 + 6878;49644;2606;2741;131938599;6494341 + 6879;49656;2606;2741;131938599;6494341 + 6880;49665;2606;2742;131938599;6544006 + 6881;49668;2606;2742;131938599;6544006 + 6882;49680;2606;2742;131938599;6544006 + 6883;49685;2606;2743;131938599;6593691 + 6884;49692;2606;2743;131938599;6593691 + 6885;49704;2606;2743;131938599;6593691 + 6886;49706;2606;2744;131938599;6643397 + 6887;49716;2606;2744;131938599;6643397 + 6888;49728;2616;2744;128379231;6170064 + 6889;49729;2619;2745;128629942;6077436 + 6890;49740;2619;2745;128629942;6077436 + 6891;49749;2619;2746;128629942;6127185 + 6892;49752;2619;2746;128629942;6127185 + 6893;49761;2619;2747;128629942;6176946 + 6894;49764;2619;2747;128629942;6176946 + 6895;49776;2619;2747;128629942;6176946 + 6896;49779;2619;2748;128629942;6226725 + 6897;49788;2619;2748;128629942;6226725 + 6898;49795;2619;2749;128629942;6276520 + 6899;49800;2619;2749;128629942;6276520 + 6900;49812;2619;2749;128629942;6276520 + 6901;49816;2619;2750;128629942;6326336 + 6902;49824;2619;2750;128629942;6326336 + 6903;49832;2619;2751;128629942;6376168 + 6904;49836;2619;2751;128629942;6376168 + 6905;49848;2619;2751;128629942;6376168 + 6906;49853;2619;2752;128629942;6426021 + 6907;49860;2619;2752;128629942;6426021 + 6908;49872;2619;2752;128629942;6426021 + 6909;49876;2621;2753;123957571;6380888 + 6910;49884;2621;2753;123957571;6380888 + 6911;49888;2621;2754;123957571;6430776 + 6912;49896;2621;2754;123957571;6430776 + 6913;49906;2621;2755;123957571;6480682 + 6914;49908;2621;2755;123957571;6480682 + 6915;49920;2621;2755;123957571;6480682 + 6916;49925;2621;2756;123957571;6530607 + 6917;49932;2621;2756;123957571;6530607 + 6918;49940;2621;2757;123957571;6580547 + 6919;49944;2621;2757;123957571;6580547 + 6920;49956;2621;2757;123957571;6580547 + 6921;49958;2621;2758;123957571;6630505 + 6922;49968;2621;2758;123957571;6630505 + 6923;49977;2621;2759;123957571;6680482 + 6924;49980;2621;2759;123957571;6680482 + 6925;49992;2623;2759;125920394;6585411 + 6926;49994;2623;2760;125920394;6635405 + 6927;50004;2623;2760;125920394;6635405 + 6928;50007;2624;2761;128344083;6637852 + 6929;50016;2624;2761;128344083;6637852 + 6930;50027;2625;2762;130769656;6640295 + 6931;50028;2625;2762;130769656;6640295 + 6932;50040;2625;2762;130769656;6640295 + 6933;50050;2625;2763;130769656;6690345 + 6934;50052;2625;2763;130769656;6690345 + 6935;50064;2625;2763;130769656;6690345 + 6936;50073;2625;2764;130769656;6740418 + 6937;50076;2625;2764;130769656;6740418 + 6938;50088;2625;2764;130769656;6740418 + 6939;50096;2634;2765;132572353;6361379 + 6940;50100;2634;2765;132572353;6361379 + 6941;50112;2634;2765;132572353;6361379 + 6942;50118;2634;2766;132572353;6411497 + 6943;50124;2634;2766;132572353;6411497 + 6944;50136;2634;2766;132572353;6411497 + 6945;50140;2634;2767;132572353;6461637 + 6946;50148;2634;2767;132572353;6461637 + 6947;50152;2634;2768;132572353;6511789 + 6948;50160;2634;2768;132572353;6511789 + 6949;50170;2634;2769;132572353;6561959 + 6950;50172;2634;2769;132572353;6561959 + 6951;50184;2634;2769;132572353;6561959 + 6952;50192;2634;2770;132572353;6612151 + 6953;50196;2634;2770;132572353;6612151 + 6954;50207;2634;2771;132572353;6662358 + 6955;50208;2634;2771;132572353;6662358 + 6956;50220;2634;2771;132572353;6662358 + 6957;50225;2636;2772;134165493;6617008 + 6958;50232;2636;2772;134165493;6617008 + 6959;50242;2643;2773;129486912;6332201 + 6960;50244;2643;2773;129486912;6332201 + 6961;50256;2643;2773;129486912;6332201 + 6962;50259;2643;2774;129486912;6382460 + 6963;50268;2643;2774;129486912;6382460 + 6964;50280;2643;2774;129486912;6382460 + 6965;50282;2643;2775;129486912;6432742 + 6966;50292;2643;2775;129486912;6432742 + 6967;50298;2643;2776;129486912;6483040 + 6968;50304;2643;2776;129486912;6483040 + 6969;50316;2643;2776;129486912;6483040 + 6970;50321;2643;2777;129486912;6533361 + 6971;50328;2643;2777;129486912;6533361 + 6972;50335;2643;2778;129486912;6583696 + 6973;50340;2643;2778;129486912;6583696 + 6974;50351;2643;2779;129486912;6634047 + 6975;50352;2643;2779;129486912;6634047 + 6976;50364;2643;2779;129486912;6634047 + 6977;50366;2643;2780;129486912;6684413 + 6978;50376;2643;2780;129486912;6684413 + 6979;50386;2643;2781;129486912;6734799 + 6980;50388;2643;2781;129486912;6734799 + 6981;50400;2643;2781;129486912;6734799 + 6982;50409;2651;2782;126685576;6401129 + 6983;50412;2651;2782;126685576;6401129 + 6984;50422;2651;2783;126685576;6451551 + 6985;50424;2651;2783;126685576;6451551 + 6986;50434;2651;2784;126685576;6501985 + 6987;50436;2651;2784;126685576;6501985 + 6988;50448;2651;2784;126685576;6501985 + 6989;50457;2651;2785;126685576;6552442 + 6990;50460;2651;2785;126685576;6552442 + 6991;50472;2651;2785;126685576;6552442 + 6992;50480;2651;2786;126685576;6602922 + 6993;50484;2651;2786;126685576;6602922 + 6994;50496;2651;2786;126685576;6602922 + 6995;50498;2651;2787;126685576;6653420 + 6996;50508;2651;2787;126685576;6653420 + 6997;50520;2651;2787;126685576;6653420 + 6998;50522;2651;2788;126685576;6703942 + 6999;50532;2651;2788;126685576;6703942 + 7000;50544;2651;2788;126685576;6703942 + 7001;50544;2651;2789;126685576;6754486 + 7002;50556;2651;2789;126685576;6754486 + 7003;50567;2661;2790;127263601;6323347 + 7004;50568;2661;2790;127263601;6323347 + 7005;50579;2661;2791;127263601;6373926 + 7006;50580;2661;2791;127263601;6373926 + 7007;50592;2661;2791;127263601;6373926 + 7008;50592;2661;2792;127263601;6424518 + 7009;50604;2661;2792;127263601;6424518 + 7010;50611;2661;2793;127263601;6475129 + 7011;50616;2661;2793;127263601;6475129 + 7012;50625;2661;2794;127263601;6525754 + 7013;50628;2661;2794;127263601;6525754 + 7014;50640;2661;2794;127263601;6525754 + 7015;50648;2661;2795;127263601;6576402 + 7016;50652;2661;2795;127263601;6576402 + 7017;50662;2661;2796;127263601;6627064 + 7018;50664;2661;2796;127263601;6627064 + 7019;50676;2661;2796;127263601;6627064 + 7020;50676;2663;2797;130389752;6581188 + 7021;50688;2663;2797;130389752;6581188 + 7022;50692;2663;2798;130389752;6631880 + 7023;50700;2663;2798;130389752;6631880 + 7024;50711;2663;2799;130389752;6682591 + 7025;50712;2663;2799;130389752;6682591 + 7026;50723;2663;2800;130389752;6733314 + 7027;50724;2663;2800;130389752;6733314 + 7028;50736;2663;2800;130389752;6733314 + 7029;50747;2663;2801;130389752;6784061 + 7030;50748;2663;2801;130389752;6784061 + 7031;50760;2663;2801;130389752;6784061 + 7032;50763;2673;2802;129637690;6351029 + 7033;50772;2673;2802;129637690;6351029 + 7034;50782;2673;2803;129637690;6401811 + 7035;50784;2673;2803;129637690;6401811 + 7036;50796;2673;2803;129637690;6401811 + 7037;50797;2673;2804;129637690;6452608 + 7038;50808;2673;2804;129637690;6452608 + 7039;50809;2673;2805;129637690;6503417 + 7040;50820;2673;2805;129637690;6503417 + 7041;50821;2673;2806;129637690;6554238 + 7042;50832;2673;2806;129637690;6554238 + 7043;50842;2673;2807;129637690;6605080 + 7044;50844;2673;2807;129637690;6605080 + 7045;50855;2673;2808;129637690;6655935 + 7046;50856;2673;2808;129637690;6655935 + 7047;50868;2673;2808;129637690;6655935 + 7048;50876;2673;2809;129637690;6706811 + 7049;50880;2673;2809;129637690;6706811 + 7050;50892;2673;2809;129637690;6706811 + 7051;50892;2673;2810;129637690;6757703 + 7052;50904;2676;2810;133798620;6612211 + 7053;50906;2676;2811;133798620;6663117 + 7054;50916;2676;2811;133798620;6663117 + 7055;50928;2676;2811;133798620;6663117 + 7056;50929;2676;2812;133798620;6714046 + 7057;50940;2676;2812;133798620;6714046 + 7058;50952;2676;2812;133798620;6714046 + 7059;50952;2676;2813;133798620;6764998 + 7060;50964;2682;2813;130006502;6473500 + 7061;50964;2682;2814;130006502;6524464 + 7062;50976;2682;2814;130006502;6524464 + 7063;50979;2682;2815;130006502;6575443 + 7064;50988;2682;2815;130006502;6575443 + 7065;51000;2682;2815;130006502;6575443 + 7066;51003;2682;2816;130006502;6626446 + 7067;51012;2682;2816;130006502;6626446 + 7068;51021;2682;2817;130006502;6677467 + 7069;51024;2682;2817;130006502;6677467 + 7070;51036;2682;2817;130006502;6677467 + 7071;51041;2682;2818;130006502;6728508 + 7072;51048;2682;2818;130006502;6728508 + 7073;51060;2695;2818;130863685;6094697 + 7074;51064;2695;2819;130863685;6145761 + 7075;51072;2695;2819;130863685;6145761 + 7076;51079;2695;2820;130863685;6196840 + 7077;51084;2695;2820;130863685;6196840 + 7078;51096;2695;2820;130863685;6196840 + 7079;51098;2695;2821;130863685;6247938 + 7080;51108;2695;2821;130863685;6247938 + 7081;51113;2695;2822;130863685;6299051 + 7082;51120;2695;2822;130863685;6299051 + 7083;51132;2695;2822;130863685;6299051 + 7084;51135;2695;2823;130863685;6350186 + 7085;51144;2695;2823;130863685;6350186 + 7086;51153;2696;2824;132626816;6352467 + 7087;51156;2696;2824;132626816;6352467 + 7088;51168;2696;2824;132626816;6352467 + 7089;51174;2696;2825;132626816;6403641 + 7090;51180;2696;2825;132626816;6403641 + 7091;51192;2696;2825;132626816;6403641 + 7092;51193;2696;2826;132626816;6454834 + 7093;51204;2696;2826;132626816;6454834 + 7094;51211;2696;2827;132626816;6506045 + 7095;51216;2696;2827;132626816;6506045 + 7096;51226;2696;2828;132626816;6557271 + 7097;51228;2696;2828;132626816;6557271 + 7098;51240;2696;2828;132626816;6557271 + 7099;51245;2696;2829;132626816;6608516 + 7100;51252;2696;2829;132626816;6608516 + 7101;51257;2696;2830;132626816;6659773 + 7102;51264;2696;2830;132626816;6659773 + 7103;51272;2696;2831;132626816;6711045 + 7104;51276;2696;2831;132626816;6711045 + 7105;51288;2696;2831;132626816;6711045 + 7106;51288;2696;2832;132626816;6762333 + 7107;51300;2696;2832;132626816;6762333 + 7108;51300;2696;2833;132626816;6813633 + 7109;51312;2696;2833;132626816;6813633 + 7110;51314;2696;2834;132626816;6864947 + 7111;51324;2696;2834;132626816;6864947 + 7112;51336;2704;2834;132318487;6473303 + 7113;51336;2704;2835;132318487;6524639 + 7114;51348;2704;2835;132318487;6524639 + 7115;51355;2704;2836;132318487;6575994 + 7116;51360;2704;2836;132318487;6575994 + 7117;51372;2704;2836;132318487;6575994 + 7118;51376;2704;2837;132318487;6627370 + 7119;51384;2704;2837;132318487;6627370 + 7120;51388;2704;2838;132318487;6678758 + 7121;51396;2704;2838;132318487;6678758 + 7122;51400;2704;2839;132318487;6730158 + 7123;51408;2704;2839;132318487;6730158 + 7124;51413;2704;2840;132318487;6781571 + 7125;51420;2704;2840;132318487;6781571 + 7126;51432;2704;2840;132318487;6781571 + 7127;51432;2704;2841;132318487;6833003 + 7128;51444;2704;2841;132318487;6833003 + 7129;51453;2704;2842;132318487;6884456 + 7130;51456;2704;2842;132318487;6884456 + 7131;51468;2704;2842;132318487;6884456 + 7132;51475;2704;2843;132318487;6935931 + 7133;51480;2704;2843;132318487;6935931 + 7134;51492;2704;2843;132318487;6935931 + 7135;51497;2704;2844;132318487;6987428 + 7136;51504;2704;2844;132318487;6987428 + 7137;51512;2711;2845;131339340;6695333 + 7138;51516;2711;2845;131339340;6695333 + 7139;51528;2711;2845;131339340;6695333 + 7140;51528;2716;2846;140289359;6500892 + 7141;51540;2716;2846;140289359;6500892 + 7142;51546;2716;2847;140289359;6552438 + 7143;51552;2716;2847;140289359;6552438 + 7144;51564;2716;2847;140289359;6552438 + 7145;51568;2716;2848;140289359;6604006 + 7146;51576;2716;2848;140289359;6604006 + 7147;51582;2716;2849;140289359;6655588 + 7148;51588;2716;2849;140289359;6655588 + 7149;51600;2725;2849;134805329;6211787 + 7150;51605;2725;2850;134805329;6263392 + 7151;51612;2725;2850;134805329;6263392 + 7152;51624;2725;2850;134805329;6263392 + 7153;51627;2725;2851;134805329;6315019 + 7154;51636;2725;2851;134805329;6315019 + 7155;51641;2725;2852;134805329;6366660 + 7156;51648;2725;2852;134805329;6366660 + 7157;51660;2725;2852;134805329;6366660 + 7158;51662;2725;2853;134805329;6418322 + 7159;51672;2725;2853;134805329;6418322 + 7160;51679;2725;2854;134805329;6470001 + 7161;51684;2725;2854;134805329;6470001 + 7162;51696;2725;2854;134805329;6470001 + 7163;51698;2725;2855;134805329;6521699 + 7164;51708;2725;2855;134805329;6521699 + 7165;51711;2725;2856;134805329;6573410 + 7166;51720;2725;2856;134805329;6573410 + 7167;51723;2725;2857;134805329;6625133 + 7168;51732;2725;2857;134805329;6625133 + 7169;51737;2725;2858;134805329;6676870 + 7170;51744;2725;2858;134805329;6676870 + 7171;51756;2725;2858;134805329;6676870 + 7172;51760;2725;2859;134805329;6728630 + 7173;51768;2725;2859;134805329;6728630 + 7174;51775;2725;2860;134805329;6780405 + 7175;51780;2725;2860;134805329;6780405 + 7176;51789;2729;2861;139113076;6634476 + 7177;51792;2729;2861;139113076;6634476 + 7178;51802;2729;2862;139113076;6686278 + 7179;51804;2729;2862;139113076;6686278 + 7180;51816;2729;2862;139113076;6686278 + 7181;51819;2729;2863;139113076;6738097 + 7182;51828;2729;2863;139113076;6738097 + 7183;51840;2729;2863;139113076;6738097 + 7184;51843;2729;2864;139113076;6789940 + 7185;51852;2729;2864;139113076;6789940 + 7186;51864;2729;2864;139113076;6789940 + 7187;51865;2729;2865;139113076;6841805 + 7188;51876;2729;2865;139113076;6841805 + 7189;51888;2729;2865;139113076;6841805 + 7190;51888;2729;2866;139113076;6893693 + 7191;51900;2732;2866;134561004;6745240 + 7192;51903;2732;2867;134561004;6797143 + 7193;51912;2732;2867;134561004;6797143 + 7194;51915;2736;2868;136275960;6650861 + 7195;51924;2736;2868;136275960;6650861 + 7196;51935;2736;2869;136275960;6702796 + 7197;51936;2736;2869;136275960;6702796 + 7198;51948;2736;2869;136275960;6702796 + 7199;51954;2736;2870;136275960;6754750 + 7200;51960;2736;2870;136275960;6754750 + 7201;51967;2736;2871;136275960;6806717 + 7202;51972;2736;2871;136275960;6806717 + 7203;51982;2736;2872;136275960;6858699 + 7204;51984;2736;2872;136275960;6858699 + 7205;51996;2736;2872;136275960;6858699 + 7206;51997;2736;2873;136275960;6910696 + 7207;52008;2736;2873;136275960;6910696 + 7208;52019;2736;2874;136275960;6962715 + 7209;52020;2736;2874;136275960;6962715 + 7210;52032;2736;2874;136275960;6962715 + 7211;52035;2746;2875;133428184;6517981 + 7212;52044;2747;2875;132817613;6468202 + 7213;52054;2747;2876;132817613;6520256 + 7214;52056;2747;2876;132817613;6520256 + 7215;52068;2747;2876;132817613;6520256 + 7216;52071;2747;2877;132817613;6572327 + 7217;52080;2747;2877;132817613;6572327 + 7218;52091;2747;2878;132817613;6624418 + 7219;52092;2747;2878;132817613;6624418 + 7220;52103;2747;2879;132817613;6676521 + 7221;52104;2747;2879;132817613;6676521 + 7222;52116;2747;2879;132817613;6676521 + 7223;52122;2747;2880;132817613;6728643 + 7224;52128;2747;2880;132817613;6728643 + 7225;52138;2747;2881;132817613;6780781 + 7226;52140;2747;2881;132817613;6780781 + 7227;52152;2747;2881;132817613;6780781 + 7228;52154;2747;2882;132817613;6832935 + 7229;52164;2747;2882;132817613;6832935 + 7230;52167;2747;2883;132817613;6885102 + 7231;52176;2747;2883;132817613;6885102 + 7232;52188;2747;2883;132817613;6885102 + 7233;52191;2747;2884;132817613;6937293 + 7234;52200;2747;2884;132817613;6937293 + 7235;52205;2747;2885;132817613;6989498 + 7236;52212;2747;2885;132817613;6989498 + 7237;52224;2747;2885;132817613;6989498 + 7238;52229;2748;2886;135258269;6991932 + 7239;52236;2748;2886;135258269;6991932 + 7240;52246;2755;2887;134147126;6695082 + 7241;52248;2755;2887;134147126;6695082 + 7242;52260;2755;2887;134147126;6695082 + 7243;52265;2755;2888;134147126;6747347 + 7244;52272;2755;2888;134147126;6747347 + 7245;52278;2755;2889;134147126;6799625 + 7246;52284;2755;2889;134147126;6799625 + 7247;52296;2755;2889;134147126;6799625 + 7248;52296;2763;2890;133036003;6451895 + 7249;52308;2763;2890;133036003;6451895 + 7250;52317;2763;2891;133036003;6504212 + 7251;52320;2763;2891;133036003;6504212 + 7252;52332;2763;2891;133036003;6504212 + 7253;52337;2763;2892;133036003;6556549 + 7254;52344;2763;2892;133036003;6556549 + 7255;52353;2771;2893;126464624;6207602 + 7256;52356;2771;2893;126464624;6207602 + 7257;52365;2771;2894;126464624;6259967 + 7258;52368;2771;2894;126464624;6259967 + 7259;52380;2771;2894;126464624;6259967 + 7260;52389;2771;2895;126464624;6312356 + 7261;52392;2771;2895;126464624;6312356 + 7262;52401;2771;2896;126464624;6364757 + 7263;52404;2771;2896;126464624;6364757 + 7264;52416;2771;2896;126464624;6364757 + 7265;52421;2771;2897;126464624;6417178 + 7266;52428;2771;2897;126464624;6417178 + 7267;52440;2771;2897;126464624;6417178 + 7268;52445;2771;2898;126464624;6469623 + 7269;52452;2771;2898;126464624;6469623 + 7270;52464;2771;2898;126464624;6469623 + 7271;52464;2771;2899;126464624;6522087 + 7272;52476;2771;2899;126464624;6522087 + 7273;52477;2774;2900;129766433;6423781 + 7274;52488;2774;2900;129766433;6423781 + 7275;52497;2774;2901;129766433;6476278 + 7276;52500;2774;2901;129766433;6476278 + 7277;52512;2774;2901;129766433;6476278 + 7278;52515;2774;2902;129766433;6528793 + 7279;52524;2774;2902;129766433;6528793 + 7280;52536;2774;2902;129766433;6528793 + 7281;52537;2774;2903;129766433;6581330 + 7282;52548;2774;2903;129766433;6581330 + 7283;52553;2774;2904;129766433;6633883 + 7284;52560;2774;2904;129766433;6633883 + 7285;52566;2774;2905;129766433;6686449 + 7286;52572;2774;2905;129766433;6686449 + 7287;52584;2774;2905;129766433;6686449 + 7288;52589;2774;2906;129766433;6739038 + 7289;52596;2774;2906;129766433;6739038 + 7290;52608;2774;2906;129766433;6739038 + 7291;52611;2774;2907;129766433;6791649 + 7292;52620;2774;2907;129766433;6791649 + 7293;52624;2774;2908;129766433;6844273 + 7294;52632;2774;2908;129766433;6844273 + 7295;52640;2785;2909;130948817;6342654 + 7296;52644;2785;2909;130948817;6342654 + 7297;52653;2785;2910;130948817;6395307 + 7298;52656;2785;2910;130948817;6395307 + 7299;52668;2785;2910;130948817;6395307 + 7300;52669;2785;2911;130948817;6447976 + 7301;52680;2785;2911;130948817;6447976 + 7302;52692;2785;2911;130948817;6447976 + 7303;52693;2785;2912;130948817;6500669 + 7304;52704;2785;2912;130948817;6500669 + 7305;52705;2785;2913;130948817;6553374 + 7306;52716;2785;2913;130948817;6553374 + 7307;52726;2785;2914;130948817;6606100 + 7308;52728;2785;2914;130948817;6606100 + 7309;52740;2785;2914;130948817;6606100 + 7310;52744;2785;2915;130948817;6658844 + 7311;52752;2785;2915;130948817;6658844 + 7312;52764;2785;2915;130948817;6658844 + 7313;52766;2785;2916;130948817;6711610 + 7314;52776;2785;2916;130948817;6711610 + 7315;52780;2785;2917;130948817;6764390 + 7316;52788;2785;2917;130948817;6764390 + 7317;52800;2785;2917;130948817;6764390 + 7318;52801;2785;2918;130948817;6817191 + 7319;52812;2785;2918;130948817;6817191 + 7320;52819;2789;2919;134745359;6667879 + 7321;52824;2789;2919;134745359;6667879 + 7322;52836;2789;2919;134745359;6667879 + 7323;52842;2796;2920;130006502;6366328 + 7324;52848;2796;2920;130006502;6366328 + 7325;52854;2796;2921;130006502;6419182 + 7326;52860;2796;2921;130006502;6419182 + 7327;52872;2796;2921;130006502;6419182 + 7328;52875;2796;2922;130006502;6472057 + 7329;52884;2796;2922;130006502;6472057 + 7330;52891;2796;2923;130006502;6524948 + 7331;52896;2796;2923;130006502;6524948 + 7332;52907;2803;2924;124408125;6222640 + 7333;52908;2803;2924;124408125;6222640 + 7334;52920;2803;2924;124408125;6222640 + 7335;52930;2803;2925;124408125;6275570 + 7336;52932;2803;2925;124408125;6275570 + 7337;52944;2803;2925;124408125;6275570 + 7338;52952;2803;2926;124408125;6328522 + 7339;52956;2803;2926;124408125;6328522 + 7340;52965;2803;2927;124408125;6381487 + 7341;52968;2803;2927;124408125;6381487 + 7342;52978;2803;2928;124408125;6434465 + 7343;52980;2803;2928;124408125;6434465 + 7344;52992;2803;2928;124408125;6434465 + 7345;52995;2803;2929;124408125;6487460 + 7346;53004;2803;2929;124408125;6487460 + 7347;53008;2803;2930;124408125;6540468 + 7348;53016;2803;2930;124408125;6540468 + 7349;53028;2803;2930;124408125;6540468 + 7350;53032;2804;2931;125851453;6542691 + 7351;53040;2804;2931;125851453;6542691 + 7352;53049;2804;2932;125851453;6595740 + 7353;53052;2804;2932;125851453;6595740 + 7354;53064;2804;2932;125851453;6595740 + 7355;53073;2804;2933;125851453;6648813 + 7356;53076;2804;2933;125851453;6648813 + 7357;53088;2804;2933;125851453;6648813 + 7358;53095;2804;2934;125851453;6701908 + 7359;53100;2804;2934;125851453;6701908 + 7360;53112;2804;2934;125851453;6701908 + 7361;53118;2804;2935;125851453;6755026 + 7362;53124;2804;2935;125851453;6755026 + 7363;53130;2804;2936;125851453;6808156 + 7364;53136;2804;2936;125851453;6808156 + 7365;53148;2804;2936;125851453;6808156 + 7366;53150;2807;2937;130260391;6708788 + 7367;53160;2807;2937;130260391;6708788 + 7368;53165;2807;2938;130260391;6761953 + 7369;53172;2807;2938;130260391;6761953 + 7370;53181;2807;2939;130260391;6815134 + 7371;53184;2807;2939;130260391;6815134 + 7372;53196;2807;2939;130260391;6815134 + 7373;53199;2807;2940;130260391;6868333 + 7374;53208;2807;2940;130260391;6868333 + 7375;53219;2807;2941;130260391;6921552 + 7376;53220;2807;2941;130260391;6921552 + 7377;53232;2807;2941;130260391;6921552 + 7378;53234;2808;2942;132368315;6923910 + 7379;53244;2808;2942;132368315;6923910 + 7380;53248;2808;2943;132368315;6977158 + 7381;53256;2808;2943;132368315;6977158 + 7382;53268;2808;2943;132368315;6977158 + 7383;53269;2818;2944;133341440;6520676 + 7384;53280;2818;2944;133341440;6520676 + 7385;53291;2818;2945;133341440;6573967 + 7386;53292;2818;2945;133341440;6573967 + 7387;53304;2818;2945;133341440;6573967 + 7388;53315;2818;2946;133341440;6627282 + 7389;53316;2818;2946;133341440;6627282 + 7390;53328;2818;2946;133341440;6627282 + 7391;53335;2818;2947;133341440;6680617 + 7392;53340;2818;2947;133341440;6680617 + 7393;53352;2818;2947;133341440;6680617 + 7394;53353;2818;2948;133341440;6733970 + 7395;53364;2818;2948;133341440;6733970 + 7396;53372;2818;2949;133341440;6787342 + 7397;53376;2818;2949;133341440;6787342 + 7398;53388;2818;2949;133341440;6787342 + 7399;53391;2818;2950;133341440;6840733 + 7400;53400;2818;2950;133341440;6840733 + 7401;53409;2818;2951;133341440;6894142 + 7402;53412;2818;2951;133341440;6894142 + 7403;53424;2818;2951;133341440;6894142 + 7404;53432;2818;2952;133341440;6947574 + 7405;53436;2818;2952;133341440;6947574 + 7406;53444;2818;2953;133341440;7001018 + 7407;53448;2818;2953;133341440;7001018 + 7408;53456;2818;2954;133341440;7054474 + 7409;53460;2818;2954;133341440;7054474 + 7410;53469;2818;2955;133341440;7107943 + 7411;53472;2818;2955;133341440;7107943 + 7412;53484;2818;2955;133341440;7107943 + 7413;53490;2818;2956;133341440;7161433 + 7414;53496;2818;2956;133341440;7161433 + 7415;53508;2818;2956;133341440;7161433 + 7416;53511;2818;2957;133341440;7214944 + 7417;53520;2818;2957;133341440;7214944 + 7418;53525;2818;2958;133341440;7268469 + 7419;53532;2818;2958;133341440;7268469 + 7420;53538;2818;2959;133341440;7322007 + 7421;53544;2818;2959;133341440;7322007 + 7422;53556;2818;2959;133341440;7322007 + 7423;53558;2828;2960;135360159;6863938 + 7424;53568;2831;2960;131128224;6710121 + 7425;53578;2831;2961;131128224;6763699 + 7426;53580;2831;2961;131128224;6763699 + 7427;53591;2831;2962;131128224;6817290 + 7428;53592;2831;2962;131128224;6817290 + 7429;53604;2831;2962;131128224;6817290 + 7430;53612;2841;2963;125430013;6357135 + 7431;53616;2841;2963;125430013;6357135 + 7432;53627;2842;2964;126360780;6359287 + 7433;53628;2842;2964;126360780;6359287 + 7434;53640;2842;2964;126360780;6359287 + 7435;53649;2842;2965;126360780;6412936 + 7436;53652;2842;2965;126360780;6412936 + 7437;53664;2842;2965;126360780;6412936 + 7438;53672;2842;2966;126360780;6466608 + 7439;53676;2842;2966;126360780;6466608 + 7440;53686;2842;2967;126360780;6520294 + 7441;53688;2842;2967;126360780;6520294 + 7442;53700;2842;2967;126360780;6520294 + 7443;53702;2842;2968;126360780;6573996 + 7444;53712;2842;2968;126360780;6573996 + 7445;53717;2842;2969;126360780;6627713 + 7446;53724;2842;2969;126360780;6627713 + 7447;53731;2842;2970;126360780;6681444 + 7448;53736;2842;2970;126360780;6681444 + 7449;53747;2842;2971;126360780;6735191 + 7450;53748;2842;2971;126360780;6735191 + 7451;53760;2842;2971;126360780;6735191 + 7452;53761;2842;2972;126360780;6788952 + 7453;53772;2842;2972;126360780;6788952 + 7454;53774;2842;2973;126360780;6842726 + 7455;53784;2842;2973;126360780;6842726 + 7456;53789;2842;2974;126360780;6896515 + 7457;53796;2842;2974;126360780;6896515 + 7458;53808;2842;2974;126360780;6896515 + 7459;53809;2842;2975;126360780;6950324 + 7460;53820;2842;2975;126360780;6950324 + 7461;53826;2848;2976;129177040;6694917 + 7462;53832;2848;2976;129177040;6694917 + 7463;53841;2848;2977;129177040;6748758 + 7464;53844;2848;2977;129177040;6748758 + 7465;53856;2848;2977;129177040;6748758 + 7466;53861;2848;2978;129177040;6802619 + 7467;53868;2848;2978;129177040;6802619 + 7468;53879;2848;2979;129177040;6856498 + 7469;53880;2848;2979;129177040;6856498 + 7470;53892;2848;2979;129177040;6856498 + 7471;53895;2848;2980;129177040;6910393 + 7472;53904;2848;2980;129177040;6910393 + 7473;53914;2848;2981;129177040;6964307 + 7474;53916;2848;2981;129177040;6964307 + 7475;53928;2848;2981;129177040;6964307 + 7476;53931;2848;2982;129177040;7018238 + 7477;53940;2848;2982;129177040;7018238 + 7478;53952;2848;2982;129177040;7018238 + 7479;53955;2848;2983;129177040;7072193 + 7480;53964;2848;2983;129177040;7072193 + 7481;53976;2848;2983;129177040;7072193 + 7482;53977;2848;2984;129177040;7126170 + 7483;53988;2848;2984;129177040;7126170 + 7484;53995;2851;2985;126127443;7025292 + 7485;54000;2851;2985;126127443;7025292 + 7486;54012;2851;2985;126127443;7025292 + 7487;54016;2851;2986;126127443;7079308 + 7488;54024;2851;2986;126127443;7079308 + 7489;54029;2851;2987;126127443;7133337 + 7490;54036;2851;2987;126127443;7133337 + 7491;54048;2851;2987;126127443;7133337 + 7492;54053;2851;2988;126127443;7187390 + 7493;54060;2851;2988;126127443;7187390 + 7494;54072;2851;2988;126127443;7187390 + 7495;54076;2851;2989;126127443;7241466 + 7496;54084;2851;2989;126127443;7241466 + 7497;54095;2851;2990;126127443;7295561 + 7498;54096;2851;2990;126127443;7295561 + 7499;54108;2851;2990;126127443;7295561 + 7500;54110;2851;2991;126127443;7349671 + 7501;54120;2851;2991;126127443;7349671 + 7502;54132;2859;2991;132608659;6935926 + 7503;54134;2859;2992;132608659;6990060 + 7504;54144;2859;2992;132608659;6990060 + 7505;54155;2859;2993;132608659;7044215 + 7506;54156;2859;2993;132608659;7044215 + 7507;54168;2859;2993;132608659;7044215 + 7508;54176;2859;2994;132608659;7098391 + 7509;54180;2859;2994;132608659;7098391 + 7510;54192;2859;2994;132608659;7098391 + 7511;54193;2859;2995;132608659;7152584 + 7512;54204;2859;2995;132608659;7152584 + 7513;54209;2862;2996;127949327;7051383 + 7514;54216;2862;2996;127949327;7051383 + 7515;54228;2862;2996;127949327;7051383 + 7516;54231;2862;2997;127949327;7105614 + 7517;54240;2862;2997;127949327;7105614 + 7518;54244;2862;2998;127949327;7159858 + 7519;54252;2862;2998;127949327;7159858 + 7520;54264;2862;2998;127949327;7159858 + 7521;54267;2869;2999;135059343;6850822 + 7522;54276;2869;2999;135059343;6850822 + 7523;54285;2869;3000;135059343;6905107 + 7524;54288;2869;3000;135059343;6905107 + 7525;54297;2869;3001;135059343;6959404 + 7526;54300;2869;3001;135059343;6959404 + 7527;54312;2869;3001;135059343;6959404 + 7528;54315;2871;3002;130073267;6909770 + 7529;54324;2871;3002;130073267;6909770 + 7530;54332;2871;3003;130073267;6964102 + 7531;54336;2871;3003;130073267;6964102 + 7532;54348;2871;3003;130073267;6964102 + 7533;54350;2881;3004;124885961;6497668 + 7534;54360;2881;3004;124885961;6497668 + 7535;54372;2881;3004;124885961;6497668 + 7536;54372;2882;3005;125074184;6499873 + 7537;54384;2882;3005;125074184;6499873 + 7538;54390;2882;3006;125074184;6554263 + 7539;54396;2882;3006;125074184;6554263 + 7540;54403;2882;3007;125074184;6608666 + 7541;54408;2882;3007;125074184;6608666 + 7542;54420;2882;3007;125074184;6608666 + 7543;54426;2882;3008;125074184;6663092 + 7544;54432;2882;3008;125074184;6663092 + 7545;54440;2882;3009;125074184;6717532 + 7546;54444;2882;3009;125074184;6717532 + 7547;54453;2882;3010;125074184;6771985 + 7548;54456;2882;3010;125074184;6771985 + 7549;54468;2882;3010;125074184;6771985 + 7550;54474;2882;3011;125074184;6826459 + 7551;54480;2882;3011;125074184;6826459 + 7552;54492;2882;3011;125074184;6826459 + 7553;54492;2882;3012;125074184;6880951 + 7554;54504;2882;3012;125074184;6880951 + 7555;54504;2882;3013;125074184;6935455 + 7556;54516;2882;3013;125074184;6935455 + 7557;54522;2882;3014;125074184;6989977 + 7558;54528;2882;3014;125074184;6989977 + 7559;54540;2882;3014;125074184;6989977 + 7560;54541;2882;3015;125074184;7044518 + 7561;54552;2882;3015;125074184;7044518 + 7562;54553;2882;3016;125074184;7099071 + 7563;54564;2882;3016;125074184;7099071 + 7564;54571;2882;3017;125074184;7153642 + 7565;54576;2882;3017;125074184;7153642 + 7566;54585;2882;3018;125074184;7208227 + 7567;54588;2882;3018;125074184;7208227 + 7568;54600;2882;3018;125074184;7208227 + 7569;54603;2882;3019;125074184;7262830 + 7570;54612;2882;3019;125074184;7262830 + 7571;54619;2882;3020;125074184;7317449 + 7572;54624;2882;3020;125074184;7317449 + 7573;54636;2888;3020;131231494;7004035 + 7574;54638;2888;3021;131231494;7058673 + 7575;54648;2888;3021;131231494;7058673 + 7576;54660;2888;3021;131231494;7058673 + 7577;54660;2888;3022;131231494;7113333 + 7578;54672;2888;3022;131231494;7113333 + 7579;54673;2897;3023;130859206;6696682 + 7580;54684;2897;3023;130859206;6696682 + 7581;54691;2897;3024;130859206;6751373 + 7582;54696;2897;3024;130859206;6751373 + 7583;54708;2897;3024;130859206;6751373 + 7584;54714;2897;3025;130859206;6806087 + 7585;54720;2897;3025;130859206;6806087 + 7586;54730;2897;3026;130859206;6860817 + 7587;54732;2897;3026;130859206;6860817 + 7588;54743;2897;3027;130859206;6915560 + 7589;54744;2897;3027;130859206;6915560 + 7590;54756;2897;3027;130859206;6915560 + 7591;54756;2897;3028;130859206;6970316 + 7592;54768;2897;3028;130859206;6970316 + 7593;54777;2897;3029;130859206;7025093 + 7594;54780;2897;3029;130859206;7025093 + 7595;54792;2897;3029;130859206;7025093 + 7596;54792;2897;3030;130859206;7079885 + 7597;54804;2897;3030;130859206;7079885 + 7598;54810;2899;3031;134625499;7029754 + 7599;54816;2899;3031;134625499;7029754 + 7600;54828;2904;3031;131132712;6767086 + 7601;54832;2904;3032;131132712;6821918 + 7602;54840;2904;3032;131132712;6821918 + 7603;54844;2904;3033;131132712;6876762 + 7604;54852;2904;3033;131132712;6876762 + 7605;54864;2907;3033;135889362;6718938 + 7606;54866;2907;3034;135889362;6773804 + 7607;54876;2907;3034;135889362;6773804 + 7608;54885;2907;3035;135889362;6828689 + 7609;54888;2907;3035;135889362;6828689 + 7610;54900;2907;3035;135889362;6828689 + 7611;54909;2907;3036;135889362;6883598 + 7612;54912;2907;3036;135889362;6883598 + 7613;54924;2907;3036;135889362;6883598 + 7614;54933;2909;3037;137720204;6833238 + 7615;54936;2909;3037;137720204;6833238 + 7616;54948;2909;3037;137720204;6833238 + 7617;54955;2909;3038;137720204;6888193 + 7618;54960;2909;3038;137720204;6888193 + 7619;54972;2909;3038;137720204;6888193 + 7620;54978;2909;3039;137720204;6943171 + 7621;54984;2909;3039;137720204;6943171 + 7622;54994;2909;3040;137720204;6998165 + 7623;54996;2909;3040;137720204;6998165 + 7624;55008;2909;3040;137720204;6998165 + 7625;55016;2912;3041;134363103;6895114 + 7626;55020;2912;3041;134363103;6895114 + 7627;55032;2912;3041;134363103;6895114 + 7628;55035;2912;3042;134363103;6950149 + 7629;55044;2912;3042;134363103;6950149 + 7630;55049;2912;3043;134363103;7005198 + 7631;55056;2912;3043;134363103;7005198 + 7632;55063;2912;3044;134363103;7060261 + 7633;55068;2912;3044;134363103;7060261 + 7634;55080;2912;3044;134363103;7060261 + 7635;55087;2912;3045;134363103;7115348 + 7636;55092;2912;3045;134363103;7115348 + 7637;55102;2915;3046;137998603;7012214 + 7638;55104;2915;3046;137998603;7012214 + 7639;55116;2915;3046;137998603;7012214 + 7640;55123;2918;3047;140044681;6908937 + 7641;55128;2918;3047;140044681;6908937 + 7642;55140;2918;3047;140044681;6908937 + 7643;55147;2918;3048;140044681;6964084 + 7644;55152;2918;3048;140044681;6964084 + 7645;55163;2918;3049;140044681;7019247 + 7646;55164;2918;3049;140044681;7019247 + 7647;55176;2918;3049;140044681;7019247 + 7648;55185;2918;3050;140044681;7074432 + 7649;55188;2918;3050;140044681;7074432 + 7650;55199;2918;3051;140044681;7129631 + 7651;55200;2918;3051;140044681;7129631 + 7652;55212;2918;3051;140044681;7129631 + 7653;55220;2918;3052;140044681;7184851 + 7654;55224;2918;3052;140044681;7184851 + 7655;55235;2918;3053;140044681;7240086 + 7656;55236;2918;3053;140044681;7240086 + 7657;55248;2918;3053;140044681;7240086 + 7658;55258;2918;3054;140044681;7295344 + 7659;55260;2918;3054;140044681;7295344 + 7660;55272;2918;3054;140044681;7295344 + 7661;55276;2918;3055;140044681;7350620 + 7662;55284;2918;3055;140044681;7350620 + 7663;55296;2918;3055;140044681;7350620 + 7664;55297;2918;3056;140044681;7405917 + 7665;55308;2918;3056;140044681;7405917 + 7666;55311;2925;3057;136953983;7090977 + 7667;55320;2925;3057;136953983;7090977 + 7668;55327;2925;3058;136953983;7146304 + 7669;55332;2925;3058;136953983;7146304 + 7670;55340;2925;3059;136953983;7201644 + 7671;55344;2925;3059;136953983;7201644 + 7672;55356;2925;3059;136953983;7201644 + 7673;55363;2925;3060;136953983;7257007 + 7674;55368;2925;3060;136953983;7257007 + 7675;55378;2925;3061;136953983;7312385 + 7676;55380;2925;3061;136953983;7312385 + 7677;55392;2925;3061;136953983;7312385 + 7678;55396;2925;3062;136953983;7367781 + 7679;55404;2925;3062;136953983;7367781 + 7680;55416;2925;3062;136953983;7367781 + 7681;55417;2933;3063;135805666;6999003 + 7682;55428;2933;3063;135805666;6999003 + 7683;55429;2933;3064;135805666;7054432 + 7684;55440;2933;3064;135805666;7054432 + 7685;55441;2933;3065;135805666;7109873 + 7686;55452;2933;3065;135805666;7109873 + 7687;55464;2933;3065;135805666;7109873 + 7688;55465;2933;3066;135805666;7165338 + 7689;55476;2933;3066;135805666;7165338 + 7690;55480;2934;3067;138017497;7167700 + 7691;55488;2934;3067;138017497;7167700 + 7692;55500;2934;3067;138017497;7167700 + 7693;55503;2939;3068;145015360;6957378 + 7694;55512;2939;3068;145015360;6957378 + 7695;55524;2939;3068;145015360;6957378 + 7696;55524;2939;3069;145015360;7012902 + 7697;55536;2939;3069;145015360;7012902 + 7698;55542;2939;3070;145015360;7068444 + 7699;55548;2939;3070;145015360;7068444 + 7700;55559;2939;3071;145015360;7124003 + 7701;55560;2939;3071;145015360;7124003 + 7702;55571;2939;3072;145015360;7179574 + 7703;55572;2939;3072;145015360;7179574 + 7704;55583;2939;3073;145015360;7235157 + 7705;55584;2939;3073;145015360;7235157 + 7706;55596;2939;3073;145015360;7235157 + 7707;55597;2939;3074;145015360;7290754 + 7708;55608;2939;3074;145015360;7290754 + 7709;55615;2939;3075;145015360;7346369 + 7710;55620;2939;3075;145015360;7346369 + 7711;55632;2939;3075;145015360;7346369 + 7712;55634;2939;3076;145015360;7402003 + 7713;55644;2939;3076;145015360;7402003 + 7714;55656;2939;3076;145015360;7402003 + 7715;55656;2939;3077;145015360;7457659 + 7716;55668;2939;3077;145015360;7457659 + 7717;55680;2939;3077;145015360;7457659 + 7718;55680;2949;3078;142009257;6980312 + 7719;55692;2951;3078;135290680;6873471 + 7720;55694;2951;3079;135290680;6929165 + 7721;55704;2951;3079;135290680;6929165 + 7722;55716;2951;3079;135290680;6929165 + 7723;55716;2951;3080;135290680;6984881 + 7724;55728;2951;3080;135290680;6984881 + 7725;55738;2951;3081;135290680;7040619 + 7726;55740;2951;3081;135290680;7040619 + 7727;55752;2951;3081;135290680;7040619 + 7728;55752;2951;3082;135290680;7096371 + 7729;55764;2951;3082;135290680;7096371 + 7730;55766;2951;3083;135290680;7152137 + 7731;55776;2951;3083;135290680;7152137 + 7732;55778;2951;3084;135290680;7207915 + 7733;55788;2951;3084;135290680;7207915 + 7734;55800;2951;3084;135290680;7207915 + 7735;55800;2951;3085;135290680;7263715 + 7736;55812;2951;3085;135290680;7263715 + 7737;55813;2951;3086;135290680;7319528 + 7738;55824;2951;3086;135290680;7319528 + 7739;55830;2956;3087;140102214;7107988 + 7740;55836;2956;3087;140102214;7107988 + 7741;55847;2957;3088;142194082;7110310 + 7742;55848;2957;3088;142194082;7110310 + 7743;55860;2957;3088;142194082;7110310 + 7744;55861;2957;3089;142194082;7166171 + 7745;55872;2957;3089;142194082;7166171 + 7746;55878;2962;3090;137188566;6954172 + 7747;55884;2962;3090;137188566;6954172 + 7748;55896;2962;3090;137188566;6954172 + 7749;55898;2962;3091;137188566;7010070 + 7750;55908;2964;3091;139766938;6902794 + 7751;55914;2964;3092;139766938;6958708 + 7752;55920;2964;3092;139766938;6958708 + 7753;55932;2964;3092;139766938;6958708 + 7754;55933;2964;3093;139766938;7014641 + 7755;55944;2964;3093;139766938;7014641 + 7756;55946;2964;3094;139766938;7070587 + 7757;55956;2964;3094;139766938;7070587 + 7758;55966;2972;3095;135605935;6696763 + 7759;55968;2972;3095;135605935;6696763 + 7760;55978;2972;3096;135605935;6752741 + 7761;55980;2972;3096;135605935;6752741 + 7762;55992;2972;3096;135605935;6752741 + 7763;56001;2972;3097;135605935;6808742 + 7764;56004;2972;3097;135605935;6808742 + 7765;56016;2972;3097;135605935;6808742 + 7766;56024;2972;3098;135605935;6864766 + 7767;56028;2972;3098;135605935;6864766 + 7768;56036;2972;3099;135605935;6920802 + 7769;56040;2972;3099;135605935;6920802 + 7770;56052;2972;3099;135605935;6920802 + 7771;56058;2974;3100;138723177;6869262 + 7772;56064;2974;3100;138723177;6869262 + 7773;56075;2974;3101;138723177;6925337 + 7774;56076;2974;3101;138723177;6925337 + 7775;56088;2974;3101;138723177;6925337 + 7776;56098;2974;3102;138723177;6981435 + 7777;56100;2974;3102;138723177;6981435 + 7778;56112;2974;3102;138723177;6981435 + 7779;56121;2974;3103;138723177;7037556 + 7780;56124;2974;3103;138723177;7037556 + 7781;56136;2974;3103;138723177;7037556 + 7782;56136;2974;3104;138723177;7093692 + 7783;56148;2974;3104;138723177;7093692 + 7784;56157;2974;3105;138723177;7149849 + 7785;56160;2974;3105;138723177;7149849 + 7786;56172;2974;3105;138723177;7149849 + 7787;56176;2978;3106;145512567;6990618 + 7788;56184;2978;3106;145512567;6990618 + 7789;56192;2978;3107;145512567;7046810 + 7790;56196;2978;3107;145512567;7046810 + 7791;56208;2978;3107;145512567;7046810 + 7792;56208;2978;3108;145512567;7103018 + 7793;56220;2978;3108;145512567;7103018 + 7794;56222;2978;3109;145512567;7159240 + 7795;56232;2978;3109;145512567;7159240 + 7796;56243;2978;3110;145512567;7215483 + 7797;56244;2978;3110;145512567;7215483 + 7798;56256;2978;3110;145512567;7215483 + 7799;56267;2978;3111;145512567;7271750 + 7800;56268;2978;3111;145512567;7271750 + 7801;56280;2978;3111;145512567;7271750 + 7802;56286;2978;3112;145512567;7328036 + 7803;56292;2978;3112;145512567;7328036 + 7804;56304;2978;3112;145512567;7328036 + 7805;56305;2983;3113;139146410;7114669 + 7806;56316;2983;3113;139146410;7114669 + 7807;56318;2983;3114;139146410;7170987 + 7808;56328;2983;3114;139146410;7170987 + 7809;56334;2983;3115;139146410;7227321 + 7810;56340;2983;3115;139146410;7227321 + 7811;56350;2983;3116;139146410;7283671 + 7812;56352;2983;3116;139146410;7283671 + 7813;56364;2983;3116;139146410;7283671 + 7814;56372;2983;3117;139146410;7340043 + 7815;56376;2983;3117;139146410;7340043 + 7816;56384;2983;3118;139146410;7396427 + 7817;56388;2983;3118;139146410;7396427 + 7818;56400;2983;3118;139146410;7396427 + 7819;56402;2983;3119;139146410;7452829 + 7820;56412;2983;3119;139146410;7452829 + 7821;56416;2983;3120;139146410;7509245 + 7822;56424;2983;3120;139146410;7509245 + 7823;56434;2983;3121;139146410;7565679 + 7824;56436;2983;3121;139146410;7565679 + 7825;56448;2983;3121;139146410;7565679 + 7826;56453;2983;3122;139146410;7622132 + 7827;56460;2983;3122;139146410;7622132 + 7828;56467;2993;3123;135462125;7137760 + 7829;56472;2993;3123;135462125;7137760 + 7830;56484;2993;3123;135462125;7137760 + 7831;56490;2995;3124;135931229;7085848 + 7832;56496;2995;3124;135931229;7085848 + 7833;56508;2995;3124;135931229;7085848 + 7834;56513;2995;3125;135931229;7142361 + 7835;56520;2995;3125;135931229;7142361 + 7836;56529;2995;3126;135931229;7198890 + 7837;56532;2995;3126;135931229;7198890 + 7838;56544;2995;3126;135931229;7198890 + 7839;56551;2995;3127;135931229;7255441 + 7840;56556;2995;3127;135931229;7255441 + 7841;56568;2995;3127;135931229;7255441 + 7842;56574;2995;3128;135931229;7312015 + 7843;56580;2995;3128;135931229;7312015 + 7844;56592;2995;3128;135931229;7312015 + 7845;56597;2995;3129;135931229;7368612 + 7846;56604;2995;3129;135931229;7368612 + 7847;56610;2995;3130;135931229;7425222 + 7848;56616;2995;3130;135931229;7425222 + 7849;56623;2995;3131;135931229;7481845 + 7850;56628;2995;3131;135931229;7481845 + 7851;56639;2995;3132;135931229;7538484 + 7852;56640;2995;3132;135931229;7538484 + 7853;56652;2995;3132;135931229;7538484 + 7854;56661;2995;3133;135931229;7595145 + 7855;56664;2995;3133;135931229;7595145 + 7856;56673;3005;3134;136084853;7108735 + 7857;56676;3005;3134;136084853;7108735 + 7858;56688;3006;3134;135230494;7054332 + 7859;56697;3006;3135;135230494;7111029 + 7860;56700;3006;3135;135230494;7111029 + 7861;56712;3006;3135;135230494;7111029 + 7862;56721;3006;3136;135230494;7167750 + 7863;56724;3006;3136;135230494;7167750 + 7864;56736;3006;3136;135230494;7167750 + 7865;56743;3006;3137;135230494;7224493 + 7866;56748;3006;3137;135230494;7224493 + 7867;56755;3006;3138;135230494;7281248 + 7868;56760;3006;3138;135230494;7281248 + 7869;56772;3006;3138;135230494;7281248 + 7870;56772;3006;3139;135230494;7338020 + 7871;56784;3006;3139;135230494;7338020 + 7872;56794;3006;3140;135230494;7394814 + 7873;56796;3006;3140;135230494;7394814 + 7874;56808;3006;3140;135230494;7394814 + 7875;56815;3006;3141;135230494;7451629 + 7876;56820;3006;3141;135230494;7451629 + 7877;56827;3006;3142;135230494;7508456 + 7878;56832;3006;3142;135230494;7508456 + 7879;56843;3015;3143;131852824;7074894 + 7880;56844;3015;3143;131852824;7074894 + 7881;56856;3015;3143;131852824;7074894 + 7882;56865;3015;3144;131852824;7131759 + 7883;56868;3015;3144;131852824;7131759 + 7884;56880;3015;3144;131852824;7131759 + 7885;56880;3015;3145;131852824;7188639 + 7886;56892;3015;3145;131852824;7188639 + 7887;56902;3015;3146;131852824;7245541 + 7888;56904;3015;3146;131852824;7245541 + 7889;56914;3015;3147;131852824;7302455 + 7890;56916;3015;3147;131852824;7302455 + 7891;56927;3021;3148;128076393;7031706 + 7892;56928;3021;3148;128076393;7031706 + 7893;56940;3021;3148;128076393;7031706 + 7894;56944;3021;3149;128076393;7088650 + 7895;56952;3021;3149;128076393;7088650 + 7896;56961;3021;3150;128076393;7145611 + 7897;56964;3021;3150;128076393;7145611 + 7898;56976;3021;3150;128076393;7145611 + 7899;56982;3021;3151;128076393;7202593 + 7900;56988;3021;3151;128076393;7202593 + 7901;56999;3026;3152;131110272;6986041 + 7902;57000;3026;3152;131110272;6986041 + 7903;57012;3026;3152;131110272;6986041 + 7904;57019;3026;3153;131110272;7043060 + 7905;57024;3026;3153;131110272;7043060 + 7906;57036;3026;3153;131110272;7043060 + 7907;57041;3028;3154;132690384;6990568 + 7908;57048;3028;3154;132690384;6990568 + 7909;57060;3028;3154;132690384;6990568 + 7910;57064;3028;3155;132690384;7047632 + 7911;57072;3028;3155;132690384;7047632 + 7912;57080;3028;3156;132690384;7104712 + 7913;57084;3028;3156;132690384;7104712 + 7914;57096;3028;3156;132690384;7104712 + 7915;57099;3028;3157;132690384;7161811 + 7916;57108;3028;3157;132690384;7161811 + 7917;57120;3028;3157;132690384;7161811 + 7918;57121;3028;3158;132690384;7218932 + 7919;57132;3028;3158;132690384;7218932 + 7920;57144;3028;3158;132690384;7218932 + 7921;57145;3028;3159;132690384;7276077 + 7922;57156;3028;3159;132690384;7276077 + 7923;57157;3028;3160;132690384;7333234 + 7924;57168;3028;3160;132690384;7333234 + 7925;57169;3028;3161;132690384;7390403 + 7926;57180;3028;3161;132690384;7390403 + 7927;57190;3028;3162;132690384;7447593 + 7928;57192;3028;3162;132690384;7447593 + 7929;57204;3028;3162;132690384;7447593 + 7930;57214;3028;3163;132690384;7504807 + 7931;57216;3028;3163;132690384;7504807 + 7932;57228;3028;3163;132690384;7504807 + 7933;57234;3035;3164;131961181;7178103 + 7934;57240;3035;3164;131961181;7178103 + 7935;57252;3035;3164;131961181;7178103 + 7936;57252;3035;3165;131961181;7235355 + 7937;57264;3035;3165;131961181;7235355 + 7938;57273;3035;3166;131961181;7292628 + 7939;57276;3035;3166;131961181;7292628 + 7940;57288;3035;3166;131961181;7292628 + 7941;57293;3036;3167;134096628;7294988 + 7942;57300;3036;3167;134096628;7294988 + 7943;57312;3036;3167;134096628;7294988 + 7944;57316;3036;3168;134096628;7352304 + 7945;57324;3036;3168;134096628;7352304 + 7946;57336;3036;3168;134096628;7352304 + 7947;57338;3036;3169;134096628;7409642 + 7948;57348;3036;3169;134096628;7409642 + 7949;57353;3036;3170;134096628;7466995 + 7950;57360;3036;3170;134096628;7466995 + 7951;57372;3036;3170;134096628;7466995 + 7952;57375;3036;3171;134096628;7524370 + 7953;57384;3036;3171;134096628;7524370 + 7954;57396;3036;3171;134096628;7524370 + 7955;57398;3044;3172;132454426;7141591 + 7956;57408;3044;3172;132454426;7141591 + 7957;57419;3044;3173;132454426;7199010 + 7958;57420;3044;3173;132454426;7199010 + 7959;57432;3044;3173;132454426;7199010 + 7960;57438;3044;3174;132454426;7256448 + 7961;57444;3044;3174;132454426;7256448 + 7962;57452;3044;3175;132454426;7313900 + 7963;57456;3044;3175;132454426;7313900 + 7964;57465;3044;3176;132454426;7371365 + 7965;57468;3044;3176;132454426;7371365 + 7966;57480;3044;3176;132454426;7371365 + 7967;57480;3044;3177;132454426;7428845 + 7968;57492;3044;3177;132454426;7428845 + 7969;57499;3044;3178;132454426;7486344 + 7970;57504;3044;3178;132454426;7486344 + 7971;57515;3044;3179;132454426;7543859 + 7972;57516;3044;3179;132454426;7543859 + 7973;57528;3044;3179;132454426;7543859 + 7974;57529;3044;3180;132454426;7601388 + 7975;57540;3044;3180;132454426;7601388 + 7976;57546;3044;3181;132454426;7658934 + 7977;57552;3044;3181;132454426;7658934 + 7978;57561;3044;3182;132454426;7716495 + 7979;57564;3044;3182;132454426;7716495 + 7980;57576;3044;3182;132454426;7716495 + 7981;57579;3052;3183;128969399;7332700 + 7982;57588;3052;3183;128969399;7332700 + 7983;57595;3052;3184;128969399;7390295 + 7984;57600;3052;3184;128969399;7390295 + 7985;57610;3052;3185;128969399;7447905 + 7986;57612;3052;3185;128969399;7447905 + 7987;57624;3052;3185;128969399;7447905 + 7988;57627;3052;3186;128969399;7505532 + 7989;57636;3052;3186;128969399;7505532 + 7990;57642;3052;3187;128969399;7563174 + 7991;57648;3052;3187;128969399;7563174 + 7992;57654;3052;3188;128969399;7620828 + 7993;57660;3052;3188;128969399;7620828 + 7994;57669;3052;3189;128969399;7678497 + 7995;57672;3052;3189;128969399;7678497 + 7996;57684;3052;3189;128969399;7678497 + 7997;57689;3062;3190;126088595;7182823 + 7998;57696;3062;3190;126088595;7182823 + 7999;57708;3062;3190;126088595;7182823 + 8000;57709;3062;3191;126088595;7240532 + 8001;57720;3062;3191;126088595;7240532 + 8002;57725;3062;3192;126088595;7298257 + 8003;57732;3062;3192;126088595;7298257 + 8004;57740;3062;3193;126088595;7355997 + 8005;57744;3062;3193;126088595;7355997 + 8006;57752;3062;3194;126088595;7413749 + 8007;57756;3062;3194;126088595;7413749 + 8008;57768;3062;3194;126088595;7413749 + 8009;57775;3062;3195;126088595;7471524 + 8010;57780;3062;3195;126088595;7471524 + 8011;57787;3062;3196;126088595;7529311 + 8012;57792;3062;3196;126088595;7529311 + 8013;57801;3062;3197;126088595;7587112 + 8014;57804;3062;3197;126088595;7587112 + 8015;57816;3071;3197;126941668;7087598 + 8016;57822;3071;3198;126941668;7145420 + 8017;57828;3071;3198;126941668;7145420 + 8018;57840;3071;3198;126941668;7145420 + 8019;57846;3071;3199;126941668;7203266 + 8020;57852;3071;3199;126941668;7203266 + 8021;57864;3071;3199;126941668;7203266 + 8022;57866;3071;3200;126941668;7261132 + 8023;57876;3071;3200;126941668;7261132 + 8024;57887;3071;3201;126941668;7319019 + 8025;57888;3071;3201;126941668;7319019 + 8026;57900;3071;3201;126941668;7319019 + 8027;57911;3071;3202;126941668;7376930 + 8028;57912;3071;3202;126941668;7376930 + 8029;57924;3071;3202;126941668;7376930 + 8030;57924;3071;3203;126941668;7434854 + 8031;57936;3071;3203;126941668;7434854 + 8032;57943;3071;3204;126941668;7492797 + 8033;57948;3071;3204;126941668;7492797 + 8034;57956;3071;3205;126941668;7550753 + 8035;57960;3071;3205;126941668;7550753 + 8036;57972;3071;3205;126941668;7550753 + 8037;57978;3071;3206;126941668;7608731 + 8038;57984;3071;3206;126941668;7608731 + 8039;57996;3071;3206;126941668;7608731 + 8040;57999;3081;3207;125722291;7110065 + 8041;58008;3081;3207;125722291;7110065 + 8042;58011;3081;3208;125722291;7168076 + 8043;58020;3081;3208;125722291;7168076 + 8044;58031;3081;3209;125722291;7226107 + 8045;58032;3081;3209;125722291;7226107 + 8046;58044;3081;3209;125722291;7226107 + 8047;58050;3081;3210;125722291;7284157 + 8048;58056;3081;3210;125722291;7284157 + 8049;58068;3081;3210;125722291;7284157 + 8050;58069;3081;3211;125722291;7342226 + 8051;58080;3081;3211;125722291;7342226 + 8052;58082;3081;3212;125722291;7400308 + 8053;58092;3081;3212;125722291;7400308 + 8054;58095;3081;3213;125722291;7458403 + 8055;58104;3081;3213;125722291;7458403 + 8056;58116;3081;3213;125722291;7458403 + 8057;58118;3081;3214;125722291;7516521 + 8058;58128;3081;3214;125722291;7516521 + 8059;58135;3081;3215;125722291;7574656 + 8060;58140;3081;3215;125722291;7574656 + 8061;58152;3081;3215;125722291;7574656 + 8062;58155;3081;3216;125722291;7632811 + 8063;58164;3081;3216;125722291;7632811 + 8064;58169;3081;3217;125722291;7690980 + 8065;58176;3081;3217;125722291;7690980 + 8066;58188;3081;3217;125722291;7690980 + 8067;58190;3081;3218;125722291;7749170 + 8068;58200;3081;3218;125722291;7749170 + 8069;58205;3084;3219;129354019;7640031 + 8070;58212;3084;3219;129354019;7640031 + 8071;58224;3084;3219;129354019;7640031 + 8072;58225;3084;3220;129354019;7698256 + 8073;58236;3084;3220;129354019;7698256 + 8074;58237;3084;3221;129354019;7756493 + 8075;58248;3084;3221;129354019;7756493 + 8076;58255;3084;3222;129354019;7814748 + 8077;58260;3084;3222;129354019;7814748 + 8078;58272;3084;3222;129354019;7814748 + 8079;58277;3094;3223;128352869;7314139 + 8080;58284;3094;3223;128352869;7314139 + 8081;58292;3101;3224;118769993;6980161 + 8082;58296;3101;3224;118769993;6980161 + 8083;58308;3101;3224;118769993;6980161 + 8084;58315;3101;3225;118769993;7038476 + 8085;58320;3101;3225;118769993;7038476 + 8086;58332;3101;3225;118769993;7038476 + 8087;58339;3101;3226;118769993;7096815 + 8088;58344;3101;3226;118769993;7096815 + 8089;58356;3101;3226;118769993;7096815 + 8090;58363;3101;3227;118769993;7155178 + 8091;58368;3101;3227;118769993;7155178 + 8092;58380;3101;3227;118769993;7155178 + 8093;58382;3101;3228;118769993;7213560 + 8094;58392;3101;3228;118769993;7213560 + 8095;58394;3101;3229;118769993;7271954 + 8096;58404;3101;3229;118769993;7271954 + 8097;58409;3103;3230;120989776;7218106 + 8098;58416;3103;3230;120989776;7218106 + 8099;58421;3103;3231;120989776;7276527 + 8100;58428;3103;3231;120989776;7276527 + 8101;58440;3103;3231;120989776;7276527 + 8102;58442;3103;3232;120989776;7334969 + 8103;58452;3103;3232;120989776;7334969 + 8104;58462;3103;3233;120989776;7393431 + 8105;58464;3103;3233;120989776;7393431 + 8106;58476;3103;3233;120989776;7393431 + 8107;58480;3103;3234;120989776;7451911 + 8108;58488;3103;3234;120989776;7451911 + 8109;58494;3103;3235;120989776;7510405 + 8110;58500;3103;3235;120989776;7510405 + 8111;58506;3103;3236;120989776;7568911 + 8112;58512;3103;3236;120989776;7568911 + 8113;58519;3103;3237;120989776;7627430 + 8114;58524;3103;3237;120989776;7627430 + 8115;58536;3103;3237;120989776;7627430 + 8116;58541;3103;3238;120989776;7685971 + 8117;58548;3103;3238;120989776;7685971 + 8118;58560;3103;3238;120989776;7685971 + 8119;58562;3103;3239;120989776;7744533 + 8120;58572;3103;3239;120989776;7744533 + 8121;58580;3103;3240;120989776;7803113 + 8122;58584;3103;3240;120989776;7803113 + 8123;58596;3103;3240;120989776;7803113 + 8124;58599;3103;3241;120989776;7861712 + 8125;58608;3103;3241;120989776;7861712 + 8126;58620;3103;3241;120989776;7861712 + 8127;58623;3113;3242;119663626;7357961 + 8128;58632;3117;3242;121712497;7132521 + 8129;58644;3117;3242;121712497;7132521 + 8130;58645;3117;3243;121712497;7191166 + 8131;58656;3117;3243;121712497;7191166 + 8132;58668;3117;3243;121712497;7191166 + 8133;58668;3117;3244;121712497;7249834 + 8134;58680;3117;3244;121712497;7249834 + 8135;58691;3117;3245;121712497;7308525 + 8136;58692;3117;3245;121712497;7308525 + 8137;58704;3117;3245;121712497;7308525 + 8138;58711;3117;3246;121712497;7367236 + 8139;58716;3117;3246;121712497;7367236 + 8140;58728;3121;3246;118218406;7141531 + 8141;58729;3121;3247;118218406;7200260 + 8142;58740;3121;3247;118218406;7200260 + 8143;58745;3121;3248;118218406;7259005 + 8144;58752;3121;3248;118218406;7259005 + 8145;58764;3121;3248;118218406;7259005 + 8146;58765;3121;3249;118218406;7317770 + 8147;58776;3121;3249;118218406;7317770 + 8148;58787;3121;3250;118218406;7376557 + 8149;58788;3121;3250;118218406;7376557 + 8150;58800;3121;3250;118218406;7376557 + 8151;58809;3121;3251;118218406;7435366 + 8152;58812;3121;3251;118218406;7435366 + 8153;58822;3121;3252;118218406;7494188 + 8154;58824;3121;3252;118218406;7494188 + 8155;58834;3121;3253;118218406;7553022 + 8156;58836;3121;3253;118218406;7553022 + 8157;58848;3121;3253;118218406;7553022 + 8158;58854;3121;3254;118218406;7611876 + 8159;58860;3121;3254;118218406;7611876 + 8160;58869;3128;3255;125224109;7275024 + 8161;58872;3128;3255;125224109;7275024 + 8162;58884;3128;3255;125224109;7275024 + 8163;58884;3128;3256;125224109;7333908 + 8164;58896;3128;3256;125224109;7333908 + 8165;58906;3128;3257;125224109;7392814 + 8166;58908;3128;3257;125224109;7392814 + 8167;58920;3128;3257;125224109;7392814 + 8168;58922;3128;3258;125224109;7451736 + 8169;58932;3128;3258;125224109;7451736 + 8170;58939;3128;3259;125224109;7510675 + 8171;58944;3128;3259;125224109;7510675 + 8172;58953;3128;3260;125224109;7569628 + 8173;58956;3128;3260;125224109;7569628 + 8174;58968;3128;3260;125224109;7569628 + 8175;58975;3128;3261;125224109;7628603 + 8176;58980;3128;3261;125224109;7628603 + 8177;58992;3128;3261;125224109;7628603 + 8178;58999;3128;3262;125224109;7687602 + 8179;59004;3128;3262;125224109;7687602 + 8180;59014;3135;3263;123749849;7349992 + 8181;59016;3135;3263;123749849;7349992 + 8182;59028;3135;3263;123749849;7349992 + 8183;59028;3137;3264;125576067;7295522 + 8184;59040;3137;3264;125576067;7295522 + 8185;59048;3137;3265;125576067;7354570 + 8186;59052;3137;3265;125576067;7354570 + 8187;59064;3137;3265;125576067;7354570 + 8188;59069;3142;3266;122477260;7129588 + 8189;59076;3142;3266;122477260;7129588 + 8190;59086;3142;3267;122477260;7188674 + 8191;59088;3142;3267;122477260;7188674 + 8192;59100;3142;3267;122477260;7188674 + 8193;59108;3142;3268;122477260;7247782 + 8194;59112;3142;3268;122477260;7247782 + 8195;59124;3142;3268;122477260;7247782 + 8196;59132;3142;3269;122477260;7306914 + 8197;59136;3142;3269;122477260;7306914 + 8198;59148;3142;3269;122477260;7306914 + 8199;59156;3142;3270;122477260;7366070 + 8200;59160;3142;3270;122477260;7366070 + 8201;59172;3142;3270;122477260;7366070 + 8202;59172;3142;3271;122477260;7425242 + 8203;59184;3142;3271;122477260;7425242 + 8204;59195;3142;3272;122477260;7484437 + 8205;59196;3142;3272;122477260;7484437 + 8206;59208;3153;3272;118562847;6858003 + 8207;59216;3153;3273;118562847;6917219 + 8208;59220;3153;3273;118562847;6917219 + 8209;59232;3153;3273;118562847;6917219 + 8210;59236;3153;3274;118562847;6976455 + 8211;59244;3153;3274;118562847;6976455 + 8212;59256;3153;3274;118562847;6976455 + 8213;59257;3153;3275;118562847;7035712 + 8214;59268;3153;3275;118562847;7035712 + 8215;59277;3153;3276;118562847;7094989 + 8216;59280;3153;3276;118562847;7094989 + 8217;59292;3156;3276;120931813;6923746 + 8218;59294;3156;3277;120931813;6983040 + 8219;59304;3156;3277;120931813;6983040 + 8220;59306;3156;3278;120931813;7042346 + 8221;59316;3156;3278;120931813;7042346 + 8222;59328;3156;3278;120931813;7042346 + 8223;59329;3156;3279;120931813;7101675 + 8224;59340;3156;3279;120931813;7101675 + 8225;59344;3156;3280;120931813;7161019 + 8226;59352;3156;3280;120931813;7161019 + 8227;59364;3156;3280;120931813;7161019 + 8228;59368;3159;3281;124246418;7048964 + 8229;59376;3159;3281;124246418;7048964 + 8230;59381;3159;3282;124246418;7108345 + 8231;59388;3159;3282;124246418;7108345 + 8232;59393;3159;3283;124246418;7167738 + 8233;59400;3159;3283;124246418;7167738 + 8234;59406;3159;3284;124246418;7227144 + 8235;59412;3159;3284;124246418;7227144 + 8236;59424;3159;3284;124246418;7227144 + 8237;59430;3159;3285;124246418;7286574 + 8238;59436;3159;3285;124246418;7286574 + 8239;59448;3159;3285;124246418;7286574 + 8240;59451;3159;3286;124246418;7346025 + 8241;59460;3159;3286;124246418;7346025 + 8242;59472;3159;3286;124246418;7346025 + 8243;59473;3159;3287;124246418;7405498 + 8244;59484;3159;3287;124246418;7405498 + 8245;59490;3159;3288;124246418;7464988 + 8246;59496;3159;3288;124246418;7464988 + 8247;59508;3159;3288;124246418;7464988 + 8248;59512;3159;3289;124246418;7524500 + 8249;59520;3159;3289;124246418;7524500 + 8250;59528;3159;3290;124246418;7584028 + 8251;59532;3159;3290;124246418;7584028 + 8252;59542;3159;3291;124246418;7643570 + 8253;59544;3159;3291;124246418;7643570 + 8254;59555;3159;3292;124246418;7703125 + 8255;59556;3159;3292;124246418;7703125 + 8256;59568;3159;3292;124246418;7703125 + 8257;59570;3159;3293;124246418;7762695 + 8258;59580;3159;3293;124246418;7762695 + 8259;59592;3159;3293;124246418;7762695 + 8260;59592;3159;3294;124246418;7822287 + 8261;59604;3159;3294;124246418;7822287 + 8262;59611;3165;3295;122255278;7538566 + 8263;59616;3165;3295;122255278;7538566 + 8264;59628;3165;3295;122255278;7538566 + 8265;59634;3165;3296;122255278;7598200 + 8266;59640;3165;3296;122255278;7598200 + 8267;59647;3165;3297;122255278;7657847 + 8268;59652;3165;3297;122255278;7657847 + 8269;59661;3165;3298;122255278;7717508 + 8270;59664;3165;3298;122255278;7717508 + 8271;59676;3165;3298;122255278;7717508 + 8272;59680;3165;3299;122255278;7777188 + 8273;59688;3165;3299;122255278;7777188 + 8274;59694;3165;3300;122255278;7836882 + 8275;59700;3165;3300;122255278;7836882 + 8276;59711;3175;3301;117468174;7322746 + 8277;59712;3175;3301;117468174;7322746 + 8278;59724;3175;3301;117468174;7322746 + 8279;59725;3175;3302;117468174;7382471 + 8280;59736;3175;3302;117468174;7382471 + 8281;59747;3175;3303;117468174;7442218 + 8282;59748;3175;3303;117468174;7442218 + 8283;59760;3175;3303;117468174;7442218 + 8284;59760;3176;3304;119026380;7444498 + 8285;59772;3176;3304;119026380;7444498 + 8286;59779;3176;3305;119026380;7504277 + 8287;59784;3176;3305;119026380;7504277 + 8288;59796;3176;3305;119026380;7504277 + 8289;59803;3177;3306;120654802;7506581 + 8290;59808;3177;3306;120654802;7506581 + 8291;59820;3177;3306;120654802;7506581 + 8292;59825;3177;3307;120654802;7566406 + 8293;59832;3177;3307;120654802;7566406 + 8294;59842;3177;3308;120654802;7626248 + 8295;59844;3177;3308;120654802;7626248 + 8296;59856;3177;3308;120654802;7626248 + 8297;59857;3177;3309;120654802;7686105 + 8298;59868;3177;3309;120654802;7686105 + 8299;59878;3177;3310;120654802;7745983 + 8300;59880;3177;3310;120654802;7745983 + 8301;59890;3177;3311;120654802;7805873 + 8302;59892;3177;3311;120654802;7805873 + 8303;59904;3177;3311;120654802;7805873 + 8304;59904;3184;3312;119778364;7462842 + 8305;59916;3184;3312;119778364;7462842 + 8306;59919;3184;3313;119778364;7522761 + 8307;59928;3184;3313;119778364;7522761 + 8308;59935;3184;3314;119778364;7582696 + 8309;59940;3184;3314;119778364;7582696 + 8310;59948;3188;3315;123373446;7412052 + 8311;59952;3188;3315;123373446;7412052 + 8312;59964;3188;3315;123373446;7412052 + 8313;59969;3188;3316;123373446;7472021 + 8314;59976;3188;3316;123373446;7472021 + 8315;59987;3188;3317;123373446;7532008 + 8316;59988;3188;3317;123373446;7532008 + 8317;60000;3188;3317;123373446;7532008 + 8318;60006;3188;3318;123373446;7592014 + 8319;60012;3188;3318;123373446;7592014 + 8320;60024;3188;3318;123373446;7592014 + 8321;60027;3188;3319;123373446;7652041 + 8322;60036;3188;3319;123373446;7652041 + 8323;60048;3188;3319;123373446;7652041 + 8324;60051;3196;3320;121479427;7250114 + 8325;60060;3196;3320;121479427;7250114 + 8326;60065;3196;3321;121479427;7310179 + 8327;60072;3196;3321;121479427;7310179 + 8328;60084;3196;3321;121479427;7310179 + 8329;60084;3196;3322;121479427;7370263 + 8330;60096;3196;3322;121479427;7370263 + 8331;60099;3196;3323;121479427;7430362 + 8332;60108;3196;3323;121479427;7430362 + 8333;60120;3196;3323;121479427;7430362 + 8334;60123;3196;3324;121479427;7490485 + 8335;60132;3196;3324;121479427;7490485 + 8336;60140;3196;3325;121479427;7550625 + 8337;60144;3196;3325;121479427;7550625 + 8338;60156;3196;3325;121479427;7550625 + 8339;60163;3196;3326;121479427;7610788 + 8340;60168;3196;3326;121479427;7610788 + 8341;60180;3196;3326;121479427;7610788 + 8342;60185;3196;3327;121479427;7670973 + 8343;60192;3196;3327;121479427;7670973 + 8344;60204;3196;3327;121479427;7670973 + 8345;60208;3196;3328;121479427;7731181 + 8346;60216;3196;3328;121479427;7731181 + 8347;60228;3196;3328;121479427;7731181 + 8348;60230;3196;3329;121479427;7791411 + 8349;60240;3196;3329;121479427;7791411 + 8350;60252;3196;3329;121479427;7791411 + 8351;60252;3196;3330;121479427;7851663 + 8352;60264;3196;3330;121479427;7851663 + 8353;60266;3196;3331;121479427;7911929 + 8354;60276;3196;3331;121479427;7911929 + 8355;60286;3204;3332;123885465;7509060 + 8356;60288;3204;3332;123885465;7509060 + 8357;60300;3204;3332;123885465;7509060 + 8358;60302;3204;3333;123885465;7569362 + 8359;60312;3204;3333;123885465;7569362 + 8360;60314;3204;3334;123885465;7629676 + 8361;60324;3204;3334;123885465;7629676 + 8362;60335;3204;3335;123885465;7690011 + 8363;60336;3204;3335;123885465;7690011 + 8364;60348;3204;3335;123885465;7690011 + 8365;60356;3204;3336;123885465;7750367 + 8366;60360;3204;3336;123885465;7750367 + 8367;60368;3204;3337;123885465;7810735 + 8368;60372;3204;3337;123885465;7810735 + 8369;60384;3204;3337;123885465;7810735 + 8370;60388;3204;3338;123885465;7871123 + 8371;60396;3204;3338;123885465;7871123 + 8372;60403;3204;3339;123885465;7931526 + 8373;60408;3204;3339;123885465;7931526 + 8374;60415;3204;3340;123885465;7991941 + 8375;60420;3204;3340;123885465;7991941 + 8376;60430;3212;3341;120787026;7588056 + 8377;60432;3212;3341;120787026;7588056 + 8378;60444;3212;3341;120787026;7588056 + 8379;60444;3212;3342;120787026;7648500 + 8380;60456;3212;3342;120787026;7648500 + 8381;60464;3212;3343;120787026;7708964 + 8382;60468;3212;3343;120787026;7708964 + 8383;60480;3212;3343;120787026;7708964 + 8384;60480;3212;3344;120787026;7769444 + 8385;60492;3212;3344;120787026;7769444 + 8386;60504;3212;3344;120787026;7769444 + 8387;60504;3218;3345;125309861;7480976 + 8388;60516;3232;3345;116411496;6664163 + 8389;60523;3232;3346;116411496;6724686 + 8390;60528;3232;3346;116411496;6724686 + 8391;60540;3232;3346;116411496;6724686 + 8392;60541;3232;3347;116411496;6785227 + 8393;60552;3232;3347;116411496;6785227 + 8394;60563;3232;3348;116411496;6845790 + 8395;60564;3232;3348;116411496;6845790 + 8396;60576;3232;3348;116411496;6845790 + 8397;60587;3232;3349;116411496;6906377 + 8398;60588;3232;3349;116411496;6906377 + 8399;60599;3232;3350;116411496;6966976 + 8400;60600;3232;3350;116411496;6966976 + 8401;60612;3232;3350;116411496;6966976 + 8402;60623;3232;3351;116411496;7027599 + 8403;60624;3232;3351;116411496;7027599 + 8404;60636;3232;3351;116411496;7027599 + 8405;60642;3232;3352;116411496;7088241 + 8406;60648;3232;3352;116411496;7088241 + 8407;60660;3232;3352;116411496;7088241 + 8408;60661;3232;3353;116411496;7148902 + 8409;60672;3232;3353;116411496;7148902 + 8410;60684;3232;3353;116411496;7148902 + 8411;60685;3232;3354;116411496;7209587 + 8412;60696;3232;3354;116411496;7209587 + 8413;60708;3232;3354;116411496;7209587 + 8414;60708;3232;3355;116411496;7270295 + 8415;60720;3232;3355;116411496;7270295 + 8416;60730;3232;3356;116411496;7331025 + 8417;60732;3232;3356;116411496;7331025 + 8418;60744;3232;3356;116411496;7331025 + 8419;60750;3232;3357;116411496;7391775 + 8420;60756;3232;3357;116411496;7391775 + 8421;60768;3232;3357;116411496;7391775 + 8422;60771;3232;3358;116411496;7452546 + 8423;60780;3232;3358;116411496;7452546 + 8424;60788;3232;3359;116411496;7513334 + 8425;60792;3232;3359;116411496;7513334 + 8426;60801;3234;3360;118004143;7457161 + 8427;60804;3234;3360;118004143;7457161 + 8428;60816;3234;3360;118004143;7457161 + 8429;60823;3234;3361;118004143;7517984 + 8430;60828;3234;3361;118004143;7517984 + 8431;60840;3234;3361;118004143;7517984 + 8432;60847;3238;3362;122322249;7344703 + 8433;60852;3238;3362;122322249;7344703 + 8434;60864;3238;3362;122322249;7344703 + 8435;60869;3238;3363;122322249;7405572 + 8436;60876;3238;3363;122322249;7405572 + 8437;60885;3238;3364;122322249;7466457 + 8438;60888;3238;3364;122322249;7466457 + 8439;60900;3238;3364;122322249;7466457 + 8440;60909;3238;3365;122322249;7527366 + 8441;60912;3238;3365;122322249;7527366 + 8442;60923;3238;3366;122322249;7588289 + 8443;60924;3238;3366;122322249;7588289 + 8444;60936;3238;3366;122322249;7588289 + 8445;60938;3238;3367;122322249;7649227 + 8446;60948;3238;3367;122322249;7649227 + 8447;60958;3238;3368;122322249;7710185 + 8448;60960;3238;3368;122322249;7710185 + 8449;60972;3238;3368;122322249;7710185 + 8450;60981;3238;3369;122322249;7771166 + 8451;60984;3238;3369;122322249;7771166 + 8452;60996;3238;3369;122322249;7771166 + 8453;60996;3238;3370;122322249;7832162 + 8454;61008;3238;3370;122322249;7832162 + 8455;61009;3238;3371;122322249;7893171 + 8456;61020;3238;3371;122322249;7893171 + 8457;61032;3238;3371;122322249;7893171 + 8458;61032;3238;3372;122322249;7954203 + 8459;61044;3238;3372;122322249;7954203 + 8460;61048;3248;3373;118534443;7428495 + 8461;61056;3248;3373;118534443;7428495 + 8462;61064;3253;3374;113050235;7195453 + 8463;61068;3253;3374;113050235;7195453 + 8464;61079;3253;3375;113050235;7256532 + 8465;61080;3253;3375;113050235;7256532 + 8466;61092;3253;3375;113050235;7256532 + 8467;61100;3253;3376;113050235;7317632 + 8468;61104;3253;3376;113050235;7317632 + 8469;61116;3253;3376;113050235;7317632 + 8470;61122;3253;3377;113050235;7378754 + 8471;61128;3253;3377;113050235;7378754 + 8472;61137;3253;3378;113050235;7439891 + 8473;61140;3253;3378;113050235;7439891 + 8474;61152;3253;3378;113050235;7439891 + 8475;61155;3258;3379;117070800;7206526 + 8476;61164;3258;3379;117070800;7206526 + 8477;61168;3258;3380;117070800;7267694 + 8478;61176;3258;3380;117070800;7267694 + 8479;61186;3258;3381;117070800;7328880 + 8480;61188;3258;3381;117070800;7328880 + 8481;61200;3258;3381;117070800;7328880 + 8482;61206;3258;3382;117070800;7390086 + 8483;61212;3258;3382;117070800;7390086 + 8484;61222;3258;3383;117070800;7451308 + 8485;61224;3258;3383;117070800;7451308 + 8486;61236;3258;3383;117070800;7451308 + 8487;61238;3258;3384;117070800;7512546 + 8488;61248;3258;3384;117070800;7512546 + 8489;61255;3258;3385;117070800;7573801 + 8490;61260;3258;3385;117070800;7573801 + 8491;61268;3258;3386;117070800;7635069 + 8492;61272;3258;3386;117070800;7635069 + 8493;61280;3258;3387;117070800;7696349 + 8494;61284;3258;3387;117070800;7696349 + 8495;61296;3258;3387;117070800;7696349 + 8496;61303;3258;3388;117070800;7757652 + 8497;61308;3258;3388;117070800;7757652 + 8498;61320;3258;3388;117070800;7757652 + 8499;61326;3258;3389;117070800;7818978 + 8500;61332;3258;3389;117070800;7818978 + 8501;61343;3259;3390;119103811;7821368 + 8502;61344;3259;3390;119103811;7821368 + 8503;61356;3259;3390;119103811;7821368 + 8504;61360;3259;3391;119103811;7882728 + 8505;61368;3259;3391;119103811;7882728 + 8506;61379;3266;3392;113410668;7530888 + 8507;61380;3266;3392;113410668;7530888 + 8508;61392;3266;3392;113410668;7530888 + 8509;61400;3266;3393;113410668;7592288 + 8510;61404;3266;3393;113410668;7592288 + 8511;61416;3266;3393;113410668;7592288 + 8512;61419;3266;3394;113410668;7653707 + 8513;61428;3266;3394;113410668;7653707 + 8514;61439;3266;3395;113410668;7715146 + 8515;61440;3266;3395;113410668;7715146 + 8516;61452;3266;3395;113410668;7715146 + 8517;61454;3266;3396;113410668;7776600 + 8518;61464;3266;3396;113410668;7776600 + 8519;61466;3266;3397;113410668;7838066 + 8520;61476;3266;3397;113410668;7838066 + 8521;61478;3266;3398;113410668;7899544 + 8522;61488;3266;3398;113410668;7899544 + 8523;61490;3266;3399;113410668;7961034 + 8524;61500;3266;3399;113410668;7961034 + 8525;61504;3266;3400;113410668;8022538 + 8526;61512;3266;3400;113410668;8022538 + 8527;61522;3266;3401;113410668;8084060 + 8528;61524;3266;3401;113410668;8084060 + 8529;61536;3266;3401;113410668;8084060 + 8530;61544;3266;3402;113410668;8145604 + 8531;61548;3266;3402;113410668;8145604 + 8532;61560;3267;3402;115573792;8086496 + 8533;61566;3267;3403;115573792;8148062 + 8534;61572;3267;3403;115573792;8148062 + 8535;61581;3269;3404;117090837;8091355 + 8536;61584;3269;3404;117090837;8091355 + 8537;61596;3269;3404;117090837;8091355 + 8538;61598;3269;3405;117090837;8152953 + 8539;61608;3275;3405;115395917;7797600 + 8540;61614;3275;3406;115395917;7859214 + 8541;61620;3275;3406;115395917;7859214 + 8542;61631;3275;3407;115395917;7920845 + 8543;61632;3275;3407;115395917;7920845 + 8544;61644;3275;3407;115395917;7920845 + 8545;61646;3275;3408;115395917;7982491 + 8546;61656;3275;3408;115395917;7982491 + 8547;61663;3278;3409;117584831;7866225 + 8548;61668;3278;3409;117584831;7866225 + 8549;61680;3278;3409;117584831;7866225 + 8550;61682;3278;3410;117584831;7927907 + 8551;61692;3278;3410;117584831;7927907 + 8552;61702;3278;3411;117584831;7989609 + 8553;61704;3278;3411;117584831;7989609 + 8554;61716;3278;3411;117584831;7989609 + 8555;61723;3278;3412;117584831;8051332 + 8556;61728;3278;3412;117584831;8051332 + 8557;61740;3278;3412;117584831;8051332 + 8558;61745;3278;3413;117584831;8113077 + 8559;61752;3278;3413;117584831;8113077 + 8560;61761;3278;3414;117584831;8174838 + 8561;61764;3278;3414;117584831;8174838 + 8562;61776;3278;3414;117584831;8174838 + 8563;61780;3278;3415;117584831;8236618 + 8564;61788;3278;3415;117584831;8236618 + 8565;61800;3278;3415;117584831;8236618 + 8566;61803;3278;3416;117584831;8298421 + 8567;61812;3278;3416;117584831;8298421 + 8568;61823;3283;3417;113807304;8063352 + 8569;61824;3283;3417;113807304;8063352 + 8570;61836;3283;3417;113807304;8063352 + 8571;61846;3283;3418;113807304;8125198 + 8572;61848;3283;3418;113807304;8125198 + 8573;61860;3283;3418;113807304;8125198 + 8574;61860;3293;3419;115637103;7591915 + 8575;61872;3293;3419;115637103;7591915 + 8576;61881;3298;3420;115214371;7355563 + 8577;61884;3298;3420;115214371;7355563 + 8578;61896;3298;3420;115214371;7355563 + 8579;61897;3298;3421;115214371;7417460 + 8580;61908;3298;3421;115214371;7417460 + 8581;61920;3298;3421;115214371;7417460 + 8582;61921;3298;3422;115214371;7479381 + 8583;61932;3298;3422;115214371;7479381 + 8584;61937;3298;3423;115214371;7541318 + 8585;61944;3298;3423;115214371;7541318 + 8586;61956;3298;3423;115214371;7541318 + 8587;61959;3298;3424;115214371;7603277 + 8588;61968;3298;3424;115214371;7603277 + 8589;61971;3298;3425;115214371;7665248 + 8590;61980;3298;3425;115214371;7665248 + 8591;61992;3298;3425;115214371;7665248 + 8592;61992;3298;3426;115214371;7727240 + 8593;62004;3298;3426;115214371;7727240 + 8594;62005;3298;3427;115214371;7789245 + 8595;62016;3298;3427;115214371;7789245 + 8596;62026;3298;3428;115214371;7851271 + 8597;62028;3298;3428;115214371;7851271 + 8598;62040;3298;3428;115214371;7851271 + 8599;62047;3298;3429;115214371;7913318 + 8600;62052;3298;3429;115214371;7913318 + 8601;62064;3298;3429;115214371;7913318 + 8602;62064;3298;3430;115214371;7975382 + 8603;62076;3298;3430;115214371;7975382 + 8604;62087;3298;3431;115214371;8037469 + 8605;62088;3298;3431;115214371;8037469 + 8606;62100;3298;3431;115214371;8037469 + 8607;62106;3298;3432;115214371;8099575 + 8608;62112;3298;3432;115214371;8099575 + 8609;62119;3298;3433;115214371;8161694 + 8610;62124;3298;3433;115214371;8161694 + 8611;62131;3307;3434;116570985;7685939 + 8612;62136;3307;3434;116570985;7685939 + 8613;62148;3307;3434;116570985;7685939 + 8614;62149;3307;3435;116570985;7748088 + 8615;62160;3307;3435;116570985;7748088 + 8616;62172;3307;3435;116570985;7748088 + 8617;62172;3307;3436;116570985;7810260 + 8618;62184;3307;3436;116570985;7810260 + 8619;62185;3307;3437;116570985;7872445 + 8620;62196;3307;3437;116570985;7872445 + 8621;62200;3307;3438;116570985;7934645 + 8622;62208;3307;3438;116570985;7934645 + 8623;62218;3307;3439;116570985;7996863 + 8624;62220;3307;3439;116570985;7996863 + 8625;62232;3307;3439;116570985;7996863 + 8626;62234;3307;3440;116570985;8059097 + 8627;62244;3307;3440;116570985;8059097 + 8628;62256;3315;3440;114080307;7579797 + 8629;62256;3315;3441;114080307;7642053 + 8630;62268;3315;3441;114080307;7642053 + 8631;62273;3315;3442;114080307;7704326 + 8632;62280;3315;3442;114080307;7704326 + 8633;62292;3315;3442;114080307;7704326 + 8634;62292;3315;3443;114080307;7766618 + 8635;62304;3315;3443;114080307;7766618 + 8636;62304;3315;3444;114080307;7828922 + 8637;62316;3315;3444;114080307;7828922 + 8638;62319;3315;3445;114080307;7891241 + 8639;62328;3315;3445;114080307;7891241 + 8640;62339;3315;3446;114080307;7953580 + 8641;62340;3315;3446;114080307;7953580 + 8642;62352;3315;3446;114080307;7953580 + 8643;62359;3325;3447;112609976;7415194 + 8644;62364;3325;3447;112609976;7415194 + 8645;62376;3325;3447;112609976;7415194 + 8646;62376;3325;3448;112609976;7477570 + 8647;62388;3325;3448;112609976;7477570 + 8648;62388;3325;3449;112609976;7539958 + 8649;62400;3325;3449;112609976;7539958 + 8650;62411;3325;3450;112609976;7602369 + 8651;62412;3325;3450;112609976;7602369 + 8652;62424;3325;3450;112609976;7602369 + 8653;62424;3326;3451;113947624;7604608 + 8654;62436;3326;3451;113947624;7604608 + 8655;62444;3326;3452;113947624;7667052 + 8656;62448;3326;3452;113947624;7667052 + 8657;62460;3326;3452;113947624;7667052 + 8658;62460;3326;3453;113947624;7729512 + 8659;62472;3326;3453;113947624;7729512 + 8660;62479;3326;3454;113947624;7791991 + 8661;62484;3326;3454;113947624;7791991 + 8662;62496;3326;3454;113947624;7791991 + 8663;62500;3326;3455;113947624;7854491 + 8664;62508;3326;3455;113947624;7854491 + 8665;62515;3326;3456;113947624;7917006 + 8666;62520;3326;3456;113947624;7917006 + 8667;62532;3326;3456;113947624;7917006 + 8668;62538;3331;3457;112629249;7678302 + 8669;62544;3331;3457;112629249;7678302 + 8670;62554;3336;3458;116128939;7439181 + 8671;62556;3336;3458;116128939;7439181 + 8672;62568;3336;3458;116128939;7439181 + 8673;62574;3336;3459;116128939;7501755 + 8674;62580;3336;3459;116128939;7501755 + 8675;62586;3336;3460;116128939;7564341 + 8676;62592;3336;3460;116128939;7564341 + 8677;62599;3336;3461;116128939;7626940 + 8678;62604;3336;3461;116128939;7626940 + 8679;62616;3336;3461;116128939;7626940 + 8680;62619;3336;3462;116128939;7689559 + 8681;62628;3336;3462;116128939;7689559 + 8682;62631;3336;3463;116128939;7752190 + 8683;62640;3336;3463;116128939;7752190 + 8684;62643;3336;3464;116128939;7814833 + 8685;62652;3336;3464;116128939;7814833 + 8686;62663;3336;3465;116128939;7877496 + 8687;62664;3336;3465;116128939;7877496 + 8688;62675;3336;3466;116128939;7940171 + 8689;62676;3336;3466;116128939;7940171 + 8690;62688;3336;3466;116128939;7940171 + 8691;62692;3336;3467;116128939;8002863 + 8692;62700;3336;3467;116128939;8002863 + 8693;62711;3336;3468;116128939;8065574 + 8694;62712;3336;3468;116128939;8065574 + 8695;62724;3336;3468;116128939;8065574 + 8696;62727;3336;3469;116128939;8128301 + 8697;62736;3336;3469;116128939;8128301 + 8698;62746;3337;3470;117992027;8130659 + 8699;62748;3337;3470;117992027;8130659 + 8700;62760;3337;3470;117992027;8130659 + 8701;62764;3337;3471;117992027;8193423 + 8702;62772;3337;3471;117992027;8193423 + 8703;62784;3337;3471;117992027;8193423 + 8704;62786;3337;3472;117992027;8256209 + 8705;62796;3337;3472;117992027;8256209 + 8706;62808;3337;3472;117992027;8256209 + 8707;62808;3337;3473;117992027;8319017 + 8708;62820;3337;3473;117992027;8319017 + 8709;62828;3337;3474;117992027;8381845 + 8710;62832;3337;3474;117992027;8381845 + 8711;62842;3337;3475;117992027;8444687 + 8712;62844;3337;3475;117992027;8444687 + 8713;62856;3337;3475;117992027;8444687 + 8714;62858;3341;3476;114213145;8265853 + 8715;62868;3341;3476;114213145;8265853 + 8716;62874;3341;3477;114213145;8328727 + 8717;62880;3341;3477;114213145;8328727 + 8718;62886;3341;3478;114213145;8391613 + 8719;62892;3341;3478;114213145;8391613 + 8720;62901;3345;3479;119385433;8212543 + 8721;62904;3345;3479;119385433;8212543 + 8722;62916;3345;3479;119385433;8212543 + 8723;62919;3345;3480;119385433;8275462 + 8724;62928;3345;3480;119385433;8275462 + 8725;62931;3345;3481;119385433;8338393 + 8726;62940;3345;3481;119385433;8338393 + 8727;62952;3345;3481;119385433;8338393 + 8728;62952;3345;3482;119385433;8401345 + 8729;62964;3352;3482;116898622;7977129 + 8730;62970;3352;3483;116898622;8040099 + 8731;62976;3352;3483;116898622;8040099 + 8732;62988;3352;3483;116898622;8040099 + 8733;62988;3352;3484;116898622;8103087 + 8734;63000;3352;3484;116898622;8103087 + 8735;63003;3352;3485;116898622;8166090 + 8736;63012;3352;3485;116898622;8166090 + 8737;63019;3352;3486;116898622;8229109 + 8738;63024;3352;3486;116898622;8229109 + 8739;63033;3352;3487;116898622;8292142 + 8740;63036;3352;3487;116898622;8292142 + 8741;63048;3352;3487;116898622;8292142 + 8742;63049;3352;3488;116898622;8355191 + 8743;63060;3356;3488;119091582;8112318 + 8744;63062;3356;3489;119091582;8175380 + 8745;63072;3356;3489;119091582;8175380 + 8746;63083;3356;3490;119091582;8238463 + 8747;63084;3356;3490;119091582;8238463 + 8748;63096;3356;3490;119091582;8238463 + 8749;63104;3356;3491;119091582;8301567 + 8750;63108;3356;3491;119091582;8301567 + 8751;63120;3356;3491;119091582;8301567 + 8752;63125;3356;3492;119091582;8364692 + 8753;63132;3356;3492;119091582;8364692 + 8754;63137;3356;3493;119091582;8427829 + 8755;63144;3356;3493;119091582;8427829 + 8756;63150;3366;3494;115569837;7882425 + 8757;63156;3366;3494;115569837;7882425 + 8758;63166;3367;3495;116339797;7884633 + 8759;63168;3367;3495;116339797;7884633 + 8760;63179;3367;3496;116339797;7947812 + 8761;63180;3367;3496;116339797;7947812 + 8762;63192;3367;3496;116339797;7947812 + 8763;63202;3367;3497;116339797;8011014 + 8764;63204;3367;3497;116339797;8011014 + 8765;63216;3367;3497;116339797;8011014 + 8766;63221;3367;3498;116339797;8074235 + 8767;63228;3367;3498;116339797;8074235 + 8768;63233;3367;3499;116339797;8137468 + 8769;63240;3367;3499;116339797;8137468 + 8770;63251;3367;3500;116339797;8200719 + 8771;63252;3367;3500;116339797;8200719 + 8772;63264;3367;3500;116339797;8200719 + 8773;63264;3367;3501;116339797;8263983 + 8774;63276;3367;3501;116339797;8263983 + 8775;63287;3367;3502;116339797;8327270 + 8776;63288;3367;3502;116339797;8327270 + 8777;63300;3367;3502;116339797;8327270 + 8778;63301;3367;3503;116339797;8390571 + 8779;63312;3367;3503;116339797;8390571 + 8780;63319;3367;3504;116339797;8453890 + 8781;63324;3367;3504;116339797;8453890 + 8782;63331;3367;3505;116339797;8517221 + 8783;63336;3367;3505;116339797;8517221 + 8784;63348;3367;3505;116339797;8517221 + 8785;63350;3367;3506;116339797;8580571 + 8786;63360;3367;3506;116339797;8580571 + 8787;63372;3367;3506;116339797;8580571 + 8788;63372;3367;3507;116339797;8643943 + 8789;63384;3372;3507;111746068;8338877 + 8790;63385;3372;3508;111746068;8402262 + 8791;63396;3372;3508;111746068;8402262 + 8792;63403;3372;3509;111746068;8465665 + 8793;63408;3372;3509;111746068;8465665 + 8794;63420;3372;3509;111746068;8465665 + 8795;63426;3372;3510;111746068;8529091 + 8796;63432;3372;3510;111746068;8529091 + 8797;63442;3372;3511;111746068;8592533 + 8798;63444;3372;3511;111746068;8592533 + 8799;63455;3372;3512;111746068;8655988 + 8800;63456;3372;3512;111746068;8655988 + 8801;63468;3372;3512;111746068;8655988 + 8802;63471;3372;3513;111746068;8719459 + 8803;63480;3372;3513;111746068;8719459 + 8804;63485;3372;3514;111746068;8782944 + 8805;63492;3372;3514;111746068;8782944 + 8806;63501;3372;3515;111746068;8846445 + 8807;63504;3372;3515;111746068;8846445 + 8808;63516;3372;3515;111746068;8846445 + 8809;63522;3372;3516;111746068;8909967 + 8810;63528;3372;3516;111746068;8909967 + 8811;63540;3372;3516;111746068;8909967 + 8812;63541;3381;3517;111086328;8423291 + 8813;63552;3381;3517;111086328;8423291 + 8814;63562;3381;3518;111086328;8486853 + 8815;63564;3381;3518;111086328;8486853 + 8816;63575;3381;3519;111086328;8550428 + 8817;63576;3381;3519;111086328;8550428 + 8818;63588;3381;3519;111086328;8550428 + 8819;63590;3381;3520;111086328;8614018 + 8820;63600;3381;3520;111086328;8614018 + 8821;63611;3381;3521;111086328;8677629 + 8822;63612;3381;3521;111086328;8677629 + 8823;63624;3381;3521;111086328;8677629 + 8824;63626;3381;3522;111086328;8741255 + 8825;63636;3381;3522;111086328;8741255 + 8826;63640;3381;3523;111086328;8804895 + 8827;63648;3381;3523;111086328;8804895 + 8828;63657;3383;3524;112791278;8746092 + 8829;63660;3383;3524;112791278;8746092 + 8830;63671;3393;3525;110922952;8196430 + 8831;63672;3393;3525;110922952;8196430 + 8832;63684;3393;3525;110922952;8196430 + 8833;63684;3393;3526;110922952;8260114 + 8834;63696;3393;3526;110922952;8260114 + 8835;63697;3393;3527;110922952;8323811 + 8836;63708;3393;3527;110922952;8323811 + 8837;63714;3393;3528;110922952;8387525 + 8838;63720;3393;3528;110922952;8387525 + 8839;63730;3393;3529;110922952;8451255 + 8840;63732;3393;3529;110922952;8451255 + 8841;63744;3393;3529;110922952;8451255 + 8842;63753;3393;3530;110922952;8515008 + 8843;63756;3393;3530;110922952;8515008 + 8844;63768;3393;3530;110922952;8515008 + 8845;63775;3393;3531;110922952;8578783 + 8846;63780;3393;3531;110922952;8578783 + 8847;63789;3393;3532;110922952;8642572 + 8848;63792;3393;3532;110922952;8642572 + 8849;63801;3393;3533;110922952;8706373 + 8850;63804;3393;3533;110922952;8706373 + 8851;63816;3393;3533;110922952;8706373 + 8852;63817;3397;3534;113752782;8524353 + 8853;63828;3397;3534;113752782;8524353 + 8854;63839;3402;3535;110733282;8280566 + 8855;63840;3402;3535;110733282;8280566 + 8856;63852;3402;3535;110733282;8280566 + 8857;63855;3402;3536;110733282;8344421 + 8858;63864;3402;3536;110733282;8344421 + 8859;63869;3403;3537;112236719;8346709 + 8860;63876;3403;3537;112236719;8346709 + 8861;63886;3403;3538;112236719;8410595 + 8862;63888;3403;3538;112236719;8410595 + 8863;63900;3403;3538;112236719;8410595 + 8864;63900;3403;3539;112236719;8474495 + 8865;63912;3403;3539;112236719;8474495 + 8866;63912;3404;3540;113889136;8476809 + 8867;63924;3404;3540;113889136;8476809 + 8868;63932;3404;3541;113889136;8540741 + 8869;63936;3404;3541;113889136;8540741 + 8870;63948;3404;3541;113889136;8540741 + 8871;63953;3404;3542;113889136;8604694 + 8872;63960;3404;3542;113889136;8604694 + 8873;63966;3404;3543;113889136;8668660 + 8874;63972;3404;3543;113889136;8668660 + 8875;63984;3404;3543;113889136;8668660 + 8876;63985;3404;3544;113889136;8732645 + 8877;63996;3404;3544;113889136;8732645 + 8878;64000;3404;3545;113889136;8796645 + 8879;64008;3404;3545;113889136;8796645 + 8880;64012;3404;3546;113889136;8860657 + 8881;64020;3404;3546;113889136;8860657 + 8882;64029;3404;3547;113889136;8924686 + 8883;64032;3404;3547;113889136;8924686 + 8884;64044;3404;3547;113889136;8924686 + 8885;64048;3414;3548;117596906;8371787 + 8886;64056;3414;3548;117596906;8371787 + 8887;64064;3416;3549;118343909;8312225 + 8888;64068;3416;3549;118343909;8312225 + 8889;64080;3416;3549;118343909;8312225 + 8890;64087;3416;3550;118343909;8376312 + 8891;64092;3416;3550;118343909;8376312 + 8892;64104;3416;3550;118343909;8376312 + 8893;64108;3416;3551;118343909;8440420 + 8894;64116;3416;3551;118343909;8440420 + 8895;64127;3416;3552;118343909;8504547 + 8896;64128;3416;3552;118343909;8504547 + 8897;64140;3416;3552;118343909;8504547 + 8898;64140;3416;3553;118343909;8568687 + 8899;64152;3416;3553;118343909;8568687 + 8900;64155;3416;3554;118343909;8632842 + 8901;64164;3416;3554;118343909;8632842 + 8902;64172;3416;3555;118343909;8697014 + 8903;64176;3416;3555;118343909;8697014 + 8904;64185;3416;3556;118343909;8761199 + 8905;64188;3416;3556;118343909;8761199 + 8906;64197;3416;3557;118343909;8825396 + 8907;64200;3416;3557;118343909;8825396 + 8908;64212;3416;3557;118343909;8825396 + 8909;64215;3416;3558;118343909;8889611 + 8910;64224;3416;3558;118343909;8889611 + 8911;64233;3416;3559;118343909;8953844 + 8912;64236;3416;3559;118343909;8953844 + 8913;64248;3416;3559;118343909;8953844 + 8914;64254;3416;3560;118343909;9018098 + 8915;64260;3416;3560;118343909;9018098 + 8916;64272;3416;3560;118343909;9018098 + 8917;64274;3416;3561;118343909;9082372 + 8918;64284;3416;3561;118343909;9082372 + 8919;64296;3417;3561;120605255;9020526 + 8920;64298;3417;3562;120605255;9084824 + 8921;64308;3417;3562;120605255;9084824 + 8922;64320;3417;3562;120605255;9084824 + 8923;64322;3417;3563;120605255;9149146 + 8924;64332;3417;3563;120605255;9149146 + 8925;64339;3421;3564;116778649;8965926 + 8926;64344;3421;3564;116778649;8965926 + 8927;64356;3421;3564;116778649;8965926 + 8928;64356;3423;3565;119909628;8906386 + 8929;64368;3423;3565;119909628;8906386 + 8930;64376;3423;3566;119909628;8970762 + 8931;64380;3423;3566;119909628;8970762 + 8932;64390;3423;3567;119909628;9035152 + 8933;64392;3423;3567;119909628;9035152 + 8934;64404;3423;3567;119909628;9035152 + 8935;64410;3423;3568;119909628;9099562 + 8936;64416;3423;3568;119909628;9099562 + 8937;64427;3423;3569;119909628;9163989 + 8938;64428;3423;3569;119909628;9163989 + 8939;64440;3423;3569;119909628;9163989 + 8940;64444;3433;3570;124301715;8607885 + 8941;64452;3433;3570;124301715;8607885 + 8942;64460;3434;3571;124864590;8610196 + 8943;64464;3434;3571;124864590;8610196 + 8944;64475;3434;3572;124864590;8674671 + 8945;64476;3434;3572;124864590;8674671 + 8946;64488;3434;3572;124864590;8674671 + 8947;64498;3434;3573;124864590;8739169 + 8948;64500;3434;3573;124864590;8739169 + 8949;64510;3434;3574;124864590;8803679 + 8950;64512;3434;3574;124864590;8803679 + 8951;64524;3434;3574;124864590;8803679 + 8952;64527;3434;3575;124864590;8868206 + 8953;64536;3437;3575;126967741;8681649 + 8954;64548;3437;3575;126967741;8681649 + 8955;64549;3437;3576;126967741;8746198 + 8956;64560;3437;3576;126967741;8746198 + 8957;64566;3437;3577;126967741;8810764 + 8958;64572;3437;3577;126967741;8810764 + 8959;64584;3437;3577;126967741;8810764 + 8960;64590;3437;3578;126967741;8875354 + 8961;64596;3437;3578;126967741;8875354 + 8962;64604;3437;3579;126967741;8939958 + 8963;64608;3437;3579;126967741;8939958 + 8964;64620;3437;3579;126967741;8939958 + 8965;64623;3446;3580;126841774;8443987 + 8966;64632;3446;3580;126841774;8443987 + 8967;64641;3446;3581;126841774;8508628 + 8968;64644;3446;3581;126841774;8508628 + 8969;64654;3446;3582;126841774;8573282 + 8970;64656;3446;3582;126841774;8573282 + 8971;64668;3446;3582;126841774;8573282 + 8972;64670;3446;3583;126841774;8637952 + 8973;64680;3446;3583;126841774;8637952 + 8974;64687;3446;3584;126841774;8702639 + 8975;64692;3446;3584;126841774;8702639 + 8976;64704;3446;3584;126841774;8702639 + 8977;64711;3446;3585;126841774;8767350 + 8978;64716;3446;3585;126841774;8767350 + 8979;64725;3446;3586;126841774;8832075 + 8980;64728;3446;3586;126841774;8832075 + 8981;64740;3446;3586;126841774;8832075 + 8982;64741;3446;3587;126841774;8896816 + 8983;64752;3446;3587;126841774;8896816 + 8984;64764;3446;3587;126841774;8896816 + 8985;64765;3446;3588;126841774;8961581 + 8986;64776;3446;3588;126841774;8961581 + 8987;64787;3446;3589;126841774;9026368 + 8988;64788;3446;3589;126841774;9026368 + 8989;64800;3446;3589;126841774;9026368 + 8990;64804;3446;3590;126841774;9091172 + 8991;64812;3446;3590;126841774;9091172 + 8992;64824;3446;3590;126841774;9091172 + 8993;64825;3456;3591;127538322;8531462 + 8994;64836;3456;3591;127538322;8531462 + 8995;64846;3466;3592;126681240;7970072 + 8996;64848;3466;3592;126681240;7970072 + 8997;64860;3467;3592;127159101;7907361 + 8998;64862;3467;3593;127159101;7972223 + 8999;64872;3467;3593;127159101;7972223 + 9000;64878;3467;3594;127159101;8037101 + 9001;64884;3467;3594;127159101;8037101 + 9002;64891;3467;3595;127159101;8101992 + 9003;64896;3467;3595;127159101;8101992 + 9004;64908;3467;3595;127159101;8101992 + 9005;64908;3467;3596;127159101;8166900 + 9006;64920;3467;3596;127159101;8166900 + 9007;64929;3467;3597;127159101;8231829 + 9008;64932;3467;3597;127159101;8231829 + 9009;64944;3467;3597;127159101;8231829 + 9010;64948;3467;3598;127159101;8296777 + 9011;64956;3467;3598;127159101;8296777 + 9012;64967;3467;3599;127159101;8361744 + 9013;64968;3467;3599;127159101;8361744 + 9014;64980;3467;3599;127159101;8361744 + 9015;64980;3467;3600;127159101;8426724 + 9016;64992;3467;3600;127159101;8426724 + 9017;65004;3467;3600;127159101;8426724 + 9018;65004;3467;3601;127159101;8491728 + 9019;65016;3467;3601;127159101;8491728 + 9020;65028;3473;3601;122943471;8115069 + 9021;65028;3473;3602;122943471;8180097 + 9022;65040;3473;3602;122943471;8180097 + 9023;65040;3473;3603;122943471;8245137 + 9024;65052;3473;3603;122943471;8245137 + 9025;65052;3473;3604;122943471;8310189 + 9026;65064;3473;3604;122943471;8310189 + 9027;65071;3473;3605;122943471;8375260 + 9028;65076;3473;3605;122943471;8375260 + 9029;65088;3473;3605;122943471;8375260 + 9030;65095;3473;3606;122943471;8440355 + 9031;65100;3473;3606;122943471;8440355 + 9032;65107;3473;3607;122943471;8505462 + 9033;65112;3473;3607;122943471;8505462 + 9034;65124;3473;3607;122943471;8505462 + 9035;65127;3473;3608;122943471;8570589 + 9036;65136;3473;3608;122943471;8570589 + 9037;65147;3473;3609;122943471;8635736 + 9038;65148;3473;3609;122943471;8635736 + 9039;65160;3473;3609;122943471;8635736 + 9040;65163;3473;3610;122943471;8700899 + 9041;65172;3473;3610;122943471;8700899 + 9042;65175;3473;3611;122943471;8766074 + 9043;65184;3473;3611;122943471;8766074 + 9044;65196;3473;3611;122943471;8766074 + 9045;65197;3473;3612;122943471;8831271 + 9046;65208;3473;3612;122943471;8831271 + 9047;65220;3473;3612;122943471;8831271 + 9048;65220;3473;3613;122943471;8896491 + 9049;65232;3473;3613;122943471;8896491 + 9050;65238;3473;3614;122943471;8961729 + 9051;65244;3473;3614;122943471;8961729 + 9052;65253;3473;3615;122943471;9026982 + 9053;65256;3473;3615;122943471;9026982 + 9054;65268;3473;3615;122943471;9026982 + 9055;65271;3473;3616;122943471;9092253 + 9056;65280;3473;3616;122943471;9092253 + 9057;65292;3473;3616;122943471;9092253 + 9058;65294;3473;3617;122943471;9157547 + 9059;65304;3473;3617;122943471;9157547 + 9060;65315;3485;3618;123390338;8467719 + 9061;65316;3485;3618;123390338;8467719 + 9062;65328;3485;3618;123390338;8467719 + 9063;65329;3485;3619;123390338;8533048 + 9064;65340;3485;3619;123390338;8533048 + 9065;65341;3485;3620;123390338;8598389 + 9066;65352;3485;3620;123390338;8598389 + 9067;65359;3485;3621;123390338;8663748 + 9068;65364;3485;3621;123390338;8663748 + 9069;65373;3485;3622;123390338;8729121 + 9070;65376;3485;3622;123390338;8729121 + 9071;65388;3485;3622;123390338;8729121 + 9072;65389;3485;3623;123390338;8794510 + 9073;65400;3485;3623;123390338;8794510 + 9074;65410;3485;3624;123390338;8859920 + 9075;65412;3485;3624;123390338;8859920 + 9076;65422;3485;3625;123390338;8925342 + 9077;65424;3485;3625;123390338;8925342 + 9078;65436;3485;3625;123390338;8925342 + 9079;65440;3485;3626;123390338;8990782 + 9080;65448;3485;3626;123390338;8990782 + 9081;65456;3488;3627;126976433;8867094 + 9082;65460;3488;3627;126976433;8867094 + 9083;65472;3492;3627;124548725;8614645 + 9084;65475;3492;3628;124548725;8680120 + 9085;65484;3496;3628;125705079;8427423 + 9086;65496;3496;3628;125705079;8427423 + 9087;65498;3496;3629;125705079;8492921 + 9088;65508;3496;3629;125705079;8492921 + 9089;65520;3496;3629;125705079;8492921 + 9090;65522;3496;3630;125705079;8558443 + 9091;65532;3496;3630;125705079;8558443 + 9092;65543;3496;3631;125705079;8623986 + 9093;65544;3496;3631;125705079;8623986 + 9094;65556;3496;3631;125705079;8623986 + 9095;65560;3496;3632;125705079;8689546 + 9096;65568;3496;3632;125705079;8689546 + 9097;65575;3496;3633;125705079;8755121 + 9098;65580;3496;3633;125705079;8755121 + 9099;65592;3496;3633;125705079;8755121 + 9100;65598;3496;3634;125705079;8820719 + 9101;65604;3496;3634;125705079;8820719 + 9102;65616;3496;3634;125705079;8820719 + 9103;65618;3496;3635;125705079;8886337 + 9104;65628;3496;3635;125705079;8886337 + 9105;65632;3496;3636;125705079;8951969 + 9106;65640;3496;3636;125705079;8951969 + 9107;65652;3496;3636;125705079;8951969 + 9108;65656;3496;3637;125705079;9017625 + 9109;65664;3496;3637;125705079;9017625 + 9110;65676;3496;3637;125705079;9017625 + 9111;65676;3506;3638;124843222;8450372 + 9112;65688;3515;3638;119618580;7879282 + 9113;65697;3515;3639;119618580;7944979 + 9114;65700;3515;3639;119618580;7944979 + 9115;65712;3515;3639;119618580;7944979 + 9116;65721;3515;3640;119618580;8010700 + 9117;65724;3515;3640;119618580;8010700 + 9118;65736;3515;3640;119618580;8010700 + 9119;65736;3515;3641;119618580;8076436 + 9120;65748;3515;3641;119618580;8076436 + 9121;65757;3515;3642;119618580;8142193 + 9122;65760;3515;3642;119618580;8142193 + 9123;65772;3515;3642;119618580;8142193 + 9124;65774;3515;3643;119618580;8207967 + 9125;65784;3515;3643;119618580;8207967 + 9126;65796;3515;3643;119618580;8207967 + 9127;65798;3515;3644;119618580;8273765 + 9128;65808;3515;3644;119618580;8273765 + 9129;65814;3515;3645;119618580;8339579 + 9130;65820;3515;3645;119618580;8339579 + 9131;65828;3515;3646;119618580;8405407 + 9132;65832;3515;3646;119618580;8405407 + 9133;65844;3515;3646;119618580;8405407 + 9134;65851;3515;3647;119618580;8471258 + 9135;65856;3515;3647;119618580;8471258 + 9136;65868;3515;3647;119618580;8471258 + 9137;65870;3515;3648;119618580;8537128 + 9138;65880;3515;3648;119618580;8537128 + 9139;65883;3515;3649;119618580;8603011 + 9140;65892;3515;3649;119618580;8603011 + 9141;65904;3515;3649;119618580;8603011 + 9142;65906;3515;3650;119618580;8668917 + 9143;65916;3515;3650;119618580;8668917 + 9144;65922;3515;3651;119618580;8734839 + 9145;65928;3515;3651;119618580;8734839 + 9146;65935;3515;3652;119618580;8800774 + 9147;65940;3515;3652;119618580;8800774 + 9148;65950;3515;3653;119618580;8866724 + 9149;65952;3515;3653;119618580;8866724 + 9150;65963;3515;3654;119618580;8932687 + 9151;65964;3515;3654;119618580;8932687 + 9152;65976;3515;3654;119618580;8932687 + 9153;65981;3515;3655;119618580;8998668 + 9154;65988;3515;3655;119618580;8998668 + 9155;65997;3523;3656;118477657;8555863 + 9156;66000;3523;3656;118477657;8555863 + 9157;66012;3523;3656;118477657;8555863 + 9158;66018;3523;3657;118477657;8621881 + 9159;66024;3523;3657;118477657;8621881 + 9160;66036;3523;3657;118477657;8621881 + 9161;66041;3523;3658;118477657;8687922 + 9162;66048;3523;3658;118477657;8687922 + 9163;66058;3523;3659;118477657;8753980 + 9164;66060;3523;3659;118477657;8753980 + 9165;66072;3523;3659;118477657;8753980 + 9166;66080;3532;3660;116451348;8246446 + 9167;66084;3532;3660;116451348;8246446 + 9168;66096;3532;3660;116451348;8246446 + 9169;66101;3532;3661;116451348;8312547 + 9170;66108;3532;3661;116451348;8312547 + 9171;66120;3532;3661;116451348;8312547 + 9172;66124;3532;3662;116451348;8378671 + 9173;66132;3532;3662;116451348;8378671 + 9174;66143;3532;3663;116451348;8444814 + 9175;66144;3532;3663;116451348;8444814 + 9176;66156;3532;3663;116451348;8444814 + 9177;66160;3532;3664;116451348;8510974 + 9178;66168;3532;3664;116451348;8510974 + 9179;66178;3532;3665;116451348;8577152 + 9180;66180;3532;3665;116451348;8577152 + 9181;66191;3532;3666;116451348;8643343 + 9182;66192;3532;3666;116451348;8643343 + 9183;66204;3532;3666;116451348;8643343 + 9184;66210;3532;3667;116451348;8709553 + 9185;66216;3532;3667;116451348;8709553 + 9186;66226;3532;3668;116451348;8775779 + 9187;66228;3532;3668;116451348;8775779 + 9188;66240;3532;3668;116451348;8775779 + 9189;66241;3532;3669;116451348;8842020 + 9190;66252;3532;3669;116451348;8842020 + 9191;66260;3534;3670;120815970;8780624 + 9192;66264;3534;3670;120815970;8780624 + 9193;66276;3534;3670;120815970;8780624 + 9194;66280;3544;3671;119430391;8207646 + 9195;66288;3554;3671;112633104;7566704 + 9196;66299;3555;3672;112394336;7568818 + 9197;66300;3555;3672;112394336;7568818 + 9198;66311;3555;3673;112394336;7635129 + 9199;66312;3555;3673;112394336;7635129 + 9200;66324;3555;3673;112394336;7635129 + 9201;66325;3555;3674;112394336;7701454 + 9202;66336;3555;3674;112394336;7701454 + 9203;66339;3555;3675;112394336;7767793 + 9204;66348;3555;3675;112394336;7767793 + 9205;66360;3555;3675;112394336;7767793 + 9206;66360;3555;3676;112394336;7834153 + 9207;66372;3555;3676;112394336;7834153 + 9208;66373;3555;3677;112394336;7900526 + 9209;66384;3555;3677;112394336;7900526 + 9210;66387;3555;3678;112394336;7966913 + 9211;66396;3555;3678;112394336;7966913 + 9212;66401;3555;3679;112394336;8033314 + 9213;66408;3555;3679;112394336;8033314 + 9214;66413;3555;3680;112394336;8099727 + 9215;66420;3555;3680;112394336;8099727 + 9216;66432;3555;3680;112394336;8099727 + 9217;66432;3556;3681;113725530;8101962 + 9218;66444;3556;3681;113725530;8101962 + 9219;66452;3556;3682;113725530;8168414 + 9220;66456;3556;3682;113725530;8168414 + 9221;66468;3556;3682;113725530;8168414 + 9222;66471;3556;3683;113725530;8234885 + 9223;66480;3556;3683;113725530;8234885 + 9224;66491;3556;3684;113725530;8301376 + 9225;66492;3556;3684;113725530;8301376 + 9226;66504;3556;3684;113725530;8301376 + 9227;66507;3556;3685;113725530;8367883 + 9228;66516;3556;3685;113725530;8367883 + 9229;66528;3556;3685;113725530;8367883 + 9230;66530;3556;3686;113725530;8434413 + 9231;66540;3556;3686;113725530;8434413 + 9232;66542;3556;3687;113725530;8500955 + 9233;66552;3556;3687;113725530;8500955 + 9234;66564;3556;3687;113725530;8500955 + 9235;66565;3556;3688;113725530;8567520 + 9236;66576;3556;3688;113725530;8567520 + 9237;66580;3556;3689;113725530;8634100 + 9238;66588;3556;3689;113725530;8634100 + 9239;66594;3556;3690;113725530;8700694 + 9240;66600;3556;3690;113725530;8700694 + 9241;66612;3556;3690;113725530;8700694 + 9242;66613;3562;3691;112802860;8381711 + 9243;66624;3562;3691;112802860;8381711 + 9244;66627;3562;3692;112802860;8448338 + 9245;66636;3562;3692;112802860;8448338 + 9246;66641;3562;3693;112802860;8514979 + 9247;66648;3562;3693;112802860;8514979 + 9248;66659;3562;3694;112802860;8581638 + 9249;66660;3562;3694;112802860;8581638 + 9250;66672;3562;3694;112802860;8581638 + 9251;66677;3562;3695;112802860;8648315 + 9252;66684;3562;3695;112802860;8648315 + 9253;66693;3562;3696;112802860;8715008 + 9254;66696;3562;3696;112802860;8715008 + 9255;66708;3562;3696;112802860;8715008 + 9256;66713;3562;3697;112802860;8781721 + 9257;66720;3562;3697;112802860;8781721 + 9258;66732;3562;3697;112802860;8781721 + 9259;66733;3562;3698;112802860;8848454 + 9260;66744;3562;3698;112802860;8848454 + 9261;66753;3572;3699;114248334;8271032 + 9262;66756;3572;3699;114248334;8271032 + 9263;66766;3579;3700;116563006;7885829 + 9264;66768;3579;3700;116563006;7885829 + 9265;66780;3579;3700;116563006;7885829 + 9266;66786;3579;3701;116563006;7952615 + 9267;66792;3579;3701;116563006;7952615 + 9268;66804;3579;3701;116563006;7952615 + 9269;66805;3581;3702;111348993;7890125 + 9270;66816;3581;3702;111348993;7890125 + 9271;66828;3581;3702;111348993;7890125 + 9272;66829;3581;3703;111348993;7956954 + 9273;66840;3581;3703;111348993;7956954 + 9274;66843;3581;3704;111348993;8023797 + 9275;66852;3581;3704;111348993;8023797 + 9276;66864;3581;3704;111348993;8023797 + 9277;66866;3581;3705;111348993;8090663 + 9278;66876;3581;3705;111348993;8090663 + 9279;66887;3581;3706;111348993;8157550 + 9280;66888;3581;3706;111348993;8157550 + 9281;66900;3581;3706;111348993;8157550 + 9282;66900;3581;3707;111348993;8224450 + 9283;66912;3581;3707;111348993;8224450 + 9284;66917;3581;3708;111348993;8291367 + 9285;66924;3581;3708;111348993;8291367 + 9286;66936;3581;3708;111348993;8291367 + 9287;66937;3581;3709;111348993;8358304 + 9288;66948;3581;3709;111348993;8358304 + 9289;66956;3581;3710;111348993;8425260 + 9290;66960;3581;3710;111348993;8425260 + 9291;66972;3581;3710;111348993;8425260 + 9292;66975;3581;3711;111348993;8492235 + 9293;66984;3581;3711;111348993;8492235 + 9294;66996;3581;3711;111348993;8492235 + 9295;66996;3581;3712;111348993;8559231 + 9296;67008;3581;3712;111348993;8559231 + 9297;67015;3581;3713;111348993;8626246 + 9298;67020;3581;3713;111348993;8626246 + 9299;67032;3581;3713;111348993;8626246 + 9300;67038;3581;3714;111348993;8693284 + 9301;67044;3581;3714;111348993;8693284 + 9302;67053;3581;3715;111348993;8760337 + 9303;67056;3581;3715;111348993;8760337 + 9304;67068;3581;3715;111348993;8760337 + 9305;67071;3581;3716;111348993;8827408 + 9306;67080;3581;3716;111348993;8827408 + 9307;67083;3581;3717;111348993;8894491 + 9308;67092;3581;3717;111348993;8894491 + 9309;67104;3581;3717;111348993;8894491 + 9310;67107;3581;3718;111348993;8961598 + 9311;67116;3581;3718;111348993;8961598 + 9312;67128;3581;3718;111348993;8961598 + 9313;67131;3581;3719;111348993;9028729 + 9314;67140;3581;3719;111348993;9028729 + 9315;67145;3584;3720;115380119;8901806 + 9316;67152;3584;3720;115380119;8901806 + 9317;67164;3584;3720;115380119;8901806 + 9318;67169;3584;3721;115380119;8968975 + 9319;67176;3584;3721;115380119;8968975 + 9320;67188;3584;3721;115380119;8968975 + 9321;67192;3592;3722;115498656;8517812 + 9322;67200;3592;3722;115498656;8517812 + 9323;67211;3592;3723;115498656;8585023 + 9324;67212;3592;3723;115498656;8585023 + 9325;67224;3592;3723;115498656;8585023 + 9326;67224;3592;3724;115498656;8652247 + 9327;67236;3592;3724;115498656;8652247 + 9328;67238;3592;3725;115498656;8719485 + 9329;67248;3592;3725;115498656;8719485 + 9330;67253;3592;3726;115498656;8786738 + 9331;67260;3592;3726;115498656;8786738 + 9332;67272;3592;3726;115498656;8786738 + 9333;67274;3592;3727;115498656;8854012 + 9334;67284;3592;3727;115498656;8854012 + 9335;67292;3592;3728;115498656;8921304 + 9336;67296;3592;3728;115498656;8921304 + 9337;67308;3592;3728;115498656;8921304 + 9338;67314;3592;3729;115498656;8988618 + 9339;67320;3592;3729;115498656;8988618 + 9340;67332;3592;3729;115498656;8988618 + 9341;67332;3599;3730;121425386;8601449 + 9342;67344;3599;3730;121425386;8601449 + 9343;67350;3599;3731;121425386;8668799 + 9344;67356;3599;3731;121425386;8668799 + 9345;67368;3599;3731;121425386;8668799 + 9346;67370;3604;3732;118424950;8410974 + 9347;67380;3604;3732;118424950;8410974 + 9348;67387;3604;3733;118424950;8478361 + 9349;67392;3604;3733;118424950;8478361 + 9350;67404;3604;3733;118424950;8478361 + 9351;67407;3604;3734;118424950;8545768 + 9352;67416;3604;3734;118424950;8545768 + 9353;67427;3604;3735;118424950;8613195 + 9354;67428;3604;3735;118424950;8613195 + 9355;67440;3604;3735;118424950;8613195 + 9356;67443;3604;3736;118424950;8680638 + 9357;67452;3604;3736;118424950;8680638 + 9358;67458;3604;3737;118424950;8748096 + 9359;67464;3604;3737;118424950;8748096 + 9360;67472;3604;3738;118424950;8815568 + 9361;67476;3604;3738;118424950;8815568 + 9362;67486;3604;3739;118424950;8883054 + 9363;67488;3604;3739;118424950;8883054 + 9364;67500;3604;3739;118424950;8883054 + 9365;67508;3604;3740;118424950;8950562 + 9366;67512;3604;3740;118424950;8950562 + 9367;67524;3604;3740;118424950;8950562 + 9368;67526;3606;3741;121600069;8887886 + 9369;67536;3606;3741;121600069;8887886 + 9370;67548;3606;3741;121600069;8887886 + 9371;67548;3606;3742;121600069;8955434 + 9372;67560;3606;3742;121600069;8955434 + 9373;67571;3611;3743;122200891;8697196 + 9374;67572;3611;3743;122200891;8697196 + 9375;67584;3612;3743;124165643;8631976 + 9376;67587;3622;3744;123546703;8046401 + 9377;67596;3622;3744;123546703;8046401 + 9378;67606;3624;3745;124634015;7983175 + 9379;67608;3624;3745;124634015;7983175 + 9380;67620;3624;3745;124634015;7983175 + 9381;67622;3624;3746;124634015;8050797 + 9382;67632;3624;3746;124634015;8050797 + 9383;67643;3624;3747;124634015;8118440 + 9384;67644;3624;3747;124634015;8118440 + 9385;67655;3624;3748;124634015;8186095 + 9386;67656;3624;3748;124634015;8186095 + 9387;67668;3624;3748;124634015;8186095 + 9388;67676;3624;3749;124634015;8253771 + 9389;67680;3624;3749;124634015;8253771 + 9390;67692;3624;3749;124634015;8253771 + 9391;67696;3624;3750;124634015;8321467 + 9392;67704;3624;3750;124634015;8321467 + 9393;67712;3624;3751;124634015;8389179 + 9394;67716;3624;3751;124634015;8389179 + 9395;67728;3624;3751;124634015;8389179 + 9396;67735;3624;3752;124634015;8456914 + 9397;67740;3624;3752;124634015;8456914 + 9398;67752;3624;3752;124634015;8456914 + 9399;67757;3628;3753;129659878;8262802 + 9400;67764;3628;3753;129659878;8262802 + 9401;67776;3633;3753;126759312;7935004 + 9402;67778;3633;3754;126759312;8002782 + 9403;67788;3633;3754;126759312;8002782 + 9404;67799;3633;3755;126759312;8070581 + 9405;67800;3633;3755;126759312;8070581 + 9406;67812;3633;3755;126759312;8070581 + 9407;67815;3633;3756;126759312;8138396 + 9408;67824;3633;3756;126759312;8138396 + 9409;67829;3633;3757;126759312;8206225 + 9410;67836;3633;3757;126759312;8206225 + 9411;67844;3633;3758;126759312;8274069 + 9412;67848;3633;3758;126759312;8274069 + 9413;67860;3633;3758;126759312;8274069 + 9414;67868;3633;3759;126759312;8341937 + 9415;67872;3633;3759;126759312;8341937 + 9416;67881;3633;3760;126759312;8409818 + 9417;67884;3633;3760;126759312;8409818 + 9418;67893;3633;3761;126759312;8477711 + 9419;67896;3633;3761;126759312;8477711 + 9420;67908;3633;3761;126759312;8477711 + 9421;67912;3633;3762;126759312;8545623 + 9422;67920;3633;3762;126759312;8545623 + 9423;67929;3633;3763;126759312;8613552 + 9424;67932;3633;3763;126759312;8613552 + 9425;67944;3633;3763;126759312;8613552 + 9426;67953;3633;3764;126759312;8681505 + 9427;67956;3633;3764;126759312;8681505 + 9428;67968;3633;3764;126759312;8681505 + 9429;67977;3633;3765;126759312;8749482 + 9430;67980;3633;3765;126759312;8749482 + 9431;67992;3633;3765;126759312;8749482 + 9432;67999;3633;3766;126759312;8817481 + 9433;68004;3633;3766;126759312;8817481 + 9434;68016;3633;3766;126759312;8817481 + 9435;68021;3633;3767;126759312;8885502 + 9436;68028;3633;3767;126759312;8885502 + 9437;68038;3633;3768;126759312;8953540 + 9438;68040;3633;3768;126759312;8953540 + 9439;68050;3633;3769;126759312;9021590 + 9440;68052;3633;3769;126759312;9021590 + 9441;68064;3633;3769;126759312;9021590 + 9442;68068;3638;3770;130886083;8761379 + 9443;68076;3638;3770;130886083;8761379 + 9444;68084;3638;3771;130886083;8829463 + 9445;68088;3638;3771;130886083;8829463 + 9446;68100;3638;3771;130886083;8829463 + 9447;68105;3644;3772;127630028;8502968 + 9448;68112;3644;3772;127630028;8502968 + 9449;68122;3644;3773;127630028;8571090 + 9450;68124;3644;3773;127630028;8571090 + 9451;68134;3644;3774;127630028;8639224 + 9452;68136;3644;3774;127630028;8639224 + 9453;68148;3644;3774;127630028;8639224 + 9454;68153;3644;3775;127630028;8707377 + 9455;68160;3644;3775;127630028;8707377 + 9456;68172;3647;3775;130028753;8509828 + 9457;68174;3647;3776;130028753;8578002 + 9458;68184;3647;3776;130028753;8578002 + 9459;68195;3647;3777;130028753;8646197 + 9460;68196;3647;3777;130028753;8646197 + 9461;68208;3647;3777;130028753;8646197 + 9462;68215;3647;3778;130028753;8714412 + 9463;68220;3647;3778;130028753;8714412 + 9464;68231;3647;3779;130028753;8782643 + 9465;68232;3647;3779;130028753;8782643 + 9466;68244;3647;3779;130028753;8782643 + 9467;68254;3647;3780;130028753;8850897 + 9468;68256;3647;3780;130028753;8850897 + 9469;68268;3647;3780;130028753;8850897 + 9470;68270;3647;3781;130028753;8919167 + 9471;68280;3647;3781;130028753;8919167 + 9472;68292;3647;3781;130028753;8919167 + 9473;68294;3647;3782;130028753;8987461 + 9474;68304;3647;3782;130028753;8987461 + 9475;68311;3647;3783;130028753;9055772 + 9476;68316;3647;3783;130028753;9055772 + 9477;68328;3647;3783;130028753;9055772 + 9478;68328;3657;3784;130403142;8464504 + 9479;68340;3659;3784;131681440;8332366 + 9480;68346;3659;3785;131681440;8400712 + 9481;68352;3659;3785;131681440;8400712 + 9482;68360;3659;3786;131681440;8469072 + 9483;68364;3659;3786;131681440;8469072 + 9484;68376;3659;3786;131681440;8469072 + 9485;68380;3659;3787;131681440;8537452 + 9486;68388;3659;3787;131681440;8537452 + 9487;68392;3659;3788;131681440;8605844 + 9488;68400;3659;3788;131681440;8605844 + 9489;68408;3659;3789;131681440;8674252 + 9490;68412;3659;3789;131681440;8674252 + 9491;68424;3659;3789;131681440;8674252 + 9492;68428;3664;3790;127739287;8411974 + 9493;68436;3664;3790;127739287;8411974 + 9494;68445;3664;3791;127739287;8480419 + 9495;68448;3664;3791;127739287;8480419 + 9496;68460;3664;3791;127739287;8480419 + 9497;68461;3664;3792;127739287;8548880 + 9498;68472;3664;3792;127739287;8548880 + 9499;68482;3664;3793;127739287;8617362 + 9500;68484;3664;3793;127739287;8617362 + 9501;68496;3664;3793;127739287;8617362 + 9502;68496;3664;3794;127739287;8685858 + 9503;68508;3664;3794;127739287;8685858 + 9504;68513;3664;3795;127739287;8754371 + 9505;68520;3664;3795;127739287;8754371 + 9506;68532;3664;3795;127739287;8754371 + 9507;68536;3664;3796;127739287;8822907 + 9508;68544;3664;3796;127739287;8822907 + 9509;68551;3664;3797;127739287;8891458 + 9510;68556;3664;3797;127739287;8891458 + 9511;68567;3664;3798;127739287;8960025 + 9512;68568;3664;3798;127739287;8960025 + 9513;68580;3664;3798;127739287;8960025 + 9514;68588;3664;3799;127739287;9028613 + 9515;68592;3664;3799;127739287;9028613 + 9516;68604;3664;3799;127739287;9028613 + 9517;68610;3664;3800;127739287;9097223 + 9518;68616;3664;3800;127739287;9097223 + 9519;68628;3664;3800;127739287;9097223 + 9520;68633;3664;3801;127739287;9165856 + 9521;68640;3664;3801;127739287;9165856 + 9522;68652;3664;3801;127739287;9165856 + 9523;68652;3664;3802;127739287;9234508 + 9524;68664;3664;3802;127739287;9234508 + 9525;68668;3672;3803;122096369;8773158 + 9526;68676;3672;3803;122096369;8773158 + 9527;68682;3684;3804;117975873;8044889 + 9528;68688;3684;3804;117975873;8044889 + 9529;68698;3684;3805;117975873;8113587 + 9530;68700;3684;3805;117975873;8113587 + 9531;68712;3684;3805;117975873;8113587 + 9532;68722;3684;3806;117975873;8182309 + 9533;68724;3684;3806;117975873;8182309 + 9534;68735;3684;3807;117975873;8251044 + 9535;68736;3684;3807;117975873;8251044 + 9536;68747;3684;3808;117975873;8319791 + 9537;68748;3684;3808;117975873;8319791 + 9538;68760;3684;3808;117975873;8319791 + 9539;68765;3684;3809;117975873;8388556 + 9540;68772;3684;3809;117975873;8388556 + 9541;68784;3684;3809;117975873;8388556 + 9542;68784;3684;3810;117975873;8457340 + 9543;68796;3684;3810;117975873;8457340 + 9544;68808;3684;3810;117975873;8457340 + 9545;68808;3684;3811;117975873;8526148 + 9546;68820;3684;3811;117975873;8526148 + 9547;68821;3684;3812;117975873;8594969 + 9548;68832;3691;3812;115902594;8128918 + 9549;68833;3691;3813;115902594;8197751 + 9550;68844;3691;3813;115902594;8197751 + 9551;68849;3691;3814;115902594;8266600 + 9552;68856;3691;3814;115902594;8266600 + 9553;68865;3691;3815;115902594;8335465 + 9554;68868;3691;3815;115902594;8335465 + 9555;68880;3691;3815;115902594;8335465 + 9556;68888;3691;3816;115902594;8404353 + 9557;68892;3691;3816;115902594;8404353 + 9558;68902;3694;3817;116296002;8273278 + 9559;68904;3694;3817;116296002;8273278 + 9560;68916;3694;3817;116296002;8273278 + 9561;68918;3694;3818;116296002;8342196 + 9562;68928;3694;3818;116296002;8342196 + 9563;68940;3694;3818;116296002;8342196 + 9564;68941;3694;3819;116296002;8411137 + 9565;68952;3694;3819;116296002;8411137 + 9566;68961;3694;3820;116296002;8480098 + 9567;68964;3694;3820;116296002;8480098 + 9568;68976;3694;3820;116296002;8480098 + 9569;68979;3694;3821;116296002;8549077 + 9570;68988;3694;3821;116296002;8549077 + 9571;69000;3694;3821;116296002;8549077 + 9572;69001;3694;3822;116296002;8618078 + 9573;69012;3694;3822;116296002;8618078 + 9574;69023;3694;3823;116296002;8687101 + 9575;69024;3694;3823;116296002;8687101 + 9576;69036;3694;3823;116296002;8687101 + 9577;69046;3694;3824;116296002;8756147 + 9578;69048;3694;3824;116296002;8756147 + 9579;69060;3694;3824;116296002;8756147 + 9580;69067;3694;3825;116296002;8825214 + 9581;69072;3694;3825;116296002;8825214 + 9582;69083;3701;3826;110892583;8427048 + 9583;69084;3701;3826;110892583;8427048 + 9584;69096;3701;3826;110892583;8427048 + 9585;69105;3701;3827;110892583;8496153 + 9586;69108;3701;3827;110892583;8496153 + 9587;69120;3701;3827;110892583;8496153 + 9588;69120;3701;3828;110892583;8565273 + 9589;69132;3701;3828;110892583;8565273 + 9590;69134;3701;3829;110892583;8634407 + 9591;69144;3701;3829;110892583;8634407 + 9592;69155;3701;3830;110892583;8703562 + 9593;69156;3701;3830;110892583;8703562 + 9594;69168;3701;3830;110892583;8703562 + 9595;69179;3701;3831;110892583;8772741 + 9596;69180;3701;3831;110892583;8772741 + 9597;69191;3701;3832;110892583;8841932 + 9598;69192;3701;3832;110892583;8841932 + 9599;69204;3701;3832;110892583;8841932 + 9600;69214;3711;3833;107808692;8242040 + 9601;69216;3711;3833;107808692;8242040 + 9602;69228;3711;3833;107808692;8242040 + 9603;69236;3711;3834;107808692;8311276 + 9604;69240;3711;3834;107808692;8311276 + 9605;69252;3711;3834;107808692;8311276 + 9606;69252;3711;3835;107808692;8380528 + 9607;69264;3711;3835;107808692;8380528 + 9608;69272;3711;3836;107808692;8449800 + 9609;69276;3711;3836;107808692;8449800 + 9610;69288;3711;3836;107808692;8449800 + 9611;69296;3711;3837;107808692;8519096 + 9612;69300;3711;3837;107808692;8519096 + 9613;69312;3711;3837;107808692;8519096 + 9614;69320;3711;3838;107808692;8588416 + 9615;69324;3711;3838;107808692;8588416 + 9616;69336;3711;3838;107808692;8588416 + 9617;69338;3711;3839;107808692;8657754 + 9618;69348;3711;3839;107808692;8657754 + 9619;69360;3711;3839;107808692;8657754 + 9620;69362;3713;3840;108805901;8593063 + 9621;69372;3713;3840;108805901;8593063 + 9622;69377;3713;3841;108805901;8662440 + 9623;69384;3713;3841;108805901;8662440 + 9624;69389;3713;3842;108805901;8731829 + 9625;69396;3713;3842;108805901;8731829 + 9626;69406;3713;3843;108805901;8801235 + 9627;69408;3713;3843;108805901;8801235 + 9628;69420;3713;3843;108805901;8801235 + 9629;69424;3713;3844;108805901;8870659 + 9630;69432;3713;3844;108805901;8870659 + 9631;69444;3713;3844;108805901;8870659 + 9632;69444;3713;3845;108805901;8940103 + 9633;69456;3713;3845;108805901;8940103 + 9634;69456;3713;3846;108805901;9009559 + 9635;69468;3713;3846;108805901;9009559 + 9636;69472;3713;3847;108805901;9079031 + 9637;69480;3713;3847;108805901;9079031 + 9638;69491;3713;3848;108805901;9148522 + 9639;69492;3713;3848;108805901;9148522 + 9640;69504;3713;3848;108805901;9148522 + 9641;69513;3713;3849;108805901;9218035 + 9642;69516;3713;3849;108805901;9218035 + 9643;69528;3713;3849;108805901;9218035 + 9644;69528;3718;3850;109962783;8952118 + 9645;69540;3718;3850;109962783;8952118 + 9646;69550;3719;3851;111895336;8954523 + 9647;69552;3719;3851;111895336;8954523 + 9648;69564;3719;3851;111895336;8954523 + 9649;69573;3719;3852;111895336;9024096 + 9650;69576;3719;3852;111895336;9024096 + 9651;69586;3719;3853;111895336;9093682 + 9652;69588;3719;3853;111895336;9093682 + 9653;69600;3719;3853;111895336;9093682 + 9654;69600;3719;3854;111895336;9163282 + 9655;69612;3719;3854;111895336;9163282 + 9656;69617;3719;3855;111895336;9232899 + 9657;69624;3719;3855;111895336;9232899 + 9658;69636;3719;3855;111895336;9232899 + 9659;69638;3721;3856;107646452;9168176 + 9660;69648;3721;3856;107646452;9168176 + 9661;69656;3721;3857;107646452;9237832 + 9662;69660;3721;3857;107646452;9237832 + 9663;69672;3724;3857;109974075;9036159 + 9664;69676;3724;3858;109974075;9105835 + 9665;69684;3724;3858;109974075;9105835 + 9666;69696;3724;3858;109974075;9105835 + 9667;69700;3724;3859;109974075;9175535 + 9668;69708;3724;3859;109974075;9175535 + 9669;69720;3724;3859;109974075;9175535 + 9670;69724;3726;3860;112336646;9110732 + 9671;69732;3726;3860;112336646;9110732 + 9672;69744;3726;3860;112336646;9110732 + 9673;69747;3729;3861;114934720;8978541 + 9674;69756;3729;3861;114934720;8978541 + 9675;69763;3729;3862;114934720;9048304 + 9676;69768;3729;3862;114934720;9048304 + 9677;69780;3729;3862;114934720;9048304 + 9678;69784;3729;3863;114934720;9118088 + 9679;69792;3729;3863;114934720;9118088 + 9680;69804;3729;3863;114934720;9118088 + 9681;69804;3735;3864;113461143;8783508 + 9682;69816;3735;3864;113461143;8783508 + 9683;69823;3735;3865;113461143;8853331 + 9684;69828;3735;3865;113461143;8853331 + 9685;69840;3735;3865;113461143;8853331 + 9686;69845;3735;3866;113461143;8923176 + 9687;69852;3735;3866;113461143;8923176 + 9688;69864;3735;3866;113461143;8923176 + 9689;69864;3735;3867;113461143;8993040 + 9690;69876;3735;3867;113461143;8993040 + 9691;69880;3735;3868;113461143;9062920 + 9692;69888;3735;3868;113461143;9062920 + 9693;69900;3735;3868;113461143;9062920 + 9694;69904;3735;3869;113461143;9132824 + 9695;69912;3735;3869;113461143;9132824 + 9696;69923;3741;3870;110234110;8797749 + 9697;69924;3741;3870;110234110;8797749 + 9698;69936;3741;3870;110234110;8797749 + 9699;69938;3741;3871;110234110;8867687 + 9700;69948;3741;3871;110234110;8867687 + 9701;69957;3741;3872;110234110;8937644 + 9702;69960;3741;3872;110234110;8937644 + 9703;69972;3741;3872;110234110;8937644 + 9704;69977;3741;3873;110234110;9007621 + 9705;69984;3741;3873;110234110;9007621 + 9706;69996;3748;3873;115206484;8534261 + 9707;69996;3748;3874;115206484;8604257 + 9708;70008;3748;3874;115206484;8604257 + 9709;70017;3748;3875;115206484;8674274 + 9710;70020;3748;3875;115206484;8674274 + 9711;70029;3748;3876;115206484;8744303 + 9712;70032;3748;3876;115206484;8744303 + 9713;70042;3748;3877;115206484;8814345 + 9714;70044;3748;3877;115206484;8814345 + 9715;70056;3758;3877;113042496;8136512 + 9716;70065;3758;3878;113042496;8206577 + 9717;70068;3758;3878;113042496;8206577 + 9718;70079;3758;3879;113042496;8276656 + 9719;70080;3758;3879;113042496;8276656 + 9720;70092;3758;3879;113042496;8276656 + 9721;70092;3758;3880;113042496;8346748 + 9722;70104;3758;3880;113042496;8346748 + 9723;70106;3758;3881;113042496;8416854 + 9724;70116;3758;3881;113042496;8416854 + 9725;70125;3762;3882;107878826;8215364 + 9726;70128;3762;3882;107878826;8215364 + 9727;70140;3762;3882;107878826;8215364 + 9728;70143;3762;3883;107878826;8285507 + 9729;70152;3762;3883;107878826;8285507 + 9730;70164;3762;3883;107878826;8285507 + 9731;70165;3762;3884;107878826;8355672 + 9732;70176;3762;3884;107878826;8355672 + 9733;70180;3765;3885;109932677;8221923 + 9734;70188;3765;3885;109932677;8221923 + 9735;70200;3765;3885;109932677;8221923 + 9736;70204;3765;3886;109932677;8292127 + 9737;70212;3765;3886;109932677;8292127 + 9738;70223;3765;3887;109932677;8362350 + 9739;70224;3765;3887;109932677;8362350 + 9740;70236;3765;3887;109932677;8362350 + 9741;70239;3765;3888;109932677;8432589 + 9742;70248;3765;3888;109932677;8432589 + 9743;70254;3765;3889;109932677;8502843 + 9744;70260;3765;3889;109932677;8502843 + 9745;70272;3765;3889;109932677;8502843 + 9746;70277;3765;3890;109932677;8573120 + 9747;70284;3765;3890;109932677;8573120 + 9748;70290;3765;3891;109932677;8643410 + 9749;70296;3765;3891;109932677;8643410 + 9750;70308;3765;3891;109932677;8643410 + 9751;70308;3765;3892;109932677;8713718 + 9752;70320;3765;3892;109932677;8713718 + 9753;70320;3765;3893;109932677;8784038 + 9754;70332;3765;3893;109932677;8784038 + 9755;70344;3765;3893;109932677;8784038 + 9756;70344;3765;3894;109932677;8854382 + 9757;70356;3765;3894;109932677;8854382 + 9758;70366;3765;3895;109932677;8924748 + 9759;70368;3765;3895;109932677;8924748 + 9760;70380;3765;3895;109932677;8924748 + 9761;70384;3768;3896;113271010;8791023 + 9762;70392;3768;3896;113271010;8791023 + 9763;70404;3768;3896;113271010;8791023 + 9764;70408;3768;3897;113271010;8861431 + 9765;70416;3768;3897;113271010;8861431 + 9766;70424;3768;3898;113271010;8931855 + 9767;70428;3768;3898;113271010;8931855 + 9768;70440;3768;3898;113271010;8931855 + 9769;70445;3768;3899;113271010;9002300 + 9770;70452;3768;3899;113271010;9002300 + 9771;70464;3768;3899;113271010;9002300 + 9772;70467;3768;3900;113271010;9072767 + 9773;70476;3768;3900;113271010;9072767 + 9774;70488;3768;3900;113271010;9072767 + 9775;70488;3768;3901;113271010;9143255 + 9776;70500;3768;3901;113271010;9143255 + 9777;70512;3777;3901;108564098;8530005 + 9778;70512;3777;3902;108564098;8600517 + 9779;70524;3777;3902;108564098;8600517 + 9780;70536;3777;3902;108564098;8600517 + 9781;70536;3777;3903;108564098;8671053 + 9782;70548;3777;3903;108564098;8671053 + 9783;70551;3783;3904;105234737;8331916 + 9784;70560;3783;3904;105234737;8331916 + 9785;70566;3783;3905;105234737;8402482 + 9786;70572;3783;3905;105234737;8402482 + 9787;70578;3783;3906;105234737;8473060 + 9788;70584;3783;3906;105234737;8473060 + 9789;70592;3783;3907;105234737;8543652 + 9790;70596;3783;3907;105234737;8543652 + 9791;70606;3783;3908;105234737;8614258 + 9792;70608;3783;3908;105234737;8614258 + 9793;70620;3783;3908;105234737;8614258 + 9794;70627;3783;3909;105234737;8684885 + 9795;70632;3783;3909;105234737;8684885 + 9796;70644;3783;3909;105234737;8684885 + 9797;70650;3783;3910;105234737;8755535 + 9798;70656;3783;3910;105234737;8755535 + 9799;70668;3783;3910;105234737;8755535 + 9800;70670;3783;3911;105234737;8826205 + 9801;70680;3783;3911;105234737;8826205 + 9802;70683;3783;3912;105234737;8896888 + 9803;70692;3783;3912;105234737;8896888 + 9804;70697;3783;3913;105234737;8967585 + 9805;70704;3783;3913;105234737;8967585 + 9806;70716;3783;3913;105234737;8967585 + 9807;70721;3783;3914;105234737;9038306 + 9808;70728;3783;3914;105234737;9038306 + 9809;70739;3783;3915;105234737;9109045 + 9810;70740;3783;3915;105234737;9109045 + 9811;70752;3792;3915;104864389;8493343 + 9812;70762;3792;3916;104864389;8564105 + 9813;70764;3792;3916;104864389;8564105 + 9814;70776;3792;3916;104864389;8564105 + 9815;70776;3792;3917;104864389;8634881 + 9816;70788;3792;3917;104864389;8634881 + 9817;70795;3792;3918;104864389;8705676 + 9818;70800;3792;3918;104864389;8705676 + 9819;70812;3792;3918;104864389;8705676 + 9820;70815;3792;3919;104864389;8776491 + 9821;70824;3792;3919;104864389;8776491 + 9822;70836;3792;3919;104864389;8776491 + 9823;70838;3792;3920;104864389;8847329 + 9824;70848;3792;3920;104864389;8847329 + 9825;70858;3792;3921;104864389;8918187 + 9826;70860;3792;3921;104864389;8918187 + 9827;70872;3792;3921;104864389;8918187 + 9828;70877;3802;3922;102585205;8303250 + 9829;70884;3805;3922;102922841;8097148 + 9830;70893;3805;3923;102922841;8168041 + 9831;70896;3805;3923;102922841;8168041 + 9832;70908;3805;3923;102922841;8168041 + 9833;70911;3805;3924;102922841;8238952 + 9834;70920;3805;3924;102922841;8238952 + 9835;70932;3805;3924;102922841;8238952 + 9836;70935;3805;3925;102922841;8309887 + 9837;70944;3805;3925;102922841;8309887 + 9838;70956;3805;3925;102922841;8309887 + 9839;70959;3805;3926;102922841;8380846 + 9840;70968;3805;3926;102922841;8380846 + 9841;70976;3805;3927;102922841;8451822 + 9842;70980;3805;3927;102922841;8451822 + 9843;70988;3805;3928;102922841;8522810 + 9844;70992;3805;3928;102922841;8522810 + 9845;71002;3805;3929;102922841;8593812 + 9846;71004;3805;3929;102922841;8593812 + 9847;71016;3805;3929;102922841;8593812 + 9848;71016;3805;3930;102922841;8664828 + 9849;71028;3805;3930;102922841;8664828 + 9850;71033;3805;3931;102922841;8735861 + 9851;71040;3805;3931;102922841;8735861 + 9852;71046;3805;3932;102922841;8806907 + 9853;71052;3805;3932;102922841;8806907 + 9854;71064;3805;3932;102922841;8806907 + 9855;71067;3805;3933;102922841;8877974 + 9856;71076;3805;3933;102922841;8877974 + 9857;71079;3805;3934;102922841;8949053 + 9858;71088;3805;3934;102922841;8949053 + 9859;71100;3805;3934;102922841;8949053 + 9860;71101;3805;3935;102922841;9020154 + 9861;71112;3805;3935;102922841;9020154 + 9862;71117;3805;3936;102922841;9091271 + 9863;71124;3805;3936;102922841;9091271 + 9864;71132;3815;3937;101899300;8474308 + 9865;71136;3815;3937;101899300;8474308 + 9866;71144;3819;3938;102388762;8269730 + 9867;71148;3819;3938;102388762;8269730 + 9868;71157;3819;3939;102388762;8340887 + 9869;71160;3819;3939;102388762;8340887 + 9870;71172;3819;3939;102388762;8340887 + 9871;71172;3819;3940;102388762;8412059 + 9872;71184;3819;3940;102388762;8412059 + 9873;71188;3819;3941;102388762;8483247 + 9874;71196;3819;3941;102388762;8483247 + 9875;71208;3819;3941;102388762;8483247 + 9876;71208;3819;3942;102388762;8554455 + 9877;71220;3819;3942;102388762;8554455 + 9878;71221;3819;3943;102388762;8625676 + 9879;71232;3819;3943;102388762;8625676 + 9880;71244;3819;3943;102388762;8625676 + 9881;71244;3819;3944;102388762;8696920 + 9882;71256;3819;3944;102388762;8696920 + 9883;71259;3819;3945;102388762;8768179 + 9884;71268;3819;3945;102388762;8768179 + 9885;71275;3819;3946;102388762;8839454 + 9886;71280;3819;3946;102388762;8839454 + 9887;71291;3819;3947;102388762;8910745 + 9888;71292;3819;3947;102388762;8910745 + 9889;71303;3819;3948;102388762;8982048 + 9890;71304;3819;3948;102388762;8982048 + 9891;71316;3819;3948;102388762;8982048 + 9892;71324;3819;3949;102388762;9053372 + 9893;71328;3819;3949;102388762;9053372 + 9894;71340;3819;3949;102388762;9053372 + 9895;71342;3819;3950;102388762;9124714 + 9896;71352;3819;3950;102388762;9124714 + 9897;71361;3819;3951;102388762;9196075 + 9898;71364;3819;3951;102388762;9196075 + 9899;71376;3819;3951;102388762;9196075 + 9900;71376;3819;3952;102388762;9267451 + 9901;71388;3827;3952;101906276;8715027 + 9902;71395;3827;3953;101906276;8786422 + 9903;71400;3827;3953;101906276;8786422 + 9904;71408;3827;3954;101906276;8857830 + 9905;71412;3827;3954;101906276;8857830 + 9906;71422;3828;3955;103289868;8860118 + 9907;71424;3828;3955;103289868;8860118 + 9908;71436;3828;3955;103289868;8860118 + 9909;71436;3828;3956;103289868;8931554 + 9910;71448;3828;3956;103289868;8931554 + 9911;71450;3828;3957;103289868;9003004 + 9912;71460;3828;3957;103289868;9003004 + 9913;71468;3828;3958;103289868;9074472 + 9914;71472;3828;3958;103289868;9074472 + 9915;71480;3828;3959;103289868;9145952 + 9916;71484;3828;3959;103289868;9145952 + 9917;71496;3828;3959;103289868;9145952 + 9918;71497;3828;3960;103289868;9217449 + 9919;71508;3828;3960;103289868;9217449 + 9920;71519;3828;3961;103289868;9288968 + 9921;71520;3828;3961;103289868;9288968 + 9922;71532;3828;3961;103289868;9288968 + 9923;71543;3843;3962;97068391;8321100 + 9924;71544;3843;3962;97068391;8321100 + 9925;71556;3843;3962;97068391;8321100 + 9926;71563;3843;3963;97068391;8392663 + 9927;71568;3843;3963;97068391;8392663 + 9928;71579;3843;3964;97068391;8464242 + 9929;71580;3843;3964;97068391;8464242 + 9930;71592;3843;3964;97068391;8464242 + 9931;71598;3843;3965;97068391;8535840 + 9932;71604;3843;3965;97068391;8535840 + 9933;71615;3843;3966;97068391;8607455 + 9934;71616;3843;3966;97068391;8607455 + 9935;71628;3843;3966;97068391;8607455 + 9936;71638;3843;3967;97068391;8679093 + 9937;71640;3843;3967;97068391;8679093 + 9938;71652;3843;3967;97068391;8679093 + 9939;71653;3843;3968;97068391;8750746 + 9940;71664;3843;3968;97068391;8750746 + 9941;71673;3843;3969;97068391;8822419 + 9942;71676;3843;3969;97068391;8822419 + 9943;71688;3843;3969;97068391;8822419 + 9944;71691;3843;3970;97068391;8894110 + 9945;71700;3843;3970;97068391;8894110 + 9946;71708;3843;3971;97068391;8965818 + 9947;71712;3843;3971;97068391;8965818 + 9948;71724;3843;3971;97068391;8965818 + 9949;71724;3843;3972;97068391;9037542 + 9950;71736;3843;3972;97068391;9037542 + 9951;71745;3843;3973;97068391;9109287 + 9952;71748;3843;3973;97068391;9109287 + 9953;71760;3843;3973;97068391;9109287 + 9954;71765;3845;3974;99001105;9042152 + 9955;71772;3845;3974;99001105;9042152 + 9956;71783;3845;3975;99001105;9113935 + 9957;71784;3845;3975;99001105;9113935 + 9958;71796;3845;3975;99001105;9113935 + 9959;71799;3845;3976;99001105;9185734 + 9960;71808;3845;3976;99001105;9185734 + 9961;71814;3845;3977;99001105;9257548 + 9962;71820;3845;3977;99001105;9257548 + 9963;71829;3845;3978;99001105;9329377 + 9964;71832;3845;3978;99001105;9329377 + 9965;71844;3845;3978;99001105;9329377 + 9966;71845;3845;3979;99001105;9401222 + 9967;71856;3845;3979;99001105;9401222 + 9968;71862;3845;3980;99001105;9473084 + 9969;71868;3845;3980;99001105;9473084 + 9970;71876;3845;3981;99001105;9544960 + 9971;71880;3845;3981;99001105;9544960 + 9972;71892;3845;3981;99001105;9544960 + 9973;71897;3845;3982;99001105;9616857 + 9974;71904;3845;3982;99001105;9616857 + 9975;71911;3845;3983;99001105;9688768 + 9976;71916;3845;3983;99001105;9688768 + 9977;71928;3845;3983;99001105;9688768 + 9978;71935;3848;3984;103395984;9552227 + 9979;71940;3848;3984;103395984;9552227 + 9980;71949;3848;3985;103395984;9624176 + 9981;71952;3848;3985;103395984;9624176 + 9982;71964;3848;3985;103395984;9624176 + 9983;71970;3858;3986;105241941;9000022 + 9984;71976;3858;3986;105241941;9000022 + 9985;71985;3867;3987;100400222;8443773 + 9986;71988;3867;3987;100400222;8443773 + 9987;71997;3867;3988;100400222;8515770 + 9988;72000;3867;3988;100400222;8515770 + 9989;72012;3867;3988;100400222;8515770 + 9990;72017;3867;3989;100400222;8587787 + 9991;72024;3867;3989;100400222;8587787 + 9992;72029;3867;3990;100400222;8659816 + 9993;72036;3867;3990;100400222;8659816 + 9994;72048;3867;3990;100400222;8659816 + 9995;72048;3867;3991;100400222;8731864 + 9996;72060;3867;3991;100400222;8731864 + 9997;72072;3867;3991;100400222;8731864 + 9998;72072;3867;3992;100400222;8803936 + 9999;72084;3867;3992;100400222;8803936 + 10000;72094;3867;3993;100400222;8876030 + 10001;72096;3867;3993;100400222;8876030 + 10002;72107;3867;3994;100400222;8948137 + 10003;72108;3867;3994;100400222;8948137 + 10004;72119;3867;3995;100400222;9020256 + 10005;72120;3867;3995;100400222;9020256 + 10006;72132;3867;3995;100400222;9020256 + 10007;72135;3867;3996;100400222;9092391 + 10008;72144;3867;3996;100400222;9092391 + 10009;72156;3867;3996;100400222;9092391 + 10010;72158;3867;3997;100400222;9164549 + 10011;72168;3867;3997;100400222;9164549 + 10012;72178;3867;3998;100400222;9236727 + 10013;72180;3867;3998;100400222;9236727 + 10014;72192;3867;3998;100400222;9236727 + 10015;72202;3867;3999;100400222;9308929 + 10016;72204;3867;3999;100400222;9308929 + 10017;72216;3867;3999;100400222;9308929 + 10018;72217;3867;4000;100400222;9381146 + 10019;72228;3867;4000;100400222;9381146 + 10020;72229;3867;4001;100400222;9453375 + 10021;72240;3867;4001;100400222;9453375 + 10022;72252;3867;4001;100400222;9453375 + 10023;72264;3872;4001;99241988;9103676 + 10024;72276;3872;4001;99241988;9103676 + 10025;72288;3872;4001;99241988;9103676 + 10026;72300;3872;4001;99241988;9103676 + 10027;72312;3872;4001;99241988;9103676 + 10028;72324;3872;4001;99241988;9103676 + 10029;72336;3877;4001;101826083;8753527 + 10030;72348;3877;4001;101826083;8753527 + 10031;72360;3877;4001;101826083;8753527 + 10032;72372;3877;4001;101826083;8753527 + 10033;72384;3877;4001;101826083;8753527 + 10034;72396;3877;4001;101826083;8753527 + 10035;72408;3877;4001;101826083;8753527 + 10036;72420;3877;4001;101826083;8753527 + 10037;72432;3877;4001;101826083;8753527 + 10038;72444;3877;4001;101826083;8753527 + 10039;72456;3877;4001;101826083;8753527 + 10040;72468;3877;4001;101826083;8753527 + 10041;72480;3877;4001;101826083;8753527 + 10042;72492;3877;4001;101826083;8753527 + 10043;72504;3877;4001;101826083;8753527 + 10044;72516;3877;4001;101826083;8753527 + 10045;72528;3892;4001;98382931;7700522 + 10046;72540;3892;4001;98382931;7700522 + 10047;72552;3892;4001;98382931;7700522 + 10048;72564;3892;4001;98382931;7700522 + 10049;72576;3892;4001;98382931;7700522 + 10050;72588;3892;4001;98382931;7700522 + 10051;72600;3899;4001;99072291;7207684 + 10052;72612;3899;4001;99072291;7207684 + 10053;72624;3899;4001;99072291;7207684 + 10054;72636;3899;4001;99072291;7207684 + 10055;72648;3899;4001;99072291;7207684 + 10056;72660;3899;4001;99072291;7207684 + 10057;72672;3899;4001;99072291;7207684 + 10058;72684;3899;4001;99072291;7207684 + 10059;72696;3899;4001;99072291;7207684 + 10060;72708;3899;4001;99072291;7207684 + 10061;72720;3899;4001;99072291;7207684 + 10062;72732;3899;4001;99072291;7207684 + 10063;72744;3899;4001;99072291;7207684 + 10064;72756;3899;4001;99072291;7207684 + 10065;72768;3899;4001;99072291;7207684 + 10066;72780;3899;4001;99072291;7207684 + 10067;72792;3899;4001;99072291;7207684 + 10068;72804;3899;4001;99072291;7207684 + 10069;72816;3899;4001;99072291;7207684 + 10070;72828;3899;4001;99072291;7207684 + 10071;72840;3899;4001;99072291;7207684 + 10072;72852;3899;4001;99072291;7207684 + 10073;72864;3899;4001;99072291;7207684 + 10074;72876;3902;4001;95928891;6996148 + 10075;72888;3902;4001;95928891;6996148 + 10076;72900;3902;4001;95928891;6996148 + 10077;72912;3902;4001;95928891;6996148 + 10078;72924;3902;4001;95928891;6996148 + 10079;72936;3902;4001;95928891;6996148 + 10080;72948;3902;4001;95928891;6996148 + 10081;72960;3902;4001;95928891;6996148 + 10082;72972;3902;4001;95928891;6996148 + 10083;72984;3902;4001;95928891;6996148 + 10084;72996;3902;4001;95928891;6996148 + 10085;73008;3902;4001;95928891;6996148 + 10086;73020;3902;4001;95928891;6996148 + 10087;73032;3902;4001;95928891;6996148 + 10088;73044;3909;4001;103782457;6501978 + 10089;73056;3909;4001;103782457;6501978 + 10090;73068;3909;4001;103782457;6501978 + 10091;73080;3909;4001;103782457;6501978 + 10092;73092;3909;4001;103782457;6501978 + 10093;73104;3909;4001;103782457;6501978 + 10094;73116;3913;4001;100923929;6219207 + 10095;73128;3913;4001;100923929;6219207 + 10096;73140;3913;4001;100923929;6219207 + 10097;73152;3913;4001;100923929;6219207 + 10098;73164;3913;4001;100923929;6219207 + 10099;73176;3913;4001;100923929;6219207 + 10100;73188;3913;4001;100923929;6219207 + 10101;73200;3916;4001;103420760;6006930 + 10102;73212;3916;4001;103420760;6006930 + 10103;73224;3916;4001;103420760;6006930 + 10104;73236;3916;4001;103420760;6006930 + 10105;73248;3916;4001;103420760;6006930 + 10106;73260;3916;4001;103420760;6006930 + 10107;73272;3925;4001;101575451;5369049 + 10108;73284;3925;4001;101575451;5369049 + 10109;73296;3925;4001;101575451;5369049 + 10110;73308;3925;4001;101575451;5369049 + 10111;73320;3927;4001;103378290;5227085 + 10112;73332;3927;4001;103378290;5227085 + 10113;73344;3927;4001;103378290;5227085 + 10114;73356;3927;4001;103378290;5227085 + 10115;73368;3927;4001;103378290;5227085 + 10116;73380;3927;4001;103378290;5227085 + 10117;73392;3927;4001;103378290;5227085 + 10118;73404;3927;4001;103378290;5227085 + 10119;73416;3927;4001;103378290;5227085 + 10120;73428;3929;4001;105490787;5085067 + 10121;73440;3929;4001;105490787;5085067 + 10122;73452;3929;4001;105490787;5085067 + 10123;73464;3929;4001;105490787;5085067 + 10124;73476;3929;4001;105490787;5085067 + 10125;73488;3929;4001;105490787;5085067 + 10126;73500;3929;4001;105490787;5085067 + 10127;73512;3938;4001;103247452;4445191 + 10128;73524;3938;4001;103247452;4445191 + 10129;73536;3938;4001;103247452;4445191 + 10130;73548;3938;4001;103247452;4445191 + 10131;73560;3938;4001;103247452;4445191 + 10132;73572;3938;4001;103247452;4445191 + 10133;73584;3938;4001;103247452;4445191 + 10134;73596;3938;4001;103247452;4445191 + 10135;73608;3938;4001;103247452;4445191 + 10136;73620;3948;4001;102644914;3732706 + 10137;73632;3948;4001;102644914;3732706 + 10138;73644;3948;4001;102644914;3732706 + 10139;73656;3948;4001;102644914;3732706 + 10140;73668;3948;4001;102644914;3732706 + 10141;73680;3948;4001;102644914;3732706 + 10142;73692;3948;4001;102644914;3732706 + 10143;73704;3953;4001;97168115;3375824 + 10144;73716;3953;4001;97168115;3375824 + 10145;73728;3953;4001;97168115;3375824 + 10146;73740;3953;4001;97168115;3375824 + 10147;73752;3953;4001;97168115;3375824 + 10148;73764;3953;4001;97168115;3375824 + 10149;73776;3953;4001;97168115;3375824 + 10150;73788;3953;4001;97168115;3375824 + 10151;73800;3953;4001;97168115;3375824 + 10152;73812;3953;4001;97168115;3375824 + 10153;73824;3953;4001;97168115;3375824 + 10154;73836;3963;4001;99194444;2660867 + 10155;73848;3965;4001;100637620;2517654 + 10156;73860;3965;4001;100637620;2517654 + 10157;73872;3965;4001;100637620;2517654 + 10158;73884;3965;4001;100637620;2517654 + 10159;73896;3965;4001;100637620;2517654 + 10160;73908;3969;4001;102423814;2230999 + 10161;73920;3969;4001;102423814;2230999 + 10162;73932;3969;4001;102423814;2230999 + 10163;73944;3969;4001;102423814;2230999 + 10164;73956;3969;4001;102423814;2230999 + 10165;73968;3969;4001;102423814;2230999 + 10166;73980;3969;4001;102423814;2230999 + 10167;73992;3969;4001;102423814;2230999 + 10168;74004;3969;4001;102423814;2230999 + 10169;74016;3969;4001;102423814;2230999 + 10170;74028;3969;4001;102423814;2230999 + 10171;74040;3969;4001;102423814;2230999 + 10172;74052;3969;4001;102423814;2230999 + 10173;74064;3969;4001;102423814;2230999 + 10174;74076;3969;4001;102423814;2230999 + 10175;74088;3969;4001;102423814;2230999 + 10176;74100;3969;4001;102423814;2230999 + 10177;74112;3969;4001;102423814;2230999 + 10178;74124;3969;4001;102423814;2230999 + 10179;74136;3969;4001;102423814;2230999 + 10180;74148;3971;4001;98251689;2087567 + 10181;74160;3971;4001;98251689;2087567 + 10182;74172;3971;4001;98251689;2087567 + 10183;74184;3971;4001;98251689;2087567 + 10184;74196;3971;4001;98251689;2087567 + 10185;74208;3971;4001;98251689;2087567 + 10186;74220;3971;4001;98251689;2087567 + 10187;74232;3977;4001;106820623;1656832 + 10188;74244;3977;4001;106820623;1656832 + 10189;74256;3977;4001;106820623;1656832 + 10190;74268;3977;4001;106820623;1656832 + 10191;74280;3977;4001;106820623;1656832 + 10192;74292;3977;4001;106820623;1656832 + 10193;74304;3977;4001;106820623;1656832 + 10194;74316;3977;4001;106820623;1656832 + 10195;74328;3977;4001;106820623;1656832 + 10196;74340;3977;4001;106820623;1656832 + 10197;74352;3977;4001;106820623;1656832 + 10198;74364;3985;4001;105711271;1081587 + 10199;74376;3985;4001;105711271;1081587 + 10200;74388;3985;4001;105711271;1081587 + 10201;74400;3985;4001;105711271;1081587 + 10202;74412;3985;4001;105711271;1081587 + 10203;74424;3985;4001;105711271;1081587 + 10204;74436;3985;4001;105711271;1081587 + 10205;74448;3985;4001;105711271;1081587 + 10206;74460;3985;4001;105711271;1081587 + 10207;74472;3985;4001;105711271;1081587 + 10208;74484;3985;4001;105711271;1081587 + 10209;74496;3985;4001;105711271;1081587 + 10210;74508;3985;4001;105711271;1081587 + -----------------------------! + +Test result: ok. 1 passed; 0 failed; finished in 8.36s +| contracts/L1/TaikoToken.sol:TaikoToken contract | | | | | | +|-------------------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1203248 | 6042 | | | | | +| Function Name | min | avg | median | max | # calls | +| burn | 10388 | 10388 | 10388 | 10388 | 1 | +| init | 161878 | 161878 | 161878 | 161878 | 1 | +| mint | 48066 | 48066 | 48066 | 48066 | 1 | +| transfer | 30008 | 30008 | 30008 | 30008 | 1 | + + +| contracts/common/AddressManager.sol:AddressManager contract | | | | | | +|-------------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 268706 | 1374 | | | | | +| Function Name | min | avg | median | max | # calls | +| getAddress | 538 | 539 | 538 | 2538 | 8006 | +| init | 48211 | 48211 | 48211 | 48211 | 1 | +| setAddress | 3073 | 20991 | 24973 | 24973 | 11 | + + +| contracts/signal/SignalService.sol:SignalService contract | | | | | | +|-----------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1561631 | 7832 | | | | | +| Function Name | min | avg | median | max | # calls | +| init | 92994 | 92994 | 92994 | 92994 | 1 | + + +| test/LibLn.sol:LibLn contract | | | | | | +|-------------------------------|-----------------|------|--------|------|---------| +| Deployment Cost | Deployment Size | | | | | +| 227894 | 1196 | | | | | +| Function Name | min | avg | median | max | # calls | +| calcInitProofTimeIssued | 1626 | 1626 | 1626 | 1626 | 1 | + + +| test/TaikoL1.sim.sol:TaikoL1_b contract | | | | | | +|-----------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 3481693 | 17421 | | | | | +| Function Name | min | avg | median | max | # calls | +| depositTaikoToken | 40114 | 40114 | 40114 | 40114 | 1 | +| getBlockFee | 464 | 464 | 464 | 464 | 1 | +| getConfig | 2546 | 2546 | 2546 | 2546 | 1 | +| getStateVariables | 2251 | 2251 | 2251 | 10251 | 14211 | +| getVerifierName | 494 | 494 | 494 | 494 | 2 | +| init | 230235 | 230235 | 230235 | 230235 | 1 | +| proposeBlock | 25391 | 51359 | 25444 | 183368 | 4000 | +| proveBlock | 17096 | 48737 | 19096 | 199112 | 4000 | +| resolve(bytes32,bool)(address) | 2007 | 2009 | 2007 | 8507 | 4002 | +| resolve(uint256,bytes32,bool)(address) | 1964 | 1965 | 1964 | 3964 | 4002 | + + + diff --git a/packages/protocol/simulation/exports/simulation_data_1682761401.txt b/packages/protocol/simulation/exports/simulation_data_1682761401.txt new file mode 100644 index 00000000000..dbb2c0ec1b5 --- /dev/null +++ b/packages/protocol/simulation/exports/simulation_data_1682761401.txt @@ -0,0 +1,14263 @@ + +> @taiko/protocol@0.6.1 test:sim /Users/keszeyd/work/taiko_major_upgrade_ref/taiko-mono/packages/protocol +> forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000 + +Compiling 1 files with 0.8.18 +Solc 0.8.18 finished in 4.02s +Compiler run successful + +Running 1 test for test/TaikoL1.sim.sol:TaikoL1Simulation +[PASS] test_90percent_quick_10percent_slow() (gas: 1235849915333) +Logs: + 31337 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0x72384992222BE015DE0146a6D7E5dA0E19d2Ba49 + 31337 45889272483043749622685123383852074881457604843399824532951312269642964140032 → 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5 + 167 52670410704698717800542732036128729340597328726126075889694804077029212815360 → 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb + 167 52640402180712775100801168841838825813708635172629202311207512447469335085056 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 167 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C + 167 52640402180752029697201414225623803055489816253066935491057410734051802742784 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 31337 16777316 → 0x08526067985167EcFcB1F9720C72DbBF36c96018 + 31337 52640402180752042938242321556083758872323763589890511990531751287648111558656 → 0x0F8458E544c9D4C7C25A881240727209caae20B8 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0x34A1D3fff3958843C43aD80F30b94c510645C316 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0xFEfC6BAF87cF3684058D62Da40Ff3A795946Ab06 + 0:[0→1] fee:100000000 nextEthDepositToProcess:0 numEthDeposits:0 // init + 31337 16777316 → 0x4d04375eCD86c2B81eb0F55B37aA3fAb41CeCBc4 + BlockId, ProofTime + 1 ; 1713 + 2 ; 243 + 3 ; 186 + 4 ; 233 + 5 ; 263 + 6 ; 107 + 7 ; 104 + 8 ; 80 + 9 ; 160 + 10 ; 173 + 11 ; 1769 + 12 ; 154 + 13 ; 114 + 14 ; 230 + 15 ; 213 + 16 ; 113 + 17 ; 110 + 18 ; 95 + 19 ; 211 + 20 ; 202 + 21 ; 2033 + 22 ; 118 + 23 ; 79 + 24 ; 252 + 25 ; 85 + 26 ; 296 + 27 ; 73 + 28 ; 256 + 29 ; 116 + 30 ; 122 + 31 ; 2076 + 32 ; 288 + 33 ; 166 + 34 ; 302 + 35 ; 292 + 36 ; 103 + 37 ; 196 + 38 ; 288 + 39 ; 288 + 40 ; 230 + 41 ; 2142 + 42 ; 188 + 43 ; 176 + 44 ; 212 + 45 ; 90 + 46 ; 145 + 47 ; 304 + 48 ; 291 + 49 ; 144 + 50 ; 265 + 51 ; 2294 + 52 ; 163 + 53 ; 237 + 54 ; 296 + 55 ; 125 + 56 ; 181 + 57 ; 239 + 58 ; 110 + 59 ; 245 + 60 ; 149 + 61 ; 2116 + 62 ; 123 + 63 ; 87 + 64 ; 75 + 65 ; 92 + 66 ; 186 + 67 ; 276 + 68 ; 114 + 69 ; 134 + 70 ; 240 + 71 ; 2215 + 72 ; 147 + 73 ; 259 + 74 ; 74 + 75 ; 149 + 76 ; 161 + 77 ; 244 + 78 ; 173 + 79 ; 275 + 80 ; 295 + 81 ; 2147 + 82 ; 157 + 83 ; 146 + 84 ; 160 + 85 ; 115 + 86 ; 105 + 87 ; 305 + 88 ; 103 + 89 ; 180 + 90 ; 310 + 91 ; 1905 + 92 ; 75 + 93 ; 83 + 94 ; 86 + 95 ; 276 + 96 ; 88 + 97 ; 123 + 98 ; 290 + 99 ; 113 + 100 ; 114 + 101 ; 1717 + 102 ; 96 + 103 ; 95 + 104 ; 133 + 105 ; 154 + 106 ; 174 + 107 ; 109 + 108 ; 276 + 109 ; 114 + 110 ; 185 + 111 ; 2199 + 112 ; 238 + 113 ; 200 + 114 ; 211 + 115 ; 215 + 116 ; 207 + 117 ; 250 + 118 ; 181 + 119 ; 174 + 120 ; 156 + 121 ; 1679 + 122 ; 202 + 123 ; 278 + 124 ; 294 + 125 ; 177 + 126 ; 309 + 127 ; 76 + 128 ; 75 + 129 ; 268 + 130 ; 265 + 131 ; 1971 + 132 ; 122 + 133 ; 278 + 134 ; 294 + 135 ; 126 + 136 ; 233 + 137 ; 284 + 138 ; 271 + 139 ; 256 + 140 ; 203 + 141 ; 2171 + 142 ; 180 + 143 ; 229 + 144 ; 178 + 145 ; 89 + 146 ; 280 + 147 ; 185 + 148 ; 121 + 149 ; 150 + 150 ; 113 + 151 ; 1852 + 152 ; 119 + 153 ; 237 + 154 ; 225 + 155 ; 274 + 156 ; 106 + 157 ; 124 + 158 ; 83 + 159 ; 141 + 160 ; 136 + 161 ; 2144 + 162 ; 180 + 163 ; 218 + 164 ; 245 + 165 ; 216 + 166 ; 189 + 167 ; 233 + 168 ; 167 + 169 ; 244 + 170 ; 129 + 171 ; 2193 + 172 ; 304 + 173 ; 130 + 174 ; 226 + 175 ; 196 + 176 ; 272 + 177 ; 195 + 178 ; 245 + 179 ; 274 + 180 ; 181 + 181 ; 2167 + 182 ; 90 + 183 ; 145 + 184 ; 206 + 185 ; 166 + 186 ; 291 + 187 ; 308 + 188 ; 94 + 189 ; 124 + 190 ; 248 + 191 ; 1929 + 192 ; 111 + 193 ; 83 + 194 ; 164 + 195 ; 228 + 196 ; 83 + 197 ; 219 + 198 ; 286 + 199 ; 260 + 200 ; 175 + 201 ; 2262 + 202 ; 227 + 203 ; 160 + 204 ; 92 + 205 ; 197 + 206 ; 107 + 207 ; 241 + 208 ; 267 + 209 ; 277 + 210 ; 162 + 211 ; 2227 + 212 ; 91 + 213 ; 230 + 214 ; 305 + 215 ; 204 + 216 ; 182 + 217 ; 285 + 218 ; 111 + 219 ; 255 + 220 ; 76 + 221 ; 1882 + 222 ; 222 + 223 ; 265 + 224 ; 124 + 225 ; 153 + 226 ; 178 + 227 ; 103 + 228 ; 219 + 229 ; 238 + 230 ; 230 + 231 ; 2249 + 232 ; 183 + 233 ; 280 + 234 ; 300 + 235 ; 228 + 236 ; 242 + 237 ; 305 + 238 ; 86 + 239 ; 251 + 240 ; 270 + 241 ; 2170 + 242 ; 299 + 243 ; 187 + 244 ; 157 + 245 ; 220 + 246 ; 77 + 247 ; 268 + 248 ; 179 + 249 ; 135 + 250 ; 246 + 251 ; 2048 + 252 ; 126 + 253 ; 300 + 254 ; 289 + 255 ; 85 + 256 ; 216 + 257 ; 267 + 258 ; 105 + 259 ; 311 + 260 ; 305 + 261 ; 1942 + 262 ; 151 + 263 ; 91 + 264 ; 263 + 265 ; 114 + 266 ; 248 + 267 ; 185 + 268 ; 247 + 269 ; 81 + 270 ; 112 + 271 ; 2178 + 272 ; 159 + 273 ; 133 + 274 ; 184 + 275 ; 102 + 276 ; 263 + 277 ; 83 + 278 ; 266 + 279 ; 105 + 280 ; 240 + 281 ; 1704 + 282 ; 242 + 283 ; 307 + 284 ; 118 + 285 ; 167 + 286 ; 261 + 287 ; 256 + 288 ; 309 + 289 ; 235 + 290 ; 100 + 291 ; 2257 + 292 ; 191 + 293 ; 186 + 294 ; 223 + 295 ; 271 + 296 ; 155 + 297 ; 242 + 298 ; 170 + 299 ; 291 + 300 ; 128 + 301 ; 2036 + 302 ; 284 + 303 ; 282 + 304 ; 303 + 305 ; 94 + 306 ; 306 + 307 ; 294 + 308 ; 88 + 309 ; 267 + 310 ; 139 + 311 ; 1938 + 312 ; 285 + 313 ; 280 + 314 ; 81 + 315 ; 254 + 316 ; 185 + 317 ; 156 + 318 ; 236 + 319 ; 89 + 320 ; 78 + 321 ; 1982 + 322 ; 265 + 323 ; 132 + 324 ; 144 + 325 ; 299 + 326 ; 155 + 327 ; 116 + 328 ; 293 + 329 ; 220 + 330 ; 251 + 331 ; 1617 + 332 ; 301 + 333 ; 143 + 334 ; 232 + 335 ; 160 + 336 ; 308 + 337 ; 258 + 338 ; 238 + 339 ; 201 + 340 ; 206 + 341 ; 1978 + 342 ; 206 + 343 ; 247 + 344 ; 94 + 345 ; 125 + 346 ; 134 + 347 ; 296 + 348 ; 235 + 349 ; 261 + 350 ; 237 + 351 ; 2311 + 352 ; 177 + 353 ; 253 + 354 ; 234 + 355 ; 103 + 356 ; 272 + 357 ; 274 + 358 ; 229 + 359 ; 124 + 360 ; 182 + 361 ; 2321 + 362 ; 150 + 363 ; 165 + 364 ; 110 + 365 ; 79 + 366 ; 274 + 367 ; 290 + 368 ; 142 + 369 ; 150 + 370 ; 88 + 371 ; 1679 + 372 ; 166 + 373 ; 158 + 374 ; 309 + 375 ; 234 + 376 ; 110 + 377 ; 88 + 378 ; 262 + 379 ; 187 + 380 ; 142 + 381 ; 1912 + 382 ; 84 + 383 ; 193 + 384 ; 151 + 385 ; 147 + 386 ; 280 + 387 ; 177 + 388 ; 278 + 389 ; 308 + 390 ; 85 + 391 ; 1750 + 392 ; 80 + 393 ; 140 + 394 ; 220 + 395 ; 260 + 396 ; 162 + 397 ; 137 + 398 ; 209 + 399 ; 217 + 400 ; 107 + 401 ; 2079 + 402 ; 161 + 403 ; 84 + 404 ; 305 + 405 ; 209 + 406 ; 230 + 407 ; 193 + 408 ; 146 + 409 ; 287 + 410 ; 156 + 411 ; 1885 + 412 ; 121 + 413 ; 79 + 414 ; 176 + 415 ; 144 + 416 ; 233 + 417 ; 82 + 418 ; 271 + 419 ; 221 + 420 ; 102 + 421 ; 1814 + 422 ; 292 + 423 ; 218 + 424 ; 279 + 425 ; 116 + 426 ; 114 + 427 ; 135 + 428 ; 296 + 429 ; 205 + 430 ; 170 + 431 ; 2261 + 432 ; 167 + 433 ; 262 + 434 ; 247 + 435 ; 275 + 436 ; 272 + 437 ; 82 + 438 ; 258 + 439 ; 221 + 440 ; 142 + 441 ; 2291 + 442 ; 241 + 443 ; 289 + 444 ; 225 + 445 ; 224 + 446 ; 121 + 447 ; 156 + 448 ; 74 + 449 ; 299 + 450 ; 174 + 451 ; 1829 + 452 ; 111 + 453 ; 204 + 454 ; 89 + 455 ; 307 + 456 ; 302 + 457 ; 111 + 458 ; 183 + 459 ; 149 + 460 ; 85 + 461 ; 2038 + 462 ; 211 + 463 ; 142 + 464 ; 306 + 465 ; 306 + 466 ; 130 + 467 ; 254 + 468 ; 130 + 469 ; 105 + 470 ; 170 + 471 ; 1858 + 472 ; 308 + 473 ; 83 + 474 ; 139 + 475 ; 199 + 476 ; 172 + 477 ; 291 + 478 ; 285 + 479 ; 185 + 480 ; 219 + 481 ; 2316 + 482 ; 200 + 483 ; 256 + 484 ; 163 + 485 ; 242 + 486 ; 196 + 487 ; 179 + 488 ; 152 + 489 ; 232 + 490 ; 163 + 491 ; 2248 + 492 ; 196 + 493 ; 230 + 494 ; 266 + 495 ; 252 + 496 ; 170 + 497 ; 139 + 498 ; 203 + 499 ; 132 + 500 ; 185 + 501 ; 2326 + 502 ; 214 + 503 ; 281 + 504 ; 102 + 505 ; 248 + 506 ; 269 + 507 ; 271 + 508 ; 83 + 509 ; 217 + 510 ; 306 + 511 ; 1671 + 512 ; 243 + 513 ; 206 + 514 ; 149 + 515 ; 195 + 516 ; 259 + 517 ; 201 + 518 ; 262 + 519 ; 193 + 520 ; 285 + 521 ; 1999 + 522 ; 211 + 523 ; 89 + 524 ; 121 + 525 ; 285 + 526 ; 207 + 527 ; 277 + 528 ; 261 + 529 ; 128 + 530 ; 192 + 531 ; 2020 + 532 ; 233 + 533 ; 275 + 534 ; 251 + 535 ; 97 + 536 ; 253 + 537 ; 243 + 538 ; 195 + 539 ; 226 + 540 ; 166 + 541 ; 1935 + 542 ; 122 + 543 ; 202 + 544 ; 271 + 545 ; 160 + 546 ; 156 + 547 ; 288 + 548 ; 275 + 549 ; 104 + 550 ; 219 + 551 ; 1829 + 552 ; 203 + 553 ; 242 + 554 ; 107 + 555 ; 279 + 556 ; 104 + 557 ; 222 + 558 ; 202 + 559 ; 119 + 560 ; 153 + 561 ; 2199 + 562 ; 82 + 563 ; 145 + 564 ; 311 + 565 ; 254 + 566 ; 127 + 567 ; 310 + 568 ; 291 + 569 ; 179 + 570 ; 304 + 571 ; 2400 + 572 ; 168 + 573 ; 90 + 574 ; 230 + 575 ; 138 + 576 ; 94 + 577 ; 245 + 578 ; 91 + 579 ; 265 + 580 ; 177 + 581 ; 1820 + 582 ; 164 + 583 ; 170 + 584 ; 297 + 585 ; 299 + 586 ; 88 + 587 ; 254 + 588 ; 176 + 589 ; 298 + 590 ; 97 + 591 ; 1866 + 592 ; 230 + 593 ; 132 + 594 ; 234 + 595 ; 250 + 596 ; 159 + 597 ; 145 + 598 ; 305 + 599 ; 223 + 600 ; 89 + 601 ; 2142 + 602 ; 222 + 603 ; 302 + 604 ; 100 + 605 ; 204 + 606 ; 147 + 607 ; 166 + 608 ; 263 + 609 ; 117 + 610 ; 258 + 611 ; 2389 + 612 ; 294 + 613 ; 188 + 614 ; 178 + 615 ; 108 + 616 ; 199 + 617 ; 254 + 618 ; 265 + 619 ; 165 + 620 ; 82 + 621 ; 2128 + 622 ; 134 + 623 ; 280 + 624 ; 93 + 625 ; 192 + 626 ; 195 + 627 ; 101 + 628 ; 108 + 629 ; 111 + 630 ; 90 + 631 ; 1765 + 632 ; 265 + 633 ; 199 + 634 ; 218 + 635 ; 135 + 636 ; 105 + 637 ; 164 + 638 ; 279 + 639 ; 165 + 640 ; 296 + 641 ; 2077 + 642 ; 90 + 643 ; 172 + 644 ; 280 + 645 ; 232 + 646 ; 301 + 647 ; 138 + 648 ; 234 + 649 ; 210 + 650 ; 238 + 651 ; 1738 + 652 ; 74 + 653 ; 97 + 654 ; 156 + 655 ; 128 + 656 ; 275 + 657 ; 308 + 658 ; 73 + 659 ; 192 + 660 ; 216 + 661 ; 2164 + 662 ; 107 + 663 ; 229 + 664 ; 113 + 665 ; 161 + 666 ; 263 + 667 ; 279 + 668 ; 117 + 669 ; 97 + 670 ; 251 + 671 ; 2390 + 672 ; 130 + 673 ; 132 + 674 ; 82 + 675 ; 275 + 676 ; 267 + 677 ; 111 + 678 ; 211 + 679 ; 117 + 680 ; 112 + 681 ; 1787 + 682 ; 260 + 683 ; 230 + 684 ; 106 + 685 ; 190 + 686 ; 266 + 687 ; 158 + 688 ; 192 + 689 ; 292 + 690 ; 307 + 691 ; 1702 + 692 ; 145 + 693 ; 182 + 694 ; 221 + 695 ; 110 + 696 ; 261 + 697 ; 302 + 698 ; 100 + 699 ; 161 + 700 ; 200 + 701 ; 2289 + 702 ; 306 + 703 ; 225 + 704 ; 255 + 705 ; 181 + 706 ; 74 + 707 ; 267 + 708 ; 235 + 709 ; 211 + 710 ; 100 + 711 ; 2115 + 712 ; 292 + 713 ; 106 + 714 ; 107 + 715 ; 299 + 716 ; 195 + 717 ; 248 + 718 ; 164 + 719 ; 196 + 720 ; 124 + 721 ; 2213 + 722 ; 217 + 723 ; 92 + 724 ; 103 + 725 ; 286 + 726 ; 159 + 727 ; 305 + 728 ; 124 + 729 ; 301 + 730 ; 273 + 731 ; 2376 + 732 ; 173 + 733 ; 134 + 734 ; 197 + 735 ; 211 + 736 ; 194 + 737 ; 232 + 738 ; 89 + 739 ; 280 + 740 ; 165 + 741 ; 2101 + 742 ; 111 + 743 ; 210 + 744 ; 241 + 745 ; 297 + 746 ; 290 + 747 ; 226 + 748 ; 240 + 749 ; 179 + 750 ; 168 + 751 ; 2015 + 752 ; 259 + 753 ; 192 + 754 ; 263 + 755 ; 229 + 756 ; 175 + 757 ; 107 + 758 ; 104 + 759 ; 276 + 760 ; 131 + 761 ; 2192 + 762 ; 208 + 763 ; 279 + 764 ; 160 + 765 ; 126 + 766 ; 184 + 767 ; 162 + 768 ; 218 + 769 ; 122 + 770 ; 219 + 771 ; 1727 + 772 ; 78 + 773 ; 145 + 774 ; 258 + 775 ; 198 + 776 ; 247 + 777 ; 243 + 778 ; 196 + 779 ; 171 + 780 ; 79 + 781 ; 2385 + 782 ; 283 + 783 ; 137 + 784 ; 104 + 785 ; 236 + 786 ; 234 + 787 ; 93 + 788 ; 107 + 789 ; 135 + 790 ; 265 + 791 ; 1630 + 792 ; 188 + 793 ; 117 + 794 ; 186 + 795 ; 295 + 796 ; 165 + 797 ; 199 + 798 ; 267 + 799 ; 87 + 800 ; 232 + 801 ; 2339 + 802 ; 142 + 803 ; 258 + 804 ; 102 + 805 ; 263 + 806 ; 148 + 807 ; 173 + 808 ; 130 + 809 ; 124 + 810 ; 285 + 811 ; 1927 + 812 ; 78 + 813 ; 180 + 814 ; 164 + 815 ; 153 + 816 ; 191 + 817 ; 172 + 818 ; 276 + 819 ; 86 + 820 ; 258 + 821 ; 1899 + 822 ; 310 + 823 ; 122 + 824 ; 178 + 825 ; 127 + 826 ; 134 + 827 ; 107 + 828 ; 266 + 829 ; 141 + 830 ; 162 + 831 ; 2000 + 832 ; 182 + 833 ; 205 + 834 ; 207 + 835 ; 148 + 836 ; 150 + 837 ; 167 + 838 ; 181 + 839 ; 182 + 840 ; 291 + 841 ; 2170 + 842 ; 300 + 843 ; 200 + 844 ; 186 + 845 ; 72 + 846 ; 297 + 847 ; 267 + 848 ; 285 + 849 ; 291 + 850 ; 154 + 851 ; 2409 + 852 ; 290 + 853 ; 261 + 854 ; 192 + 855 ; 257 + 856 ; 153 + 857 ; 292 + 858 ; 212 + 859 ; 72 + 860 ; 213 + 861 ; 2406 + 862 ; 143 + 863 ; 247 + 864 ; 215 + 865 ; 154 + 866 ; 129 + 867 ; 264 + 868 ; 157 + 869 ; 221 + 870 ; 114 + 871 ; 2039 + 872 ; 136 + 873 ; 230 + 874 ; 244 + 875 ; 133 + 876 ; 304 + 877 ; 170 + 878 ; 133 + 879 ; 182 + 880 ; 261 + 881 ; 2402 + 882 ; 219 + 883 ; 308 + 884 ; 297 + 885 ; 240 + 886 ; 243 + 887 ; 248 + 888 ; 263 + 889 ; 131 + 890 ; 281 + 891 ; 2376 + 892 ; 169 + 893 ; 96 + 894 ; 199 + 895 ; 190 + 896 ; 311 + 897 ; 171 + 898 ; 219 + 899 ; 214 + 900 ; 186 + 901 ; 2069 + 902 ; 307 + 903 ; 101 + 904 ; 109 + 905 ; 244 + 906 ; 239 + 907 ; 295 + 908 ; 108 + 909 ; 106 + 910 ; 273 + 911 ; 2146 + 912 ; 162 + 913 ; 277 + 914 ; 296 + 915 ; 120 + 916 ; 162 + 917 ; 289 + 918 ; 76 + 919 ; 153 + 920 ; 87 + 921 ; 2096 + 922 ; 105 + 923 ; 202 + 924 ; 201 + 925 ; 130 + 926 ; 228 + 927 ; 218 + 928 ; 76 + 929 ; 299 + 930 ; 143 + 931 ; 1633 + 932 ; 72 + 933 ; 180 + 934 ; 216 + 935 ; 166 + 936 ; 297 + 937 ; 288 + 938 ; 285 + 939 ; 127 + 940 ; 214 + 941 ; 1932 + 942 ; 292 + 943 ; 181 + 944 ; 281 + 945 ; 127 + 946 ; 140 + 947 ; 152 + 948 ; 237 + 949 ; 183 + 950 ; 297 + 951 ; 1945 + 952 ; 138 + 953 ; 115 + 954 ; 164 + 955 ; 252 + 956 ; 222 + 957 ; 237 + 958 ; 181 + 959 ; 240 + 960 ; 73 + 961 ; 2344 + 962 ; 164 + 963 ; 112 + 964 ; 88 + 965 ; 294 + 966 ; 191 + 967 ; 199 + 968 ; 241 + 969 ; 135 + 970 ; 127 + 971 ; 1803 + 972 ; 187 + 973 ; 213 + 974 ; 111 + 975 ; 244 + 976 ; 237 + 977 ; 247 + 978 ; 281 + 979 ; 301 + 980 ; 76 + 981 ; 1717 + 982 ; 178 + 983 ; 176 + 984 ; 220 + 985 ; 231 + 986 ; 239 + 987 ; 276 + 988 ; 218 + 989 ; 231 + 990 ; 291 + 991 ; 1744 + 992 ; 169 + 993 ; 199 + 994 ; 177 + 995 ; 200 + 996 ; 119 + 997 ; 246 + 998 ; 208 + 999 ; 168 + 1000 ; 77 + 1001 ; 1755 + 1002 ; 186 + 1003 ; 151 + 1004 ; 179 + 1005 ; 252 + 1006 ; 151 + 1007 ; 141 + 1008 ; 235 + 1009 ; 196 + 1010 ; 139 + 1011 ; 2016 + 1012 ; 257 + 1013 ; 155 + 1014 ; 87 + 1015 ; 221 + 1016 ; 83 + 1017 ; 121 + 1018 ; 182 + 1019 ; 288 + 1020 ; 156 + 1021 ; 1718 + 1022 ; 192 + 1023 ; 263 + 1024 ; 200 + 1025 ; 247 + 1026 ; 159 + 1027 ; 86 + 1028 ; 294 + 1029 ; 174 + 1030 ; 310 + 1031 ; 1932 + 1032 ; 307 + 1033 ; 294 + 1034 ; 157 + 1035 ; 308 + 1036 ; 111 + 1037 ; 179 + 1038 ; 258 + 1039 ; 120 + 1040 ; 83 + 1041 ; 1873 + 1042 ; 95 + 1043 ; 202 + 1044 ; 246 + 1045 ; 241 + 1046 ; 111 + 1047 ; 146 + 1048 ; 139 + 1049 ; 120 + 1050 ; 200 + 1051 ; 1677 + 1052 ; 91 + 1053 ; 267 + 1054 ; 208 + 1055 ; 208 + 1056 ; 199 + 1057 ; 222 + 1058 ; 224 + 1059 ; 253 + 1060 ; 115 + 1061 ; 2074 + 1062 ; 227 + 1063 ; 136 + 1064 ; 99 + 1065 ; 165 + 1066 ; 98 + 1067 ; 280 + 1068 ; 113 + 1069 ; 157 + 1070 ; 160 + 1071 ; 2374 + 1072 ; 287 + 1073 ; 146 + 1074 ; 190 + 1075 ; 145 + 1076 ; 89 + 1077 ; 162 + 1078 ; 222 + 1079 ; 305 + 1080 ; 172 + 1081 ; 1901 + 1082 ; 114 + 1083 ; 244 + 1084 ; 154 + 1085 ; 275 + 1086 ; 304 + 1087 ; 311 + 1088 ; 250 + 1089 ; 252 + 1090 ; 253 + 1091 ; 2055 + 1092 ; 174 + 1093 ; 201 + 1094 ; 237 + 1095 ; 180 + 1096 ; 219 + 1097 ; 89 + 1098 ; 277 + 1099 ; 262 + 1100 ; 142 + 1101 ; 2353 + 1102 ; 207 + 1103 ; 281 + 1104 ; 240 + 1105 ; 245 + 1106 ; 100 + 1107 ; 96 + 1108 ; 227 + 1109 ; 128 + 1110 ; 176 + 1111 ; 2034 + 1112 ; 294 + 1113 ; 257 + 1114 ; 72 + 1115 ; 114 + 1116 ; 217 + 1117 ; 128 + 1118 ; 96 + 1119 ; 134 + 1120 ; 178 + 1121 ; 1664 + 1122 ; 207 + 1123 ; 113 + 1124 ; 215 + 1125 ; 113 + 1126 ; 240 + 1127 ; 132 + 1128 ; 240 + 1129 ; 152 + 1130 ; 235 + 1131 ; 1687 + 1132 ; 305 + 1133 ; 93 + 1134 ; 291 + 1135 ; 280 + 1136 ; 127 + 1137 ; 305 + 1138 ; 156 + 1139 ; 116 + 1140 ; 257 + 1141 ; 1941 + 1142 ; 218 + 1143 ; 262 + 1144 ; 289 + 1145 ; 206 + 1146 ; 300 + 1147 ; 103 + 1148 ; 120 + 1149 ; 233 + 1150 ; 156 + 1151 ; 1856 + 1152 ; 283 + 1153 ; 147 + 1154 ; 193 + 1155 ; 74 + 1156 ; 199 + 1157 ; 293 + 1158 ; 307 + 1159 ; 212 + 1160 ; 294 + 1161 ; 1958 + 1162 ; 73 + 1163 ; 112 + 1164 ; 207 + 1165 ; 119 + 1166 ; 309 + 1167 ; 225 + 1168 ; 138 + 1169 ; 204 + 1170 ; 272 + 1171 ; 1912 + 1172 ; 160 + 1173 ; 120 + 1174 ; 131 + 1175 ; 84 + 1176 ; 268 + 1177 ; 167 + 1178 ; 282 + 1179 ; 219 + 1180 ; 189 + 1181 ; 2052 + 1182 ; 102 + 1183 ; 123 + 1184 ; 211 + 1185 ; 271 + 1186 ; 127 + 1187 ; 160 + 1188 ; 245 + 1189 ; 122 + 1190 ; 280 + 1191 ; 1905 + 1192 ; 167 + 1193 ; 184 + 1194 ; 170 + 1195 ; 102 + 1196 ; 297 + 1197 ; 78 + 1198 ; 140 + 1199 ; 98 + 1200 ; 104 + 1201 ; 2266 + 1202 ; 305 + 1203 ; 160 + 1204 ; 99 + 1205 ; 305 + 1206 ; 263 + 1207 ; 203 + 1208 ; 123 + 1209 ; 246 + 1210 ; 108 + 1211 ; 1619 + 1212 ; 305 + 1213 ; 312 + 1214 ; 77 + 1215 ; 99 + 1216 ; 132 + 1217 ; 113 + 1218 ; 233 + 1219 ; 188 + 1220 ; 130 + 1221 ; 2362 + 1222 ; 125 + 1223 ; 277 + 1224 ; 257 + 1225 ; 131 + 1226 ; 312 + 1227 ; 165 + 1228 ; 83 + 1229 ; 219 + 1230 ; 160 + 1231 ; 1874 + 1232 ; 246 + 1233 ; 269 + 1234 ; 165 + 1235 ; 177 + 1236 ; 187 + 1237 ; 238 + 1238 ; 108 + 1239 ; 193 + 1240 ; 196 + 1241 ; 2325 + 1242 ; 81 + 1243 ; 259 + 1244 ; 154 + 1245 ; 254 + 1246 ; 138 + 1247 ; 134 + 1248 ; 146 + 1249 ; 248 + 1250 ; 218 + 1251 ; 2005 + 1252 ; 233 + 1253 ; 231 + 1254 ; 163 + 1255 ; 158 + 1256 ; 255 + 1257 ; 289 + 1258 ; 296 + 1259 ; 190 + 1260 ; 277 + 1261 ; 2176 + 1262 ; 85 + 1263 ; 188 + 1264 ; 249 + 1265 ; 230 + 1266 ; 212 + 1267 ; 150 + 1268 ; 207 + 1269 ; 178 + 1270 ; 255 + 1271 ; 1965 + 1272 ; 275 + 1273 ; 194 + 1274 ; 188 + 1275 ; 215 + 1276 ; 94 + 1277 ; 118 + 1278 ; 173 + 1279 ; 157 + 1280 ; 214 + 1281 ; 2009 + 1282 ; 80 + 1283 ; 103 + 1284 ; 127 + 1285 ; 139 + 1286 ; 286 + 1287 ; 89 + 1288 ; 127 + 1289 ; 257 + 1290 ; 231 + 1291 ; 2379 + 1292 ; 311 + 1293 ; 187 + 1294 ; 117 + 1295 ; 302 + 1296 ; 193 + 1297 ; 173 + 1298 ; 283 + 1299 ; 133 + 1300 ; 209 + 1301 ; 1850 + 1302 ; 114 + 1303 ; 182 + 1304 ; 185 + 1305 ; 303 + 1306 ; 114 + 1307 ; 174 + 1308 ; 266 + 1309 ; 108 + 1310 ; 262 + 1311 ; 2224 + 1312 ; 304 + 1313 ; 193 + 1314 ; 283 + 1315 ; 229 + 1316 ; 311 + 1317 ; 299 + 1318 ; 170 + 1319 ; 80 + 1320 ; 140 + 1321 ; 1932 + 1322 ; 157 + 1323 ; 303 + 1324 ; 234 + 1325 ; 104 + 1326 ; 78 + 1327 ; 139 + 1328 ; 140 + 1329 ; 202 + 1330 ; 264 + 1331 ; 2187 + 1332 ; 191 + 1333 ; 107 + 1334 ; 153 + 1335 ; 178 + 1336 ; 108 + 1337 ; 258 + 1338 ; 78 + 1339 ; 134 + 1340 ; 197 + 1341 ; 1722 + 1342 ; 203 + 1343 ; 260 + 1344 ; 229 + 1345 ; 284 + 1346 ; 226 + 1347 ; 107 + 1348 ; 246 + 1349 ; 86 + 1350 ; 220 + 1351 ; 1751 + 1352 ; 221 + 1353 ; 242 + 1354 ; 77 + 1355 ; 206 + 1356 ; 286 + 1357 ; 241 + 1358 ; 200 + 1359 ; 183 + 1360 ; 256 + 1361 ; 2089 + 1362 ; 118 + 1363 ; 217 + 1364 ; 128 + 1365 ; 126 + 1366 ; 279 + 1367 ; 112 + 1368 ; 74 + 1369 ; 312 + 1370 ; 254 + 1371 ; 2314 + 1372 ; 278 + 1373 ; 288 + 1374 ; 85 + 1375 ; 169 + 1376 ; 309 + 1377 ; 187 + 1378 ; 280 + 1379 ; 74 + 1380 ; 213 + 1381 ; 1742 + 1382 ; 283 + 1383 ; 269 + 1384 ; 144 + 1385 ; 209 + 1386 ; 231 + 1387 ; 119 + 1388 ; 106 + 1389 ; 174 + 1390 ; 221 + 1391 ; 2155 + 1392 ; 144 + 1393 ; 134 + 1394 ; 182 + 1395 ; 218 + 1396 ; 129 + 1397 ; 199 + 1398 ; 107 + 1399 ; 205 + 1400 ; 131 + 1401 ; 2369 + 1402 ; 271 + 1403 ; 207 + 1404 ; 266 + 1405 ; 116 + 1406 ; 206 + 1407 ; 93 + 1408 ; 213 + 1409 ; 250 + 1410 ; 108 + 1411 ; 2237 + 1412 ; 181 + 1413 ; 208 + 1414 ; 226 + 1415 ; 164 + 1416 ; 80 + 1417 ; 98 + 1418 ; 151 + 1419 ; 179 + 1420 ; 192 + 1421 ; 1665 + 1422 ; 232 + 1423 ; 227 + 1424 ; 117 + 1425 ; 262 + 1426 ; 100 + 1427 ; 181 + 1428 ; 216 + 1429 ; 308 + 1430 ; 257 + 1431 ; 1643 + 1432 ; 119 + 1433 ; 293 + 1434 ; 268 + 1435 ; 215 + 1436 ; 276 + 1437 ; 121 + 1438 ; 197 + 1439 ; 190 + 1440 ; 123 + 1441 ; 2407 + 1442 ; 259 + 1443 ; 90 + 1444 ; 129 + 1445 ; 210 + 1446 ; 288 + 1447 ; 109 + 1448 ; 233 + 1449 ; 200 + 1450 ; 88 + 1451 ; 2088 + 1452 ; 289 + 1453 ; 273 + 1454 ; 278 + 1455 ; 228 + 1456 ; 128 + 1457 ; 171 + 1458 ; 162 + 1459 ; 154 + 1460 ; 191 + 1461 ; 2086 + 1462 ; 127 + 1463 ; 137 + 1464 ; 211 + 1465 ; 294 + 1466 ; 140 + 1467 ; 195 + 1468 ; 223 + 1469 ; 120 + 1470 ; 161 + 1471 ; 1865 + 1472 ; 109 + 1473 ; 194 + 1474 ; 203 + 1475 ; 194 + 1476 ; 176 + 1477 ; 185 + 1478 ; 209 + 1479 ; 225 + 1480 ; 151 + 1481 ; 2189 + 1482 ; 93 + 1483 ; 311 + 1484 ; 230 + 1485 ; 205 + 1486 ; 118 + 1487 ; 304 + 1488 ; 142 + 1489 ; 308 + 1490 ; 82 + 1491 ; 1690 + 1492 ; 226 + 1493 ; 259 + 1494 ; 209 + 1495 ; 94 + 1496 ; 300 + 1497 ; 283 + 1498 ; 226 + 1499 ; 208 + 1500 ; 217 + 1501 ; 1689 + 1502 ; 300 + 1503 ; 157 + 1504 ; 160 + 1505 ; 131 + 1506 ; 79 + 1507 ; 209 + 1508 ; 152 + 1509 ; 247 + 1510 ; 169 + 1511 ; 2050 + 1512 ; 226 + 1513 ; 296 + 1514 ; 78 + 1515 ; 238 + 1516 ; 134 + 1517 ; 271 + 1518 ; 140 + 1519 ; 171 + 1520 ; 122 + 1521 ; 2289 + 1522 ; 87 + 1523 ; 271 + 1524 ; 237 + 1525 ; 312 + 1526 ; 130 + 1527 ; 113 + 1528 ; 99 + 1529 ; 265 + 1530 ; 284 + 1531 ; 2402 + 1532 ; 289 + 1533 ; 265 + 1534 ; 241 + 1535 ; 271 + 1536 ; 213 + 1537 ; 203 + 1538 ; 205 + 1539 ; 295 + 1540 ; 242 + 1541 ; 1712 + 1542 ; 200 + 1543 ; 152 + 1544 ; 302 + 1545 ; 244 + 1546 ; 255 + 1547 ; 223 + 1548 ; 227 + 1549 ; 235 + 1550 ; 106 + 1551 ; 2179 + 1552 ; 103 + 1553 ; 248 + 1554 ; 175 + 1555 ; 238 + 1556 ; 87 + 1557 ; 312 + 1558 ; 197 + 1559 ; 299 + 1560 ; 241 + 1561 ; 2393 + 1562 ; 151 + 1563 ; 309 + 1564 ; 248 + 1565 ; 306 + 1566 ; 273 + 1567 ; 260 + 1568 ; 153 + 1569 ; 148 + 1570 ; 80 + 1571 ; 2002 + 1572 ; 163 + 1573 ; 232 + 1574 ; 179 + 1575 ; 96 + 1576 ; 165 + 1577 ; 73 + 1578 ; 184 + 1579 ; 214 + 1580 ; 255 + 1581 ; 2006 + 1582 ; 127 + 1583 ; 207 + 1584 ; 231 + 1585 ; 130 + 1586 ; 214 + 1587 ; 120 + 1588 ; 304 + 1589 ; 108 + 1590 ; 75 + 1591 ; 2036 + 1592 ; 208 + 1593 ; 160 + 1594 ; 156 + 1595 ; 243 + 1596 ; 201 + 1597 ; 162 + 1598 ; 270 + 1599 ; 180 + 1600 ; 225 + 1601 ; 1664 + 1602 ; 96 + 1603 ; 298 + 1604 ; 276 + 1605 ; 107 + 1606 ; 75 + 1607 ; 192 + 1608 ; 84 + 1609 ; 72 + 1610 ; 228 + 1611 ; 1936 + 1612 ; 85 + 1613 ; 265 + 1614 ; 201 + 1615 ; 206 + 1616 ; 117 + 1617 ; 296 + 1618 ; 216 + 1619 ; 274 + 1620 ; 91 + 1621 ; 2275 + 1622 ; 153 + 1623 ; 197 + 1624 ; 199 + 1625 ; 302 + 1626 ; 295 + 1627 ; 264 + 1628 ; 259 + 1629 ; 101 + 1630 ; 133 + 1631 ; 1722 + 1632 ; 138 + 1633 ; 173 + 1634 ; 180 + 1635 ; 83 + 1636 ; 93 + 1637 ; 237 + 1638 ; 228 + 1639 ; 109 + 1640 ; 282 + 1641 ; 2078 + 1642 ; 221 + 1643 ; 223 + 1644 ; 107 + 1645 ; 274 + 1646 ; 162 + 1647 ; 255 + 1648 ; 273 + 1649 ; 293 + 1650 ; 128 + 1651 ; 1808 + 1652 ; 141 + 1653 ; 170 + 1654 ; 110 + 1655 ; 256 + 1656 ; 241 + 1657 ; 285 + 1658 ; 220 + 1659 ; 215 + 1660 ; 97 + 1661 ; 2271 + 1662 ; 143 + 1663 ; 127 + 1664 ; 132 + 1665 ; 296 + 1666 ; 174 + 1667 ; 156 + 1668 ; 262 + 1669 ; 292 + 1670 ; 304 + 1671 ; 2220 + 1672 ; 128 + 1673 ; 78 + 1674 ; 207 + 1675 ; 72 + 1676 ; 300 + 1677 ; 166 + 1678 ; 307 + 1679 ; 75 + 1680 ; 146 + 1681 ; 2297 + 1682 ; 188 + 1683 ; 95 + 1684 ; 109 + 1685 ; 182 + 1686 ; 241 + 1687 ; 171 + 1688 ; 195 + 1689 ; 247 + 1690 ; 163 + 1691 ; 1775 + 1692 ; 215 + 1693 ; 303 + 1694 ; 199 + 1695 ; 182 + 1696 ; 74 + 1697 ; 248 + 1698 ; 266 + 1699 ; 291 + 1700 ; 267 + 1701 ; 2328 + 1702 ; 249 + 1703 ; 276 + 1704 ; 200 + 1705 ; 87 + 1706 ; 248 + 1707 ; 150 + 1708 ; 83 + 1709 ; 266 + 1710 ; 279 + 1711 ; 2131 + 1712 ; 226 + 1713 ; 108 + 1714 ; 116 + 1715 ; 179 + 1716 ; 209 + 1717 ; 170 + 1718 ; 105 + 1719 ; 156 + 1720 ; 89 + 1721 ; 2240 + 1722 ; 124 + 1723 ; 309 + 1724 ; 284 + 1725 ; 175 + 1726 ; 126 + 1727 ; 72 + 1728 ; 102 + 1729 ; 201 + 1730 ; 295 + 1731 ; 2152 + 1732 ; 201 + 1733 ; 271 + 1734 ; 184 + 1735 ; 128 + 1736 ; 249 + 1737 ; 277 + 1738 ; 223 + 1739 ; 140 + 1740 ; 112 + 1741 ; 1632 + 1742 ; 195 + 1743 ; 82 + 1744 ; 108 + 1745 ; 115 + 1746 ; 283 + 1747 ; 157 + 1748 ; 297 + 1749 ; 283 + 1750 ; 126 + 1751 ; 1846 + 1752 ; 132 + 1753 ; 84 + 1754 ; 82 + 1755 ; 172 + 1756 ; 188 + 1757 ; 234 + 1758 ; 109 + 1759 ; 289 + 1760 ; 122 + 1761 ; 2302 + 1762 ; 109 + 1763 ; 247 + 1764 ; 229 + 1765 ; 260 + 1766 ; 260 + 1767 ; 260 + 1768 ; 102 + 1769 ; 268 + 1770 ; 207 + 1771 ; 1879 + 1772 ; 130 + 1773 ; 112 + 1774 ; 152 + 1775 ; 252 + 1776 ; 305 + 1777 ; 193 + 1778 ; 76 + 1779 ; 138 + 1780 ; 152 + 1781 ; 2061 + 1782 ; 156 + 1783 ; 94 + 1784 ; 124 + 1785 ; 250 + 1786 ; 296 + 1787 ; 72 + 1788 ; 303 + 1789 ; 203 + 1790 ; 72 + 1791 ; 1663 + 1792 ; 259 + 1793 ; 288 + 1794 ; 174 + 1795 ; 109 + 1796 ; 295 + 1797 ; 240 + 1798 ; 196 + 1799 ; 205 + 1800 ; 231 + 1801 ; 1721 + 1802 ; 114 + 1803 ; 136 + 1804 ; 149 + 1805 ; 173 + 1806 ; 105 + 1807 ; 175 + 1808 ; 263 + 1809 ; 214 + 1810 ; 161 + 1811 ; 1652 + 1812 ; 217 + 1813 ; 226 + 1814 ; 129 + 1815 ; 217 + 1816 ; 117 + 1817 ; 100 + 1818 ; 305 + 1819 ; 253 + 1820 ; 147 + 1821 ; 1938 + 1822 ; 246 + 1823 ; 307 + 1824 ; 275 + 1825 ; 262 + 1826 ; 232 + 1827 ; 77 + 1828 ; 288 + 1829 ; 265 + 1830 ; 122 + 1831 ; 2365 + 1832 ; 220 + 1833 ; 151 + 1834 ; 214 + 1835 ; 307 + 1836 ; 95 + 1837 ; 289 + 1838 ; 187 + 1839 ; 164 + 1840 ; 245 + 1841 ; 2037 + 1842 ; 235 + 1843 ; 108 + 1844 ; 308 + 1845 ; 244 + 1846 ; 151 + 1847 ; 141 + 1848 ; 242 + 1849 ; 167 + 1850 ; 246 + 1851 ; 1686 + 1852 ; 206 + 1853 ; 233 + 1854 ; 231 + 1855 ; 198 + 1856 ; 89 + 1857 ; 250 + 1858 ; 83 + 1859 ; 284 + 1860 ; 116 + 1861 ; 1988 + 1862 ; 86 + 1863 ; 202 + 1864 ; 293 + 1865 ; 264 + 1866 ; 102 + 1867 ; 311 + 1868 ; 144 + 1869 ; 100 + 1870 ; 171 + 1871 ; 1957 + 1872 ; 112 + 1873 ; 189 + 1874 ; 80 + 1875 ; 266 + 1876 ; 309 + 1877 ; 292 + 1878 ; 171 + 1879 ; 138 + 1880 ; 249 + 1881 ; 2202 + 1882 ; 136 + 1883 ; 107 + 1884 ; 109 + 1885 ; 202 + 1886 ; 186 + 1887 ; 226 + 1888 ; 259 + 1889 ; 154 + 1890 ; 299 + 1891 ; 2380 + 1892 ; 256 + 1893 ; 124 + 1894 ; 72 + 1895 ; 268 + 1896 ; 124 + 1897 ; 305 + 1898 ; 228 + 1899 ; 290 + 1900 ; 220 + 1901 ; 2220 + 1902 ; 268 + 1903 ; 252 + 1904 ; 201 + 1905 ; 309 + 1906 ; 177 + 1907 ; 258 + 1908 ; 210 + 1909 ; 85 + 1910 ; 238 + 1911 ; 2050 + 1912 ; 257 + 1913 ; 292 + 1914 ; 196 + 1915 ; 187 + 1916 ; 300 + 1917 ; 195 + 1918 ; 87 + 1919 ; 224 + 1920 ; 146 + 1921 ; 2091 + 1922 ; 147 + 1923 ; 249 + 1924 ; 131 + 1925 ; 240 + 1926 ; 131 + 1927 ; 118 + 1928 ; 128 + 1929 ; 189 + 1930 ; 105 + 1931 ; 1946 + 1932 ; 282 + 1933 ; 112 + 1934 ; 225 + 1935 ; 193 + 1936 ; 103 + 1937 ; 276 + 1938 ; 272 + 1939 ; 266 + 1940 ; 155 + 1941 ; 1756 + 1942 ; 126 + 1943 ; 88 + 1944 ; 83 + 1945 ; 179 + 1946 ; 273 + 1947 ; 271 + 1948 ; 267 + 1949 ; 200 + 1950 ; 203 + 1951 ; 2261 + 1952 ; 265 + 1953 ; 175 + 1954 ; 122 + 1955 ; 96 + 1956 ; 244 + 1957 ; 303 + 1958 ; 226 + 1959 ; 187 + 1960 ; 287 + 1961 ; 1880 + 1962 ; 90 + 1963 ; 310 + 1964 ; 245 + 1965 ; 143 + 1966 ; 124 + 1967 ; 263 + 1968 ; 242 + 1969 ; 83 + 1970 ; 101 + 1971 ; 1733 + 1972 ; 119 + 1973 ; 133 + 1974 ; 110 + 1975 ; 258 + 1976 ; 297 + 1977 ; 277 + 1978 ; 78 + 1979 ; 195 + 1980 ; 274 + 1981 ; 2351 + 1982 ; 282 + 1983 ; 220 + 1984 ; 151 + 1985 ; 275 + 1986 ; 205 + 1987 ; 122 + 1988 ; 149 + 1989 ; 198 + 1990 ; 279 + 1991 ; 1679 + 1992 ; 135 + 1993 ; 217 + 1994 ; 93 + 1995 ; 265 + 1996 ; 104 + 1997 ; 179 + 1998 ; 168 + 1999 ; 304 + 2000 ; 158 + 2001 ; 2347 + 2002 ; 278 + 2003 ; 84 + 2004 ; 255 + 2005 ; 191 + 2006 ; 86 + 2007 ; 269 + 2008 ; 127 + 2009 ; 306 + 2010 ; 312 + 2011 ; 1694 + 2012 ; 89 + 2013 ; 251 + 2014 ; 231 + 2015 ; 170 + 2016 ; 125 + 2017 ; 267 + 2018 ; 234 + 2019 ; 140 + 2020 ; 117 + 2021 ; 2104 + 2022 ; 139 + 2023 ; 128 + 2024 ; 236 + 2025 ; 143 + 2026 ; 202 + 2027 ; 100 + 2028 ; 243 + 2029 ; 240 + 2030 ; 77 + 2031 ; 2386 + 2032 ; 241 + 2033 ; 241 + 2034 ; 150 + 2035 ; 281 + 2036 ; 288 + 2037 ; 107 + 2038 ; 165 + 2039 ; 140 + 2040 ; 245 + 2041 ; 2264 + 2042 ; 89 + 2043 ; 187 + 2044 ; 106 + 2045 ; 295 + 2046 ; 193 + 2047 ; 176 + 2048 ; 183 + 2049 ; 230 + 2050 ; 190 + 2051 ; 1701 + 2052 ; 159 + 2053 ; 278 + 2054 ; 226 + 2055 ; 81 + 2056 ; 232 + 2057 ; 162 + 2058 ; 130 + 2059 ; 80 + 2060 ; 256 + 2061 ; 2260 + 2062 ; 99 + 2063 ; 262 + 2064 ; 265 + 2065 ; 311 + 2066 ; 159 + 2067 ; 255 + 2068 ; 292 + 2069 ; 240 + 2070 ; 93 + 2071 ; 2326 + 2072 ; 287 + 2073 ; 206 + 2074 ; 131 + 2075 ; 77 + 2076 ; 209 + 2077 ; 173 + 2078 ; 287 + 2079 ; 287 + 2080 ; 192 + 2081 ; 2175 + 2082 ; 102 + 2083 ; 195 + 2084 ; 257 + 2085 ; 193 + 2086 ; 256 + 2087 ; 195 + 2088 ; 230 + 2089 ; 161 + 2090 ; 272 + 2091 ; 2394 + 2092 ; 216 + 2093 ; 282 + 2094 ; 236 + 2095 ; 307 + 2096 ; 275 + 2097 ; 295 + 2098 ; 271 + 2099 ; 232 + 2100 ; 233 + 2101 ; 1690 + 2102 ; 148 + 2103 ; 145 + 2104 ; 217 + 2105 ; 110 + 2106 ; 115 + 2107 ; 275 + 2108 ; 306 + 2109 ; 278 + 2110 ; 286 + 2111 ; 2293 + 2112 ; 310 + 2113 ; 223 + 2114 ; 190 + 2115 ; 128 + 2116 ; 231 + 2117 ; 112 + 2118 ; 122 + 2119 ; 237 + 2120 ; 183 + 2121 ; 2303 + 2122 ; 231 + 2123 ; 183 + 2124 ; 202 + 2125 ; 303 + 2126 ; 189 + 2127 ; 124 + 2128 ; 281 + 2129 ; 176 + 2130 ; 254 + 2131 ; 1650 + 2132 ; 148 + 2133 ; 160 + 2134 ; 154 + 2135 ; 221 + 2136 ; 193 + 2137 ; 303 + 2138 ; 214 + 2139 ; 151 + 2140 ; 125 + 2141 ; 1773 + 2142 ; 202 + 2143 ; 170 + 2144 ; 296 + 2145 ; 297 + 2146 ; 296 + 2147 ; 224 + 2148 ; 260 + 2149 ; 294 + 2150 ; 146 + 2151 ; 1623 + 2152 ; 157 + 2153 ; 99 + 2154 ; 213 + 2155 ; 83 + 2156 ; 130 + 2157 ; 285 + 2158 ; 81 + 2159 ; 277 + 2160 ; 290 + 2161 ; 1646 + 2162 ; 288 + 2163 ; 191 + 2164 ; 217 + 2165 ; 123 + 2166 ; 214 + 2167 ; 90 + 2168 ; 200 + 2169 ; 268 + 2170 ; 107 + 2171 ; 1859 + 2172 ; 250 + 2173 ; 299 + 2174 ; 282 + 2175 ; 298 + 2176 ; 82 + 2177 ; 114 + 2178 ; 252 + 2179 ; 249 + 2180 ; 193 + 2181 ; 1763 + 2182 ; 176 + 2183 ; 157 + 2184 ; 133 + 2185 ; 157 + 2186 ; 246 + 2187 ; 230 + 2188 ; 184 + 2189 ; 179 + 2190 ; 141 + 2191 ; 2041 + 2192 ; 126 + 2193 ; 131 + 2194 ; 239 + 2195 ; 303 + 2196 ; 269 + 2197 ; 272 + 2198 ; 103 + 2199 ; 299 + 2200 ; 88 + 2201 ; 2167 + 2202 ; 149 + 2203 ; 173 + 2204 ; 242 + 2205 ; 102 + 2206 ; 94 + 2207 ; 241 + 2208 ; 239 + 2209 ; 178 + 2210 ; 166 + 2211 ; 1955 + 2212 ; 300 + 2213 ; 258 + 2214 ; 119 + 2215 ; 155 + 2216 ; 134 + 2217 ; 267 + 2218 ; 80 + 2219 ; 297 + 2220 ; 231 + 2221 ; 1728 + 2222 ; 278 + 2223 ; 252 + 2224 ; 231 + 2225 ; 136 + 2226 ; 270 + 2227 ; 278 + 2228 ; 76 + 2229 ; 132 + 2230 ; 215 + 2231 ; 2181 + 2232 ; 114 + 2233 ; 249 + 2234 ; 278 + 2235 ; 209 + 2236 ; 96 + 2237 ; 221 + 2238 ; 116 + 2239 ; 192 + 2240 ; 224 + 2241 ; 1620 + 2242 ; 311 + 2243 ; 202 + 2244 ; 130 + 2245 ; 233 + 2246 ; 142 + 2247 ; 142 + 2248 ; 111 + 2249 ; 247 + 2250 ; 96 + 2251 ; 2292 + 2252 ; 146 + 2253 ; 249 + 2254 ; 255 + 2255 ; 198 + 2256 ; 234 + 2257 ; 189 + 2258 ; 201 + 2259 ; 139 + 2260 ; 126 + 2261 ; 2005 + 2262 ; 247 + 2263 ; 168 + 2264 ; 277 + 2265 ; 281 + 2266 ; 215 + 2267 ; 217 + 2268 ; 214 + 2269 ; 194 + 2270 ; 215 + 2271 ; 1618 + 2272 ; 188 + 2273 ; 129 + 2274 ; 155 + 2275 ; 147 + 2276 ; 207 + 2277 ; 291 + 2278 ; 259 + 2279 ; 81 + 2280 ; 247 + 2281 ; 1849 + 2282 ; 312 + 2283 ; 156 + 2284 ; 161 + 2285 ; 279 + 2286 ; 80 + 2287 ; 95 + 2288 ; 294 + 2289 ; 124 + 2290 ; 312 + 2291 ; 1689 + 2292 ; 200 + 2293 ; 243 + 2294 ; 201 + 2295 ; 224 + 2296 ; 156 + 2297 ; 198 + 2298 ; 179 + 2299 ; 230 + 2300 ; 108 + 2301 ; 1662 + 2302 ; 121 + 2303 ; 198 + 2304 ; 133 + 2305 ; 226 + 2306 ; 290 + 2307 ; 285 + 2308 ; 247 + 2309 ; 166 + 2310 ; 232 + 2311 ; 1903 + 2312 ; 99 + 2313 ; 242 + 2314 ; 87 + 2315 ; 183 + 2316 ; 234 + 2317 ; 122 + 2318 ; 284 + 2319 ; 118 + 2320 ; 256 + 2321 ; 2146 + 2322 ; 280 + 2323 ; 310 + 2324 ; 109 + 2325 ; 159 + 2326 ; 197 + 2327 ; 73 + 2328 ; 255 + 2329 ; 255 + 2330 ; 124 + 2331 ; 1713 + 2332 ; 126 + 2333 ; 188 + 2334 ; 155 + 2335 ; 217 + 2336 ; 120 + 2337 ; 75 + 2338 ; 263 + 2339 ; 83 + 2340 ; 277 + 2341 ; 1670 + 2342 ; 250 + 2343 ; 191 + 2344 ; 284 + 2345 ; 72 + 2346 ; 193 + 2347 ; 215 + 2348 ; 188 + 2349 ; 184 + 2350 ; 150 + 2351 ; 1810 + 2352 ; 257 + 2353 ; 161 + 2354 ; 245 + 2355 ; 256 + 2356 ; 301 + 2357 ; 87 + 2358 ; 194 + 2359 ; 136 + 2360 ; 254 + 2361 ; 2026 + 2362 ; 298 + 2363 ; 74 + 2364 ; 132 + 2365 ; 269 + 2366 ; 209 + 2367 ; 201 + 2368 ; 206 + 2369 ; 169 + 2370 ; 233 + 2371 ; 2307 + 2372 ; 299 + 2373 ; 273 + 2374 ; 221 + 2375 ; 281 + 2376 ; 173 + 2377 ; 141 + 2378 ; 144 + 2379 ; 297 + 2380 ; 143 + 2381 ; 2266 + 2382 ; 134 + 2383 ; 154 + 2384 ; 82 + 2385 ; 110 + 2386 ; 127 + 2387 ; 125 + 2388 ; 288 + 2389 ; 189 + 2390 ; 133 + 2391 ; 1708 + 2392 ; 102 + 2393 ; 100 + 2394 ; 289 + 2395 ; 107 + 2396 ; 144 + 2397 ; 306 + 2398 ; 174 + 2399 ; 197 + 2400 ; 113 + 2401 ; 1925 + 2402 ; 245 + 2403 ; 116 + 2404 ; 103 + 2405 ; 99 + 2406 ; 310 + 2407 ; 110 + 2408 ; 287 + 2409 ; 305 + 2410 ; 149 + 2411 ; 1951 + 2412 ; 269 + 2413 ; 181 + 2414 ; 94 + 2415 ; 145 + 2416 ; 96 + 2417 ; 154 + 2418 ; 257 + 2419 ; 211 + 2420 ; 303 + 2421 ; 2129 + 2422 ; 96 + 2423 ; 303 + 2424 ; 198 + 2425 ; 109 + 2426 ; 247 + 2427 ; 232 + 2428 ; 184 + 2429 ; 280 + 2430 ; 195 + 2431 ; 2402 + 2432 ; 188 + 2433 ; 85 + 2434 ; 118 + 2435 ; 154 + 2436 ; 228 + 2437 ; 121 + 2438 ; 151 + 2439 ; 240 + 2440 ; 300 + 2441 ; 2047 + 2442 ; 141 + 2443 ; 269 + 2444 ; 116 + 2445 ; 228 + 2446 ; 108 + 2447 ; 97 + 2448 ; 201 + 2449 ; 135 + 2450 ; 78 + 2451 ; 2306 + 2452 ; 289 + 2453 ; 208 + 2454 ; 146 + 2455 ; 149 + 2456 ; 122 + 2457 ; 277 + 2458 ; 260 + 2459 ; 243 + 2460 ; 199 + 2461 ; 1839 + 2462 ; 260 + 2463 ; 129 + 2464 ; 209 + 2465 ; 131 + 2466 ; 157 + 2467 ; 265 + 2468 ; 88 + 2469 ; 258 + 2470 ; 188 + 2471 ; 2077 + 2472 ; 167 + 2473 ; 299 + 2474 ; 151 + 2475 ; 300 + 2476 ; 139 + 2477 ; 150 + 2478 ; 274 + 2479 ; 134 + 2480 ; 115 + 2481 ; 1889 + 2482 ; 193 + 2483 ; 78 + 2484 ; 244 + 2485 ; 231 + 2486 ; 163 + 2487 ; 222 + 2488 ; 267 + 2489 ; 94 + 2490 ; 240 + 2491 ; 1710 + 2492 ; 129 + 2493 ; 289 + 2494 ; 275 + 2495 ; 233 + 2496 ; 275 + 2497 ; 158 + 2498 ; 300 + 2499 ; 135 + 2500 ; 133 + 2501 ; 2168 + 2502 ; 243 + 2503 ; 311 + 2504 ; 99 + 2505 ; 139 + 2506 ; 76 + 2507 ; 143 + 2508 ; 102 + 2509 ; 241 + 2510 ; 74 + 2511 ; 1971 + 2512 ; 288 + 2513 ; 164 + 2514 ; 89 + 2515 ; 193 + 2516 ; 164 + 2517 ; 98 + 2518 ; 239 + 2519 ; 244 + 2520 ; 105 + 2521 ; 1866 + 2522 ; 126 + 2523 ; 303 + 2524 ; 242 + 2525 ; 284 + 2526 ; 101 + 2527 ; 255 + 2528 ; 119 + 2529 ; 130 + 2530 ; 107 + 2531 ; 1649 + 2532 ; 227 + 2533 ; 223 + 2534 ; 244 + 2535 ; 270 + 2536 ; 208 + 2537 ; 299 + 2538 ; 243 + 2539 ; 161 + 2540 ; 264 + 2541 ; 2176 + 2542 ; 256 + 2543 ; 73 + 2544 ; 196 + 2545 ; 91 + 2546 ; 100 + 2547 ; 259 + 2548 ; 176 + 2549 ; 293 + 2550 ; 303 + 2551 ; 2350 + 2552 ; 113 + 2553 ; 295 + 2554 ; 274 + 2555 ; 126 + 2556 ; 165 + 2557 ; 152 + 2558 ; 170 + 2559 ; 144 + 2560 ; 131 + 2561 ; 1995 + 2562 ; 222 + 2563 ; 284 + 2564 ; 299 + 2565 ; 286 + 2566 ; 206 + 2567 ; 170 + 2568 ; 273 + 2569 ; 77 + 2570 ; 151 + 2571 ; 1774 + 2572 ; 287 + 2573 ; 116 + 2574 ; 238 + 2575 ; 298 + 2576 ; 227 + 2577 ; 149 + 2578 ; 233 + 2579 ; 180 + 2580 ; 279 + 2581 ; 1759 + 2582 ; 194 + 2583 ; 241 + 2584 ; 276 + 2585 ; 172 + 2586 ; 242 + 2587 ; 235 + 2588 ; 193 + 2589 ; 274 + 2590 ; 203 + 2591 ; 2405 + 2592 ; 87 + 2593 ; 171 + 2594 ; 131 + 2595 ; 256 + 2596 ; 115 + 2597 ; 76 + 2598 ; 177 + 2599 ; 190 + 2600 ; 279 + 2601 ; 1727 + 2602 ; 243 + 2603 ; 301 + 2604 ; 75 + 2605 ; 298 + 2606 ; 112 + 2607 ; 145 + 2608 ; 81 + 2609 ; 106 + 2610 ; 277 + 2611 ; 2355 + 2612 ; 89 + 2613 ; 154 + 2614 ; 304 + 2615 ; 150 + 2616 ; 113 + 2617 ; 311 + 2618 ; 217 + 2619 ; 173 + 2620 ; 267 + 2621 ; 2305 + 2622 ; 172 + 2623 ; 154 + 2624 ; 172 + 2625 ; 111 + 2626 ; 146 + 2627 ; 174 + 2628 ; 142 + 2629 ; 166 + 2630 ; 84 + 2631 ; 2013 + 2632 ; 240 + 2633 ; 204 + 2634 ; 221 + 2635 ; 72 + 2636 ; 109 + 2637 ; 234 + 2638 ; 129 + 2639 ; 220 + 2640 ; 203 + 2641 ; 2078 + 2642 ; 145 + 2643 ; 311 + 2644 ; 232 + 2645 ; 303 + 2646 ; 148 + 2647 ; 77 + 2648 ; 208 + 2649 ; 130 + 2650 ; 225 + 2651 ; 2336 + 2652 ; 163 + 2653 ; 92 + 2654 ; 212 + 2655 ; 275 + 2656 ; 117 + 2657 ; 122 + 2658 ; 121 + 2659 ; 270 + 2660 ; 222 + 2661 ; 2205 + 2662 ; 119 + 2663 ; 255 + 2664 ; 123 + 2665 ; 133 + 2666 ; 304 + 2667 ; 296 + 2668 ; 193 + 2669 ; 275 + 2670 ; 184 + 2671 ; 2189 + 2672 ; 265 + 2673 ; 142 + 2674 ; 216 + 2675 ; 89 + 2676 ; 245 + 2677 ; 213 + 2678 ; 225 + 2679 ; 177 + 2680 ; 74 + 2681 ; 2181 + 2682 ; 130 + 2683 ; 74 + 2684 ; 141 + 2685 ; 295 + 2686 ; 139 + 2687 ; 235 + 2688 ; 197 + 2689 ; 76 + 2690 ; 211 + 2691 ; 1719 + 2692 ; 114 + 2693 ; 194 + 2694 ; 137 + 2695 ; 131 + 2696 ; 156 + 2697 ; 139 + 2698 ; 134 + 2699 ; 152 + 2700 ; 280 + 2701 ; 1828 + 2702 ; 159 + 2703 ; 121 + 2704 ; 138 + 2705 ; 85 + 2706 ; 239 + 2707 ; 75 + 2708 ; 160 + 2709 ; 267 + 2710 ; 221 + 2711 ; 1816 + 2712 ; 205 + 2713 ; 279 + 2714 ; 175 + 2715 ; 274 + 2716 ; 171 + 2717 ; 118 + 2718 ; 169 + 2719 ; 122 + 2720 ; 300 + 2721 ; 1824 + 2722 ; 223 + 2723 ; 87 + 2724 ; 182 + 2725 ; 91 + 2726 ; 145 + 2727 ; 131 + 2728 ; 134 + 2729 ; 153 + 2730 ; 212 + 2731 ; 2156 + 2732 ; 264 + 2733 ; 276 + 2734 ; 262 + 2735 ; 123 + 2736 ; 234 + 2737 ; 288 + 2738 ; 282 + 2739 ; 169 + 2740 ; 160 + 2741 ; 2279 + 2742 ; 100 + 2743 ; 237 + 2744 ; 196 + 2745 ; 120 + 2746 ; 309 + 2747 ; 261 + 2748 ; 180 + 2749 ; 176 + 2750 ; 109 + 2751 ; 2167 + 2752 ; 238 + 2753 ; 246 + 2754 ; 143 + 2755 ; 224 + 2756 ; 276 + 2757 ; 249 + 2758 ; 241 + 2759 ; 105 + 2760 ; 94 + 2761 ; 2335 + 2762 ; 195 + 2763 ; 277 + 2764 ; 240 + 2765 ; 241 + 2766 ; 289 + 2767 ; 230 + 2768 ; 297 + 2769 ; 286 + 2770 ; 109 + 2771 ; 2060 + 2772 ; 155 + 2773 ; 302 + 2774 ; 205 + 2775 ; 175 + 2776 ; 161 + 2777 ; 78 + 2778 ; 189 + 2779 ; 149 + 2780 ; 252 + 2781 ; 2226 + 2782 ; 274 + 2783 ; 76 + 2784 ; 205 + 2785 ; 179 + 2786 ; 140 + 2787 ; 189 + 2788 ; 110 + 2789 ; 163 + 2790 ; 72 + 2791 ; 1831 + 2792 ; 194 + 2793 ; 215 + 2794 ; 232 + 2795 ; 119 + 2796 ; 180 + 2797 ; 298 + 2798 ; 160 + 2799 ; 218 + 2800 ; 114 + 2801 ; 2400 + 2802 ; 271 + 2803 ; 238 + 2804 ; 178 + 2805 ; 235 + 2806 ; 205 + 2807 ; 152 + 2808 ; 181 + 2809 ; 90 + 2810 ; 119 + 2811 ; 1923 + 2812 ; 256 + 2813 ; 112 + 2814 ; 181 + 2815 ; 148 + 2816 ; 290 + 2817 ; 233 + 2818 ; 253 + 2819 ; 119 + 2820 ; 119 + 2821 ; 1698 + 2822 ; 256 + 2823 ; 105 + 2824 ; 121 + 2825 ; 125 + 2826 ; 302 + 2827 ; 309 + 2828 ; 199 + 2829 ; 197 + 2830 ; 125 + 2831 ; 1702 + 2832 ; 251 + 2833 ; 89 + 2834 ; 222 + 2835 ; 85 + 2836 ; 214 + 2837 ; 120 + 2838 ; 116 + 2839 ; 178 + 2840 ; 260 + 2841 ; 2189 + 2842 ; 122 + 2843 ; 153 + 2844 ; 149 + 2845 ; 183 + 2846 ; 255 + 2847 ; 160 + 2848 ; 291 + 2849 ; 274 + 2850 ; 165 + 2851 ; 2267 + 2852 ; 177 + 2853 ; 167 + 2854 ; 193 + 2855 ; 79 + 2856 ; 190 + 2857 ; 202 + 2858 ; 248 + 2859 ; 299 + 2860 ; 268 + 2861 ; 1626 + 2862 ; 251 + 2863 ; 216 + 2864 ; 192 + 2865 ; 216 + 2866 ; 257 + 2867 ; 310 + 2868 ; 112 + 2869 ; 144 + 2870 ; 232 + 2871 ; 1647 + 2872 ; 101 + 2873 ; 118 + 2874 ; 271 + 2875 ; 241 + 2876 ; 257 + 2877 ; 237 + 2878 ; 142 + 2879 ; 195 + 2880 ; 231 + 2881 ; 2050 + 2882 ; 148 + 2883 ; 139 + 2884 ; 273 + 2885 ; 190 + 2886 ; 225 + 2887 ; 232 + 2888 ; 174 + 2889 ; 303 + 2890 ; 83 + 2891 ; 2280 + 2892 ; 99 + 2893 ; 108 + 2894 ; 184 + 2895 ; 140 + 2896 ; 96 + 2897 ; 288 + 2898 ; 89 + 2899 ; 124 + 2900 ; 257 + 2901 ; 2078 + 2902 ; 197 + 2903 ; 93 + 2904 ; 183 + 2905 ; 175 + 2906 ; 85 + 2907 ; 153 + 2908 ; 298 + 2909 ; 299 + 2910 ; 214 + 2911 ; 1872 + 2912 ; 279 + 2913 ; 220 + 2914 ; 254 + 2915 ; 196 + 2916 ; 189 + 2917 ; 168 + 2918 ; 170 + 2919 ; 162 + 2920 ; 166 + 2921 ; 1950 + 2922 ; 99 + 2923 ; 105 + 2924 ; 236 + 2925 ; 77 + 2926 ; 76 + 2927 ; 209 + 2928 ; 270 + 2929 ; 92 + 2930 ; 186 + 2931 ; 1625 + 2932 ; 228 + 2933 ; 137 + 2934 ; 294 + 2935 ; 114 + 2936 ; 307 + 2937 ; 163 + 2938 ; 264 + 2939 ; 230 + 2940 ; 171 + 2941 ; 1757 + 2942 ; 100 + 2943 ; 142 + 2944 ; 130 + 2945 ; 284 + 2946 ; 227 + 2947 ; 129 + 2948 ; 113 + 2949 ; 263 + 2950 ; 217 + 2951 ; 2221 + 2952 ; 173 + 2953 ; 274 + 2954 ; 202 + 2955 ; 260 + 2956 ; 191 + 2957 ; 94 + 2958 ; 248 + 2959 ; 312 + 2960 ; 290 + 2961 ; 1674 + 2962 ; 235 + 2963 ; 79 + 2964 ; 115 + 2965 ; 260 + 2966 ; 304 + 2967 ; 305 + 2968 ; 297 + 2969 ; 271 + 2970 ; 86 + 2971 ; 2249 + 2972 ; 132 + 2973 ; 146 + 2974 ; 205 + 2975 ; 240 + 2976 ; 283 + 2977 ; 117 + 2978 ; 97 + 2979 ; 200 + 2980 ; 114 + 2981 ; 1830 + 2982 ; 161 + 2983 ; 181 + 2984 ; 80 + 2985 ; 96 + 2986 ; 256 + 2987 ; 210 + 2988 ; 160 + 2989 ; 143 + 2990 ; 133 + 2991 ; 1900 + 2992 ; 177 + 2993 ; 176 + 2994 ; 86 + 2995 ; 78 + 2996 ; 153 + 2997 ; 277 + 2998 ; 187 + 2999 ; 295 + 3000 ; 291 + 3001 ; 2251 + 3002 ; 276 + 3003 ; 141 + 3004 ; 302 + 3005 ; 250 + 3006 ; 103 + 3007 ; 120 + 3008 ; 269 + 3009 ; 304 + 3010 ; 112 + 3011 ; 1996 + 3012 ; 234 + 3013 ; 99 + 3014 ; 230 + 3015 ; 109 + 3016 ; 239 + 3017 ; 253 + 3018 ; 308 + 3019 ; 215 + 3020 ; 287 + 3021 ; 2171 + 3022 ; 163 + 3023 ; 98 + 3024 ; 100 + 3025 ; 248 + 3026 ; 243 + 3027 ; 226 + 3028 ; 280 + 3029 ; 173 + 3030 ; 102 + 3031 ; 1803 + 3032 ; 133 + 3033 ; 293 + 3034 ; 101 + 3035 ; 129 + 3036 ; 100 + 3037 ; 304 + 3038 ; 183 + 3039 ; 149 + 3040 ; 120 + 3041 ; 2016 + 3042 ; 129 + 3043 ; 258 + 3044 ; 305 + 3045 ; 187 + 3046 ; 224 + 3047 ; 289 + 3048 ; 75 + 3049 ; 262 + 3050 ; 77 + 3051 ; 1944 + 3052 ; 237 + 3053 ; 159 + 3054 ; 78 + 3055 ; 81 + 3056 ; 124 + 3057 ; 304 + 3058 ; 114 + 3059 ; 180 + 3060 ; 248 + 3061 ; 1800 + 3062 ; 84 + 3063 ; 124 + 3064 ; 281 + 3065 ; 226 + 3066 ; 108 + 3067 ; 226 + 3068 ; 213 + 3069 ; 156 + 3070 ; 137 + 3071 ; 1901 + 3072 ; 309 + 3073 ; 232 + 3074 ; 139 + 3075 ; 203 + 3076 ; 220 + 3077 ; 77 + 3078 ; 216 + 3079 ; 138 + 3080 ; 78 + 3081 ; 1852 + 3082 ; 82 + 3083 ; 113 + 3084 ; 204 + 3085 ; 110 + 3086 ; 177 + 3087 ; 216 + 3088 ; 185 + 3089 ; 241 + 3090 ; 122 + 3091 ; 1864 + 3092 ; 106 + 3093 ; 194 + 3094 ; 303 + 3095 ; 171 + 3096 ; 231 + 3097 ; 179 + 3098 ; 148 + 3099 ; 190 + 3100 ; 195 + 3101 ; 1660 + 3102 ; 80 + 3103 ; 284 + 3104 ; 126 + 3105 ; 92 + 3106 ; 112 + 3107 ; 188 + 3108 ; 229 + 3109 ; 86 + 3110 ; 186 + 3111 ; 2025 + 3112 ; 270 + 3113 ; 237 + 3114 ; 169 + 3115 ; 250 + 3116 ; 79 + 3117 ; 312 + 3118 ; 144 + 3119 ; 286 + 3120 ; 85 + 3121 ; 2093 + 3122 ; 254 + 3123 ; 166 + 3124 ; 139 + 3125 ; 239 + 3126 ; 140 + 3127 ; 217 + 3128 ; 273 + 3129 ; 274 + 3130 ; 262 + 3131 ; 1985 + 3132 ; 129 + 3133 ; 266 + 3134 ; 138 + 3135 ; 160 + 3136 ; 122 + 3137 ; 165 + 3138 ; 274 + 3139 ; 292 + 3140 ; 306 + 3141 ; 2087 + 3142 ; 303 + 3143 ; 312 + 3144 ; 203 + 3145 ; 263 + 3146 ; 84 + 3147 ; 110 + 3148 ; 79 + 3149 ; 281 + 3150 ; 300 + 3151 ; 1892 + 3152 ; 227 + 3153 ; 297 + 3154 ; 225 + 3155 ; 305 + 3156 ; 230 + 3157 ; 305 + 3158 ; 185 + 3159 ; 142 + 3160 ; 129 + 3161 ; 2303 + 3162 ; 266 + 3163 ; 155 + 3164 ; 197 + 3165 ; 254 + 3166 ; 177 + 3167 ; 104 + 3168 ; 88 + 3169 ; 295 + 3170 ; 216 + 3171 ; 2338 + 3172 ; 283 + 3173 ; 144 + 3174 ; 260 + 3175 ; 221 + 3176 ; 89 + 3177 ; 139 + 3178 ; 303 + 3179 ; 162 + 3180 ; 204 + 3181 ; 1708 + 3182 ; 214 + 3183 ; 178 + 3184 ; 199 + 3185 ; 308 + 3186 ; 288 + 3187 ; 180 + 3188 ; 102 + 3189 ; 180 + 3190 ; 247 + 3191 ; 1990 + 3192 ; 258 + 3193 ; 245 + 3194 ; 154 + 3195 ; 244 + 3196 ; 74 + 3197 ; 189 + 3198 ; 284 + 3199 ; 122 + 3200 ; 305 + 3201 ; 1825 + 3202 ; 88 + 3203 ; 153 + 3204 ; 236 + 3205 ; 186 + 3206 ; 222 + 3207 ; 84 + 3208 ; 80 + 3209 ; 192 + 3210 ; 126 + 3211 ; 2314 + 3212 ; 219 + 3213 ; 242 + 3214 ; 160 + 3215 ; 75 + 3216 ; 305 + 3217 ; 252 + 3218 ; 310 + 3219 ; 303 + 3220 ; 275 + 3221 ; 1643 + 3222 ; 271 + 3223 ; 136 + 3224 ; 115 + 3225 ; 160 + 3226 ; 127 + 3227 ; 236 + 3228 ; 306 + 3229 ; 152 + 3230 ; 212 + 3231 ; 1951 + 3232 ; 185 + 3233 ; 291 + 3234 ; 136 + 3235 ; 120 + 3236 ; 74 + 3237 ; 134 + 3238 ; 303 + 3239 ; 171 + 3240 ; 83 + 3241 ; 1619 + 3242 ; 292 + 3243 ; 177 + 3244 ; 307 + 3245 ; 83 + 3246 ; 258 + 3247 ; 213 + 3248 ; 146 + 3249 ; 184 + 3250 ; 253 + 3251 ; 2119 + 3252 ; 246 + 3253 ; 122 + 3254 ; 142 + 3255 ; 188 + 3256 ; 211 + 3257 ; 122 + 3258 ; 91 + 3259 ; 176 + 3260 ; 218 + 3261 ; 1649 + 3262 ; 109 + 3263 ; 218 + 3264 ; 123 + 3265 ; 187 + 3266 ; 275 + 3267 ; 207 + 3268 ; 77 + 3269 ; 198 + 3270 ; 271 + 3271 ; 1751 + 3272 ; 157 + 3273 ; 98 + 3274 ; 298 + 3275 ; 236 + 3276 ; 247 + 3277 ; 100 + 3278 ; 114 + 3279 ; 244 + 3280 ; 193 + 3281 ; 1988 + 3282 ; 242 + 3283 ; 171 + 3284 ; 251 + 3285 ; 104 + 3286 ; 114 + 3287 ; 178 + 3288 ; 213 + 3289 ; 283 + 3290 ; 196 + 3291 ; 1633 + 3292 ; 208 + 3293 ; 230 + 3294 ; 292 + 3295 ; 83 + 3296 ; 72 + 3297 ; 137 + 3298 ; 116 + 3299 ; 306 + 3300 ; 128 + 3301 ; 1698 + 3302 ; 280 + 3303 ; 97 + 3304 ; 90 + 3305 ; 277 + 3306 ; 79 + 3307 ; 247 + 3308 ; 202 + 3309 ; 76 + 3310 ; 102 + 3311 ; 2386 + 3312 ; 134 + 3313 ; 94 + 3314 ; 194 + 3315 ; 99 + 3316 ; 307 + 3317 ; 211 + 3318 ; 179 + 3319 ; 116 + 3320 ; 127 + 3321 ; 1640 + 3322 ; 247 + 3323 ; 112 + 3324 ; 283 + 3325 ; 111 + 3326 ; 290 + 3327 ; 247 + 3328 ; 168 + 3329 ; 287 + 3330 ; 248 + 3331 ; 2137 + 3332 ; 244 + 3333 ; 295 + 3334 ; 132 + 3335 ; 160 + 3336 ; 82 + 3337 ; 295 + 3338 ; 304 + 3339 ; 101 + 3340 ; 235 + 3341 ; 1696 + 3342 ; 265 + 3343 ; 279 + 3344 ; 149 + 3345 ; 270 + 3346 ; 123 + 3347 ; 235 + 3348 ; 286 + 3349 ; 80 + 3350 ; 228 + 3351 ; 2405 + 3352 ; 228 + 3353 ; 217 + 3354 ; 90 + 3355 ; 72 + 3356 ; 73 + 3357 ; 102 + 3358 ; 145 + 3359 ; 180 + 3360 ; 288 + 3361 ; 2293 + 3362 ; 112 + 3363 ; 214 + 3364 ; 225 + 3365 ; 253 + 3366 ; 204 + 3367 ; 84 + 3368 ; 132 + 3369 ; 244 + 3370 ; 174 + 3371 ; 2290 + 3372 ; 185 + 3373 ; 130 + 3374 ; 152 + 3375 ; 276 + 3376 ; 236 + 3377 ; 254 + 3378 ; 249 + 3379 ; 238 + 3380 ; 138 + 3381 ; 2097 + 3382 ; 242 + 3383 ; 306 + 3384 ; 87 + 3385 ; 151 + 3386 ; 114 + 3387 ; 166 + 3388 ; 74 + 3389 ; 203 + 3390 ; 75 + 3391 ; 1734 + 3392 ; 86 + 3393 ; 258 + 3394 ; 293 + 3395 ; 264 + 3396 ; 154 + 3397 ; 246 + 3398 ; 151 + 3399 ; 272 + 3400 ; 161 + 3401 ; 1617 + 3402 ; 138 + 3403 ; 266 + 3404 ; 95 + 3405 ; 307 + 3406 ; 76 + 3407 ; 96 + 3408 ; 251 + 3409 ; 244 + 3410 ; 133 + 3411 ; 2018 + 3412 ; 78 + 3413 ; 238 + 3414 ; 143 + 3415 ; 80 + 3416 ; 177 + 3417 ; 151 + 3418 ; 129 + 3419 ; 120 + 3420 ; 280 + 3421 ; 1871 + 3422 ; 214 + 3423 ; 97 + 3424 ; 284 + 3425 ; 206 + 3426 ; 164 + 3427 ; 294 + 3428 ; 193 + 3429 ; 309 + 3430 ; 264 + 3431 ; 2325 + 3432 ; 260 + 3433 ; 140 + 3434 ; 219 + 3435 ; 263 + 3436 ; 143 + 3437 ; 221 + 3438 ; 210 + 3439 ; 264 + 3440 ; 84 + 3441 ; 2207 + 3442 ; 282 + 3443 ; 106 + 3444 ; 300 + 3445 ; 293 + 3446 ; 87 + 3447 ; 132 + 3448 ; 139 + 3449 ; 117 + 3450 ; 115 + 3451 ; 2000 + 3452 ; 157 + 3453 ; 206 + 3454 ; 123 + 3455 ; 210 + 3456 ; 94 + 3457 ; 208 + 3458 ; 277 + 3459 ; 180 + 3460 ; 161 + 3461 ; 2353 + 3462 ; 88 + 3463 ; 78 + 3464 ; 101 + 3465 ; 116 + 3466 ; 117 + 3467 ; 196 + 3468 ; 145 + 3469 ; 241 + 3470 ; 169 + 3471 ; 2331 + 3472 ; 136 + 3473 ; 101 + 3474 ; 286 + 3475 ; 252 + 3476 ; 273 + 3477 ; 204 + 3478 ; 188 + 3479 ; 238 + 3480 ; 225 + 3481 ; 2313 + 3482 ; 224 + 3483 ; 300 + 3484 ; 72 + 3485 ; 225 + 3486 ; 115 + 3487 ; 294 + 3488 ; 73 + 3489 ; 74 + 3490 ; 222 + 3491 ; 1911 + 3492 ; 165 + 3493 ; 222 + 3494 ; 271 + 3495 ; 94 + 3496 ; 204 + 3497 ; 290 + 3498 ; 117 + 3499 ; 113 + 3500 ; 270 + 3501 ; 1881 + 3502 ; 226 + 3503 ; 156 + 3504 ; 175 + 3505 ; 280 + 3506 ; 141 + 3507 ; 297 + 3508 ; 117 + 3509 ; 150 + 3510 ; 203 + 3511 ; 2100 + 3512 ; 74 + 3513 ; 241 + 3514 ; 219 + 3515 ; 99 + 3516 ; 270 + 3517 ; 197 + 3518 ; 222 + 3519 ; 231 + 3520 ; 161 + 3521 ; 2046 + 3522 ; 178 + 3523 ; 134 + 3524 ; 136 + 3525 ; 243 + 3526 ; 87 + 3527 ; 210 + 3528 ; 106 + 3529 ; 79 + 3530 ; 120 + 3531 ; 2056 + 3532 ; 256 + 3533 ; 119 + 3534 ; 298 + 3535 ; 281 + 3536 ; 280 + 3537 ; 270 + 3538 ; 292 + 3539 ; 114 + 3540 ; 95 + 3541 ; 2198 + 3542 ; 103 + 3543 ; 284 + 3544 ; 300 + 3545 ; 275 + 3546 ; 287 + 3547 ; 273 + 3548 ; 201 + 3549 ; 139 + 3550 ; 176 + 3551 ; 2074 + 3552 ; 216 + 3553 ; 246 + 3554 ; 170 + 3555 ; 133 + 3556 ; 273 + 3557 ; 102 + 3558 ; 209 + 3559 ; 312 + 3560 ; 163 + 3561 ; 2049 + 3562 ; 178 + 3563 ; 258 + 3564 ; 108 + 3565 ; 281 + 3566 ; 152 + 3567 ; 157 + 3568 ; 158 + 3569 ; 170 + 3570 ; 301 + 3571 ; 2002 + 3572 ; 259 + 3573 ; 192 + 3574 ; 91 + 3575 ; 79 + 3576 ; 302 + 3577 ; 181 + 3578 ; 269 + 3579 ; 260 + 3580 ; 100 + 3581 ; 2327 + 3582 ; 252 + 3583 ; 193 + 3584 ; 149 + 3585 ; 263 + 3586 ; 303 + 3587 ; 96 + 3588 ; 289 + 3589 ; 158 + 3590 ; 258 + 3591 ; 1872 + 3592 ; 110 + 3593 ; 74 + 3594 ; 236 + 3595 ; 160 + 3596 ; 127 + 3597 ; 86 + 3598 ; 86 + 3599 ; 251 + 3600 ; 260 + 3601 ; 1743 + 3602 ; 250 + 3603 ; 162 + 3604 ; 255 + 3605 ; 93 + 3606 ; 144 + 3607 ; 292 + 3608 ; 152 + 3609 ; 295 + 3610 ; 176 + 3611 ; 1926 + 3612 ; 211 + 3613 ; 142 + 3614 ; 135 + 3615 ; 164 + 3616 ; 246 + 3617 ; 290 + 3618 ; 263 + 3619 ; 222 + 3620 ; 114 + 3621 ; 1792 + 3622 ; 189 + 3623 ; 116 + 3624 ; 156 + 3625 ; 234 + 3626 ; 304 + 3627 ; 107 + 3628 ; 305 + 3629 ; 166 + 3630 ; 83 + 3631 ; 2403 + 3632 ; 283 + 3633 ; 106 + 3634 ; 111 + 3635 ; 127 + 3636 ; 286 + 3637 ; 203 + 3638 ; 198 + 3639 ; 263 + 3640 ; 255 + 3641 ; 2318 + 3642 ; 188 + 3643 ; 167 + 3644 ; 129 + 3645 ; 200 + 3646 ; 156 + 3647 ; 192 + 3648 ; 279 + 3649 ; 292 + 3650 ; 120 + 3651 ; 1647 + 3652 ; 279 + 3653 ; 288 + 3654 ; 141 + 3655 ; 285 + 3656 ; 289 + 3657 ; 273 + 3658 ; 121 + 3659 ; 302 + 3660 ; 130 + 3661 ; 1635 + 3662 ; 197 + 3663 ; 305 + 3664 ; 159 + 3665 ; 103 + 3666 ; 217 + 3667 ; 78 + 3668 ; 141 + 3669 ; 299 + 3670 ; 132 + 3671 ; 2130 + 3672 ; 247 + 3673 ; 226 + 3674 ; 104 + 3675 ; 294 + 3676 ; 86 + 3677 ; 175 + 3678 ; 95 + 3679 ; 209 + 3680 ; 124 + 3681 ; 2311 + 3682 ; 283 + 3683 ; 227 + 3684 ; 161 + 3685 ; 155 + 3686 ; 230 + 3687 ; 139 + 3688 ; 301 + 3689 ; 311 + 3690 ; 102 + 3691 ; 2217 + 3692 ; 277 + 3693 ; 184 + 3694 ; 291 + 3695 ; 237 + 3696 ; 72 + 3697 ; 144 + 3698 ; 281 + 3699 ; 263 + 3700 ; 233 + 3701 ; 1619 + 3702 ; 198 + 3703 ; 91 + 3704 ; 202 + 3705 ; 146 + 3706 ; 155 + 3707 ; 312 + 3708 ; 130 + 3709 ; 278 + 3710 ; 131 + 3711 ; 2071 + 3712 ; 101 + 3713 ; 82 + 3714 ; 254 + 3715 ; 270 + 3716 ; 131 + 3717 ; 150 + 3718 ; 154 + 3719 ; 90 + 3720 ; 145 + 3721 ; 2021 + 3722 ; 259 + 3723 ; 271 + 3724 ; 168 + 3725 ; 193 + 3726 ; 231 + 3727 ; 278 + 3728 ; 119 + 3729 ; 85 + 3730 ; 193 + 3731 ; 2118 + 3732 ; 128 + 3733 ; 101 + 3734 ; 278 + 3735 ; 181 + 3736 ; 231 + 3737 ; 226 + 3738 ; 239 + 3739 ; 162 + 3740 ; 249 + 3741 ; 1738 + 3742 ; 169 + 3743 ; 209 + 3744 ; 139 + 3745 ; 167 + 3746 ; 290 + 3747 ; 85 + 3748 ; 86 + 3749 ; 303 + 3750 ; 152 + 3751 ; 1744 + 3752 ; 111 + 3753 ; 263 + 3754 ; 86 + 3755 ; 241 + 3756 ; 74 + 3757 ; 297 + 3758 ; 77 + 3759 ; 281 + 3760 ; 168 + 3761 ; 1799 + 3762 ; 91 + 3763 ; 239 + 3764 ; 231 + 3765 ; 123 + 3766 ; 155 + 3767 ; 234 + 3768 ; 145 + 3769 ; 103 + 3770 ; 75 + 3771 ; 2226 + 3772 ; 226 + 3773 ; 283 + 3774 ; 146 + 3775 ; 206 + 3776 ; 266 + 3777 ; 231 + 3778 ; 205 + 3779 ; 128 + 3780 ; 236 + 3781 ; 2105 + 3782 ; 283 + 3783 ; 202 + 3784 ; 243 + 3785 ; 297 + 3786 ; 175 + 3787 ; 211 + 3788 ; 98 + 3789 ; 304 + 3790 ; 192 + 3791 ; 2025 + 3792 ; 268 + 3793 ; 80 + 3794 ; 311 + 3795 ; 136 + 3796 ; 208 + 3797 ; 250 + 3798 ; 170 + 3799 ; 102 + 3800 ; 196 + 3801 ; 2258 + 3802 ; 312 + 3803 ; 273 + 3804 ; 129 + 3805 ; 271 + 3806 ; 241 + 3807 ; 96 + 3808 ; 95 + 3809 ; 140 + 3810 ; 169 + 3811 ; 1639 + 3812 ; 187 + 3813 ; 84 + 3814 ; 121 + 3815 ; 286 + 3816 ; 154 + 3817 ; 290 + 3818 ; 197 + 3819 ; 164 + 3820 ; 287 + 3821 ; 1956 + 3822 ; 203 + 3823 ; 201 + 3824 ; 270 + 3825 ; 177 + 3826 ; 146 + 3827 ; 282 + 3828 ; 208 + 3829 ; 208 + 3830 ; 124 + 3831 ; 2223 + 3832 ; 306 + 3833 ; 230 + 3834 ; 224 + 3835 ; 296 + 3836 ; 300 + 3837 ; 226 + 3838 ; 292 + 3839 ; 230 + 3840 ; 224 + 3841 ; 1954 + 3842 ; 148 + 3843 ; 133 + 3844 ; 273 + 3845 ; 135 + 3846 ; 73 + 3847 ; 184 + 3848 ; 297 + 3849 ; 91 + 3850 ; 218 + 3851 ; 2401 + 3852 ; 303 + 3853 ; 214 + 3854 ; 156 + 3855 ; 152 + 3856 ; 191 + 3857 ; 133 + 3858 ; 217 + 3859 ; 187 + 3860 ; 243 + 3861 ; 1856 + 3862 ; 255 + 3863 ; 198 + 3864 ; 272 + 3865 ; 95 + 3866 ; 270 + 3867 ; 225 + 3868 ; 156 + 3869 ; 242 + 3870 ; 298 + 3871 ; 2330 + 3872 ; 291 + 3873 ; 100 + 3874 ; 256 + 3875 ; 219 + 3876 ; 97 + 3877 ; 150 + 3878 ; 155 + 3879 ; 288 + 3880 ; 105 + 3881 ; 2310 + 3882 ; 158 + 3883 ; 296 + 3884 ; 121 + 3885 ; 138 + 3886 ; 180 + 3887 ; 213 + 3888 ; 148 + 3889 ; 306 + 3890 ; 258 + 3891 ; 2190 + 3892 ; 157 + 3893 ; 118 + 3894 ; 108 + 3895 ; 85 + 3896 ; 218 + 3897 ; 91 + 3898 ; 98 + 3899 ; 242 + 3900 ; 129 + 3901 ; 2117 + 3902 ; 284 + 3903 ; 134 + 3904 ; 224 + 3905 ; 250 + 3906 ; 210 + 3907 ; 198 + 3908 ; 119 + 3909 ; 73 + 3910 ; 85 + 3911 ; 1934 + 3912 ; 297 + 3913 ; 243 + 3914 ; 156 + 3915 ; 305 + 3916 ; 194 + 3917 ; 104 + 3918 ; 275 + 3919 ; 88 + 3920 ; 132 + 3921 ; 2164 + 3922 ; 109 + 3923 ; 308 + 3924 ; 167 + 3925 ; 178 + 3926 ; 114 + 3927 ; 169 + 3928 ; 122 + 3929 ; 266 + 3930 ; 108 + 3931 ; 2403 + 3932 ; 228 + 3933 ; 229 + 3934 ; 106 + 3935 ; 301 + 3936 ; 297 + 3937 ; 207 + 3938 ; 189 + 3939 ; 270 + 3940 ; 280 + 3941 ; 1918 + 3942 ; 190 + 3943 ; 238 + 3944 ; 98 + 3945 ; 181 + 3946 ; 258 + 3947 ; 296 + 3948 ; 109 + 3949 ; 128 + 3950 ; 143 + 3951 ; 2353 + 3952 ; 96 + 3953 ; 301 + 3954 ; 136 + 3955 ; 112 + 3956 ; 289 + 3957 ; 102 + 3958 ; 272 + 3959 ; 182 + 3960 ; 189 + 3961 ; 1693 + 3962 ; 187 + 3963 ; 180 + 3964 ; 307 + 3965 ; 83 + 3966 ; 205 + 3967 ; 251 + 3968 ; 123 + 3969 ; 115 + 3970 ; 122 + 3971 ; 1949 + 3972 ; 283 + 3973 ; 260 + 3974 ; 110 + 3975 ; 165 + 3976 ; 211 + 3977 ; 194 + 3978 ; 239 + 3979 ; 198 + 3980 ; 96 + 3981 ; 1967 + 3982 ; 269 + 3983 ; 74 + 3984 ; 242 + 3985 ; 203 + 3986 ; 253 + 3987 ; 244 + 3988 ; 138 + 3989 ; 115 + 3990 ; 260 + 3991 ; 2331 + 3992 ; 141 + 3993 ; 201 + 3994 ; 75 + 3995 ; 226 + 3996 ; 263 + 3997 ; 111 + 3998 ; 124 + 3999 ; 111 + 4000 ; 86 + Last second: 74075 + Proof time target: 1826 + Average proposal time: 17 + Average proof time: 374 + +logCount,time,lastVerifiedBlockId,numBlocks,blockFee,accProposedAt + !----------------------------- + 1;1;0;1;100000000;0 + 2;12;0;1;100000000;0 + 3;20;0;2;100000000;20 + 4;24;0;2;100000000;20 + 5;36;0;2;100000000;20 + 6;43;0;3;100000000;63 + 7;48;0;3;100000000;63 + 8;60;0;3;100000000;63 + 9;62;0;4;100000000;125 + 10;72;0;4;100000000;125 + 11;74;0;5;100000000;199 + 12;84;0;5;100000000;199 + 13;88;0;6;100000000;287 + 14;96;0;6;100000000;287 + 15;105;0;7;100000000;392 + 16;108;0;7;100000000;392 + 17;120;0;7;100000000;392 + 18;126;0;8;100000000;518 + 19;132;0;8;100000000;518 + 20;139;0;9;100000000;657 + 21;144;0;9;100000000;657 + 22;156;0;9;100000000;657 + 23;162;0;10;100000000;819 + 24;168;0;10;100000000;819 + 25;175;0;11;100000000;994 + 26;180;0;11;100000000;994 + 27;188;0;12;100000000;1182 + 28;192;0;12;100000000;1182 + 29;204;0;12;100000000;1182 + 30;204;0;13;100000000;1386 + 31;216;0;13;100000000;1386 + 32;219;0;14;100000000;1605 + 33;228;0;14;100000000;1605 + 34;240;0;14;100000000;1605 + 35;243;0;15;100000000;1848 + 36;252;0;15;100000000;1848 + 37;264;0;15;100000000;1848 + 38;267;0;16;100000000;2115 + 39;276;0;16;100000000;2115 + 40;280;0;17;100000000;2395 + 41;288;0;17;100000000;2395 + 42;292;0;18;100000000;2687 + 43;300;0;18;100000000;2687 + 44;311;0;19;100000000;2998 + 45;312;0;19;100000000;2998 + 46;324;0;19;100000000;2998 + 47;331;0;20;100000000;3329 + 48;336;0;20;100000000;3329 + 49;348;0;20;100000000;3329 + 50;351;0;21;100000000;3680 + 51;360;0;21;100000000;3680 + 52;367;0;22;100000000;4047 + 53;372;0;22;100000000;4047 + 54;384;0;22;100000000;4047 + 55;384;0;23;100000000;4431 + 56;396;0;23;100000000;4431 + 57;404;0;24;100000000;4835 + 58;408;0;24;100000000;4835 + 59;420;0;24;100000000;4835 + 60;428;0;25;100000000;5263 + 61;432;0;25;100000000;5263 + 62;444;0;25;100000000;5263 + 63;445;0;26;100000000;5708 + 64;456;0;26;100000000;5708 + 65;458;0;27;100000000;6166 + 66;468;0;27;100000000;6166 + 67;472;0;28;100000000;6638 + 68;480;0;28;100000000;6638 + 69;492;0;28;100000000;6638 + 70;492;0;29;100000000;7130 + 71;504;0;29;100000000;7130 + 72;509;0;30;100000000;7639 + 73;516;0;30;100000000;7639 + 74;528;0;30;100000000;7639 + 75;530;0;31;100000000;8169 + 76;540;0;31;100000000;8169 + 77;552;0;31;100000000;8169 + 78;552;0;32;100000000;8721 + 79;564;0;32;100000000;8721 + 80;573;0;33;100000000;9294 + 81;576;0;33;100000000;9294 + 82;588;0;33;100000000;9294 + 83;594;0;34;100000000;9888 + 84;600;0;34;100000000;9888 + 85;609;0;35;100000000;10497 + 86;612;0;35;100000000;10497 + 87;624;0;35;100000000;10497 + 88;629;0;36;100000000;11126 + 89;636;0;36;100000000;11126 + 90;642;0;37;100000000;11768 + 91;648;0;37;100000000;11768 + 92;660;0;37;100000000;11768 + 93;665;0;38;100000000;12433 + 94;672;0;38;100000000;12433 + 95;679;0;39;100000000;13112 + 96;684;0;39;100000000;13112 + 97;693;0;40;100000000;13805 + 98;696;0;40;100000000;13805 + 99;708;0;40;100000000;13805 + 100;711;0;41;100000000;14516 + 101;720;0;41;100000000;14516 + 102;724;0;42;100000000;15240 + 103;732;0;42;100000000;15240 + 104;737;0;43;100000000;15977 + 105;744;0;43;100000000;15977 + 106;753;0;44;100000000;16730 + 107;756;0;44;100000000;16730 + 108;768;0;44;100000000;16730 + 109;776;0;45;100000000;17506 + 110;780;0;45;100000000;17506 + 111;792;0;45;100000000;17506 + 112;795;0;46;100000000;18301 + 113;804;0;46;100000000;18301 + 114;814;0;47;100000000;19115 + 115;816;0;47;100000000;19115 + 116;827;0;48;100000000;19942 + 117;828;0;48;100000000;19942 + 118;840;0;48;100000000;19942 + 119;843;0;49;100000000;20785 + 120;852;0;49;100000000;20785 + 121;856;0;50;100000000;21641 + 122;864;0;50;100000000;21641 + 123;868;0;51;100000000;22509 + 124;876;0;51;100000000;22509 + 125;888;0;51;100000000;22509 + 126;890;0;52;100000000;23399 + 127;900;0;52;100000000;23399 + 128;903;0;53;100000000;24302 + 129;912;0;53;100000000;24302 + 130;921;0;54;100000000;25223 + 131;924;0;54;100000000;25223 + 132;933;0;55;100000000;26156 + 133;936;0;55;100000000;26156 + 134;948;0;55;100000000;26156 + 135;957;0;56;100000000;27113 + 136;960;0;56;100000000;27113 + 137;970;0;57;100000000;28083 + 138;972;0;57;100000000;28083 + 139;984;0;57;100000000;28083 + 140;984;0;58;100000000;29067 + 141;996;0;58;100000000;29067 + 142;1006;0;59;100000000;30073 + 143;1008;0;59;100000000;30073 + 144;1020;0;59;100000000;30073 + 145;1021;0;60;100000000;31094 + 146;1032;0;60;100000000;31094 + 147;1044;0;60;100000000;31094 + 148;1044;0;61;100000000;32138 + 149;1056;0;61;100000000;32138 + 150;1056;0;62;100000000;33194 + 151;1068;0;62;100000000;33194 + 152;1075;0;63;100000000;34269 + 153;1080;0;63;100000000;34269 + 154;1092;0;63;100000000;34269 + 155;1096;0;64;100000000;35365 + 156;1104;0;64;100000000;35365 + 157;1113;0;65;100000000;36478 + 158;1116;0;65;100000000;36478 + 159;1126;0;66;100000000;37604 + 160;1128;0;66;100000000;37604 + 161;1140;0;66;100000000;37604 + 162;1147;0;67;100000000;38751 + 163;1152;0;67;100000000;38751 + 164;1164;0;67;100000000;38751 + 165;1169;0;68;100000000;39920 + 166;1176;0;68;100000000;39920 + 167;1187;0;69;100000000;41107 + 168;1188;0;69;100000000;41107 + 169;1200;0;69;100000000;41107 + 170;1206;0;70;100000000;42313 + 171;1212;0;70;100000000;42313 + 172;1224;0;70;100000000;42313 + 173;1230;0;71;100000000;43543 + 174;1236;0;71;100000000;43543 + 175;1245;0;72;100000000;44788 + 176;1248;0;72;100000000;44788 + 177;1258;0;73;100000000;46046 + 178;1260;0;73;100000000;46046 + 179;1272;0;73;100000000;46046 + 180;1279;0;74;100000000;47325 + 181;1284;0;74;100000000;47325 + 182;1291;0;75;100000000;48616 + 183;1296;0;75;100000000;48616 + 184;1307;0;76;100000000;49923 + 185;1308;0;76;100000000;49923 + 186;1320;0;76;100000000;49923 + 187;1329;0;77;100000000;51252 + 188;1332;0;77;100000000;51252 + 189;1344;0;77;100000000;51252 + 190;1345;0;78;100000000;52597 + 191;1356;0;78;100000000;52597 + 192;1357;0;79;100000000;53954 + 193;1368;0;79;100000000;53954 + 194;1373;0;80;100000000;55327 + 195;1380;0;80;100000000;55327 + 196;1391;0;81;100000000;56718 + 197;1392;0;81;100000000;56718 + 198;1404;0;81;100000000;56718 + 199;1408;0;82;100000000;58126 + 200;1416;0;82;100000000;58126 + 201;1428;0;82;100000000;58126 + 202;1428;0;83;100000000;59554 + 203;1440;0;83;100000000;59554 + 204;1445;0;84;100000000;60999 + 205;1452;0;84;100000000;60999 + 206;1464;0;84;100000000;60999 + 207;1464;0;85;100000000;62463 + 208;1476;0;85;100000000;62463 + 209;1480;0;86;100000000;63943 + 210;1488;0;86;100000000;63943 + 211;1496;0;87;100000000;65439 + 212;1500;0;87;100000000;65439 + 213;1512;0;87;100000000;65439 + 214;1514;0;88;100000000;66953 + 215;1524;0;88;100000000;66953 + 216;1536;0;88;100000000;66953 + 217;1537;0;89;100000000;68490 + 218;1548;0;89;100000000;68490 + 219;1553;0;90;100000000;70043 + 220;1560;0;90;100000000;70043 + 221;1569;0;91;100000000;71612 + 222;1572;0;91;100000000;71612 + 223;1584;0;91;100000000;71612 + 224;1584;0;92;100000000;73196 + 225;1596;0;92;100000000;73196 + 226;1599;0;93;100000000;74795 + 227;1608;0;93;100000000;74795 + 228;1618;0;94;100000000;76413 + 229;1620;0;94;100000000;76413 + 230;1632;0;94;100000000;76413 + 231;1640;0;95;100000000;78053 + 232;1644;0;95;100000000;78053 + 233;1656;0;95;100000000;78053 + 234;1656;0;96;100000000;79709 + 235;1668;0;96;100000000;79709 + 236;1678;0;97;100000000;81387 + 237;1680;0;97;100000000;81387 + 238;1692;0;97;100000000;81387 + 239;1697;0;98;100000000;83084 + 240;1704;0;98;100000000;83084 + 241;1710;0;99;100000000;84794 + 242;1716;0;99;100000000;84794 + 243;1724;0;100;100000000;86518 + 244;1728;0;100;100000000;86518 + 245;1740;0;100;100000000;86518 + 246;1743;0;101;100000000;88261 + 247;1752;0;101;100000000;88261 + 248;1762;0;102;100000000;90023 + 249;1764;0;102;100000000;90023 + 250;1776;0;102;100000000;90023 + 251;1785;0;103;100000000;91808 + 252;1788;0;103;100000000;91808 + 253;1800;0;103;100000000;91808 + 254;1807;10;104;59848174;92621 + 255;1812;10;104;59848174;92621 + 256;1824;10;104;59848174;92621 + 257;1825;10;105;59848174;94446 + 258;1836;10;105;59848174;94446 + 259;1843;10;106;59848174;96289 + 260;1848;10;106;59848174;96289 + 261;1857;10;107;59848174;98146 + 262;1860;10;107;59848174;98146 + 263;1872;10;107;59848174;98146 + 264;1874;10;108;59848174;100020 + 265;1884;10;108;59848174;100020 + 266;1896;10;108;59848174;100020 + 267;1898;10;109;59848174;101918 + 268;1908;10;109;59848174;101918 + 269;1910;10;110;59848174;103828 + 270;1920;10;110;59848174;103828 + 271;1928;10;111;59848174;105756 + 272;1932;10;111;59848174;105756 + 273;1944;10;111;59848174;105756 + 274;1952;10;112;59848174;107708 + 275;1956;10;112;59848174;107708 + 276;1964;10;113;59848174;109672 + 277;1968;10;113;59848174;109672 + 278;1980;10;113;59848174;109672 + 279;1982;10;114;59848174;111654 + 280;1992;10;114;59848174;111654 + 281;2001;10;115;59848174;113655 + 282;2004;10;115;59848174;113655 + 283;2016;10;115;59848174;113655 + 284;2025;20;116;35755941;112994 + 285;2028;20;116;35755941;112994 + 286;2040;20;116;35755941;112994 + 287;2046;20;117;35755941;115040 + 288;2052;20;117;35755941;115040 + 289;2064;20;117;35755941;115040 + 290;2066;20;118;35755941;117106 + 291;2076;20;118;35755941;117106 + 292;2079;20;119;35755941;119185 + 293;2088;20;119;35755941;119185 + 294;2100;20;119;35755941;119185 + 295;2102;20;120;35755941;121287 + 296;2112;20;120;35755941;121287 + 297;2124;20;120;35755941;121287 + 298;2124;20;121;35755941;123411 + 299;2136;20;121;35755941;123411 + 300;2145;20;122;35755941;125556 + 301;2148;20;122;35755941;125556 + 302;2158;20;123;35755941;127714 + 303;2160;20;123;35755941;127714 + 304;2172;20;123;35755941;127714 + 305;2178;20;124;35755941;129892 + 306;2184;20;124;35755941;129892 + 307;2196;20;124;35755941;129892 + 308;2202;20;125;35755941;132094 + 309;2208;20;125;35755941;132094 + 310;2218;20;126;35755941;134312 + 311;2220;20;126;35755941;134312 + 312;2232;20;126;35755941;134312 + 313;2240;20;127;35755941;136552 + 314;2244;20;127;35755941;136552 + 315;2254;20;128;35755941;138806 + 316;2256;20;128;35755941;138806 + 317;2268;20;128;35755941;138806 + 318;2273;20;129;35755941;141079 + 319;2280;20;129;35755941;141079 + 320;2292;20;129;35755941;141079 + 321;2294;20;130;35755941;143373 + 322;2304;20;130;35755941;143373 + 323;2313;20;131;35755941;145686 + 324;2316;20;131;35755941;145686 + 325;2328;20;131;35755941;145686 + 326;2333;20;132;35755941;148019 + 327;2340;20;132;35755941;148019 + 328;2352;20;132;35755941;148019 + 329;2356;20;133;35755941;150375 + 330;2364;20;133;35755941;150375 + 331;2376;20;133;35755941;150375 + 332;2376;20;134;35755941;152751 + 333;2388;20;134;35755941;152751 + 334;2388;20;135;35755941;155139 + 335;2400;20;135;35755941;155139 + 336;2409;20;136;35755941;157548 + 337;2412;20;136;35755941;157548 + 338;2424;20;136;35755941;157548 + 339;2426;20;137;35755941;159974 + 340;2436;20;137;35755941;159974 + 341;2441;20;138;35755941;162415 + 342;2448;20;138;35755941;162415 + 343;2456;20;139;35755941;164871 + 344;2460;20;139;35755941;164871 + 345;2472;20;139;35755941;164871 + 346;2478;30;140;21522908;162860 + 347;2484;30;140;21522908;162860 + 348;2491;30;141;21522908;165351 + 349;2496;30;141;21522908;165351 + 350;2508;30;141;21522908;165351 + 351;2509;30;142;21522908;167860 + 352;2520;30;142;21522908;167860 + 353;2524;30;143;21522908;170384 + 354;2532;30;143;21522908;170384 + 355;2541;30;144;21522908;172925 + 356;2544;30;144;21522908;172925 + 357;2556;30;144;21522908;172925 + 358;2556;30;145;21522908;175481 + 359;2568;30;145;21522908;175481 + 360;2573;30;146;21522908;178054 + 361;2580;30;146;21522908;178054 + 362;2586;30;147;21522908;180640 + 363;2592;30;147;21522908;180640 + 364;2604;30;147;21522908;180640 + 365;2606;30;148;21522908;183246 + 366;2616;30;148;21522908;183246 + 367;2627;30;149;21522908;185873 + 368;2628;30;149;21522908;185873 + 369;2640;30;149;21522908;185873 + 370;2644;30;150;21522908;188517 + 371;2652;30;150;21522908;188517 + 372;2664;30;150;21522908;188517 + 373;2664;30;151;21522908;191181 + 374;2676;30;151;21522908;191181 + 375;2686;30;152;21522908;193867 + 376;2688;30;152;21522908;193867 + 377;2700;40;152;13314681;187520 + 378;2709;40;153;13314681;190229 + 379;2712;40;153;13314681;190229 + 380;2724;40;153;13314681;190229 + 381;2725;40;154;13314681;192954 + 382;2736;40;154;13314681;192954 + 383;2743;40;155;13314681;195697 + 384;2748;40;155;13314681;195697 + 385;2760;40;155;13314681;195697 + 386;2766;40;156;13314681;198463 + 387;2772;40;156;13314681;198463 + 388;2781;40;157;13314681;201244 + 389;2784;40;157;13314681;201244 + 390;2795;40;158;13314681;204039 + 391;2796;40;158;13314681;204039 + 392;2808;40;158;13314681;204039 + 393;2811;40;159;13314681;206850 + 394;2820;40;159;13314681;206850 + 395;2825;40;160;13314681;209675 + 396;2832;40;160;13314681;209675 + 397;2842;40;161;13314681;212517 + 398;2844;40;161;13314681;212517 + 399;2854;40;162;13314681;215371 + 400;2856;40;162;13314681;215371 + 401;2868;40;162;13314681;215371 + 402;2868;40;163;13314681;218239 + 403;2880;40;163;13314681;218239 + 404;2883;40;164;13314681;221122 + 405;2892;40;164;13314681;221122 + 406;2902;40;165;13314681;224024 + 407;2904;40;165;13314681;224024 + 408;2916;40;165;13314681;224024 + 409;2924;40;166;13314681;226948 + 410;2928;40;166;13314681;226948 + 411;2940;40;166;13314681;226948 + 412;2943;50;167;8160511;221898 + 413;2952;50;167;8160511;221898 + 414;2956;50;168;8160511;224854 + 415;2964;50;168;8160511;224854 + 416;2976;50;168;8160511;224854 + 417;2978;50;169;8160511;227832 + 418;2988;50;169;8160511;227832 + 419;3000;50;169;8160511;227832 + 420;3002;50;170;8160511;230834 + 421;3012;50;170;8160511;230834 + 422;3024;50;170;8160511;230834 + 423;3026;50;171;8160511;233860 + 424;3036;50;171;8160511;233860 + 425;3045;50;172;8160511;236905 + 426;3048;50;172;8160511;236905 + 427;3060;50;172;8160511;236905 + 428;3061;50;173;8160511;239966 + 429;3072;50;173;8160511;239966 + 430;3079;50;174;8160511;243045 + 431;3084;50;174;8160511;243045 + 432;3096;50;174;8160511;243045 + 433;3098;50;175;8160511;246143 + 434;3108;50;175;8160511;246143 + 435;3118;50;176;8160511;249261 + 436;3120;50;176;8160511;249261 + 437;3132;50;176;8160511;249261 + 438;3139;50;177;8160511;252400 + 439;3144;50;177;8160511;252400 + 440;3156;50;177;8160511;252400 + 441;3159;50;178;8160511;255559 + 442;3168;50;178;8160511;255559 + 443;3176;50;179;8160511;258735 + 444;3180;50;179;8160511;258735 + 445;3192;50;179;8160511;258735 + 446;3196;50;180;8160511;261931 + 447;3204;50;180;8160511;261931 + 448;3216;50;180;8160511;261931 + 449;3220;50;181;8160511;265151 + 450;3228;50;181;8160511;265151 + 451;3233;50;182;8160511;268384 + 452;3240;50;182;8160511;268384 + 453;3249;70;183;3020430;250599 + 454;3252;70;183;3020430;250599 + 455;3264;70;183;3020430;250599 + 456;3271;70;184;3020430;253870 + 457;3276;70;184;3020430;253870 + 458;3288;70;184;3020430;253870 + 459;3289;70;185;3020430;257159 + 460;3300;70;185;3020430;257159 + 461;3312;70;185;3020430;257159 + 462;3313;70;186;3020430;260472 + 463;3324;70;186;3020430;260472 + 464;3336;70;186;3020430;260472 + 465;3337;70;187;3020430;263809 + 466;3348;70;187;3020430;263809 + 467;3351;70;188;3020430;267160 + 468;3360;70;188;3020430;267160 + 469;3364;70;189;3020430;270524 + 470;3372;70;189;3020430;270524 + 471;3383;70;190;3020430;273907 + 472;3384;70;190;3020430;273907 + 473;3396;70;190;3020430;273907 + 474;3406;70;191;3020430;277313 + 475;3408;70;191;3020430;277313 + 476;3420;70;191;3020430;277313 + 477;3421;70;192;3020430;280734 + 478;3432;70;192;3020430;280734 + 479;3440;70;193;3020430;284174 + 480;3444;70;193;3020430;284174 + 481;3453;70;194;3020430;287627 + 482;3456;70;194;3020430;287627 + 483;3468;70;194;3020430;287627 + 484;3468;70;195;3020430;291095 + 485;3480;70;195;3020430;291095 + 486;3482;70;196;3020430;294577 + 487;3492;70;196;3020430;294577 + 488;3502;70;197;3020430;298079 + 489;3504;70;197;3020430;298079 + 490;3514;70;198;3020430;301593 + 491;3516;70;198;3020430;301593 + 492;3528;70;198;3020430;301593 + 493;3534;80;199;1853427;291952 + 494;3540;80;199;1853427;291952 + 495;3549;80;200;1853427;295501 + 496;3552;80;200;1853427;295501 + 497;3564;80;200;1853427;295501 + 498;3571;80;201;1853427;299072 + 499;3576;80;201;1853427;299072 + 500;3583;80;202;1853427;302655 + 501;3588;80;202;1853427;302655 + 502;3599;80;203;1853427;306254 + 503;3600;80;203;1853427;306254 + 504;3612;80;203;1853427;306254 + 505;3616;90;204;1127088;294976 + 506;3624;90;204;1127088;294976 + 507;3631;110;205;399339;263469 + 508;3636;110;205;399339;263469 + 509;3645;110;206;399339;267114 + 510;3648;110;206;399339;267114 + 511;3660;110;206;399339;267114 + 512;3665;110;207;399339;270779 + 513;3672;110;207;399339;270779 + 514;3678;110;208;399339;274457 + 515;3684;110;208;399339;274457 + 516;3691;110;209;399339;278148 + 517;3696;110;209;399339;278148 + 518;3708;110;209;399339;278148 + 519;3708;110;210;399339;281856 + 520;3720;110;210;399339;281856 + 521;3720;110;211;399339;285576 + 522;3732;110;211;399339;285576 + 523;3733;110;212;399339;289309 + 524;3744;110;212;399339;289309 + 525;3747;110;213;399339;293056 + 526;3756;110;213;399339;293056 + 527;3764;110;214;399339;296820 + 528;3768;110;214;399339;296820 + 529;3780;110;214;399339;296820 + 530;3784;110;215;399339;300604 + 531;3792;110;215;399339;300604 + 532;3803;110;216;399339;304407 + 533;3804;110;216;399339;304407 + 534;3816;110;216;399339;304407 + 535;3818;110;217;399339;308225 + 536;3828;110;217;399339;308225 + 537;3831;110;218;399339;312056 + 538;3840;110;218;399339;312056 + 539;3847;110;219;399339;315903 + 540;3852;110;219;399339;315903 + 541;3859;110;220;399339;319762 + 542;3864;110;220;399339;319762 + 543;3876;110;220;399339;319762 + 544;3883;110;221;399339;323645 + 545;3888;110;221;399339;323645 + 546;3900;110;221;399339;323645 + 547;3904;110;222;399339;327549 + 548;3912;110;222;399339;327549 + 549;3924;110;222;399339;327549 + 550;3925;110;223;399339;331474 + 551;3936;110;223;399339;331474 + 552;3942;110;224;399339;335416 + 553;3948;110;224;399339;335416 + 554;3960;110;224;399339;335416 + 555;3962;110;225;399339;339378 + 556;3972;110;225;399339;339378 + 557;3979;110;226;399339;343357 + 558;3984;110;226;399339;343357 + 559;3994;110;227;399339;347351 + 560;3996;110;227;399339;347351 + 561;4008;110;227;399339;347351 + 562;4011;110;228;399339;351362 + 563;4020;110;228;399339;351362 + 564;4030;110;229;399339;355392 + 565;4032;110;229;399339;355392 + 566;4044;110;229;399339;355392 + 567;4054;110;230;399339;359446 + 568;4056;110;230;399339;359446 + 569;4068;110;230;399339;359446 + 570;4077;110;231;399339;363523 + 571;4080;110;231;399339;363523 + 572;4092;110;231;399339;363523 + 573;4098;110;232;399339;367621 + 574;4104;110;232;399339;367621 + 575;4113;110;233;399339;371734 + 576;4116;110;233;399339;371734 + 577;4128;110;233;399339;371734 + 578;4134;110;234;399339;375868 + 579;4140;110;234;399339;375868 + 580;4150;110;235;399339;380018 + 581;4152;110;235;399339;380018 + 582;4164;110;235;399339;380018 + 583;4172;110;236;399339;384190 + 584;4176;110;236;399339;384190 + 585;4188;110;236;399339;384190 + 586;4194;110;237;399339;388384 + 587;4200;110;237;399339;388384 + 588;4207;110;238;399339;392591 + 589;4212;110;238;399339;392591 + 590;4223;120;239;245374;376473 + 591;4224;120;239;245374;376473 + 592;4236;120;239;245374;376473 + 593;4245;130;240;148679;358443 + 594;4248;130;240;148679;358443 + 595;4260;130;240;148679;358443 + 596;4263;130;241;148679;362706 + 597;4272;130;241;148679;362706 + 598;4275;130;242;148679;366981 + 599;4284;130;242;148679;366981 + 600;4289;130;243;148679;371270 + 601;4296;130;243;148679;371270 + 602;4308;130;243;148679;371270 + 603;4309;130;244;148679;375579 + 604;4320;130;244;148679;375579 + 605;4329;130;245;148679;379908 + 606;4332;130;245;148679;379908 + 607;4344;130;245;148679;379908 + 608;4352;130;246;148679;384260 + 609;4356;130;246;148679;384260 + 610;4368;130;246;148679;384260 + 611;4372;140;247;91377;364478 + 612;4380;140;247;91377;364478 + 613;4392;140;247;91377;364478 + 614;4393;140;248;91377;368871 + 615;4404;140;248;91377;368871 + 616;4408;140;249;91377;373279 + 617;4416;140;249;91377;373279 + 618;4426;140;250;91377;377705 + 619;4428;140;250;91377;377705 + 620;4440;140;250;91377;377705 + 621;4444;140;251;91377;382149 + 622;4452;140;251;91377;382149 + 623;4462;140;252;91377;386611 + 624;4464;140;252;91377;386611 + 625;4476;140;252;91377;386611 + 626;4480;140;253;91377;391091 + 627;4488;140;253;91377;391091 + 628;4500;140;253;91377;391091 + 629;4500;140;254;91377;395591 + 630;4512;140;254;91377;395591 + 631;4520;140;255;91377;400111 + 632;4524;140;255;91377;400111 + 633;4534;140;256;91377;404645 + 634;4536;140;256;91377;404645 + 635;4548;140;256;91377;404645 + 636;4550;140;257;91377;409195 + 637;4560;140;257;91377;409195 + 638;4567;140;258;91377;413762 + 639;4572;140;258;91377;413762 + 640;4581;140;259;91377;418343 + 641;4584;140;259;91377;418343 + 642;4596;140;259;91377;418343 + 643;4604;140;260;91377;422947 + 644;4608;140;260;91377;422947 + 645;4620;140;260;91377;422947 + 646;4628;140;261;91377;427575 + 647;4632;140;261;91377;427575 + 648;4642;140;262;91377;432217 + 649;4644;140;262;91377;432217 + 650;4654;140;263;91377;436871 + 651;4656;140;263;91377;436871 + 652;4666;140;264;91377;441537 + 653;4668;140;264;91377;441537 + 654;4680;140;264;91377;441537 + 655;4682;140;265;91377;446219 + 656;4692;140;265;91377;446219 + 657;4697;140;266;91377;450916 + 658;4704;140;266;91377;450916 + 659;4714;140;267;91377;455630 + 660;4716;140;267;91377;455630 + 661;4726;140;268;91377;460356 + 662;4728;140;268;91377;460356 + 663;4740;140;268;91377;460356 + 664;4746;150;269;55506;439272 + 665;4752;150;269;55506;439272 + 666;4761;160;270;33260;416350 + 667;4764;160;270;33260;416350 + 668;4775;160;271;33260;421125 + 669;4776;160;271;33260;421125 + 670;4788;160;271;33260;421125 + 671;4791;160;272;33260;425916 + 672;4800;160;272;33260;425916 + 673;4808;160;273;33260;430724 + 674;4812;160;273;33260;430724 + 675;4824;160;273;33260;430724 + 676;4832;160;274;33260;435556 + 677;4836;160;274;33260;435556 + 678;4845;160;275;33260;440401 + 679;4848;160;275;33260;440401 + 680;4860;160;275;33260;440401 + 681;4861;160;276;33260;445262 + 682;4872;160;276;33260;445262 + 683;4884;160;276;33260;445262 + 684;4884;160;277;33260;450146 + 685;4896;160;277;33260;450146 + 686;4899;160;278;33260;455045 + 687;4908;160;278;33260;455045 + 688;4920;160;278;33260;455045 + 689;4923;160;279;33260;459968 + 690;4932;160;279;33260;459968 + 691;4936;160;280;33260;464904 + 692;4944;160;280;33260;464904 + 693;4949;160;281;33260;469853 + 694;4956;160;281;33260;469853 + 695;4964;160;282;33260;474817 + 696;4968;160;282;33260;474817 + 697;4980;160;282;33260;474817 + 698;4985;160;283;33260;479802 + 699;4992;160;283;33260;479802 + 700;5004;160;283;33260;479802 + 701;5009;160;284;33260;484811 + 702;5016;160;284;33260;484811 + 703;5028;160;284;33260;484811 + 704;5030;160;285;33260;489841 + 705;5040;160;285;33260;489841 + 706;5046;160;286;33260;494887 + 707;5052;160;286;33260;494887 + 708;5064;160;286;33260;494887 + 709;5066;170;287;20390;470617 + 710;5076;170;287;20390;470617 + 711;5080;170;288;20390;475697 + 712;5088;170;288;20390;475697 + 713;5093;170;289;20390;480790 + 714;5100;170;289;20390;480790 + 715;5109;170;290;20390;485899 + 716;5112;170;290;20390;485899 + 717;5122;170;291;20390;491021 + 718;5124;170;291;20390;491021 + 719;5136;170;291;20390;491021 + 720;5143;170;292;20390;496164 + 721;5148;170;292;20390;496164 + 722;5160;170;292;20390;496164 + 723;5160;170;293;20390;501324 + 724;5172;170;293;20390;501324 + 725;5184;170;293;20390;501324 + 726;5184;170;294;20390;506508 + 727;5196;170;294;20390;506508 + 728;5204;170;295;20390;511712 + 729;5208;170;295;20390;511712 + 730;5220;170;295;20390;511712 + 731;5225;170;296;20390;516937 + 732;5232;170;296;20390;516937 + 733;5244;170;296;20390;516937 + 734;5249;170;297;20390;522186 + 735;5256;170;297;20390;522186 + 736;5268;170;297;20390;522186 + 737;5271;170;298;20390;527457 + 738;5280;170;298;20390;527457 + 739;5288;170;299;20390;532745 + 740;5292;170;299;20390;532745 + 741;5304;170;299;20390;532745 + 742;5306;180;300;12608;506760 + 743;5316;180;300;12608;506760 + 744;5325;180;301;12608;512085 + 745;5328;180;301;12608;512085 + 746;5340;180;301;12608;512085 + 747;5341;180;302;12608;517426 + 748;5352;180;302;12608;517426 + 749;5361;180;303;12608;522787 + 750;5364;180;303;12608;522787 + 751;5376;180;303;12608;522787 + 752;5382;180;304;12608;528169 + 753;5388;180;304;12608;528169 + 754;5399;180;305;12608;533568 + 755;5400;180;305;12608;533568 + 756;5412;180;305;12608;533568 + 757;5416;180;306;12608;538984 + 758;5424;180;306;12608;538984 + 759;5435;180;307;12608;544419 + 760;5436;180;307;12608;544419 + 761;5448;180;307;12608;544419 + 762;5449;180;308;12608;549868 + 763;5460;180;308;12608;549868 + 764;5466;190;309;7696;522138 + 765;5472;190;309;7696;522138 + 766;5484;190;309;7696;522138 + 767;5484;200;310;4650;492688 + 768;5496;200;310;4650;492688 + 769;5500;200;311;4650;498188 + 770;5508;200;311;4650;498188 + 771;5520;200;311;4650;498188 + 772;5524;200;312;4650;503712 + 773;5532;200;312;4650;503712 + 774;5543;200;313;4650;509255 + 775;5544;200;313;4650;509255 + 776;5556;200;313;4650;509255 + 777;5562;200;314;4650;514817 + 778;5568;200;314;4650;514817 + 779;5580;200;314;4650;514817 + 780;5584;200;315;4650;520401 + 781;5592;200;315;4650;520401 + 782;5601;200;316;4650;526002 + 783;5604;200;316;4650;526002 + 784;5614;200;317;4650;531616 + 785;5616;200;317;4650;531616 + 786;5628;200;317;4650;531616 + 787;5630;200;318;4650;537246 + 788;5640;200;318;4650;537246 + 789;5652;200;318;4650;537246 + 790;5654;200;319;4650;542900 + 791;5664;200;319;4650;542900 + 792;5676;200;319;4650;542900 + 793;5678;200;320;4650;548578 + 794;5688;200;320;4650;548578 + 795;5698;200;321;4650;554276 + 796;5700;200;321;4650;554276 + 797;5712;200;321;4650;554276 + 798;5721;200;322;4650;559997 + 799;5724;200;322;4650;559997 + 800;5734;200;323;4650;565731 + 801;5736;200;323;4650;565731 + 802;5748;200;323;4650;565731 + 803;5753;200;324;4650;571484 + 804;5760;200;324;4650;571484 + 805;5770;200;325;4650;577254 + 806;5772;200;325;4650;577254 + 807;5784;200;325;4650;577254 + 808;5792;200;326;4650;583046 + 809;5796;200;326;4650;583046 + 810;5808;200;326;4650;583046 + 811;5816;200;327;4650;588862 + 812;5820;200;327;4650;588862 + 813;5832;200;327;4650;588862 + 814;5834;200;328;4650;594696 + 815;5844;200;328;4650;594696 + 816;5856;200;328;4650;594696 + 817;5857;200;329;4650;600553 + 818;5868;200;329;4650;600553 + 819;5880;200;329;4650;600553 + 820;5880;200;330;4650;606433 + 821;5892;200;330;4650;606433 + 822;5904;200;330;4650;606433 + 823;5904;200;331;4650;612337 + 824;5916;210;331;2853;575801 + 825;5926;210;332;2853;581727 + 826;5928;210;332;2853;581727 + 827;5940;210;332;2853;581727 + 828;5946;210;333;2853;587673 + 829;5952;210;333;2853;587673 + 830;5960;210;334;2853;593633 + 831;5964;210;334;2853;593633 + 832;5976;210;334;2853;593633 + 833;5982;210;335;2853;599615 + 834;5988;210;335;2853;599615 + 835;5999;210;336;2853;605614 + 836;6000;210;336;2853;605614 + 837;6012;210;336;2853;605614 + 838;6018;210;337;2853;611632 + 839;6024;210;337;2853;611632 + 840;6036;210;337;2853;611632 + 841;6040;220;338;1749;579603 + 842;6048;220;338;1749;579603 + 843;6060;220;338;1749;579603 + 844;6064;230;339;1059;545789 + 845;6072;230;339;1059;545789 + 846;6080;230;340;1059;551869 + 847;6084;230;340;1059;551869 + 848;6096;230;340;1059;551869 + 849;6098;230;341;1059;557967 + 850;6108;230;341;1059;557967 + 851;6112;230;342;1059;564079 + 852;6120;230;342;1059;564079 + 853;6129;230;343;1059;570208 + 854;6132;230;343;1059;570208 + 855;6144;230;343;1059;570208 + 856;6152;230;344;1059;576360 + 857;6156;230;344;1059;576360 + 858;6168;230;344;1059;576360 + 859;6172;230;345;1059;582532 + 860;6180;230;345;1059;582532 + 861;6188;230;346;1059;588720 + 862;6192;230;346;1059;588720 + 863;6204;230;346;1059;588720 + 864;6209;230;347;1059;594929 + 865;6216;230;347;1059;594929 + 866;6225;230;348;1059;601154 + 867;6228;230;348;1059;601154 + 868;6237;230;349;1059;607391 + 869;6240;230;349;1059;607391 + 870;6252;230;349;1059;607391 + 871;6254;230;350;1059;613645 + 872;6264;230;350;1059;613645 + 873;6270;230;351;1059;619915 + 874;6276;230;351;1059;619915 + 875;6288;230;351;1059;619915 + 876;6293;230;352;1059;626208 + 877;6300;230;352;1059;626208 + 878;6311;230;353;1059;632519 + 879;6312;230;353;1059;632519 + 880;6323;230;354;1059;638842 + 881;6324;230;354;1059;638842 + 882;6336;230;354;1059;638842 + 883;6344;230;355;1059;645186 + 884;6348;230;355;1059;645186 + 885;6358;230;356;1059;651544 + 886;6360;230;356;1059;651544 + 887;6372;230;356;1059;651544 + 888;6378;230;357;1059;657922 + 889;6384;230;357;1059;657922 + 890;6396;230;357;1059;657922 + 891;6399;230;358;1059;664321 + 892;6408;230;358;1059;664321 + 893;6420;230;358;1059;664321 + 894;6420;240;359;659;628942 + 895;6432;240;359;659;628942 + 896;6438;240;360;659;635380 + 897;6444;240;360;659;635380 + 898;6452;240;361;659;641832 + 899;6456;240;361;659;641832 + 900;6468;240;361;659;641832 + 901;6468;240;362;659;648300 + 902;6480;240;362;659;648300 + 903;6487;240;363;659;654787 + 904;6492;240;363;659;654787 + 905;6504;240;363;659;654787 + 906;6505;250;364;403;617695 + 907;6516;250;364;403;617695 + 908;6522;250;365;403;624217 + 909;6528;250;365;403;624217 + 910;6534;250;366;403;630751 + 911;6540;250;366;403;630751 + 912;6552;250;366;403;630751 + 913;6554;250;367;403;637305 + 914;6564;250;367;403;637305 + 915;6570;260;368;248;598449 + 916;6576;260;368;248;598449 + 917;6588;260;368;248;598449 + 918;6590;260;369;248;605039 + 919;6600;260;369;248;605039 + 920;6604;260;370;248;611643 + 921;6612;260;370;248;611643 + 922;6618;260;371;248;618261 + 923;6624;260;371;248;618261 + 924;6635;260;372;248;624896 + 925;6636;260;372;248;624896 + 926;6648;260;372;248;624896 + 927;6653;270;373;149;584486 + 928;6660;270;373;149;584486 + 929;6666;270;374;149;591152 + 930;6672;270;374;149;591152 + 931;6684;270;374;149;591152 + 932;6685;270;375;149;597837 + 933;6696;270;375;149;597837 + 934;6701;270;376;149;604538 + 935;6708;270;376;149;604538 + 936;6719;270;377;149;611257 + 937;6720;270;377;149;611257 + 938;6732;270;377;149;611257 + 939;6741;270;378;149;617998 + 940;6744;270;378;149;617998 + 941;6753;270;379;149;624751 + 942;6756;270;379;149;624751 + 943;6768;270;379;149;624751 + 944;6768;270;380;149;631519 + 945;6780;270;380;149;631519 + 946;6781;270;381;149;638300 + 947;6792;270;381;149;638300 + 948;6798;270;382;149;645098 + 949;6804;270;382;149;645098 + 950;6811;270;383;149;651909 + 951;6816;270;383;149;651909 + 952;6828;270;383;149;651909 + 953;6833;270;384;149;658742 + 954;6840;270;384;149;658742 + 955;6847;270;385;149;665589 + 956;6852;270;385;149;665589 + 957;6864;270;385;149;665589 + 958;6864;270;386;149;672453 + 959;6876;270;386;149;672453 + 960;6887;270;387;149;679340 + 961;6888;270;387;149;679340 + 962;6900;270;387;149;679340 + 963;6900;270;388;149;686240 + 964;6912;270;388;149;686240 + 965;6913;270;389;149;693153 + 966;6924;270;389;149;693153 + 967;6928;270;390;149;700081 + 968;6936;270;390;149;700081 + 969;6948;270;390;149;700081 + 970;6948;270;391;149;707029 + 971;6960;270;391;149;707029 + 972;6962;270;392;149;713991 + 973;6972;270;392;149;713991 + 974;6979;270;393;149;720970 + 975;6984;270;393;149;720970 + 976;6996;270;393;149;720970 + 977;6996;270;394;149;727966 + 978;7008;270;394;149;727966 + 979;7019;270;395;149;734985 + 980;7020;270;395;149;734985 + 981;7032;270;395;149;734985 + 982;7040;290;396;55;642793 + 983;7044;290;396;55;642793 + 984;7056;290;396;55;642793 + 985;7060;290;397;55;649853 + 986;7068;290;397;55;649853 + 987;7075;290;398;55;656928 + 988;7080;290;398;55;656928 + 989;7090;290;399;55;664018 + 990;7092;290;399;55;664018 + 991;7104;290;399;55;664018 + 992;7108;290;400;55;671126 + 993;7116;290;400;55;671126 + 994;7125;290;401;55;678251 + 995;7128;290;401;55;678251 + 996;7139;290;402;55;685390 + 997;7140;290;402;55;685390 + 998;7152;290;402;55;685390 + 999;7157;290;403;55;692547 + 1000;7164;290;403;55;692547 + 1001;7174;290;404;55;699721 + 1002;7176;290;404;55;699721 + 1003;7188;290;404;55;699721 + 1004;7194;290;405;55;706915 + 1005;7200;290;405;55;706915 + 1006;7211;290;406;55;714126 + 1007;7212;290;406;55;714126 + 1008;7224;290;406;55;714126 + 1009;7229;290;407;55;721355 + 1010;7236;290;407;55;721355 + 1011;7246;290;408;55;728601 + 1012;7248;290;408;55;728601 + 1013;7260;290;408;55;728601 + 1014;7266;290;409;55;735867 + 1015;7272;290;409;55;735867 + 1016;7284;290;409;55;735867 + 1017;7288;290;410;55;743155 + 1018;7296;290;410;55;743155 + 1019;7308;290;410;55;743155 + 1020;7310;290;411;55;750465 + 1021;7320;290;411;55;750465 + 1022;7332;290;411;55;750465 + 1023;7334;290;412;55;757799 + 1024;7344;290;412;55;757799 + 1025;7353;290;413;55;765152 + 1026;7356;290;413;55;765152 + 1027;7368;290;413;55;765152 + 1028;7372;290;414;55;772524 + 1029;7380;290;414;55;772524 + 1030;7384;290;415;55;779908 + 1031;7392;290;415;55;779908 + 1032;7404;290;415;55;779908 + 1033;7404;290;416;55;787312 + 1034;7416;290;416;55;787312 + 1035;7426;290;417;55;794738 + 1036;7428;290;417;55;794738 + 1037;7440;290;417;55;794738 + 1038;7441;290;418;55;802179 + 1039;7452;290;418;55;802179 + 1040;7460;300;419;34;757284 + 1041;7464;310;419;20;703051 + 1042;7476;310;419;20;703051 + 1043;7481;310;420;20;710532 + 1044;7488;310;420;20;710532 + 1045;7500;310;420;20;710532 + 1046;7502;310;421;20;718034 + 1047;7512;310;421;20;718034 + 1048;7522;320;422;12;669468 + 1049;7524;320;422;12;669468 + 1050;7535;320;423;12;677003 + 1051;7536;320;423;12;677003 + 1052;7548;320;423;12;677003 + 1053;7559;320;424;12;684562 + 1054;7560;320;424;12;684562 + 1055;7572;320;424;12;684562 + 1056;7581;320;425;12;692143 + 1057;7584;320;425;12;692143 + 1058;7593;320;426;12;699736 + 1059;7596;320;426;12;699736 + 1060;7608;320;426;12;699736 + 1061;7612;320;427;12;707348 + 1062;7620;320;427;12;707348 + 1063;7632;320;427;12;707348 + 1064;7633;320;428;12;714981 + 1065;7644;320;428;12;714981 + 1066;7650;320;429;12;722631 + 1067;7656;320;429;12;722631 + 1068;7668;320;429;12;722631 + 1069;7672;320;430;12;730303 + 1070;7680;320;430;12;730303 + 1071;7692;320;430;12;730303 + 1072;7692;320;431;12;737995 + 1073;7704;320;431;12;737995 + 1074;7716;320;431;12;737995 + 1075;7716;320;432;12;745711 + 1076;7728;320;432;12;745711 + 1077;7733;320;433;12;753444 + 1078;7740;320;433;12;753444 + 1079;7746;320;434;12;761190 + 1080;7752;320;434;12;761190 + 1081;7764;320;434;12;761190 + 1082;7769;340;435;4;650785 + 1083;7776;340;435;4;650785 + 1084;7788;340;435;4;650785 + 1085;7792;340;436;4;658577 + 1086;7800;340;436;4;658577 + 1087;7812;340;436;4;658577 + 1088;7813;340;437;4;666390 + 1089;7824;340;437;4;666390 + 1090;7834;340;438;4;674224 + 1091;7836;340;438;4;674224 + 1092;7848;340;438;4;674224 + 1093;7852;340;439;4;682076 + 1094;7860;340;439;4;682076 + 1095;7870;340;440;4;689946 + 1096;7872;340;440;4;689946 + 1097;7884;340;440;4;689946 + 1098;7886;340;441;4;697832 + 1099;7896;340;441;4;697832 + 1100;7908;340;441;4;697832 + 1101;7909;340;442;4;705741 + 1102;7920;340;442;4;705741 + 1103;7927;340;443;4;713668 + 1104;7932;340;443;4;713668 + 1105;7941;340;444;4;721609 + 1106;7944;340;444;4;721609 + 1107;7956;340;444;4;721609 + 1108;7960;340;445;4;729569 + 1109;7968;340;445;4;729569 + 1110;7978;340;446;4;737547 + 1111;7980;340;446;4;737547 + 1112;7990;340;447;4;745537 + 1113;7992;340;447;4;745537 + 1114;8003;340;448;4;753540 + 1115;8004;340;448;4;753540 + 1116;8016;340;448;4;753540 + 1117;8024;340;449;4;761564 + 1118;8028;340;449;4;761564 + 1119;8036;340;450;4;769600 + 1120;8040;340;450;4;769600 + 1121;8052;340;450;4;769600 + 1122;8055;340;451;4;777655 + 1123;8064;340;451;4;777655 + 1124;8076;340;451;4;777655 + 1125;8077;340;452;4;785732 + 1126;8088;340;452;4;785732 + 1127;8096;340;453;4;793828 + 1128;8100;340;453;4;793828 + 1129;8112;340;453;4;793828 + 1130;8118;340;454;4;801946 + 1131;8124;340;454;4;801946 + 1132;8136;340;454;4;801946 + 1133;8140;340;455;4;810086 + 1134;8148;340;455;4;810086 + 1135;8153;350;456;2;756291 + 1136;8160;350;456;2;756291 + 1137;8171;350;457;2;764462 + 1138;8172;350;457;2;764462 + 1139;8183;350;458;2;772645 + 1140;8184;350;458;2;772645 + 1141;8195;350;459;2;780840 + 1142;8196;350;459;2;780840 + 1143;8208;350;459;2;780840 + 1144;8217;350;460;2;789057 + 1145;8220;350;460;2;789057 + 1146;8232;350;460;2;789057 + 1147;8233;350;461;2;797290 + 1148;8244;350;461;2;797290 + 1149;8255;350;462;2;805545 + 1150;8256;350;462;2;805545 + 1151;8268;350;462;2;805545 + 1152;8274;350;463;2;813819 + 1153;8280;350;463;2;813819 + 1154;8286;350;464;2;822105 + 1155;8292;350;464;2;822105 + 1156;8304;350;464;2;822105 + 1157;8304;350;465;2;830409 + 1158;8316;350;465;2;830409 + 1159;8328;350;465;2;830409 + 1160;8328;350;466;2;838737 + 1161;8340;350;466;2;838737 + 1162;8349;350;467;2;847086 + 1163;8352;350;467;2;847086 + 1164;8364;350;467;2;847086 + 1165;8369;350;468;2;855455 + 1166;8376;350;468;2;855455 + 1167;8387;350;469;2;863842 + 1168;8388;350;469;2;863842 + 1169;8400;350;469;2;863842 + 1170;8407;350;470;2;872249 + 1171;8412;350;470;2;872249 + 1172;8424;350;470;2;872249 + 1173;8425;350;471;2;880674 + 1174;8436;350;471;2;880674 + 1175;8441;350;472;2;889115 + 1176;8448;350;472;2;889115 + 1177;8456;350;473;2;897571 + 1178;8460;350;473;2;897571 + 1179;8472;350;473;2;897571 + 1180;8479;350;474;2;906050 + 1181;8484;350;474;2;906050 + 1182;8496;350;474;2;906050 + 1183;8501;350;475;2;914551 + 1184;8508;350;475;2;914551 + 1185;8520;350;475;2;914551 + 1186;8520;350;476;2;923071 + 1187;8532;350;476;2;923071 + 1188;8533;350;477;2;931604 + 1189;8544;350;477;2;931604 + 1190;8554;350;478;2;940158 + 1191;8556;350;478;2;940158 + 1192;8568;350;478;2;940158 + 1193;8578;350;479;2;948736 + 1194;8580;350;479;2;948736 + 1195;8592;350;479;2;948736 + 1196;8602;350;480;2;957338 + 1197;8604;350;480;2;957338 + 1198;8616;350;480;2;957338 + 1199;8619;350;481;2;965957 + 1200;8628;350;481;2;965957 + 1201;8633;350;482;2;974590 + 1202;8640;350;482;2;974590 + 1203;8651;350;483;2;983241 + 1204;8652;350;483;2;983241 + 1205;8664;350;483;2;983241 + 1206;8668;360;484;1;928193 + 1207;8676;360;484;1;928193 + 1208;8688;360;484;1;928193 + 1209;8688;360;485;1;936881 + 1210;8700;360;485;1;936881 + 1211;8708;360;486;1;945589 + 1212;8712;360;486;1;945589 + 1213;8720;360;487;1;954309 + 1214;8724;360;487;1;954309 + 1215;8736;360;487;1;954309 + 1216;8739;360;488;1;963048 + 1217;8748;360;488;1;963048 + 1218;8757;360;489;1;971805 + 1219;8760;360;489;1;971805 + 1220;8771;360;490;1;980576 + 1221;8772;360;490;1;980576 + 1222;8784;360;490;1;980576 + 1223;8788;360;491;1;989364 + 1224;8796;360;491;1;989364 + 1225;8808;360;491;1;989364 + 1226;8811;360;492;1;998175 + 1227;8820;360;492;1;998175 + 1228;8831;360;493;1;1007006 + 1229;8832;360;493;1;1007006 + 1230;8844;360;493;1;1007006 + 1231;8846;360;494;1;1015852 + 1232;8856;380;494;0;883298 + 1233;8860;390;495;0;823429 + 1234;8868;400;495;0;752975 + 1235;8872;400;496;0;761847 + 1236;8880;400;496;0;761847 + 1237;8890;400;497;0;770737 + 1238;8892;400;497;0;770737 + 1239;8904;400;497;0;770737 + 1240;8913;400;498;0;779650 + 1241;8916;400;498;0;779650 + 1242;8928;400;498;0;779650 + 1243;8933;400;499;0;788583 + 1244;8940;400;499;0;788583 + 1245;8949;400;500;0;797532 + 1246;8952;400;500;0;797532 + 1247;8964;400;500;0;797532 + 1248;8968;400;501;0;806500 + 1249;8976;400;501;0;806500 + 1250;8988;400;501;0;806500 + 1251;8990;400;502;0;815490 + 1252;9000;400;502;0;815490 + 1253;9012;400;502;0;815490 + 1254;9014;400;503;0;824504 + 1255;9024;400;503;0;824504 + 1256;9036;400;503;0;824504 + 1257;9036;400;504;0;833540 + 1258;9048;400;504;0;833540 + 1259;9048;400;505;0;842588 + 1260;9060;400;505;0;842588 + 1261;9068;400;506;0;851656 + 1262;9072;400;506;0;851656 + 1263;9081;400;507;0;860737 + 1264;9084;400;507;0;860737 + 1265;9096;400;507;0;860737 + 1266;9104;400;508;0;869841 + 1267;9108;400;508;0;869841 + 1268;9120;400;508;0;869841 + 1269;9128;400;509;0;878969 + 1270;9132;400;509;0;878969 + 1271;9140;400;510;0;888109 + 1272;9144;400;510;0;888109 + 1273;9156;400;510;0;888109 + 1274;9160;400;511;0;897269 + 1275;9168;400;511;0;897269 + 1276;9175;400;512;0;906444 + 1277;9180;400;512;0;906444 + 1278;9189;400;513;0;915633 + 1279;9192;400;513;0;915633 + 1280;9204;400;513;0;915633 + 1281;9209;400;514;0;924842 + 1282;9216;400;514;0;924842 + 1283;9226;400;515;0;934068 + 1284;9228;400;515;0;934068 + 1285;9240;400;515;0;934068 + 1286;9249;400;516;0;943317 + 1287;9252;400;516;0;943317 + 1288;9264;400;516;0;943317 + 1289;9265;400;517;0;952582 + 1290;9276;400;517;0;952582 + 1291;9280;410;518;0;889648 + 1292;9288;410;518;0;889648 + 1293;9300;410;518;0;889648 + 1294;9304;420;519;0;824795 + 1295;9312;420;519;0;824795 + 1296;9324;420;519;0;824795 + 1297;9325;420;520;0;834120 + 1298;9336;420;520;0;834120 + 1299;9346;420;521;0;843466 + 1300;9348;420;521;0;843466 + 1301;9360;420;521;0;843466 + 1302;9370;420;522;0;852836 + 1303;9372;420;522;0;852836 + 1304;9384;420;522;0;852836 + 1305;9386;420;523;0;862222 + 1306;9396;420;523;0;862222 + 1307;9405;430;524;0;795578 + 1308;9408;430;524;0;795578 + 1309;9420;430;524;0;795578 + 1310;9429;430;525;0;805007 + 1311;9432;430;525;0;805007 + 1312;9444;430;525;0;805007 + 1313;9447;430;526;0;814454 + 1314;9456;430;526;0;814454 + 1315;9461;430;527;0;823915 + 1316;9468;430;527;0;823915 + 1317;9480;430;527;0;823915 + 1318;9482;430;528;0;833397 + 1319;9492;430;528;0;833397 + 1320;9496;430;529;0;842893 + 1321;9504;430;529;0;842893 + 1322;9516;430;529;0;842893 + 1323;9520;430;530;0;852413 + 1324;9528;430;530;0;852413 + 1325;9539;430;531;0;861952 + 1326;9540;430;531;0;861952 + 1327;9552;430;531;0;861952 + 1328;9560;430;532;0;871512 + 1329;9564;430;532;0;871512 + 1330;9576;430;532;0;871512 + 1331;9578;430;533;0;881090 + 1332;9588;430;533;0;881090 + 1333;9600;430;533;0;881090 + 1334;9601;430;534;0;890691 + 1335;9612;430;534;0;890691 + 1336;9620;430;535;0;900311 + 1337;9624;430;535;0;900311 + 1338;9636;430;535;0;900311 + 1339;9643;430;536;0;909954 + 1340;9648;430;536;0;909954 + 1341;9656;430;537;0;919610 + 1342;9660;430;537;0;919610 + 1343;9672;430;537;0;919610 + 1344;9672;430;538;0;929282 + 1345;9684;430;538;0;929282 + 1346;9695;430;539;0;938977 + 1347;9696;430;539;0;938977 + 1348;9708;430;539;0;938977 + 1349;9708;430;540;0;948685 + 1350;9720;430;540;0;948685 + 1351;9721;430;541;0;958406 + 1352;9732;430;541;0;958406 + 1353;9737;430;542;0;968143 + 1354;9744;430;542;0;968143 + 1355;9756;430;542;0;968143 + 1356;9757;430;543;0;977900 + 1357;9768;430;543;0;977900 + 1358;9773;430;544;0;987673 + 1359;9780;430;544;0;987673 + 1360;9790;430;545;0;997463 + 1361;9792;430;545;0;997463 + 1362;9804;430;545;0;997463 + 1363;9809;430;546;0;1007272 + 1364;9816;430;546;0;1007272 + 1365;9825;430;547;0;1017097 + 1366;9828;430;547;0;1017097 + 1367;9840;430;547;0;1017097 + 1368;9843;430;548;0;1026940 + 1369;9852;430;548;0;1026940 + 1370;9861;430;549;0;1036801 + 1371;9864;430;549;0;1036801 + 1372;9874;430;550;0;1046675 + 1373;9876;430;550;0;1046675 + 1374;9888;430;550;0;1046675 + 1375;9893;430;551;0;1056568 + 1376;9900;430;551;0;1056568 + 1377;9906;430;552;0;1066474 + 1378;9912;430;552;0;1066474 + 1379;9924;430;552;0;1066474 + 1380;9930;430;553;0;1076404 + 1381;9936;430;553;0;1076404 + 1382;9948;430;553;0;1076404 + 1383;9951;430;554;0;1086355 + 1384;9960;430;554;0;1086355 + 1385;9972;430;554;0;1086355 + 1386;9972;430;555;0;1096327 + 1387;9984;430;555;0;1096327 + 1388;9989;430;556;0;1106316 + 1389;9996;430;556;0;1106316 + 1390;10004;430;557;0;1116320 + 1391;10008;430;557;0;1116320 + 1392;10018;430;558;0;1126338 + 1393;10020;430;558;0;1126338 + 1394;10032;430;558;0;1126338 + 1395;10041;440;559;0;1058368 + 1396;10044;440;559;0;1058368 + 1397;10053;440;560;0;1068421 + 1398;10056;440;560;0;1068421 + 1399;10065;440;561;0;1078486 + 1400;10068;440;561;0;1078486 + 1401;10080;440;561;0;1078486 + 1402;10080;440;562;0;1088566 + 1403;10092;440;562;0;1088566 + 1404;10098;440;563;0;1098664 + 1405;10104;440;563;0;1098664 + 1406;10116;440;563;0;1098664 + 1407;10121;440;564;0;1108785 + 1408;10128;440;564;0;1108785 + 1409;10140;440;564;0;1108785 + 1410;10144;440;565;0;1118929 + 1411;10152;440;565;0;1118929 + 1412;10159;440;566;0;1129088 + 1413;10164;440;566;0;1129088 + 1414;10176;440;566;0;1129088 + 1415;10180;440;567;0;1139268 + 1416;10188;440;567;0;1139268 + 1417;10193;440;568;0;1149461 + 1418;10200;440;568;0;1149461 + 1419;10212;440;568;0;1149461 + 1420;10216;440;569;0;1159677 + 1421;10224;440;569;0;1159677 + 1422;10232;440;570;0;1169909 + 1423;10236;440;570;0;1169909 + 1424;10244;440;571;0;1180153 + 1425;10248;440;571;0;1180153 + 1426;10260;440;571;0;1180153 + 1427;10268;460;572;0;1029015 + 1428;10272;460;572;0;1029015 + 1429;10284;460;572;0;1029015 + 1430;10292;460;573;0;1039307 + 1431;10296;460;573;0;1039307 + 1432;10308;460;573;0;1039307 + 1433;10313;460;574;0;1049620 + 1434;10320;460;574;0;1049620 + 1435;10325;460;575;0;1059945 + 1436;10332;460;575;0;1059945 + 1437;10344;460;575;0;1059945 + 1438;10347;460;576;0;1070292 + 1439;10356;460;576;0;1070292 + 1440;10368;460;576;0;1070292 + 1441;10371;470;577;0;997279 + 1442;10380;470;577;0;997279 + 1443;10389;480;578;0;922385 + 1444;10392;480;578;0;922385 + 1445;10404;480;578;0;922385 + 1446;10406;480;579;0;932791 + 1447;10416;480;579;0;932791 + 1448;10423;480;580;0;943214 + 1449;10428;480;580;0;943214 + 1450;10440;480;580;0;943214 + 1451;10445;480;581;0;953659 + 1452;10452;480;581;0;953659 + 1453;10461;480;582;0;964120 + 1454;10464;480;582;0;964120 + 1455;10476;480;582;0;964120 + 1456;10483;480;583;0;974603 + 1457;10488;480;583;0;974603 + 1458;10496;480;584;0;985099 + 1459;10500;480;584;0;985099 + 1460;10512;480;584;0;985099 + 1461;10517;480;585;0;995616 + 1462;10524;480;585;0;995616 + 1463;10531;480;586;0;1006147 + 1464;10536;480;586;0;1006147 + 1465;10548;480;586;0;1006147 + 1466;10548;480;587;0;1016695 + 1467;10560;480;587;0;1016695 + 1468;10569;480;588;0;1027264 + 1469;10572;480;588;0;1027264 + 1470;10584;480;588;0;1027264 + 1471;10585;480;589;0;1037849 + 1472;10596;480;589;0;1037849 + 1473;10603;480;590;0;1048452 + 1474;10608;480;590;0;1048452 + 1475;10620;480;590;0;1048452 + 1476;10622;480;591;0;1059074 + 1477;10632;480;591;0;1059074 + 1478;10639;480;592;0;1069713 + 1479;10644;480;592;0;1069713 + 1480;10656;480;592;0;1069713 + 1481;10661;480;593;0;1080374 + 1482;10668;480;593;0;1080374 + 1483;10680;480;593;0;1080374 + 1484;10684;480;594;0;1091058 + 1485;10692;480;594;0;1091058 + 1486;10699;480;595;0;1101757 + 1487;10704;480;595;0;1101757 + 1488;10716;480;595;0;1101757 + 1489;10717;480;596;0;1112474 + 1490;10728;480;596;0;1112474 + 1491;10729;480;597;0;1123203 + 1492;10740;480;597;0;1123203 + 1493;10745;480;598;0;1133948 + 1494;10752;480;598;0;1133948 + 1495;10759;480;599;0;1144707 + 1496;10764;480;599;0;1144707 + 1497;10776;480;599;0;1144707 + 1498;10779;480;600;0;1155486 + 1499;10788;480;600;0;1155486 + 1500;10795;480;601;0;1166281 + 1501;10800;480;601;0;1166281 + 1502;10811;480;602;0;1177092 + 1503;10812;480;602;0;1177092 + 1504;10823;480;603;0;1187915 + 1505;10824;480;603;0;1187915 + 1506;10836;480;603;0;1187915 + 1507;10842;480;604;0;1198757 + 1508;10848;480;604;0;1198757 + 1509;10860;480;604;0;1198757 + 1510;10861;480;605;0;1209618 + 1511;10872;480;605;0;1209618 + 1512;10875;480;606;0;1220493 + 1513;10884;480;606;0;1220493 + 1514;10896;480;606;0;1220493 + 1515;10896;480;607;0;1231389 + 1516;10908;480;607;0;1231389 + 1517;10914;480;608;0;1242303 + 1518;10920;480;608;0;1242303 + 1519;10932;480;608;0;1242303 + 1520;10938;480;609;0;1253241 + 1521;10944;480;609;0;1253241 + 1522;10954;480;610;0;1264195 + 1523;10956;480;610;0;1264195 + 1524;10968;480;610;0;1264195 + 1525;10968;480;611;0;1275163 + 1526;10980;480;611;0;1275163 + 1527;10991;480;612;0;1286154 + 1528;10992;480;612;0;1286154 + 1529;11004;480;612;0;1286154 + 1530;11007;480;613;0;1297161 + 1531;11016;480;613;0;1297161 + 1532;11023;490;614;0;1221061 + 1533;11028;490;614;0;1221061 + 1534;11040;490;614;0;1221061 + 1535;11043;490;615;0;1232104 + 1536;11052;490;615;0;1232104 + 1537;11055;490;616;0;1243159 + 1538;11064;490;616;0;1243159 + 1539;11076;490;616;0;1243159 + 1540;11077;490;617;0;1254236 + 1541;11088;490;617;0;1254236 + 1542;11097;490;618;0;1265333 + 1543;11100;490;618;0;1265333 + 1544;11112;490;618;0;1265333 + 1545;11120;500;619;0;1187580 + 1546;11124;500;619;0;1187580 + 1547;11133;500;620;0;1198713 + 1548;11136;500;620;0;1198713 + 1549;11147;500;621;0;1209860 + 1550;11148;500;621;0;1209860 + 1551;11160;500;621;0;1209860 + 1552;11168;500;622;0;1221028 + 1553;11172;500;622;0;1221028 + 1554;11180;500;623;0;1232208 + 1555;11184;500;623;0;1232208 + 1556;11196;500;623;0;1232208 + 1557;11204;500;624;0;1243412 + 1558;11208;500;624;0;1243412 + 1559;11220;500;624;0;1243412 + 1560;11227;500;625;0;1254639 + 1561;11232;500;625;0;1254639 + 1562;11239;500;626;0;1265878 + 1563;11244;500;626;0;1265878 + 1564;11255;500;627;0;1277133 + 1565;11256;500;627;0;1277133 + 1566;11268;500;627;0;1277133 + 1567;11274;500;628;0;1288407 + 1568;11280;500;628;0;1288407 + 1569;11288;500;629;0;1299695 + 1570;11292;500;629;0;1299695 + 1571;11304;500;629;0;1299695 + 1572;11311;500;630;0;1311006 + 1573;11316;500;630;0;1311006 + 1574;11323;500;631;0;1322329 + 1575;11328;500;631;0;1322329 + 1576;11340;500;631;0;1322329 + 1577;11342;500;632;0;1333671 + 1578;11352;500;632;0;1333671 + 1579;11360;500;633;0;1345031 + 1580;11364;500;633;0;1345031 + 1581;11372;500;634;0;1356403 + 1582;11376;500;634;0;1356403 + 1583;11388;510;634;0;1265634 + 1584;11392;520;635;0;1184458 + 1585;11400;520;635;0;1184458 + 1586;11409;520;636;0;1195867 + 1587;11412;520;636;0;1195867 + 1588;11424;520;636;0;1195867 + 1589;11426;520;637;0;1207293 + 1590;11436;530;637;0;1112758 + 1591;11447;530;638;0;1124205 + 1592;11448;530;638;0;1124205 + 1593;11459;530;639;0;1135664 + 1594;11460;530;639;0;1135664 + 1595;11472;530;639;0;1135664 + 1596;11474;530;640;0;1147138 + 1597;11484;530;640;0;1147138 + 1598;11496;530;640;0;1147138 + 1599;11498;530;641;0;1158636 + 1600;11508;530;641;0;1158636 + 1601;11517;530;642;0;1170153 + 1602;11520;530;642;0;1170153 + 1603;11529;530;643;0;1181682 + 1604;11532;530;643;0;1181682 + 1605;11544;530;643;0;1181682 + 1606;11545;530;644;0;1193227 + 1607;11556;530;644;0;1193227 + 1608;11559;530;645;0;1204786 + 1609;11568;530;645;0;1204786 + 1610;11573;530;646;0;1216359 + 1611;11580;530;646;0;1216359 + 1612;11592;530;646;0;1216359 + 1613;11596;530;647;0;1227955 + 1614;11604;530;647;0;1227955 + 1615;11614;530;648;0;1239569 + 1616;11616;530;648;0;1239569 + 1617;11628;530;648;0;1239569 + 1618;11634;530;649;0;1251203 + 1619;11640;530;649;0;1251203 + 1620;11649;540;650;0;1166398 + 1621;11652;540;650;0;1166398 + 1622;11664;540;650;0;1166398 + 1623;11668;540;651;0;1178066 + 1624;11676;540;651;0;1178066 + 1625;11688;540;651;0;1178066 + 1626;11690;540;652;0;1189756 + 1627;11700;540;652;0;1189756 + 1628;11708;540;653;0;1201464 + 1629;11712;540;653;0;1201464 + 1630;11724;540;653;0;1201464 + 1631;11729;540;654;0;1213193 + 1632;11736;550;654;0;1115031 + 1633;11747;550;655;0;1126778 + 1634;11748;550;655;0;1126778 + 1635;11760;550;655;0;1126778 + 1636;11768;550;656;0;1138546 + 1637;11772;550;656;0;1138546 + 1638;11784;550;656;0;1138546 + 1639;11784;550;657;0;1150330 + 1640;11796;550;657;0;1150330 + 1641;11797;560;658;0;1062198 + 1642;11808;560;658;0;1062198 + 1643;11815;560;659;0;1074013 + 1644;11820;560;659;0;1074013 + 1645;11832;560;659;0;1074013 + 1646;11833;560;660;0;1085846 + 1647;11844;560;660;0;1085846 + 1648;11853;560;661;0;1097699 + 1649;11856;560;661;0;1097699 + 1650;11868;560;661;0;1097699 + 1651;11870;560;662;0;1109569 + 1652;11880;560;662;0;1109569 + 1653;11889;560;663;0;1121458 + 1654;11892;560;663;0;1121458 + 1655;11901;560;664;0;1133359 + 1656;11904;560;664;0;1133359 + 1657;11916;560;664;0;1133359 + 1658;11923;560;665;0;1145282 + 1659;11928;560;665;0;1145282 + 1660;11936;560;666;0;1157218 + 1661;11940;560;666;0;1157218 + 1662;11952;560;666;0;1157218 + 1663;11957;560;667;0;1169175 + 1664;11964;560;667;0;1169175 + 1665;11975;560;668;0;1181150 + 1666;11976;560;668;0;1181150 + 1667;11988;560;668;0;1181150 + 1668;11991;560;669;0;1193141 + 1669;12000;560;669;0;1193141 + 1670;12012;560;669;0;1193141 + 1671;12015;560;670;0;1205156 + 1672;12024;560;670;0;1205156 + 1673;12036;560;670;0;1205156 + 1674;12036;560;671;0;1217192 + 1675;12048;560;671;0;1217192 + 1676;12058;560;672;0;1229250 + 1677;12060;560;672;0;1229250 + 1678;12072;560;672;0;1229250 + 1679;12074;560;673;0;1241324 + 1680;12084;560;673;0;1241324 + 1681;12087;560;674;0;1253411 + 1682;12096;560;674;0;1253411 + 1683;12108;560;674;0;1253411 + 1684;12109;560;675;0;1265520 + 1685;12120;560;675;0;1265520 + 1686;12122;560;676;0;1277642 + 1687;12132;560;676;0;1277642 + 1688;12144;560;676;0;1277642 + 1689;12146;560;677;0;1289788 + 1690;12156;560;677;0;1289788 + 1691;12168;560;677;0;1289788 + 1692;12169;560;678;0;1301957 + 1693;12180;560;678;0;1301957 + 1694;12192;560;678;0;1301957 + 1695;12192;560;679;0;1314149 + 1696;12204;560;679;0;1314149 + 1697;12205;560;680;0;1326354 + 1698;12216;560;680;0;1326354 + 1699;12222;560;681;0;1338576 + 1700;12228;560;681;0;1338576 + 1701;12236;560;682;0;1350812 + 1702;12240;560;682;0;1350812 + 1703;12252;560;682;0;1350812 + 1704;12253;560;683;0;1363065 + 1705;12264;560;683;0;1363065 + 1706;12276;560;683;0;1363065 + 1707;12276;560;684;0;1375341 + 1708;12288;560;684;0;1375341 + 1709;12289;560;685;0;1387630 + 1710;12300;560;685;0;1387630 + 1711;12311;560;686;0;1399941 + 1712;12312;560;686;0;1399941 + 1713;12324;560;686;0;1399941 + 1714;12329;560;687;0;1412270 + 1715;12336;560;687;0;1412270 + 1716;12345;570;688;0;1322948 + 1717;12348;570;688;0;1322948 + 1718;12360;570;688;0;1322948 + 1719;12361;570;689;0;1335309 + 1720;12372;570;689;0;1335309 + 1721;12384;570;689;0;1335309 + 1722;12384;570;690;0;1347693 + 1723;12396;570;690;0;1347693 + 1724;12398;570;691;0;1360091 + 1725;12408;570;691;0;1360091 + 1726;12415;570;692;0;1372506 + 1727;12420;570;692;0;1372506 + 1728;12427;570;693;0;1384933 + 1729;12432;570;693;0;1384933 + 1730;12444;570;693;0;1384933 + 1731;12447;570;694;0;1397380 + 1732;12456;570;694;0;1397380 + 1733;12462;570;695;0;1409842 + 1734;12468;570;695;0;1409842 + 1735;12480;570;695;0;1409842 + 1736;12482;570;696;0;1422324 + 1737;12492;570;696;0;1422324 + 1738;12494;570;697;0;1434818 + 1739;12504;570;697;0;1434818 + 1740;12516;570;697;0;1434818 + 1741;12517;570;698;0;1447335 + 1742;12528;570;698;0;1447335 + 1743;12532;570;699;0;1459867 + 1744;12540;570;699;0;1459867 + 1745;12548;570;700;0;1472415 + 1746;12552;570;700;0;1472415 + 1747;12560;570;701;0;1484975 + 1748;12564;570;701;0;1484975 + 1749;12575;570;702;0;1497550 + 1750;12576;570;702;0;1497550 + 1751;12588;570;702;0;1497550 + 1752;12594;570;703;0;1510144 + 1753;12600;570;703;0;1510144 + 1754;12612;570;703;0;1510144 + 1755;12614;570;704;0;1522758 + 1756;12624;570;704;0;1522758 + 1757;12631;570;705;0;1535389 + 1758;12636;570;705;0;1535389 + 1759;12643;570;706;0;1548032 + 1760;12648;570;706;0;1548032 + 1761;12660;570;706;0;1548032 + 1762;12661;570;707;0;1560693 + 1763;12672;570;707;0;1560693 + 1764;12674;570;708;0;1573367 + 1765;12684;570;708;0;1573367 + 1766;12696;570;708;0;1573367 + 1767;12697;570;709;0;1586064 + 1768;12708;570;709;0;1586064 + 1769;12719;570;710;0;1598783 + 1770;12720;570;710;0;1598783 + 1771;12732;570;710;0;1598783 + 1772;12742;590;711;0;1402531 + 1773;12744;590;711;0;1402531 + 1774;12755;600;712;0;1308079 + 1775;12756;600;712;0;1308079 + 1776;12768;600;712;0;1308079 + 1777;12772;600;713;0;1320851 + 1778;12780;600;713;0;1320851 + 1779;12792;600;713;0;1320851 + 1780;12792;600;714;0;1333643 + 1781;12804;600;714;0;1333643 + 1782;12809;600;715;0;1346452 + 1783;12816;600;715;0;1346452 + 1784;12825;600;716;0;1359277 + 1785;12828;600;716;0;1359277 + 1786;12840;600;716;0;1359277 + 1787;12847;600;717;0;1372124 + 1788;12852;600;717;0;1372124 + 1789;12862;600;718;0;1384986 + 1790;12864;600;718;0;1384986 + 1791;12876;600;718;0;1384986 + 1792;12884;600;719;0;1397870 + 1793;12888;600;719;0;1397870 + 1794;12897;600;720;0;1410767 + 1795;12900;600;720;0;1410767 + 1796;12912;600;720;0;1410767 + 1797;12917;600;721;0;1423684 + 1798;12924;600;721;0;1423684 + 1799;12930;600;722;0;1436614 + 1800;12936;600;722;0;1436614 + 1801;12945;600;723;0;1449559 + 1802;12948;600;723;0;1449559 + 1803;12960;600;723;0;1449559 + 1804;12962;600;724;0;1462521 + 1805;12972;600;724;0;1462521 + 1806;12976;600;725;0;1475497 + 1807;12984;600;725;0;1475497 + 1808;12994;600;726;0;1488491 + 1809;12996;600;726;0;1488491 + 1810;13008;600;726;0;1488491 + 1811;13016;610;727;0;1392625 + 1812;13020;610;727;0;1392625 + 1813;13032;610;727;0;1392625 + 1814;13034;610;728;0;1405659 + 1815;13044;610;728;0;1405659 + 1816;13048;610;729;0;1418707 + 1817;13056;610;729;0;1418707 + 1818;13066;610;730;0;1431773 + 1819;13068;610;730;0;1431773 + 1820;13080;610;730;0;1431773 + 1821;13090;610;731;0;1444863 + 1822;13092;610;731;0;1444863 + 1823;13104;610;731;0;1444863 + 1824;13106;610;732;0;1457969 + 1825;13116;610;732;0;1457969 + 1826;13128;610;732;0;1457969 + 1827;13128;610;733;0;1471097 + 1828;13140;610;733;0;1471097 + 1829;13147;610;734;0;1484244 + 1830;13152;610;734;0;1484244 + 1831;13160;610;735;0;1497404 + 1832;13164;610;735;0;1497404 + 1833;13174;610;736;0;1510578 + 1834;13176;610;736;0;1510578 + 1835;13188;610;736;0;1510578 + 1836;13195;610;737;0;1523773 + 1837;13200;610;737;0;1523773 + 1838;13208;610;738;0;1536981 + 1839;13212;610;738;0;1536981 + 1840;13220;610;739;0;1550201 + 1841;13224;610;739;0;1550201 + 1842;13233;610;740;0;1563434 + 1843;13236;610;740;0;1563434 + 1844;13248;610;740;0;1563434 + 1845;13252;610;741;0;1576686 + 1846;13260;610;741;0;1576686 + 1847;13272;610;741;0;1576686 + 1848;13275;610;742;0;1589961 + 1849;13284;610;742;0;1589961 + 1850;13295;610;743;0;1603256 + 1851;13296;610;743;0;1603256 + 1852;13308;610;743;0;1603256 + 1853;13312;610;744;0;1616568 + 1854;13320;610;744;0;1616568 + 1855;13332;610;744;0;1616568 + 1856;13332;610;745;0;1629900 + 1857;13344;610;745;0;1629900 + 1858;13349;610;746;0;1643249 + 1859;13356;610;746;0;1643249 + 1860;13364;610;747;0;1656613 + 1861;13368;610;747;0;1656613 + 1862;13380;610;747;0;1656613 + 1863;13388;610;748;0;1670001 + 1864;13392;610;748;0;1670001 + 1865;13404;610;748;0;1670001 + 1866;13405;610;749;0;1683406 + 1867;13416;610;749;0;1683406 + 1868;13426;610;750;0;1696832 + 1869;13428;610;750;0;1696832 + 1870;13440;610;750;0;1696832 + 1871;13448;630;751;0;1487118 + 1872;13452;630;751;0;1487118 + 1873;13464;630;751;0;1487118 + 1874;13467;640;752;0;1386406 + 1875;13476;640;752;0;1386406 + 1876;13483;640;753;0;1399889 + 1877;13488;640;753;0;1399889 + 1878;13500;640;753;0;1399889 + 1879;13504;640;754;0;1413393 + 1880;13512;640;754;0;1413393 + 1881;13522;640;755;0;1426915 + 1882;13524;640;755;0;1426915 + 1883;13536;640;755;0;1426915 + 1884;13539;640;756;0;1440454 + 1885;13548;640;756;0;1440454 + 1886;13558;640;757;0;1454012 + 1887;13560;640;757;0;1454012 + 1888;13572;640;757;0;1454012 + 1889;13576;640;758;0;1467588 + 1890;13584;640;758;0;1467588 + 1891;13593;640;759;0;1481181 + 1892;13596;640;759;0;1481181 + 1893;13608;640;759;0;1481181 + 1894;13617;640;760;0;1494798 + 1895;13620;640;760;0;1494798 + 1896;13632;640;760;0;1494798 + 1897;13636;640;761;0;1508434 + 1898;13644;640;761;0;1508434 + 1899;13651;640;762;0;1522085 + 1900;13656;650;762;0;1406201 + 1901;13665;660;763;0;1302142 + 1902;13668;660;763;0;1302142 + 1903;13680;660;763;0;1302142 + 1904;13687;660;764;0;1315829 + 1905;13692;660;764;0;1315829 + 1906;13704;660;764;0;1315829 + 1907;13705;660;765;0;1329534 + 1908;13716;660;765;0;1329534 + 1909;13720;660;766;0;1343254 + 1910;13728;660;766;0;1343254 + 1911;13740;660;766;0;1343254 + 1912;13742;660;767;0;1356996 + 1913;13752;660;767;0;1356996 + 1914;13757;660;768;0;1370753 + 1915;13764;660;768;0;1370753 + 1916;13776;660;768;0;1370753 + 1917;13779;660;769;0;1384532 + 1918;13788;660;769;0;1384532 + 1919;13793;660;770;0;1398325 + 1920;13800;660;770;0;1398325 + 1921;13808;660;771;0;1412133 + 1922;13812;660;771;0;1412133 + 1923;13824;660;771;0;1412133 + 1924;13831;660;772;0;1425964 + 1925;13836;660;772;0;1425964 + 1926;13846;660;773;0;1439810 + 1927;13848;660;773;0;1439810 + 1928;13860;660;773;0;1439810 + 1929;13869;660;774;0;1453679 + 1930;13872;660;774;0;1453679 + 1931;13884;660;774;0;1453679 + 1932;13893;660;775;0;1467572 + 1933;13896;660;775;0;1467572 + 1934;13908;660;775;0;1467572 + 1935;13912;660;776;0;1481484 + 1936;13920;660;776;0;1481484 + 1937;13924;660;777;0;1495408 + 1938;13932;660;777;0;1495408 + 1939;13944;660;777;0;1495408 + 1940;13947;660;778;0;1509355 + 1941;13956;660;778;0;1509355 + 1942;13968;660;778;0;1509355 + 1943;13968;660;779;0;1523323 + 1944;13980;660;779;0;1523323 + 1945;13991;660;780;0;1537314 + 1946;13992;660;780;0;1537314 + 1947;14004;660;780;0;1537314 + 1948;14004;660;781;0;1551318 + 1949;14016;660;781;0;1551318 + 1950;14028;660;781;0;1551318 + 1951;14028;660;782;0;1565346 + 1952;14040;660;782;0;1565346 + 1953;14052;660;782;0;1565346 + 1954;14052;660;783;0;1579398 + 1955;14064;660;783;0;1579398 + 1956;14074;660;784;0;1593472 + 1957;14076;660;784;0;1593472 + 1958;14088;660;784;0;1593472 + 1959;14088;660;785;0;1607560 + 1960;14100;660;785;0;1607560 + 1961;14100;670;786;0;1502167 + 1962;14112;670;786;0;1502167 + 1963;14117;670;787;0;1516284 + 1964;14124;670;787;0;1516284 + 1965;14129;670;788;0;1530413 + 1966;14136;670;788;0;1530413 + 1967;14147;670;789;0;1544560 + 1968;14148;670;789;0;1544560 + 1969;14160;670;789;0;1544560 + 1970;14168;670;790;0;1558728 + 1971;14172;670;790;0;1558728 + 1972;14184;670;790;0;1558728 + 1973;14184;670;791;0;1572912 + 1974;14196;670;791;0;1572912 + 1975;14204;670;792;0;1587116 + 1976;14208;670;792;0;1587116 + 1977;14218;670;793;0;1601334 + 1978;14220;670;793;0;1601334 + 1979;14232;670;793;0;1601334 + 1980;14235;670;794;0;1615569 + 1981;14244;670;794;0;1615569 + 1982;14247;670;795;0;1629816 + 1983;14256;670;795;0;1629816 + 1984;14268;670;795;0;1629816 + 1985;14268;670;796;0;1644084 + 1986;14280;670;796;0;1644084 + 1987;14282;670;797;0;1658366 + 1988;14292;670;797;0;1658366 + 1989;14304;670;797;0;1658366 + 1990;14305;670;798;0;1672671 + 1991;14316;670;798;0;1672671 + 1992;14328;670;798;0;1672671 + 1993;14329;670;799;0;1687000 + 1994;14340;670;799;0;1687000 + 1995;14349;670;800;0;1701349 + 1996;14352;670;800;0;1701349 + 1997;14363;670;801;0;1715712 + 1998;14364;670;801;0;1715712 + 1999;14376;670;801;0;1715712 + 2000;14384;670;802;0;1730096 + 2001;14388;670;802;0;1730096 + 2002;14400;670;802;0;1730096 + 2003;14402;670;803;0;1744498 + 2004;14412;670;803;0;1744498 + 2005;14417;670;804;0;1758915 + 2006;14424;670;804;0;1758915 + 2007;14436;670;804;0;1758915 + 2008;14441;670;805;0;1773356 + 2009;14448;670;805;0;1773356 + 2010;14458;670;806;0;1787814 + 2011;14460;670;806;0;1787814 + 2012;14470;670;807;0;1802284 + 2013;14472;670;807;0;1802284 + 2014;14484;670;807;0;1802284 + 2015;14485;670;808;0;1816769 + 2016;14496;670;808;0;1816769 + 2017;14508;670;808;0;1816769 + 2018;14509;680;809;0;1709894 + 2019;14520;680;809;0;1709894 + 2020;14530;690;810;0;1601242 + 2021;14532;690;810;0;1601242 + 2022;14544;700;810;0;1476358 + 2023;14550;700;811;0;1490908 + 2024;14556;700;811;0;1490908 + 2025;14563;700;812;0;1505471 + 2026;14568;700;812;0;1505471 + 2027;14580;700;812;0;1505471 + 2028;14583;700;813;0;1520054 + 2029;14592;700;813;0;1520054 + 2030;14603;700;814;0;1534657 + 2031;14604;700;814;0;1534657 + 2032;14616;700;814;0;1534657 + 2033;14621;700;815;0;1549278 + 2034;14628;700;815;0;1549278 + 2035;14640;700;815;0;1549278 + 2036;14643;700;816;0;1563921 + 2037;14652;700;816;0;1563921 + 2038;14659;700;817;0;1578580 + 2039;14664;700;817;0;1578580 + 2040;14676;700;817;0;1578580 + 2041;14677;700;818;0;1593257 + 2042;14688;700;818;0;1593257 + 2043;14695;700;819;0;1607952 + 2044;14700;700;819;0;1607952 + 2045;14712;700;819;0;1607952 + 2046;14715;700;820;0;1622667 + 2047;14724;700;820;0;1622667 + 2048;14729;700;821;0;1637396 + 2049;14736;700;821;0;1637396 + 2050;14748;700;821;0;1637396 + 2051;14751;700;822;0;1652147 + 2052;14760;700;822;0;1652147 + 2053;14764;700;823;0;1666911 + 2054;14772;700;823;0;1666911 + 2055;14784;700;823;0;1666911 + 2056;14784;700;824;0;1681695 + 2057;14796;700;824;0;1681695 + 2058;14803;700;825;0;1696498 + 2059;14808;700;825;0;1696498 + 2060;14820;700;825;0;1696498 + 2061;14825;700;826;0;1711323 + 2062;14832;700;826;0;1711323 + 2063;14841;700;827;0;1726164 + 2064;14844;700;827;0;1726164 + 2065;14856;700;827;0;1726164 + 2066;14859;700;828;0;1741023 + 2067;14868;700;828;0;1741023 + 2068;14880;700;828;0;1741023 + 2069;14883;700;829;0;1755906 + 2070;14892;700;829;0;1755906 + 2071;14896;700;830;0;1770802 + 2072;14904;700;830;0;1770802 + 2073;14910;700;831;0;1785712 + 2074;14916;700;831;0;1785712 + 2075;14928;700;831;0;1785712 + 2076;14929;710;832;0;1674091 + 2077;14940;710;832;0;1674091 + 2078;14946;720;833;0;1560677 + 2079;14952;720;833;0;1560677 + 2080;14960;720;834;0;1575637 + 2081;14964;720;834;0;1575637 + 2082;14976;720;834;0;1575637 + 2083;14976;720;835;0;1590613 + 2084;14988;720;835;0;1590613 + 2085;14997;720;836;0;1605610 + 2086;15000;720;836;0;1605610 + 2087;15011;720;837;0;1620621 + 2088;15012;720;837;0;1620621 + 2089;15024;720;837;0;1620621 + 2090;15030;720;838;0;1635651 + 2091;15036;720;838;0;1635651 + 2092;15048;720;838;0;1635651 + 2093;15054;720;839;0;1650705 + 2094;15060;720;839;0;1650705 + 2095;15069;720;840;0;1665774 + 2096;15072;720;840;0;1665774 + 2097;15084;720;840;0;1665774 + 2098;15093;720;841;0;1680867 + 2099;15096;720;841;0;1680867 + 2100;15108;720;841;0;1680867 + 2101;15111;720;842;0;1695978 + 2102;15120;720;842;0;1695978 + 2103;15132;720;842;0;1695978 + 2104;15135;720;843;0;1711113 + 2105;15144;720;843;0;1711113 + 2106;15154;720;844;0;1726267 + 2107;15156;720;844;0;1726267 + 2108;15168;720;844;0;1726267 + 2109;15173;720;845;0;1741440 + 2110;15180;720;845;0;1741440 + 2111;15188;720;846;0;1756628 + 2112;15192;720;846;0;1756628 + 2113;15204;720;846;0;1756628 + 2114;15211;730;847;0;1641778 + 2115;15216;730;847;0;1641778 + 2116;15228;730;847;0;1641778 + 2117;15233;730;848;0;1657011 + 2118;15240;730;848;0;1657011 + 2119;15248;730;849;0;1672259 + 2120;15252;730;849;0;1672259 + 2121;15263;730;850;0;1687522 + 2122;15264;730;850;0;1687522 + 2123;15276;730;850;0;1687522 + 2124;15283;730;851;0;1702805 + 2125;15288;730;851;0;1702805 + 2126;15300;730;851;0;1702805 + 2127;15300;730;852;0;1718105 + 2128;15312;730;852;0;1718105 + 2129;15322;730;853;0;1733427 + 2130;15324;730;853;0;1733427 + 2131;15336;730;853;0;1733427 + 2132;15341;730;854;0;1748768 + 2133;15348;730;854;0;1748768 + 2134;15356;730;855;0;1764124 + 2135;15360;730;855;0;1764124 + 2136;15371;730;856;0;1779495 + 2137;15372;730;856;0;1779495 + 2138;15384;730;856;0;1779495 + 2139;15393;730;857;0;1794888 + 2140;15396;730;857;0;1794888 + 2141;15408;730;857;0;1794888 + 2142;15413;730;858;0;1810301 + 2143;15420;730;858;0;1810301 + 2144;15432;730;858;0;1810301 + 2145;15432;730;859;0;1825733 + 2146;15444;730;859;0;1825733 + 2147;15452;730;860;0;1841185 + 2148;15456;730;860;0;1841185 + 2149;15468;730;860;0;1841185 + 2150;15468;730;861;0;1856653 + 2151;15480;730;861;0;1856653 + 2152;15488;730;862;0;1872141 + 2153;15492;730;862;0;1872141 + 2154;15504;730;862;0;1872141 + 2155;15504;730;863;0;1887645 + 2156;15516;730;863;0;1887645 + 2157;15528;730;863;0;1887645 + 2158;15528;730;864;0;1903173 + 2159;15540;730;864;0;1903173 + 2160;15550;760;865;0;1517811 + 2161;15552;760;865;0;1517811 + 2162;15564;760;865;0;1517811 + 2163;15565;760;866;0;1533376 + 2164;15576;760;866;0;1533376 + 2165;15577;760;867;0;1548953 + 2166;15588;760;867;0;1548953 + 2167;15595;760;868;0;1564548 + 2168;15600;760;868;0;1564548 + 2169;15612;760;868;0;1564548 + 2170;15616;760;869;0;1580164 + 2171;15624;760;869;0;1580164 + 2172;15634;760;870;0;1595798 + 2173;15636;760;870;0;1595798 + 2174;15648;760;870;0;1595798 + 2175;15651;760;871;0;1611449 + 2176;15660;760;871;0;1611449 + 2177;15668;760;872;0;1627117 + 2178;15672;760;872;0;1627117 + 2179;15684;760;872;0;1627117 + 2180;15689;760;873;0;1642806 + 2181;15696;760;873;0;1642806 + 2182;15702;760;874;0;1658508 + 2183;15708;760;874;0;1658508 + 2184;15720;760;874;0;1658508 + 2185;15725;760;875;0;1674233 + 2186;15732;760;875;0;1674233 + 2187;15741;760;876;0;1689974 + 2188;15744;760;876;0;1689974 + 2189;15756;760;876;0;1689974 + 2190;15763;760;877;0;1705737 + 2191;15768;760;877;0;1705737 + 2192;15779;760;878;0;1721516 + 2193;15780;760;878;0;1721516 + 2194;15792;760;878;0;1721516 + 2195;15794;760;879;0;1737310 + 2196;15804;760;879;0;1737310 + 2197;15808;760;880;0;1753118 + 2198;15816;760;880;0;1753118 + 2199;15828;760;880;0;1753118 + 2200;15830;760;881;0;1768948 + 2201;15840;760;881;0;1768948 + 2202;15844;760;882;0;1784792 + 2203;15852;760;882;0;1784792 + 2204;15861;760;883;0;1800653 + 2205;15864;760;883;0;1800653 + 2206;15876;760;883;0;1800653 + 2207;15879;760;884;0;1816532 + 2208;15888;760;884;0;1816532 + 2209;15897;760;885;0;1832429 + 2210;15900;760;885;0;1832429 + 2211;15911;770;886;0;1711033 + 2212;15912;770;886;0;1711033 + 2213;15924;770;886;0;1711033 + 2214;15932;780;887;0;1587780 + 2215;15936;780;887;0;1587780 + 2216;15948;780;887;0;1587780 + 2217;15950;780;888;0;1603730 + 2218;15960;780;888;0;1603730 + 2219;15962;780;889;0;1619692 + 2220;15972;780;889;0;1619692 + 2221;15984;780;889;0;1619692 + 2222;15985;780;890;0;1635677 + 2223;15996;780;890;0;1635677 + 2224;16007;780;891;0;1651684 + 2225;16008;780;891;0;1651684 + 2226;16020;780;891;0;1651684 + 2227;16025;780;892;0;1667709 + 2228;16032;780;892;0;1667709 + 2229;16041;780;893;0;1683750 + 2230;16044;780;893;0;1683750 + 2231;16056;780;893;0;1683750 + 2232;16063;780;894;0;1699813 + 2233;16068;780;894;0;1699813 + 2234;16079;780;895;0;1715892 + 2235;16080;780;895;0;1715892 + 2236;16092;780;895;0;1715892 + 2237;16097;780;896;0;1731989 + 2238;16104;780;896;0;1731989 + 2239;16110;780;897;0;1748099 + 2240;16116;780;897;0;1748099 + 2241;16122;780;898;0;1764221 + 2242;16128;780;898;0;1764221 + 2243;16140;780;898;0;1764221 + 2244;16145;780;899;0;1780366 + 2245;16152;780;899;0;1780366 + 2246;16164;780;899;0;1780366 + 2247;16164;780;900;0;1796530 + 2248;16176;780;900;0;1796530 + 2249;16182;780;901;0;1812712 + 2250;16188;780;901;0;1812712 + 2251;16200;780;901;0;1812712 + 2252;16206;780;902;0;1828918 + 2253;16212;780;902;0;1828918 + 2254;16223;780;903;0;1845141 + 2255;16224;780;903;0;1845141 + 2256;16236;780;903;0;1845141 + 2257;16242;780;904;0;1861383 + 2258;16248;780;904;0;1861383 + 2259;16260;780;904;0;1861383 + 2260;16266;780;905;0;1877649 + 2261;16272;780;905;0;1877649 + 2262;16284;780;905;0;1877649 + 2263;16285;780;906;0;1893934 + 2264;16296;780;906;0;1893934 + 2265;16307;780;907;0;1910241 + 2266;16308;780;907;0;1910241 + 2267;16320;780;907;0;1910241 + 2268;16324;780;908;0;1926565 + 2269;16332;780;908;0;1926565 + 2270;16343;780;909;0;1942908 + 2271;16344;780;909;0;1942908 + 2272;16356;780;909;0;1942908 + 2273;16356;780;910;0;1959264 + 2274;16368;780;910;0;1959264 + 2275;16378;780;911;0;1975642 + 2276;16380;780;911;0;1975642 + 2277;16392;780;911;0;1975642 + 2278;16392;780;912;0;1992034 + 2279;16404;780;912;0;1992034 + 2280;16414;780;913;0;2008448 + 2281;16416;780;913;0;2008448 + 2282;16428;780;913;0;2008448 + 2283;16429;780;914;0;2024877 + 2284;16440;780;914;0;2024877 + 2285;16441;780;915;0;2041318 + 2286;16452;780;915;0;2041318 + 2287;16455;780;916;0;2057773 + 2288;16464;780;916;0;2057773 + 2289;16474;790;917;0;1933160 + 2290;16476;790;917;0;1933160 + 2291;16488;790;917;0;1933160 + 2292;16494;800;918;0;1806854 + 2293;16500;800;918;0;1806854 + 2294;16507;800;919;0;1823361 + 2295;16512;800;919;0;1823361 + 2296;16524;800;919;0;1823361 + 2297;16526;800;920;0;1839887 + 2298;16536;800;920;0;1839887 + 2299;16538;800;921;0;1856425 + 2300;16548;800;921;0;1856425 + 2301;16560;800;921;0;1856425 + 2302;16561;800;922;0;1872986 + 2303;16572;800;922;0;1872986 + 2304;16584;800;922;0;1872986 + 2305;16584;800;923;0;1889570 + 2306;16596;800;923;0;1889570 + 2307;16601;800;924;0;1906171 + 2308;16608;800;924;0;1906171 + 2309;16615;800;925;0;1922786 + 2310;16620;800;925;0;1922786 + 2311;16632;800;925;0;1922786 + 2312;16634;800;926;0;1939420 + 2313;16644;800;926;0;1939420 + 2314;16649;800;927;0;1956069 + 2315;16656;800;927;0;1956069 + 2316;16663;800;928;0;1972732 + 2317;16668;800;928;0;1972732 + 2318;16675;800;929;0;1989407 + 2319;16680;800;929;0;1989407 + 2320;16692;800;929;0;1989407 + 2321;16693;800;930;0;2006100 + 2322;16704;800;930;0;2006100 + 2323;16715;800;931;0;2022815 + 2324;16716;800;931;0;2022815 + 2325;16728;800;931;0;2022815 + 2326;16730;800;932;0;2039545 + 2327;16740;800;932;0;2039545 + 2328;16748;800;933;0;2056293 + 2329;16752;800;933;0;2056293 + 2330;16764;800;933;0;2056293 + 2331;16770;800;934;0;2073063 + 2332;16776;800;934;0;2073063 + 2333;16788;810;934;0;1928417 + 2334;16791;820;935;0;1798720 + 2335;16800;820;935;0;1798720 + 2336;16806;830;936;0;1667210 + 2337;16812;830;936;0;1667210 + 2338;16821;830;937;0;1684031 + 2339;16824;830;937;0;1684031 + 2340;16836;830;937;0;1684031 + 2341;16844;830;938;0;1700875 + 2342;16848;830;938;0;1700875 + 2343;16860;830;938;0;1700875 + 2344;16864;830;939;0;1717739 + 2345;16872;830;939;0;1717739 + 2346;16882;830;940;0;1734621 + 2347;16884;830;940;0;1734621 + 2348;16896;830;940;0;1734621 + 2349;16900;830;941;0;1751521 + 2350;16908;830;941;0;1751521 + 2351;16920;830;941;0;1751521 + 2352;16920;830;942;0;1768441 + 2353;16932;830;942;0;1768441 + 2354;16940;830;943;0;1785381 + 2355;16944;830;943;0;1785381 + 2356;16956;830;943;0;1785381 + 2357;16956;830;944;0;1802337 + 2358;16968;830;944;0;1802337 + 2359;16976;830;945;0;1819313 + 2360;16980;830;945;0;1819313 + 2361;16992;830;945;0;1819313 + 2362;16999;840;946;0;1686247 + 2363;17004;840;946;0;1686247 + 2364;17016;840;946;0;1686247 + 2365;17017;840;947;0;1703264 + 2366;17028;840;947;0;1703264 + 2367;17030;840;948;0;1720294 + 2368;17040;840;948;0;1720294 + 2369;17050;840;949;0;1737344 + 2370;17052;840;949;0;1737344 + 2371;17064;840;949;0;1737344 + 2372;17069;840;950;0;1754413 + 2373;17076;840;950;0;1754413 + 2374;17085;840;951;0;1771498 + 2375;17088;840;951;0;1771498 + 2376;17099;840;952;0;1788597 + 2377;17100;840;952;0;1788597 + 2378;17112;840;952;0;1788597 + 2379;17117;840;953;0;1805714 + 2380;17124;840;953;0;1805714 + 2381;17136;840;953;0;1805714 + 2382;17139;840;954;0;1822853 + 2383;17148;840;954;0;1822853 + 2384;17153;840;955;0;1840006 + 2385;17160;840;955;0;1840006 + 2386;17171;840;956;0;1857177 + 2387;17172;840;956;0;1857177 + 2388;17184;840;956;0;1857177 + 2389;17189;840;957;0;1874366 + 2390;17196;840;957;0;1874366 + 2391;17206;840;958;0;1891572 + 2392;17208;840;958;0;1891572 + 2393;17218;840;959;0;1908790 + 2394;17220;840;959;0;1908790 + 2395;17232;840;959;0;1908790 + 2396;17237;840;960;0;1926027 + 2397;17244;840;960;0;1926027 + 2398;17254;840;961;0;1943281 + 2399;17256;840;961;0;1943281 + 2400;17268;840;961;0;1943281 + 2401;17271;840;962;0;1960552 + 2402;17280;840;962;0;1960552 + 2403;17289;840;963;0;1977841 + 2404;17292;840;963;0;1977841 + 2405;17304;840;963;0;1977841 + 2406;17307;840;964;0;1995148 + 2407;17316;840;964;0;1995148 + 2408;17324;840;965;0;2012472 + 2409;17328;840;965;0;2012472 + 2410;17340;840;965;0;2012472 + 2411;17341;850;966;0;1877814 + 2412;17352;850;966;0;1877814 + 2413;17355;850;967;0;1895169 + 2414;17364;850;967;0;1895169 + 2415;17376;850;967;0;1895169 + 2416;17377;850;968;0;1912546 + 2417;17388;850;968;0;1912546 + 2418;17393;850;969;0;1929939 + 2419;17400;850;969;0;1929939 + 2420;17411;850;970;0;1947350 + 2421;17412;850;970;0;1947350 + 2422;17424;850;970;0;1947350 + 2423;17424;850;971;0;1964774 + 2424;17436;850;971;0;1964774 + 2425;17444;850;972;0;1982218 + 2426;17448;850;972;0;1982218 + 2427;17456;850;973;0;1999674 + 2428;17460;850;973;0;1999674 + 2429;17469;850;974;0;2017143 + 2430;17472;850;974;0;2017143 + 2431;17484;850;974;0;2017143 + 2432;17485;850;975;0;2034628 + 2433;17496;850;975;0;2034628 + 2434;17502;850;976;0;2052130 + 2435;17508;850;976;0;2052130 + 2436;17520;850;976;0;2052130 + 2437;17523;850;977;0;2069653 + 2438;17532;850;977;0;2069653 + 2439;17544;850;977;0;2069653 + 2440;17545;850;978;0;2087198 + 2441;17556;850;978;0;2087198 + 2442;17558;850;979;0;2104756 + 2443;17568;850;979;0;2104756 + 2444;17580;850;979;0;2104756 + 2445;17582;850;980;0;2122338 + 2446;17592;850;980;0;2122338 + 2447;17599;850;981;0;2139937 + 2448;17604;850;981;0;2139937 + 2449;17616;850;981;0;2139937 + 2450;17617;850;982;0;2157554 + 2451;17628;850;982;0;2157554 + 2452;17639;850;983;0;2175193 + 2453;17640;850;983;0;2175193 + 2454;17652;850;983;0;2175193 + 2455;17658;850;984;0;2192851 + 2456;17664;850;984;0;2192851 + 2457;17676;850;984;0;2192851 + 2458;17678;850;985;0;2210529 + 2459;17688;850;985;0;2210529 + 2460;17693;850;986;0;2228222 + 2461;17700;850;986;0;2228222 + 2462;17710;850;987;0;2245932 + 2463;17712;850;987;0;2245932 + 2464;17724;850;987;0;2245932 + 2465;17731;850;988;0;2263663 + 2466;17736;850;988;0;2263663 + 2467;17743;850;989;0;2281406 + 2468;17748;850;989;0;2281406 + 2469;17759;850;990;0;2299165 + 2470;17760;850;990;0;2299165 + 2471;17772;850;990;0;2299165 + 2472;17772;860;991;0;2163089 + 2473;17784;860;991;0;2163089 + 2474;17792;860;992;0;2180881 + 2475;17796;860;992;0;2180881 + 2476;17808;860;992;0;2180881 + 2477;17811;860;993;0;2198692 + 2478;17820;860;993;0;2198692 + 2479;17827;860;994;0;2216519 + 2480;17832;860;994;0;2216519 + 2481;17840;860;995;0;2234359 + 2482;17844;860;995;0;2234359 + 2483;17856;860;995;0;2234359 + 2484;17864;860;996;0;2252223 + 2485;17868;860;996;0;2252223 + 2486;17879;860;997;0;2270102 + 2487;17880;860;997;0;2270102 + 2488;17892;860;997;0;2270102 + 2489;17897;860;998;0;2287999 + 2490;17904;860;998;0;2287999 + 2491;17916;860;998;0;2287999 + 2492;17919;860;999;0;2305918 + 2493;17928;860;999;0;2305918 + 2494;17938;860;1000;0;2323856 + 2495;17940;860;1000;0;2323856 + 2496;17952;860;1000;0;2323856 + 2497;17953;860;1001;0;2341809 + 2498;17964;870;1001;0;2186101 + 2499;17976;870;1001;0;2186101 + 2500;17977;880;1002;0;2046579 + 2501;17988;880;1002;0;2046579 + 2502;17989;880;1003;0;2064568 + 2503;18000;880;1003;0;2064568 + 2504;18011;880;1004;0;2082579 + 2505;18012;880;1004;0;2082579 + 2506;18024;880;1004;0;2082579 + 2507;18029;880;1005;0;2100608 + 2508;18036;880;1005;0;2100608 + 2509;18045;880;1006;0;2118653 + 2510;18048;880;1006;0;2118653 + 2511;18058;880;1007;0;2136711 + 2512;18060;880;1007;0;2136711 + 2513;18070;880;1008;0;2154781 + 2514;18072;880;1008;0;2154781 + 2515;18084;880;1008;0;2154781 + 2516;18094;880;1009;0;2172875 + 2517;18096;880;1009;0;2172875 + 2518;18108;880;1009;0;2172875 + 2519;18113;880;1010;0;2190988 + 2520;18120;880;1010;0;2190988 + 2521;18132;880;1010;0;2190988 + 2522;18137;880;1011;0;2209125 + 2523;18144;880;1011;0;2209125 + 2524;18151;880;1012;0;2227276 + 2525;18156;880;1012;0;2227276 + 2526;18168;880;1012;0;2227276 + 2527;18175;880;1013;0;2245451 + 2528;18180;880;1013;0;2245451 + 2529;18190;880;1014;0;2263641 + 2530;18192;880;1014;0;2263641 + 2531;18204;880;1014;0;2263641 + 2532;18214;880;1015;0;2281855 + 2533;18216;880;1015;0;2281855 + 2534;18228;880;1015;0;2281855 + 2535;18237;880;1016;0;2300092 + 2536;18240;880;1016;0;2300092 + 2537;18252;880;1016;0;2300092 + 2538;18252;880;1017;0;2318344 + 2539;18264;880;1017;0;2318344 + 2540;18274;880;1018;0;2336618 + 2541;18276;880;1018;0;2336618 + 2542;18288;880;1018;0;2336618 + 2543;18295;880;1019;0;2354913 + 2544;18300;880;1019;0;2354913 + 2545;18312;890;1019;0;2195685 + 2546;18315;890;1020;0;2214000 + 2547;18324;890;1020;0;2214000 + 2548;18336;890;1020;0;2214000 + 2549;18336;890;1021;0;2232336 + 2550;18348;890;1021;0;2232336 + 2551;18350;890;1022;0;2250686 + 2552;18360;890;1022;0;2250686 + 2553;18372;890;1022;0;2250686 + 2554;18372;890;1023;0;2269058 + 2555;18384;890;1023;0;2269058 + 2556;18393;890;1024;0;2287451 + 2557;18396;890;1024;0;2287451 + 2558;18407;890;1025;0;2305858 + 2559;18408;890;1025;0;2305858 + 2560;18419;890;1026;0;2324277 + 2561;18420;890;1026;0;2324277 + 2562;18432;890;1026;0;2324277 + 2563;18440;890;1027;0;2342717 + 2564;18444;890;1027;0;2342717 + 2565;18453;890;1028;0;2361170 + 2566;18456;890;1028;0;2361170 + 2567;18468;890;1028;0;2361170 + 2568;18473;900;1029;0;2218615 + 2569;18480;910;1029;0;2055685 + 2570;18488;910;1030;0;2074173 + 2571;18492;910;1030;0;2074173 + 2572;18504;910;1030;0;2074173 + 2573;18505;910;1031;0;2092678 + 2574;18516;910;1031;0;2092678 + 2575;18519;910;1032;0;2111197 + 2576;18528;910;1032;0;2111197 + 2577;18538;910;1033;0;2129735 + 2578;18540;910;1033;0;2129735 + 2579;18552;910;1033;0;2129735 + 2580;18552;910;1034;0;2148287 + 2581;18564;910;1034;0;2148287 + 2582;18571;910;1035;0;2166858 + 2583;18576;910;1035;0;2166858 + 2584;18586;910;1036;0;2185444 + 2585;18588;910;1036;0;2185444 + 2586;18600;920;1036;0;2020774 + 2587;18608;920;1037;0;2039382 + 2588;18612;920;1037;0;2039382 + 2589;18621;920;1038;0;2058003 + 2590;18624;920;1038;0;2058003 + 2591;18636;920;1038;0;2058003 + 2592;18641;920;1039;0;2076644 + 2593;18648;920;1039;0;2076644 + 2594;18660;920;1039;0;2076644 + 2595;18664;920;1040;0;2095308 + 2596;18672;920;1040;0;2095308 + 2597;18677;920;1041;0;2113985 + 2598;18684;920;1041;0;2113985 + 2599;18692;920;1042;0;2132677 + 2600;18696;920;1042;0;2132677 + 2601;18705;920;1043;0;2151382 + 2602;18708;920;1043;0;2151382 + 2603;18720;930;1043;0;1984992 + 2604;18721;940;1044;0;1835557 + 2605;18732;940;1044;0;1835557 + 2606;18734;940;1045;0;1854291 + 2607;18744;940;1045;0;1854291 + 2608;18753;940;1046;0;1873044 + 2609;18756;940;1046;0;1873044 + 2610;18768;940;1046;0;1873044 + 2611;18771;940;1047;0;1891815 + 2612;18780;940;1047;0;1891815 + 2613;18783;940;1048;0;1910598 + 2614;18792;940;1048;0;1910598 + 2615;18797;940;1049;0;1929395 + 2616;18804;940;1049;0;1929395 + 2617;18812;940;1050;0;1948207 + 2618;18816;940;1050;0;1948207 + 2619;18826;940;1051;0;1967033 + 2620;18828;940;1051;0;1967033 + 2621;18840;940;1051;0;1967033 + 2622;18841;940;1052;0;1985874 + 2623;18852;940;1052;0;1985874 + 2624;18863;940;1053;0;2004737 + 2625;18864;940;1053;0;2004737 + 2626;18876;940;1053;0;2004737 + 2627;18880;940;1054;0;2023617 + 2628;18888;940;1054;0;2023617 + 2629;18894;940;1055;0;2042511 + 2630;18900;940;1055;0;2042511 + 2631;18907;940;1056;0;2061418 + 2632;18912;940;1056;0;2061418 + 2633;18924;950;1056;0;1891376 + 2634;18928;950;1057;0;1910304 + 2635;18936;950;1057;0;1910304 + 2636;18944;950;1058;0;1929248 + 2637;18948;950;1058;0;1929248 + 2638;18956;950;1059;0;1948204 + 2639;18960;950;1059;0;1948204 + 2640;18969;950;1060;0;1967173 + 2641;18972;950;1060;0;1967173 + 2642;18984;950;1060;0;1967173 + 2643;18991;950;1061;0;1986164 + 2644;18996;950;1061;0;1986164 + 2645;19008;950;1061;0;1986164 + 2646;19012;950;1062;0;2005176 + 2647;19020;950;1062;0;2005176 + 2648;19028;950;1063;0;2024204 + 2649;19032;950;1063;0;2024204 + 2650;19040;950;1064;0;2043244 + 2651;19044;950;1064;0;2043244 + 2652;19054;950;1065;0;2062298 + 2653;19056;950;1065;0;2062298 + 2654;19068;950;1065;0;2062298 + 2655;19076;950;1066;0;2081374 + 2656;19080;950;1066;0;2081374 + 2657;19092;950;1066;0;2081374 + 2658;19096;950;1067;0;2100470 + 2659;19104;950;1067;0;2100470 + 2660;19114;960;1068;0;1947801 + 2661;19116;960;1068;0;1947801 + 2662;19127;960;1069;0;1966928 + 2663;19128;960;1069;0;1966928 + 2664;19140;960;1069;0;1966928 + 2665;19148;960;1070;0;1986076 + 2666;19152;960;1070;0;1986076 + 2667;19164;960;1070;0;1986076 + 2668;19169;960;1071;0;2005245 + 2669;19176;960;1071;0;2005245 + 2670;19188;960;1071;0;2005245 + 2671;19190;960;1072;0;2024435 + 2672;19200;960;1072;0;2024435 + 2673;19210;960;1073;0;2043645 + 2674;19212;960;1073;0;2043645 + 2675;19224;960;1073;0;2043645 + 2676;19233;960;1074;0;2062878 + 2677;19236;960;1074;0;2062878 + 2678;19248;960;1074;0;2062878 + 2679;19249;960;1075;0;2082127 + 2680;19260;960;1075;0;2082127 + 2681;19265;960;1076;0;2101392 + 2682;19272;960;1076;0;2101392 + 2683;19283;960;1077;0;2120675 + 2684;19284;960;1077;0;2120675 + 2685;19296;960;1077;0;2120675 + 2686;19306;960;1078;0;2139981 + 2687;19308;960;1078;0;2139981 + 2688;19320;960;1078;0;2139981 + 2689;19327;960;1079;0;2159308 + 2690;19332;960;1079;0;2159308 + 2691;19343;960;1080;0;2178651 + 2692;19344;960;1080;0;2178651 + 2693;19356;960;1080;0;2178651 + 2694;19365;960;1081;0;2198016 + 2695;19368;960;1081;0;2198016 + 2696;19380;960;1081;0;2198016 + 2697;19383;960;1082;0;2217399 + 2698;19392;960;1082;0;2217399 + 2699;19402;960;1083;0;2236801 + 2700;19404;960;1083;0;2236801 + 2701;19416;960;1083;0;2236801 + 2702;19424;960;1084;0;2256225 + 2703;19428;960;1084;0;2256225 + 2704;19440;960;1084;0;2256225 + 2705;19440;960;1085;0;2275665 + 2706;19452;960;1085;0;2275665 + 2707;19456;960;1086;0;2295121 + 2708;19464;960;1086;0;2295121 + 2709;19474;960;1087;0;2314595 + 2710;19476;960;1087;0;2314595 + 2711;19488;960;1087;0;2314595 + 2712;19497;960;1088;0;2334092 + 2713;19500;960;1088;0;2334092 + 2714;19512;960;1088;0;2334092 + 2715;19517;960;1089;0;2353609 + 2716;19524;960;1089;0;2353609 + 2717;19532;960;1090;0;2373141 + 2718;19536;960;1090;0;2373141 + 2719;19548;960;1090;0;2373141 + 2720;19554;960;1091;0;2392695 + 2721;19560;960;1091;0;2392695 + 2722;19572;960;1091;0;2392695 + 2723;19572;960;1092;0;2412267 + 2724;19584;960;1092;0;2412267 + 2725;19590;960;1093;0;2431857 + 2726;19596;960;1093;0;2431857 + 2727;19608;960;1093;0;2431857 + 2728;19608;960;1094;0;2451465 + 2729;19620;960;1094;0;2451465 + 2730;19632;960;1094;0;2451465 + 2731;19632;960;1095;0;2471097 + 2732;19644;960;1095;0;2471097 + 2733;19649;960;1096;0;2490746 + 2734;19656;960;1096;0;2490746 + 2735;19668;960;1096;0;2490746 + 2736;19669;960;1097;0;2510415 + 2737;19680;960;1097;0;2510415 + 2738;19683;970;1098;0;2356606 + 2739;19692;970;1098;0;2356606 + 2740;19699;980;1099;0;2201142 + 2741;19704;980;1099;0;2201142 + 2742;19716;980;1099;0;2201142 + 2743;19723;990;1100;0;2043865 + 2744;19728;990;1100;0;2043865 + 2745;19739;1000;1101;0;1884884 + 2746;19740;1000;1101;0;1884884 + 2747;19752;1000;1101;0;1884884 + 2748;19757;1000;1102;0;1904641 + 2749;19764;1000;1102;0;1904641 + 2750;19776;1000;1102;0;1904641 + 2751;19777;1000;1103;0;1924418 + 2752;19788;1000;1103;0;1924418 + 2753;19794;1010;1104;0;1763689 + 2754;19800;1010;1104;0;1763689 + 2755;19812;1010;1104;0;1763689 + 2756;19813;1010;1105;0;1783502 + 2757;19824;1010;1105;0;1783502 + 2758;19836;1010;1105;0;1783502 + 2759;19837;1010;1106;0;1803339 + 2760;19848;1010;1106;0;1803339 + 2761;19854;1010;1107;0;1823193 + 2762;19860;1010;1107;0;1823193 + 2763;19872;1010;1107;0;1823193 + 2764;19876;1010;1108;0;1843069 + 2765;19884;1010;1108;0;1843069 + 2766;19892;1010;1109;0;1862961 + 2767;19896;1010;1109;0;1862961 + 2768;19908;1010;1109;0;1862961 + 2769;19911;1010;1110;0;1882872 + 2770;19920;1010;1110;0;1882872 + 2771;19932;1010;1110;0;1882872 + 2772;19934;1010;1111;0;1902806 + 2773;19944;1010;1111;0;1902806 + 2774;19953;1010;1112;0;1922759 + 2775;19956;1010;1112;0;1922759 + 2776;19968;1010;1112;0;1922759 + 2777;19970;1010;1113;0;1942729 + 2778;19980;1010;1113;0;1942729 + 2779;19992;1010;1113;0;1942729 + 2780;19994;1010;1114;0;1962723 + 2781;20004;1010;1114;0;1962723 + 2782;20008;1010;1115;0;1982731 + 2783;20016;1010;1115;0;1982731 + 2784;20020;1010;1116;0;2002751 + 2785;20028;1010;1116;0;2002751 + 2786;20032;1010;1117;0;2022783 + 2787;20040;1010;1117;0;2022783 + 2788;20052;1010;1117;0;2022783 + 2789;20053;1010;1118;0;2042836 + 2790;20064;1010;1118;0;2042836 + 2791;20075;1010;1119;0;2062911 + 2792;20076;1010;1119;0;2062911 + 2793;20088;1010;1119;0;2062911 + 2794;20094;1010;1120;0;2083005 + 2795;20100;1010;1120;0;2083005 + 2796;20108;1010;1121;0;2103113 + 2797;20112;1010;1121;0;2103113 + 2798;20122;1010;1122;0;2123235 + 2799;20124;1010;1122;0;2123235 + 2800;20136;1010;1122;0;2123235 + 2801;20142;1010;1123;0;2143377 + 2802;20148;1010;1123;0;2143377 + 2803;20155;1010;1124;0;2163532 + 2804;20160;1010;1124;0;2163532 + 2805;20171;1010;1125;0;2183703 + 2806;20172;1010;1125;0;2183703 + 2807;20184;1010;1125;0;2183703 + 2808;20195;1010;1126;0;2203898 + 2809;20196;1010;1126;0;2203898 + 2810;20208;1010;1126;0;2203898 + 2811;20209;1010;1127;0;2224107 + 2812;20220;1010;1127;0;2224107 + 2813;20232;1020;1127;0;2041668 + 2814;20232;1030;1128;0;1877600 + 2815;20244;1030;1128;0;1877600 + 2816;20249;1030;1129;0;1897849 + 2817;20256;1030;1129;0;1897849 + 2818;20262;1030;1130;0;1918111 + 2819;20268;1030;1130;0;1918111 + 2820;20280;1030;1130;0;1918111 + 2821;20283;1030;1131;0;1938394 + 2822;20292;1030;1131;0;1938394 + 2823;20304;1030;1131;0;1938394 + 2824;20305;1030;1132;0;1958699 + 2825;20316;1030;1132;0;1958699 + 2826;20327;1030;1133;0;1979026 + 2827;20328;1030;1133;0;1979026 + 2828;20340;1030;1133;0;1979026 + 2829;20346;1030;1134;0;1999372 + 2830;20352;1030;1134;0;1999372 + 2831;20364;1030;1134;0;1999372 + 2832;20368;1030;1135;0;2019740 + 2833;20376;1030;1135;0;2019740 + 2834;20388;1030;1135;0;2019740 + 2835;20391;1030;1136;0;2040131 + 2836;20400;1030;1136;0;2040131 + 2837;20410;1030;1137;0;2060541 + 2838;20412;1030;1137;0;2060541 + 2839;20424;1030;1137;0;2060541 + 2840;20433;1030;1138;0;2080974 + 2841;20436;1030;1138;0;2080974 + 2842;20448;1030;1138;0;2080974 + 2843;20453;1030;1139;0;2101427 + 2844;20460;1030;1139;0;2101427 + 2845;20472;1030;1139;0;2101427 + 2846;20477;1030;1140;0;2121904 + 2847;20484;1030;1140;0;2121904 + 2848;20495;1030;1141;0;2142399 + 2849;20496;1030;1141;0;2142399 + 2850;20508;1030;1141;0;2142399 + 2851;20517;1040;1142;0;1976939 + 2852;20520;1040;1142;0;1976939 + 2853;20532;1040;1142;0;1976939 + 2854;20539;1040;1143;0;1997478 + 2855;20544;1040;1143;0;1997478 + 2856;20553;1040;1144;0;2018031 + 2857;20556;1040;1144;0;2018031 + 2858;20568;1040;1144;0;2018031 + 2859;20575;1040;1145;0;2038606 + 2860;20580;1040;1145;0;2038606 + 2861;20592;1040;1145;0;2038606 + 2862;20595;1040;1146;0;2059201 + 2863;20604;1040;1146;0;2059201 + 2864;20611;1040;1147;0;2079812 + 2865;20616;1040;1147;0;2079812 + 2866;20628;1040;1147;0;2079812 + 2867;20631;1050;1148;0;1912849 + 2868;20640;1060;1148;0;1723676 + 2869;20652;1060;1148;0;1723676 + 2870;20654;1060;1149;0;1744330 + 2871;20664;1060;1149;0;1744330 + 2872;20676;1060;1149;0;1744330 + 2873;20677;1060;1150;0;1765007 + 2874;20688;1060;1150;0;1765007 + 2875;20696;1060;1151;0;1785703 + 2876;20700;1060;1151;0;1785703 + 2877;20708;1060;1152;0;1806411 + 2878;20712;1060;1152;0;1806411 + 2879;20722;1060;1153;0;1827133 + 2880;20724;1060;1153;0;1827133 + 2881;20736;1060;1153;0;1827133 + 2882;20745;1060;1154;0;1847878 + 2883;20748;1060;1154;0;1847878 + 2884;20760;1060;1154;0;1847878 + 2885;20760;1060;1155;0;1868638 + 2886;20772;1060;1155;0;1868638 + 2887;20779;1060;1156;0;1889417 + 2888;20784;1060;1156;0;1889417 + 2889;20796;1060;1156;0;1889417 + 2890;20802;1060;1157;0;1910219 + 2891;20808;1060;1157;0;1910219 + 2892;20817;1060;1158;0;1931036 + 2893;20820;1060;1158;0;1931036 + 2894;20830;1060;1159;0;1951866 + 2895;20832;1060;1159;0;1951866 + 2896;20844;1060;1159;0;1951866 + 2897;20852;1060;1160;0;1972718 + 2898;20856;1060;1160;0;1972718 + 2899;20868;1060;1160;0;1972718 + 2900;20873;1060;1161;0;1993591 + 2901;20880;1060;1161;0;1993591 + 2902;20892;1060;1161;0;1993591 + 2903;20896;1060;1162;0;2014487 + 2904;20904;1060;1162;0;2014487 + 2905;20916;1060;1162;0;2014487 + 2906;20920;1060;1163;0;2035407 + 2907;20928;1060;1163;0;2035407 + 2908;20934;1060;1164;0;2056341 + 2909;20940;1060;1164;0;2056341 + 2910;20948;1060;1165;0;2077289 + 2911;20952;1060;1165;0;2077289 + 2912;20964;1060;1165;0;2077289 + 2913;20969;1060;1166;0;2098258 + 2914;20976;1060;1166;0;2098258 + 2915;20983;1060;1167;0;2119241 + 2916;20988;1060;1167;0;2119241 + 2917;21000;1060;1167;0;2119241 + 2918;21000;1060;1168;0;2140241 + 2919;21012;1060;1168;0;2140241 + 2920;21024;1060;1168;0;2140241 + 2921;21024;1060;1169;0;2161265 + 2922;21036;1060;1169;0;2161265 + 2923;21043;1060;1170;0;2182308 + 2924;21048;1060;1170;0;2182308 + 2925;21058;1060;1171;0;2203366 + 2926;21060;1060;1171;0;2203366 + 2927;21072;1060;1171;0;2203366 + 2928;21082;1060;1172;0;2224448 + 2929;21084;1060;1172;0;2224448 + 2930;21096;1060;1172;0;2224448 + 2931;21103;1060;1173;0;2245551 + 2932;21108;1060;1173;0;2245551 + 2933;21115;1060;1174;0;2266666 + 2934;21120;1060;1174;0;2266666 + 2935;21128;1060;1175;0;2287794 + 2936;21132;1060;1175;0;2287794 + 2937;21144;1060;1175;0;2287794 + 2938;21146;1070;1176;0;2118076 + 2939;21156;1070;1176;0;2118076 + 2940;21168;1070;1176;0;2118076 + 2941;21170;1070;1177;0;2139246 + 2942;21180;1070;1177;0;2139246 + 2943;21192;1070;1177;0;2139246 + 2944;21192;1070;1178;0;2160438 + 2945;21204;1070;1178;0;2160438 + 2946;21209;1070;1179;0;2181647 + 2947;21216;1070;1179;0;2181647 + 2948;21228;1070;1179;0;2181647 + 2949;21233;1070;1180;0;2202880 + 2950;21240;1070;1180;0;2202880 + 2951;21252;1070;1180;0;2202880 + 2952;21252;1070;1181;0;2224132 + 2953;21264;1070;1181;0;2224132 + 2954;21264;1070;1182;0;2245396 + 2955;21276;1070;1182;0;2245396 + 2956;21277;1070;1183;0;2266673 + 2957;21288;1070;1183;0;2266673 + 2958;21291;1070;1184;0;2287964 + 2959;21300;1070;1184;0;2287964 + 2960;21311;1070;1185;0;2309275 + 2961;21312;1070;1185;0;2309275 + 2962;21324;1070;1185;0;2309275 + 2963;21332;1070;1186;0;2330607 + 2964;21336;1070;1186;0;2330607 + 2965;21348;1070;1186;0;2330607 + 2966;21354;1070;1187;0;2351961 + 2967;21360;1070;1187;0;2351961 + 2968;21372;1070;1187;0;2351961 + 2969;21377;1070;1188;0;2373338 + 2970;21384;1070;1188;0;2373338 + 2971;21396;1070;1188;0;2373338 + 2972;21398;1070;1189;0;2394736 + 2973;21408;1070;1189;0;2394736 + 2974;21415;1070;1190;0;2416151 + 2975;21420;1070;1190;0;2416151 + 2976;21432;1070;1190;0;2416151 + 2977;21437;1070;1191;0;2437588 + 2978;21444;1070;1191;0;2437588 + 2979;21451;1070;1192;0;2459039 + 2980;21456;1070;1192;0;2459039 + 2981;21468;1070;1192;0;2459039 + 2982;21469;1070;1193;0;2480508 + 2983;21480;1070;1193;0;2480508 + 2984;21488;1070;1194;0;2501996 + 2985;21492;1070;1194;0;2501996 + 2986;21501;1070;1195;0;2523497 + 2987;21504;1070;1195;0;2523497 + 2988;21516;1070;1195;0;2523497 + 2989;21519;1070;1196;0;2545016 + 2990;21528;1070;1196;0;2545016 + 2991;21537;1070;1197;0;2566553 + 2992;21540;1070;1197;0;2566553 + 2993;21552;1070;1197;0;2566553 + 2994;21557;1070;1198;0;2588110 + 2995;21564;1070;1198;0;2588110 + 2996;21576;1070;1198;0;2588110 + 2997;21576;1070;1199;0;2609686 + 2998;21588;1070;1199;0;2609686 + 2999;21598;1070;1200;0;2631284 + 3000;21600;1070;1200;0;2631284 + 3001;21612;1070;1200;0;2631284 + 3002;21612;1070;1201;0;2652896 + 3003;21624;1070;1201;0;2652896 + 3004;21629;1090;1202;0;2287075 + 3005;21636;1090;1202;0;2287075 + 3006;21644;1090;1203;0;2308719 + 3007;21648;1090;1203;0;2308719 + 3008;21660;1090;1203;0;2308719 + 3009;21664;1090;1204;0;2330383 + 3010;21672;1090;1204;0;2330383 + 3011;21678;1090;1205;0;2352061 + 3012;21684;1090;1205;0;2352061 + 3013;21696;1090;1205;0;2352061 + 3014;21698;1100;1206;0;2177195 + 3015;21708;1100;1206;0;2177195 + 3016;21716;1100;1207;0;2198911 + 3017;21720;1100;1207;0;2198911 + 3018;21732;1100;1207;0;2198911 + 3019;21737;1100;1208;0;2220648 + 3020;21744;1100;1208;0;2220648 + 3021;21756;1100;1208;0;2220648 + 3022;21761;1100;1209;0;2242409 + 3023;21768;1100;1209;0;2242409 + 3024;21778;1100;1210;0;2264187 + 3025;21780;1100;1210;0;2264187 + 3026;21792;1100;1210;0;2264187 + 3027;21802;1100;1211;0;2285989 + 3028;21804;1100;1211;0;2285989 + 3029;21816;1100;1211;0;2285989 + 3030;21819;1100;1212;0;2307808 + 3031;21828;1100;1212;0;2307808 + 3032;21831;1100;1213;0;2329639 + 3033;21840;1100;1213;0;2329639 + 3034;21847;1100;1214;0;2351486 + 3035;21852;1100;1214;0;2351486 + 3036;21861;1100;1215;0;2373347 + 3037;21864;1100;1215;0;2373347 + 3038;21876;1100;1215;0;2373347 + 3039;21878;1100;1216;0;2395225 + 3040;21888;1100;1216;0;2395225 + 3041;21900;1100;1216;0;2395225 + 3042;21901;1100;1217;0;2417126 + 3043;21912;1100;1217;0;2417126 + 3044;21913;1100;1218;0;2439039 + 3045;21924;1100;1218;0;2439039 + 3046;21935;1100;1219;0;2460974 + 3047;21936;1100;1219;0;2460974 + 3048;21948;1100;1219;0;2460974 + 3049;21954;1100;1220;0;2482928 + 3050;21960;1100;1220;0;2482928 + 3051;21970;1100;1221;0;2504898 + 3052;21972;1100;1221;0;2504898 + 3053;21984;1100;1221;0;2504898 + 3054;21988;1100;1222;0;2526886 + 3055;21996;1100;1222;0;2526886 + 3056;22007;1100;1223;0;2548893 + 3057;22008;1100;1223;0;2548893 + 3058;22020;1100;1223;0;2548893 + 3059;22024;1100;1224;0;2570917 + 3060;22032;1100;1224;0;2570917 + 3061;22039;1100;1225;0;2592956 + 3062;22044;1100;1225;0;2592956 + 3063;22056;1100;1225;0;2592956 + 3064;22056;1100;1226;0;2615012 + 3065;22068;1100;1226;0;2615012 + 3066;22069;1100;1227;0;2637081 + 3067;22080;1100;1227;0;2637081 + 3068;22089;1100;1228;0;2659170 + 3069;22092;1100;1228;0;2659170 + 3070;22104;1100;1228;0;2659170 + 3071;22105;1100;1229;0;2681275 + 3072;22116;1100;1229;0;2681275 + 3073;22122;1100;1230;0;2703397 + 3074;22128;1100;1230;0;2703397 + 3075;22134;1100;1231;0;2725531 + 3076;22140;1100;1231;0;2725531 + 3077;22152;1100;1231;0;2725531 + 3078;22153;1100;1232;0;2747684 + 3079;22164;1100;1232;0;2747684 + 3080;22175;1110;1233;0;2571414 + 3081;22176;1110;1233;0;2571414 + 3082;22188;1120;1233;0;2371107 + 3083;22197;1140;1234;0;1987279 + 3084;22200;1140;1234;0;1987279 + 3085;22212;1140;1234;0;1987279 + 3086;22216;1140;1235;0;2009495 + 3087;22224;1140;1235;0;2009495 + 3088;22236;1140;1235;0;2009495 + 3089;22238;1140;1236;0;2031733 + 3090;22248;1140;1236;0;2031733 + 3091;22258;1140;1237;0;2053991 + 3092;22260;1140;1237;0;2053991 + 3093;22272;1140;1237;0;2053991 + 3094;22281;1140;1238;0;2076272 + 3095;22284;1140;1238;0;2076272 + 3096;22293;1140;1239;0;2098565 + 3097;22296;1140;1239;0;2098565 + 3098;22308;1140;1239;0;2098565 + 3099;22315;1140;1240;0;2120880 + 3100;22320;1140;1240;0;2120880 + 3101;22329;1140;1241;0;2143209 + 3102;22332;1140;1241;0;2143209 + 3103;22342;1140;1242;0;2165551 + 3104;22344;1140;1242;0;2165551 + 3105;22356;1140;1242;0;2165551 + 3106;22361;1140;1243;0;2187912 + 3107;22368;1140;1243;0;2187912 + 3108;22380;1140;1243;0;2187912 + 3109;22385;1140;1244;0;2210297 + 3110;22392;1140;1244;0;2210297 + 3111;22404;1140;1244;0;2210297 + 3112;22404;1140;1245;0;2232701 + 3113;22416;1140;1245;0;2232701 + 3114;22425;1140;1246;0;2255126 + 3115;22428;1140;1246;0;2255126 + 3116;22440;1140;1246;0;2255126 + 3117;22442;1140;1247;0;2277568 + 3118;22452;1140;1247;0;2277568 + 3119;22464;1140;1247;0;2277568 + 3120;22464;1140;1248;0;2300032 + 3121;22476;1140;1248;0;2300032 + 3122;22480;1140;1249;0;2322512 + 3123;22488;1140;1249;0;2322512 + 3124;22492;1140;1250;0;2345004 + 3125;22500;1140;1250;0;2345004 + 3126;22505;1140;1251;0;2367509 + 3127;22512;1140;1251;0;2367509 + 3128;22522;1150;1252;0;2183983 + 3129;22524;1150;1252;0;2183983 + 3130;22535;1150;1253;0;2206518 + 3131;22536;1150;1253;0;2206518 + 3132;22548;1150;1253;0;2206518 + 3133;22557;1150;1254;0;2229075 + 3134;22560;1150;1254;0;2229075 + 3135;22570;1150;1255;0;2251645 + 3136;22572;1150;1255;0;2251645 + 3137;22584;1150;1255;0;2251645 + 3138;22589;1150;1256;0;2274234 + 3139;22596;1150;1256;0;2274234 + 3140;22606;1150;1257;0;2296840 + 3141;22608;1150;1257;0;2296840 + 3142;22618;1150;1258;0;2319458 + 3143;22620;1150;1258;0;2319458 + 3144;22632;1160;1258;0;2111570 + 3145;22641;1160;1259;0;2134211 + 3146;22644;1160;1259;0;2134211 + 3147;22656;1160;1259;0;2134211 + 3148;22665;1160;1260;0;2156876 + 3149;22668;1160;1260;0;2156876 + 3150;22677;1160;1261;0;2179553 + 3151;22680;1160;1261;0;2179553 + 3152;22692;1160;1261;0;2179553 + 3153;22696;1160;1262;0;2202249 + 3154;22704;1160;1262;0;2202249 + 3155;22716;1160;1262;0;2202249 + 3156;22720;1160;1263;0;2224969 + 3157;22728;1160;1263;0;2224969 + 3158;22735;1160;1264;0;2247704 + 3159;22740;1160;1264;0;2247704 + 3160;22752;1160;1264;0;2247704 + 3161;22758;1160;1265;0;2270462 + 3162;22764;1160;1265;0;2270462 + 3163;22773;1160;1266;0;2293235 + 3164;22776;1160;1266;0;2293235 + 3165;22788;1160;1266;0;2293235 + 3166;22794;1160;1267;0;2316029 + 3167;22800;1160;1267;0;2316029 + 3168;22812;1160;1267;0;2316029 + 3169;22814;1160;1268;0;2338843 + 3170;22824;1160;1268;0;2338843 + 3171;22836;1160;1268;0;2338843 + 3172;22836;1160;1269;0;2361679 + 3173;22848;1160;1269;0;2361679 + 3174;22848;1160;1270;0;2384527 + 3175;22860;1160;1270;0;2384527 + 3176;22872;1160;1270;0;2384527 + 3177;22872;1160;1271;0;2407399 + 3178;22884;1160;1271;0;2407399 + 3179;22894;1160;1272;0;2430293 + 3180;22896;1160;1272;0;2430293 + 3181;22908;1160;1272;0;2430293 + 3182;22914;1170;1273;0;2243432 + 3183;22920;1170;1273;0;2243432 + 3184;22932;1170;1273;0;2243432 + 3185;22935;1170;1274;0;2266367 + 3186;22944;1170;1274;0;2266367 + 3187;22949;1170;1275;0;2289316 + 3188;22956;1170;1275;0;2289316 + 3189;22965;1170;1276;0;2312281 + 3190;22968;1170;1276;0;2312281 + 3191;22980;1170;1276;0;2312281 + 3192;22986;1170;1277;0;2335267 + 3193;22992;1170;1277;0;2335267 + 3194;23001;1170;1278;0;2358268 + 3195;23004;1170;1278;0;2358268 + 3196;23016;1170;1278;0;2358268 + 3197;23016;1170;1279;0;2381284 + 3198;23028;1170;1279;0;2381284 + 3199;23032;1170;1280;0;2404316 + 3200;23040;1170;1280;0;2404316 + 3201;23046;1170;1281;0;2427362 + 3202;23052;1170;1281;0;2427362 + 3203;23064;1170;1281;0;2427362 + 3204;23070;1180;1282;0;2238802 + 3205;23076;1180;1282;0;2238802 + 3206;23088;1180;1282;0;2238802 + 3207;23090;1180;1283;0;2261892 + 3208;23100;1180;1283;0;2261892 + 3209;23112;1180;1283;0;2261892 + 3210;23112;1180;1284;0;2285004 + 3211;23124;1180;1284;0;2285004 + 3212;23124;1180;1285;0;2308128 + 3213;23136;1180;1285;0;2308128 + 3214;23141;1180;1286;0;2331269 + 3215;23148;1180;1286;0;2331269 + 3216;23160;1180;1286;0;2331269 + 3217;23164;1180;1287;0;2354433 + 3218;23172;1180;1287;0;2354433 + 3219;23184;1180;1287;0;2354433 + 3220;23185;1180;1288;0;2377618 + 3221;23196;1180;1288;0;2377618 + 3222;23197;1180;1289;0;2400815 + 3223;23208;1180;1289;0;2400815 + 3224;23219;1180;1290;0;2424034 + 3225;23220;1180;1290;0;2424034 + 3226;23232;1180;1290;0;2424034 + 3227;23236;1180;1291;0;2447270 + 3228;23244;1180;1291;0;2447270 + 3229;23253;1180;1292;0;2470523 + 3230;23256;1180;1292;0;2470523 + 3231;23266;1180;1293;0;2493789 + 3232;23268;1180;1293;0;2493789 + 3233;23280;1180;1293;0;2493789 + 3234;23288;1180;1294;0;2517077 + 3235;23292;1180;1294;0;2517077 + 3236;23300;1180;1295;0;2540377 + 3237;23304;1180;1295;0;2540377 + 3238;23314;1180;1296;0;2563691 + 3239;23316;1180;1296;0;2563691 + 3240;23328;1180;1296;0;2563691 + 3241;23335;1180;1297;0;2587026 + 3242;23340;1180;1297;0;2587026 + 3243;23347;1180;1298;0;2610373 + 3244;23352;1180;1298;0;2610373 + 3245;23364;1180;1298;0;2610373 + 3246;23365;1180;1299;0;2633738 + 3247;23376;1180;1299;0;2633738 + 3248;23379;1190;1300;0;2443661 + 3249;23388;1190;1300;0;2443661 + 3250;23400;1190;1300;0;2443661 + 3251;23403;1190;1301;0;2467064 + 3252;23412;1190;1301;0;2467064 + 3253;23424;1200;1301;0;2251756 + 3254;23427;1200;1302;0;2275183 + 3255;23436;1200;1302;0;2275183 + 3256;23448;1200;1302;0;2275183 + 3257;23448;1200;1303;0;2298631 + 3258;23460;1200;1303;0;2298631 + 3259;23466;1200;1304;0;2322097 + 3260;23472;1200;1304;0;2322097 + 3261;23481;1200;1305;0;2345578 + 3262;23484;1200;1305;0;2345578 + 3263;23496;1200;1305;0;2345578 + 3264;23503;1200;1306;0;2369081 + 3265;23508;1200;1306;0;2369081 + 3266;23520;1200;1306;0;2369081 + 3267;23522;1200;1307;0;2392603 + 3268;23532;1200;1307;0;2392603 + 3269;23539;1200;1308;0;2416142 + 3270;23544;1200;1308;0;2416142 + 3271;23551;1200;1309;0;2439693 + 3272;23556;1200;1309;0;2439693 + 3273;23568;1200;1309;0;2439693 + 3274;23571;1200;1310;0;2463264 + 3275;23580;1200;1310;0;2463264 + 3276;23585;1200;1311;0;2486849 + 3277;23592;1200;1311;0;2486849 + 3278;23604;1200;1311;0;2486849 + 3279;23606;1200;1312;0;2510455 + 3280;23616;1200;1312;0;2510455 + 3281;23619;1200;1313;0;2534074 + 3282;23628;1200;1313;0;2534074 + 3283;23640;1200;1313;0;2534074 + 3284;23640;1200;1314;0;2557714 + 3285;23652;1200;1314;0;2557714 + 3286;23661;1200;1315;0;2581375 + 3287;23664;1200;1315;0;2581375 + 3288;23676;1200;1315;0;2581375 + 3289;23683;1200;1316;0;2605058 + 3290;23688;1200;1316;0;2605058 + 3291;23700;1200;1316;0;2605058 + 3292;23705;1200;1317;0;2628763 + 3293;23712;1200;1317;0;2628763 + 3294;23718;1200;1318;0;2652481 + 3295;23724;1200;1318;0;2652481 + 3296;23732;1200;1319;0;2676213 + 3297;23736;1200;1319;0;2676213 + 3298;23747;1200;1320;0;2699960 + 3299;23748;1200;1320;0;2699960 + 3300;23760;1200;1320;0;2699960 + 3301;23766;1200;1321;0;2723726 + 3302;23772;1200;1321;0;2723726 + 3303;23784;1200;1321;0;2723726 + 3304;23786;1200;1322;0;2747512 + 3305;23796;1200;1322;0;2747512 + 3306;23798;1200;1323;0;2771310 + 3307;23808;1200;1323;0;2771310 + 3308;23810;1200;1324;0;2795120 + 3309;23820;1200;1324;0;2795120 + 3310;23828;1200;1325;0;2818948 + 3311;23832;1200;1325;0;2818948 + 3312;23840;1200;1326;0;2842788 + 3313;23844;1200;1326;0;2842788 + 3314;23855;1200;1327;0;2866643 + 3315;23856;1200;1327;0;2866643 + 3316;23868;1200;1327;0;2866643 + 3317;23875;1200;1328;0;2890518 + 3318;23880;1200;1328;0;2890518 + 3319;23892;1200;1328;0;2890518 + 3320;23898;1200;1329;0;2914416 + 3321;23904;1200;1329;0;2914416 + 3322;23914;1200;1330;0;2938330 + 3323;23916;1200;1330;0;2938330 + 3324;23928;1200;1330;0;2938330 + 3325;23938;1200;1331;0;2962268 + 3326;23940;1200;1331;0;2962268 + 3327;23952;1200;1331;0;2962268 + 3328;23955;1210;1332;0;2769116 + 3329;23964;1220;1332;0;2550207 + 3330;23973;1220;1333;0;2574180 + 3331;23976;1220;1333;0;2574180 + 3332;23988;1220;1333;0;2574180 + 3333;23988;1220;1334;0;2598168 + 3334;24000;1220;1334;0;2598168 + 3335;24000;1220;1335;0;2622168 + 3336;24012;1220;1335;0;2622168 + 3337;24012;1220;1336;0;2646180 + 3338;24024;1220;1336;0;2646180 + 3339;24025;1220;1337;0;2670205 + 3340;24036;1220;1337;0;2670205 + 3341;24048;1220;1337;0;2670205 + 3342;24049;1220;1338;0;2694254 + 3343;24060;1220;1338;0;2694254 + 3344;24068;1220;1339;0;2718322 + 3345;24072;1220;1339;0;2718322 + 3346;24084;1220;1339;0;2718322 + 3347;24086;1220;1340;0;2742408 + 3348;24096;1220;1340;0;2742408 + 3349;24108;1220;1340;0;2742408 + 3350;24108;1220;1341;0;2766516 + 3351;24120;1220;1341;0;2766516 + 3352;24131;1220;1342;0;2790647 + 3353;24132;1220;1342;0;2790647 + 3354;24144;1220;1342;0;2790647 + 3355;24146;1220;1343;0;2814793 + 3356;24156;1220;1343;0;2814793 + 3357;24168;1220;1343;0;2814793 + 3358;24170;1220;1344;0;2838963 + 3359;24180;1220;1344;0;2838963 + 3360;24183;1220;1345;0;2863146 + 3361;24192;1220;1345;0;2863146 + 3362;24202;1220;1346;0;2887348 + 3363;24204;1220;1346;0;2887348 + 3364;24216;1220;1346;0;2887348 + 3365;24218;1220;1347;0;2911566 + 3366;24228;1220;1347;0;2911566 + 3367;24230;1220;1348;0;2935796 + 3368;24240;1220;1348;0;2935796 + 3369;24248;1220;1349;0;2960044 + 3370;24252;1220;1349;0;2960044 + 3371;24264;1220;1349;0;2960044 + 3372;24269;1220;1350;0;2984313 + 3373;24276;1220;1350;0;2984313 + 3374;24283;1220;1351;0;3008596 + 3375;24288;1220;1351;0;3008596 + 3376;24300;1220;1351;0;3008596 + 3377;24303;1220;1352;0;3032899 + 3378;24312;1220;1352;0;3032899 + 3379;24320;1220;1353;0;3057219 + 3380;24324;1220;1353;0;3057219 + 3381;24336;1220;1353;0;3057219 + 3382;24342;1220;1354;0;3081561 + 3383;24348;1220;1354;0;3081561 + 3384;24357;1220;1355;0;3105918 + 3385;24360;1220;1355;0;3105918 + 3386;24372;1220;1355;0;3105918 + 3387;24380;1220;1356;0;3130298 + 3388;24384;1220;1356;0;3130298 + 3389;24396;1220;1356;0;3130298 + 3390;24403;1220;1357;0;3154701 + 3391;24408;1220;1357;0;3154701 + 3392;24419;1240;1358;0;2736032 + 3393;24420;1240;1358;0;2736032 + 3394;24432;1240;1358;0;2736032 + 3395;24434;1240;1359;0;2760466 + 3396;24444;1240;1359;0;2760466 + 3397;24455;1240;1360;0;2784921 + 3398;24456;1240;1360;0;2784921 + 3399;24468;1240;1360;0;2784921 + 3400;24477;1240;1361;0;2809398 + 3401;24480;1240;1361;0;2809398 + 3402;24492;1240;1361;0;2809398 + 3403;24500;1240;1362;0;2833898 + 3404;24504;1240;1362;0;2833898 + 3405;24516;1240;1362;0;2833898 + 3406;24518;1240;1363;0;2858416 + 3407;24528;1240;1363;0;2858416 + 3408;24531;1240;1364;0;2882947 + 3409;24540;1240;1364;0;2882947 + 3410;24544;1240;1365;0;2907491 + 3411;24552;1240;1365;0;2907491 + 3412;24558;1240;1366;0;2932049 + 3413;24564;1240;1366;0;2932049 + 3414;24576;1240;1366;0;2932049 + 3415;24581;1240;1367;0;2956630 + 3416;24588;1240;1367;0;2956630 + 3417;24597;1240;1368;0;2981227 + 3418;24600;1240;1368;0;2981227 + 3419;24611;1240;1369;0;3005838 + 3420;24612;1240;1369;0;3005838 + 3421;24624;1240;1369;0;3005838 + 3422;24631;1240;1370;0;3030469 + 3423;24636;1240;1370;0;3030469 + 3424;24648;1240;1370;0;3030469 + 3425;24651;1240;1371;0;3055120 + 3426;24660;1240;1371;0;3055120 + 3427;24663;1240;1372;0;3079783 + 3428;24672;1240;1372;0;3079783 + 3429;24683;1240;1373;0;3104466 + 3430;24684;1240;1373;0;3104466 + 3431;24696;1240;1373;0;3104466 + 3432;24705;1240;1374;0;3129171 + 3433;24708;1240;1374;0;3129171 + 3434;24720;1240;1374;0;3129171 + 3435;24729;1250;1375;0;2929600 + 3436;24732;1250;1375;0;2929600 + 3437;24744;1260;1375;0;2703620 + 3438;24753;1260;1376;0;2728373 + 3439;24756;1260;1376;0;2728373 + 3440;24768;1260;1376;0;2728373 + 3441;24769;1260;1377;0;2753142 + 3442;24780;1260;1377;0;2753142 + 3443;24787;1260;1378;0;2777929 + 3444;24792;1260;1378;0;2777929 + 3445;24803;1260;1379;0;2802732 + 3446;24804;1260;1379;0;2802732 + 3447;24816;1260;1379;0;2802732 + 3448;24819;1260;1380;0;2827551 + 3449;24828;1260;1380;0;2827551 + 3450;24839;1260;1381;0;2852390 + 3451;24840;1260;1381;0;2852390 + 3452;24851;1260;1382;0;2877241 + 3453;24852;1260;1382;0;2877241 + 3454;24864;1260;1382;0;2877241 + 3455;24869;1260;1383;0;2902110 + 3456;24876;1260;1383;0;2902110 + 3457;24882;1260;1384;0;2926992 + 3458;24888;1260;1384;0;2926992 + 3459;24900;1260;1384;0;2926992 + 3460;24902;1260;1385;0;2951894 + 3461;24912;1260;1385;0;2951894 + 3462;24914;1260;1386;0;2976808 + 3463;24924;1260;1386;0;2976808 + 3464;24933;1270;1387;0;2773895 + 3465;24936;1270;1387;0;2773895 + 3466;24948;1280;1387;0;2544157 + 3467;24952;1280;1388;0;2569109 + 3468;24960;1280;1388;0;2569109 + 3469;24971;1280;1389;0;2594080 + 3470;24972;1280;1389;0;2594080 + 3471;24984;1280;1389;0;2594080 + 3472;24986;1280;1390;0;2619066 + 3473;24996;1280;1390;0;2619066 + 3474;25006;1280;1391;0;2644072 + 3475;25008;1280;1391;0;2644072 + 3476;25020;1280;1391;0;2644072 + 3477;25024;1280;1392;0;2669096 + 3478;25032;1280;1392;0;2669096 + 3479;25044;1280;1392;0;2669096 + 3480;25047;1280;1393;0;2694143 + 3481;25056;1280;1393;0;2694143 + 3482;25068;1280;1393;0;2694143 + 3483;25070;1280;1394;0;2719213 + 3484;25080;1280;1394;0;2719213 + 3485;25085;1280;1395;0;2744298 + 3486;25092;1280;1395;0;2744298 + 3487;25103;1280;1396;0;2769401 + 3488;25104;1280;1396;0;2769401 + 3489;25116;1280;1396;0;2769401 + 3490;25116;1280;1397;0;2794517 + 3491;25128;1280;1397;0;2794517 + 3492;25135;1280;1398;0;2819652 + 3493;25140;1280;1398;0;2819652 + 3494;25152;1290;1398;0;2588114 + 3495;25158;1290;1399;0;2613272 + 3496;25164;1290;1399;0;2613272 + 3497;25173;1290;1400;0;2638445 + 3498;25176;1290;1400;0;2638445 + 3499;25188;1290;1400;0;2638445 + 3500;25195;1290;1401;0;2663640 + 3501;25200;1290;1401;0;2663640 + 3502;25209;1290;1402;0;2688849 + 3503;25212;1290;1402;0;2688849 + 3504;25224;1290;1402;0;2688849 + 3505;25225;1290;1403;0;2714074 + 3506;25236;1290;1403;0;2714074 + 3507;25238;1290;1404;0;2739312 + 3508;25248;1290;1404;0;2739312 + 3509;25260;1290;1404;0;2739312 + 3510;25262;1290;1405;0;2764574 + 3511;25272;1290;1405;0;2764574 + 3512;25281;1290;1406;0;2789855 + 3513;25284;1290;1406;0;2789855 + 3514;25296;1290;1406;0;2789855 + 3515;25300;1290;1407;0;2815155 + 3516;25308;1290;1407;0;2815155 + 3517;25312;1290;1408;0;2840467 + 3518;25320;1290;1408;0;2840467 + 3519;25332;1290;1408;0;2840467 + 3520;25335;1290;1409;0;2865802 + 3521;25344;1290;1409;0;2865802 + 3522;25356;1290;1409;0;2865802 + 3523;25356;1290;1410;0;2891158 + 3524;25368;1290;1410;0;2891158 + 3525;25375;1290;1411;0;2916533 + 3526;25380;1290;1411;0;2916533 + 3527;25392;1290;1411;0;2916533 + 3528;25399;1290;1412;0;2941932 + 3529;25404;1290;1412;0;2941932 + 3530;25416;1290;1412;0;2941932 + 3531;25419;1290;1413;0;2967351 + 3532;25428;1290;1413;0;2967351 + 3533;25435;1290;1414;0;2992786 + 3534;25440;1290;1414;0;2992786 + 3535;25452;1290;1414;0;2992786 + 3536;25459;1290;1415;0;3018245 + 3537;25464;1290;1415;0;3018245 + 3538;25475;1290;1416;0;3043720 + 3539;25476;1290;1416;0;3043720 + 3540;25488;1290;1416;0;3043720 + 3541;25497;1290;1417;0;3069217 + 3542;25500;1290;1417;0;3069217 + 3543;25512;1290;1417;0;3069217 + 3544;25520;1290;1418;0;3094737 + 3545;25524;1290;1418;0;3094737 + 3546;25532;1290;1419;0;3120269 + 3547;25536;1290;1419;0;3120269 + 3548;25548;1290;1419;0;3120269 + 3549;25551;1290;1420;0;3145820 + 3550;25560;1290;1420;0;3145820 + 3551;25571;1290;1421;0;3171391 + 3552;25572;1290;1421;0;3171391 + 3553;25583;1290;1422;0;3196974 + 3554;25584;1290;1422;0;3196974 + 3555;25596;1290;1422;0;3196974 + 3556;25604;1290;1423;0;3222578 + 3557;25608;1290;1423;0;3222578 + 3558;25620;1290;1423;0;3222578 + 3559;25622;1290;1424;0;3248200 + 3560;25632;1290;1424;0;3248200 + 3561;25644;1290;1424;0;3248200 + 3562;25645;1290;1425;0;3273845 + 3563;25656;1290;1425;0;3273845 + 3564;25660;1290;1426;0;3299505 + 3565;25668;1290;1426;0;3299505 + 3566;25677;1290;1427;0;3325182 + 3567;25680;1290;1427;0;3325182 + 3568;25692;1290;1427;0;3325182 + 3569;25692;1300;1428;0;3117624 + 3570;25704;1300;1428;0;3117624 + 3571;25705;1310;1429;0;2908236 + 3572;25716;1310;1429;0;2908236 + 3573;25720;1310;1430;0;2933956 + 3574;25728;1310;1430;0;2933956 + 3575;25734;1310;1431;0;2959690 + 3576;25740;1310;1431;0;2959690 + 3577;25752;1310;1431;0;2959690 + 3578;25758;1310;1432;0;2985448 + 3579;25764;1310;1432;0;2985448 + 3580;25776;1310;1432;0;2985448 + 3581;25780;1310;1433;0;3011228 + 3582;25788;1310;1433;0;3011228 + 3583;25798;1310;1434;0;3037026 + 3584;25800;1310;1434;0;3037026 + 3585;25812;1310;1434;0;3037026 + 3586;25813;1310;1435;0;3062839 + 3587;25824;1310;1435;0;3062839 + 3588;25827;1310;1436;0;3088666 + 3589;25836;1310;1436;0;3088666 + 3590;25843;1310;1437;0;3114509 + 3591;25848;1310;1437;0;3114509 + 3592;25860;1310;1437;0;3114509 + 3593;25866;1310;1438;0;3140375 + 3594;25872;1310;1438;0;3140375 + 3595;25884;1310;1438;0;3140375 + 3596;25887;1310;1439;0;3166262 + 3597;25896;1310;1439;0;3166262 + 3598;25899;1320;1440;0;2955284 + 3599;25908;1330;1440;0;2716742 + 3600;25912;1330;1441;0;2742654 + 3601;25920;1330;1441;0;2742654 + 3602;25926;1330;1442;0;2768580 + 3603;25932;1330;1442;0;2768580 + 3604;25943;1330;1443;0;2794523 + 3605;25944;1330;1443;0;2794523 + 3606;25956;1330;1443;0;2794523 + 3607;25960;1330;1444;0;2820483 + 3608;25968;1330;1444;0;2820483 + 3609;25973;1330;1445;0;2846456 + 3610;25980;1330;1445;0;2846456 + 3611;25991;1330;1446;0;2872447 + 3612;25992;1330;1446;0;2872447 + 3613;26004;1330;1446;0;2872447 + 3614;26008;1330;1447;0;2898455 + 3615;26016;1330;1447;0;2898455 + 3616;26021;1330;1448;0;2924476 + 3617;26028;1330;1448;0;2924476 + 3618;26035;1330;1449;0;2950511 + 3619;26040;1330;1449;0;2950511 + 3620;26049;1330;1450;0;2976560 + 3621;26052;1330;1450;0;2976560 + 3622;26064;1330;1450;0;2976560 + 3623;26064;1330;1451;0;3002624 + 3624;26076;1330;1451;0;3002624 + 3625;26079;1330;1452;0;3028703 + 3626;26088;1330;1452;0;3028703 + 3627;26096;1330;1453;0;3054799 + 3628;26100;1330;1453;0;3054799 + 3629;26112;1330;1453;0;3054799 + 3630;26118;1330;1454;0;3080917 + 3631;26124;1330;1454;0;3080917 + 3632;26136;1330;1454;0;3080917 + 3633;26136;1330;1455;0;3107053 + 3634;26148;1330;1455;0;3107053 + 3635;26152;1330;1456;0;3133205 + 3636;26160;1330;1456;0;3133205 + 3637;26172;1330;1456;0;3133205 + 3638;26172;1330;1457;0;3159377 + 3639;26184;1330;1457;0;3159377 + 3640;26194;1330;1458;0;3185571 + 3641;26196;1330;1458;0;3185571 + 3642;26208;1340;1458;0;2945307 + 3643;26212;1350;1459;0;2729439 + 3644;26220;1350;1459;0;2729439 + 3645;26224;1360;1460;0;2511773 + 3646;26232;1360;1460;0;2511773 + 3647;26244;1360;1460;0;2511773 + 3648;26245;1360;1461;0;2538018 + 3649;26256;1360;1461;0;2538018 + 3650;26266;1360;1462;0;2564284 + 3651;26268;1360;1462;0;2564284 + 3652;26280;1360;1462;0;2564284 + 3653;26283;1360;1463;0;2590567 + 3654;26292;1360;1463;0;2590567 + 3655;26304;1360;1463;0;2590567 + 3656;26305;1360;1464;0;2616872 + 3657;26316;1360;1464;0;2616872 + 3658;26322;1360;1465;0;2643194 + 3659;26328;1360;1465;0;2643194 + 3660;26340;1360;1465;0;2643194 + 3661;26341;1360;1466;0;2669535 + 3662;26352;1360;1466;0;2669535 + 3663;26363;1360;1467;0;2695898 + 3664;26364;1360;1467;0;2695898 + 3665;26376;1360;1467;0;2695898 + 3666;26380;1360;1468;0;2722278 + 3667;26388;1360;1468;0;2722278 + 3668;26396;1360;1469;0;2748674 + 3669;26400;1360;1469;0;2748674 + 3670;26409;1360;1470;0;2775083 + 3671;26412;1360;1470;0;2775083 + 3672;26424;1360;1470;0;2775083 + 3673;26428;1360;1471;0;2801511 + 3674;26436;1360;1471;0;2801511 + 3675;26446;1360;1472;0;2827957 + 3676;26448;1360;1472;0;2827957 + 3677;26458;1360;1473;0;2854415 + 3678;26460;1360;1473;0;2854415 + 3679;26472;1360;1473;0;2854415 + 3680;26474;1360;1474;0;2880889 + 3681;26484;1360;1474;0;2880889 + 3682;26489;1360;1475;0;2907378 + 3683;26496;1360;1475;0;2907378 + 3684;26508;1360;1475;0;2907378 + 3685;26510;1360;1476;0;2933888 + 3686;26520;1360;1476;0;2933888 + 3687;26522;1360;1477;0;2960410 + 3688;26532;1360;1477;0;2960410 + 3689;26544;1360;1477;0;2960410 + 3690;26544;1360;1478;0;2986954 + 3691;26556;1360;1478;0;2986954 + 3692;26566;1360;1479;0;3013520 + 3693;26568;1360;1479;0;3013520 + 3694;26580;1360;1479;0;3013520 + 3695;26589;1360;1480;0;3040109 + 3696;26592;1360;1480;0;3040109 + 3697;26601;1360;1481;0;3066710 + 3698;26604;1360;1481;0;3066710 + 3699;26616;1360;1481;0;3066710 + 3700;26617;1360;1482;0;3093327 + 3701;26628;1360;1482;0;3093327 + 3702;26637;1360;1483;0;3119964 + 3703;26640;1360;1483;0;3119964 + 3704;26652;1360;1483;0;3119964 + 3705;26652;1370;1484;0;2900894 + 3706;26664;1370;1484;0;2900894 + 3707;26674;1370;1485;0;2927568 + 3708;26676;1370;1485;0;2927568 + 3709;26688;1370;1485;0;2927568 + 3710;26697;1370;1486;0;2954265 + 3711;26700;1370;1486;0;2954265 + 3712;26712;1370;1486;0;2954265 + 3713;26720;1370;1487;0;2980985 + 3714;26724;1370;1487;0;2980985 + 3715;26736;1370;1487;0;2980985 + 3716;26736;1370;1488;0;3007721 + 3717;26748;1370;1488;0;3007721 + 3718;26754;1370;1489;0;3034475 + 3719;26760;1370;1489;0;3034475 + 3720;26770;1370;1490;0;3061245 + 3721;26772;1370;1490;0;3061245 + 3722;26783;1370;1491;0;3088028 + 3723;26784;1370;1491;0;3088028 + 3724;26796;1370;1491;0;3088028 + 3725;26801;1370;1492;0;3114829 + 3726;26808;1370;1492;0;3114829 + 3727;26820;1370;1492;0;3114829 + 3728;26821;1370;1493;0;3141650 + 3729;26832;1370;1493;0;3141650 + 3730;26839;1370;1494;0;3168489 + 3731;26844;1370;1494;0;3168489 + 3732;26856;1370;1494;0;3168489 + 3733;26860;1370;1495;0;3195349 + 3734;26868;1370;1495;0;3195349 + 3735;26875;1370;1496;0;3222224 + 3736;26880;1370;1496;0;3222224 + 3737;26892;1370;1496;0;3222224 + 3738;26895;1370;1497;0;3249119 + 3739;26904;1370;1497;0;3249119 + 3740;26915;1370;1498;0;3276034 + 3741;26916;1370;1498;0;3276034 + 3742;26928;1370;1498;0;3276034 + 3743;26932;1370;1499;0;3302966 + 3744;26940;1370;1499;0;3302966 + 3745;26948;1370;1500;0;3329914 + 3746;26952;1370;1500;0;3329914 + 3747;26962;1370;1501;0;3356876 + 3748;26964;1370;1501;0;3356876 + 3749;26976;1370;1501;0;3356876 + 3750;26985;1370;1502;0;3383861 + 3751;26988;1370;1502;0;3383861 + 3752;27000;1370;1502;0;3383861 + 3753;27001;1370;1503;0;3410862 + 3754;27012;1370;1503;0;3410862 + 3755;27018;1370;1504;0;3437880 + 3756;27024;1370;1504;0;3437880 + 3757;27036;1370;1504;0;3437880 + 3758;27038;1380;1505;0;3217368 + 3759;27048;1390;1505;0;2968102 + 3760;27051;1390;1506;0;2995153 + 3761;27060;1390;1506;0;2995153 + 3762;27072;1390;1506;0;2995153 + 3763;27073;1390;1507;0;3022226 + 3764;27084;1390;1507;0;3022226 + 3765;27086;1390;1508;0;3049312 + 3766;27096;1390;1508;0;3049312 + 3767;27105;1390;1509;0;3076417 + 3768;27108;1390;1509;0;3076417 + 3769;27120;1390;1509;0;3076417 + 3770;27121;1390;1510;0;3103538 + 3771;27132;1390;1510;0;3103538 + 3772;27144;1390;1510;0;3103538 + 3773;27145;1390;1511;0;3130683 + 3774;27156;1390;1511;0;3130683 + 3775;27159;1390;1512;0;3157842 + 3776;27168;1390;1512;0;3157842 + 3777;27174;1390;1513;0;3185016 + 3778;27180;1390;1513;0;3185016 + 3779;27192;1390;1513;0;3185016 + 3780;27194;1390;1514;0;3212210 + 3781;27204;1390;1514;0;3212210 + 3782;27209;1390;1515;0;3239419 + 3783;27216;1390;1515;0;3239419 + 3784;27221;1390;1516;0;3266640 + 3785;27228;1390;1516;0;3266640 + 3786;27240;1390;1516;0;3266640 + 3787;27242;1400;1517;0;3042776 + 3788;27252;1400;1517;0;3042776 + 3789;27255;1400;1518;0;3070031 + 3790;27264;1400;1518;0;3070031 + 3791;27276;1400;1518;0;3070031 + 3792;27276;1400;1519;0;3097307 + 3793;27288;1400;1519;0;3097307 + 3794;27293;1400;1520;0;3124600 + 3795;27300;1400;1520;0;3124600 + 3796;27307;1400;1521;0;3151907 + 3797;27312;1400;1521;0;3151907 + 3798;27320;1400;1522;0;3179227 + 3799;27324;1400;1522;0;3179227 + 3800;27335;1400;1523;0;3206562 + 3801;27336;1400;1523;0;3206562 + 3802;27348;1400;1523;0;3206562 + 3803;27354;1400;1524;0;3233916 + 3804;27360;1400;1524;0;3233916 + 3805;27372;1400;1524;0;3233916 + 3806;27376;1400;1525;0;3261292 + 3807;27384;1400;1525;0;3261292 + 3808;27395;1400;1526;0;3288687 + 3809;27396;1400;1526;0;3288687 + 3810;27408;1400;1526;0;3288687 + 3811;27412;1400;1527;0;3316099 + 3812;27420;1400;1527;0;3316099 + 3813;27425;1400;1528;0;3343524 + 3814;27432;1400;1528;0;3343524 + 3815;27444;1400;1528;0;3343524 + 3816;27447;1400;1529;0;3370971 + 3817;27456;1400;1529;0;3370971 + 3818;27465;1400;1530;0;3398436 + 3819;27468;1400;1530;0;3398436 + 3820;27480;1400;1530;0;3398436 + 3821;27487;1400;1531;0;3425923 + 3822;27492;1400;1531;0;3425923 + 3823;27504;1400;1531;0;3425923 + 3824;27507;1400;1532;0;3453430 + 3825;27516;1400;1532;0;3453430 + 3826;27528;1400;1532;0;3453430 + 3827;27531;1400;1533;0;3480961 + 3828;27540;1400;1533;0;3480961 + 3829;27552;1400;1533;0;3480961 + 3830;27553;1400;1534;0;3508514 + 3831;27564;1400;1534;0;3508514 + 3832;27570;1400;1535;0;3536084 + 3833;27576;1400;1535;0;3536084 + 3834;27588;1400;1535;0;3536084 + 3835;27591;1400;1536;0;3563675 + 3836;27600;1400;1536;0;3563675 + 3837;27608;1400;1537;0;3591283 + 3838;27612;1400;1537;0;3591283 + 3839;27623;1400;1538;0;3618906 + 3840;27624;1400;1538;0;3618906 + 3841;27636;1400;1538;0;3618906 + 3842;27636;1400;1539;0;3646542 + 3843;27648;1400;1539;0;3646542 + 3844;27658;1410;1540;0;3421307 + 3845;27660;1410;1540;0;3421307 + 3846;27672;1410;1540;0;3421307 + 3847;27681;1410;1541;0;3448988 + 3848;27684;1410;1541;0;3448988 + 3849;27696;1410;1541;0;3448988 + 3850;27705;1420;1542;0;3221835 + 3851;27708;1430;1542;0;2965193 + 3852;27720;1430;1542;0;2965193 + 3853;27728;1440;1543;0;2734538 + 3854;27732;1440;1543;0;2734538 + 3855;27744;1440;1543;0;2734538 + 3856;27747;1440;1544;0;2762285 + 3857;27756;1440;1544;0;2762285 + 3858;27759;1440;1545;0;2790044 + 3859;27768;1440;1545;0;2790044 + 3860;27780;1440;1545;0;2790044 + 3861;27780;1440;1546;0;2817824 + 3862;27792;1440;1546;0;2817824 + 3863;27803;1440;1547;0;2845627 + 3864;27804;1440;1547;0;2845627 + 3865;27816;1440;1547;0;2845627 + 3866;27819;1440;1548;0;2873446 + 3867;27828;1440;1548;0;2873446 + 3868;27840;1440;1548;0;2873446 + 3869;27843;1440;1549;0;2901289 + 3870;27852;1440;1549;0;2901289 + 3871;27864;1440;1549;0;2901289 + 3872;27864;1440;1550;0;2929153 + 3873;27876;1440;1550;0;2929153 + 3874;27885;1440;1551;0;2957038 + 3875;27888;1440;1551;0;2957038 + 3876;27897;1440;1552;0;2984935 + 3877;27900;1440;1552;0;2984935 + 3878;27910;1440;1553;0;3012845 + 3879;27912;1440;1553;0;3012845 + 3880;27922;1440;1554;0;3040767 + 3881;27924;1440;1554;0;3040767 + 3882;27936;1440;1554;0;3040767 + 3883;27938;1440;1555;0;3068705 + 3884;27948;1440;1555;0;3068705 + 3885;27955;1440;1556;0;3096660 + 3886;27960;1440;1556;0;3096660 + 3887;27972;1440;1556;0;3096660 + 3888;27978;1440;1557;0;3124638 + 3889;27984;1440;1557;0;3124638 + 3890;27996;1440;1557;0;3124638 + 3891;28001;1440;1558;0;3152639 + 3892;28008;1440;1558;0;3152639 + 3893;28018;1440;1559;0;3180657 + 3894;28020;1440;1559;0;3180657 + 3895;28032;1440;1559;0;3180657 + 3896;28042;1440;1560;0;3208699 + 3897;28044;1440;1560;0;3208699 + 3898;28056;1440;1560;0;3208699 + 3899;28060;1440;1561;0;3236759 + 3900;28068;1440;1561;0;3236759 + 3901;28080;1440;1561;0;3236759 + 3902;28083;1440;1562;0;3264842 + 3903;28092;1440;1562;0;3264842 + 3904;28098;1440;1563;0;3292940 + 3905;28104;1440;1563;0;3292940 + 3906;28115;1440;1564;0;3321055 + 3907;28116;1440;1564;0;3321055 + 3908;28128;1440;1564;0;3321055 + 3909;28138;1440;1565;0;3349193 + 3910;28140;1440;1565;0;3349193 + 3911;28152;1440;1565;0;3349193 + 3912;28159;1440;1566;0;3377352 + 3913;28164;1440;1566;0;3377352 + 3914;28176;1440;1566;0;3377352 + 3915;28179;1440;1567;0;3405531 + 3916;28188;1440;1567;0;3405531 + 3917;28200;1440;1567;0;3405531 + 3918;28202;1440;1568;0;3433733 + 3919;28212;1440;1568;0;3433733 + 3920;28221;1440;1569;0;3461954 + 3921;28224;1440;1569;0;3461954 + 3922;28236;1440;1569;0;3461954 + 3923;28244;1440;1570;0;3490198 + 3924;28248;1440;1570;0;3490198 + 3925;28260;1440;1570;0;3490198 + 3926;28264;1440;1571;0;3518462 + 3927;28272;1440;1571;0;3518462 + 3928;28277;1440;1572;0;3546739 + 3929;28284;1440;1572;0;3546739 + 3930;28293;1440;1573;0;3575032 + 3931;28296;1440;1573;0;3575032 + 3932;28308;1440;1573;0;3575032 + 3933;28314;1440;1574;0;3603346 + 3934;28320;1440;1574;0;3603346 + 3935;28328;1440;1575;0;3631674 + 3936;28332;1440;1575;0;3631674 + 3937;28340;1440;1576;0;3660014 + 3938;28344;1440;1576;0;3660014 + 3939;28356;1440;1576;0;3660014 + 3940;28357;1440;1577;0;3688371 + 3941;28368;1440;1577;0;3688371 + 3942;28379;1440;1578;0;3716750 + 3943;28380;1440;1578;0;3716750 + 3944;28392;1440;1578;0;3716750 + 3945;28392;1440;1579;0;3745142 + 3946;28404;1440;1579;0;3745142 + 3947;28408;1450;1580;0;3513580 + 3948;28416;1450;1580;0;3513580 + 3949;28420;1460;1581;0;3280372 + 3950;28428;1470;1581;0;3016879 + 3951;28436;1480;1582;0;2780116 + 3952;28440;1480;1582;0;2780116 + 3953;28450;1480;1583;0;2808566 + 3954;28452;1480;1583;0;2808566 + 3955;28463;1480;1584;0;2837029 + 3956;28464;1480;1584;0;2837029 + 3957;28476;1480;1584;0;2837029 + 3958;28485;1480;1585;0;2865514 + 3959;28488;1480;1585;0;2865514 + 3960;28500;1480;1585;0;2865514 + 3961;28506;1480;1586;0;2894020 + 3962;28512;1480;1586;0;2894020 + 3963;28524;1480;1586;0;2894020 + 3964;28526;1480;1587;0;2922546 + 3965;28536;1480;1587;0;2922546 + 3966;28542;1480;1588;0;2951088 + 3967;28548;1480;1588;0;2951088 + 3968;28555;1480;1589;0;2979643 + 3969;28560;1480;1589;0;2979643 + 3970;28572;1480;1589;0;2979643 + 3971;28579;1480;1590;0;3008222 + 3972;28584;1480;1590;0;3008222 + 3973;28595;1480;1591;0;3036817 + 3974;28596;1480;1591;0;3036817 + 3975;28608;1480;1591;0;3036817 + 3976;28612;1480;1592;0;3065429 + 3977;28620;1480;1592;0;3065429 + 3978;28624;1480;1593;0;3094053 + 3979;28632;1480;1593;0;3094053 + 3980;28639;1480;1594;0;3122692 + 3981;28644;1480;1594;0;3122692 + 3982;28656;1480;1594;0;3122692 + 3983;28657;1480;1595;0;3151349 + 3984;28668;1480;1595;0;3151349 + 3985;28680;1480;1595;0;3151349 + 3986;28680;1480;1596;0;3180029 + 3987;28692;1480;1596;0;3180029 + 3988;28703;1480;1597;0;3208732 + 3989;28704;1480;1597;0;3208732 + 3990;28716;1480;1597;0;3208732 + 3991;28720;1480;1598;0;3237452 + 3992;28728;1480;1598;0;3237452 + 3993;28740;1480;1598;0;3237452 + 3994;28741;1480;1599;0;3266193 + 3995;28752;1480;1599;0;3266193 + 3996;28758;1480;1600;0;3294951 + 3997;28764;1480;1600;0;3294951 + 3998;28775;1480;1601;0;3323726 + 3999;28776;1480;1601;0;3323726 + 4000;28788;1480;1601;0;3323726 + 4001;28793;1480;1602;0;3352519 + 4002;28800;1480;1602;0;3352519 + 4003;28811;1480;1603;0;3381330 + 4004;28812;1480;1603;0;3381330 + 4005;28823;1480;1604;0;3410153 + 4006;28824;1480;1604;0;3410153 + 4007;28836;1480;1604;0;3410153 + 4008;28844;1480;1605;0;3438997 + 4009;28848;1480;1605;0;3438997 + 4010;28860;1480;1605;0;3438997 + 4011;28868;1490;1606;0;3200825 + 4012;28872;1490;1606;0;3200825 + 4013;28883;1510;1607;0;2690237 + 4014;28884;1510;1607;0;2690237 + 4015;28896;1510;1607;0;2690237 + 4016;28901;1510;1608;0;2719138 + 4017;28908;1510;1608;0;2719138 + 4018;28916;1510;1609;0;2748054 + 4019;28920;1510;1609;0;2748054 + 4020;28932;1510;1609;0;2748054 + 4021;28935;1510;1610;0;2776989 + 4022;28944;1510;1610;0;2776989 + 4023;28953;1510;1611;0;2805942 + 4024;28956;1510;1611;0;2805942 + 4025;28968;1510;1611;0;2805942 + 4026;28975;1510;1612;0;2834917 + 4027;28980;1510;1612;0;2834917 + 4028;28992;1510;1612;0;2834917 + 4029;28996;1510;1613;0;2863913 + 4030;29004;1510;1613;0;2863913 + 4031;29014;1510;1614;0;2892927 + 4032;29016;1510;1614;0;2892927 + 4033;29028;1510;1614;0;2892927 + 4034;29032;1510;1615;0;2921959 + 4035;29040;1510;1615;0;2921959 + 4036;29047;1510;1616;0;2951006 + 4037;29052;1510;1616;0;2951006 + 4038;29064;1510;1616;0;2951006 + 4039;29069;1510;1617;0;2980075 + 4040;29076;1510;1617;0;2980075 + 4041;29088;1510;1617;0;2980075 + 4042;29090;1510;1618;0;3009165 + 4043;29100;1510;1618;0;3009165 + 4044;29107;1510;1619;0;3038272 + 4045;29112;1510;1619;0;3038272 + 4046;29124;1510;1619;0;3038272 + 4047;29124;1510;1620;0;3067396 + 4048;29136;1510;1620;0;3067396 + 4049;29136;1510;1621;0;3096532 + 4050;29148;1510;1621;0;3096532 + 4051;29154;1510;1622;0;3125686 + 4052;29160;1510;1622;0;3125686 + 4053;29166;1510;1623;0;3154852 + 4054;29172;1510;1623;0;3154852 + 4055;29184;1510;1623;0;3154852 + 4056;29188;1510;1624;0;3184040 + 4057;29196;1510;1624;0;3184040 + 4058;29203;1510;1625;0;3213243 + 4059;29208;1510;1625;0;3213243 + 4060;29219;1510;1626;0;3242462 + 4061;29220;1510;1626;0;3242462 + 4062;29231;1510;1627;0;3271693 + 4063;29232;1510;1627;0;3271693 + 4064;29244;1510;1627;0;3271693 + 4065;29251;1510;1628;0;3300944 + 4066;29256;1510;1628;0;3300944 + 4067;29268;1510;1628;0;3300944 + 4068;29273;1520;1629;0;3057887 + 4069;29280;1520;1629;0;3057887 + 4070;29292;1520;1629;0;3057887 + 4071;29293;1520;1630;0;3087180 + 4072;29304;1520;1630;0;3087180 + 4073;29316;1520;1630;0;3087180 + 4074;29317;1520;1631;0;3116497 + 4075;29328;1520;1631;0;3116497 + 4076;29337;1520;1632;0;3145834 + 4077;29340;1520;1632;0;3145834 + 4078;29352;1520;1632;0;3145834 + 4079;29355;1520;1633;0;3175189 + 4080;29364;1520;1633;0;3175189 + 4081;29376;1520;1633;0;3175189 + 4082;29378;1520;1634;0;3204567 + 4083;29388;1520;1634;0;3204567 + 4084;29394;1520;1635;0;3233961 + 4085;29400;1520;1635;0;3233961 + 4086;29412;1520;1635;0;3233961 + 4087;29416;1520;1636;0;3263377 + 4088;29424;1520;1636;0;3263377 + 4089;29434;1520;1637;0;3292811 + 4090;29436;1520;1637;0;3292811 + 4091;29447;1520;1638;0;3322258 + 4092;29448;1520;1638;0;3322258 + 4093;29460;1520;1638;0;3322258 + 4094;29467;1520;1639;0;3351725 + 4095;29472;1520;1639;0;3351725 + 4096;29484;1520;1639;0;3351725 + 4097;29488;1520;1640;0;3381213 + 4098;29496;1520;1640;0;3381213 + 4099;29501;1520;1641;0;3410714 + 4100;29508;1520;1641;0;3410714 + 4101;29520;1520;1641;0;3410714 + 4102;29522;1520;1642;0;3440236 + 4103;29532;1520;1642;0;3440236 + 4104;29543;1520;1643;0;3469779 + 4105;29544;1520;1643;0;3469779 + 4106;29556;1520;1643;0;3469779 + 4107;29562;1520;1644;0;3499341 + 4108;29568;1520;1644;0;3499341 + 4109;29574;1520;1645;0;3528915 + 4110;29580;1520;1645;0;3528915 + 4111;29592;1520;1645;0;3528915 + 4112;29597;1520;1646;0;3558512 + 4113;29604;1520;1646;0;3558512 + 4114;29612;1520;1647;0;3588124 + 4115;29616;1520;1647;0;3588124 + 4116;29628;1520;1647;0;3588124 + 4117;29632;1520;1648;0;3617756 + 4118;29640;1520;1648;0;3617756 + 4119;29650;1520;1649;0;3647406 + 4120;29652;1520;1649;0;3647406 + 4121;29664;1520;1649;0;3647406 + 4122;29672;1530;1650;0;3403062 + 4123;29676;1530;1650;0;3403062 + 4124;29684;1530;1651;0;3432746 + 4125;29688;1530;1651;0;3432746 + 4126;29700;1530;1651;0;3432746 + 4127;29703;1530;1652;0;3462449 + 4128;29712;1530;1652;0;3462449 + 4129;29717;1530;1653;0;3492166 + 4130;29724;1530;1653;0;3492166 + 4131;29736;1530;1653;0;3492166 + 4132;29737;1530;1654;0;3521903 + 4133;29748;1530;1654;0;3521903 + 4134;29753;1530;1655;0;3551656 + 4135;29760;1530;1655;0;3551656 + 4136;29770;1530;1656;0;3581426 + 4137;29772;1530;1656;0;3581426 + 4138;29783;1530;1657;0;3611209 + 4139;29784;1530;1657;0;3611209 + 4140;29796;1530;1657;0;3611209 + 4141;29807;1530;1658;0;3641016 + 4142;29808;1530;1658;0;3641016 + 4143;29820;1530;1658;0;3641016 + 4144;29829;1530;1659;0;3670845 + 4145;29832;1530;1659;0;3670845 + 4146;29844;1530;1659;0;3670845 + 4147;29844;1530;1660;0;3700689 + 4148;29856;1530;1660;0;3700689 + 4149;29868;1530;1660;0;3700689 + 4150;29868;1530;1661;0;3730557 + 4151;29880;1530;1661;0;3730557 + 4152;29891;1530;1662;0;3760448 + 4153;29892;1530;1662;0;3760448 + 4154;29904;1530;1662;0;3760448 + 4155;29907;1530;1663;0;3790355 + 4156;29916;1530;1663;0;3790355 + 4157;29920;1530;1664;0;3820275 + 4158;29928;1530;1664;0;3820275 + 4159;29939;1530;1665;0;3850214 + 4160;29940;1530;1665;0;3850214 + 4161;29952;1530;1665;0;3850214 + 4162;29956;1530;1666;0;3880170 + 4163;29964;1530;1666;0;3880170 + 4164;29976;1530;1666;0;3880170 + 4165;29977;1540;1667;0;3634189 + 4166;29988;1540;1667;0;3634189 + 4167;29996;1550;1668;0;3386252 + 4168;30000;1550;1668;0;3386252 + 4169;30012;1550;1668;0;3386252 + 4170;30020;1550;1669;0;3416272 + 4171;30024;1550;1669;0;3416272 + 4172;30032;1550;1670;0;3446304 + 4173;30036;1550;1670;0;3446304 + 4174;30046;1550;1671;0;3476350 + 4175;30048;1550;1671;0;3476350 + 4176;30060;1550;1671;0;3476350 + 4177;30067;1550;1672;0;3506417 + 4178;30072;1550;1672;0;3506417 + 4179;30084;1550;1672;0;3506417 + 4180;30084;1550;1673;0;3536501 + 4181;30096;1550;1673;0;3536501 + 4182;30106;1550;1674;0;3566607 + 4183;30108;1550;1674;0;3566607 + 4184;30120;1550;1674;0;3566607 + 4185;30127;1550;1675;0;3596734 + 4186;30132;1550;1675;0;3596734 + 4187;30143;1560;1676;0;3347156 + 4188;30144;1560;1676;0;3347156 + 4189;30155;1560;1677;0;3377311 + 4190;30156;1560;1677;0;3377311 + 4191;30168;1560;1677;0;3377311 + 4192;30170;1560;1678;0;3407481 + 4193;30180;1560;1678;0;3407481 + 4194;30185;1560;1679;0;3437666 + 4195;30192;1560;1679;0;3437666 + 4196;30204;1560;1679;0;3437666 + 4197;30205;1560;1680;0;3467871 + 4198;30216;1560;1680;0;3467871 + 4199;30224;1560;1681;0;3498095 + 4200;30228;1560;1681;0;3498095 + 4201;30240;1560;1681;0;3498095 + 4202;30245;1560;1682;0;3528340 + 4203;30252;1560;1682;0;3528340 + 4204;30261;1560;1683;0;3558601 + 4205;30264;1560;1683;0;3558601 + 4206;30274;1560;1684;0;3588875 + 4207;30276;1560;1684;0;3588875 + 4208;30286;1560;1685;0;3619161 + 4209;30288;1560;1685;0;3619161 + 4210;30300;1560;1685;0;3619161 + 4211;30302;1560;1686;0;3649463 + 4212;30312;1560;1686;0;3649463 + 4213;30315;1560;1687;0;3679778 + 4214;30324;1560;1687;0;3679778 + 4215;30335;1560;1688;0;3710113 + 4216;30336;1560;1688;0;3710113 + 4217;30348;1560;1688;0;3710113 + 4218;30349;1560;1689;0;3740462 + 4219;30360;1560;1689;0;3740462 + 4220;30370;1560;1690;0;3770832 + 4221;30372;1560;1690;0;3770832 + 4222;30384;1560;1690;0;3770832 + 4223;30394;1560;1691;0;3801226 + 4224;30396;1560;1691;0;3801226 + 4225;30408;1560;1691;0;3801226 + 4226;30416;1560;1692;0;3831642 + 4227;30420;1560;1692;0;3831642 + 4228;30432;1560;1692;0;3831642 + 4229;30436;1560;1693;0;3862078 + 4230;30444;1560;1693;0;3862078 + 4231;30456;1560;1693;0;3862078 + 4232;30456;1560;1694;0;3892534 + 4233;30468;1560;1694;0;3892534 + 4234;30469;1560;1695;0;3923003 + 4235;30480;1560;1695;0;3923003 + 4236;30488;1560;1696;0;3953491 + 4237;30492;1560;1696;0;3953491 + 4238;30500;1560;1697;0;3983991 + 4239;30504;1560;1697;0;3983991 + 4240;30516;1560;1697;0;3983991 + 4241;30517;1560;1698;0;4014508 + 4242;30528;1560;1698;0;4014508 + 4243;30531;1560;1699;0;4045039 + 4244;30540;1560;1699;0;4045039 + 4245;30547;1580;1700;0;3510375 + 4246;30552;1580;1700;0;3510375 + 4247;30562;1590;1701;0;3255800 + 4248;30564;1590;1701;0;3255800 + 4249;30576;1590;1701;0;3255800 + 4250;30583;1590;1702;0;3286383 + 4251;30588;1590;1702;0;3286383 + 4252;30595;1590;1703;0;3316978 + 4253;30600;1590;1703;0;3316978 + 4254;30609;1590;1704;0;3347587 + 4255;30612;1590;1704;0;3347587 + 4256;30624;1590;1704;0;3347587 + 4257;30627;1590;1705;0;3378214 + 4258;30636;1590;1705;0;3378214 + 4259;30646;1590;1706;0;3408860 + 4260;30648;1590;1706;0;3408860 + 4261;30660;1590;1706;0;3408860 + 4262;30666;1590;1707;0;3439526 + 4263;30672;1590;1707;0;3439526 + 4264;30684;1590;1707;0;3439526 + 4265;30686;1590;1708;0;3470212 + 4266;30696;1590;1708;0;3470212 + 4267;30708;1590;1708;0;3470212 + 4268;30708;1600;1709;0;3214011 + 4269;30720;1600;1709;0;3214011 + 4270;30725;1610;1710;0;2956009 + 4271;30732;1610;1710;0;2956009 + 4272;30744;1610;1710;0;2956009 + 4273;30746;1610;1711;0;2986755 + 4274;30756;1610;1711;0;2986755 + 4275;30768;1610;1711;0;2986755 + 4276;30769;1610;1712;0;3017524 + 4277;30780;1610;1712;0;3017524 + 4278;30782;1610;1713;0;3048306 + 4279;30792;1610;1713;0;3048306 + 4280;30800;1610;1714;0;3079106 + 4281;30804;1610;1714;0;3079106 + 4282;30813;1610;1715;0;3109919 + 4283;30816;1610;1715;0;3109919 + 4284;30828;1610;1715;0;3109919 + 4285;30828;1610;1716;0;3140747 + 4286;30840;1610;1716;0;3140747 + 4287;30843;1610;1717;0;3171590 + 4288;30852;1610;1717;0;3171590 + 4289;30863;1610;1718;0;3202453 + 4290;30864;1610;1718;0;3202453 + 4291;30876;1610;1718;0;3202453 + 4292;30884;1610;1719;0;3233337 + 4293;30888;1610;1719;0;3233337 + 4294;30900;1610;1719;0;3233337 + 4295;30900;1610;1720;0;3264237 + 4296;30912;1610;1720;0;3264237 + 4297;30919;1610;1721;0;3295156 + 4298;30924;1610;1721;0;3295156 + 4299;30936;1610;1721;0;3295156 + 4300;30942;1610;1722;0;3326098 + 4301;30948;1610;1722;0;3326098 + 4302;30960;1610;1722;0;3326098 + 4303;30961;1610;1723;0;3357059 + 4304;30972;1610;1723;0;3357059 + 4305;30977;1620;1724;0;3097446 + 4306;30984;1620;1724;0;3097446 + 4307;30992;1620;1725;0;3128438 + 4308;30996;1620;1725;0;3128438 + 4309;31008;1620;1725;0;3128438 + 4310;31012;1620;1726;0;3159450 + 4311;31020;1620;1726;0;3159450 + 4312;31032;1620;1726;0;3159450 + 4313;31034;1620;1727;0;3190484 + 4314;31044;1620;1727;0;3190484 + 4315;31047;1620;1728;0;3221531 + 4316;31056;1620;1728;0;3221531 + 4317;31061;1620;1729;0;3252592 + 4318;31068;1620;1729;0;3252592 + 4319;31080;1620;1729;0;3252592 + 4320;31084;1620;1730;0;3283676 + 4321;31092;1620;1730;0;3283676 + 4322;31101;1620;1731;0;3314777 + 4323;31104;1620;1731;0;3314777 + 4324;31116;1620;1731;0;3314777 + 4325;31125;1620;1732;0;3345902 + 4326;31128;1620;1732;0;3345902 + 4327;31139;1620;1733;0;3377041 + 4328;31140;1620;1733;0;3377041 + 4329;31152;1620;1733;0;3377041 + 4330;31153;1620;1734;0;3408194 + 4331;31164;1620;1734;0;3408194 + 4332;31165;1620;1735;0;3439359 + 4333;31176;1620;1735;0;3439359 + 4334;31188;1620;1735;0;3439359 + 4335;31188;1620;1736;0;3470547 + 4336;31200;1620;1736;0;3470547 + 4337;31212;1620;1736;0;3470547 + 4338;31212;1620;1737;0;3501759 + 4339;31224;1620;1737;0;3501759 + 4340;31236;1620;1737;0;3501759 + 4341;31236;1620;1738;0;3532995 + 4342;31248;1620;1738;0;3532995 + 4343;31256;1620;1739;0;3564251 + 4344;31260;1620;1739;0;3564251 + 4345;31272;1620;1739;0;3564251 + 4346;31278;1620;1740;0;3595529 + 4347;31284;1620;1740;0;3595529 + 4348;31291;1620;1741;0;3626820 + 4349;31296;1620;1741;0;3626820 + 4350;31308;1620;1741;0;3626820 + 4351;31310;1620;1742;0;3658130 + 4352;31320;1620;1742;0;3658130 + 4353;31332;1620;1742;0;3658130 + 4354;31334;1620;1743;0;3689464 + 4355;31344;1620;1743;0;3689464 + 4356;31347;1620;1744;0;3720811 + 4357;31356;1620;1744;0;3720811 + 4358;31363;1620;1745;0;3752174 + 4359;31368;1620;1745;0;3752174 + 4360;31380;1620;1745;0;3752174 + 4361;31385;1620;1746;0;3783559 + 4362;31392;1620;1746;0;3783559 + 4363;31398;1620;1747;0;3814957 + 4364;31404;1620;1747;0;3814957 + 4365;31411;1620;1748;0;3846368 + 4366;31416;1620;1748;0;3846368 + 4367;31428;1620;1748;0;3846368 + 4368;31433;1620;1749;0;3877801 + 4369;31440;1620;1749;0;3877801 + 4370;31452;1620;1749;0;3877801 + 4371;31452;1620;1750;0;3909253 + 4372;31464;1620;1750;0;3909253 + 4373;31464;1620;1751;0;3940717 + 4374;31476;1620;1751;0;3940717 + 4375;31477;1620;1752;0;3972194 + 4376;31488;1620;1752;0;3972194 + 4377;31500;1620;1752;0;3972194 + 4378;31500;1630;1753;0;3711399 + 4379;31512;1640;1753;0;3417182 + 4380;31515;1640;1754;0;3448697 + 4381;31524;1640;1754;0;3448697 + 4382;31536;1640;1754;0;3448697 + 4383;31537;1640;1755;0;3480234 + 4384;31548;1640;1755;0;3480234 + 4385;31552;1640;1756;0;3511786 + 4386;31560;1640;1756;0;3511786 + 4387;31564;1640;1757;0;3543350 + 4388;31572;1640;1757;0;3543350 + 4389;31580;1640;1758;0;3574930 + 4390;31584;1640;1758;0;3574930 + 4391;31596;1640;1758;0;3574930 + 4392;31597;1640;1759;0;3606527 + 4393;31608;1640;1759;0;3606527 + 4394;31612;1640;1760;0;3638139 + 4395;31620;1640;1760;0;3638139 + 4396;31626;1640;1761;0;3669765 + 4397;31632;1640;1761;0;3669765 + 4398;31644;1640;1761;0;3669765 + 4399;31650;1640;1762;0;3701415 + 4400;31656;1640;1762;0;3701415 + 4401;31662;1650;1763;0;3437029 + 4402;31668;1650;1763;0;3437029 + 4403;31676;1660;1764;0;3170894 + 4404;31680;1660;1764;0;3170894 + 4405;31692;1660;1764;0;3170894 + 4406;31695;1660;1765;0;3202589 + 4407;31704;1660;1765;0;3202589 + 4408;31716;1660;1765;0;3202589 + 4409;31716;1660;1766;0;3234305 + 4410;31728;1660;1766;0;3234305 + 4411;31735;1660;1767;0;3266040 + 4412;31740;1660;1767;0;3266040 + 4413;31748;1660;1768;0;3297788 + 4414;31752;1660;1768;0;3297788 + 4415;31764;1660;1768;0;3297788 + 4416;31771;1660;1769;0;3329559 + 4417;31776;1660;1769;0;3329559 + 4418;31788;1660;1769;0;3329559 + 4419;31789;1660;1770;0;3361348 + 4420;31800;1660;1770;0;3361348 + 4421;31812;1660;1770;0;3361348 + 4422;31812;1660;1771;0;3393160 + 4423;31824;1660;1771;0;3393160 + 4424;31830;1660;1772;0;3424990 + 4425;31836;1660;1772;0;3424990 + 4426;31848;1660;1772;0;3424990 + 4427;31853;1660;1773;0;3456843 + 4428;31860;1660;1773;0;3456843 + 4429;31866;1660;1774;0;3488709 + 4430;31872;1660;1774;0;3488709 + 4431;31883;1660;1775;0;3520592 + 4432;31884;1660;1775;0;3520592 + 4433;31896;1660;1775;0;3520592 + 4434;31904;1660;1776;0;3552496 + 4435;31908;1660;1776;0;3552496 + 4436;31920;1660;1776;0;3552496 + 4437;31925;1660;1777;0;3584421 + 4438;31932;1660;1777;0;3584421 + 4439;31944;1660;1777;0;3584421 + 4440;31947;1660;1778;0;3616368 + 4441;31956;1660;1778;0;3616368 + 4442;31968;1660;1778;0;3616368 + 4443;31970;1660;1779;0;3648338 + 4444;31980;1660;1779;0;3648338 + 4445;31984;1660;1780;0;3680322 + 4446;31992;1660;1780;0;3680322 + 4447;31998;1660;1781;0;3712320 + 4448;32004;1660;1781;0;3712320 + 4449;32016;1660;1781;0;3712320 + 4450;32020;1660;1782;0;3744340 + 4451;32028;1660;1782;0;3744340 + 4452;32039;1660;1783;0;3776379 + 4453;32040;1660;1783;0;3776379 + 4454;32051;1660;1784;0;3808430 + 4455;32052;1660;1784;0;3808430 + 4456;32064;1660;1784;0;3808430 + 4457;32074;1660;1785;0;3840504 + 4458;32076;1660;1785;0;3840504 + 4459;32088;1660;1785;0;3840504 + 4460;32093;1660;1786;0;3872597 + 4461;32100;1660;1786;0;3872597 + 4462;32108;1660;1787;0;3904705 + 4463;32112;1660;1787;0;3904705 + 4464;32124;1660;1787;0;3904705 + 4465;32129;1660;1788;0;3936834 + 4466;32136;1660;1788;0;3936834 + 4467;32148;1660;1788;0;3936834 + 4468;32153;1660;1789;0;3968987 + 4469;32160;1660;1789;0;3968987 + 4470;32170;1660;1790;0;4001157 + 4471;32172;1660;1790;0;4001157 + 4472;32184;1660;1790;0;4001157 + 4473;32192;1660;1791;0;4033349 + 4474;32196;1660;1791;0;4033349 + 4475;32208;1660;1791;0;4033349 + 4476;32209;1660;1792;0;4065558 + 4477;32220;1660;1792;0;4065558 + 4478;32223;1670;1793;0;3798097 + 4479;32232;1670;1793;0;3798097 + 4480;32237;1670;1794;0;3830334 + 4481;32244;1670;1794;0;3830334 + 4482;32255;1670;1795;0;3862589 + 4483;32256;1670;1795;0;3862589 + 4484;32268;1670;1795;0;3862589 + 4485;32271;1670;1796;0;3894860 + 4486;32280;1670;1796;0;3894860 + 4487;32290;1670;1797;0;3927150 + 4488;32292;1670;1797;0;3927150 + 4489;32302;1670;1798;0;3959452 + 4490;32304;1670;1798;0;3959452 + 4491;32315;1670;1799;0;3991767 + 4492;32316;1670;1799;0;3991767 + 4493;32328;1670;1799;0;3991767 + 4494;32331;1670;1800;0;4024098 + 4495;32340;1670;1800;0;4024098 + 4496;32343;1670;1801;0;4056441 + 4497;32352;1670;1801;0;4056441 + 4498;32362;1680;1802;0;3787337 + 4499;32364;1680;1802;0;3787337 + 4500;32375;1680;1803;0;3819712 + 4501;32376;1680;1803;0;3819712 + 4502;32388;1680;1803;0;3819712 + 4503;32395;1680;1804;0;3852107 + 4504;32400;1680;1804;0;3852107 + 4505;32412;1680;1804;0;3852107 + 4506;32419;1680;1805;0;3884526 + 4507;32424;1680;1805;0;3884526 + 4508;32436;1680;1805;0;3884526 + 4509;32438;1680;1806;0;3916964 + 4510;32448;1680;1806;0;3916964 + 4511;32452;1680;1807;0;3949416 + 4512;32460;1680;1807;0;3949416 + 4513;32472;1680;1807;0;3949416 + 4514;32475;1680;1808;0;3981891 + 4515;32484;1680;1808;0;3981891 + 4516;32488;1680;1809;0;4014379 + 4517;32496;1680;1809;0;4014379 + 4518;32508;1680;1809;0;4014379 + 4519;32512;1680;1810;0;4046891 + 4520;32520;1680;1810;0;4046891 + 4521;32532;1680;1810;0;4046891 + 4522;32536;1680;1811;0;4079427 + 4523;32544;1680;1811;0;4079427 + 4524;32552;1680;1812;0;4111979 + 4525;32556;1680;1812;0;4111979 + 4526;32568;1680;1812;0;4111979 + 4527;32569;1680;1813;0;4144548 + 4528;32580;1680;1813;0;4144548 + 4529;32592;1680;1813;0;4144548 + 4530;32593;1680;1814;0;4177141 + 4531;32604;1680;1814;0;4177141 + 4532;32616;1690;1814;0;3874010 + 4533;32616;1700;1815;0;3601704 + 4534;32628;1700;1815;0;3601704 + 4535;32634;1700;1816;0;3634338 + 4536;32640;1700;1816;0;3634338 + 4537;32652;1700;1816;0;3634338 + 4538;32652;1700;1817;0;3666990 + 4539;32664;1700;1817;0;3666990 + 4540;32667;1700;1818;0;3699657 + 4541;32676;1700;1818;0;3699657 + 4542;32679;1700;1819;0;3732336 + 4543;32688;1700;1819;0;3732336 + 4544;32693;1700;1820;0;3765029 + 4545;32700;1700;1820;0;3765029 + 4546;32708;1700;1821;0;3797737 + 4547;32712;1700;1821;0;3797737 + 4548;32724;1700;1821;0;3797737 + 4549;32726;1700;1822;0;3830463 + 4550;32736;1700;1822;0;3830463 + 4551;32743;1700;1823;0;3863206 + 4552;32748;1700;1823;0;3863206 + 4553;32760;1700;1823;0;3863206 + 4554;32766;1700;1824;0;3895972 + 4555;32772;1700;1824;0;3895972 + 4556;32780;1700;1825;0;3928752 + 4557;32784;1700;1825;0;3928752 + 4558;32796;1700;1825;0;3928752 + 4559;32804;1700;1826;0;3961556 + 4560;32808;1700;1826;0;3961556 + 4561;32818;1700;1827;0;3994374 + 4562;32820;1700;1827;0;3994374 + 4563;32832;1700;1827;0;3994374 + 4564;32838;1700;1828;0;4027212 + 4565;32844;1700;1828;0;4027212 + 4566;32856;1700;1828;0;4027212 + 4567;32861;1700;1829;0;4060073 + 4568;32868;1700;1829;0;4060073 + 4569;32880;1700;1829;0;4060073 + 4570;32885;1700;1830;0;4092958 + 4571;32892;1700;1830;0;4092958 + 4572;32902;1700;1831;0;4125860 + 4573;32904;1700;1831;0;4125860 + 4574;32916;1700;1831;0;4125860 + 4575;32923;1700;1832;0;4158783 + 4576;32928;1700;1832;0;4158783 + 4577;32940;1700;1832;0;4158783 + 4578;32942;1700;1833;0;4191725 + 4579;32952;1700;1833;0;4191725 + 4580;32958;1700;1834;0;4224683 + 4581;32964;1700;1834;0;4224683 + 4582;32976;1700;1834;0;4224683 + 4583;32977;1710;1835;0;3951069 + 4584;32988;1720;1835;0;3642668 + 4585;32993;1720;1836;0;3675661 + 4586;33000;1720;1836;0;3675661 + 4587;33005;1720;1837;0;3708666 + 4588;33012;1720;1837;0;3708666 + 4589;33024;1720;1837;0;3708666 + 4590;33028;1720;1838;0;3741694 + 4591;33036;1720;1838;0;3741694 + 4592;33046;1720;1839;0;3774740 + 4593;33048;1720;1839;0;3774740 + 4594;33060;1720;1839;0;3774740 + 4595;33064;1720;1840;0;3807804 + 4596;33072;1720;1840;0;3807804 + 4597;33084;1720;1840;0;3807804 + 4598;33088;1720;1841;0;3840892 + 4599;33096;1720;1841;0;3840892 + 4600;33101;1720;1842;0;3873993 + 4601;33108;1720;1842;0;3873993 + 4602;33115;1720;1843;0;3907108 + 4603;33120;1720;1843;0;3907108 + 4604;33131;1720;1844;0;3940239 + 4605;33132;1720;1844;0;3940239 + 4606;33144;1720;1844;0;3940239 + 4607;33151;1720;1845;0;3973390 + 4608;33156;1720;1845;0;3973390 + 4609;33166;1720;1846;0;4006556 + 4610;33168;1720;1846;0;4006556 + 4611;33180;1720;1846;0;4006556 + 4612;33182;1720;1847;0;4039738 + 4613;33192;1720;1847;0;4039738 + 4614;33204;1720;1847;0;4039738 + 4615;33204;1720;1848;0;4072942 + 4616;33216;1720;1848;0;4072942 + 4617;33226;1720;1849;0;4106168 + 4618;33228;1720;1849;0;4106168 + 4619;33240;1720;1849;0;4106168 + 4620;33248;1730;1850;0;3829205 + 4621;33252;1730;1850;0;3829205 + 4622;33264;1730;1850;0;3829205 + 4623;33267;1730;1851;0;3862472 + 4624;33276;1730;1851;0;3862472 + 4625;33286;1730;1852;0;3895758 + 4626;33288;1730;1852;0;3895758 + 4627;33300;1730;1852;0;3895758 + 4628;33300;1730;1853;0;3929058 + 4629;33312;1730;1853;0;3929058 + 4630;33312;1730;1854;0;3962370 + 4631;33324;1730;1854;0;3962370 + 4632;33331;1730;1855;0;3995701 + 4633;33336;1730;1855;0;3995701 + 4634;33348;1740;1855;0;3683658 + 4635;33349;1750;1856;0;3403110 + 4636;33360;1750;1856;0;3403110 + 4637;33362;1750;1857;0;3436472 + 4638;33372;1750;1857;0;3436472 + 4639;33384;1750;1857;0;3436472 + 4640;33384;1760;1858;0;3154296 + 4641;33396;1760;1858;0;3154296 + 4642;33401;1760;1859;0;3187697 + 4643;33408;1760;1859;0;3187697 + 4644;33416;1760;1860;0;3221113 + 4645;33420;1760;1860;0;3221113 + 4646;33432;1760;1860;0;3221113 + 4647;33440;1760;1861;0;3254553 + 4648;33444;1760;1861;0;3254553 + 4649;33456;1760;1861;0;3254553 + 4650;33458;1760;1862;0;3288011 + 4651;33468;1760;1862;0;3288011 + 4652;33471;1760;1863;0;3321482 + 4653;33480;1760;1863;0;3321482 + 4654;33483;1760;1864;0;3354965 + 4655;33492;1760;1864;0;3354965 + 4656;33504;1760;1864;0;3354965 + 4657;33507;1760;1865;0;3388472 + 4658;33516;1760;1865;0;3388472 + 4659;33520;1760;1866;0;3421992 + 4660;33528;1760;1866;0;3421992 + 4661;33539;1760;1867;0;3455531 + 4662;33540;1760;1867;0;3455531 + 4663;33551;1760;1868;0;3489082 + 4664;33552;1760;1868;0;3489082 + 4665;33563;1760;1869;0;3522645 + 4666;33564;1760;1869;0;3522645 + 4667;33576;1760;1869;0;3522645 + 4668;33582;1760;1870;0;3556227 + 4669;33588;1760;1870;0;3556227 + 4670;33600;1760;1870;0;3556227 + 4671;33604;1760;1871;0;3589831 + 4672;33612;1760;1871;0;3589831 + 4673;33619;1760;1872;0;3623450 + 4674;33624;1760;1872;0;3623450 + 4675;33636;1760;1872;0;3623450 + 4676;33637;1760;1873;0;3657087 + 4677;33648;1760;1873;0;3657087 + 4678;33660;1760;1873;0;3657087 + 4679;33661;1760;1874;0;3690748 + 4680;33672;1760;1874;0;3690748 + 4681;33681;1760;1875;0;3724429 + 4682;33684;1760;1875;0;3724429 + 4683;33696;1760;1875;0;3724429 + 4684;33699;1760;1876;0;3758128 + 4685;33708;1760;1876;0;3758128 + 4686;33720;1760;1876;0;3758128 + 4687;33722;1760;1877;0;3791850 + 4688;33732;1760;1877;0;3791850 + 4689;33737;1760;1878;0;3825587 + 4690;33744;1760;1878;0;3825587 + 4691;33750;1760;1879;0;3859337 + 4692;33756;1760;1879;0;3859337 + 4693;33768;1760;1879;0;3859337 + 4694;33774;1760;1880;0;3893111 + 4695;33780;1760;1880;0;3893111 + 4696;33787;1760;1881;0;3926898 + 4697;33792;1760;1881;0;3926898 + 4698;33804;1760;1881;0;3926898 + 4699;33805;1760;1882;0;3960703 + 4700;33816;1760;1882;0;3960703 + 4701;33825;1760;1883;0;3994528 + 4702;33828;1760;1883;0;3994528 + 4703;33840;1760;1883;0;3994528 + 4704;33841;1760;1884;0;4028369 + 4705;33852;1760;1884;0;4028369 + 4706;33861;1760;1885;0;4062230 + 4707;33864;1760;1885;0;4062230 + 4708;33876;1760;1885;0;4062230 + 4709;33881;1760;1886;0;4096111 + 4710;33888;1760;1886;0;4096111 + 4711;33900;1760;1886;0;4096111 + 4712;33900;1760;1887;0;4130011 + 4713;33912;1760;1887;0;4130011 + 4714;33922;1760;1888;0;4163933 + 4715;33924;1760;1888;0;4163933 + 4716;33936;1760;1888;0;4163933 + 4717;33939;1760;1889;0;4197872 + 4718;33948;1760;1889;0;4197872 + 4719;33954;1760;1890;0;4231826 + 4720;33960;1760;1890;0;4231826 + 4721;33972;1760;1890;0;4231826 + 4722;33974;1760;1891;0;4265800 + 4723;33984;1760;1891;0;4265800 + 4724;33988;1760;1892;0;4299788 + 4725;33996;1760;1892;0;4299788 + 4726;34008;1760;1892;0;4299788 + 4727;34012;1770;1893;0;4016546 + 4728;34020;1770;1893;0;4016546 + 4729;34026;1780;1894;0;3731412 + 4730;34032;1780;1894;0;3731412 + 4731;34042;1780;1895;0;3765454 + 4732;34044;1780;1895;0;3765454 + 4733;34056;1780;1895;0;3765454 + 4734;34060;1780;1896;0;3799514 + 4735;34068;1780;1896;0;3799514 + 4736;34075;1780;1897;0;3833589 + 4737;34080;1780;1897;0;3833589 + 4738;34089;1780;1898;0;3867678 + 4739;34092;1780;1898;0;3867678 + 4740;34102;1780;1899;0;3901780 + 4741;34104;1780;1899;0;3901780 + 4742;34116;1780;1899;0;3901780 + 4743;34124;1780;1900;0;3935904 + 4744;34128;1780;1900;0;3935904 + 4745;34140;1780;1900;0;3935904 + 4746;34142;1790;1901;0;3649017 + 4747;34152;1810;1901;0;3001789 + 4748;34160;1810;1902;0;3035949 + 4749;34164;1810;1902;0;3035949 + 4750;34175;1810;1903;0;3070124 + 4751;34176;1810;1903;0;3070124 + 4752;34188;1810;1903;0;3070124 + 4753;34188;1810;1904;0;3104312 + 4754;34200;1810;1904;0;3104312 + 4755;34212;1810;1904;0;3104312 + 4756;34212;1810;1905;0;3138524 + 4757;34224;1810;1905;0;3138524 + 4758;34225;1810;1906;0;3172749 + 4759;34236;1810;1906;0;3172749 + 4760;34246;1810;1907;0;3206995 + 4761;34248;1810;1907;0;3206995 + 4762;34260;1810;1907;0;3206995 + 4763;34269;1820;1908;0;2914901 + 4764;34272;1820;1908;0;2914901 + 4765;34282;1820;1909;0;2949183 + 4766;34284;1820;1909;0;2949183 + 4767;34296;1820;1909;0;2949183 + 4768;34298;1820;1910;0;2983481 + 4769;34308;1820;1910;0;2983481 + 4770;34313;1820;1911;0;3017794 + 4771;34320;1820;1911;0;3017794 + 4772;34332;1820;1911;0;3017794 + 4773;34334;1820;1912;0;3052128 + 4774;34344;1820;1912;0;3052128 + 4775;34353;1820;1913;0;3086481 + 4776;34356;1820;1913;0;3086481 + 4777;34368;1820;1913;0;3086481 + 4778;34373;1820;1914;0;3120854 + 4779;34380;1820;1914;0;3120854 + 4780;34392;1820;1914;0;3120854 + 4781;34396;1820;1915;0;3155250 + 4782;34404;1820;1915;0;3155250 + 4783;34413;1820;1916;0;3189663 + 4784;34416;1820;1916;0;3189663 + 4785;34425;1820;1917;0;3224088 + 4786;34428;1820;1917;0;3224088 + 4787;34440;1820;1917;0;3224088 + 4788;34441;1820;1918;0;3258529 + 4789;34452;1820;1918;0;3258529 + 4790;34464;1820;1918;0;3258529 + 4791;34465;1820;1919;0;3292994 + 4792;34476;1820;1919;0;3292994 + 4793;34479;1820;1920;0;3327473 + 4794;34488;1820;1920;0;3327473 + 4795;34500;1820;1920;0;3327473 + 4796;34502;1820;1921;0;3361975 + 4797;34512;1820;1921;0;3361975 + 4798;34519;1820;1922;0;3396494 + 4799;34524;1820;1922;0;3396494 + 4800;34536;1820;1922;0;3396494 + 4801;34538;1820;1923;0;3431032 + 4802;34548;1820;1923;0;3431032 + 4803;34554;1820;1924;0;3465586 + 4804;34560;1820;1924;0;3465586 + 4805;34572;1820;1924;0;3465586 + 4806;34575;1820;1925;0;3500161 + 4807;34584;1820;1925;0;3500161 + 4808;34595;1820;1926;0;3534756 + 4809;34596;1820;1926;0;3534756 + 4810;34608;1820;1926;0;3534756 + 4811;34613;1820;1927;0;3569369 + 4812;34620;1820;1927;0;3569369 + 4813;34630;1820;1928;0;3603999 + 4814;34632;1820;1928;0;3603999 + 4815;34644;1820;1928;0;3603999 + 4816;34651;1820;1929;0;3638650 + 4817;34656;1820;1929;0;3638650 + 4818;34665;1820;1930;0;3673315 + 4819;34668;1820;1930;0;3673315 + 4820;34680;1820;1930;0;3673315 + 4821;34686;1820;1931;0;3708001 + 4822;34692;1820;1931;0;3708001 + 4823;34701;1820;1932;0;3742702 + 4824;34704;1820;1932;0;3742702 + 4825;34716;1820;1932;0;3742702 + 4826;34724;1830;1933;0;3449303 + 4827;34728;1830;1933;0;3449303 + 4828;34740;1830;1933;0;3449303 + 4829;34745;1830;1934;0;3484048 + 4830;34752;1830;1934;0;3484048 + 4831;34763;1830;1935;0;3518811 + 4832;34764;1830;1935;0;3518811 + 4833;34776;1830;1935;0;3518811 + 4834;34784;1830;1936;0;3553595 + 4835;34788;1830;1936;0;3553595 + 4836;34798;1830;1937;0;3588393 + 4837;34800;1830;1937;0;3588393 + 4838;34810;1830;1938;0;3623203 + 4839;34812;1830;1938;0;3623203 + 4840;34824;1830;1938;0;3623203 + 4841;34832;1830;1939;0;3658035 + 4842;34836;1830;1939;0;3658035 + 4843;34848;1830;1939;0;3658035 + 4844;34854;1830;1940;0;3692889 + 4845;34860;1830;1940;0;3692889 + 4846;34872;1830;1940;0;3692889 + 4847;34873;1830;1941;0;3727762 + 4848;34884;1830;1941;0;3727762 + 4849;34889;1830;1942;0;3762651 + 4850;34896;1830;1942;0;3762651 + 4851;34906;1830;1943;0;3797557 + 4852;34908;1830;1943;0;3797557 + 4853;34919;1830;1944;0;3832476 + 4854;34920;1830;1944;0;3832476 + 4855;34932;1830;1944;0;3832476 + 4856;34932;1830;1945;0;3867408 + 4857;34944;1830;1945;0;3867408 + 4858;34948;1830;1946;0;3902356 + 4859;34956;1830;1946;0;3902356 + 4860;34967;1830;1947;0;3937323 + 4861;34968;1830;1947;0;3937323 + 4862;34980;1830;1947;0;3937323 + 4863;34987;1830;1948;0;3972310 + 4864;34992;1830;1948;0;3972310 + 4865;35004;1830;1948;0;3972310 + 4866;35009;1830;1949;0;4007319 + 4867;35016;1830;1949;0;4007319 + 4868;35025;1830;1950;0;4042344 + 4869;35028;1830;1950;0;4042344 + 4870;35040;1830;1950;0;4042344 + 4871;35042;1830;1951;0;4077386 + 4872;35052;1830;1951;0;4077386 + 4873;35056;1830;1952;0;4112442 + 4874;35064;1830;1952;0;4112442 + 4875;35076;1830;1952;0;4112442 + 4876;35077;1830;1953;0;4147519 + 4877;35088;1830;1953;0;4147519 + 4878;35090;1830;1954;0;4182609 + 4879;35100;1830;1954;0;4182609 + 4880;35112;1830;1954;0;4182609 + 4881;35113;1830;1955;0;4217722 + 4882;35124;1830;1955;0;4217722 + 4883;35133;1830;1956;0;4252855 + 4884;35136;1830;1956;0;4252855 + 4885;35145;1830;1957;0;4288000 + 4886;35148;1830;1957;0;4288000 + 4887;35160;1830;1957;0;4288000 + 4888;35162;1830;1958;0;4323162 + 4889;35172;1830;1958;0;4323162 + 4890;35179;1830;1959;0;4358341 + 4891;35184;1830;1959;0;4358341 + 4892;35196;1830;1959;0;4358341 + 4893;35200;1830;1960;0;4393541 + 4894;35208;1830;1960;0;4393541 + 4895;35220;1830;1960;0;4393541 + 4896;35223;1830;1961;0;4428764 + 4897;35232;1830;1961;0;4428764 + 4898;35237;1830;1962;0;4464001 + 4899;35244;1830;1962;0;4464001 + 4900;35253;1830;1963;0;4499254 + 4901;35256;1830;1963;0;4499254 + 4902;35268;1830;1963;0;4499254 + 4903;35271;1830;1964;0;4534525 + 4904;35280;1830;1964;0;4534525 + 4905;35288;1830;1965;0;4569813 + 4906;35292;1830;1965;0;4569813 + 4907;35303;1830;1966;0;4605116 + 4908;35304;1830;1966;0;4605116 + 4909;35316;1830;1966;0;4605116 + 4910;35326;1830;1967;0;4640442 + 4911;35328;1830;1967;0;4640442 + 4912;35338;1830;1968;0;4675780 + 4913;35340;1830;1968;0;4675780 + 4914;35351;1840;1969;0;4381107 + 4915;35352;1840;1969;0;4381107 + 4916;35364;1840;1969;0;4381107 + 4917;35366;1850;1970;0;4084682 + 4918;35376;1850;1970;0;4084682 + 4919;35388;1860;1970;0;3751101 + 4920;35389;1860;1971;0;3786490 + 4921;35400;1860;1971;0;3786490 + 4922;35407;1860;1972;0;3821897 + 4923;35412;1860;1972;0;3821897 + 4924;35424;1860;1972;0;3821897 + 4925;35427;1860;1973;0;3857324 + 4926;35436;1860;1973;0;3857324 + 4927;35440;1860;1974;0;3892764 + 4928;35448;1860;1974;0;3892764 + 4929;35460;1860;1974;0;3892764 + 4930;35464;1860;1975;0;3928228 + 4931;35472;1860;1975;0;3928228 + 4932;35480;1860;1976;0;3963708 + 4933;35484;1860;1976;0;3963708 + 4934;35496;1860;1976;0;3963708 + 4935;35502;1860;1977;0;3999210 + 4936;35508;1860;1977;0;3999210 + 4937;35520;1870;1977;0;3663932 + 4938;35520;1870;1978;0;3699452 + 4939;35532;1870;1978;0;3699452 + 4940;35541;1870;1979;0;3734993 + 4941;35544;1870;1979;0;3734993 + 4942;35556;1870;1979;0;3734993 + 4943;35561;1870;1980;0;3770554 + 4944;35568;1870;1980;0;3770554 + 4945;35573;1870;1981;0;3806127 + 4946;35580;1870;1981;0;3806127 + 4947;35585;1870;1982;0;3841712 + 4948;35592;1870;1982;0;3841712 + 4949;35597;1870;1983;0;3877309 + 4950;35604;1870;1983;0;3877309 + 4951;35616;1870;1983;0;3877309 + 4952;35620;1870;1984;0;3912929 + 4953;35628;1870;1984;0;3912929 + 4954;35640;1870;1984;0;3912929 + 4955;35643;1880;1985;0;3611505 + 4956;35652;1880;1985;0;3611505 + 4957;35662;1880;1986;0;3647167 + 4958;35664;1880;1986;0;3647167 + 4959;35674;1880;1987;0;3682841 + 4960;35676;1880;1987;0;3682841 + 4961;35688;1880;1987;0;3682841 + 4962;35697;1880;1988;0;3718538 + 4963;35700;1880;1988;0;3718538 + 4964;35712;1880;1988;0;3718538 + 4965;35720;1880;1989;0;3754258 + 4966;35724;1880;1989;0;3754258 + 4967;35732;1880;1990;0;3789990 + 4968;35736;1880;1990;0;3789990 + 4969;35748;1880;1990;0;3789990 + 4970;35754;1880;1991;0;3825744 + 4971;35760;1880;1991;0;3825744 + 4972;35766;1880;1992;0;3861510 + 4973;35772;1880;1992;0;3861510 + 4974;35783;1880;1993;0;3897293 + 4975;35784;1880;1993;0;3897293 + 4976;35796;1880;1993;0;3897293 + 4977;35804;1880;1994;0;3933097 + 4978;35808;1880;1994;0;3933097 + 4979;35820;1880;1994;0;3933097 + 4980;35827;1880;1995;0;3968924 + 4981;35832;1880;1995;0;3968924 + 4982;35841;1880;1996;0;4004765 + 4983;35844;1880;1996;0;4004765 + 4984;35856;1880;1996;0;4004765 + 4985;35857;1880;1997;0;4040622 + 4986;35868;1880;1997;0;4040622 + 4987;35871;1880;1998;0;4076493 + 4988;35880;1880;1998;0;4076493 + 4989;35892;1880;1998;0;4076493 + 4990;35892;1880;1999;0;4112385 + 4991;35904;1880;1999;0;4112385 + 4992;35916;1880;1999;0;4112385 + 4993;35916;1880;2000;0;4148301 + 4994;35928;1880;2000;0;4148301 + 4995;35933;1880;2001;0;4184234 + 4996;35940;1880;2001;0;4184234 + 4997;35949;1880;2002;0;4220183 + 4998;35952;1880;2002;0;4220183 + 4999;35964;1880;2002;0;4220183 + 5000;35964;1880;2003;0;4256147 + 5001;35976;1880;2003;0;4256147 + 5002;35977;1880;2004;0;4292124 + 5003;35988;1880;2004;0;4292124 + 5004;35993;1880;2005;0;4328117 + 5005;36000;1880;2005;0;4328117 + 5006;36010;1880;2006;0;4364127 + 5007;36012;1880;2006;0;4364127 + 5008;36024;1880;2006;0;4364127 + 5009;36027;1880;2007;0;4400154 + 5010;36036;1880;2007;0;4400154 + 5011;36047;1880;2008;0;4436201 + 5012;36048;1880;2008;0;4436201 + 5013;36060;1880;2008;0;4436201 + 5014;36071;1890;2009;0;4133370 + 5015;36072;1890;2009;0;4133370 + 5016;36084;1890;2009;0;4133370 + 5017;36087;1890;2010;0;4169457 + 5018;36096;1890;2010;0;4169457 + 5019;36108;1890;2010;0;4169457 + 5020;36110;1890;2011;0;4205567 + 5021;36120;1890;2011;0;4205567 + 5022;36129;1890;2012;0;4241696 + 5023;36132;1890;2012;0;4241696 + 5024;36141;1890;2013;0;4277837 + 5025;36144;1890;2013;0;4277837 + 5026;36156;1890;2013;0;4277837 + 5027;36162;1890;2014;0;4313999 + 5028;36168;1890;2014;0;4313999 + 5029;36176;1890;2015;0;4350175 + 5030;36180;1890;2015;0;4350175 + 5031;36189;1890;2016;0;4386364 + 5032;36192;1890;2016;0;4386364 + 5033;36204;1890;2016;0;4386364 + 5034;36212;1890;2017;0;4422576 + 5035;36216;1890;2017;0;4422576 + 5036;36228;1890;2017;0;4422576 + 5037;36234;1890;2018;0;4458810 + 5038;36240;1890;2018;0;4458810 + 5039;36252;1890;2018;0;4458810 + 5040;36255;1890;2019;0;4495065 + 5041;36264;1890;2019;0;4495065 + 5042;36276;1890;2019;0;4495065 + 5043;36276;1890;2020;0;4531341 + 5044;36288;1890;2020;0;4531341 + 5045;36294;1890;2021;0;4567635 + 5046;36300;1890;2021;0;4567635 + 5047;36312;1890;2021;0;4567635 + 5048;36316;1890;2022;0;4603951 + 5049;36324;1890;2022;0;4603951 + 5050;36336;1890;2022;0;4603951 + 5051;36340;1890;2023;0;4640291 + 5052;36348;1890;2023;0;4640291 + 5053;36353;1890;2024;0;4676644 + 5054;36360;1890;2024;0;4676644 + 5055;36370;1890;2025;0;4713014 + 5056;36372;1890;2025;0;4713014 + 5057;36384;1890;2025;0;4713014 + 5058;36393;1890;2026;0;4749407 + 5059;36396;1890;2026;0;4749407 + 5060;36408;1890;2026;0;4749407 + 5061;36413;1890;2027;0;4785820 + 5062;36420;1890;2027;0;4785820 + 5063;36432;1890;2027;0;4785820 + 5064;36434;1900;2028;0;4481594 + 5065;36444;1900;2028;0;4481594 + 5066;36447;1910;2029;0;4175673 + 5067;36456;1910;2029;0;4175673 + 5068;36463;1920;2030;0;3867955 + 5069;36468;1920;2030;0;3867955 + 5070;36478;1920;2031;0;3904433 + 5071;36480;1920;2031;0;3904433 + 5072;36492;1920;2031;0;3904433 + 5073;36500;1920;2032;0;3940933 + 5074;36504;1920;2032;0;3940933 + 5075;36516;1920;2032;0;3940933 + 5076;36524;1920;2033;0;3977457 + 5077;36528;1920;2033;0;3977457 + 5078;36538;1920;2034;0;4013995 + 5079;36540;1920;2034;0;4013995 + 5080;36552;1920;2034;0;4013995 + 5081;36556;1920;2035;0;4050551 + 5082;36564;1920;2035;0;4050551 + 5083;36575;1920;2036;0;4087126 + 5084;36576;1920;2036;0;4087126 + 5085;36587;1920;2037;0;4123713 + 5086;36588;1920;2037;0;4123713 + 5087;36600;1920;2037;0;4123713 + 5088;36605;1920;2038;0;4160318 + 5089;36612;1920;2038;0;4160318 + 5090;36618;1920;2039;0;4196936 + 5091;36624;1920;2039;0;4196936 + 5092;36633;1920;2040;0;4233569 + 5093;36636;1920;2040;0;4233569 + 5094;36648;1920;2040;0;4233569 + 5095;36648;1920;2041;0;4270217 + 5096;36660;1920;2041;0;4270217 + 5097;36671;1930;2042;0;3960862 + 5098;36672;1930;2042;0;3960862 + 5099;36684;1930;2042;0;3960862 + 5100;36694;1930;2043;0;3997556 + 5101;36696;1930;2043;0;3997556 + 5102;36708;1930;2043;0;3997556 + 5103;36709;1940;2044;0;3686381 + 5104;36720;1950;2044;0;3336757 + 5105;36730;1950;2045;0;3373487 + 5106;36732;1950;2045;0;3373487 + 5107;36744;1950;2045;0;3373487 + 5108;36751;1950;2046;0;3410238 + 5109;36756;1950;2046;0;3410238 + 5110;36764;1950;2047;0;3447002 + 5111;36768;1950;2047;0;3447002 + 5112;36780;1950;2047;0;3447002 + 5113;36781;1950;2048;0;3483783 + 5114;36792;1950;2048;0;3483783 + 5115;36804;1950;2048;0;3483783 + 5116;36804;1950;2049;0;3520587 + 5117;36816;1950;2049;0;3520587 + 5118;36818;1950;2050;0;3557405 + 5119;36828;1950;2050;0;3557405 + 5120;36831;1950;2051;0;3594236 + 5121;36840;1950;2051;0;3594236 + 5122;36850;1950;2052;0;3631086 + 5123;36852;1950;2052;0;3631086 + 5124;36864;1950;2052;0;3631086 + 5125;36871;1950;2053;0;3667957 + 5126;36876;1950;2053;0;3667957 + 5127;36888;1950;2053;0;3667957 + 5128;36892;1950;2054;0;3704849 + 5129;36900;1950;2054;0;3704849 + 5130;36908;1950;2055;0;3741757 + 5131;36912;1950;2055;0;3741757 + 5132;36922;1950;2056;0;3778679 + 5133;36924;1950;2056;0;3778679 + 5134;36936;1950;2056;0;3778679 + 5135;36938;1950;2057;0;3815617 + 5136;36948;1950;2057;0;3815617 + 5137;36959;1950;2058;0;3852576 + 5138;36960;1950;2058;0;3852576 + 5139;36972;1950;2058;0;3852576 + 5140;36982;1950;2059;0;3889558 + 5141;36984;1950;2059;0;3889558 + 5142;36996;1950;2059;0;3889558 + 5143;37006;1950;2060;0;3926564 + 5144;37008;1950;2060;0;3926564 + 5145;37020;1950;2060;0;3926564 + 5146;37028;1950;2061;0;3963592 + 5147;37032;1950;2061;0;3963592 + 5148;37044;1950;2061;0;3963592 + 5149;37050;1950;2062;0;4000642 + 5150;37056;1950;2062;0;4000642 + 5151;37068;1950;2062;0;4000642 + 5152;37072;1950;2063;0;4037714 + 5153;37080;1950;2063;0;4037714 + 5154;37084;1950;2064;0;4074798 + 5155;37092;1950;2064;0;4074798 + 5156;37102;1950;2065;0;4111900 + 5157;37104;1950;2065;0;4111900 + 5158;37114;1950;2066;0;4149014 + 5159;37116;1950;2066;0;4149014 + 5160;37128;1950;2066;0;4149014 + 5161;37132;1950;2067;0;4186146 + 5162;37140;1950;2067;0;4186146 + 5163;37149;1950;2068;0;4223295 + 5164;37152;1950;2068;0;4223295 + 5165;37164;1950;2068;0;4223295 + 5166;37170;1950;2069;0;4260465 + 5167;37176;1950;2069;0;4260465 + 5168;37185;1950;2070;0;4297650 + 5169;37188;1950;2070;0;4297650 + 5170;37200;1950;2070;0;4297650 + 5171;37207;1950;2071;0;4334857 + 5172;37212;1950;2071;0;4334857 + 5173;37224;1950;2071;0;4334857 + 5174;37225;1950;2072;0;4372082 + 5175;37236;1950;2072;0;4372082 + 5176;37247;1950;2073;0;4409329 + 5177;37248;1950;2073;0;4409329 + 5178;37259;1950;2074;0;4446588 + 5179;37260;1950;2074;0;4446588 + 5180;37272;1950;2074;0;4446588 + 5181;37274;1950;2075;0;4483862 + 5182;37284;1950;2075;0;4483862 + 5183;37286;1950;2076;0;4521148 + 5184;37296;1950;2076;0;4521148 + 5185;37302;1950;2077;0;4558450 + 5186;37308;1950;2077;0;4558450 + 5187;37320;1950;2077;0;4558450 + 5188;37322;1950;2078;0;4595772 + 5189;37332;1950;2078;0;4595772 + 5190;37336;1950;2079;0;4633108 + 5191;37344;1950;2079;0;4633108 + 5192;37354;1950;2080;0;4670462 + 5193;37356;1950;2080;0;4670462 + 5194;37368;1950;2080;0;4670462 + 5195;37368;1950;2081;0;4707830 + 5196;37380;1950;2081;0;4707830 + 5197;37386;1960;2082;0;4393838 + 5198;37392;1960;2082;0;4393838 + 5199;37399;1970;2083;0;4078115 + 5200;37404;1970;2083;0;4078115 + 5201;37411;1980;2084;0;3760611 + 5202;37416;1980;2084;0;3760611 + 5203;37427;1980;2085;0;3798038 + 5204;37428;1980;2085;0;3798038 + 5205;37440;1980;2085;0;3798038 + 5206;37445;1980;2086;0;3835483 + 5207;37452;1980;2086;0;3835483 + 5208;37464;1980;2086;0;3835483 + 5209;37467;1980;2087;0;3872950 + 5210;37476;1980;2087;0;3872950 + 5211;37480;1980;2088;0;3910430 + 5212;37488;1980;2088;0;3910430 + 5213;37500;1980;2088;0;3910430 + 5214;37503;1980;2089;0;3947933 + 5215;37512;1980;2089;0;3947933 + 5216;37522;1980;2090;0;3985455 + 5217;37524;1980;2090;0;3985455 + 5218;37536;1980;2090;0;3985455 + 5219;37542;1980;2091;0;4022997 + 5220;37548;1980;2091;0;4022997 + 5221;37558;1980;2092;0;4060555 + 5222;37560;1980;2092;0;4060555 + 5223;37572;1980;2092;0;4060555 + 5224;37577;1980;2093;0;4098132 + 5225;37584;1980;2093;0;4098132 + 5226;37596;1980;2093;0;4098132 + 5227;37601;1980;2094;0;4135733 + 5228;37608;1980;2094;0;4135733 + 5229;37618;1980;2095;0;4173351 + 5230;37620;1980;2095;0;4173351 + 5231;37632;1980;2095;0;4173351 + 5232;37641;1980;2096;0;4210992 + 5233;37644;1980;2096;0;4210992 + 5234;37654;1980;2097;0;4248646 + 5235;37656;1980;2097;0;4248646 + 5236;37668;1980;2097;0;4248646 + 5237;37672;1980;2098;0;4286318 + 5238;37680;1980;2098;0;4286318 + 5239;37692;1980;2098;0;4286318 + 5240;37692;1980;2099;0;4324010 + 5241;37704;1980;2099;0;4324010 + 5242;37715;1980;2100;0;4361725 + 5243;37716;1980;2100;0;4361725 + 5244;37728;1980;2100;0;4361725 + 5245;37730;1980;2101;0;4399455 + 5246;37740;1980;2101;0;4399455 + 5247;37752;1980;2101;0;4399455 + 5248;37752;1980;2102;0;4437207 + 5249;37764;1980;2102;0;4437207 + 5250;37764;1980;2103;0;4474971 + 5251;37776;1980;2103;0;4474971 + 5252;37784;1980;2104;0;4512755 + 5253;37788;1980;2104;0;4512755 + 5254;37797;1980;2105;0;4550552 + 5255;37800;1980;2105;0;4550552 + 5256;37812;1980;2105;0;4550552 + 5257;37820;1980;2106;0;4588372 + 5258;37824;1980;2106;0;4588372 + 5259;37833;1980;2107;0;4626205 + 5260;37836;1980;2107;0;4626205 + 5261;37847;1980;2108;0;4664052 + 5262;37848;1980;2108;0;4664052 + 5263;37860;1980;2108;0;4664052 + 5264;37863;1980;2109;0;4701915 + 5265;37872;1980;2109;0;4701915 + 5266;37883;1980;2110;0;4739798 + 5267;37884;1980;2110;0;4739798 + 5268;37895;1980;2111;0;4777693 + 5269;37896;1980;2111;0;4777693 + 5270;37907;1980;2112;0;4815600 + 5271;37908;1980;2112;0;4815600 + 5272;37920;1980;2112;0;4815600 + 5273;37931;1980;2113;0;4853531 + 5274;37932;1980;2113;0;4853531 + 5275;37944;1980;2113;0;4853531 + 5276;37951;1980;2114;0;4891482 + 5277;37956;1980;2114;0;4891482 + 5278;37968;1980;2114;0;4891482 + 5279;37973;1980;2115;0;4929455 + 5280;37980;1980;2115;0;4929455 + 5281;37992;1980;2115;0;4929455 + 5282;37992;1980;2116;0;4967447 + 5283;38004;1980;2116;0;4967447 + 5284;38015;2000;2117;0;4290288 + 5285;38016;2000;2117;0;4290288 + 5286;38028;2000;2117;0;4290288 + 5287;38036;2000;2118;0;4328324 + 5288;38040;2000;2118;0;4328324 + 5289;38052;2000;2118;0;4328324 + 5290;38057;2000;2119;0;4366381 + 5291;38064;2000;2119;0;4366381 + 5292;38076;2000;2119;0;4366381 + 5293;38081;2000;2120;0;4404462 + 5294;38088;2000;2120;0;4404462 + 5295;38097;2000;2121;0;4442559 + 5296;38100;2000;2121;0;4442559 + 5297;38112;2000;2121;0;4442559 + 5298;38118;2000;2122;0;4480677 + 5299;38124;2000;2122;0;4480677 + 5300;38136;2000;2122;0;4480677 + 5301;38140;2000;2123;0;4518817 + 5302;38148;2000;2123;0;4518817 + 5303;38153;2000;2124;0;4556970 + 5304;38160;2000;2124;0;4556970 + 5305;38166;2000;2125;0;4595136 + 5306;38172;2000;2125;0;4595136 + 5307;38184;2000;2125;0;4595136 + 5308;38186;2000;2126;0;4633322 + 5309;38196;2000;2126;0;4633322 + 5310;38199;2000;2127;0;4671521 + 5311;38208;2000;2127;0;4671521 + 5312;38214;2000;2128;0;4709735 + 5313;38220;2000;2128;0;4709735 + 5314;38227;2000;2129;0;4747962 + 5315;38232;2000;2129;0;4747962 + 5316;38239;2000;2130;0;4786201 + 5317;38244;2000;2130;0;4786201 + 5318;38254;2000;2131;0;4824455 + 5319;38256;2000;2131;0;4824455 + 5320;38268;2000;2131;0;4824455 + 5321;38275;2000;2132;0;4862730 + 5322;38280;2000;2132;0;4862730 + 5323;38287;2000;2133;0;4901017 + 5324;38292;2000;2133;0;4901017 + 5325;38303;2000;2134;0;4939320 + 5326;38304;2000;2134;0;4939320 + 5327;38315;2000;2135;0;4977635 + 5328;38316;2000;2135;0;4977635 + 5329;38328;2000;2135;0;4977635 + 5330;38337;2000;2136;0;5015972 + 5331;38340;2000;2136;0;5015972 + 5332;38352;2000;2136;0;5015972 + 5333;38353;2000;2137;0;5054325 + 5334;38364;2000;2137;0;5054325 + 5335;38369;2020;2138;0;4370391 + 5336;38376;2020;2138;0;4370391 + 5337;38388;2020;2138;0;4370391 + 5338;38389;2020;2139;0;4408780 + 5339;38400;2020;2139;0;4408780 + 5340;38409;2020;2140;0;4447189 + 5341;38412;2020;2140;0;4447189 + 5342;38424;2020;2140;0;4447189 + 5343;38432;2020;2141;0;4485621 + 5344;38436;2020;2141;0;4485621 + 5345;38448;2020;2141;0;4485621 + 5346;38448;2020;2142;0;4524069 + 5347;38460;2020;2142;0;4524069 + 5348;38466;2020;2143;0;4562535 + 5349;38472;2020;2143;0;4562535 + 5350;38482;2030;2144;0;4237010 + 5351;38484;2030;2144;0;4237010 + 5352;38496;2030;2144;0;4237010 + 5353;38505;2030;2145;0;4275515 + 5354;38508;2030;2145;0;4275515 + 5355;38520;2030;2145;0;4275515 + 5356;38528;2030;2146;0;4314043 + 5357;38532;2030;2146;0;4314043 + 5358;38542;2030;2147;0;4352585 + 5359;38544;2030;2147;0;4352585 + 5360;38556;2030;2147;0;4352585 + 5361;38561;2030;2148;0;4391146 + 5362;38568;2030;2148;0;4391146 + 5363;38580;2030;2148;0;4391146 + 5364;38581;2030;2149;0;4429727 + 5365;38592;2030;2149;0;4429727 + 5366;38598;2030;2150;0;4468325 + 5367;38604;2030;2150;0;4468325 + 5368;38610;2030;2151;0;4506935 + 5369;38616;2030;2151;0;4506935 + 5370;38622;2030;2152;0;4545557 + 5371;38628;2030;2152;0;4545557 + 5372;38634;2030;2153;0;4584191 + 5373;38640;2030;2153;0;4584191 + 5374;38647;2030;2154;0;4622838 + 5375;38652;2030;2154;0;4622838 + 5376;38659;2030;2155;0;4661497 + 5377;38664;2030;2155;0;4661497 + 5378;38676;2030;2155;0;4661497 + 5379;38677;2030;2156;0;4700174 + 5380;38688;2030;2156;0;4700174 + 5381;38695;2030;2157;0;4738869 + 5382;38700;2030;2157;0;4738869 + 5383;38712;2030;2157;0;4738869 + 5384;38717;2030;2158;0;4777586 + 5385;38724;2030;2158;0;4777586 + 5386;38734;2030;2159;0;4816320 + 5387;38736;2030;2159;0;4816320 + 5388;38748;2030;2159;0;4816320 + 5389;38748;2030;2160;0;4855068 + 5390;38760;2030;2160;0;4855068 + 5391;38766;2030;2161;0;4893834 + 5392;38772;2030;2161;0;4893834 + 5393;38784;2030;2161;0;4893834 + 5394;38788;2030;2162;0;4932622 + 5395;38796;2030;2162;0;4932622 + 5396;38808;2030;2162;0;4932622 + 5397;38809;2030;2163;0;4971431 + 5398;38820;2030;2163;0;4971431 + 5399;38828;2030;2164;0;5010259 + 5400;38832;2030;2164;0;5010259 + 5401;38843;2030;2165;0;5049102 + 5402;38844;2030;2165;0;5049102 + 5403;38856;2030;2165;0;5049102 + 5404;38865;2030;2166;0;5087967 + 5405;38868;2030;2166;0;5087967 + 5406;38880;2030;2166;0;5087967 + 5407;38888;2030;2167;0;5126855 + 5408;38892;2030;2167;0;5126855 + 5409;38904;2030;2167;0;5126855 + 5410;38910;2030;2168;0;5165765 + 5411;38916;2030;2168;0;5165765 + 5412;38922;2030;2169;0;5204687 + 5413;38928;2030;2169;0;5204687 + 5414;38939;2030;2170;0;5243626 + 5415;38940;2030;2170;0;5243626 + 5416;38952;2030;2170;0;5243626 + 5417;38954;2040;2171;0;4916796 + 5418;38964;2040;2171;0;4916796 + 5419;38971;2040;2172;0;4955767 + 5420;38976;2040;2172;0;4955767 + 5421;38988;2040;2172;0;4955767 + 5422;38991;2040;2173;0;4994758 + 5423;39000;2040;2173;0;4994758 + 5424;39004;2060;2174;0;4296853 + 5425;39012;2060;2174;0;4296853 + 5426;39024;2060;2174;0;4296853 + 5427;39027;2060;2175;0;4335880 + 5428;39036;2060;2175;0;4335880 + 5429;39043;2060;2176;0;4374923 + 5430;39048;2060;2176;0;4374923 + 5431;39060;2060;2176;0;4374923 + 5432;39063;2060;2177;0;4413986 + 5433;39072;2060;2177;0;4413986 + 5434;39084;2060;2177;0;4413986 + 5435;39086;2060;2178;0;4453072 + 5436;39096;2060;2178;0;4453072 + 5437;39098;2060;2179;0;4492170 + 5438;39108;2060;2179;0;4492170 + 5439;39111;2060;2180;0;4531281 + 5440;39120;2060;2180;0;4531281 + 5441;39124;2060;2181;0;4570405 + 5442;39132;2060;2181;0;4570405 + 5443;39138;2060;2182;0;4609543 + 5444;39144;2060;2182;0;4609543 + 5445;39156;2060;2182;0;4609543 + 5446;39159;2060;2183;0;4648702 + 5447;39168;2060;2183;0;4648702 + 5448;39172;2060;2184;0;4687874 + 5449;39180;2060;2184;0;4687874 + 5450;39187;2060;2185;0;4727061 + 5451;39192;2060;2185;0;4727061 + 5452;39204;2060;2185;0;4727061 + 5453;39207;2060;2186;0;4766268 + 5454;39216;2060;2186;0;4766268 + 5455;39228;2060;2186;0;4766268 + 5456;39229;2060;2187;0;4805497 + 5457;39240;2060;2187;0;4805497 + 5458;39241;2060;2188;0;4844738 + 5459;39252;2060;2188;0;4844738 + 5460;39264;2060;2188;0;4844738 + 5461;39265;2060;2189;0;4884003 + 5462;39276;2060;2189;0;4884003 + 5463;39283;2060;2190;0;4923286 + 5464;39288;2060;2190;0;4923286 + 5465;39296;2060;2191;0;4962582 + 5466;39300;2060;2191;0;4962582 + 5467;39312;2060;2191;0;4962582 + 5468;39319;2060;2192;0;5001901 + 5469;39324;2060;2192;0;5001901 + 5470;39336;2060;2192;0;5001901 + 5471;39337;2060;2193;0;5041238 + 5472;39348;2060;2193;0;5041238 + 5473;39358;2060;2194;0;5080596 + 5474;39360;2060;2194;0;5080596 + 5475;39372;2060;2194;0;5080596 + 5476;39376;2070;2195;0;4748707 + 5477;39384;2070;2195;0;4748707 + 5478;39396;2070;2195;0;4748707 + 5479;39398;2070;2196;0;4788105 + 5480;39408;2070;2196;0;4788105 + 5481;39419;2070;2197;0;4827524 + 5482;39420;2070;2197;0;4827524 + 5483;39432;2070;2197;0;4827524 + 5484;39435;2070;2198;0;4866959 + 5485;39444;2070;2198;0;4866959 + 5486;39449;2070;2199;0;4906408 + 5487;39456;2070;2199;0;4906408 + 5488;39468;2070;2199;0;4906408 + 5489;39469;2070;2200;0;4945877 + 5490;39480;2070;2200;0;4945877 + 5491;39491;2070;2201;0;4985368 + 5492;39492;2070;2201;0;4985368 + 5493;39504;2070;2201;0;4985368 + 5494;39507;2070;2202;0;5024875 + 5495;39516;2070;2202;0;5024875 + 5496;39528;2070;2202;0;5024875 + 5497;39531;2070;2203;0;5064406 + 5498;39540;2070;2203;0;5064406 + 5499;39552;2070;2203;0;5064406 + 5500;39552;2070;2204;0;5103958 + 5501;39564;2070;2204;0;5103958 + 5502;39576;2070;2204;0;5103958 + 5503;39576;2070;2205;0;5143534 + 5504;39588;2070;2205;0;5143534 + 5505;39590;2070;2206;0;5183124 + 5506;39600;2070;2206;0;5183124 + 5507;39609;2070;2207;0;5222733 + 5508;39612;2070;2207;0;5222733 + 5509;39624;2080;2207;0;4849760 + 5510;39628;2090;2208;0;4514806 + 5511;39636;2090;2208;0;4514806 + 5512;39644;2090;2209;0;4554450 + 5513;39648;2090;2209;0;4554450 + 5514;39660;2090;2209;0;4554450 + 5515;39666;2090;2210;0;4594116 + 5516;39672;2090;2210;0;4594116 + 5517;39680;2090;2211;0;4633796 + 5518;39684;2090;2211;0;4633796 + 5519;39696;2090;2211;0;4633796 + 5520;39698;2090;2212;0;4673494 + 5521;39708;2090;2212;0;4673494 + 5522;39716;2090;2213;0;4713210 + 5523;39720;2090;2213;0;4713210 + 5524;39732;2090;2213;0;4713210 + 5525;39735;2090;2214;0;4752945 + 5526;39744;2090;2214;0;4752945 + 5527;39756;2090;2214;0;4752945 + 5528;39757;2090;2215;0;4792702 + 5529;39768;2090;2215;0;4792702 + 5530;39770;2090;2216;0;4832472 + 5531;39780;2090;2216;0;4832472 + 5532;39787;2090;2217;0;4872259 + 5533;39792;2090;2217;0;4872259 + 5534;39802;2090;2218;0;4912061 + 5535;39804;2090;2218;0;4912061 + 5536;39816;2090;2218;0;4912061 + 5537;39816;2090;2219;0;4951877 + 5538;39828;2090;2219;0;4951877 + 5539;39840;2090;2219;0;4951877 + 5540;39840;2090;2220;0;4991717 + 5541;39852;2090;2220;0;4991717 + 5542;39859;2090;2221;0;5031576 + 5543;39864;2090;2221;0;5031576 + 5544;39876;2090;2221;0;5031576 + 5545;39881;2090;2222;0;5071457 + 5546;39888;2090;2222;0;5071457 + 5547;39897;2090;2223;0;5111354 + 5548;39900;2090;2223;0;5111354 + 5549;39912;2090;2223;0;5111354 + 5550;39916;2090;2224;0;5151270 + 5551;39924;2090;2224;0;5151270 + 5552;39935;2090;2225;0;5191205 + 5553;39936;2090;2225;0;5191205 + 5554;39948;2090;2225;0;5191205 + 5555;39948;2090;2226;0;5231153 + 5556;39960;2090;2226;0;5231153 + 5557;39967;2090;2227;0;5271120 + 5558;39972;2090;2227;0;5271120 + 5559;39984;2090;2227;0;5271120 + 5560;39986;2090;2228;0;5311106 + 5561;39996;2090;2228;0;5311106 + 5562;40001;2090;2229;0;5351107 + 5563;40008;2090;2229;0;5351107 + 5564;40017;2110;2230;0;4636428 + 5565;40020;2110;2230;0;4636428 + 5566;40032;2110;2230;0;4636428 + 5567;40039;2110;2231;0;4676467 + 5568;40044;2110;2231;0;4676467 + 5569;40056;2110;2231;0;4676467 + 5570;40061;2110;2232;0;4716528 + 5571;40068;2110;2232;0;4716528 + 5572;40080;2110;2232;0;4716528 + 5573;40080;2110;2233;0;4756608 + 5574;40092;2110;2233;0;4756608 + 5575;40104;2110;2233;0;4756608 + 5576;40104;2110;2234;0;4796712 + 5577;40116;2110;2234;0;4796712 + 5578;40122;2110;2235;0;4836834 + 5579;40128;2110;2235;0;4836834 + 5580;40138;2110;2236;0;4876972 + 5581;40140;2110;2236;0;4876972 + 5582;40152;2110;2236;0;4876972 + 5583;40160;2110;2237;0;4917132 + 5584;40164;2110;2237;0;4917132 + 5585;40172;2110;2238;0;4957304 + 5586;40176;2110;2238;0;4957304 + 5587;40188;2110;2238;0;4957304 + 5588;40193;2110;2239;0;4997497 + 5589;40200;2110;2239;0;4997497 + 5590;40211;2110;2240;0;5037708 + 5591;40212;2110;2240;0;5037708 + 5592;40224;2110;2240;0;5037708 + 5593;40230;2110;2241;0;5077938 + 5594;40236;2110;2241;0;5077938 + 5595;40246;2110;2242;0;5118184 + 5596;40248;2110;2242;0;5118184 + 5597;40260;2110;2242;0;5118184 + 5598;40263;2120;2243;0;4778407 + 5599;40272;2120;2243;0;4778407 + 5600;40282;2120;2244;0;4818689 + 5601;40284;2120;2244;0;4818689 + 5602;40296;2120;2244;0;4818689 + 5603;40303;2120;2245;0;4858992 + 5604;40308;2120;2245;0;4858992 + 5605;40320;2120;2245;0;4858992 + 5606;40322;2120;2246;0;4899314 + 5607;40332;2120;2246;0;4899314 + 5608;40339;2120;2247;0;4939653 + 5609;40344;2120;2247;0;4939653 + 5610;40356;2120;2247;0;4939653 + 5611;40358;2120;2248;0;4980011 + 5612;40368;2120;2248;0;4980011 + 5613;40380;2120;2248;0;4980011 + 5614;40381;2120;2249;0;5020392 + 5615;40392;2120;2249;0;5020392 + 5616;40401;2120;2250;0;5060793 + 5617;40404;2120;2250;0;5060793 + 5618;40416;2120;2250;0;5060793 + 5619;40416;2120;2251;0;5101209 + 5620;40428;2120;2251;0;5101209 + 5621;40429;2120;2252;0;5141638 + 5622;40440;2120;2252;0;5141638 + 5623;40447;2120;2253;0;5182085 + 5624;40452;2120;2253;0;5182085 + 5625;40464;2120;2253;0;5182085 + 5626;40465;2120;2254;0;5222550 + 5627;40476;2120;2254;0;5222550 + 5628;40484;2140;2255;0;4497669 + 5629;40488;2150;2255;0;4112348 + 5630;40500;2160;2255;0;3725449 + 5631;40505;2170;2256;0;3377208 + 5632;40512;2170;2256;0;3377208 + 5633;40520;2170;2257;0;3417728 + 5634;40524;2170;2257;0;3417728 + 5635;40536;2170;2257;0;3417728 + 5636;40542;2170;2258;0;3458270 + 5637;40548;2170;2258;0;3458270 + 5638;40560;2170;2258;0;3458270 + 5639;40560;2170;2259;0;3498830 + 5640;40572;2170;2259;0;3498830 + 5641;40578;2170;2260;0;3539408 + 5642;40584;2170;2260;0;3539408 + 5643;40596;2170;2260;0;3539408 + 5644;40602;2170;2261;0;3580010 + 5645;40608;2170;2261;0;3580010 + 5646;40620;2170;2261;0;3580010 + 5647;40624;2170;2262;0;3620634 + 5648;40632;2170;2262;0;3620634 + 5649;40644;2170;2262;0;3620634 + 5650;40647;2170;2263;0;3661281 + 5651;40656;2170;2263;0;3661281 + 5652;40665;2170;2264;0;3701946 + 5653;40668;2170;2264;0;3701946 + 5654;40680;2170;2264;0;3701946 + 5655;40686;2170;2265;0;3742632 + 5656;40692;2170;2265;0;3742632 + 5657;40698;2170;2266;0;3783330 + 5658;40704;2170;2266;0;3783330 + 5659;40716;2170;2266;0;3783330 + 5660;40716;2170;2267;0;3824046 + 5661;40728;2170;2267;0;3824046 + 5662;40729;2170;2268;0;3864775 + 5663;40740;2170;2268;0;3864775 + 5664;40746;2170;2269;0;3905521 + 5665;40752;2170;2269;0;3905521 + 5666;40764;2170;2269;0;3905521 + 5667;40764;2170;2270;0;3946285 + 5668;40776;2170;2270;0;3946285 + 5669;40787;2170;2271;0;3987072 + 5670;40788;2170;2271;0;3987072 + 5671;40800;2170;2271;0;3987072 + 5672;40806;2170;2272;0;4027878 + 5673;40812;2170;2272;0;4027878 + 5674;40819;2170;2273;0;4068697 + 5675;40824;2170;2273;0;4068697 + 5676;40836;2170;2273;0;4068697 + 5677;40841;2170;2274;0;4109538 + 5678;40848;2170;2274;0;4109538 + 5679;40860;2170;2274;0;4109538 + 5680;40864;2170;2275;0;4150402 + 5681;40872;2170;2275;0;4150402 + 5682;40880;2170;2276;0;4191282 + 5683;40884;2170;2276;0;4191282 + 5684;40896;2180;2276;0;3800764 + 5685;40901;2180;2277;0;3841665 + 5686;40908;2180;2277;0;3841665 + 5687;40913;2180;2278;0;3882578 + 5688;40920;2180;2278;0;3882578 + 5689;40925;2180;2279;0;3923503 + 5690;40932;2180;2279;0;3923503 + 5691;40944;2180;2279;0;3923503 + 5692;40946;2180;2280;0;3964449 + 5693;40956;2180;2280;0;3964449 + 5694;40968;2190;2280;0;3572272 + 5695;40968;2190;2281;0;3613240 + 5696;40980;2190;2281;0;3613240 + 5697;40988;2190;2282;0;3654228 + 5698;40992;2190;2282;0;3654228 + 5699;41004;2190;2282;0;3654228 + 5700;41012;2190;2283;0;3695240 + 5701;41016;2190;2283;0;3695240 + 5702;41028;2190;2283;0;3695240 + 5703;41035;2190;2284;0;3736275 + 5704;41040;2190;2284;0;3736275 + 5705;41049;2190;2285;0;3777324 + 5706;41052;2190;2285;0;3777324 + 5707;41064;2190;2285;0;3777324 + 5708;41068;2190;2286;0;3818392 + 5709;41076;2190;2286;0;3818392 + 5710;41081;2190;2287;0;3859473 + 5711;41088;2190;2287;0;3859473 + 5712;41100;2190;2287;0;3859473 + 5713;41105;2190;2288;0;3900578 + 5714;41112;2190;2288;0;3900578 + 5715;41118;2190;2289;0;3941696 + 5716;41124;2190;2289;0;3941696 + 5717;41135;2190;2290;0;3982831 + 5718;41136;2190;2290;0;3982831 + 5719;41148;2190;2290;0;3982831 + 5720;41159;2190;2291;0;4023990 + 5721;41160;2190;2291;0;4023990 + 5722;41172;2190;2291;0;4023990 + 5723;41176;2190;2292;0;4065166 + 5724;41184;2190;2292;0;4065166 + 5725;41195;2190;2293;0;4106361 + 5726;41196;2190;2293;0;4106361 + 5727;41208;2190;2293;0;4106361 + 5728;41209;2190;2294;0;4147570 + 5729;41220;2190;2294;0;4147570 + 5730;41221;2190;2295;0;4188791 + 5731;41232;2190;2295;0;4188791 + 5732;41235;2190;2296;0;4230026 + 5733;41244;2190;2296;0;4230026 + 5734;41256;2190;2296;0;4230026 + 5735;41256;2190;2297;0;4271282 + 5736;41268;2190;2297;0;4271282 + 5737;41277;2190;2298;0;4312559 + 5738;41280;2190;2298;0;4312559 + 5739;41292;2190;2298;0;4312559 + 5740;41298;2190;2299;0;4353857 + 5741;41304;2190;2299;0;4353857 + 5742;41316;2190;2299;0;4353857 + 5743;41322;2190;2300;0;4395179 + 5744;41328;2190;2300;0;4395179 + 5745;41338;2190;2301;0;4436517 + 5746;41340;2190;2301;0;4436517 + 5747;41352;2190;2301;0;4436517 + 5748;41353;2190;2302;0;4477870 + 5749;41364;2190;2302;0;4477870 + 5750;41375;2190;2303;0;4519245 + 5751;41376;2190;2303;0;4519245 + 5752;41388;2190;2303;0;4519245 + 5753;41395;2190;2304;0;4560640 + 5754;41400;2190;2304;0;4560640 + 5755;41411;2190;2305;0;4602051 + 5756;41412;2190;2305;0;4602051 + 5757;41424;2200;2305;0;4208000 + 5758;41435;2200;2306;0;4249435 + 5759;41436;2200;2306;0;4249435 + 5760;41448;2200;2306;0;4249435 + 5761;41451;2200;2307;0;4290886 + 5762;41460;2200;2307;0;4290886 + 5763;41472;2200;2307;0;4290886 + 5764;41474;2200;2308;0;4332360 + 5765;41484;2200;2308;0;4332360 + 5766;41493;2200;2309;0;4373853 + 5767;41496;2200;2309;0;4373853 + 5768;41508;2200;2309;0;4373853 + 5769;41517;2200;2310;0;4415370 + 5770;41520;2200;2310;0;4415370 + 5771;41532;2200;2310;0;4415370 + 5772;41532;2200;2311;0;4456902 + 5773;41544;2200;2311;0;4456902 + 5774;41545;2200;2312;0;4498447 + 5775;41556;2200;2312;0;4498447 + 5776;41568;2200;2312;0;4498447 + 5777;41568;2200;2313;0;4540015 + 5778;41580;2200;2313;0;4540015 + 5779;41581;2200;2314;0;4581596 + 5780;41592;2200;2314;0;4581596 + 5781;41596;2200;2315;0;4623192 + 5782;41604;2200;2315;0;4623192 + 5783;41616;2200;2315;0;4623192 + 5784;41620;2200;2316;0;4664812 + 5785;41628;2200;2316;0;4664812 + 5786;41637;2200;2317;0;4706449 + 5787;41640;2200;2317;0;4706449 + 5788;41652;2200;2317;0;4706449 + 5789;41656;2200;2318;0;4748105 + 5790;41664;2200;2318;0;4748105 + 5791;41671;2200;2319;0;4789776 + 5792;41676;2200;2319;0;4789776 + 5793;41688;2200;2319;0;4789776 + 5794;41691;2200;2320;0;4831467 + 5795;41700;2200;2320;0;4831467 + 5796;41712;2200;2320;0;4831467 + 5797;41712;2200;2321;0;4873179 + 5798;41724;2200;2321;0;4873179 + 5799;41727;2200;2322;0;4914906 + 5800;41736;2200;2322;0;4914906 + 5801;41747;2230;2323;0;3763303 + 5802;41748;2230;2323;0;3763303 + 5803;41760;2230;2323;0;3763303 + 5804;41764;2230;2324;0;3805067 + 5805;41772;2230;2324;0;3805067 + 5806;41784;2230;2324;0;3805067 + 5807;41786;2230;2325;0;3846853 + 5808;41796;2230;2325;0;3846853 + 5809;41804;2230;2326;0;3888657 + 5810;41808;2230;2326;0;3888657 + 5811;41820;2230;2326;0;3888657 + 5812;41825;2230;2327;0;3930482 + 5813;41832;2230;2327;0;3930482 + 5814;41844;2230;2327;0;3930482 + 5815;41844;2230;2328;0;3972326 + 5816;41856;2230;2328;0;3972326 + 5817;41856;2230;2329;0;4014182 + 5818;41868;2230;2329;0;4014182 + 5819;41868;2230;2330;0;4056050 + 5820;41880;2230;2330;0;4056050 + 5821;41888;2230;2331;0;4097938 + 5822;41892;2230;2331;0;4097938 + 5823;41904;2230;2331;0;4097938 + 5824;41908;2230;2332;0;4139846 + 5825;41916;2230;2332;0;4139846 + 5826;41928;2230;2332;0;4139846 + 5827;41931;2230;2333;0;4181777 + 5828;41940;2230;2333;0;4181777 + 5829;41946;2230;2334;0;4223723 + 5830;41952;2230;2334;0;4223723 + 5831;41961;2230;2335;0;4265684 + 5832;41964;2230;2335;0;4265684 + 5833;41973;2230;2336;0;4307657 + 5834;41976;2230;2336;0;4307657 + 5835;41988;2230;2336;0;4307657 + 5836;41992;2230;2337;0;4349649 + 5837;42000;2230;2337;0;4349649 + 5838;42008;2230;2338;0;4391657 + 5839;42012;2230;2338;0;4391657 + 5840;42024;2230;2338;0;4391657 + 5841;42028;2230;2339;0;4433685 + 5842;42036;2230;2339;0;4433685 + 5843;42043;2230;2340;0;4475728 + 5844;42048;2230;2340;0;4475728 + 5845;42060;2230;2340;0;4475728 + 5846;42067;2230;2341;0;4517795 + 5847;42072;2230;2341;0;4517795 + 5848;42084;2230;2341;0;4517795 + 5849;42087;2230;2342;0;4559882 + 5850;42096;2230;2342;0;4559882 + 5851;42108;2230;2342;0;4559882 + 5852;42110;2230;2343;0;4601992 + 5853;42120;2230;2343;0;4601992 + 5854;42122;2230;2344;0;4644114 + 5855;42132;2230;2344;0;4644114 + 5856;42144;2230;2344;0;4644114 + 5857;42144;2230;2345;0;4686258 + 5858;42156;2230;2345;0;4686258 + 5859;42160;2230;2346;0;4728418 + 5860;42168;2230;2346;0;4728418 + 5861;42178;2230;2347;0;4770596 + 5862;42180;2230;2347;0;4770596 + 5863;42192;2230;2347;0;4770596 + 5864;42197;2230;2348;0;4812793 + 5865;42204;2230;2348;0;4812793 + 5866;42216;2230;2348;0;4812793 + 5867;42216;2230;2349;0;4855009 + 5868;42228;2230;2349;0;4855009 + 5869;42229;2230;2350;0;4897238 + 5870;42240;2230;2350;0;4897238 + 5871;42244;2230;2351;0;4939482 + 5872;42252;2230;2351;0;4939482 + 5873;42264;2230;2351;0;4939482 + 5874;42266;2230;2352;0;4981748 + 5875;42276;2230;2352;0;4981748 + 5876;42282;2230;2353;0;5024030 + 5877;42288;2230;2353;0;5024030 + 5878;42299;2230;2354;0;5066329 + 5879;42300;2230;2354;0;5066329 + 5880;42311;2240;2355;0;4707169 + 5881;42312;2240;2355;0;4707169 + 5882;42324;2250;2355;0;4303858 + 5883;42330;2250;2356;0;4346188 + 5884;42336;2250;2356;0;4346188 + 5885;42342;2250;2357;0;4388530 + 5886;42348;2250;2357;0;4388530 + 5887;42360;2250;2357;0;4388530 + 5888;42365;2250;2358;0;4430895 + 5889;42372;2250;2358;0;4430895 + 5890;42379;2250;2359;0;4473274 + 5891;42384;2250;2359;0;4473274 + 5892;42395;2250;2360;0;4515669 + 5893;42396;2250;2360;0;4515669 + 5894;42408;2250;2360;0;4515669 + 5895;42412;2250;2361;0;4558081 + 5896;42420;2250;2361;0;4558081 + 5897;42432;2250;2361;0;4558081 + 5898;42434;2250;2362;0;4600515 + 5899;42444;2250;2362;0;4600515 + 5900;42454;2250;2363;0;4642969 + 5901;42456;2250;2363;0;4642969 + 5902;42468;2250;2363;0;4642969 + 5903;42473;2250;2364;0;4685442 + 5904;42480;2250;2364;0;4685442 + 5905;42492;2250;2364;0;4685442 + 5906;42496;2250;2365;0;4727938 + 5907;42504;2250;2365;0;4727938 + 5908;42511;2250;2366;0;4770449 + 5909;42516;2250;2366;0;4770449 + 5910;42528;2250;2366;0;4770449 + 5911;42532;2250;2367;0;4812981 + 5912;42540;2250;2367;0;4812981 + 5913;42546;2250;2368;0;4855527 + 5914;42552;2250;2368;0;4855527 + 5915;42560;2250;2369;0;4898087 + 5916;42564;2250;2369;0;4898087 + 5917;42576;2250;2369;0;4898087 + 5918;42580;2250;2370;0;4940667 + 5919;42588;2250;2370;0;4940667 + 5920;42596;2250;2371;0;4983263 + 5921;42600;2250;2371;0;4983263 + 5922;42612;2250;2371;0;4983263 + 5923;42615;2250;2372;0;5025878 + 5924;42624;2250;2372;0;5025878 + 5925;42631;2250;2373;0;5068509 + 5926;42636;2250;2373;0;5068509 + 5927;42648;2250;2373;0;5068509 + 5928;42654;2250;2374;0;5111163 + 5929;42660;2250;2374;0;5111163 + 5930;42672;2250;2374;0;5111163 + 5931;42674;2250;2375;0;5153837 + 5932;42684;2250;2375;0;5153837 + 5933;42686;2250;2376;0;5196523 + 5934;42696;2250;2376;0;5196523 + 5935;42704;2250;2377;0;5239227 + 5936;42708;2250;2377;0;5239227 + 5937;42720;2250;2377;0;5239227 + 5938;42728;2250;2378;0;5281955 + 5939;42732;2250;2378;0;5281955 + 5940;42744;2250;2378;0;5281955 + 5941;42748;2250;2379;0;5324703 + 5942;42756;2250;2379;0;5324703 + 5943;42768;2250;2379;0;5324703 + 5944;42770;2250;2380;0;5367473 + 5945;42780;2250;2380;0;5367473 + 5946;42784;2260;2381;0;5005125 + 5947;42792;2260;2381;0;5005125 + 5948;42804;2260;2381;0;5005125 + 5949;42805;2270;2382;0;4640868 + 5950;42816;2270;2382;0;4640868 + 5951;42827;2280;2383;0;4274832 + 5952;42828;2280;2383;0;4274832 + 5953;42840;2280;2383;0;4274832 + 5954;42848;2280;2384;0;4317680 + 5955;42852;2280;2384;0;4317680 + 5956;42860;2280;2385;0;4360540 + 5957;42864;2280;2385;0;4360540 + 5958;42876;2280;2385;0;4360540 + 5959;42879;2280;2386;0;4403419 + 5960;42888;2280;2386;0;4403419 + 5961;42900;2280;2386;0;4403419 + 5962;42902;2290;2387;0;4035571 + 5963;42912;2290;2387;0;4035571 + 5964;42923;2290;2388;0;4078494 + 5965;42924;2290;2388;0;4078494 + 5966;42936;2300;2388;0;3665967 + 5967;42939;2300;2389;0;3708906 + 5968;42948;2300;2389;0;3708906 + 5969;42955;2300;2390;0;3751861 + 5970;42960;2300;2390;0;3751861 + 5971;42972;2300;2390;0;3751861 + 5972;42974;2300;2391;0;3794835 + 5973;42984;2300;2391;0;3794835 + 5974;42988;2300;2392;0;3837823 + 5975;42996;2300;2392;0;3837823 + 5976;43008;2300;2392;0;3837823 + 5977;43010;2300;2393;0;3880833 + 5978;43020;2300;2393;0;3880833 + 5979;43031;2300;2394;0;3923864 + 5980;43032;2300;2394;0;3923864 + 5981;43044;2300;2394;0;3923864 + 5982;43046;2300;2395;0;3966910 + 5983;43056;2300;2395;0;3966910 + 5984;43059;2300;2396;0;4009969 + 5985;43068;2300;2396;0;4009969 + 5986;43075;2310;2397;0;3638608 + 5987;43080;2310;2397;0;3638608 + 5988;43087;2310;2398;0;3681695 + 5989;43092;2310;2398;0;3681695 + 5990;43104;2310;2398;0;3681695 + 5991;43105;2310;2399;0;3724800 + 5992;43116;2310;2399;0;3724800 + 5993;43117;2310;2400;0;3767917 + 5994;43128;2310;2400;0;3767917 + 5995;43136;2310;2401;0;3811053 + 5996;43140;2310;2401;0;3811053 + 5997;43152;2310;2401;0;3811053 + 5998;43159;2310;2402;0;3854212 + 5999;43164;2310;2402;0;3854212 + 6000;43176;2310;2402;0;3854212 + 6001;43176;2310;2403;0;3897388 + 6002;43188;2310;2403;0;3897388 + 6003;43188;2310;2404;0;3940576 + 6004;43200;2310;2404;0;3940576 + 6005;43206;2310;2405;0;3983782 + 6006;43212;2310;2405;0;3983782 + 6007;43222;2310;2406;0;4027004 + 6008;43224;2310;2406;0;4027004 + 6009;43236;2310;2406;0;4027004 + 6010;43240;2310;2407;0;4070244 + 6011;43248;2310;2407;0;4070244 + 6012;43255;2310;2408;0;4113499 + 6013;43260;2310;2408;0;4113499 + 6014;43272;2310;2408;0;4113499 + 6015;43274;2310;2409;0;4156773 + 6016;43284;2310;2409;0;4156773 + 6017;43289;2310;2410;0;4200062 + 6018;43296;2310;2410;0;4200062 + 6019;43302;2310;2411;0;4243364 + 6020;43308;2310;2411;0;4243364 + 6021;43320;2310;2411;0;4243364 + 6022;43320;2310;2412;0;4286684 + 6023;43332;2310;2412;0;4286684 + 6024;43343;2310;2413;0;4330027 + 6025;43344;2310;2413;0;4330027 + 6026;43356;2310;2413;0;4330027 + 6027;43359;2310;2414;0;4373386 + 6028;43368;2310;2414;0;4373386 + 6029;43371;2310;2415;0;4416757 + 6030;43380;2310;2415;0;4416757 + 6031;43388;2310;2416;0;4460145 + 6032;43392;2310;2416;0;4460145 + 6033;43404;2310;2416;0;4460145 + 6034;43406;2310;2417;0;4503551 + 6035;43416;2310;2417;0;4503551 + 6036;43420;2310;2418;0;4546971 + 6037;43428;2310;2418;0;4546971 + 6038;43432;2310;2419;0;4590403 + 6039;43440;2310;2419;0;4590403 + 6040;43452;2310;2419;0;4590403 + 6041;43456;2310;2420;0;4633859 + 6042;43464;2310;2420;0;4633859 + 6043;43471;2310;2421;0;4677330 + 6044;43476;2310;2421;0;4677330 + 6045;43487;2310;2422;0;4720817 + 6046;43488;2310;2422;0;4720817 + 6047;43500;2310;2422;0;4720817 + 6048;43509;2320;2423;0;4348049 + 6049;43512;2320;2423;0;4348049 + 6050;43524;2320;2423;0;4348049 + 6051;43530;2320;2424;0;4391579 + 6052;43536;2320;2424;0;4391579 + 6053;43543;2320;2425;0;4435122 + 6054;43548;2320;2425;0;4435122 + 6055;43557;2320;2426;0;4478679 + 6056;43560;2320;2426;0;4478679 + 6057;43572;2320;2426;0;4478679 + 6058;43572;2320;2427;0;4522251 + 6059;43584;2320;2427;0;4522251 + 6060;43585;2320;2428;0;4565836 + 6061;43596;2320;2428;0;4565836 + 6062;43602;2320;2429;0;4609438 + 6063;43608;2320;2429;0;4609438 + 6064;43617;2320;2430;0;4653055 + 6065;43620;2320;2430;0;4653055 + 6066;43632;2320;2430;0;4653055 + 6067;43632;2320;2431;0;4696687 + 6068;43644;2320;2431;0;4696687 + 6069;43652;2320;2432;0;4740339 + 6070;43656;2320;2432;0;4740339 + 6071;43668;2320;2432;0;4740339 + 6072;43674;2320;2433;0;4784013 + 6073;43680;2320;2433;0;4784013 + 6074;43692;2320;2433;0;4784013 + 6075;43692;2320;2434;0;4827705 + 6076;43704;2320;2434;0;4827705 + 6077;43704;2320;2435;0;4871409 + 6078;43716;2320;2435;0;4871409 + 6079;43728;2320;2435;0;4871409 + 6080;43728;2320;2436;0;4915137 + 6081;43740;2320;2436;0;4915137 + 6082;43741;2320;2437;0;4958878 + 6083;43752;2320;2437;0;4958878 + 6084;43762;2320;2438;0;5002640 + 6085;43764;2320;2438;0;5002640 + 6086;43776;2320;2438;0;5002640 + 6087;43785;2320;2439;0;5046425 + 6088;43788;2320;2439;0;5046425 + 6089;43800;2320;2439;0;5046425 + 6090;43803;2320;2440;0;5090228 + 6091;43812;2320;2440;0;5090228 + 6092;43819;2320;2441;0;5134047 + 6093;43824;2320;2441;0;5134047 + 6094;43836;2320;2441;0;5134047 + 6095;43838;2320;2442;0;5177885 + 6096;43848;2320;2442;0;5177885 + 6097;43860;2320;2442;0;5177885 + 6098;43862;2320;2443;0;5221747 + 6099;43872;2320;2443;0;5221747 + 6100;43884;2320;2443;0;5221747 + 6101;43884;2320;2444;0;5265631 + 6102;43896;2320;2444;0;5265631 + 6103;43899;2320;2445;0;5309530 + 6104;43908;2320;2445;0;5309530 + 6105;43913;2320;2446;0;5353443 + 6106;43920;2320;2446;0;5353443 + 6107;43932;2320;2446;0;5353443 + 6108;43933;2330;2447;0;4979267 + 6109;43944;2340;2447;0;4559410 + 6110;43951;2350;2448;0;4181674 + 6111;43956;2350;2448;0;4181674 + 6112;43966;2350;2449;0;4225640 + 6113;43968;2350;2449;0;4225640 + 6114;43980;2350;2449;0;4225640 + 6115;43980;2350;2450;0;4269620 + 6116;43992;2350;2450;0;4269620 + 6117;43998;2350;2451;0;4313618 + 6118;44004;2350;2451;0;4313618 + 6119;44016;2350;2451;0;4313618 + 6120;44020;2350;2452;0;4357638 + 6121;44028;2350;2452;0;4357638 + 6122;44040;2350;2452;0;4357638 + 6123;44040;2350;2453;0;4401678 + 6124;44052;2350;2453;0;4401678 + 6125;44061;2350;2454;0;4445739 + 6126;44064;2350;2454;0;4445739 + 6127;44076;2350;2454;0;4445739 + 6128;44084;2350;2455;0;4489823 + 6129;44088;2350;2455;0;4489823 + 6130;44100;2350;2455;0;4489823 + 6131;44102;2350;2456;0;4533925 + 6132;44112;2350;2456;0;4533925 + 6133;44120;2350;2457;0;4578045 + 6134;44124;2350;2457;0;4578045 + 6135;44136;2350;2457;0;4578045 + 6136;44139;2360;2458;0;4198803 + 6137;44148;2360;2458;0;4198803 + 6138;44155;2360;2459;0;4242958 + 6139;44160;2360;2459;0;4242958 + 6140;44169;2360;2460;0;4287127 + 6141;44172;2360;2460;0;4287127 + 6142;44184;2360;2460;0;4287127 + 6143;44184;2360;2461;0;4331311 + 6144;44196;2360;2461;0;4331311 + 6145;44199;2360;2462;0;4375510 + 6146;44208;2360;2462;0;4375510 + 6147;44219;2360;2463;0;4419729 + 6148;44220;2360;2463;0;4419729 + 6149;44232;2360;2463;0;4419729 + 6150;44237;2360;2464;0;4463966 + 6151;44244;2360;2464;0;4463966 + 6152;44251;2360;2465;0;4508217 + 6153;44256;2360;2465;0;4508217 + 6154;44268;2360;2465;0;4508217 + 6155;44269;2360;2466;0;4552486 + 6156;44280;2360;2466;0;4552486 + 6157;44287;2360;2467;0;4596773 + 6158;44292;2360;2467;0;4596773 + 6159;44299;2360;2468;0;4641072 + 6160;44304;2360;2468;0;4641072 + 6161;44316;2360;2468;0;4641072 + 6162;44322;2360;2469;0;4685394 + 6163;44328;2360;2469;0;4685394 + 6164;44340;2360;2469;0;4685394 + 6165;44342;2360;2470;0;4729736 + 6166;44352;2360;2470;0;4729736 + 6167;44363;2360;2471;0;4774099 + 6168;44364;2360;2471;0;4774099 + 6169;44376;2360;2471;0;4774099 + 6170;44382;2360;2472;0;4818481 + 6171;44388;2360;2472;0;4818481 + 6172;44400;2360;2472;0;4818481 + 6173;44400;2360;2473;0;4862881 + 6174;44412;2360;2473;0;4862881 + 6175;44423;2360;2474;0;4907304 + 6176;44424;2360;2474;0;4907304 + 6177;44435;2360;2475;0;4951739 + 6178;44436;2360;2475;0;4951739 + 6179;44448;2360;2475;0;4951739 + 6180;44458;2360;2476;0;4996197 + 6181;44460;2360;2476;0;4996197 + 6182;44472;2360;2476;0;4996197 + 6183;44474;2360;2477;0;5040671 + 6184;44484;2360;2477;0;5040671 + 6185;44488;2360;2478;0;5085159 + 6186;44496;2360;2478;0;5085159 + 6187;44508;2360;2478;0;5085159 + 6188;44509;2360;2479;0;5129668 + 6189;44520;2360;2479;0;5129668 + 6190;44525;2370;2480;0;4749011 + 6191;44532;2370;2480;0;4749011 + 6192;44541;2370;2481;0;4793552 + 6193;44544;2370;2481;0;4793552 + 6194;44556;2370;2481;0;4793552 + 6195;44564;2370;2482;0;4838116 + 6196;44568;2370;2482;0;4838116 + 6197;44580;2370;2482;0;4838116 + 6198;44580;2370;2483;0;4882696 + 6199;44592;2370;2483;0;4882696 + 6200;44596;2370;2484;0;4927292 + 6201;44604;2370;2484;0;4927292 + 6202;44611;2370;2485;0;4971903 + 6203;44616;2370;2485;0;4971903 + 6204;44628;2370;2485;0;4971903 + 6205;44629;2370;2486;0;5016532 + 6206;44640;2370;2486;0;5016532 + 6207;44644;2370;2487;0;5061176 + 6208;44652;2370;2487;0;5061176 + 6209;44664;2370;2487;0;5061176 + 6210;44667;2370;2488;0;5105843 + 6211;44676;2370;2488;0;5105843 + 6212;44683;2370;2489;0;5150526 + 6213;44688;2370;2489;0;5150526 + 6214;44697;2370;2490;0;5195223 + 6215;44700;2370;2490;0;5195223 + 6216;44712;2370;2490;0;5195223 + 6217;44712;2370;2491;0;5239935 + 6218;44724;2370;2491;0;5239935 + 6219;44733;2370;2492;0;5284668 + 6220;44736;2370;2492;0;5284668 + 6221;44748;2370;2492;0;5284668 + 6222;44753;2370;2493;0;5329421 + 6223;44760;2370;2493;0;5329421 + 6224;44766;2370;2494;0;5374187 + 6225;44772;2370;2494;0;5374187 + 6226;44784;2370;2494;0;5374187 + 6227;44787;2370;2495;0;5418974 + 6228;44796;2370;2495;0;5418974 + 6229;44805;2370;2496;0;5463779 + 6230;44808;2370;2496;0;5463779 + 6231;44820;2370;2496;0;5463779 + 6232;44821;2370;2497;0;5508600 + 6233;44832;2370;2497;0;5508600 + 6234;44843;2370;2498;0;5553443 + 6235;44844;2370;2498;0;5553443 + 6236;44856;2370;2498;0;5553443 + 6237;44857;2370;2499;0;5598300 + 6238;44868;2370;2499;0;5598300 + 6239;44880;2370;2499;0;5598300 + 6240;44881;2370;2500;0;5643181 + 6241;44892;2370;2500;0;5643181 + 6242;44897;2370;2501;0;5688078 + 6243;44904;2370;2501;0;5688078 + 6244;44915;2370;2502;0;5732993 + 6245;44916;2370;2502;0;5732993 + 6246;44928;2370;2502;0;5732993 + 6247;44935;2370;2503;0;5777928 + 6248;44940;2370;2503;0;5777928 + 6249;44949;2370;2504;0;5822877 + 6250;44952;2370;2504;0;5822877 + 6251;44964;2370;2504;0;5822877 + 6252;44964;2370;2505;0;5867841 + 6253;44976;2370;2505;0;5867841 + 6254;44978;2370;2506;0;5912819 + 6255;44988;2370;2506;0;5912819 + 6256;44990;2380;2507;0;5530815 + 6257;45000;2380;2507;0;5530815 + 6258;45003;2380;2508;0;5575818 + 6259;45012;2380;2508;0;5575818 + 6260;45019;2380;2509;0;5620837 + 6261;45024;2380;2509;0;5620837 + 6262;45036;2380;2509;0;5620837 + 6263;45039;2380;2510;0;5665876 + 6264;45048;2380;2510;0;5665876 + 6265;45060;2380;2510;0;5665876 + 6266;45060;2380;2511;0;5710936 + 6267;45072;2380;2511;0;5710936 + 6268;45073;2380;2512;0;5756009 + 6269;45084;2380;2512;0;5756009 + 6270;45085;2380;2513;0;5801094 + 6271;45096;2380;2513;0;5801094 + 6272;45106;2380;2514;0;5846200 + 6273;45108;2380;2514;0;5846200 + 6274;45120;2380;2514;0;5846200 + 6275;45129;2380;2515;0;5891329 + 6276;45132;2380;2515;0;5891329 + 6277;45144;2390;2515;0;5462417 + 6278;45153;2410;2516;0;4644605 + 6279;45156;2410;2516;0;4644605 + 6280;45168;2410;2516;0;4644605 + 6281;45169;2410;2517;0;4689774 + 6282;45180;2410;2517;0;4689774 + 6283;45188;2410;2518;0;4734962 + 6284;45192;2410;2518;0;4734962 + 6285;45204;2410;2518;0;4734962 + 6286;45208;2410;2519;0;4780170 + 6287;45216;2410;2519;0;4780170 + 6288;45228;2410;2519;0;4780170 + 6289;45232;2410;2520;0;4825402 + 6290;45240;2410;2520;0;4825402 + 6291;45247;2410;2521;0;4870649 + 6292;45252;2410;2521;0;4870649 + 6293;45264;2410;2521;0;4870649 + 6294;45265;2410;2522;0;4915914 + 6295;45276;2410;2522;0;4915914 + 6296;45286;2410;2523;0;4961200 + 6297;45288;2410;2523;0;4961200 + 6298;45300;2410;2523;0;4961200 + 6299;45304;2410;2524;0;5006504 + 6300;45312;2410;2524;0;5006504 + 6301;45321;2410;2525;0;5051825 + 6302;45324;2410;2525;0;5051825 + 6303;45336;2420;2525;0;4617859 + 6304;45339;2420;2526;0;4663198 + 6305;45348;2420;2526;0;4663198 + 6306;45353;2420;2527;0;4708551 + 6307;45360;2420;2527;0;4708551 + 6308;45372;2420;2527;0;4708551 + 6309;45374;2420;2528;0;4753925 + 6310;45384;2420;2528;0;4753925 + 6311;45394;2420;2529;0;4799319 + 6312;45396;2420;2529;0;4799319 + 6313;45408;2420;2529;0;4799319 + 6314;45415;2420;2530;0;4844734 + 6315;45420;2420;2530;0;4844734 + 6316;45431;2420;2531;0;4890165 + 6317;45432;2420;2531;0;4890165 + 6318;45444;2420;2531;0;4890165 + 6319;45455;2420;2532;0;4935620 + 6320;45456;2420;2532;0;4935620 + 6321;45468;2420;2532;0;4935620 + 6322;45474;2420;2533;0;4981094 + 6323;45480;2420;2533;0;4981094 + 6324;45492;2420;2533;0;4981094 + 6325;45497;2420;2534;0;5026591 + 6326;45504;2420;2534;0;5026591 + 6327;45510;2420;2535;0;5072101 + 6328;45516;2420;2535;0;5072101 + 6329;45523;2420;2536;0;5117624 + 6330;45528;2420;2536;0;5117624 + 6331;45535;2420;2537;0;5163159 + 6332;45540;2420;2537;0;5163159 + 6333;45551;2420;2538;0;5208710 + 6334;45552;2420;2538;0;5208710 + 6335;45564;2420;2538;0;5208710 + 6336;45565;2420;2539;0;5254275 + 6337;45576;2420;2539;0;5254275 + 6338;45587;2420;2540;0;5299862 + 6339;45588;2420;2540;0;5299862 + 6340;45600;2420;2540;0;5299862 + 6341;45605;2420;2541;0;5345467 + 6342;45612;2420;2541;0;5345467 + 6343;45624;2420;2541;0;5345467 + 6344;45629;2420;2542;0;5391096 + 6345;45636;2420;2542;0;5391096 + 6346;45648;2420;2542;0;5391096 + 6347;45649;2420;2543;0;5436745 + 6348;45660;2420;2543;0;5436745 + 6349;45663;2420;2544;0;5482408 + 6350;45672;2420;2544;0;5482408 + 6351;45684;2420;2544;0;5482408 + 6352;45687;2430;2545;0;5092461 + 6353;45696;2430;2545;0;5092461 + 6354;45708;2430;2545;0;5092461 + 6355;45709;2430;2546;0;5138170 + 6356;45720;2430;2546;0;5138170 + 6357;45723;2430;2547;0;5183893 + 6358;45732;2430;2547;0;5183893 + 6359;45737;2430;2548;0;5229630 + 6360;45744;2430;2548;0;5229630 + 6361;45753;2430;2549;0;5275383 + 6362;45756;2430;2549;0;5275383 + 6363;45766;2430;2550;0;5321149 + 6364;45768;2430;2550;0;5321149 + 6365;45779;2430;2551;0;5366928 + 6366;45780;2430;2551;0;5366928 + 6367;45792;2430;2551;0;5366928 + 6368;45792;2430;2552;0;5412720 + 6369;45804;2430;2552;0;5412720 + 6370;45810;2430;2553;0;5458530 + 6371;45816;2430;2553;0;5458530 + 6372;45828;2430;2553;0;5458530 + 6373;45832;2430;2554;0;5504362 + 6374;45840;2430;2554;0;5504362 + 6375;45849;2430;2555;0;5550211 + 6376;45852;2430;2555;0;5550211 + 6377;45864;2430;2555;0;5550211 + 6378;45872;2430;2556;0;5596083 + 6379;45876;2430;2556;0;5596083 + 6380;45884;2430;2557;0;5641967 + 6381;45888;2430;2557;0;5641967 + 6382;45898;2430;2558;0;5687865 + 6383;45900;2430;2558;0;5687865 + 6384;45911;2430;2559;0;5733776 + 6385;45912;2430;2559;0;5733776 + 6386;45924;2430;2559;0;5733776 + 6387;45930;2430;2560;0;5779706 + 6388;45936;2430;2560;0;5779706 + 6389;45948;2430;2560;0;5779706 + 6390;45953;2430;2561;0;5825659 + 6391;45960;2430;2561;0;5825659 + 6392;45972;2430;2561;0;5825659 + 6393;45975;2430;2562;0;5871634 + 6394;45984;2430;2562;0;5871634 + 6395;45991;2430;2563;0;5917625 + 6396;45996;2430;2563;0;5917625 + 6397;46004;2430;2564;0;5963629 + 6398;46008;2430;2564;0;5963629 + 6399;46020;2430;2564;0;5963629 + 6400;46024;2430;2565;0;6009653 + 6401;46032;2430;2565;0;6009653 + 6402;46044;2430;2565;0;6009653 + 6403;46045;2430;2566;0;6055698 + 6404;46056;2430;2566;0;6055698 + 6405;46067;2430;2567;0;6101765 + 6406;46068;2430;2567;0;6101765 + 6407;46080;2430;2567;0;6101765 + 6408;46083;2430;2568;0;6147848 + 6409;46092;2430;2568;0;6147848 + 6410;46103;2430;2569;0;6193951 + 6411;46104;2430;2569;0;6193951 + 6412;46116;2430;2569;0;6193951 + 6413;46117;2440;2570;0;5802708 + 6414;46128;2450;2570;0;5363484 + 6415;46130;2450;2571;0;5409614 + 6416;46140;2450;2571;0;5409614 + 6417;46152;2450;2571;0;5409614 + 6418;46152;2450;2572;0;5455766 + 6419;46164;2450;2572;0;5455766 + 6420;46164;2450;2573;0;5501930 + 6421;46176;2450;2573;0;5501930 + 6422;46186;2450;2574;0;5548116 + 6423;46188;2450;2574;0;5548116 + 6424;46200;2450;2574;0;5548116 + 6425;46208;2450;2575;0;5594324 + 6426;46212;2450;2575;0;5594324 + 6427;46220;2450;2576;0;5640544 + 6428;46224;2450;2576;0;5640544 + 6429;46236;2450;2576;0;5640544 + 6430;46237;2450;2577;0;5686781 + 6431;46248;2450;2577;0;5686781 + 6432;46249;2450;2578;0;5733030 + 6433;46260;2450;2578;0;5733030 + 6434;46272;2450;2578;0;5733030 + 6435;46272;2450;2579;0;5779302 + 6436;46284;2450;2579;0;5779302 + 6437;46289;2450;2580;0;5825591 + 6438;46296;2450;2580;0;5825591 + 6439;46303;2450;2581;0;5871894 + 6440;46308;2450;2581;0;5871894 + 6441;46320;2450;2581;0;5871894 + 6442;46327;2450;2582;0;5918221 + 6443;46332;2450;2582;0;5918221 + 6444;46344;2450;2582;0;5918221 + 6445;46346;2450;2583;0;5964567 + 6446;46356;2450;2583;0;5964567 + 6447;46365;2450;2584;0;6010932 + 6448;46368;2450;2584;0;6010932 + 6449;46380;2450;2584;0;6010932 + 6450;46385;2450;2585;0;6057317 + 6451;46392;2450;2585;0;6057317 + 6452;46404;2460;2585;0;5616243 + 6453;46405;2470;2586;0;5219860 + 6454;46416;2470;2586;0;5219860 + 6455;46427;2470;2587;0;5266287 + 6456;46428;2470;2587;0;5266287 + 6457;46440;2470;2587;0;5266287 + 6458;46447;2470;2588;0;5312734 + 6459;46452;2470;2588;0;5312734 + 6460;46464;2470;2588;0;5312734 + 6461;46468;2470;2589;0;5359202 + 6462;46476;2470;2589;0;5359202 + 6463;46480;2470;2590;0;5405682 + 6464;46488;2470;2590;0;5405682 + 6465;46493;2470;2591;0;5452175 + 6466;46500;2470;2591;0;5452175 + 6467;46508;2470;2592;0;5498683 + 6468;46512;2470;2592;0;5498683 + 6469;46523;2480;2593;0;5100571 + 6470;46524;2480;2593;0;5100571 + 6471;46536;2480;2593;0;5100571 + 6472;46547;2500;2594;0;4252592 + 6473;46548;2500;2594;0;4252592 + 6474;46560;2500;2594;0;4252592 + 6475;46563;2500;2595;0;4299155 + 6476;46572;2500;2595;0;4299155 + 6477;46584;2500;2595;0;4299155 + 6478;46585;2500;2596;0;4345740 + 6479;46596;2500;2596;0;4345740 + 6480;46600;2500;2597;0;4392340 + 6481;46608;2500;2597;0;4392340 + 6482;46617;2500;2598;0;4438957 + 6483;46620;2500;2598;0;4438957 + 6484;46632;2500;2598;0;4438957 + 6485;46632;2500;2599;0;4485589 + 6486;46644;2500;2599;0;4485589 + 6487;46651;2500;2600;0;4532240 + 6488;46656;2500;2600;0;4532240 + 6489;46666;2500;2601;0;4578906 + 6490;46668;2500;2601;0;4578906 + 6491;46680;2500;2601;0;4578906 + 6492;46681;2500;2602;0;4625587 + 6493;46692;2500;2602;0;4625587 + 6494;46693;2500;2603;0;4672280 + 6495;46704;2500;2603;0;4672280 + 6496;46706;2500;2604;0;4718986 + 6497;46716;2500;2604;0;4718986 + 6498;46721;2500;2605;0;4765707 + 6499;46728;2500;2605;0;4765707 + 6500;46734;2500;2606;0;4812441 + 6501;46740;2500;2606;0;4812441 + 6502;46752;2500;2606;0;4812441 + 6503;46757;2500;2607;0;4859198 + 6504;46764;2500;2607;0;4859198 + 6505;46773;2500;2608;0;4905971 + 6506;46776;2500;2608;0;4905971 + 6507;46788;2500;2608;0;4905971 + 6508;46797;2500;2609;0;4952768 + 6509;46800;2500;2609;0;4952768 + 6510;46812;2500;2609;0;4952768 + 6511;46814;2500;2610;0;4999582 + 6512;46824;2500;2610;0;4999582 + 6513;46836;2500;2610;0;4999582 + 6514;46838;2500;2611;0;5046420 + 6515;46848;2500;2611;0;5046420 + 6516;46860;2500;2611;0;5046420 + 6517;46861;2500;2612;0;5093281 + 6518;46872;2500;2612;0;5093281 + 6519;46882;2500;2613;0;5140163 + 6520;46884;2500;2613;0;5140163 + 6521;46896;2500;2613;0;5140163 + 6522;46898;2500;2614;0;5187061 + 6523;46908;2500;2614;0;5187061 + 6524;46920;2500;2614;0;5187061 + 6525;46920;2500;2615;0;5233981 + 6526;46932;2500;2615;0;5233981 + 6527;46933;2500;2616;0;5280914 + 6528;46944;2500;2616;0;5280914 + 6529;46956;2500;2616;0;5280914 + 6530;46956;2500;2617;0;5327870 + 6531;46968;2500;2617;0;5327870 + 6532;46975;2500;2618;0;5374845 + 6533;46980;2500;2618;0;5374845 + 6534;46988;2500;2619;0;5421833 + 6535;46992;2500;2619;0;5421833 + 6536;47004;2500;2619;0;5421833 + 6537;47004;2500;2620;0;5468837 + 6538;47016;2500;2620;0;5468837 + 6539;47016;2500;2621;0;5515853 + 6540;47028;2500;2621;0;5515853 + 6541;47029;2500;2622;0;5562882 + 6542;47040;2500;2622;0;5562882 + 6543;47045;2500;2623;0;5609927 + 6544;47052;2500;2623;0;5609927 + 6545;47064;2500;2623;0;5609927 + 6546;47064;2500;2624;0;5656991 + 6547;47076;2500;2624;0;5656991 + 6548;47077;2500;2625;0;5704068 + 6549;47088;2500;2625;0;5704068 + 6550;47090;2500;2626;0;5751158 + 6551;47100;2500;2626;0;5751158 + 6552;47106;2500;2627;0;5798264 + 6553;47112;2500;2627;0;5798264 + 6554;47122;2500;2628;0;5845386 + 6555;47124;2500;2628;0;5845386 + 6556;47136;2500;2628;0;5845386 + 6557;47146;2510;2629;0;5442680 + 6558;47148;2510;2629;0;5442680 + 6559;47160;2510;2629;0;5442680 + 6560;47162;2520;2630;0;5038252 + 6561;47172;2520;2630;0;5038252 + 6562;47176;2520;2631;0;5085428 + 6563;47184;2520;2631;0;5085428 + 6564;47196;2520;2631;0;5085428 + 6565;47200;2530;2632;0;4679146 + 6566;47208;2540;2632;0;4223844 + 6567;47220;2540;2632;0;4223844 + 6568;47224;2540;2633;0;4271068 + 6569;47232;2540;2633;0;4271068 + 6570;47238;2540;2634;0;4318306 + 6571;47244;2540;2634;0;4318306 + 6572;47253;2540;2635;0;4365559 + 6573;47256;2540;2635;0;4365559 + 6574;47268;2540;2635;0;4365559 + 6575;47276;2540;2636;0;4412835 + 6576;47280;2540;2636;0;4412835 + 6577;47292;2540;2636;0;4412835 + 6578;47299;2540;2637;0;4460134 + 6579;47304;2540;2637;0;4460134 + 6580;47316;2540;2637;0;4460134 + 6581;47323;2540;2638;0;4507457 + 6582;47328;2540;2638;0;4507457 + 6583;47335;2540;2639;0;4554792 + 6584;47340;2540;2639;0;4554792 + 6585;47348;2540;2640;0;4602140 + 6586;47352;2540;2640;0;4602140 + 6587;47364;2540;2640;0;4602140 + 6588;47371;2540;2641;0;4649511 + 6589;47376;2540;2641;0;4649511 + 6590;47388;2540;2641;0;4649511 + 6591;47390;2540;2642;0;4696901 + 6592;47400;2540;2642;0;4696901 + 6593;47409;2540;2643;0;4744310 + 6594;47412;2540;2643;0;4744310 + 6595;47424;2540;2643;0;4744310 + 6596;47428;2540;2644;0;4791738 + 6597;47436;2540;2644;0;4791738 + 6598;47448;2540;2644;0;4791738 + 6599;47452;2540;2645;0;4839190 + 6600;47460;2540;2645;0;4839190 + 6601;47469;2540;2646;0;4886659 + 6602;47472;2540;2646;0;4886659 + 6603;47484;2540;2646;0;4886659 + 6604;47490;2540;2647;0;4934149 + 6605;47496;2540;2647;0;4934149 + 6606;47502;2540;2648;0;4981651 + 6607;47508;2540;2648;0;4981651 + 6608;47520;2540;2648;0;4981651 + 6609;47522;2540;2649;0;5029173 + 6610;47532;2540;2649;0;5029173 + 6611;47544;2540;2649;0;5029173 + 6612;47544;2540;2650;0;5076717 + 6613;47556;2540;2650;0;5076717 + 6614;47566;2540;2651;0;5124283 + 6615;47568;2540;2651;0;5124283 + 6616;47580;2540;2651;0;5124283 + 6617;47580;2540;2652;0;5171863 + 6618;47592;2540;2652;0;5171863 + 6619;47598;2540;2653;0;5219461 + 6620;47604;2540;2653;0;5219461 + 6621;47616;2540;2653;0;5219461 + 6622;47620;2540;2654;0;5267081 + 6623;47628;2540;2654;0;5267081 + 6624;47632;2540;2655;0;5314713 + 6625;47640;2540;2655;0;5314713 + 6626;47646;2540;2656;0;5362359 + 6627;47652;2540;2656;0;5362359 + 6628;47664;2540;2656;0;5362359 + 6629;47665;2540;2657;0;5410024 + 6630;47676;2540;2657;0;5410024 + 6631;47682;2540;2658;0;5457706 + 6632;47688;2540;2658;0;5457706 + 6633;47695;2540;2659;0;5505401 + 6634;47700;2540;2659;0;5505401 + 6635;47712;2540;2659;0;5505401 + 6636;47719;2540;2660;0;5553120 + 6637;47724;2540;2660;0;5553120 + 6638;47732;2540;2661;0;5600852 + 6639;47736;2540;2661;0;5600852 + 6640;47747;2540;2662;0;5648599 + 6641;47748;2540;2662;0;5648599 + 6642;47760;2540;2662;0;5648599 + 6643;47769;2540;2663;0;5696368 + 6644;47772;2540;2663;0;5696368 + 6645;47784;2540;2663;0;5696368 + 6646;47786;2540;2664;0;5744154 + 6647;47796;2540;2664;0;5744154 + 6648;47800;2540;2665;0;5791954 + 6649;47808;2540;2665;0;5791954 + 6650;47820;2540;2665;0;5791954 + 6651;47821;2540;2666;0;5839775 + 6652;47832;2540;2666;0;5839775 + 6653;47844;2540;2666;0;5839775 + 6654;47844;2540;2667;0;5887619 + 6655;47856;2540;2667;0;5887619 + 6656;47860;2540;2668;0;5935479 + 6657;47868;2540;2668;0;5935479 + 6658;47880;2540;2668;0;5935479 + 6659;47882;2550;2669;0;5526266 + 6660;47892;2550;2669;0;5526266 + 6661;47904;2550;2669;0;5526266 + 6662;47904;2550;2670;0;5574170 + 6663;47916;2550;2670;0;5574170 + 6664;47921;2550;2671;0;5622091 + 6665;47928;2550;2671;0;5622091 + 6666;47940;2550;2671;0;5622091 + 6667;47943;2550;2672;0;5670034 + 6668;47952;2550;2672;0;5670034 + 6669;47955;2550;2673;0;5717989 + 6670;47964;2550;2673;0;5717989 + 6671;47967;2550;2674;0;5765956 + 6672;47976;2550;2674;0;5765956 + 6673;47988;2550;2674;0;5765956 + 6674;47989;2550;2675;0;5813945 + 6675;48000;2550;2675;0;5813945 + 6676;48006;2550;2676;0;5861951 + 6677;48012;2550;2676;0;5861951 + 6678;48020;2550;2677;0;5909971 + 6679;48024;2550;2677;0;5909971 + 6680;48036;2550;2677;0;5909971 + 6681;48041;2550;2678;0;5958012 + 6682;48048;2550;2678;0;5958012 + 6683;48059;2550;2679;0;6006071 + 6684;48060;2550;2679;0;6006071 + 6685;48072;2550;2679;0;6006071 + 6686;48077;2550;2680;0;6054148 + 6687;48084;2550;2680;0;6054148 + 6688;48091;2550;2681;0;6102239 + 6689;48096;2550;2681;0;6102239 + 6690;48104;2550;2682;0;6150343 + 6691;48108;2550;2682;0;6150343 + 6692;48116;2550;2683;0;6198459 + 6693;48120;2550;2683;0;6198459 + 6694;48132;2550;2683;0;6198459 + 6695;48140;2550;2684;0;6246599 + 6696;48144;2550;2684;0;6246599 + 6697;48152;2550;2685;0;6294751 + 6698;48156;2550;2685;0;6294751 + 6699;48168;2550;2685;0;6294751 + 6700;48169;2550;2686;0;6342920 + 6701;48180;2550;2686;0;6342920 + 6702;48190;2550;2687;0;6391110 + 6703;48192;2550;2687;0;6391110 + 6704;48202;2560;2688;0;5980581 + 6705;48204;2560;2688;0;5980581 + 6706;48216;2580;2688;0;5057762 + 6707;48220;2590;2689;0;4641839 + 6708;48228;2590;2689;0;4641839 + 6709;48240;2590;2689;0;4641839 + 6710;48243;2590;2690;0;4690082 + 6711;48252;2590;2690;0;4690082 + 6712;48261;2590;2691;0;4738343 + 6713;48264;2590;2691;0;4738343 + 6714;48276;2590;2691;0;4738343 + 6715;48285;2590;2692;0;4786628 + 6716;48288;2590;2692;0;4786628 + 6717;48297;2590;2693;0;4834925 + 6718;48300;2590;2693;0;4834925 + 6719;48312;2590;2693;0;4834925 + 6720;48321;2590;2694;0;4883246 + 6721;48324;2590;2694;0;4883246 + 6722;48336;2590;2694;0;4883246 + 6723;48337;2590;2695;0;4931583 + 6724;48348;2590;2695;0;4931583 + 6725;48358;2590;2696;0;4979941 + 6726;48360;2590;2696;0;4979941 + 6727;48371;2590;2697;0;5028312 + 6728;48372;2590;2697;0;5028312 + 6729;48384;2590;2697;0;5028312 + 6730;48393;2590;2698;0;5076705 + 6731;48396;2590;2698;0;5076705 + 6732;48408;2590;2698;0;5076705 + 6733;48410;2590;2699;0;5125115 + 6734;48420;2590;2699;0;5125115 + 6735;48423;2590;2700;0;5173538 + 6736;48432;2590;2700;0;5173538 + 6737;48438;2590;2701;0;5221976 + 6738;48444;2590;2701;0;5221976 + 6739;48456;2590;2701;0;5221976 + 6740;48462;2590;2702;0;5270438 + 6741;48468;2590;2702;0;5270438 + 6742;48480;2590;2702;0;5270438 + 6743;48481;2590;2703;0;5318919 + 6744;48492;2590;2703;0;5318919 + 6745;48496;2590;2704;0;5367415 + 6746;48504;2590;2704;0;5367415 + 6747;48514;2590;2705;0;5415929 + 6748;48516;2590;2705;0;5415929 + 6749;48528;2590;2705;0;5415929 + 6750;48532;2590;2706;0;5464461 + 6751;48540;2590;2706;0;5464461 + 6752;48552;2590;2706;0;5464461 + 6753;48553;2590;2707;0;5513014 + 6754;48564;2590;2707;0;5513014 + 6755;48567;2590;2708;0;5561581 + 6756;48576;2590;2708;0;5561581 + 6757;48585;2590;2709;0;5610166 + 6758;48588;2590;2709;0;5610166 + 6759;48600;2590;2709;0;5610166 + 6760;48604;2590;2710;0;5658770 + 6761;48612;2590;2710;0;5658770 + 6762;48624;2590;2710;0;5658770 + 6763;48624;2590;2711;0;5707394 + 6764;48636;2590;2711;0;5707394 + 6765;48639;2590;2712;0;5756033 + 6766;48648;2590;2712;0;5756033 + 6767;48653;2590;2713;0;5804686 + 6768;48660;2590;2713;0;5804686 + 6769;48665;2590;2714;0;5853351 + 6770;48672;2590;2714;0;5853351 + 6771;48677;2590;2715;0;5902028 + 6772;48684;2590;2715;0;5902028 + 6773;48691;2590;2716;0;5950719 + 6774;48696;2590;2716;0;5950719 + 6775;48704;2590;2717;0;5999423 + 6776;48708;2590;2717;0;5999423 + 6777;48720;2590;2717;0;5999423 + 6778;48726;2590;2718;0;6048149 + 6779;48732;2590;2718;0;6048149 + 6780;48739;2590;2719;0;6096888 + 6781;48744;2590;2719;0;6096888 + 6782;48756;2590;2719;0;6096888 + 6783;48759;2590;2720;0;6145647 + 6784;48768;2590;2720;0;6145647 + 6785;48780;2590;2720;0;6145647 + 6786;48782;2590;2721;0;6194429 + 6787;48792;2590;2721;0;6194429 + 6788;48795;2590;2722;0;6243224 + 6789;48804;2590;2722;0;6243224 + 6790;48810;2590;2723;0;6292034 + 6791;48816;2590;2723;0;6292034 + 6792;48828;2590;2723;0;6292034 + 6793;48830;2590;2724;0;6340864 + 6794;48840;2590;2724;0;6340864 + 6795;48852;2590;2724;0;6340864 + 6796;48854;2590;2725;0;6389718 + 6797;48864;2590;2725;0;6389718 + 6798;48866;2590;2726;0;6438584 + 6799;48876;2590;2726;0;6438584 + 6800;48888;2590;2726;0;6438584 + 6801;48888;2590;2727;0;6487472 + 6802;48900;2590;2727;0;6487472 + 6803;48900;2590;2728;0;6536372 + 6804;48912;2590;2728;0;6536372 + 6805;48924;2590;2728;0;6536372 + 6806;48924;2590;2729;0;6585296 + 6807;48936;2590;2729;0;6585296 + 6808;48943;2590;2730;0;6634239 + 6809;48948;2590;2730;0;6634239 + 6810;48960;2590;2730;0;6634239 + 6811;48963;2590;2731;0;6683202 + 6812;48972;2590;2731;0;6683202 + 6813;48981;2600;2732;0;6266291 + 6814;48984;2600;2732;0;6266291 + 6815;48996;2600;2732;0;6266291 + 6816;48999;2610;2733;0;5847776 + 6817;49008;2610;2733;0;5847776 + 6818;49020;2610;2733;0;5847776 + 6819;49020;2610;2734;0;5896796 + 6820;49032;2610;2734;0;5896796 + 6821;49036;2610;2735;0;5945832 + 6822;49044;2610;2735;0;5945832 + 6823;49056;2610;2735;0;5945832 + 6824;49059;2610;2736;0;5994891 + 6825;49068;2610;2736;0;5994891 + 6826;49080;2610;2736;0;5994891 + 6827;49080;2610;2737;0;6043971 + 6828;49092;2610;2737;0;6043971 + 6829;49099;2610;2738;0;6093070 + 6830;49104;2610;2738;0;6093070 + 6831;49116;2610;2738;0;6093070 + 6832;49120;2610;2739;0;6142190 + 6833;49128;2610;2739;0;6142190 + 6834;49140;2610;2739;0;6142190 + 6835;49140;2610;2740;0;6191330 + 6836;49152;2610;2740;0;6191330 + 6837;49163;2610;2741;0;6240493 + 6838;49164;2610;2741;0;6240493 + 6839;49176;2610;2741;0;6240493 + 6840;49181;2610;2742;0;6289674 + 6841;49188;2610;2742;0;6289674 + 6842;49200;2610;2742;0;6289674 + 6843;49202;2610;2743;0;6338876 + 6844;49212;2610;2743;0;6338876 + 6845;49218;2610;2744;0;6388094 + 6846;49224;2610;2744;0;6388094 + 6847;49236;2610;2744;0;6388094 + 6848;49240;2610;2745;0;6437334 + 6849;49248;2610;2745;0;6437334 + 6850;49253;2610;2746;0;6486587 + 6851;49260;2610;2746;0;6486587 + 6852;49271;2610;2747;0;6535858 + 6853;49272;2610;2747;0;6535858 + 6854;49284;2610;2747;0;6535858 + 6855;49286;2620;2748;0;6115711 + 6856;49296;2620;2748;0;6115711 + 6857;49305;2620;2749;0;6165016 + 6858;49308;2620;2749;0;6165016 + 6859;49320;2620;2749;0;6165016 + 6860;49329;2620;2750;0;6214345 + 6861;49332;2620;2750;0;6214345 + 6862;49344;2620;2750;0;6214345 + 6863;49350;2620;2751;0;6263695 + 6864;49356;2620;2751;0;6263695 + 6865;49368;2620;2751;0;6263695 + 6866;49373;2620;2752;0;6313068 + 6867;49380;2620;2752;0;6313068 + 6868;49392;2620;2752;0;6313068 + 6869;49396;2630;2753;0;5891447 + 6870;49404;2640;2753;0;5418580 + 6871;49410;2640;2754;0;5467990 + 6872;49416;2640;2754;0;5467990 + 6873;49426;2640;2755;0;5517416 + 6874;49428;2640;2755;0;5517416 + 6875;49440;2640;2755;0;5517416 + 6876;49450;2640;2756;0;5566866 + 6877;49452;2640;2756;0;5566866 + 6878;49464;2640;2756;0;5566866 + 6879;49470;2640;2757;0;5616336 + 6880;49476;2640;2757;0;5616336 + 6881;49488;2640;2757;0;5616336 + 6882;49488;2640;2758;0;5665824 + 6883;49500;2640;2758;0;5665824 + 6884;49508;2640;2759;0;5715332 + 6885;49512;2640;2759;0;5715332 + 6886;49524;2640;2759;0;5715332 + 6887;49529;2650;2760;0;5290089 + 6888;49536;2650;2760;0;5290089 + 6889;49548;2650;2760;0;5290089 + 6890;49550;2650;2761;0;5339639 + 6891;49560;2650;2761;0;5339639 + 6892;49563;2650;2762;0;5389202 + 6893;49572;2650;2762;0;5389202 + 6894;49577;2650;2763;0;5438779 + 6895;49584;2650;2763;0;5438779 + 6896;49596;2650;2763;0;5438779 + 6897;49596;2650;2764;0;5488375 + 6898;49608;2650;2764;0;5488375 + 6899;49619;2650;2765;0;5537994 + 6900;49620;2650;2765;0;5537994 + 6901;49631;2650;2766;0;5587625 + 6902;49632;2650;2766;0;5587625 + 6903;49644;2650;2766;0;5587625 + 6904;49649;2650;2767;0;5637274 + 6905;49656;2650;2767;0;5637274 + 6906;49662;2650;2768;0;5686936 + 6907;49668;2650;2768;0;5686936 + 6908;49678;2650;2769;0;5736614 + 6909;49680;2650;2769;0;5736614 + 6910;49692;2650;2769;0;5736614 + 6911;49694;2650;2770;0;5786308 + 6912;49704;2650;2770;0;5786308 + 6913;49707;2650;2771;0;5836015 + 6914;49716;2650;2771;0;5836015 + 6915;49721;2650;2772;0;5885736 + 6916;49728;2650;2772;0;5885736 + 6917;49733;2650;2773;0;5935469 + 6918;49740;2650;2773;0;5935469 + 6919;49745;2650;2774;0;5985214 + 6920;49752;2650;2774;0;5985214 + 6921;49760;2650;2775;0;6034974 + 6922;49764;2650;2775;0;6034974 + 6923;49776;2650;2775;0;6034974 + 6924;49784;2650;2776;0;6084758 + 6925;49788;2650;2776;0;6084758 + 6926;49800;2650;2776;0;6084758 + 6927;49802;2650;2777;0;6134560 + 6928;49812;2650;2777;0;6134560 + 6929;49817;2650;2778;0;6184377 + 6930;49824;2650;2778;0;6184377 + 6931;49836;2650;2778;0;6184377 + 6932;49837;2650;2779;0;6234214 + 6933;49848;2650;2779;0;6234214 + 6934;49860;2650;2779;0;6234214 + 6935;49860;2650;2780;0;6284074 + 6936;49872;2650;2780;0;6284074 + 6937;49881;2650;2781;0;6333955 + 6938;49884;2650;2781;0;6333955 + 6939;49896;2650;2781;0;6333955 + 6940;49903;2650;2782;0;6383858 + 6941;49908;2650;2782;0;6383858 + 6942;49919;2650;2783;0;6433777 + 6943;49920;2650;2783;0;6433777 + 6944;49932;2650;2783;0;6433777 + 6945;49941;2650;2784;0;6483718 + 6946;49944;2650;2784;0;6483718 + 6947;49954;2650;2785;0;6533672 + 6948;49956;2650;2785;0;6533672 + 6949;49967;2650;2786;0;6583639 + 6950;49968;2650;2786;0;6583639 + 6951;49980;2650;2786;0;6583639 + 6952;49987;2660;2787;0;6157057 + 6953;49992;2660;2787;0;6157057 + 6954;50004;2660;2787;0;6157057 + 6955;50004;2660;2788;0;6207061 + 6956;50016;2660;2788;0;6207061 + 6957;50021;2670;2789;0;5778748 + 6958;50028;2670;2789;0;5778748 + 6959;50038;2670;2790;0;5828786 + 6960;50040;2670;2790;0;5828786 + 6961;50052;2670;2790;0;5828786 + 6962;50061;2670;2791;0;5878847 + 6963;50064;2670;2791;0;5878847 + 6964;50075;2670;2792;0;5928922 + 6965;50076;2670;2792;0;5928922 + 6966;50088;2670;2792;0;5928922 + 6967;50088;2670;2793;0;5979010 + 6968;50100;2670;2793;0;5979010 + 6969;50108;2670;2794;0;6029118 + 6970;50112;2670;2794;0;6029118 + 6971;50123;2670;2795;0;6079241 + 6972;50124;2670;2795;0;6079241 + 6973;50136;2670;2795;0;6079241 + 6974;50143;2670;2796;0;6129384 + 6975;50148;2670;2796;0;6129384 + 6976;50155;2670;2797;0;6179539 + 6977;50160;2670;2797;0;6179539 + 6978;50172;2670;2797;0;6179539 + 6979;50179;2670;2798;0;6229718 + 6980;50184;2670;2798;0;6229718 + 6981;50196;2680;2798;0;5749570 + 6982;50199;2680;2799;0;5799769 + 6983;50208;2680;2799;0;5799769 + 6984;50220;2680;2799;0;5799769 + 6985;50220;2680;2800;0;5849989 + 6986;50232;2680;2800;0;5849989 + 6987;50236;2680;2801;0;5900225 + 6988;50244;2680;2801;0;5900225 + 6989;50256;2680;2801;0;5900225 + 6990;50257;2680;2802;0;5950482 + 6991;50268;2680;2802;0;5950482 + 6992;50280;2680;2802;0;5950482 + 6993;50281;2680;2803;0;6000763 + 6994;50292;2680;2803;0;6000763 + 6995;50295;2680;2804;0;6051058 + 6996;50304;2680;2804;0;6051058 + 6997;50316;2680;2804;0;6051058 + 6998;50316;2680;2805;0;6101374 + 6999;50328;2680;2805;0;6101374 + 7000;50330;2680;2806;0;6151704 + 7001;50340;2680;2806;0;6151704 + 7002;50346;2690;2807;0;5720253 + 7003;50352;2700;2807;0;5236620 + 7004;50364;2710;2807;0;4751202 + 7005;50366;2710;2808;0;4801568 + 7006;50376;2710;2808;0;4801568 + 7007;50388;2710;2808;0;4801568 + 7008;50389;2710;2809;0;4851957 + 7009;50400;2710;2809;0;4851957 + 7010;50406;2710;2810;0;4902363 + 7011;50412;2710;2810;0;4902363 + 7012;50421;2710;2811;0;4952784 + 7013;50424;2710;2811;0;4952784 + 7014;50436;2710;2811;0;4952784 + 7015;50438;2710;2812;0;5003222 + 7016;50448;2710;2812;0;5003222 + 7017;50453;2710;2813;0;5053675 + 7018;50460;2710;2813;0;5053675 + 7019;50472;2710;2813;0;5053675 + 7020;50477;2710;2814;0;5104152 + 7021;50484;2710;2814;0;5104152 + 7022;50496;2710;2814;0;5104152 + 7023;50499;2710;2815;0;5154651 + 7024;50508;2710;2815;0;5154651 + 7025;50511;2710;2816;0;5205162 + 7026;50520;2720;2816;0;4718127 + 7027;50526;2720;2817;0;4768653 + 7028;50532;2720;2817;0;4768653 + 7029;50544;2720;2817;0;4768653 + 7030;50550;2720;2818;0;4819203 + 7031;50556;2720;2818;0;4819203 + 7032;50565;2720;2819;0;4869768 + 7033;50568;2720;2819;0;4869768 + 7034;50580;2720;2819;0;4869768 + 7035;50584;2720;2820;0;4920352 + 7036;50592;2720;2820;0;4920352 + 7037;50598;2720;2821;0;4970950 + 7038;50604;2720;2821;0;4970950 + 7039;50616;2720;2821;0;4970950 + 7040;50620;2720;2822;0;5021570 + 7041;50628;2720;2822;0;5021570 + 7042;50634;2720;2823;0;5072204 + 7043;50640;2720;2823;0;5072204 + 7044;50652;2720;2823;0;5072204 + 7045;50656;2720;2824;0;5122860 + 7046;50664;2720;2824;0;5122860 + 7047;50674;2720;2825;0;5173534 + 7048;50676;2720;2825;0;5173534 + 7049;50688;2730;2825;0;4684761 + 7050;50690;2730;2826;0;4735451 + 7051;50700;2730;2826;0;4735451 + 7052;50709;2730;2827;0;4786160 + 7053;50712;2730;2827;0;4786160 + 7054;50724;2730;2827;0;4786160 + 7055;50726;2730;2828;0;4836886 + 7056;50736;2730;2828;0;4836886 + 7057;50741;2730;2829;0;4887627 + 7058;50748;2730;2829;0;4887627 + 7059;50755;2730;2830;0;4938382 + 7060;50760;2730;2830;0;4938382 + 7061;50772;2730;2830;0;4938382 + 7062;50772;2730;2831;0;4989154 + 7063;50784;2730;2831;0;4989154 + 7064;50790;2730;2832;0;5039944 + 7065;50796;2730;2832;0;5039944 + 7066;50802;2730;2833;0;5090746 + 7067;50808;2730;2833;0;5090746 + 7068;50818;2730;2834;0;5141564 + 7069;50820;2730;2834;0;5141564 + 7070;50832;2730;2834;0;5141564 + 7071;50835;2730;2835;0;5192399 + 7072;50844;2730;2835;0;5192399 + 7073;50855;2730;2836;0;5243254 + 7074;50856;2730;2836;0;5243254 + 7075;50868;2730;2836;0;5243254 + 7076;50875;2730;2837;0;5294129 + 7077;50880;2730;2837;0;5294129 + 7078;50888;2730;2838;0;5345017 + 7079;50892;2730;2838;0;5345017 + 7080;50904;2730;2838;0;5345017 + 7081;50912;2730;2839;0;5395929 + 7082;50916;2730;2839;0;5395929 + 7083;50924;2730;2840;0;5446853 + 7084;50928;2730;2840;0;5446853 + 7085;50937;2730;2841;0;5497790 + 7086;50940;2730;2841;0;5497790 + 7087;50952;2730;2841;0;5497790 + 7088;50958;2730;2842;0;5548748 + 7089;50964;2730;2842;0;5548748 + 7090;50974;2730;2843;0;5599722 + 7091;50976;2730;2843;0;5599722 + 7092;50988;2730;2843;0;5599722 + 7093;50998;2730;2844;0;5650720 + 7094;51000;2730;2844;0;5650720 + 7095;51012;2730;2844;0;5650720 + 7096;51020;2730;2845;0;5701740 + 7097;51024;2730;2845;0;5701740 + 7098;51036;2730;2845;0;5701740 + 7099;51043;2730;2846;0;5752783 + 7100;51048;2730;2846;0;5752783 + 7101;51055;2730;2847;0;5803838 + 7102;51060;2730;2847;0;5803838 + 7103;51072;2730;2847;0;5803838 + 7104;51072;2730;2848;0;5854910 + 7105;51084;2730;2848;0;5854910 + 7106;51084;2730;2849;0;5905994 + 7107;51096;2730;2849;0;5905994 + 7108;51104;2730;2850;0;5957098 + 7109;51108;2730;2850;0;5957098 + 7110;51120;2730;2850;0;5957098 + 7111;51127;2730;2851;0;6008225 + 7112;51132;2730;2851;0;6008225 + 7113;51144;2730;2851;0;6008225 + 7114;51146;2730;2852;0;6059371 + 7115;51156;2730;2852;0;6059371 + 7116;51161;2730;2853;0;6110532 + 7117;51168;2730;2853;0;6110532 + 7118;51176;2730;2854;0;6161708 + 7119;51180;2730;2854;0;6161708 + 7120;51192;2730;2854;0;6161708 + 7121;51196;2730;2855;0;6212904 + 7122;51204;2740;2855;0;5722207 + 7123;51214;2740;2856;0;5773421 + 7124;51216;2740;2856;0;5773421 + 7125;51228;2740;2856;0;5773421 + 7126;51238;2740;2857;0;5824659 + 7127;51240;2740;2857;0;5824659 + 7128;51252;2740;2857;0;5824659 + 7129;51261;2740;2858;0;5875920 + 7130;51264;2740;2858;0;5875920 + 7131;51276;2740;2858;0;5875920 + 7132;51282;2740;2859;0;5927202 + 7133;51288;2740;2859;0;5927202 + 7134;51300;2740;2859;0;5927202 + 7135;51303;2740;2860;0;5978505 + 7136;51312;2740;2860;0;5978505 + 7137;51324;2740;2860;0;5978505 + 7138;51327;2740;2861;0;6029832 + 7139;51336;2740;2861;0;6029832 + 7140;51345;2740;2862;0;6081177 + 7141;51348;2740;2862;0;6081177 + 7142;51360;2740;2862;0;6081177 + 7143;51362;2740;2863;0;6132539 + 7144;51372;2740;2863;0;6132539 + 7145;51374;2740;2864;0;6183913 + 7146;51384;2740;2864;0;6183913 + 7147;51389;2740;2865;0;6235302 + 7148;51396;2740;2865;0;6235302 + 7149;51408;2740;2865;0;6235302 + 7150;51412;2740;2866;0;6286714 + 7151;51420;2740;2866;0;6286714 + 7152;51425;2740;2867;0;6338139 + 7153;51432;2740;2867;0;6338139 + 7154;51444;2740;2867;0;6338139 + 7155;51444;2740;2868;0;6389583 + 7156;51456;2740;2868;0;6389583 + 7157;51459;2740;2869;0;6441042 + 7158;51468;2740;2869;0;6441042 + 7159;51478;2740;2870;0;6492520 + 7160;51480;2740;2870;0;6492520 + 7161;51492;2740;2870;0;6492520 + 7162;51492;2740;2871;0;6544012 + 7163;51504;2740;2871;0;6544012 + 7164;51505;2740;2872;0;6595517 + 7165;51516;2740;2872;0;6595517 + 7166;51523;2750;2873;0;6154405 + 7167;51528;2750;2873;0;6154405 + 7168;51536;2750;2874;0;6205941 + 7169;51540;2750;2874;0;6205941 + 7170;51551;2750;2875;0;6257492 + 7171;51552;2750;2875;0;6257492 + 7172;51564;2750;2875;0;6257492 + 7173;51565;2750;2876;0;6309057 + 7174;51576;2750;2876;0;6309057 + 7175;51588;2750;2876;0;6309057 + 7176;51588;2750;2877;0;6360645 + 7177;51600;2750;2877;0;6360645 + 7178;51605;2760;2878;0;5917650 + 7179;51612;2760;2878;0;5917650 + 7180;51623;2760;2879;0;5969273 + 7181;51624;2760;2879;0;5969273 + 7182;51636;2760;2879;0;5969273 + 7183;51640;2760;2880;0;6020913 + 7184;51648;2760;2880;0;6020913 + 7185;51660;2760;2880;0;6020913 + 7186;51661;2760;2881;0;6072574 + 7187;51672;2760;2881;0;6072574 + 7188;51684;2760;2881;0;6072574 + 7189;51684;2760;2882;0;6124258 + 7190;51696;2760;2882;0;6124258 + 7191;51703;2760;2883;0;6175961 + 7192;51708;2760;2883;0;6175961 + 7193;51720;2760;2883;0;6175961 + 7194;51721;2760;2884;0;6227682 + 7195;51732;2760;2884;0;6227682 + 7196;51739;2760;2885;0;6279421 + 7197;51744;2760;2885;0;6279421 + 7198;51756;2760;2885;0;6279421 + 7199;51758;2760;2886;0;6331179 + 7200;51768;2760;2886;0;6331179 + 7201;51780;2760;2886;0;6331179 + 7202;51782;2760;2887;0;6382961 + 7203;51792;2760;2887;0;6382961 + 7204;51799;2760;2888;0;6434760 + 7205;51804;2760;2888;0;6434760 + 7206;51816;2760;2888;0;6434760 + 7207;51820;2760;2889;0;6486580 + 7208;51828;2760;2889;0;6486580 + 7209;51840;2760;2889;0;6486580 + 7210;51842;2760;2890;0;6538422 + 7211;51852;2760;2890;0;6538422 + 7212;51862;2760;2891;0;6590284 + 7213;51864;2760;2891;0;6590284 + 7214;51876;2760;2891;0;6590284 + 7215;51878;2760;2892;0;6642162 + 7216;51888;2760;2892;0;6642162 + 7217;51897;2760;2893;0;6694059 + 7218;51900;2760;2893;0;6694059 + 7219;51910;2760;2894;0;6745969 + 7220;51912;2760;2894;0;6745969 + 7221;51924;2760;2894;0;6745969 + 7222;51933;2760;2895;0;6797902 + 7223;51936;2760;2895;0;6797902 + 7224;51948;2760;2895;0;6797902 + 7225;51948;2760;2896;0;6849850 + 7226;51960;2760;2896;0;6849850 + 7227;51966;2770;2897;0;6405440 + 7228;51972;2770;2897;0;6405440 + 7229;51978;2780;2898;0;5959478 + 7230;51984;2780;2898;0;5959478 + 7231;51993;2780;2899;0;6011471 + 7232;51996;2780;2899;0;6011471 + 7233;52008;2780;2899;0;6011471 + 7234;52015;2780;2900;0;6063486 + 7235;52020;2780;2900;0;6063486 + 7236;52030;2780;2901;0;6115516 + 7237;52032;2780;2901;0;6115516 + 7238;52044;2780;2901;0;6115516 + 7239;52052;2780;2902;0;6167568 + 7240;52056;2780;2902;0;6167568 + 7241;52068;2780;2902;0;6167568 + 7242;52073;2780;2903;0;6219641 + 7243;52080;2780;2903;0;6219641 + 7244;52089;2780;2904;0;6271730 + 7245;52092;2780;2904;0;6271730 + 7246;52104;2780;2904;0;6271730 + 7247;52110;2780;2905;0;6323840 + 7248;52116;2780;2905;0;6323840 + 7249;52127;2780;2906;0;6375967 + 7250;52128;2780;2906;0;6375967 + 7251;52140;2780;2906;0;6375967 + 7252;52151;2780;2907;0;6428118 + 7253;52152;2780;2907;0;6428118 + 7254;52164;2780;2907;0;6428118 + 7255;52174;2780;2908;0;6480292 + 7256;52176;2780;2908;0;6480292 + 7257;52188;2780;2908;0;6480292 + 7258;52196;2790;2909;0;6032693 + 7259;52200;2790;2909;0;6032693 + 7260;52212;2790;2909;0;6032693 + 7261;52218;2800;2910;0;5583385 + 7262;52224;2800;2910;0;5583385 + 7263;52236;2800;2910;0;5583385 + 7264;52241;2800;2911;0;5635626 + 7265;52248;2800;2911;0;5635626 + 7266;52260;2800;2911;0;5635626 + 7267;52265;2800;2912;0;5687891 + 7268;52272;2800;2912;0;5687891 + 7269;52279;2800;2913;0;5740170 + 7270;52284;2800;2913;0;5740170 + 7271;52294;2800;2914;0;5792464 + 7272;52296;2800;2914;0;5792464 + 7273;52308;2800;2914;0;5792464 + 7274;52313;2800;2915;0;5844777 + 7275;52320;2800;2915;0;5844777 + 7276;52327;2800;2916;0;5897104 + 7277;52332;2800;2916;0;5897104 + 7278;52344;2800;2916;0;5897104 + 7279;52351;2800;2917;0;5949455 + 7280;52356;2800;2917;0;5949455 + 7281;52368;2800;2917;0;5949455 + 7282;52368;2800;2918;0;6001823 + 7283;52380;2800;2918;0;6001823 + 7284;52385;2800;2919;0;6054208 + 7285;52392;2800;2919;0;6054208 + 7286;52400;2800;2920;0;6106608 + 7287;52404;2800;2920;0;6106608 + 7288;52416;2800;2920;0;6106608 + 7289;52424;2800;2921;0;6159032 + 7290;52428;2800;2921;0;6159032 + 7291;52436;2800;2922;0;6211468 + 7292;52440;2800;2922;0;6211468 + 7293;52452;2800;2922;0;6211468 + 7294;52459;2800;2923;0;6263927 + 7295;52464;2800;2923;0;6263927 + 7296;52476;2800;2923;0;6263927 + 7297;52477;2800;2924;0;6316404 + 7298;52488;2800;2924;0;6316404 + 7299;52489;2800;2925;0;6368893 + 7300;52500;2800;2925;0;6368893 + 7301;52512;2800;2925;0;6368893 + 7302;52512;2800;2926;0;6421405 + 7303;52524;2800;2926;0;6421405 + 7304;52524;2800;2927;0;6473929 + 7305;52536;2800;2927;0;6473929 + 7306;52548;2800;2927;0;6473929 + 7307;52548;2800;2928;0;6526477 + 7308;52560;2800;2928;0;6526477 + 7309;52570;2800;2929;0;6579047 + 7310;52572;2800;2929;0;6579047 + 7311;52584;2800;2929;0;6579047 + 7312;52588;2800;2930;0;6631635 + 7313;52596;2800;2930;0;6631635 + 7314;52607;2800;2931;0;6684242 + 7315;52608;2800;2931;0;6684242 + 7316;52620;2800;2931;0;6684242 + 7317;52624;2800;2932;0;6736866 + 7318;52632;2800;2932;0;6736866 + 7319;52642;2800;2933;0;6789508 + 7320;52644;2800;2933;0;6789508 + 7321;52656;2800;2933;0;6789508 + 7322;52664;2800;2934;0;6842172 + 7323;52668;2800;2934;0;6842172 + 7324;52678;2800;2935;0;6894850 + 7325;52680;2800;2935;0;6894850 + 7326;52692;2800;2935;0;6894850 + 7327;52693;2800;2936;0;6947543 + 7328;52704;2800;2936;0;6947543 + 7329;52715;2800;2937;0;7000258 + 7330;52716;2800;2937;0;7000258 + 7331;52728;2810;2937;0;6496851 + 7332;52728;2820;2938;0;6044378 + 7333;52740;2820;2938;0;6044378 + 7334;52750;2830;2939;0;5590151 + 7335;52752;2830;2939;0;5590151 + 7336;52764;2840;2939;0;5081515 + 7337;52770;2840;2940;0;5134285 + 7338;52776;2840;2940;0;5134285 + 7339;52788;2840;2940;0;5134285 + 7340;52794;2840;2941;0;5187079 + 7341;52800;2840;2941;0;5187079 + 7342;52812;2840;2941;0;5187079 + 7343;52818;2840;2942;0;5239897 + 7344;52824;2840;2942;0;5239897 + 7345;52836;2840;2942;0;5239897 + 7346;52836;2840;2943;0;5292733 + 7347;52848;2840;2943;0;5292733 + 7348;52855;2840;2944;0;5345588 + 7349;52860;2840;2944;0;5345588 + 7350;52872;2840;2944;0;5345588 + 7351;52872;2840;2945;0;5398460 + 7352;52884;2840;2945;0;5398460 + 7353;52886;2840;2946;0;5451346 + 7354;52896;2840;2946;0;5451346 + 7355;52905;2840;2947;0;5504251 + 7356;52908;2840;2947;0;5504251 + 7357;52920;2840;2947;0;5504251 + 7358;52921;2840;2948;0;5557172 + 7359;52932;2840;2948;0;5557172 + 7360;52942;2840;2949;0;5610114 + 7361;52944;2840;2949;0;5610114 + 7362;52956;2840;2949;0;5610114 + 7363;52966;2840;2950;0;5663080 + 7364;52968;2840;2950;0;5663080 + 7365;52980;2840;2950;0;5663080 + 7366;52988;2840;2951;0;5716068 + 7367;52992;2840;2951;0;5716068 + 7368;53003;2840;2952;0;5769071 + 7369;53004;2840;2952;0;5769071 + 7370;53016;2840;2952;0;5769071 + 7371;53017;2840;2953;0;5822088 + 7372;53028;2840;2953;0;5822088 + 7373;53039;2840;2954;0;5875127 + 7374;53040;2840;2954;0;5875127 + 7375;53052;2840;2954;0;5875127 + 7376;53062;2840;2955;0;5928189 + 7377;53064;2840;2955;0;5928189 + 7378;53076;2840;2955;0;5928189 + 7379;53084;2840;2956;0;5981273 + 7380;53088;2840;2956;0;5981273 + 7381;53096;2840;2957;0;6034369 + 7382;53100;2840;2957;0;6034369 + 7383;53112;2840;2957;0;6034369 + 7384;53119;2840;2958;0;6087488 + 7385;53124;2840;2958;0;6087488 + 7386;53135;2840;2959;0;6140623 + 7387;53136;2840;2959;0;6140623 + 7388;53147;2840;2960;0;6193770 + 7389;53148;2840;2960;0;6193770 + 7390;53160;2840;2960;0;6193770 + 7391;53162;2840;2961;0;6246932 + 7392;53172;2840;2961;0;6246932 + 7393;53184;2840;2961;0;6246932 + 7394;53185;2840;2962;0;6300117 + 7395;53196;2840;2962;0;6300117 + 7396;53204;2840;2963;0;6353321 + 7397;53208;2840;2963;0;6353321 + 7398;53220;2850;2963;0;5842886 + 7399;53226;2850;2964;0;5896112 + 7400;53232;2850;2964;0;5896112 + 7401;53244;2850;2964;0;5896112 + 7402;53248;2850;2965;0;5949360 + 7403;53256;2850;2965;0;5949360 + 7404;53266;2850;2966;0;6002626 + 7405;53268;2850;2966;0;6002626 + 7406;53279;2850;2967;0;6055905 + 7407;53280;2850;2967;0;6055905 + 7408;53291;2850;2968;0;6109196 + 7409;53292;2850;2968;0;6109196 + 7410;53304;2850;2968;0;6109196 + 7411;53311;2850;2969;0;6162507 + 7412;53316;2850;2969;0;6162507 + 7413;53325;2850;2970;0;6215832 + 7414;53328;2850;2970;0;6215832 + 7415;53340;2850;2970;0;6215832 + 7416;53349;2850;2971;0;6269181 + 7417;53352;2850;2971;0;6269181 + 7418;53364;2850;2971;0;6269181 + 7419;53366;2850;2972;0;6322547 + 7420;53376;2850;2972;0;6322547 + 7421;53385;2850;2973;0;6375932 + 7422;53388;2850;2973;0;6375932 + 7423;53400;2850;2973;0;6375932 + 7424;53405;2850;2974;0;6429337 + 7425;53412;2850;2974;0;6429337 + 7426;53424;2850;2974;0;6429337 + 7427;53424;2850;2975;0;6482761 + 7428;53436;2850;2975;0;6482761 + 7429;53443;2850;2976;0;6536204 + 7430;53448;2850;2976;0;6536204 + 7431;53460;2850;2976;0;6536204 + 7432;53466;2850;2977;0;6589670 + 7433;53472;2850;2977;0;6589670 + 7434;53481;2860;2978;0;6130847 + 7435;53484;2860;2978;0;6130847 + 7436;53494;2870;2979;0;5670161 + 7437;53496;2870;2979;0;5670161 + 7438;53508;2870;2979;0;5670161 + 7439;53511;2880;2980;0;5207875 + 7440;53520;2880;2980;0;5207875 + 7441;53524;2880;2981;0;5261399 + 7442;53532;2880;2981;0;5261399 + 7443;53537;2880;2982;0;5314936 + 7444;53544;2880;2982;0;5314936 + 7445;53556;2880;2982;0;5314936 + 7446;53557;2880;2983;0;5368493 + 7447;53568;2880;2983;0;5368493 + 7448;53578;2880;2984;0;5422071 + 7449;53580;2880;2984;0;5422071 + 7450;53591;2880;2985;0;5475662 + 7451;53592;2880;2985;0;5475662 + 7452;53604;2880;2985;0;5475662 + 7453;53609;2880;2986;0;5529271 + 7454;53616;2880;2986;0;5529271 + 7455;53622;2880;2987;0;5582893 + 7456;53628;2880;2987;0;5582893 + 7457;53640;2880;2987;0;5582893 + 7458;53641;2880;2988;0;5636534 + 7459;53652;2880;2988;0;5636534 + 7460;53654;2880;2989;0;5690188 + 7461;53664;2880;2989;0;5690188 + 7462;53676;2880;2989;0;5690188 + 7463;53676;2880;2990;0;5743864 + 7464;53688;2880;2990;0;5743864 + 7465;53690;2880;2991;0;5797554 + 7466;53700;2880;2991;0;5797554 + 7467;53712;2880;2991;0;5797554 + 7468;53714;2880;2992;0;5851268 + 7469;53724;2880;2992;0;5851268 + 7470;53732;2880;2993;0;5905000 + 7471;53736;2880;2993;0;5905000 + 7472;53748;2880;2993;0;5905000 + 7473;53755;2880;2994;0;5958755 + 7474;53760;2880;2994;0;5958755 + 7475;53769;2880;2995;0;6012524 + 7476;53772;2880;2995;0;6012524 + 7477;53784;2880;2995;0;6012524 + 7478;53793;2880;2996;0;6066317 + 7479;53796;2880;2996;0;6066317 + 7480;53808;2880;2996;0;6066317 + 7481;53814;2890;2997;0;5602421 + 7482;53820;2890;2997;0;5602421 + 7483;53832;2890;2997;0;5602421 + 7484;53837;2890;2998;0;5656258 + 7485;53844;2890;2998;0;5656258 + 7486;53854;2890;2999;0;5710112 + 7487;53856;2890;2999;0;5710112 + 7488;53868;2890;2999;0;5710112 + 7489;53873;2890;3000;0;5763985 + 7490;53880;2890;3000;0;5763985 + 7491;53887;2890;3001;0;5817872 + 7492;53892;2890;3001;0;5817872 + 7493;53903;2890;3002;0;5871775 + 7494;53904;2890;3002;0;5871775 + 7495;53916;2890;3002;0;5871775 + 7496;53920;2890;3003;0;5925695 + 7497;53928;2890;3003;0;5925695 + 7498;53935;2890;3004;0;5979630 + 7499;53940;2890;3004;0;5979630 + 7500;53952;2890;3004;0;5979630 + 7501;53955;2890;3005;0;6033585 + 7502;53964;2890;3005;0;6033585 + 7503;53972;2890;3006;0;6087557 + 7504;53976;2890;3006;0;6087557 + 7505;53986;2890;3007;0;6141543 + 7506;53988;2890;3007;0;6141543 + 7507;53999;2890;3008;0;6195542 + 7508;54000;2890;3008;0;6195542 + 7509;54012;2890;3008;0;6195542 + 7510;54014;2890;3009;0;6249556 + 7511;54024;2890;3009;0;6249556 + 7512;54031;2890;3010;0;6303587 + 7513;54036;2890;3010;0;6303587 + 7514;54045;2890;3011;0;6357632 + 7515;54048;2890;3011;0;6357632 + 7516;54060;2890;3011;0;6357632 + 7517;54066;2890;3012;0;6411698 + 7518;54072;2890;3012;0;6411698 + 7519;54082;2890;3013;0;6465780 + 7520;54084;2890;3013;0;6465780 + 7521;54096;2890;3013;0;6465780 + 7522;54100;2890;3014;0;6519880 + 7523;54108;2890;3014;0;6519880 + 7524;54116;2890;3015;0;6573996 + 7525;54120;2890;3015;0;6573996 + 7526;54132;2890;3015;0;6573996 + 7527;54133;2890;3016;0;6628129 + 7528;54144;2890;3016;0;6628129 + 7529;54147;2890;3017;0;6682276 + 7530;54156;2890;3017;0;6682276 + 7531;54168;2890;3017;0;6682276 + 7532;54168;2890;3018;0;6736444 + 7533;54180;2890;3018;0;6736444 + 7534;54188;2890;3019;0;6790632 + 7535;54192;2890;3019;0;6790632 + 7536;54202;2890;3020;0;6844834 + 7537;54204;2890;3020;0;6844834 + 7538;54216;2890;3020;0;6844834 + 7539;54216;2890;3021;0;6899050 + 7540;54228;2900;3021;0;6379502 + 7541;54237;2910;3022;0;5912308 + 7542;54240;2910;3022;0;5912308 + 7543;54252;2920;3022;0;5388902 + 7544;54259;2920;3023;0;5443161 + 7545;54264;2920;3023;0;5443161 + 7546;54276;2920;3023;0;5443161 + 7547;54279;2920;3024;0;5497440 + 7548;54288;2920;3024;0;5497440 + 7549;54300;2920;3024;0;5497440 + 7550;54303;2920;3025;0;5551743 + 7551;54312;2920;3025;0;5551743 + 7552;54315;2920;3026;0;5606058 + 7553;54324;2920;3026;0;5606058 + 7554;54336;2920;3026;0;5606058 + 7555;54336;2920;3027;0;5660394 + 7556;54348;2920;3027;0;5660394 + 7557;54360;2920;3027;0;5660394 + 7558;54360;2920;3028;0;5714754 + 7559;54372;2920;3028;0;5714754 + 7560;54372;2920;3029;0;5769126 + 7561;54384;2920;3029;0;5769126 + 7562;54394;2920;3030;0;5823520 + 7563;54396;2920;3030;0;5823520 + 7564;54406;2920;3031;0;5877926 + 7565;54408;2920;3031;0;5877926 + 7566;54420;2920;3031;0;5877926 + 7567;54428;2920;3032;0;5932354 + 7568;54432;2920;3032;0;5932354 + 7569;54444;2920;3032;0;5932354 + 7570;54452;2930;3033;0;5461596 + 7571;54456;2930;3033;0;5461596 + 7572;54468;2930;3033;0;5461596 + 7573;54471;2940;3034;0;4989009 + 7574;54480;2940;3034;0;4989009 + 7575;54490;2940;3035;0;5043499 + 7576;54492;2940;3035;0;5043499 + 7577;54504;2940;3035;0;5043499 + 7578;54510;2940;3036;0;5098009 + 7579;54516;2940;3036;0;5098009 + 7580;54528;2940;3036;0;5098009 + 7581;54528;2940;3037;0;5152537 + 7582;54540;2940;3037;0;5152537 + 7583;54540;2940;3038;0;5207077 + 7584;54552;2940;3038;0;5207077 + 7585;54555;2940;3039;0;5261632 + 7586;54564;2940;3039;0;5261632 + 7587;54572;2940;3040;0;5316204 + 7588;54576;2940;3040;0;5316204 + 7589;54588;2940;3040;0;5316204 + 7590;54591;2940;3041;0;5370795 + 7591;54600;2940;3041;0;5370795 + 7592;54607;2940;3042;0;5425402 + 7593;54612;2940;3042;0;5425402 + 7594;54624;2940;3042;0;5425402 + 7595;54629;2940;3043;0;5480031 + 7596;54636;2940;3043;0;5480031 + 7597;54648;2950;3043;0;4951042 + 7598;54649;2950;3044;0;5005691 + 7599;54660;2950;3044;0;5005691 + 7600;54671;2950;3045;0;5060362 + 7601;54672;2950;3045;0;5060362 + 7602;54684;2950;3045;0;5060362 + 7603;54684;2950;3046;0;5115046 + 7604;54696;2950;3046;0;5115046 + 7605;54705;2950;3047;0;5169751 + 7606;54708;2950;3047;0;5169751 + 7607;54720;2950;3047;0;5169751 + 7608;54726;2950;3048;0;5224477 + 7609;54732;2950;3048;0;5224477 + 7610;54743;2950;3049;0;5279220 + 7611;54744;2950;3049;0;5279220 + 7612;54756;2950;3049;0;5279220 + 7613;54764;2950;3050;0;5333984 + 7614;54768;2950;3050;0;5333984 + 7615;54780;2950;3050;0;5333984 + 7616;54785;2950;3051;0;5388769 + 7617;54792;2950;3051;0;5388769 + 7618;54804;2950;3051;0;5388769 + 7619;54809;2950;3052;0;5443578 + 7620;54816;2950;3052;0;5443578 + 7621;54828;2950;3052;0;5443578 + 7622;54833;2950;3053;0;5498411 + 7623;54840;2950;3053;0;5498411 + 7624;54851;2950;3054;0;5553262 + 7625;54852;2950;3054;0;5553262 + 7626;54864;2950;3054;0;5553262 + 7627;54868;2950;3055;0;5608130 + 7628;54876;2950;3055;0;5608130 + 7629;54887;2950;3056;0;5663017 + 7630;54888;2950;3056;0;5663017 + 7631;54900;2950;3056;0;5663017 + 7632;54906;2950;3057;0;5717923 + 7633;54912;2950;3057;0;5717923 + 7634;54924;2950;3057;0;5717923 + 7635;54929;2950;3058;0;5772852 + 7636;54936;2950;3058;0;5772852 + 7637;54946;2950;3059;0;5827798 + 7638;54948;2950;3059;0;5827798 + 7639;54960;2950;3059;0;5827798 + 7640;54970;2950;3060;0;5882768 + 7641;54972;2950;3060;0;5882768 + 7642;54984;2950;3060;0;5882768 + 7643;54988;2950;3061;0;5937756 + 7644;54996;2950;3061;0;5937756 + 7645;55005;2950;3062;0;5992761 + 7646;55008;2950;3062;0;5992761 + 7647;55020;2950;3062;0;5992761 + 7648;55027;2950;3063;0;6047788 + 7649;55032;2950;3063;0;6047788 + 7650;55044;2950;3063;0;6047788 + 7651;55049;2950;3064;0;6102837 + 7652;55056;2950;3064;0;6102837 + 7653;55063;2950;3065;0;6157900 + 7654;55068;2950;3065;0;6157900 + 7655;55080;2950;3065;0;6157900 + 7656;55085;2950;3066;0;6212985 + 7657;55092;2950;3066;0;6212985 + 7658;55098;2950;3067;0;6268083 + 7659;55104;2950;3067;0;6268083 + 7660;55116;2950;3067;0;6268083 + 7661;55118;2950;3068;0;6323201 + 7662;55128;2950;3068;0;6323201 + 7663;55137;2950;3069;0;6378338 + 7664;55140;2950;3069;0;6378338 + 7665;55152;2950;3069;0;6378338 + 7666;55156;2950;3070;0;6433494 + 7667;55164;2950;3070;0;6433494 + 7668;55176;2950;3070;0;6433494 + 7669;55176;2950;3071;0;6488670 + 7670;55188;2950;3071;0;6488670 + 7671;55189;2950;3072;0;6543859 + 7672;55200;2950;3072;0;6543859 + 7673;55212;2950;3072;0;6543859 + 7674;55213;2950;3073;0;6599072 + 7675;55224;2950;3073;0;6599072 + 7676;55227;2950;3074;0;6654299 + 7677;55236;2950;3074;0;6654299 + 7678;55246;2950;3075;0;6709545 + 7679;55248;2950;3075;0;6709545 + 7680;55260;2950;3075;0;6709545 + 7681;55265;2950;3076;0;6764810 + 7682;55272;2950;3076;0;6764810 + 7683;55278;2950;3077;0;6820088 + 7684;55284;2950;3077;0;6820088 + 7685;55292;2960;3078;0;6344516 + 7686;55296;2960;3078;0;6344516 + 7687;55304;2970;3079;0;5867136 + 7688;55308;2970;3079;0;5867136 + 7689;55320;2970;3079;0;5867136 + 7690;55323;2970;3080;0;5922459 + 7691;55332;2970;3080;0;5922459 + 7692;55336;2970;3081;0;5977795 + 7693;55344;2970;3081;0;5977795 + 7694;55356;2970;3081;0;5977795 + 7695;55360;2970;3082;0;6033155 + 7696;55368;2970;3082;0;6033155 + 7697;55377;2970;3083;0;6088532 + 7698;55380;2970;3083;0;6088532 + 7699;55392;2970;3083;0;6088532 + 7700;55396;2970;3084;0;6143928 + 7701;55404;2970;3084;0;6143928 + 7702;55414;2970;3085;0;6199342 + 7703;55416;2970;3085;0;6199342 + 7704;55428;2970;3085;0;6199342 + 7705;55429;2970;3086;0;6254771 + 7706;55440;2970;3086;0;6254771 + 7707;55443;2970;3087;0;6310214 + 7708;55452;2970;3087;0;6310214 + 7709;55464;2970;3087;0;6310214 + 7710;55466;2970;3088;0;6365680 + 7711;55476;2970;3088;0;6365680 + 7712;55485;2970;3089;0;6421165 + 7713;55488;2970;3089;0;6421165 + 7714;55498;2970;3090;0;6476663 + 7715;55500;2970;3090;0;6476663 + 7716;55512;2970;3090;0;6476663 + 7717;55512;2970;3091;0;6532175 + 7718;55524;2970;3091;0;6532175 + 7719;55535;2970;3092;0;6587710 + 7720;55536;2970;3092;0;6587710 + 7721;55548;2970;3092;0;6587710 + 7722;55555;2970;3093;0;6643265 + 7723;55560;2970;3093;0;6643265 + 7724;55572;2970;3093;0;6643265 + 7725;55574;2970;3094;0;6698839 + 7726;55584;2970;3094;0;6698839 + 7727;55593;2970;3095;0;6754432 + 7728;55596;2970;3095;0;6754432 + 7729;55605;2970;3096;0;6810037 + 7730;55608;2970;3096;0;6810037 + 7731;55620;2970;3096;0;6810037 + 7732;55629;2970;3097;0;6865666 + 7733;55632;2970;3097;0;6865666 + 7734;55644;2970;3097;0;6865666 + 7735;55652;2970;3098;0;6921318 + 7736;55656;2970;3098;0;6921318 + 7737;55665;2970;3099;0;6976983 + 7738;55668;2970;3099;0;6976983 + 7739;55680;2970;3099;0;6976983 + 7740;55689;2990;3100;0;5962018 + 7741;55692;2990;3100;0;5962018 + 7742;55702;3000;3101;0;5479692 + 7743;55704;3000;3101;0;5479692 + 7744;55716;3000;3101;0;5479692 + 7745;55716;3000;3102;0;5535408 + 7746;55728;3000;3102;0;5535408 + 7747;55728;3000;3103;0;5591136 + 7748;55740;3000;3103;0;5591136 + 7749;55747;3000;3104;0;5646883 + 7750;55752;3000;3104;0;5646883 + 7751;55763;3000;3105;0;5702646 + 7752;55764;3000;3105;0;5702646 + 7753;55776;3000;3105;0;5702646 + 7754;55783;3000;3106;0;5758429 + 7755;55788;3000;3106;0;5758429 + 7756;55800;3000;3106;0;5758429 + 7757;55803;3000;3107;0;5814232 + 7758;55812;3000;3107;0;5814232 + 7759;55817;3000;3108;0;5870049 + 7760;55824;3000;3108;0;5870049 + 7761;55836;3000;3108;0;5870049 + 7762;55840;3000;3109;0;5925889 + 7763;55848;3000;3109;0;5925889 + 7764;55857;3000;3110;0;5981746 + 7765;55860;3000;3110;0;5981746 + 7766;55870;3000;3111;0;6037616 + 7767;55872;3000;3111;0;6037616 + 7768;55884;3000;3111;0;6037616 + 7769;55893;3000;3112;0;6093509 + 7770;55896;3000;3112;0;6093509 + 7771;55908;3000;3112;0;6093509 + 7772;55915;3000;3113;0;6149424 + 7773;55920;3000;3113;0;6149424 + 7774;55927;3000;3114;0;6205351 + 7775;55932;3000;3114;0;6205351 + 7776;55944;3000;3114;0;6205351 + 7777;55948;3000;3115;0;6261299 + 7778;55956;3000;3115;0;6261299 + 7779;55961;3000;3116;0;6317260 + 7780;55968;3000;3116;0;6317260 + 7781;55980;3000;3116;0;6317260 + 7782;55985;3000;3117;0;6373245 + 7783;55992;3000;3117;0;6373245 + 7784;56004;3000;3117;0;6373245 + 7785;56005;3000;3118;0;6429250 + 7786;56016;3000;3118;0;6429250 + 7787;56028;3000;3118;0;6429250 + 7788;56029;3000;3119;0;6485279 + 7789;56040;3000;3119;0;6485279 + 7790;56044;3000;3120;0;6541323 + 7791;56052;3000;3120;0;6541323 + 7792;56060;3000;3121;0;6597383 + 7793;56064;3000;3121;0;6597383 + 7794;56072;3000;3122;0;6653455 + 7795;56076;3000;3122;0;6653455 + 7796;56088;3000;3122;0;6653455 + 7797;56092;3000;3123;0;6709547 + 7798;56100;3000;3123;0;6709547 + 7799;56112;3000;3123;0;6709547 + 7800;56116;3000;3124;0;6765663 + 7801;56124;3000;3124;0;6765663 + 7802;56136;3000;3124;0;6765663 + 7803;56140;3000;3125;0;6821803 + 7804;56148;3000;3125;0;6821803 + 7805;56158;3000;3126;0;6877961 + 7806;56160;3000;3126;0;6877961 + 7807;56172;3000;3126;0;6877961 + 7808;56177;3000;3127;0;6934138 + 7809;56184;3000;3127;0;6934138 + 7810;56191;3000;3128;0;6990329 + 7811;56196;3000;3128;0;6990329 + 7812;56207;3000;3129;0;7046536 + 7813;56208;3000;3129;0;7046536 + 7814;56220;3000;3129;0;7046536 + 7815;56220;3010;3130;0;6562996 + 7816;56232;3020;3130;0;6021578 + 7817;56235;3020;3131;0;6077813 + 7818;56244;3020;3131;0;6077813 + 7819;56248;3020;3132;0;6134061 + 7820;56256;3020;3132;0;6134061 + 7821;56261;3020;3133;0;6190322 + 7822;56268;3020;3133;0;6190322 + 7823;56280;3020;3133;0;6190322 + 7824;56281;3020;3134;0;6246603 + 7825;56292;3020;3134;0;6246603 + 7826;56302;3020;3135;0;6302905 + 7827;56304;3020;3135;0;6302905 + 7828;56316;3020;3135;0;6302905 + 7829;56323;3020;3136;0;6359228 + 7830;56328;3020;3136;0;6359228 + 7831;56340;3020;3136;0;6359228 + 7832;56345;3020;3137;0;6415573 + 7833;56352;3020;3137;0;6415573 + 7834;56364;3020;3137;0;6415573 + 7835;56369;3020;3138;0;6471942 + 7836;56376;3020;3138;0;6471942 + 7837;56384;3020;3139;0;6528326 + 7838;56388;3020;3139;0;6528326 + 7839;56398;3020;3140;0;6584724 + 7840;56400;3020;3140;0;6584724 + 7841;56412;3020;3140;0;6584724 + 7842;56416;3020;3141;0;6641140 + 7843;56424;3020;3141;0;6641140 + 7844;56429;3020;3142;0;6697569 + 7845;56436;3020;3142;0;6697569 + 7846;56448;3020;3142;0;6697569 + 7847;56449;3020;3143;0;6754018 + 7848;56460;3020;3143;0;6754018 + 7849;56461;3020;3144;0;6810479 + 7850;56472;3020;3144;0;6810479 + 7851;56477;3030;3145;0;6323695 + 7852;56484;3040;3145;0;5778558 + 7853;56496;3040;3145;0;5778558 + 7854;56501;3040;3146;0;5835059 + 7855;56508;3040;3146;0;5835059 + 7856;56516;3040;3147;0;5891575 + 7857;56520;3040;3147;0;5891575 + 7858;56532;3040;3147;0;5891575 + 7859;56538;3040;3148;0;5948113 + 7860;56544;3040;3148;0;5948113 + 7861;56552;3040;3149;0;6004665 + 7862;56556;3040;3149;0;6004665 + 7863;56567;3040;3150;0;6061232 + 7864;56568;3040;3150;0;6061232 + 7865;56580;3040;3150;0;6061232 + 7866;56582;3040;3151;0;6117814 + 7867;56592;3040;3151;0;6117814 + 7868;56604;3040;3151;0;6117814 + 7869;56604;3040;3152;0;6174418 + 7870;56616;3040;3152;0;6174418 + 7871;56625;3040;3153;0;6231043 + 7872;56628;3040;3153;0;6231043 + 7873;56640;3040;3153;0;6231043 + 7874;56645;3040;3154;0;6287688 + 7875;56652;3040;3154;0;6287688 + 7876;56664;3040;3154;0;6287688 + 7877;56668;3040;3155;0;6344356 + 7878;56676;3040;3155;0;6344356 + 7879;56688;3040;3155;0;6344356 + 7880;56689;3050;3156;0;5854082 + 7881;56700;3050;3156;0;5854082 + 7882;56711;3050;3157;0;5910793 + 7883;56712;3050;3157;0;5910793 + 7884;56724;3050;3157;0;5910793 + 7885;56727;3050;3158;0;5967520 + 7886;56736;3050;3158;0;5967520 + 7887;56745;3050;3159;0;6024265 + 7888;56748;3050;3159;0;6024265 + 7889;56760;3050;3159;0;6024265 + 7890;56763;3050;3160;0;6081028 + 7891;56772;3050;3160;0;6081028 + 7892;56784;3050;3160;0;6081028 + 7893;56785;3050;3161;0;6137813 + 7894;56796;3050;3161;0;6137813 + 7895;56800;3050;3162;0;6194613 + 7896;56808;3050;3162;0;6194613 + 7897;56813;3060;3163;0;5702439 + 7898;56820;3060;3163;0;5702439 + 7899;56832;3060;3163;0;5702439 + 7900;56832;3060;3164;0;5759271 + 7901;56844;3060;3164;0;5759271 + 7902;56854;3060;3165;0;5816125 + 7903;56856;3060;3165;0;5816125 + 7904;56866;3070;3166;0;5322077 + 7905;56868;3070;3166;0;5322077 + 7906;56880;3070;3166;0;5322077 + 7907;56889;3070;3167;0;5378966 + 7908;56892;3070;3167;0;5378966 + 7909;56903;3070;3168;0;5435869 + 7910;56904;3070;3168;0;5435869 + 7911;56916;3070;3168;0;5435869 + 7912;56926;3070;3169;0;5492795 + 7913;56928;3070;3169;0;5492795 + 7914;56940;3070;3169;0;5492795 + 7915;56946;3070;3170;0;5549741 + 7916;56952;3070;3170;0;5549741 + 7917;56961;3070;3171;0;5606702 + 7918;56964;3070;3171;0;5606702 + 7919;56976;3070;3171;0;5606702 + 7920;56984;3070;3172;0;5663686 + 7921;56988;3070;3172;0;5663686 + 7922;57000;3070;3172;0;5663686 + 7923;57003;3070;3173;0;5720689 + 7924;57012;3070;3173;0;5720689 + 7925;57020;3070;3174;0;5777709 + 7926;57024;3070;3174;0;5777709 + 7927;57036;3070;3174;0;5777709 + 7928;57041;3070;3175;0;5834750 + 7929;57048;3070;3175;0;5834750 + 7930;57053;3070;3176;0;5891803 + 7931;57060;3070;3176;0;5891803 + 7932;57072;3070;3176;0;5891803 + 7933;57074;3070;3177;0;5948877 + 7934;57084;3070;3177;0;5948877 + 7935;57090;3070;3178;0;6005967 + 7936;57096;3070;3178;0;6005967 + 7937;57108;3070;3178;0;6005967 + 7938;57113;3070;3179;0;6063080 + 7939;57120;3070;3179;0;6063080 + 7940;57126;3070;3180;0;6120206 + 7941;57132;3070;3180;0;6120206 + 7942;57141;3070;3181;0;6177347 + 7943;57144;3070;3181;0;6177347 + 7944;57156;3070;3181;0;6177347 + 7945;57162;3080;3182;0;5681836 + 7946;57168;3080;3182;0;5681836 + 7947;57176;3080;3183;0;5739012 + 7948;57180;3080;3183;0;5739012 + 7949;57192;3080;3183;0;5739012 + 7950;57197;3080;3184;0;5796209 + 7951;57204;3080;3184;0;5796209 + 7952;57215;3080;3185;0;5853424 + 7953;57216;3080;3185;0;5853424 + 7954;57228;3080;3185;0;5853424 + 7955;57232;3080;3186;0;5910656 + 7956;57240;3080;3186;0;5910656 + 7957;57252;3080;3186;0;5910656 + 7958;57252;3080;3187;0;5967908 + 7959;57264;3080;3187;0;5967908 + 7960;57273;3090;3188;0;5470801 + 7961;57276;3090;3188;0;5470801 + 7962;57286;3090;3189;0;5528087 + 7963;57288;3090;3189;0;5528087 + 7964;57300;3090;3189;0;5528087 + 7965;57309;3090;3190;0;5585396 + 7966;57312;3090;3190;0;5585396 + 7967;57324;3090;3190;0;5585396 + 7968;57329;3090;3191;0;5642725 + 7969;57336;3090;3191;0;5642725 + 7970;57341;3090;3192;0;5700066 + 7971;57348;3090;3192;0;5700066 + 7972;57360;3090;3192;0;5700066 + 7973;57361;3090;3193;0;5757427 + 7974;57372;3090;3193;0;5757427 + 7975;57384;3090;3193;0;5757427 + 7976;57384;3090;3194;0;5814811 + 7977;57396;3090;3194;0;5814811 + 7978;57408;3090;3194;0;5814811 + 7979;57408;3090;3195;0;5872219 + 7980;57420;3090;3195;0;5872219 + 7981;57427;3090;3196;0;5929646 + 7982;57432;3090;3196;0;5929646 + 7983;57441;3090;3197;0;5987087 + 7984;57444;3090;3197;0;5987087 + 7985;57456;3090;3197;0;5987087 + 7986;57459;3100;3198;0;5488347 + 7987;57468;3100;3198;0;5488347 + 7988;57472;3110;3199;0;4987895 + 7989;57480;3110;3199;0;4987895 + 7990;57492;3110;3199;0;4987895 + 7991;57493;3110;3200;0;5045388 + 7992;57504;3110;3200;0;5045388 + 7993;57516;3110;3200;0;5045388 + 7994;57516;3110;3201;0;5102904 + 7995;57528;3110;3201;0;5102904 + 7996;57533;3110;3202;0;5160437 + 7997;57540;3110;3202;0;5160437 + 7998;57552;3110;3202;0;5160437 + 7999;57555;3110;3203;0;5217992 + 8000;57564;3110;3203;0;5217992 + 8001;57573;3110;3204;0;5275565 + 8002;57576;3110;3204;0;5275565 + 8003;57585;3110;3205;0;5333150 + 8004;57588;3110;3205;0;5333150 + 8005;57600;3110;3205;0;5333150 + 8006;57602;3110;3206;0;5390752 + 8007;57612;3110;3206;0;5390752 + 8008;57620;3110;3207;0;5448372 + 8009;57624;3110;3207;0;5448372 + 8010;57633;3110;3208;0;5506005 + 8011;57636;3110;3208;0;5506005 + 8012;57648;3110;3208;0;5506005 + 8013;57657;3110;3209;0;5563662 + 8014;57660;3110;3209;0;5563662 + 8015;57672;3110;3209;0;5563662 + 8016;57677;3110;3210;0;5621339 + 8017;57684;3110;3210;0;5621339 + 8018;57696;3110;3210;0;5621339 + 8019;57700;3110;3211;0;5679039 + 8020;57708;3110;3211;0;5679039 + 8021;57718;3110;3212;0;5736757 + 8022;57720;3110;3212;0;5736757 + 8023;57731;3110;3213;0;5794488 + 8024;57732;3110;3213;0;5794488 + 8025;57743;3110;3214;0;5852231 + 8026;57744;3110;3214;0;5852231 + 8027;57756;3110;3214;0;5852231 + 8028;57756;3110;3215;0;5909987 + 8029;57768;3110;3215;0;5909987 + 8030;57768;3110;3216;0;5967755 + 8031;57780;3110;3216;0;5967755 + 8032;57782;3110;3217;0;6025537 + 8033;57792;3110;3217;0;6025537 + 8034;57803;3110;3218;0;6083340 + 8035;57804;3110;3218;0;6083340 + 8036;57816;3110;3218;0;6083340 + 8037;57820;3110;3219;0;6141160 + 8038;57828;3110;3219;0;6141160 + 8039;57840;3110;3219;0;6141160 + 8040;57840;3110;3220;0;6199000 + 8041;57852;3110;3220;0;6199000 + 8042;57859;3110;3221;0;6256859 + 8043;57864;3110;3221;0;6256859 + 8044;57876;3110;3221;0;6256859 + 8045;57877;3110;3222;0;6314736 + 8046;57888;3110;3222;0;6314736 + 8047;57894;3110;3223;0;6372630 + 8048;57900;3110;3223;0;6372630 + 8049;57912;3110;3223;0;6372630 + 8050;57918;3110;3224;0;6430548 + 8051;57924;3110;3224;0;6430548 + 8052;57934;3110;3225;0;6488482 + 8053;57936;3110;3225;0;6488482 + 8054;57948;3110;3225;0;6488482 + 8055;57955;3110;3226;0;6546437 + 8056;57960;3110;3226;0;6546437 + 8057;57972;3110;3226;0;6546437 + 8058;57975;3110;3227;0;6604412 + 8059;57984;3110;3227;0;6604412 + 8060;57991;3120;3228;0;6102636 + 8061;57996;3120;3228;0;6102636 + 8062;58008;3120;3228;0;6102636 + 8063;58009;3120;3229;0;6160645 + 8064;58020;3120;3229;0;6160645 + 8065;58021;3120;3230;0;6218666 + 8066;58032;3120;3230;0;6218666 + 8067;58040;3120;3231;0;6276706 + 8068;58044;3120;3231;0;6276706 + 8069;58056;3120;3231;0;6276706 + 8070;58057;3120;3232;0;6334763 + 8071;58068;3120;3232;0;6334763 + 8072;58079;3120;3233;0;6392842 + 8073;58080;3120;3233;0;6392842 + 8074;58092;3120;3233;0;6392842 + 8075;58102;3120;3234;0;6450944 + 8076;58104;3120;3234;0;6450944 + 8077;58116;3120;3234;0;6450944 + 8078;58125;3120;3235;0;6509069 + 8079;58128;3120;3235;0;6509069 + 8080;58140;3120;3235;0;6509069 + 8081;58147;3120;3236;0;6567216 + 8082;58152;3120;3236;0;6567216 + 8083;58164;3120;3236;0;6567216 + 8084;58168;3120;3237;0;6625384 + 8085;58176;3120;3237;0;6625384 + 8086;58182;3120;3238;0;6683566 + 8087;58188;3120;3238;0;6683566 + 8088;58200;3120;3238;0;6683566 + 8089;58204;3120;3239;0;6741770 + 8090;58212;3120;3239;0;6741770 + 8091;58220;3120;3240;0;6799990 + 8092;58224;3120;3240;0;6799990 + 8093;58236;3130;3240;0;6238382 + 8094;58236;3130;3241;0;6296618 + 8095;58248;3130;3241;0;6296618 + 8096;58249;3130;3242;0;6354867 + 8097;58260;3130;3242;0;6354867 + 8098;58262;3130;3243;0;6413129 + 8099;58272;3130;3243;0;6413129 + 8100;58281;3130;3244;0;6471410 + 8101;58284;3130;3244;0;6471410 + 8102;58294;3140;3245;0;5966377 + 8103;58296;3140;3245;0;5966377 + 8104;58306;3140;3246;0;6024683 + 8105;58308;3140;3246;0;6024683 + 8106;58320;3140;3246;0;6024683 + 8107;58329;3140;3247;0;6083012 + 8108;58332;3140;3247;0;6083012 + 8109;58343;3140;3248;0;6141355 + 8110;58344;3140;3248;0;6141355 + 8111;58356;3140;3248;0;6141355 + 8112;58358;3140;3249;0;6199713 + 8113;58368;3140;3249;0;6199713 + 8114;58375;3140;3250;0;6258088 + 8115;58380;3140;3250;0;6258088 + 8116;58392;3140;3250;0;6258088 + 8117;58393;3140;3251;0;6316481 + 8118;58404;3140;3251;0;6316481 + 8119;58408;3140;3252;0;6374889 + 8120;58416;3140;3252;0;6374889 + 8121;58428;3140;3252;0;6374889 + 8122;58430;3140;3253;0;6433319 + 8123;58440;3140;3253;0;6433319 + 8124;58452;3140;3253;0;6433319 + 8125;58453;3140;3254;0;6491772 + 8126;58464;3140;3254;0;6491772 + 8127;58469;3140;3255;0;6550241 + 8128;58476;3140;3255;0;6550241 + 8129;58487;3140;3256;0;6608728 + 8130;58488;3140;3256;0;6608728 + 8131;58500;3140;3256;0;6608728 + 8132;58511;3140;3257;0;6667239 + 8133;58512;3140;3257;0;6667239 + 8134;58523;3140;3258;0;6725762 + 8135;58524;3140;3258;0;6725762 + 8136;58536;3140;3258;0;6725762 + 8137;58545;3140;3259;0;6784307 + 8138;58548;3140;3259;0;6784307 + 8139;58559;3140;3260;0;6842866 + 8140;58560;3140;3260;0;6842866 + 8141;58572;3140;3260;0;6842866 + 8142;58572;3140;3261;0;6901438 + 8143;58584;3140;3261;0;6901438 + 8144;58585;3150;3262;0;6394951 + 8145;58596;3160;3262;0;5827989 + 8146;58606;3160;3263;0;5886595 + 8147;58608;3160;3263;0;5886595 + 8148;58620;3160;3263;0;5886595 + 8149;58625;3160;3264;0;5945220 + 8150;58632;3160;3264;0;5945220 + 8151;58644;3160;3264;0;5945220 + 8152;58649;3160;3265;0;6003869 + 8153;58656;3160;3265;0;6003869 + 8154;58662;3160;3266;0;6062531 + 8155;58668;3160;3266;0;6062531 + 8156;58680;3160;3266;0;6062531 + 8157;58681;3160;3267;0;6121212 + 8158;58692;3160;3267;0;6121212 + 8159;58697;3160;3268;0;6179909 + 8160;58704;3160;3268;0;6179909 + 8161;58709;3160;3269;0;6238618 + 8162;58716;3160;3269;0;6238618 + 8163;58724;3160;3270;0;6297342 + 8164;58728;3160;3270;0;6297342 + 8165;58740;3160;3270;0;6297342 + 8166;58748;3160;3271;0;6356090 + 8167;58752;3160;3271;0;6356090 + 8168;58761;3160;3272;0;6414851 + 8169;58764;3160;3272;0;6414851 + 8170;58776;3160;3272;0;6414851 + 8171;58782;3160;3273;0;6473633 + 8172;58788;3160;3273;0;6473633 + 8173;58800;3160;3273;0;6473633 + 8174;58801;3160;3274;0;6532434 + 8175;58812;3160;3274;0;6532434 + 8176;58816;3160;3275;0;6591250 + 8177;58824;3160;3275;0;6591250 + 8178;58830;3160;3276;0;6650080 + 8179;58836;3160;3276;0;6650080 + 8180;58847;3160;3277;0;6708927 + 8181;58848;3160;3277;0;6708927 + 8182;58860;3160;3277;0;6708927 + 8183;58868;3160;3278;0;6767795 + 8184;58872;3160;3278;0;6767795 + 8185;58884;3160;3278;0;6767795 + 8186;58886;3160;3279;0;6826681 + 8187;58896;3160;3279;0;6826681 + 8188;58906;3160;3280;0;6885587 + 8189;58908;3160;3280;0;6885587 + 8190;58920;3160;3280;0;6885587 + 8191;58920;3160;3281;0;6944507 + 8192;58932;3160;3281;0;6944507 + 8193;58944;3160;3281;0;6944507 + 8194;58944;3160;3282;0;7003451 + 8195;58956;3160;3282;0;7003451 + 8196;58966;3160;3283;0;7062417 + 8197;58968;3160;3283;0;7062417 + 8198;58980;3160;3283;0;7062417 + 8199;58980;3160;3284;0;7121397 + 8200;58992;3160;3284;0;7121397 + 8201;58999;3160;3285;0;7180396 + 8202;59004;3160;3285;0;7180396 + 8203;59016;3160;3285;0;7180396 + 8204;59017;3160;3286;0;7239413 + 8205;59028;3160;3286;0;7239413 + 8206;59038;3160;3287;0;7298451 + 8207;59040;3160;3287;0;7298451 + 8208;59052;3160;3287;0;7298451 + 8209;59053;3160;3288;0;7357504 + 8210;59064;3160;3288;0;7357504 + 8211;59076;3160;3288;0;7357504 + 8212;59077;3160;3289;0;7416581 + 8213;59088;3160;3289;0;7416581 + 8214;59092;3160;3290;0;7475673 + 8215;59100;3160;3290;0;7475673 + 8216;59109;3160;3291;0;7534782 + 8217;59112;3160;3291;0;7534782 + 8218;59124;3160;3291;0;7534782 + 8219;59129;3160;3292;0;7593911 + 8220;59136;3160;3292;0;7593911 + 8221;59142;3160;3293;0;7653053 + 8222;59148;3160;3293;0;7653053 + 8223;59160;3160;3293;0;7653053 + 8224;59163;3170;3294;0;7143426 + 8225;59172;3170;3294;0;7143426 + 8226;59184;3170;3294;0;7143426 + 8227;59185;3170;3295;0;7202611 + 8228;59196;3170;3295;0;7202611 + 8229;59198;3170;3296;0;7261809 + 8230;59208;3170;3296;0;7261809 + 8231;59215;3170;3297;0;7321024 + 8232;59220;3170;3297;0;7321024 + 8233;59232;3170;3297;0;7321024 + 8234;59238;3170;3298;0;7380262 + 8235;59244;3170;3298;0;7380262 + 8236;59256;3170;3298;0;7380262 + 8237;59256;3170;3299;0;7439518 + 8238;59268;3170;3299;0;7439518 + 8239;59276;3170;3300;0;7498794 + 8240;59280;3170;3300;0;7498794 + 8241;59292;3170;3300;0;7498794 + 8242;59298;3170;3301;0;7558092 + 8243;59304;3170;3301;0;7558092 + 8244;59316;3170;3301;0;7558092 + 8245;59317;3170;3302;0;7617409 + 8246;59328;3170;3302;0;7617409 + 8247;59339;3170;3303;0;7676748 + 8248;59340;3170;3303;0;7676748 + 8249;59352;3170;3303;0;7676748 + 8250;59352;3170;3304;0;7736100 + 8251;59364;3170;3304;0;7736100 + 8252;59375;3170;3305;0;7795475 + 8253;59376;3170;3305;0;7795475 + 8254;59388;3170;3305;0;7795475 + 8255;59398;3190;3306;0;6711797 + 8256;59400;3190;3306;0;6711797 + 8257;59412;3190;3306;0;6711797 + 8258;59420;3200;3307;0;6196915 + 8259;59424;3200;3307;0;6196915 + 8260;59436;3210;3307;0;5620780 + 8261;59441;3210;3308;0;5680221 + 8262;59448;3210;3308;0;5680221 + 8263;59457;3210;3309;0;5739678 + 8264;59460;3210;3309;0;5739678 + 8265;59472;3210;3309;0;5739678 + 8266;59479;3210;3310;0;5799157 + 8267;59484;3210;3310;0;5799157 + 8268;59496;3210;3310;0;5799157 + 8269;59498;3210;3311;0;5858655 + 8270;59508;3210;3311;0;5858655 + 8271;59510;3210;3312;0;5918165 + 8272;59520;3210;3312;0;5918165 + 8273;59524;3210;3313;0;5977689 + 8274;59532;3210;3313;0;5977689 + 8275;59544;3210;3313;0;5977689 + 8276;59546;3210;3314;0;6037235 + 8277;59556;3210;3314;0;6037235 + 8278;59564;3210;3315;0;6096799 + 8279;59568;3210;3315;0;6096799 + 8280;59580;3210;3315;0;6096799 + 8281;59584;3210;3316;0;6156383 + 8282;59592;3210;3316;0;6156383 + 8283;59604;3210;3316;0;6156383 + 8284;59605;3210;3317;0;6215988 + 8285;59616;3210;3317;0;6215988 + 8286;59627;3210;3318;0;6275615 + 8287;59628;3210;3318;0;6275615 + 8288;59640;3210;3318;0;6275615 + 8289;59644;3210;3319;0;6335259 + 8290;59652;3210;3319;0;6335259 + 8291;59663;3210;3320;0;6394922 + 8292;59664;3210;3320;0;6394922 + 8293;59675;3210;3321;0;6454597 + 8294;59676;3210;3321;0;6454597 + 8295;59688;3210;3321;0;6454597 + 8296;59688;3210;3322;0;6514285 + 8297;59700;3210;3322;0;6514285 + 8298;59706;3210;3323;0;6573991 + 8299;59712;3210;3323;0;6573991 + 8300;59724;3210;3323;0;6573991 + 8301;59725;3210;3324;0;6633716 + 8302;59736;3210;3324;0;6633716 + 8303;59739;3210;3325;0;6693455 + 8304;59748;3210;3325;0;6693455 + 8305;59760;3210;3325;0;6693455 + 8306;59761;3210;3326;0;6753216 + 8307;59772;3210;3326;0;6753216 + 8308;59775;3210;3327;0;6812991 + 8309;59784;3210;3327;0;6812991 + 8310;59796;3210;3327;0;6812991 + 8311;59798;3210;3328;0;6872789 + 8312;59808;3210;3328;0;6872789 + 8313;59815;3210;3329;0;6932604 + 8314;59820;3210;3329;0;6932604 + 8315;59827;3210;3330;0;6992431 + 8316;59832;3210;3330;0;6992431 + 8317;59844;3210;3330;0;6992431 + 8318;59850;3210;3331;0;7052281 + 8319;59856;3210;3331;0;7052281 + 8320;59868;3210;3331;0;7052281 + 8321;59869;3210;3332;0;7112150 + 8322;59880;3210;3332;0;7112150 + 8323;59881;3210;3333;0;7172031 + 8324;59892;3210;3333;0;7172031 + 8325;59904;3210;3333;0;7172031 + 8326;59904;3210;3334;0;7231935 + 8327;59916;3210;3334;0;7231935 + 8328;59924;3210;3335;0;7291859 + 8329;59928;3210;3335;0;7291859 + 8330;59940;3210;3335;0;7291859 + 8331;59943;3210;3336;0;7351802 + 8332;59952;3210;3336;0;7351802 + 8333;59964;3210;3336;0;7351802 + 8334;59966;3210;3337;0;7411768 + 8335;59976;3210;3337;0;7411768 + 8336;59987;3210;3338;0;7471755 + 8337;59988;3210;3338;0;7471755 + 8338;60000;3210;3338;0;7471755 + 8339;60004;3210;3339;0;7531759 + 8340;60012;3210;3339;0;7531759 + 8341;60024;3210;3339;0;7531759 + 8342;60028;3210;3340;0;7591787 + 8343;60036;3210;3340;0;7591787 + 8344;60048;3210;3340;0;7591787 + 8345;60049;3210;3341;0;7651836 + 8346;60060;3210;3341;0;7651836 + 8347;60061;3210;3342;0;7711897 + 8348;60072;3210;3342;0;7711897 + 8349;60080;3210;3343;0;7771977 + 8350;60084;3210;3343;0;7771977 + 8351;60096;3210;3343;0;7771977 + 8352;60104;3240;3344;0;6093127 + 8353;60108;3240;3344;0;6093127 + 8354;60117;3250;3345;0;5570054 + 8355;60120;3250;3345;0;5570054 + 8356;60132;3250;3345;0;5570054 + 8357;60138;3250;3346;0;5630192 + 8358;60144;3250;3346;0;5630192 + 8359;60156;3250;3346;0;5630192 + 8360;60161;3250;3347;0;5690353 + 8361;60168;3250;3347;0;5690353 + 8362;60180;3250;3347;0;5690353 + 8363;60185;3250;3348;0;5750538 + 8364;60192;3250;3348;0;5750538 + 8365;60204;3250;3348;0;5750538 + 8366;60206;3250;3349;0;5810744 + 8367;60216;3250;3349;0;5810744 + 8368;60228;3250;3349;0;5810744 + 8369;60229;3250;3350;0;5870973 + 8370;60240;3250;3350;0;5870973 + 8371;60243;3250;3351;0;5931216 + 8372;60252;3250;3351;0;5931216 + 8373;60259;3250;3352;0;5991475 + 8374;60264;3250;3352;0;5991475 + 8375;60273;3250;3353;0;6051748 + 8376;60276;3250;3353;0;6051748 + 8377;60288;3250;3353;0;6051748 + 8378;60297;3250;3354;0;6112045 + 8379;60300;3250;3354;0;6112045 + 8380;60312;3250;3354;0;6112045 + 8381;60313;3250;3355;0;6172358 + 8382;60324;3250;3355;0;6172358 + 8383;60336;3250;3355;0;6172358 + 8384;60337;3250;3356;0;6232695 + 8385;60348;3250;3356;0;6232695 + 8386;60360;3250;3356;0;6232695 + 8387;60361;3250;3357;0;6293056 + 8388;60372;3250;3357;0;6293056 + 8389;60381;3250;3358;0;6353437 + 8390;60384;3250;3358;0;6353437 + 8391;60396;3250;3358;0;6353437 + 8392;60400;3250;3359;0;6413837 + 8393;60408;3250;3359;0;6413837 + 8394;60418;3250;3360;0;6474255 + 8395;60420;3250;3360;0;6474255 + 8396;60432;3250;3360;0;6474255 + 8397;60441;3250;3361;0;6534696 + 8398;60444;3250;3361;0;6534696 + 8399;60456;3250;3361;0;6534696 + 8400;60465;3250;3362;0;6595161 + 8401;60468;3250;3362;0;6595161 + 8402;60478;3250;3363;0;6655639 + 8403;60480;3250;3363;0;6655639 + 8404;60491;3250;3364;0;6716130 + 8405;60492;3250;3364;0;6716130 + 8406;60504;3250;3364;0;6716130 + 8407;60511;3250;3365;0;6776641 + 8408;60516;3250;3365;0;6776641 + 8409;60528;3250;3365;0;6776641 + 8410;60531;3250;3366;0;6837172 + 8411;60540;3250;3366;0;6837172 + 8412;60549;3250;3367;0;6897721 + 8413;60552;3250;3367;0;6897721 + 8414;60564;3250;3367;0;6897721 + 8415;60565;3250;3368;0;6958286 + 8416;60576;3250;3368;0;6958286 + 8417;60586;3250;3369;0;7018872 + 8418;60588;3250;3369;0;7018872 + 8419;60600;3270;3369;0;5847229 + 8420;60603;3280;3370;0;5319415 + 8421;60612;3280;3370;0;5319415 + 8422;60623;3280;3371;0;5380038 + 8423;60624;3280;3371;0;5380038 + 8424;60636;3280;3371;0;5380038 + 8425;60644;3280;3372;0;5440682 + 8426;60648;3280;3372;0;5440682 + 8427;60660;3280;3372;0;5440682 + 8428;60660;3280;3373;0;5501342 + 8429;60672;3280;3373;0;5501342 + 8430;60674;3280;3374;0;5562016 + 8431;60684;3280;3374;0;5562016 + 8432;60695;3280;3375;0;5622711 + 8433;60696;3280;3375;0;5622711 + 8434;60708;3280;3375;0;5622711 + 8435;60719;3280;3376;0;5683430 + 8436;60720;3280;3376;0;5683430 + 8437;60732;3280;3376;0;5683430 + 8438;60734;3280;3377;0;5744164 + 8439;60744;3280;3377;0;5744164 + 8440;60750;3280;3378;0;5804914 + 8441;60756;3280;3378;0;5804914 + 8442;60768;3280;3378;0;5804914 + 8443;60768;3280;3379;0;5865682 + 8444;60780;3280;3379;0;5865682 + 8445;60787;3280;3380;0;5926469 + 8446;60792;3280;3380;0;5926469 + 8447;60799;3280;3381;0;5987268 + 8448;60804;3280;3381;0;5987268 + 8449;60816;3280;3381;0;5987268 + 8450;60817;3280;3382;0;6048085 + 8451;60828;3280;3382;0;6048085 + 8452;60833;3280;3383;0;6108918 + 8453;60840;3280;3383;0;6108918 + 8454;60845;3280;3384;0;6169763 + 8455;60852;3280;3384;0;6169763 + 8456;60857;3280;3385;0;6230620 + 8457;60864;3280;3385;0;6230620 + 8458;60876;3280;3385;0;6230620 + 8459;60876;3280;3386;0;6291496 + 8460;60888;3280;3386;0;6291496 + 8461;60889;3280;3387;0;6352385 + 8462;60900;3280;3387;0;6352385 + 8463;60901;3280;3388;0;6413286 + 8464;60912;3280;3388;0;6413286 + 8465;60922;3280;3389;0;6474208 + 8466;60924;3280;3389;0;6474208 + 8467;60936;3280;3389;0;6474208 + 8468;60938;3280;3390;0;6535146 + 8469;60948;3280;3390;0;6535146 + 8470;60955;3280;3391;0;6596101 + 8471;60960;3280;3391;0;6596101 + 8472;60968;3280;3392;0;6657069 + 8473;60972;3280;3392;0;6657069 + 8474;60984;3280;3392;0;6657069 + 8475;60992;3290;3393;0;6127786 + 8476;60996;3300;3393;0;5535686 + 8477;61008;3300;3393;0;5535686 + 8478;61011;3300;3394;0;5596697 + 8479;61020;3300;3394;0;5596697 + 8480;61023;3300;3395;0;5657720 + 8481;61032;3300;3395;0;5657720 + 8482;61044;3300;3395;0;5657720 + 8483;61047;3300;3396;0;5718767 + 8484;61056;3300;3396;0;5718767 + 8485;61064;3300;3397;0;5779831 + 8486;61068;3300;3397;0;5779831 + 8487;61080;3310;3397;0;5185755 + 8488;61087;3310;3398;0;5246842 + 8489;61092;3310;3398;0;5246842 + 8490;61099;3310;3399;0;5307941 + 8491;61104;3310;3399;0;5307941 + 8492;61116;3310;3399;0;5307941 + 8493;61119;3310;3400;0;5369060 + 8494;61128;3310;3400;0;5369060 + 8495;61133;3310;3401;0;5430193 + 8496;61140;3310;3401;0;5430193 + 8497;61152;3310;3401;0;5430193 + 8498;61156;3310;3402;0;5491349 + 8499;61164;3310;3402;0;5491349 + 8500;61176;3310;3402;0;5491349 + 8501;61180;3310;3403;0;5552529 + 8502;61188;3310;3403;0;5552529 + 8503;61197;3310;3404;0;5613726 + 8504;61200;3310;3404;0;5613726 + 8505;61211;3310;3405;0;5674937 + 8506;61212;3310;3405;0;5674937 + 8507;61224;3310;3405;0;5674937 + 8508;61231;3310;3406;0;5736168 + 8509;61236;3310;3406;0;5736168 + 8510;61248;3310;3406;0;5736168 + 8511;61249;3310;3407;0;5797417 + 8512;61260;3310;3407;0;5797417 + 8513;61266;3310;3408;0;5858683 + 8514;61272;3310;3408;0;5858683 + 8515;61284;3310;3408;0;5858683 + 8516;61290;3310;3409;0;5919973 + 8517;61296;3310;3409;0;5919973 + 8518;61302;3310;3410;0;5981275 + 8519;61308;3310;3410;0;5981275 + 8520;61320;3310;3410;0;5981275 + 8521;61322;3310;3411;0;6042597 + 8522;61332;3310;3411;0;6042597 + 8523;61344;3310;3411;0;6042597 + 8524;61344;3310;3412;0;6103941 + 8525;61356;3310;3412;0;6103941 + 8526;61359;3310;3413;0;6165300 + 8527;61368;3310;3413;0;6165300 + 8528;61372;3310;3414;0;6226672 + 8529;61380;3310;3414;0;6226672 + 8530;61386;3310;3415;0;6288058 + 8531;61392;3310;3415;0;6288058 + 8532;61403;3310;3416;0;6349461 + 8533;61404;3310;3416;0;6349461 + 8534;61416;3310;3416;0;6349461 + 8535;61416;3310;3417;0;6410877 + 8536;61428;3310;3417;0;6410877 + 8537;61437;3310;3418;0;6472314 + 8538;61440;3310;3418;0;6472314 + 8539;61452;3310;3418;0;6472314 + 8540;61459;3310;3419;0;6533773 + 8541;61464;3310;3419;0;6533773 + 8542;61471;3310;3420;0;6595244 + 8543;61476;3310;3420;0;6595244 + 8544;61488;3310;3420;0;6595244 + 8545;61495;3310;3421;0;6656739 + 8546;61500;3310;3421;0;6656739 + 8547;61512;3310;3421;0;6656739 + 8548;61512;3310;3422;0;6718251 + 8549;61524;3310;3422;0;6718251 + 8550;61535;3310;3423;0;6779786 + 8551;61536;3310;3423;0;6779786 + 8552;61548;3310;3423;0;6779786 + 8553;61548;3310;3424;0;6841334 + 8554;61560;3310;3424;0;6841334 + 8555;61571;3310;3425;0;6902905 + 8556;61572;3310;3425;0;6902905 + 8557;61584;3310;3425;0;6902905 + 8558;61592;3310;3426;0;6964497 + 8559;61596;3310;3426;0;6964497 + 8560;61606;3310;3427;0;7026103 + 8561;61608;3310;3427;0;7026103 + 8562;61620;3310;3427;0;7026103 + 8563;61630;3310;3428;0;7087733 + 8564;61632;3310;3428;0;7087733 + 8565;61644;3310;3428;0;7087733 + 8566;61648;3310;3429;0;7149381 + 8567;61656;3310;3429;0;7149381 + 8568;61661;3310;3430;0;7211042 + 8569;61668;3310;3430;0;7211042 + 8570;61680;3310;3430;0;7211042 + 8571;61682;3310;3431;0;7272724 + 8572;61692;3310;3431;0;7272724 + 8573;61701;3310;3432;0;7334425 + 8574;61704;3310;3432;0;7334425 + 8575;61713;3310;3433;0;7396138 + 8576;61716;3310;3433;0;7396138 + 8577;61728;3310;3433;0;7396138 + 8578;61736;3310;3434;0;7457874 + 8579;61740;3310;3434;0;7457874 + 8580;61748;3310;3435;0;7519622 + 8581;61752;3310;3435;0;7519622 + 8582;61762;3310;3436;0;7581384 + 8583;61764;3310;3436;0;7581384 + 8584;61774;3310;3437;0;7643158 + 8585;61776;3310;3437;0;7643158 + 8586;61788;3310;3437;0;7643158 + 8587;61790;3310;3438;0;7704948 + 8588;61800;3310;3438;0;7704948 + 8589;61802;3310;3439;0;7766750 + 8590;61812;3310;3439;0;7766750 + 8591;61821;3310;3440;0;7828571 + 8592;61824;3310;3440;0;7828571 + 8593;61835;3310;3441;0;7890406 + 8594;61836;3310;3441;0;7890406 + 8595;61848;3310;3441;0;7890406 + 8596;61852;3310;3442;0;7952258 + 8597;61860;3310;3442;0;7952258 + 8598;61870;3310;3443;0;8014128 + 8599;61872;3310;3443;0;8014128 + 8600;61884;3310;3443;0;8014128 + 8601;61887;3310;3444;0;8076015 + 8602;61896;3310;3444;0;8076015 + 8603;61899;3310;3445;0;8137914 + 8604;61908;3310;3445;0;8137914 + 8605;61920;3310;3445;0;8137914 + 8606;61921;3310;3446;0;8199835 + 8607;61932;3310;3446;0;8199835 + 8608;61935;3310;3447;0;8261770 + 8609;61944;3310;3447;0;8261770 + 8610;61950;3310;3448;0;8323720 + 8611;61956;3310;3448;0;8323720 + 8612;61968;3320;3448;0;7727778 + 8613;61974;3330;3449;0;7192068 + 8614;61980;3330;3449;0;7192068 + 8615;61990;3330;3450;0;7254058 + 8616;61992;3330;3450;0;7254058 + 8617;62004;3330;3450;0;7254058 + 8618;62007;3330;3451;0;7316065 + 8619;62016;3330;3451;0;7316065 + 8620;62024;3330;3452;0;7378089 + 8621;62028;3330;3452;0;7378089 + 8622;62040;3330;3452;0;7378089 + 8623;62040;3330;3453;0;7440129 + 8624;62052;3330;3453;0;7440129 + 8625;62052;3330;3454;0;7502181 + 8626;62064;3330;3454;0;7502181 + 8627;62071;3340;3455;0;6964697 + 8628;62076;3340;3455;0;6964697 + 8629;62088;3350;3455;0;6363173 + 8630;62095;3350;3456;0;6425268 + 8631;62100;3350;3456;0;6425268 + 8632;62112;3350;3456;0;6425268 + 8633;62119;3350;3457;0;6487387 + 8634;62124;3350;3457;0;6487387 + 8635;62135;3350;3458;0;6549522 + 8636;62136;3350;3458;0;6549522 + 8637;62148;3350;3458;0;6549522 + 8638;62159;3350;3459;0;6611681 + 8639;62160;3350;3459;0;6611681 + 8640;62172;3350;3459;0;6611681 + 8641;62174;3350;3460;0;6673855 + 8642;62184;3350;3460;0;6673855 + 8643;62186;3350;3461;0;6736041 + 8644;62196;3350;3461;0;6736041 + 8645;62207;3350;3462;0;6798248 + 8646;62208;3350;3462;0;6798248 + 8647;62220;3350;3462;0;6798248 + 8648;62226;3350;3463;0;6860474 + 8649;62232;3350;3463;0;6860474 + 8650;62241;3350;3464;0;6922715 + 8651;62244;3350;3464;0;6922715 + 8652;62256;3350;3464;0;6922715 + 8653;62265;3350;3465;0;6984980 + 8654;62268;3350;3465;0;6984980 + 8655;62280;3350;3465;0;6984980 + 8656;62281;3350;3466;0;7047261 + 8657;62292;3350;3466;0;7047261 + 8658;62296;3350;3467;0;7109557 + 8659;62304;3350;3467;0;7109557 + 8660;62316;3350;3467;0;7109557 + 8661;62317;3350;3468;0;7171874 + 8662;62328;3350;3468;0;7171874 + 8663;62340;3350;3468;0;7171874 + 8664;62341;3350;3469;0;7234215 + 8665;62352;3350;3469;0;7234215 + 8666;62358;3350;3470;0;7296573 + 8667;62364;3350;3470;0;7296573 + 8668;62375;3350;3471;0;7358948 + 8669;62376;3350;3471;0;7358948 + 8670;62388;3350;3471;0;7358948 + 8671;62393;3350;3472;0;7421341 + 8672;62400;3350;3472;0;7421341 + 8673;62410;3350;3473;0;7483751 + 8674;62412;3350;3473;0;7483751 + 8675;62424;3350;3473;0;7483751 + 8676;62431;3350;3474;0;7546182 + 8677;62436;3350;3474;0;7546182 + 8678;62448;3350;3474;0;7546182 + 8679;62448;3350;3475;0;7608630 + 8680;62460;3350;3475;0;7608630 + 8681;62464;3350;3476;0;7671094 + 8682;62472;3350;3476;0;7671094 + 8683;62480;3350;3477;0;7733574 + 8684;62484;3350;3477;0;7733574 + 8685;62496;3350;3477;0;7733574 + 8686;62497;3350;3478;0;7796071 + 8687;62508;3350;3478;0;7796071 + 8688;62513;3350;3479;0;7858584 + 8689;62520;3350;3479;0;7858584 + 8690;62532;3350;3479;0;7858584 + 8691;62536;3350;3480;0;7921120 + 8692;62544;3350;3480;0;7921120 + 8693;62551;3350;3481;0;7983671 + 8694;62556;3350;3481;0;7983671 + 8695;62568;3350;3481;0;7983671 + 8696;62570;3350;3482;0;8046241 + 8697;62580;3350;3482;0;8046241 + 8698;62591;3350;3483;0;8108832 + 8699;62592;3350;3483;0;8108832 + 8700;62604;3350;3483;0;8108832 + 8701;62611;3350;3484;0;8171443 + 8702;62616;3350;3484;0;8171443 + 8703;62623;3350;3485;0;8234066 + 8704;62628;3350;3485;0;8234066 + 8705;62639;3350;3486;0;8296705 + 8706;62640;3350;3486;0;8296705 + 8707;62652;3350;3486;0;8296705 + 8708;62655;3350;3487;0;8359360 + 8709;62664;3350;3487;0;8359360 + 8710;62673;3350;3488;0;8422033 + 8711;62676;3350;3488;0;8422033 + 8712;62688;3350;3488;0;8422033 + 8713;62694;3350;3489;0;8484727 + 8714;62700;3350;3489;0;8484727 + 8715;62712;3350;3489;0;8484727 + 8716;62712;3350;3490;0;8547439 + 8717;62724;3350;3490;0;8547439 + 8718;62732;3360;3491;0;8006691 + 8719;62736;3360;3491;0;8006691 + 8720;62748;3360;3491;0;8006691 + 8721;62751;3360;3492;0;8069442 + 8722;62760;3360;3492;0;8069442 + 8723;62764;3360;3493;0;8132206 + 8724;62772;3360;3493;0;8132206 + 8725;62780;3360;3494;0;8194986 + 8726;62784;3360;3494;0;8194986 + 8727;62796;3360;3494;0;8194986 + 8728;62804;3360;3495;0;8257790 + 8729;62808;3360;3495;0;8257790 + 8730;62820;3360;3495;0;8257790 + 8731;62823;3370;3496;0;7715211 + 8732;62832;3370;3496;0;7715211 + 8733;62842;3370;3497;0;7778053 + 8734;62844;3370;3497;0;7778053 + 8735;62856;3370;3497;0;7778053 + 8736;62856;3370;3498;0;7840909 + 8737;62868;3370;3498;0;7840909 + 8738;62874;3370;3499;0;7903783 + 8739;62880;3370;3499;0;7903783 + 8740;62886;3370;3500;0;7966669 + 8741;62892;3370;3500;0;7966669 + 8742;62904;3370;3500;0;7966669 + 8743;62905;3370;3501;0;8029574 + 8744;62916;3370;3501;0;8029574 + 8745;62928;3370;3501;0;8029574 + 8746;62929;3370;3502;0;8092503 + 8747;62940;3370;3502;0;8092503 + 8748;62948;3370;3503;0;8155451 + 8749;62952;3370;3503;0;8155451 + 8750;62960;3370;3504;0;8218411 + 8751;62964;3370;3504;0;8218411 + 8752;62974;3370;3505;0;8281385 + 8753;62976;3370;3505;0;8281385 + 8754;62988;3370;3505;0;8281385 + 8755;62994;3380;3506;0;7737149 + 8756;63000;3390;3506;0;7128316 + 8757;63012;3400;3506;0;6517773 + 8758;63015;3410;3507;0;5968384 + 8759;63024;3410;3507;0;5968384 + 8760;63029;3410;3508;0;6031413 + 8761;63036;3410;3508;0;6031413 + 8762;63042;3410;3509;0;6094455 + 8763;63048;3410;3509;0;6094455 + 8764;63059;3410;3510;0;6157514 + 8765;63060;3410;3510;0;6157514 + 8766;63072;3410;3510;0;6157514 + 8767;63076;3410;3511;0;6220590 + 8768;63084;3410;3511;0;6220590 + 8769;63095;3410;3512;0;6283685 + 8770;63096;3410;3512;0;6283685 + 8771;63108;3410;3512;0;6283685 + 8772;63111;3410;3513;0;6346796 + 8773;63120;3410;3513;0;6346796 + 8774;63123;3410;3514;0;6409919 + 8775;63132;3410;3514;0;6409919 + 8776;63137;3410;3515;0;6473056 + 8777;63144;3410;3515;0;6473056 + 8778;63155;3410;3516;0;6536211 + 8779;63156;3410;3516;0;6536211 + 8780;63168;3410;3516;0;6536211 + 8781;63178;3410;3517;0;6599389 + 8782;63180;3410;3517;0;6599389 + 8783;63192;3410;3517;0;6599389 + 8784;63195;3410;3518;0;6662584 + 8785;63204;3410;3518;0;6662584 + 8786;63214;3410;3519;0;6725798 + 8787;63216;3410;3519;0;6725798 + 8788;63226;3410;3520;0;6789024 + 8789;63228;3410;3520;0;6789024 + 8790;63240;3410;3520;0;6789024 + 8791;63247;3410;3521;0;6852271 + 8792;63252;3410;3521;0;6852271 + 8793;63264;3410;3521;0;6852271 + 8794;63267;3410;3522;0;6915538 + 8795;63276;3410;3522;0;6915538 + 8796;63288;3410;3522;0;6915538 + 8797;63291;3410;3523;0;6978829 + 8798;63300;3410;3523;0;6978829 + 8799;63312;3410;3523;0;6978829 + 8800;63313;3410;3524;0;7042142 + 8801;63324;3410;3524;0;7042142 + 8802;63330;3410;3525;0;7105472 + 8803;63336;3410;3525;0;7105472 + 8804;63348;3410;3525;0;7105472 + 8805;63353;3410;3526;0;7168825 + 8806;63360;3410;3526;0;7168825 + 8807;63372;3410;3526;0;7168825 + 8808;63374;3410;3527;0;7232199 + 8809;63384;3410;3527;0;7232199 + 8810;63387;3410;3528;0;7295586 + 8811;63396;3410;3528;0;7295586 + 8812;63407;3410;3529;0;7358993 + 8813;63408;3410;3529;0;7358993 + 8814;63420;3410;3529;0;7358993 + 8815;63430;3420;3530;0;6808281 + 8816;63432;3420;3530;0;6808281 + 8817;63444;3420;3530;0;6808281 + 8818;63451;3430;3531;0;6255747 + 8819;63456;3430;3531;0;6255747 + 8820;63468;3430;3531;0;6255747 + 8821;63471;3430;3532;0;6319218 + 8822;63480;3430;3532;0;6319218 + 8823;63490;3430;3533;0;6382708 + 8824;63492;3430;3533;0;6382708 + 8825;63504;3430;3533;0;6382708 + 8826;63509;3430;3534;0;6446217 + 8827;63516;3430;3534;0;6446217 + 8828;63525;3430;3535;0;6509742 + 8829;63528;3430;3535;0;6509742 + 8830;63540;3430;3535;0;6509742 + 8831;63543;3430;3536;0;6573285 + 8832;63552;3430;3536;0;6573285 + 8833;63557;3430;3537;0;6636842 + 8834;63564;3430;3537;0;6636842 + 8835;63576;3430;3537;0;6636842 + 8836;63576;3430;3538;0;6700418 + 8837;63588;3430;3538;0;6700418 + 8838;63596;3430;3539;0;6764014 + 8839;63600;3430;3539;0;6764014 + 8840;63612;3430;3539;0;6764014 + 8841;63620;3430;3540;0;6827634 + 8842;63624;3430;3540;0;6827634 + 8843;63636;3430;3540;0;6827634 + 8844;63640;3430;3541;0;6891274 + 8845;63648;3430;3541;0;6891274 + 8846;63652;3430;3542;0;6954926 + 8847;63660;3430;3542;0;6954926 + 8848;63672;3430;3542;0;6954926 + 8849;63673;3430;3543;0;7018599 + 8850;63684;3430;3543;0;7018599 + 8851;63694;3430;3544;0;7082293 + 8852;63696;3430;3544;0;7082293 + 8853;63708;3430;3544;0;7082293 + 8854;63708;3430;3545;0;7146001 + 8855;63720;3430;3545;0;7146001 + 8856;63724;3430;3546;0;7209725 + 8857;63732;3430;3546;0;7209725 + 8858;63738;3430;3547;0;7273463 + 8859;63744;3430;3547;0;7273463 + 8860;63756;3430;3547;0;7273463 + 8861;63758;3430;3548;0;7337221 + 8862;63768;3430;3548;0;7337221 + 8863;63772;3430;3549;0;7400993 + 8864;63780;3430;3549;0;7400993 + 8865;63790;3430;3550;0;7464783 + 8866;63792;3430;3550;0;7464783 + 8867;63804;3430;3550;0;7464783 + 8868;63806;3430;3551;0;7528589 + 8869;63816;3430;3551;0;7528589 + 8870;63826;3430;3552;0;7592415 + 8871;63828;3430;3552;0;7592415 + 8872;63840;3430;3552;0;7592415 + 8873;63844;3430;3553;0;7656259 + 8874;63852;3430;3553;0;7656259 + 8875;63862;3430;3554;0;7720121 + 8876;63864;3430;3554;0;7720121 + 8877;63876;3430;3554;0;7720121 + 8878;63878;3430;3555;0;7783999 + 8879;63888;3430;3555;0;7783999 + 8880;63900;3430;3555;0;7783999 + 8881;63901;3430;3556;0;7847900 + 8882;63912;3430;3556;0;7847900 + 8883;63919;3430;3557;0;7911819 + 8884;63924;3430;3557;0;7911819 + 8885;63935;3430;3558;0;7975754 + 8886;63936;3430;3558;0;7975754 + 8887;63948;3430;3558;0;7975754 + 8888;63959;3430;3559;0;8039713 + 8889;63960;3430;3559;0;8039713 + 8890;63972;3430;3559;0;8039713 + 8891;63979;3430;3560;0;8103692 + 8892;63984;3430;3560;0;8103692 + 8893;63992;3430;3561;0;8167684 + 8894;63996;3430;3561;0;8167684 + 8895;64008;3430;3561;0;8167684 + 8896;64014;3430;3562;0;8231698 + 8897;64020;3430;3562;0;8231698 + 8898;64032;3430;3562;0;8231698 + 8899;64038;3430;3563;0;8295736 + 8900;64044;3430;3563;0;8295736 + 8901;64056;3430;3563;0;8295736 + 8902;64061;3430;3564;0;8359797 + 8903;64068;3430;3564;0;8359797 + 8904;64080;3430;3564;0;8359797 + 8905;64083;3430;3565;0;8423880 + 8906;64092;3430;3565;0;8423880 + 8907;64104;3430;3565;0;8423880 + 8908;64106;3440;3566;0;7870304 + 8909;64116;3440;3566;0;7870304 + 8910;64122;3450;3567;0;7315141 + 8911;64128;3450;3567;0;7315141 + 8912;64135;3460;3568;0;6758221 + 8913;64140;3460;3568;0;6758221 + 8914;64148;3460;3569;0;6822369 + 8915;64152;3460;3569;0;6822369 + 8916;64161;3460;3570;0;6886530 + 8917;64164;3460;3570;0;6886530 + 8918;64176;3460;3570;0;6886530 + 8919;64185;3460;3571;0;6950715 + 8920;64188;3460;3571;0;6950715 + 8921;64197;3460;3572;0;7014912 + 8922;64200;3460;3572;0;7014912 + 8923;64212;3460;3572;0;7014912 + 8924;64215;3460;3573;0;7079127 + 8925;64224;3460;3573;0;7079127 + 8926;64234;3460;3574;0;7143361 + 8927;64236;3460;3574;0;7143361 + 8928;64248;3460;3574;0;7143361 + 8929;64248;3460;3575;0;7207609 + 8930;64260;3460;3575;0;7207609 + 8931;64261;3460;3576;0;7271870 + 8932;64272;3460;3576;0;7271870 + 8933;64283;3460;3577;0;7336153 + 8934;64284;3460;3577;0;7336153 + 8935;64296;3460;3577;0;7336153 + 8936;64307;3460;3578;0;7400460 + 8937;64308;3460;3578;0;7400460 + 8938;64320;3460;3578;0;7400460 + 8939;64325;3460;3579;0;7464785 + 8940;64332;3460;3579;0;7464785 + 8941;64342;3460;3580;0;7529127 + 8942;64344;3460;3580;0;7529127 + 8943;64354;3460;3581;0;7593481 + 8944;64356;3460;3581;0;7593481 + 8945;64368;3460;3581;0;7593481 + 8946;64374;3460;3582;0;7657855 + 8947;64380;3460;3582;0;7657855 + 8948;64389;3460;3583;0;7722244 + 8949;64392;3460;3583;0;7722244 + 8950;64404;3460;3583;0;7722244 + 8951;64409;3460;3584;0;7786653 + 8952;64416;3460;3584;0;7786653 + 8953;64428;3460;3584;0;7786653 + 8954;64433;3460;3585;0;7851086 + 8955;64440;3460;3585;0;7851086 + 8956;64452;3460;3585;0;7851086 + 8957;64453;3460;3586;0;7915539 + 8958;64464;3460;3586;0;7915539 + 8959;64471;3460;3587;0;7980010 + 8960;64476;3460;3587;0;7980010 + 8961;64488;3460;3587;0;7980010 + 8962;64489;3460;3588;0;8044499 + 8963;64500;3460;3588;0;8044499 + 8964;64505;3460;3589;0;8109004 + 8965;64512;3460;3589;0;8109004 + 8966;64524;3460;3589;0;8109004 + 8967;64524;3460;3590;0;8173528 + 8968;64536;3460;3590;0;8173528 + 8969;64542;3460;3591;0;8238070 + 8970;64548;3460;3591;0;8238070 + 8971;64560;3460;3591;0;8238070 + 8972;64565;3460;3592;0;8302635 + 8973;64572;3460;3592;0;8302635 + 8974;64584;3460;3592;0;8302635 + 8975;64584;3460;3593;0;8367219 + 8976;64596;3460;3593;0;8367219 + 8977;64596;3460;3594;0;8431815 + 8978;64608;3460;3594;0;8431815 + 8979;64613;3460;3595;0;8496428 + 8980;64620;3460;3595;0;8496428 + 8981;64632;3460;3595;0;8496428 + 8982;64636;3470;3596;0;7938157 + 8983;64644;3470;3596;0;7938157 + 8984;64656;3470;3596;0;7938157 + 8985;64658;3470;3597;0;8002815 + 8986;64668;3470;3597;0;8002815 + 8987;64671;3470;3598;0;8067486 + 8988;64680;3470;3598;0;8067486 + 8989;64685;3470;3599;0;8132171 + 8990;64692;3470;3599;0;8132171 + 8991;64704;3470;3599;0;8132171 + 8992;64705;3470;3600;0;8196876 + 8993;64716;3470;3600;0;8196876 + 8994;64721;3470;3601;0;8261597 + 8995;64728;3470;3601;0;8261597 + 8996;64738;3470;3602;0;8326335 + 8997;64740;3470;3602;0;8326335 + 8998;64752;3470;3602;0;8326335 + 8999;64752;3470;3603;0;8391087 + 9000;64764;3470;3603;0;8391087 + 9001;64771;3470;3604;0;8455858 + 9002;64776;3470;3604;0;8455858 + 9003;64788;3480;3604;0;7831135 + 9004;64788;3480;3605;0;7895923 + 9005;64800;3480;3605;0;7895923 + 9006;64800;3480;3606;0;7960723 + 9007;64812;3480;3606;0;7960723 + 9008;64813;3480;3607;0;8025536 + 9009;64824;3480;3607;0;8025536 + 9010;64829;3480;3608;0;8090365 + 9011;64836;3480;3608;0;8090365 + 9012;64846;3480;3609;0;8155211 + 9013;64848;3480;3609;0;8155211 + 9014;64860;3480;3609;0;8155211 + 9015;64869;3480;3610;0;8220080 + 9016;64872;3480;3610;0;8220080 + 9017;64884;3480;3610;0;8220080 + 9018;64885;3480;3611;0;8284965 + 9019;64896;3480;3611;0;8284965 + 9020;64907;3480;3612;0;8349872 + 9021;64908;3480;3612;0;8349872 + 9022;64920;3480;3612;0;8349872 + 9023;64927;3480;3613;0;8414799 + 9024;64932;3480;3613;0;8414799 + 9025;64940;3480;3614;0;8479739 + 9026;64944;3480;3614;0;8479739 + 9027;64956;3480;3614;0;8479739 + 9028;64960;3510;3615;0;6659888 + 9029;64968;3510;3615;0;6659888 + 9030;64980;3510;3615;0;6659888 + 9031;64982;3510;3616;0;6724870 + 9032;64992;3510;3616;0;6724870 + 9033;65001;3510;3617;0;6789871 + 9034;65004;3510;3617;0;6789871 + 9035;65014;3510;3618;0;6854885 + 9036;65016;3510;3618;0;6854885 + 9037;65027;3510;3619;0;6919912 + 9038;65028;3510;3619;0;6919912 + 9039;65040;3510;3619;0;6919912 + 9040;65042;3510;3620;0;6984954 + 9041;65052;3510;3620;0;6984954 + 9042;65064;3510;3620;0;6984954 + 9043;65066;3510;3621;0;7050020 + 9044;65076;3510;3621;0;7050020 + 9045;65079;3510;3622;0;7115099 + 9046;65088;3510;3622;0;7115099 + 9047;65100;3510;3622;0;7115099 + 9048;65100;3510;3623;0;7180199 + 9049;65112;3510;3623;0;7180199 + 9050;65124;3510;3623;0;7180199 + 9051;65124;3510;3624;0;7245323 + 9052;65136;3510;3624;0;7245323 + 9053;65138;3510;3625;0;7310461 + 9054;65148;3510;3625;0;7310461 + 9055;65155;3510;3626;0;7375616 + 9056;65160;3510;3626;0;7375616 + 9057;65167;3510;3627;0;7440783 + 9058;65172;3510;3627;0;7440783 + 9059;65179;3510;3628;0;7505962 + 9060;65184;3510;3628;0;7505962 + 9061;65196;3510;3628;0;7505962 + 9062;65203;3510;3629;0;7571165 + 9063;65208;3510;3629;0;7571165 + 9064;65220;3510;3629;0;7571165 + 9065;65227;3510;3630;0;7636392 + 9066;65232;3510;3630;0;7636392 + 9067;65244;3510;3630;0;7636392 + 9068;65247;3510;3631;0;7701639 + 9069;65256;3510;3631;0;7701639 + 9070;65266;3520;3632;0;7135224 + 9071;65268;3520;3632;0;7135224 + 9072;65278;3520;3633;0;7200502 + 9073;65280;3520;3633;0;7200502 + 9074;65292;3520;3633;0;7200502 + 9075;65294;3520;3634;0;7265796 + 9076;65304;3520;3634;0;7265796 + 9077;65310;3520;3635;0;7331106 + 9078;65316;3520;3635;0;7331106 + 9079;65328;3520;3635;0;7331106 + 9080;65328;3520;3636;0;7396434 + 9081;65340;3520;3636;0;7396434 + 9082;65349;3520;3637;0;7461783 + 9083;65352;3520;3637;0;7461783 + 9084;65363;3520;3638;0;7527146 + 9085;65364;3520;3638;0;7527146 + 9086;65376;3520;3638;0;7527146 + 9087;65386;3530;3639;0;6958929 + 9088;65388;3530;3639;0;6958929 + 9089;65399;3530;3640;0;7024328 + 9090;65400;3530;3640;0;7024328 + 9091;65412;3530;3640;0;7024328 + 9092;65418;3530;3641;0;7089746 + 9093;65424;3530;3641;0;7089746 + 9094;65436;3530;3641;0;7089746 + 9095;65436;3530;3642;0;7155182 + 9096;65448;3530;3642;0;7155182 + 9097;65453;3530;3643;0;7220635 + 9098;65460;3530;3643;0;7220635 + 9099;65465;3530;3644;0;7286100 + 9100;65472;3530;3644;0;7286100 + 9101;65484;3530;3644;0;7286100 + 9102;65489;3530;3645;0;7351589 + 9103;65496;3530;3645;0;7351589 + 9104;65508;3530;3645;0;7351589 + 9105;65510;3530;3646;0;7417099 + 9106;65520;3530;3646;0;7417099 + 9107;65526;3530;3647;0;7482625 + 9108;65532;3530;3647;0;7482625 + 9109;65544;3530;3647;0;7482625 + 9110;65549;3530;3648;0;7548174 + 9111;65556;3530;3648;0;7548174 + 9112;65566;3530;3649;0;7613740 + 9113;65568;3530;3649;0;7613740 + 9114;65580;3530;3649;0;7613740 + 9115;65580;3530;3650;0;7679320 + 9116;65592;3530;3650;0;7679320 + 9117;65598;3540;3651;0;7109391 + 9118;65604;3540;3651;0;7109391 + 9119;65614;3540;3652;0;7175005 + 9120;65616;3540;3652;0;7175005 + 9121;65628;3540;3652;0;7175005 + 9122;65632;3540;3653;0;7240637 + 9123;65640;3540;3653;0;7240637 + 9124;65650;3540;3654;0;7306287 + 9125;65652;3540;3654;0;7306287 + 9126;65663;3540;3655;0;7371950 + 9127;65664;3540;3655;0;7371950 + 9128;65676;3540;3655;0;7371950 + 9129;65683;3540;3656;0;7437633 + 9130;65688;3540;3656;0;7437633 + 9131;65700;3540;3656;0;7437633 + 9132;65701;3540;3657;0;7503334 + 9133;65712;3540;3657;0;7503334 + 9134;65718;3540;3658;0;7569052 + 9135;65724;3540;3658;0;7569052 + 9136;65733;3540;3659;0;7634785 + 9137;65736;3540;3659;0;7634785 + 9138;65745;3540;3660;0;7700530 + 9139;65748;3540;3660;0;7700530 + 9140;65760;3540;3660;0;7700530 + 9141;65766;3540;3661;0;7766296 + 9142;65772;3540;3661;0;7766296 + 9143;65784;3540;3661;0;7766296 + 9144;65788;3540;3662;0;7832084 + 9145;65796;3540;3662;0;7832084 + 9146;65805;3540;3663;0;7897889 + 9147;65808;3540;3663;0;7897889 + 9148;65820;3540;3663;0;7897889 + 9149;65826;3540;3664;0;7963715 + 9150;65832;3540;3664;0;7963715 + 9151;65839;3540;3665;0;8029554 + 9152;65844;3540;3665;0;8029554 + 9153;65856;3540;3665;0;8029554 + 9154;65862;3540;3666;0;8095416 + 9155;65868;3540;3666;0;8095416 + 9156;65880;3540;3666;0;8095416 + 9157;65880;3540;3667;0;8161296 + 9158;65892;3540;3667;0;8161296 + 9159;65904;3540;3667;0;8161296 + 9160;65904;3540;3668;0;8227200 + 9161;65916;3550;3668;0;7589885 + 9162;65926;3550;3669;0;7655811 + 9163;65928;3550;3669;0;7655811 + 9164;65940;3550;3669;0;7655811 + 9165;65944;3550;3670;0;7721755 + 9166;65952;3550;3670;0;7721755 + 9167;65964;3550;3670;0;7721755 + 9168;65965;3560;3671;0;7148625 + 9169;65976;3560;3671;0;7148625 + 9170;65984;3560;3672;0;7214609 + 9171;65988;3560;3672;0;7214609 + 9172;66000;3560;3672;0;7214609 + 9173;66001;3560;3673;0;7280610 + 9174;66012;3560;3673;0;7280610 + 9175;66024;3560;3673;0;7280610 + 9176;66025;3560;3674;0;7346635 + 9177;66036;3560;3674;0;7346635 + 9178;66043;3560;3675;0;7412678 + 9179;66048;3560;3675;0;7412678 + 9180;66058;3560;3676;0;7478736 + 9181;66060;3560;3676;0;7478736 + 9182;66072;3560;3676;0;7478736 + 9183;66078;3560;3677;0;7544814 + 9184;66084;3560;3677;0;7544814 + 9185;66096;3560;3677;0;7544814 + 9186;66099;3560;3678;0;7610913 + 9187;66108;3560;3678;0;7610913 + 9188;66113;3560;3679;0;7677026 + 9189;66120;3560;3679;0;7677026 + 9190;66132;3570;3679;0;7035973 + 9191;66135;3570;3680;0;7102108 + 9192;66144;3570;3680;0;7102108 + 9193;66147;3570;3681;0;7168255 + 9194;66156;3570;3681;0;7168255 + 9195;66163;3570;3682;0;7234418 + 9196;66168;3570;3682;0;7234418 + 9197;66175;3570;3683;0;7300593 + 9198;66180;3570;3683;0;7300593 + 9199;66192;3570;3683;0;7300593 + 9200;66198;3570;3684;0;7366791 + 9201;66204;3570;3684;0;7366791 + 9202;66216;3570;3684;0;7366791 + 9203;66220;3570;3685;0;7433011 + 9204;66228;3570;3685;0;7433011 + 9205;66237;3570;3686;0;7499248 + 9206;66240;3570;3686;0;7499248 + 9207;66252;3570;3686;0;7499248 + 9208;66253;3570;3687;0;7565501 + 9209;66264;3570;3687;0;7565501 + 9210;66265;3580;3688;0;6989000 + 9211;66276;3580;3688;0;6989000 + 9212;66287;3580;3689;0;7055287 + 9213;66288;3580;3689;0;7055287 + 9214;66300;3580;3689;0;7055287 + 9215;66309;3580;3690;0;7121596 + 9216;66312;3580;3690;0;7121596 + 9217;66324;3580;3690;0;7121596 + 9218;66324;3580;3691;0;7187920 + 9219;66336;3580;3691;0;7187920 + 9220;66348;3580;3691;0;7187920 + 9221;66348;3580;3692;0;7254268 + 9222;66360;3580;3692;0;7254268 + 9223;66367;3580;3693;0;7320635 + 9224;66372;3580;3693;0;7320635 + 9225;66384;3580;3693;0;7320635 + 9226;66388;3580;3694;0;7387023 + 9227;66396;3580;3694;0;7387023 + 9228;66408;3580;3694;0;7387023 + 9229;66411;3580;3695;0;7453434 + 9230;66420;3580;3695;0;7453434 + 9231;66428;3580;3696;0;7519862 + 9232;66432;3580;3696;0;7519862 + 9233;66443;3580;3697;0;7586305 + 9234;66444;3580;3697;0;7586305 + 9235;66456;3580;3697;0;7586305 + 9236;66461;3580;3698;0;7652766 + 9237;66468;3580;3698;0;7652766 + 9238;66480;3580;3698;0;7652766 + 9239;66483;3580;3699;0;7719249 + 9240;66492;3580;3699;0;7719249 + 9241;66503;3580;3700;0;7785752 + 9242;66504;3580;3700;0;7785752 + 9243;66516;3580;3700;0;7785752 + 9244;66526;3580;3701;0;7852278 + 9245;66528;3580;3701;0;7852278 + 9246;66540;3580;3701;0;7852278 + 9247;66546;3580;3702;0;7918824 + 9248;66552;3580;3702;0;7918824 + 9249;66561;3580;3703;0;7985385 + 9250;66564;3580;3703;0;7985385 + 9251;66576;3580;3703;0;7985385 + 9252;66580;3580;3704;0;8051965 + 9253;66588;3580;3704;0;8051965 + 9254;66599;3580;3705;0;8118564 + 9255;66600;3580;3705;0;8118564 + 9256;66612;3580;3705;0;8118564 + 9257;66613;3580;3706;0;8185177 + 9258;66624;3580;3706;0;8185177 + 9259;66627;3580;3707;0;8251804 + 9260;66636;3580;3707;0;8251804 + 9261;66648;3580;3707;0;8251804 + 9262;66648;3580;3708;0;8318452 + 9263;66660;3580;3708;0;8318452 + 9264;66669;3580;3709;0;8385121 + 9265;66672;3580;3709;0;8385121 + 9266;66684;3580;3709;0;8385121 + 9267;66687;3580;3710;0;8451808 + 9268;66696;3580;3710;0;8451808 + 9269;66703;3580;3711;0;8518511 + 9270;66708;3580;3711;0;8518511 + 9271;66717;3580;3712;0;8585228 + 9272;66720;3580;3712;0;8585228 + 9273;66732;3580;3712;0;8585228 + 9274;66739;3580;3713;0;8651967 + 9275;66744;3580;3713;0;8651967 + 9276;66756;3580;3713;0;8651967 + 9277;66757;3580;3714;0;8718724 + 9278;66768;3600;3714;0;7427701 + 9279;66773;3610;3715;0;6846383 + 9280;66780;3610;3715;0;6846383 + 9281;66789;3610;3716;0;6913172 + 9282;66792;3610;3716;0;6913172 + 9283;66804;3610;3716;0;6913172 + 9284;66807;3610;3717;0;6979979 + 9285;66816;3610;3717;0;6979979 + 9286;66825;3610;3718;0;7046804 + 9287;66828;3610;3718;0;7046804 + 9288;66840;3610;3718;0;7046804 + 9289;66841;3610;3719;0;7113645 + 9290;66852;3610;3719;0;7113645 + 9291;66858;3610;3720;0;7180503 + 9292;66864;3610;3720;0;7180503 + 9293;66876;3610;3720;0;7180503 + 9294;66878;3610;3721;0;7247381 + 9295;66888;3610;3721;0;7247381 + 9296;66900;3610;3721;0;7247381 + 9297;66901;3620;3722;0;6664416 + 9298;66912;3620;3722;0;6664416 + 9299;66915;3620;3723;0;6731331 + 9300;66924;3620;3723;0;6731331 + 9301;66927;3620;3724;0;6798258 + 9302;66936;3620;3724;0;6798258 + 9303;66944;3630;3725;0;6213583 + 9304;66948;3630;3725;0;6213583 + 9305;66956;3630;3726;0;6280539 + 9306;66960;3630;3726;0;6280539 + 9307;66972;3630;3726;0;6280539 + 9308;66978;3630;3727;0;6347517 + 9309;66984;3630;3727;0;6347517 + 9310;66995;3630;3728;0;6414512 + 9311;66996;3630;3728;0;6414512 + 9312;67007;3630;3729;0;6481519 + 9313;67008;3630;3729;0;6481519 + 9314;67020;3630;3729;0;6481519 + 9315;67026;3630;3730;0;6548545 + 9316;67032;3630;3730;0;6548545 + 9317;67038;3630;3731;0;6615583 + 9318;67044;3630;3731;0;6615583 + 9319;67056;3630;3731;0;6615583 + 9320;67057;3630;3732;0;6682640 + 9321;67068;3630;3732;0;6682640 + 9322;67077;3630;3733;0;6749717 + 9323;67080;3630;3733;0;6749717 + 9324;67092;3630;3733;0;6749717 + 9325;67101;3630;3734;0;6816818 + 9326;67104;3630;3734;0;6816818 + 9327;67116;3630;3734;0;6816818 + 9328;67125;3630;3735;0;6883943 + 9329;67128;3630;3735;0;6883943 + 9330;67140;3630;3735;0;6883943 + 9331;67145;3630;3736;0;6951088 + 9332;67152;3630;3736;0;6951088 + 9333;67157;3630;3737;0;7018245 + 9334;67164;3630;3737;0;7018245 + 9335;67169;3630;3738;0;7085414 + 9336;67176;3630;3738;0;7085414 + 9337;67186;3630;3739;0;7152600 + 9338;67188;3630;3739;0;7152600 + 9339;67200;3630;3739;0;7152600 + 9340;67206;3630;3740;0;7219806 + 9341;67212;3630;3740;0;7219806 + 9342;67218;3630;3741;0;7287024 + 9343;67224;3630;3741;0;7287024 + 9344;67236;3630;3741;0;7287024 + 9345;67236;3630;3742;0;7354260 + 9346;67248;3630;3742;0;7354260 + 9347;67249;3630;3743;0;7421509 + 9348;67260;3630;3743;0;7421509 + 9349;67265;3630;3744;0;7488774 + 9350;67272;3630;3744;0;7488774 + 9351;67284;3630;3744;0;7488774 + 9352;67289;3630;3745;0;7556063 + 9353;67296;3630;3745;0;7556063 + 9354;67308;3630;3745;0;7556063 + 9355;67310;3630;3746;0;7623373 + 9356;67320;3630;3746;0;7623373 + 9357;67323;3630;3747;0;7690696 + 9358;67332;3630;3747;0;7690696 + 9359;67344;3630;3747;0;7690696 + 9360;67345;3630;3748;0;7758041 + 9361;67356;3630;3748;0;7758041 + 9362;67358;3630;3749;0;7825399 + 9363;67368;3630;3749;0;7825399 + 9364;67374;3630;3750;0;7892773 + 9365;67380;3630;3750;0;7892773 + 9366;67392;3630;3750;0;7892773 + 9367;67394;3630;3751;0;7960167 + 9368;67404;3630;3751;0;7960167 + 9369;67407;3630;3752;0;8027574 + 9370;67416;3630;3752;0;8027574 + 9371;67420;3630;3753;0;8094994 + 9372;67428;3630;3753;0;8094994 + 9373;67440;3630;3753;0;8094994 + 9374;67440;3630;3754;0;8162434 + 9375;67452;3630;3754;0;8162434 + 9376;67457;3630;3755;0;8229891 + 9377;67464;3630;3755;0;8229891 + 9378;67474;3630;3756;0;8297365 + 9379;67476;3630;3756;0;8297365 + 9380;67487;3630;3757;0;8364852 + 9381;67488;3630;3757;0;8364852 + 9382;67500;3630;3757;0;8364852 + 9383;67502;3630;3758;0;8432354 + 9384;67512;3630;3758;0;8432354 + 9385;67522;3630;3759;0;8499876 + 9386;67524;3630;3759;0;8499876 + 9387;67536;3630;3759;0;8499876 + 9388;67546;3630;3760;0;8567422 + 9389;67548;3630;3760;0;8567422 + 9390;67560;3630;3760;0;8567422 + 9391;67565;3630;3761;0;8634987 + 9392;67572;3630;3761;0;8634987 + 9393;67584;3630;3761;0;8634987 + 9394;67587;3630;3762;0;8702574 + 9395;67596;3630;3762;0;8702574 + 9396;67600;3630;3763;0;8770174 + 9397;67608;3630;3763;0;8770174 + 9398;67620;3630;3763;0;8770174 + 9399;67623;3630;3764;0;8837797 + 9400;67632;3630;3764;0;8837797 + 9401;67640;3630;3765;0;8905437 + 9402;67644;3630;3765;0;8905437 + 9403;67652;3630;3766;0;8973089 + 9404;67656;3630;3766;0;8973089 + 9405;67665;3630;3767;0;9040754 + 9406;67668;3630;3767;0;9040754 + 9407;67680;3630;3767;0;9040754 + 9408;67686;3630;3768;0;9108440 + 9409;67692;3630;3768;0;9108440 + 9410;67704;3630;3768;0;9108440 + 9411;67706;3630;3769;0;9176146 + 9412;67716;3630;3769;0;9176146 + 9413;67728;3630;3769;0;9176146 + 9414;67729;3640;3770;0;8590484 + 9415;67740;3640;3770;0;8590484 + 9416;67744;3640;3771;0;8658228 + 9417;67752;3640;3771;0;8658228 + 9418;67764;3640;3771;0;8658228 + 9419;67766;3640;3772;0;8725994 + 9420;67776;3640;3772;0;8725994 + 9421;67788;3640;3772;0;8725994 + 9422;67789;3640;3773;0;8793783 + 9423;67800;3640;3773;0;8793783 + 9424;67806;3640;3774;0;8861589 + 9425;67812;3640;3774;0;8861589 + 9426;67822;3670;3775;0;6958595 + 9427;67824;3670;3775;0;6958595 + 9428;67835;3670;3776;0;7026430 + 9429;67836;3670;3776;0;7026430 + 9430;67848;3670;3776;0;7026430 + 9431;67853;3670;3777;0;7094283 + 9432;67860;3670;3777;0;7094283 + 9433;67872;3670;3777;0;7094283 + 9434;67873;3670;3778;0;7162156 + 9435;67884;3670;3778;0;7162156 + 9436;67894;3670;3779;0;7230050 + 9437;67896;3670;3779;0;7230050 + 9438;67906;3670;3780;0;7297956 + 9439;67908;3670;3780;0;7297956 + 9440;67920;3670;3780;0;7297956 + 9441;67928;3670;3781;0;7365884 + 9442;67932;3670;3781;0;7365884 + 9443;67944;3670;3781;0;7365884 + 9444;67948;3670;3782;0;7433832 + 9445;67956;3670;3782;0;7433832 + 9446;67965;3670;3783;0;7501797 + 9447;67968;3670;3783;0;7501797 + 9448;67977;3670;3784;0;7569774 + 9449;67980;3670;3784;0;7569774 + 9450;67992;3670;3784;0;7569774 + 9451;67999;3670;3785;0;7637773 + 9452;68004;3670;3785;0;7637773 + 9453;68011;3670;3786;0;7705784 + 9454;68016;3670;3786;0;7705784 + 9455;68028;3670;3786;0;7705784 + 9456;68034;3670;3787;0;7773818 + 9457;68040;3670;3787;0;7773818 + 9458;68052;3670;3787;0;7773818 + 9459;68056;3670;3788;0;7841874 + 9460;68064;3670;3788;0;7841874 + 9461;68076;3670;3788;0;7841874 + 9462;68077;3670;3789;0;7909951 + 9463;68088;3670;3789;0;7909951 + 9464;68095;3670;3790;0;7978046 + 9465;68100;3670;3790;0;7978046 + 9466;68112;3670;3790;0;7978046 + 9467;68115;3670;3791;0;8046161 + 9468;68124;3670;3791;0;8046161 + 9469;68128;3670;3792;0;8114289 + 9470;68136;3670;3792;0;8114289 + 9471;68148;3670;3792;0;8114289 + 9472;68150;3670;3793;0;8182439 + 9473;68160;3670;3793;0;8182439 + 9474;68167;3670;3794;0;8250606 + 9475;68172;3670;3794;0;8250606 + 9476;68182;3680;3795;0;7658105 + 9477;68184;3680;3795;0;7658105 + 9478;68196;3680;3795;0;7658105 + 9479;68198;3680;3796;0;7726303 + 9480;68208;3680;3796;0;7726303 + 9481;68220;3680;3796;0;7726303 + 9482;68220;3680;3797;0;7794523 + 9483;68232;3680;3797;0;7794523 + 9484;68240;3680;3798;0;7862763 + 9485;68244;3680;3798;0;7862763 + 9486;68256;3680;3798;0;7862763 + 9487;68264;3680;3799;0;7931027 + 9488;68268;3680;3799;0;7931027 + 9489;68280;3680;3799;0;7931027 + 9490;68281;3680;3800;0;7999308 + 9491;68292;3680;3800;0;7999308 + 9492;68304;3680;3800;0;7999308 + 9493;68305;3680;3801;0;8067613 + 9494;68316;3680;3801;0;8067613 + 9495;68317;3680;3802;0;8135930 + 9496;68328;3680;3802;0;8135930 + 9497;68337;3680;3803;0;8204267 + 9498;68340;3680;3803;0;8204267 + 9499;68352;3680;3803;0;8204267 + 9500;68357;3680;3804;0;8272624 + 9501;68364;3680;3804;0;8272624 + 9502;68376;3680;3804;0;8272624 + 9503;68376;3680;3805;0;8341000 + 9504;68388;3680;3805;0;8341000 + 9505;68389;3680;3806;0;8409389 + 9506;68400;3680;3806;0;8409389 + 9507;68404;3680;3807;0;8477793 + 9508;68412;3680;3807;0;8477793 + 9509;68424;3680;3807;0;8477793 + 9510;68427;3680;3808;0;8546220 + 9511;68436;3680;3808;0;8546220 + 9512;68448;3680;3808;0;8546220 + 9513;68451;3680;3809;0;8614671 + 9514;68460;3680;3809;0;8614671 + 9515;68472;3680;3809;0;8614671 + 9516;68474;3680;3810;0;8683145 + 9517;68484;3680;3810;0;8683145 + 9518;68496;3680;3810;0;8683145 + 9519;68497;3680;3811;0;8751642 + 9520;68508;3680;3811;0;8751642 + 9521;68517;3680;3812;0;8820159 + 9522;68520;3680;3812;0;8820159 + 9523;68532;3680;3812;0;8820159 + 9524;68541;3690;3813;0;8226269 + 9525;68544;3690;3813;0;8226269 + 9526;68553;3690;3814;0;8294822 + 9527;68556;3690;3814;0;8294822 + 9528;68568;3690;3814;0;8294822 + 9529;68569;3690;3815;0;8363391 + 9530;68580;3690;3815;0;8363391 + 9531;68592;3690;3815;0;8363391 + 9532;68593;3690;3816;0;8431984 + 9533;68604;3690;3816;0;8431984 + 9534;68608;3690;3817;0;8500592 + 9535;68616;3690;3817;0;8500592 + 9536;68628;3690;3817;0;8500592 + 9537;68631;3710;3818;0;7238632 + 9538;68640;3710;3818;0;7238632 + 9539;68649;3710;3819;0;7307281 + 9540;68652;3710;3819;0;7307281 + 9541;68664;3710;3819;0;7307281 + 9542;68667;3710;3820;0;7375948 + 9543;68676;3710;3820;0;7375948 + 9544;68683;3710;3821;0;7444631 + 9545;68688;3710;3821;0;7444631 + 9546;68700;3710;3821;0;7444631 + 9547;68702;3710;3822;0;7513333 + 9548;68712;3710;3822;0;7513333 + 9549;68724;3710;3822;0;7513333 + 9550;68724;3710;3823;0;7582057 + 9551;68736;3710;3823;0;7582057 + 9552;68739;3710;3824;0;7650796 + 9553;68748;3710;3824;0;7650796 + 9554;68751;3710;3825;0;7719547 + 9555;68760;3710;3825;0;7719547 + 9556;68764;3710;3826;0;7788311 + 9557;68772;3710;3826;0;7788311 + 9558;68778;3710;3827;0;7857089 + 9559;68784;3710;3827;0;7857089 + 9560;68796;3710;3827;0;7857089 + 9561;68797;3710;3828;0;7925886 + 9562;68808;3710;3828;0;7925886 + 9563;68820;3710;3828;0;7925886 + 9564;68820;3710;3829;0;7994706 + 9565;68832;3710;3829;0;7994706 + 9566;68838;3710;3830;0;8063544 + 9567;68844;3710;3830;0;8063544 + 9568;68856;3710;3830;0;8063544 + 9569;68858;3720;3831;0;7464418 + 9570;68868;3720;3831;0;7464418 + 9571;68880;3720;3831;0;7464418 + 9572;68882;3720;3832;0;7533300 + 9573;68892;3720;3832;0;7533300 + 9574;68895;3720;3833;0;7602195 + 9575;68904;3720;3833;0;7602195 + 9576;68910;3720;3834;0;7671105 + 9577;68916;3720;3834;0;7671105 + 9578;68924;3720;3835;0;7740029 + 9579;68928;3720;3835;0;7740029 + 9580;68940;3720;3835;0;7740029 + 9581;68940;3720;3836;0;7808969 + 9582;68952;3720;3836;0;7808969 + 9583;68960;3720;3837;0;7877929 + 9584;68964;3720;3837;0;7877929 + 9585;68973;3720;3838;0;7946902 + 9586;68976;3720;3838;0;7946902 + 9587;68986;3730;3839;0;7346201 + 9588;68988;3730;3839;0;7346201 + 9589;69000;3730;3839;0;7346201 + 9590;69004;3730;3840;0;7415205 + 9591;69012;3730;3840;0;7415205 + 9592;69020;3730;3841;0;7484225 + 9593;69024;3730;3841;0;7484225 + 9594;69036;3730;3841;0;7484225 + 9595;69036;3730;3842;0;7553261 + 9596;69048;3730;3842;0;7553261 + 9597;69054;3730;3843;0;7622315 + 9598;69060;3730;3843;0;7622315 + 9599;69069;3730;3844;0;7691384 + 9600;69072;3730;3844;0;7691384 + 9601;69084;3730;3844;0;7691384 + 9602;69086;3730;3845;0;7760470 + 9603;69096;3730;3845;0;7760470 + 9604;69098;3730;3846;0;7829568 + 9605;69108;3730;3846;0;7829568 + 9606;69120;3730;3846;0;7829568 + 9607;69120;3730;3847;0;7898688 + 9608;69132;3730;3847;0;7898688 + 9609;69137;3730;3848;0;7967825 + 9610;69144;3730;3848;0;7967825 + 9611;69153;3730;3849;0;8036978 + 9612;69156;3730;3849;0;8036978 + 9613;69166;3730;3850;0;8106144 + 9614;69168;3730;3850;0;8106144 + 9615;69180;3730;3850;0;8106144 + 9616;69190;3730;3851;0;8175334 + 9617;69192;3730;3851;0;8175334 + 9618;69204;3730;3851;0;8175334 + 9619;69212;3730;3852;0;8244546 + 9620;69216;3730;3852;0;8244546 + 9621;69227;3730;3853;0;8313773 + 9622;69228;3730;3853;0;8313773 + 9623;69240;3740;3853;0;7642332 + 9624;69245;3760;3854;0;6363614 + 9625;69252;3760;3854;0;6363614 + 9626;69264;3760;3854;0;6363614 + 9627;69268;3760;3855;0;6432882 + 9628;69276;3760;3855;0;6432882 + 9629;69281;3760;3856;0;6502163 + 9630;69288;3760;3856;0;6502163 + 9631;69299;3760;3857;0;6571462 + 9632;69300;3760;3857;0;6571462 + 9633;69312;3760;3857;0;6571462 + 9634;69315;3760;3858;0;6640777 + 9635;69324;3760;3858;0;6640777 + 9636;69336;3760;3858;0;6640777 + 9637;69336;3760;3859;0;6710113 + 9638;69348;3760;3859;0;6710113 + 9639;69354;3760;3860;0;6779467 + 9640;69360;3760;3860;0;6779467 + 9641;69372;3760;3860;0;6779467 + 9642;69378;3760;3861;0;6848845 + 9643;69384;3760;3861;0;6848845 + 9644;69392;3760;3862;0;6918237 + 9645;69396;3760;3862;0;6918237 + 9646;69408;3760;3862;0;6918237 + 9647;69416;3760;3863;0;6987653 + 9648;69420;3760;3863;0;6987653 + 9649;69432;3760;3863;0;6987653 + 9650;69433;3760;3864;0;7057086 + 9651;69444;3760;3864;0;7057086 + 9652;69452;3770;3865;0;6449906 + 9653;69456;3770;3865;0;6449906 + 9654;69466;3770;3866;0;6519372 + 9655;69468;3770;3866;0;6519372 + 9656;69480;3770;3866;0;6519372 + 9657;69485;3770;3867;0;6588857 + 9658;69492;3770;3867;0;6588857 + 9659;69502;3770;3868;0;6658359 + 9660;69504;3770;3868;0;6658359 + 9661;69516;3770;3868;0;6658359 + 9662;69521;3770;3869;0;6727880 + 9663;69528;3770;3869;0;6727880 + 9664;69534;3770;3870;0;6797414 + 9665;69540;3770;3870;0;6797414 + 9666;69552;3770;3870;0;6797414 + 9667;69556;3770;3871;0;6866970 + 9668;69564;3770;3871;0;6866970 + 9669;69576;3770;3871;0;6866970 + 9670;69579;3770;3872;0;6936549 + 9671;69588;3770;3872;0;6936549 + 9672;69598;3770;3873;0;7006147 + 9673;69600;3770;3873;0;7006147 + 9674;69612;3770;3873;0;7006147 + 9675;69615;3770;3874;0;7075762 + 9676;69624;3770;3874;0;7075762 + 9677;69636;3770;3874;0;7075762 + 9678;69638;3770;3875;0;7145400 + 9679;69648;3770;3875;0;7145400 + 9680;69660;3770;3875;0;7145400 + 9681;69660;3770;3876;0;7215060 + 9682;69672;3770;3876;0;7215060 + 9683;69684;3770;3876;0;7215060 + 9684;69684;3770;3877;0;7284744 + 9685;69696;3770;3877;0;7284744 + 9686;69699;3770;3878;0;7354443 + 9687;69708;3770;3878;0;7354443 + 9688;69715;3770;3879;0;7424158 + 9689;69720;3770;3879;0;7424158 + 9690;69732;3770;3879;0;7424158 + 9691;69734;3770;3880;0;7493892 + 9692;69744;3770;3880;0;7493892 + 9693;69751;3770;3881;0;7563643 + 9694;69756;3770;3881;0;7563643 + 9695;69768;3770;3881;0;7563643 + 9696;69772;3770;3882;0;7633415 + 9697;69780;3770;3882;0;7633415 + 9698;69791;3770;3883;0;7703206 + 9699;69792;3770;3883;0;7703206 + 9700;69804;3770;3883;0;7703206 + 9701;69806;3770;3884;0;7773012 + 9702;69816;3770;3884;0;7773012 + 9703;69822;3770;3885;0;7842834 + 9704;69828;3770;3885;0;7842834 + 9705;69834;3770;3886;0;7912668 + 9706;69840;3770;3886;0;7912668 + 9707;69852;3770;3886;0;7912668 + 9708;69853;3770;3887;0;7982521 + 9709;69864;3770;3887;0;7982521 + 9710;69873;3770;3888;0;8052394 + 9711;69876;3770;3888;0;8052394 + 9712;69888;3770;3888;0;8052394 + 9713;69888;3770;3889;0;8122282 + 9714;69900;3770;3889;0;8122282 + 9715;69904;3770;3890;0;8192186 + 9716;69912;3770;3890;0;8192186 + 9717;69924;3770;3890;0;8192186 + 9718;69926;3770;3891;0;8262112 + 9719;69936;3770;3891;0;8262112 + 9720;69948;3770;3891;0;8262112 + 9721;69949;3770;3892;0;8332061 + 9722;69960;3770;3892;0;8332061 + 9723;69972;3770;3892;0;8332061 + 9724;69972;3770;3893;0;8402033 + 9725;69984;3770;3893;0;8402033 + 9726;69992;3770;3894;0;8472025 + 9727;69996;3770;3894;0;8472025 + 9728;70008;3770;3894;0;8472025 + 9729;70014;3770;3895;0;8542039 + 9730;70020;3770;3895;0;8542039 + 9731;70026;3770;3896;0;8612065 + 9732;70032;3770;3896;0;8612065 + 9733;70039;3770;3897;0;8682104 + 9734;70044;3770;3897;0;8682104 + 9735;70052;3780;3898;0;8073684 + 9736;70056;3780;3898;0;8073684 + 9737;70068;3780;3898;0;8073684 + 9738;70068;3780;3899;0;8143752 + 9739;70080;3780;3899;0;8143752 + 9740;70084;3780;3900;0;8213836 + 9741;70092;3780;3900;0;8213836 + 9742;70101;3780;3901;0;8283937 + 9743;70104;3780;3901;0;8283937 + 9744;70114;3790;3902;0;7673774 + 9745;70116;3790;3902;0;7673774 + 9746;70128;3790;3902;0;7673774 + 9747;70129;3790;3903;0;7743903 + 9748;70140;3790;3903;0;7743903 + 9749;70152;3790;3903;0;7743903 + 9750;70153;3790;3904;0;7814056 + 9751;70164;3790;3904;0;7814056 + 9752;70175;3790;3905;0;7884231 + 9753;70176;3790;3905;0;7884231 + 9754;70188;3790;3905;0;7884231 + 9755;70188;3790;3906;0;7954419 + 9756;70200;3790;3906;0;7954419 + 9757;70210;3790;3907;0;8024629 + 9758;70212;3790;3907;0;8024629 + 9759;70224;3790;3907;0;8024629 + 9760;70227;3800;3908;0;7412721 + 9761;70236;3800;3908;0;7412721 + 9762;70248;3800;3908;0;7412721 + 9763;70250;3800;3909;0;7482971 + 9764;70260;3800;3909;0;7482971 + 9765;70272;3800;3909;0;7482971 + 9766;70274;3800;3910;0;7553245 + 9767;70284;3800;3910;0;7553245 + 9768;70290;3800;3911;0;7623535 + 9769;70296;3800;3911;0;7623535 + 9770;70307;3800;3912;0;7693842 + 9771;70308;3800;3912;0;7693842 + 9772;70320;3800;3912;0;7693842 + 9773;70322;3800;3913;0;7764164 + 9774;70332;3800;3913;0;7764164 + 9775;70336;3800;3914;0;7834500 + 9776;70344;3800;3914;0;7834500 + 9777;70355;3800;3915;0;7904855 + 9778;70356;3800;3915;0;7904855 + 9779;70368;3800;3915;0;7904855 + 9780;70379;3800;3916;0;7975234 + 9781;70380;3800;3916;0;7975234 + 9782;70392;3800;3916;0;7975234 + 9783;70400;3800;3917;0;8045634 + 9784;70404;3800;3917;0;8045634 + 9785;70416;3800;3917;0;8045634 + 9786;70417;3800;3918;0;8116051 + 9787;70428;3800;3918;0;8116051 + 9788;70438;3800;3919;0;8186489 + 9789;70440;3800;3919;0;8186489 + 9790;70452;3800;3919;0;8186489 + 9791;70459;3800;3920;0;8256948 + 9792;70464;3800;3920;0;8256948 + 9793;70475;3800;3921;0;8327423 + 9794;70476;3800;3921;0;8327423 + 9795;70488;3800;3921;0;8327423 + 9796;70491;3800;3922;0;8397914 + 9797;70500;3800;3922;0;8397914 + 9798;70512;3800;3922;0;8397914 + 9799;70514;3800;3923;0;8468428 + 9800;70524;3800;3923;0;8468428 + 9801;70534;3800;3924;0;8538962 + 9802;70536;3800;3924;0;8538962 + 9803;70548;3800;3924;0;8538962 + 9804;70556;3800;3925;0;8609518 + 9805;70560;3800;3925;0;8609518 + 9806;70572;3800;3925;0;8609518 + 9807;70572;3800;3926;0;8680090 + 9808;70584;3800;3926;0;8680090 + 9809;70586;3800;3927;0;8750676 + 9810;70596;3800;3927;0;8750676 + 9811;70602;3800;3928;0;8821278 + 9812;70608;3800;3928;0;8821278 + 9813;70620;3800;3928;0;8821278 + 9814;70624;3800;3929;0;8891902 + 9815;70632;3800;3929;0;8891902 + 9816;70641;3810;3930;0;8278514 + 9817;70644;3810;3930;0;8278514 + 9818;70656;3810;3930;0;8278514 + 9819;70658;3820;3931;0;7663161 + 9820;70668;3820;3931;0;7663161 + 9821;70680;3820;3931;0;7663161 + 9822;70681;3820;3932;0;7733842 + 9823;70692;3820;3932;0;7733842 + 9824;70696;3820;3933;0;7804538 + 9825;70704;3820;3933;0;7804538 + 9826;70715;3820;3934;0;7875253 + 9827;70716;3820;3934;0;7875253 + 9828;70728;3830;3934;0;7187482 + 9829;70739;3830;3935;0;7258221 + 9830;70740;3830;3935;0;7258221 + 9831;70752;3830;3935;0;7258221 + 9832;70757;3830;3936;0;7328978 + 9833;70764;3830;3936;0;7328978 + 9834;70774;3830;3937;0;7399752 + 9835;70776;3830;3937;0;7399752 + 9836;70788;3830;3937;0;7399752 + 9837;70797;3830;3938;0;7470549 + 9838;70800;3830;3938;0;7470549 + 9839;70812;3830;3938;0;7470549 + 9840;70814;3830;3939;0;7541363 + 9841;70824;3830;3939;0;7541363 + 9842;70827;3830;3940;0;7612190 + 9843;70836;3830;3940;0;7612190 + 9844;70848;3830;3940;0;7612190 + 9845;70849;3830;3941;0;7683039 + 9846;70860;3830;3941;0;7683039 + 9847;70867;3830;3942;0;7753906 + 9848;70872;3830;3942;0;7753906 + 9849;70884;3830;3942;0;7753906 + 9850;70886;3830;3943;0;7824792 + 9851;70896;3830;3943;0;7824792 + 9852;70905;3830;3944;0;7895697 + 9853;70908;3830;3944;0;7895697 + 9854;70918;3830;3945;0;7966615 + 9855;70920;3830;3945;0;7966615 + 9856;70932;3830;3945;0;7966615 + 9857;70936;3830;3946;0;8037551 + 9858;70944;3830;3946;0;8037551 + 9859;70952;3830;3947;0;8108503 + 9860;70956;3830;3947;0;8108503 + 9861;70964;3830;3948;0;8179467 + 9862;70968;3830;3948;0;8179467 + 9863;70980;3830;3948;0;8179467 + 9864;70988;3830;3949;0;8250455 + 9865;70992;3830;3949;0;8250455 + 9866;71004;3830;3949;0;8250455 + 9867;71004;3830;3950;0;8321459 + 9868;71016;3830;3950;0;8321459 + 9869;71016;3830;3951;0;8392475 + 9870;71028;3830;3951;0;8392475 + 9871;71028;3830;3952;0;8463503 + 9872;71040;3830;3952;0;8463503 + 9873;71043;3830;3953;0;8534546 + 9874;71052;3830;3953;0;8534546 + 9875;71061;3830;3954;0;8605607 + 9876;71064;3830;3954;0;8605607 + 9877;71076;3830;3954;0;8605607 + 9878;71085;3830;3955;0;8676692 + 9879;71088;3830;3955;0;8676692 + 9880;71100;3830;3955;0;8676692 + 9881;71107;3830;3956;0;8747799 + 9882;71112;3830;3956;0;8747799 + 9883;71121;3830;3957;0;8818920 + 9884;71124;3830;3957;0;8818920 + 9885;71136;3830;3957;0;8818920 + 9886;71145;3830;3958;0;8890065 + 9887;71148;3830;3958;0;8890065 + 9888;71157;3830;3959;0;8961222 + 9889;71160;3830;3959;0;8961222 + 9890;71172;3830;3959;0;8961222 + 9891;71176;3840;3960;0;8342904 + 9892;71184;3840;3960;0;8342904 + 9893;71194;3850;3961;0;7722989 + 9894;71196;3850;3961;0;7722989 + 9895;71207;3850;3962;0;7794196 + 9896;71208;3850;3962;0;7794196 + 9897;71220;3850;3962;0;7794196 + 9898;71223;3850;3963;0;7865419 + 9899;71232;3850;3963;0;7865419 + 9900;71244;3850;3963;0;7865419 + 9901;71244;3850;3964;0;7936663 + 9902;71256;3850;3964;0;7936663 + 9903;71256;3850;3965;0;8007919 + 9904;71268;3850;3965;0;8007919 + 9905;71279;3850;3966;0;8079198 + 9906;71280;3850;3966;0;8079198 + 9907;71292;3850;3966;0;8079198 + 9908;71300;3850;3967;0;8150498 + 9909;71304;3850;3967;0;8150498 + 9910;71316;3850;3967;0;8150498 + 9911;71324;3850;3968;0;8221822 + 9912;71328;3850;3968;0;8221822 + 9913;71340;3850;3968;0;8221822 + 9914;71341;3850;3969;0;8293163 + 9915;71352;3850;3969;0;8293163 + 9916;71359;3850;3970;0;8364522 + 9917;71364;3850;3970;0;8364522 + 9918;71376;3850;3970;0;8364522 + 9919;71382;3850;3971;0;8435904 + 9920;71388;3850;3971;0;8435904 + 9921;71400;3850;3971;0;8435904 + 9922;71402;3850;3972;0;8507306 + 9923;71412;3850;3972;0;8507306 + 9924;71414;3850;3973;0;8578720 + 9925;71424;3850;3973;0;8578720 + 9926;71426;3850;3974;0;8650146 + 9927;71436;3850;3974;0;8650146 + 9928;71447;3850;3975;0;8721593 + 9929;71448;3850;3975;0;8721593 + 9930;71460;3850;3975;0;8721593 + 9931;71461;3850;3976;0;8793054 + 9932;71472;3850;3976;0;8793054 + 9933;71476;3850;3977;0;8864530 + 9934;71484;3850;3977;0;8864530 + 9935;71494;3850;3978;0;8936024 + 9936;71496;3850;3978;0;8936024 + 9937;71508;3850;3978;0;8936024 + 9938;71510;3850;3979;0;9007534 + 9939;71520;3850;3979;0;9007534 + 9940;71523;3850;3980;0;9079057 + 9941;71532;3850;3980;0;9079057 + 9942;71542;3850;3981;0;9150599 + 9943;71544;3850;3981;0;9150599 + 9944;71556;3850;3981;0;9150599 + 9945;71563;3850;3982;0;9222162 + 9946;71568;3850;3982;0;9222162 + 9947;71575;3850;3983;0;9293737 + 9948;71580;3850;3983;0;9293737 + 9949;71590;3850;3984;0;9365327 + 9950;71592;3850;3984;0;9365327 + 9951;71604;3850;3984;0;9365327 + 9952;71612;3850;3985;0;9436939 + 9953;71616;3850;3985;0;9436939 + 9954;71628;3850;3985;0;9436939 + 9955;71632;3850;3986;0;9508571 + 9956;71640;3850;3986;0;9508571 + 9957;71652;3850;3986;0;9508571 + 9958;71652;3850;3987;0;9580223 + 9959;71664;3850;3987;0;9580223 + 9960;71671;3850;3988;0;9651894 + 9961;71676;3850;3988;0;9651894 + 9962;71688;3870;3988;0;8264222 + 9963;71690;3870;3989;0;8335912 + 9964;71700;3870;3989;0;8335912 + 9965;71704;3870;3990;0;8407616 + 9966;71712;3870;3990;0;8407616 + 9967;71724;3870;3990;0;8407616 + 9968;71728;3870;3991;0;8479344 + 9969;71736;3870;3991;0;8479344 + 9970;71745;3870;3992;0;8551089 + 9971;71748;3870;3992;0;8551089 + 9972;71760;3870;3992;0;8551089 + 9973;71763;3870;3993;0;8622852 + 9974;71772;3870;3993;0;8622852 + 9975;71784;3870;3993;0;8622852 + 9976;71784;3870;3994;0;8694636 + 9977;71796;3870;3994;0;8694636 + 9978;71806;3870;3995;0;8766442 + 9979;71808;3870;3995;0;8766442 + 9980;71820;3870;3995;0;8766442 + 9981;71822;3870;3996;0;8838264 + 9982;71832;3870;3996;0;8838264 + 9983;71842;3870;3997;0;8910106 + 9984;71844;3870;3997;0;8910106 + 9985;71856;3870;3997;0;8910106 + 9986;71864;3870;3998;0;8981970 + 9987;71868;3870;3998;0;8981970 + 9988;71879;3870;3999;0;9053849 + 9989;71880;3870;3999;0;9053849 + 9990;71892;3870;3999;0;9053849 + 9991;71897;3870;4000;0;9125746 + 9992;71904;3870;4000;0;9125746 + 9993;71909;3870;4001;0;9197655 + 9994;71916;3870;4001;0;9197655 + 9995;71928;3870;4001;0;9197655 + 9996;71940;3870;4001;0;9197655 + 9997;71952;3870;4001;0;9197655 + 9998;71964;3870;4001;0;9197655 + 9999;71976;3880;4001;0;8500982 + 10000;71988;3880;4001;0;8500982 + 10001;72000;3880;4001;0;8500982 + 10002;72012;3880;4001;0;8500982 + 10003;72024;3880;4001;0;8500982 + 10004;72036;3880;4001;0;8500982 + 10005;72048;3880;4001;0;8500982 + 10006;72060;3880;4001;0;8500982 + 10007;72072;3880;4001;0;8500982 + 10008;72084;3880;4001;0;8500982 + 10009;72096;3880;4001;0;8500982 + 10010;72108;3880;4001;0;8500982 + 10011;72120;3880;4001;0;8500982 + 10012;72132;3880;4001;0;8500982 + 10013;72144;3880;4001;0;8500982 + 10014;72156;3880;4001;0;8500982 + 10015;72168;3880;4001;0;8500982 + 10016;72180;3880;4001;0;8500982 + 10017;72192;3880;4001;0;8500982 + 10018;72204;3880;4001;0;8500982 + 10019;72216;3880;4001;0;8500982 + 10020;72228;3880;4001;0;8500982 + 10021;72240;3890;4001;0;7802513 + 10022;72252;3900;4001;0;7102216 + 10023;72264;3900;4001;0;7102216 + 10024;72276;3900;4001;0;7102216 + 10025;72288;3900;4001;0;7102216 + 10026;72300;3900;4001;0;7102216 + 10027;72312;3900;4001;0;7102216 + 10028;72324;3900;4001;0;7102216 + 10029;72336;3900;4001;0;7102216 + 10030;72348;3900;4001;0;7102216 + 10031;72360;3900;4001;0;7102216 + 10032;72372;3900;4001;0;7102216 + 10033;72384;3900;4001;0;7102216 + 10034;72396;3900;4001;0;7102216 + 10035;72408;3900;4001;0;7102216 + 10036;72420;3900;4001;0;7102216 + 10037;72432;3900;4001;0;7102216 + 10038;72444;3900;4001;0;7102216 + 10039;72456;3900;4001;0;7102216 + 10040;72468;3900;4001;0;7102216 + 10041;72480;3900;4001;0;7102216 + 10042;72492;3900;4001;0;7102216 + 10043;72504;3900;4001;0;7102216 + 10044;72516;3900;4001;0;7102216 + 10045;72528;3900;4001;0;7102216 + 10046;72540;3900;4001;0;7102216 + 10047;72552;3900;4001;0;7102216 + 10048;72564;3900;4001;0;7102216 + 10049;72576;3900;4001;0;7102216 + 10050;72588;3900;4001;0;7102216 + 10051;72600;3900;4001;0;7102216 + 10052;72612;3900;4001;0;7102216 + 10053;72624;3900;4001;0;7102216 + 10054;72636;3900;4001;0;7102216 + 10055;72648;3900;4001;0;7102216 + 10056;72660;3910;4001;0;6400206 + 10057;72672;3910;4001;0;6400206 + 10058;72684;3910;4001;0;6400206 + 10059;72696;3910;4001;0;6400206 + 10060;72708;3910;4001;0;6400206 + 10061;72720;3910;4001;0;6400206 + 10062;72732;3910;4001;0;6400206 + 10063;72744;3910;4001;0;6400206 + 10064;72756;3910;4001;0;6400206 + 10065;72768;3910;4001;0;6400206 + 10066;72780;3910;4001;0;6400206 + 10067;72792;3920;4001;0;5696318 + 10068;72804;3920;4001;0;5696318 + 10069;72816;3920;4001;0;5696318 + 10070;72828;3920;4001;0;5696318 + 10071;72840;3920;4001;0;5696318 + 10072;72852;3920;4001;0;5696318 + 10073;72864;3920;4001;0;5696318 + 10074;72876;3920;4001;0;5696318 + 10075;72888;3920;4001;0;5696318 + 10076;72900;3920;4001;0;5696318 + 10077;72912;3930;4001;0;4990540 + 10078;72924;3930;4001;0;4990540 + 10079;72936;3930;4001;0;4990540 + 10080;72948;3930;4001;0;4990540 + 10081;72960;3930;4001;0;4990540 + 10082;72972;3930;4001;0;4990540 + 10083;72984;3930;4001;0;4990540 + 10084;72996;3930;4001;0;4990540 + 10085;73008;3930;4001;0;4990540 + 10086;73020;3930;4001;0;4990540 + 10087;73032;3930;4001;0;4990540 + 10088;73044;3930;4001;0;4990540 + 10089;73056;3930;4001;0;4990540 + 10090;73068;3930;4001;0;4990540 + 10091;73080;3930;4001;0;4990540 + 10092;73092;3930;4001;0;4990540 + 10093;73104;3930;4001;0;4990540 + 10094;73116;3930;4001;0;4990540 + 10095;73128;3930;4001;0;4990540 + 10096;73140;3930;4001;0;4990540 + 10097;73152;3930;4001;0;4990540 + 10098;73164;3930;4001;0;4990540 + 10099;73176;3930;4001;0;4990540 + 10100;73188;3930;4001;0;4990540 + 10101;73200;3930;4001;0;4990540 + 10102;73212;3930;4001;0;4990540 + 10103;73224;3930;4001;0;4990540 + 10104;73236;3930;4001;0;4990540 + 10105;73248;3930;4001;0;4990540 + 10106;73260;3930;4001;0;4990540 + 10107;73272;3930;4001;0;4990540 + 10108;73284;3930;4001;0;4990540 + 10109;73296;3930;4001;0;4990540 + 10110;73308;3930;4001;0;4990540 + 10111;73320;3930;4001;0;4990540 + 10112;73332;3930;4001;0;4990540 + 10113;73344;3930;4001;0;4990540 + 10114;73356;3940;4001;0;4282891 + 10115;73368;3940;4001;0;4282891 + 10116;73380;3940;4001;0;4282891 + 10117;73392;3950;4001;0;3573455 + 10118;73404;3950;4001;0;3573455 + 10119;73416;3950;4001;0;3573455 + 10120;73428;3950;4001;0;3573455 + 10121;73440;3950;4001;0;3573455 + 10122;73452;3950;4001;0;3573455 + 10123;73464;3950;4001;0;3573455 + 10124;73476;3950;4001;0;3573455 + 10125;73488;3950;4001;0;3573455 + 10126;73500;3950;4001;0;3573455 + 10127;73512;3950;4001;0;3573455 + 10128;73524;3950;4001;0;3573455 + 10129;73536;3960;4001;0;2862338 + 10130;73548;3960;4001;0;2862338 + 10131;73560;3960;4001;0;2862338 + 10132;73572;3960;4001;0;2862338 + 10133;73584;3960;4001;0;2862338 + 10134;73596;3960;4001;0;2862338 + 10135;73608;3960;4001;0;2862338 + 10136;73620;3960;4001;0;2862338 + 10137;73632;3960;4001;0;2862338 + 10138;73644;3960;4001;0;2862338 + 10139;73656;3960;4001;0;2862338 + 10140;73668;3960;4001;0;2862338 + 10141;73680;3960;4001;0;2862338 + 10142;73692;3960;4001;0;2862338 + 10143;73704;3960;4001;0;2862338 + 10144;73716;3960;4001;0;2862338 + 10145;73728;3960;4001;0;2862338 + 10146;73740;3960;4001;0;2862338 + 10147;73752;3960;4001;0;2862338 + 10148;73764;3960;4001;0;2862338 + 10149;73776;3960;4001;0;2862338 + 10150;73788;3960;4001;0;2862338 + 10151;73800;3960;4001;0;2862338 + 10152;73812;3960;4001;0;2862338 + 10153;73824;3960;4001;0;2862338 + 10154;73836;3960;4001;0;2862338 + 10155;73848;3960;4001;0;2862338 + 10156;73860;3960;4001;0;2862338 + 10157;73872;3960;4001;0;2862338 + 10158;73884;3960;4001;0;2862338 + 10159;73896;3960;4001;0;2862338 + 10160;73908;3960;4001;0;2862338 + 10161;73920;3960;4001;0;2862338 + 10162;73932;3960;4001;0;2862338 + 10163;73944;3960;4001;0;2862338 + 10164;73956;3960;4001;0;2862338 + 10165;73968;3960;4001;0;2862338 + 10166;73980;3960;4001;0;2862338 + 10167;73992;3960;4001;0;2862338 + 10168;74004;3960;4001;0;2862338 + 10169;74016;3960;4001;0;2862338 + 10170;74028;3960;4001;0;2862338 + 10171;74040;3960;4001;0;2862338 + 10172;74052;3960;4001;0;2862338 + 10173;74064;3960;4001;0;2862338 + 10174;74076;3960;4001;0;2862338 + -----------------------------! + +Test result: ok. 1 passed; 0 failed; finished in 8.21s +| contracts/L1/TaikoToken.sol:TaikoToken contract | | | | | | +|-------------------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1203248 | 6042 | | | | | +| Function Name | min | avg | median | max | # calls | +| burn | 10388 | 10388 | 10388 | 10388 | 1 | +| init | 161878 | 161878 | 161878 | 161878 | 1 | +| mint | 48066 | 48066 | 48066 | 48066 | 1 | +| transfer | 30008 | 30008 | 30008 | 30008 | 1 | + + +| contracts/common/AddressManager.sol:AddressManager contract | | | | | | +|-------------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 268706 | 1374 | | | | | +| Function Name | min | avg | median | max | # calls | +| getAddress | 538 | 539 | 538 | 2538 | 8006 | +| init | 48211 | 48211 | 48211 | 48211 | 1 | +| setAddress | 3073 | 20991 | 24973 | 24973 | 11 | + + +| contracts/signal/SignalService.sol:SignalService contract | | | | | | +|-----------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1561631 | 7832 | | | | | +| Function Name | min | avg | median | max | # calls | +| init | 92994 | 92994 | 92994 | 92994 | 1 | + + +| test/LibLn.sol:LibLn contract | | | | | | +|-------------------------------|-----------------|------|--------|------|---------| +| Deployment Cost | Deployment Size | | | | | +| 227894 | 1196 | | | | | +| Function Name | min | avg | median | max | # calls | +| calcInitProofTimeIssued | 1626 | 1626 | 1626 | 1626 | 1 | + + +| test/TaikoL1.sim.sol:TaikoL1_b contract | | | | | | +|-----------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 3481693 | 17421 | | | | | +| Function Name | min | avg | median | max | # calls | +| depositTaikoToken | 40114 | 40114 | 40114 | 40114 | 1 | +| getBlockFee | 464 | 464 | 464 | 464 | 1 | +| getConfig | 2546 | 2546 | 2546 | 2546 | 1 | +| getStateVariables | 2251 | 2251 | 2251 | 10251 | 14175 | +| getVerifierName | 494 | 494 | 494 | 494 | 2 | +| init | 230235 | 230235 | 230235 | 230235 | 1 | +| proposeBlock | 25391 | 50495 | 25391 | 207866 | 4000 | +| proveBlock | 17096 | 49027 | 19043 | 199112 | 4000 | +| resolve(bytes32,bool)(address) | 2007 | 2009 | 2007 | 8507 | 4002 | +| resolve(uint256,bytes32,bool)(address) | 1964 | 1965 | 1964 | 3964 | 4002 | + + + diff --git a/packages/protocol/simulation/exports/simulation_data_1682761622.txt b/packages/protocol/simulation/exports/simulation_data_1682761622.txt new file mode 100644 index 00000000000..cff4f3c4097 --- /dev/null +++ b/packages/protocol/simulation/exports/simulation_data_1682761622.txt @@ -0,0 +1,14263 @@ + +> @taiko/protocol@0.6.1 test:sim /Users/keszeyd/work/taiko_major_upgrade_ref/taiko-mono/packages/protocol +> forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000 + +Compiling 1 files with 0.8.18 +Solc 0.8.18 finished in 3.94s +Compiler run successful + +Running 1 test for test/TaikoL1.sim.sol:TaikoL1Simulation +[PASS] test_90percent_quick_10percent_slow() (gas: 1236997265951) +Logs: + 31337 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0x72384992222BE015DE0146a6D7E5dA0E19d2Ba49 + 31337 45889272483043749622685123383852074881457604843399824532951312269642964140032 → 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5 + 167 52670410704698717800542732036128729340597328726126075889694804077029212815360 → 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb + 167 52640402180712775100801168841838825813708635172629202311207512447469335085056 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 167 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C + 167 52640402180752029697201414225623803055489816253066935491057410734051802742784 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 31337 16777316 → 0x08526067985167EcFcB1F9720C72DbBF36c96018 + 31337 52640402180752042938242321556083758872323763589890511990531751287648111558656 → 0x0F8458E544c9D4C7C25A881240727209caae20B8 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0x34A1D3fff3958843C43aD80F30b94c510645C316 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0xFEfC6BAF87cF3684058D62Da40Ff3A795946Ab06 + 0:[0→1] fee:100000000 nextEthDepositToProcess:0 numEthDeposits:0 // init + 31337 16777316 → 0x4d04375eCD86c2B81eb0F55B37aA3fAb41CeCBc4 + BlockId, ProofTime + 1 ; 1713 + 2 ; 243 + 3 ; 186 + 4 ; 233 + 5 ; 263 + 6 ; 107 + 7 ; 104 + 8 ; 80 + 9 ; 160 + 10 ; 173 + 11 ; 1769 + 12 ; 154 + 13 ; 114 + 14 ; 230 + 15 ; 213 + 16 ; 113 + 17 ; 110 + 18 ; 95 + 19 ; 211 + 20 ; 202 + 21 ; 2033 + 22 ; 118 + 23 ; 79 + 24 ; 252 + 25 ; 85 + 26 ; 296 + 27 ; 73 + 28 ; 256 + 29 ; 116 + 30 ; 122 + 31 ; 2076 + 32 ; 288 + 33 ; 166 + 34 ; 302 + 35 ; 292 + 36 ; 103 + 37 ; 196 + 38 ; 288 + 39 ; 288 + 40 ; 230 + 41 ; 2142 + 42 ; 188 + 43 ; 176 + 44 ; 212 + 45 ; 90 + 46 ; 145 + 47 ; 304 + 48 ; 291 + 49 ; 144 + 50 ; 265 + 51 ; 2294 + 52 ; 163 + 53 ; 237 + 54 ; 296 + 55 ; 125 + 56 ; 181 + 57 ; 239 + 58 ; 110 + 59 ; 245 + 60 ; 149 + 61 ; 2116 + 62 ; 123 + 63 ; 87 + 64 ; 75 + 65 ; 92 + 66 ; 186 + 67 ; 276 + 68 ; 114 + 69 ; 134 + 70 ; 240 + 71 ; 2215 + 72 ; 147 + 73 ; 259 + 74 ; 74 + 75 ; 149 + 76 ; 161 + 77 ; 244 + 78 ; 173 + 79 ; 275 + 80 ; 295 + 81 ; 2147 + 82 ; 157 + 83 ; 146 + 84 ; 160 + 85 ; 115 + 86 ; 105 + 87 ; 305 + 88 ; 103 + 89 ; 180 + 90 ; 310 + 91 ; 1905 + 92 ; 75 + 93 ; 83 + 94 ; 86 + 95 ; 276 + 96 ; 88 + 97 ; 123 + 98 ; 290 + 99 ; 113 + 100 ; 114 + 101 ; 1717 + 102 ; 96 + 103 ; 95 + 104 ; 133 + 105 ; 154 + 106 ; 174 + 107 ; 109 + 108 ; 276 + 109 ; 114 + 110 ; 185 + 111 ; 2199 + 112 ; 238 + 113 ; 200 + 114 ; 211 + 115 ; 215 + 116 ; 207 + 117 ; 250 + 118 ; 181 + 119 ; 174 + 120 ; 156 + 121 ; 1679 + 122 ; 202 + 123 ; 278 + 124 ; 294 + 125 ; 177 + 126 ; 309 + 127 ; 76 + 128 ; 75 + 129 ; 268 + 130 ; 265 + 131 ; 1971 + 132 ; 122 + 133 ; 278 + 134 ; 294 + 135 ; 126 + 136 ; 233 + 137 ; 284 + 138 ; 271 + 139 ; 256 + 140 ; 203 + 141 ; 2171 + 142 ; 180 + 143 ; 229 + 144 ; 178 + 145 ; 89 + 146 ; 280 + 147 ; 185 + 148 ; 121 + 149 ; 150 + 150 ; 113 + 151 ; 1852 + 152 ; 119 + 153 ; 237 + 154 ; 225 + 155 ; 274 + 156 ; 106 + 157 ; 124 + 158 ; 83 + 159 ; 141 + 160 ; 136 + 161 ; 2144 + 162 ; 180 + 163 ; 218 + 164 ; 245 + 165 ; 216 + 166 ; 189 + 167 ; 233 + 168 ; 167 + 169 ; 244 + 170 ; 129 + 171 ; 2193 + 172 ; 304 + 173 ; 130 + 174 ; 226 + 175 ; 196 + 176 ; 272 + 177 ; 195 + 178 ; 245 + 179 ; 274 + 180 ; 181 + 181 ; 2167 + 182 ; 90 + 183 ; 145 + 184 ; 206 + 185 ; 166 + 186 ; 291 + 187 ; 308 + 188 ; 94 + 189 ; 124 + 190 ; 248 + 191 ; 1929 + 192 ; 111 + 193 ; 83 + 194 ; 164 + 195 ; 228 + 196 ; 83 + 197 ; 219 + 198 ; 286 + 199 ; 260 + 200 ; 175 + 201 ; 2262 + 202 ; 227 + 203 ; 160 + 204 ; 92 + 205 ; 197 + 206 ; 107 + 207 ; 241 + 208 ; 267 + 209 ; 277 + 210 ; 162 + 211 ; 2227 + 212 ; 91 + 213 ; 230 + 214 ; 305 + 215 ; 204 + 216 ; 182 + 217 ; 285 + 218 ; 111 + 219 ; 255 + 220 ; 76 + 221 ; 1882 + 222 ; 222 + 223 ; 265 + 224 ; 124 + 225 ; 153 + 226 ; 178 + 227 ; 103 + 228 ; 219 + 229 ; 238 + 230 ; 230 + 231 ; 2249 + 232 ; 183 + 233 ; 280 + 234 ; 300 + 235 ; 228 + 236 ; 242 + 237 ; 305 + 238 ; 86 + 239 ; 251 + 240 ; 270 + 241 ; 2170 + 242 ; 299 + 243 ; 187 + 244 ; 157 + 245 ; 220 + 246 ; 77 + 247 ; 268 + 248 ; 179 + 249 ; 135 + 250 ; 246 + 251 ; 2048 + 252 ; 126 + 253 ; 300 + 254 ; 289 + 255 ; 85 + 256 ; 216 + 257 ; 267 + 258 ; 105 + 259 ; 311 + 260 ; 305 + 261 ; 1942 + 262 ; 151 + 263 ; 91 + 264 ; 263 + 265 ; 114 + 266 ; 248 + 267 ; 185 + 268 ; 247 + 269 ; 81 + 270 ; 112 + 271 ; 2178 + 272 ; 159 + 273 ; 133 + 274 ; 184 + 275 ; 102 + 276 ; 263 + 277 ; 83 + 278 ; 266 + 279 ; 105 + 280 ; 240 + 281 ; 1704 + 282 ; 242 + 283 ; 307 + 284 ; 118 + 285 ; 167 + 286 ; 261 + 287 ; 256 + 288 ; 309 + 289 ; 235 + 290 ; 100 + 291 ; 2257 + 292 ; 191 + 293 ; 186 + 294 ; 223 + 295 ; 271 + 296 ; 155 + 297 ; 242 + 298 ; 170 + 299 ; 291 + 300 ; 128 + 301 ; 2036 + 302 ; 284 + 303 ; 282 + 304 ; 303 + 305 ; 94 + 306 ; 306 + 307 ; 294 + 308 ; 88 + 309 ; 267 + 310 ; 139 + 311 ; 1938 + 312 ; 285 + 313 ; 280 + 314 ; 81 + 315 ; 254 + 316 ; 185 + 317 ; 156 + 318 ; 236 + 319 ; 89 + 320 ; 78 + 321 ; 1982 + 322 ; 265 + 323 ; 132 + 324 ; 144 + 325 ; 299 + 326 ; 155 + 327 ; 116 + 328 ; 293 + 329 ; 220 + 330 ; 251 + 331 ; 1617 + 332 ; 301 + 333 ; 143 + 334 ; 232 + 335 ; 160 + 336 ; 308 + 337 ; 258 + 338 ; 238 + 339 ; 201 + 340 ; 206 + 341 ; 1978 + 342 ; 206 + 343 ; 247 + 344 ; 94 + 345 ; 125 + 346 ; 134 + 347 ; 296 + 348 ; 235 + 349 ; 261 + 350 ; 237 + 351 ; 2311 + 352 ; 177 + 353 ; 253 + 354 ; 234 + 355 ; 103 + 356 ; 272 + 357 ; 274 + 358 ; 229 + 359 ; 124 + 360 ; 182 + 361 ; 2321 + 362 ; 150 + 363 ; 165 + 364 ; 110 + 365 ; 79 + 366 ; 274 + 367 ; 290 + 368 ; 142 + 369 ; 150 + 370 ; 88 + 371 ; 1679 + 372 ; 166 + 373 ; 158 + 374 ; 309 + 375 ; 234 + 376 ; 110 + 377 ; 88 + 378 ; 262 + 379 ; 187 + 380 ; 142 + 381 ; 1912 + 382 ; 84 + 383 ; 193 + 384 ; 151 + 385 ; 147 + 386 ; 280 + 387 ; 177 + 388 ; 278 + 389 ; 308 + 390 ; 85 + 391 ; 1750 + 392 ; 80 + 393 ; 140 + 394 ; 220 + 395 ; 260 + 396 ; 162 + 397 ; 137 + 398 ; 209 + 399 ; 217 + 400 ; 107 + 401 ; 2079 + 402 ; 161 + 403 ; 84 + 404 ; 305 + 405 ; 209 + 406 ; 230 + 407 ; 193 + 408 ; 146 + 409 ; 287 + 410 ; 156 + 411 ; 1885 + 412 ; 121 + 413 ; 79 + 414 ; 176 + 415 ; 144 + 416 ; 233 + 417 ; 82 + 418 ; 271 + 419 ; 221 + 420 ; 102 + 421 ; 1814 + 422 ; 292 + 423 ; 218 + 424 ; 279 + 425 ; 116 + 426 ; 114 + 427 ; 135 + 428 ; 296 + 429 ; 205 + 430 ; 170 + 431 ; 2261 + 432 ; 167 + 433 ; 262 + 434 ; 247 + 435 ; 275 + 436 ; 272 + 437 ; 82 + 438 ; 258 + 439 ; 221 + 440 ; 142 + 441 ; 2291 + 442 ; 241 + 443 ; 289 + 444 ; 225 + 445 ; 224 + 446 ; 121 + 447 ; 156 + 448 ; 74 + 449 ; 299 + 450 ; 174 + 451 ; 1829 + 452 ; 111 + 453 ; 204 + 454 ; 89 + 455 ; 307 + 456 ; 302 + 457 ; 111 + 458 ; 183 + 459 ; 149 + 460 ; 85 + 461 ; 2038 + 462 ; 211 + 463 ; 142 + 464 ; 306 + 465 ; 306 + 466 ; 130 + 467 ; 254 + 468 ; 130 + 469 ; 105 + 470 ; 170 + 471 ; 1858 + 472 ; 308 + 473 ; 83 + 474 ; 139 + 475 ; 199 + 476 ; 172 + 477 ; 291 + 478 ; 285 + 479 ; 185 + 480 ; 219 + 481 ; 2316 + 482 ; 200 + 483 ; 256 + 484 ; 163 + 485 ; 242 + 486 ; 196 + 487 ; 179 + 488 ; 152 + 489 ; 232 + 490 ; 163 + 491 ; 2248 + 492 ; 196 + 493 ; 230 + 494 ; 266 + 495 ; 252 + 496 ; 170 + 497 ; 139 + 498 ; 203 + 499 ; 132 + 500 ; 185 + 501 ; 2326 + 502 ; 214 + 503 ; 281 + 504 ; 102 + 505 ; 248 + 506 ; 269 + 507 ; 271 + 508 ; 83 + 509 ; 217 + 510 ; 306 + 511 ; 1671 + 512 ; 243 + 513 ; 206 + 514 ; 149 + 515 ; 195 + 516 ; 259 + 517 ; 201 + 518 ; 262 + 519 ; 193 + 520 ; 285 + 521 ; 1999 + 522 ; 211 + 523 ; 89 + 524 ; 121 + 525 ; 285 + 526 ; 207 + 527 ; 277 + 528 ; 261 + 529 ; 128 + 530 ; 192 + 531 ; 2020 + 532 ; 233 + 533 ; 275 + 534 ; 251 + 535 ; 97 + 536 ; 253 + 537 ; 243 + 538 ; 195 + 539 ; 226 + 540 ; 166 + 541 ; 1935 + 542 ; 122 + 543 ; 202 + 544 ; 271 + 545 ; 160 + 546 ; 156 + 547 ; 288 + 548 ; 275 + 549 ; 104 + 550 ; 219 + 551 ; 1829 + 552 ; 203 + 553 ; 242 + 554 ; 107 + 555 ; 279 + 556 ; 104 + 557 ; 222 + 558 ; 202 + 559 ; 119 + 560 ; 153 + 561 ; 2199 + 562 ; 82 + 563 ; 145 + 564 ; 311 + 565 ; 254 + 566 ; 127 + 567 ; 310 + 568 ; 291 + 569 ; 179 + 570 ; 304 + 571 ; 2400 + 572 ; 168 + 573 ; 90 + 574 ; 230 + 575 ; 138 + 576 ; 94 + 577 ; 245 + 578 ; 91 + 579 ; 265 + 580 ; 177 + 581 ; 1820 + 582 ; 164 + 583 ; 170 + 584 ; 297 + 585 ; 299 + 586 ; 88 + 587 ; 254 + 588 ; 176 + 589 ; 298 + 590 ; 97 + 591 ; 1866 + 592 ; 230 + 593 ; 132 + 594 ; 234 + 595 ; 250 + 596 ; 159 + 597 ; 145 + 598 ; 305 + 599 ; 223 + 600 ; 89 + 601 ; 2142 + 602 ; 222 + 603 ; 302 + 604 ; 100 + 605 ; 204 + 606 ; 147 + 607 ; 166 + 608 ; 263 + 609 ; 117 + 610 ; 258 + 611 ; 2389 + 612 ; 294 + 613 ; 188 + 614 ; 178 + 615 ; 108 + 616 ; 199 + 617 ; 254 + 618 ; 265 + 619 ; 165 + 620 ; 82 + 621 ; 2128 + 622 ; 134 + 623 ; 280 + 624 ; 93 + 625 ; 192 + 626 ; 195 + 627 ; 101 + 628 ; 108 + 629 ; 111 + 630 ; 90 + 631 ; 1765 + 632 ; 265 + 633 ; 199 + 634 ; 218 + 635 ; 135 + 636 ; 105 + 637 ; 164 + 638 ; 279 + 639 ; 165 + 640 ; 296 + 641 ; 2077 + 642 ; 90 + 643 ; 172 + 644 ; 280 + 645 ; 232 + 646 ; 301 + 647 ; 138 + 648 ; 234 + 649 ; 210 + 650 ; 238 + 651 ; 1738 + 652 ; 74 + 653 ; 97 + 654 ; 156 + 655 ; 128 + 656 ; 275 + 657 ; 308 + 658 ; 73 + 659 ; 192 + 660 ; 216 + 661 ; 2164 + 662 ; 107 + 663 ; 229 + 664 ; 113 + 665 ; 161 + 666 ; 263 + 667 ; 279 + 668 ; 117 + 669 ; 97 + 670 ; 251 + 671 ; 2390 + 672 ; 130 + 673 ; 132 + 674 ; 82 + 675 ; 275 + 676 ; 267 + 677 ; 111 + 678 ; 211 + 679 ; 117 + 680 ; 112 + 681 ; 1787 + 682 ; 260 + 683 ; 230 + 684 ; 106 + 685 ; 190 + 686 ; 266 + 687 ; 158 + 688 ; 192 + 689 ; 292 + 690 ; 307 + 691 ; 1702 + 692 ; 145 + 693 ; 182 + 694 ; 221 + 695 ; 110 + 696 ; 261 + 697 ; 302 + 698 ; 100 + 699 ; 161 + 700 ; 200 + 701 ; 2289 + 702 ; 306 + 703 ; 225 + 704 ; 255 + 705 ; 181 + 706 ; 74 + 707 ; 267 + 708 ; 235 + 709 ; 211 + 710 ; 100 + 711 ; 2115 + 712 ; 292 + 713 ; 106 + 714 ; 107 + 715 ; 299 + 716 ; 195 + 717 ; 248 + 718 ; 164 + 719 ; 196 + 720 ; 124 + 721 ; 2213 + 722 ; 217 + 723 ; 92 + 724 ; 103 + 725 ; 286 + 726 ; 159 + 727 ; 305 + 728 ; 124 + 729 ; 301 + 730 ; 273 + 731 ; 2376 + 732 ; 173 + 733 ; 134 + 734 ; 197 + 735 ; 211 + 736 ; 194 + 737 ; 232 + 738 ; 89 + 739 ; 280 + 740 ; 165 + 741 ; 2101 + 742 ; 111 + 743 ; 210 + 744 ; 241 + 745 ; 297 + 746 ; 290 + 747 ; 226 + 748 ; 240 + 749 ; 179 + 750 ; 168 + 751 ; 2015 + 752 ; 259 + 753 ; 192 + 754 ; 263 + 755 ; 229 + 756 ; 175 + 757 ; 107 + 758 ; 104 + 759 ; 276 + 760 ; 131 + 761 ; 2192 + 762 ; 208 + 763 ; 279 + 764 ; 160 + 765 ; 126 + 766 ; 184 + 767 ; 162 + 768 ; 218 + 769 ; 122 + 770 ; 219 + 771 ; 1727 + 772 ; 78 + 773 ; 145 + 774 ; 258 + 775 ; 198 + 776 ; 247 + 777 ; 243 + 778 ; 196 + 779 ; 171 + 780 ; 79 + 781 ; 2385 + 782 ; 283 + 783 ; 137 + 784 ; 104 + 785 ; 236 + 786 ; 234 + 787 ; 93 + 788 ; 107 + 789 ; 135 + 790 ; 265 + 791 ; 1630 + 792 ; 188 + 793 ; 117 + 794 ; 186 + 795 ; 295 + 796 ; 165 + 797 ; 199 + 798 ; 267 + 799 ; 87 + 800 ; 232 + 801 ; 2339 + 802 ; 142 + 803 ; 258 + 804 ; 102 + 805 ; 263 + 806 ; 148 + 807 ; 173 + 808 ; 130 + 809 ; 124 + 810 ; 285 + 811 ; 1927 + 812 ; 78 + 813 ; 180 + 814 ; 164 + 815 ; 153 + 816 ; 191 + 817 ; 172 + 818 ; 276 + 819 ; 86 + 820 ; 258 + 821 ; 1899 + 822 ; 310 + 823 ; 122 + 824 ; 178 + 825 ; 127 + 826 ; 134 + 827 ; 107 + 828 ; 266 + 829 ; 141 + 830 ; 162 + 831 ; 2000 + 832 ; 182 + 833 ; 205 + 834 ; 207 + 835 ; 148 + 836 ; 150 + 837 ; 167 + 838 ; 181 + 839 ; 182 + 840 ; 291 + 841 ; 2170 + 842 ; 300 + 843 ; 200 + 844 ; 186 + 845 ; 72 + 846 ; 297 + 847 ; 267 + 848 ; 285 + 849 ; 291 + 850 ; 154 + 851 ; 2409 + 852 ; 290 + 853 ; 261 + 854 ; 192 + 855 ; 257 + 856 ; 153 + 857 ; 292 + 858 ; 212 + 859 ; 72 + 860 ; 213 + 861 ; 2406 + 862 ; 143 + 863 ; 247 + 864 ; 215 + 865 ; 154 + 866 ; 129 + 867 ; 264 + 868 ; 157 + 869 ; 221 + 870 ; 114 + 871 ; 2039 + 872 ; 136 + 873 ; 230 + 874 ; 244 + 875 ; 133 + 876 ; 304 + 877 ; 170 + 878 ; 133 + 879 ; 182 + 880 ; 261 + 881 ; 2402 + 882 ; 219 + 883 ; 308 + 884 ; 297 + 885 ; 240 + 886 ; 243 + 887 ; 248 + 888 ; 263 + 889 ; 131 + 890 ; 281 + 891 ; 2376 + 892 ; 169 + 893 ; 96 + 894 ; 199 + 895 ; 190 + 896 ; 311 + 897 ; 171 + 898 ; 219 + 899 ; 214 + 900 ; 186 + 901 ; 2069 + 902 ; 307 + 903 ; 101 + 904 ; 109 + 905 ; 244 + 906 ; 239 + 907 ; 295 + 908 ; 108 + 909 ; 106 + 910 ; 273 + 911 ; 2146 + 912 ; 162 + 913 ; 277 + 914 ; 296 + 915 ; 120 + 916 ; 162 + 917 ; 289 + 918 ; 76 + 919 ; 153 + 920 ; 87 + 921 ; 2096 + 922 ; 105 + 923 ; 202 + 924 ; 201 + 925 ; 130 + 926 ; 228 + 927 ; 218 + 928 ; 76 + 929 ; 299 + 930 ; 143 + 931 ; 1633 + 932 ; 72 + 933 ; 180 + 934 ; 216 + 935 ; 166 + 936 ; 297 + 937 ; 288 + 938 ; 285 + 939 ; 127 + 940 ; 214 + 941 ; 1932 + 942 ; 292 + 943 ; 181 + 944 ; 281 + 945 ; 127 + 946 ; 140 + 947 ; 152 + 948 ; 237 + 949 ; 183 + 950 ; 297 + 951 ; 1945 + 952 ; 138 + 953 ; 115 + 954 ; 164 + 955 ; 252 + 956 ; 222 + 957 ; 237 + 958 ; 181 + 959 ; 240 + 960 ; 73 + 961 ; 2344 + 962 ; 164 + 963 ; 112 + 964 ; 88 + 965 ; 294 + 966 ; 191 + 967 ; 199 + 968 ; 241 + 969 ; 135 + 970 ; 127 + 971 ; 1803 + 972 ; 187 + 973 ; 213 + 974 ; 111 + 975 ; 244 + 976 ; 237 + 977 ; 247 + 978 ; 281 + 979 ; 301 + 980 ; 76 + 981 ; 1717 + 982 ; 178 + 983 ; 176 + 984 ; 220 + 985 ; 231 + 986 ; 239 + 987 ; 276 + 988 ; 218 + 989 ; 231 + 990 ; 291 + 991 ; 1744 + 992 ; 169 + 993 ; 199 + 994 ; 177 + 995 ; 200 + 996 ; 119 + 997 ; 246 + 998 ; 208 + 999 ; 168 + 1000 ; 77 + 1001 ; 1755 + 1002 ; 186 + 1003 ; 151 + 1004 ; 179 + 1005 ; 252 + 1006 ; 151 + 1007 ; 141 + 1008 ; 235 + 1009 ; 196 + 1010 ; 139 + 1011 ; 2016 + 1012 ; 257 + 1013 ; 155 + 1014 ; 87 + 1015 ; 221 + 1016 ; 83 + 1017 ; 121 + 1018 ; 182 + 1019 ; 288 + 1020 ; 156 + 1021 ; 1718 + 1022 ; 192 + 1023 ; 263 + 1024 ; 200 + 1025 ; 247 + 1026 ; 159 + 1027 ; 86 + 1028 ; 294 + 1029 ; 174 + 1030 ; 310 + 1031 ; 1932 + 1032 ; 307 + 1033 ; 294 + 1034 ; 157 + 1035 ; 308 + 1036 ; 111 + 1037 ; 179 + 1038 ; 258 + 1039 ; 120 + 1040 ; 83 + 1041 ; 1873 + 1042 ; 95 + 1043 ; 202 + 1044 ; 246 + 1045 ; 241 + 1046 ; 111 + 1047 ; 146 + 1048 ; 139 + 1049 ; 120 + 1050 ; 200 + 1051 ; 1677 + 1052 ; 91 + 1053 ; 267 + 1054 ; 208 + 1055 ; 208 + 1056 ; 199 + 1057 ; 222 + 1058 ; 224 + 1059 ; 253 + 1060 ; 115 + 1061 ; 2074 + 1062 ; 227 + 1063 ; 136 + 1064 ; 99 + 1065 ; 165 + 1066 ; 98 + 1067 ; 280 + 1068 ; 113 + 1069 ; 157 + 1070 ; 160 + 1071 ; 2374 + 1072 ; 287 + 1073 ; 146 + 1074 ; 190 + 1075 ; 145 + 1076 ; 89 + 1077 ; 162 + 1078 ; 222 + 1079 ; 305 + 1080 ; 172 + 1081 ; 1901 + 1082 ; 114 + 1083 ; 244 + 1084 ; 154 + 1085 ; 275 + 1086 ; 304 + 1087 ; 311 + 1088 ; 250 + 1089 ; 252 + 1090 ; 253 + 1091 ; 2055 + 1092 ; 174 + 1093 ; 201 + 1094 ; 237 + 1095 ; 180 + 1096 ; 219 + 1097 ; 89 + 1098 ; 277 + 1099 ; 262 + 1100 ; 142 + 1101 ; 2353 + 1102 ; 207 + 1103 ; 281 + 1104 ; 240 + 1105 ; 245 + 1106 ; 100 + 1107 ; 96 + 1108 ; 227 + 1109 ; 128 + 1110 ; 176 + 1111 ; 2034 + 1112 ; 294 + 1113 ; 257 + 1114 ; 72 + 1115 ; 114 + 1116 ; 217 + 1117 ; 128 + 1118 ; 96 + 1119 ; 134 + 1120 ; 178 + 1121 ; 1664 + 1122 ; 207 + 1123 ; 113 + 1124 ; 215 + 1125 ; 113 + 1126 ; 240 + 1127 ; 132 + 1128 ; 240 + 1129 ; 152 + 1130 ; 235 + 1131 ; 1687 + 1132 ; 305 + 1133 ; 93 + 1134 ; 291 + 1135 ; 280 + 1136 ; 127 + 1137 ; 305 + 1138 ; 156 + 1139 ; 116 + 1140 ; 257 + 1141 ; 1941 + 1142 ; 218 + 1143 ; 262 + 1144 ; 289 + 1145 ; 206 + 1146 ; 300 + 1147 ; 103 + 1148 ; 120 + 1149 ; 233 + 1150 ; 156 + 1151 ; 1856 + 1152 ; 283 + 1153 ; 147 + 1154 ; 193 + 1155 ; 74 + 1156 ; 199 + 1157 ; 293 + 1158 ; 307 + 1159 ; 212 + 1160 ; 294 + 1161 ; 1958 + 1162 ; 73 + 1163 ; 112 + 1164 ; 207 + 1165 ; 119 + 1166 ; 309 + 1167 ; 225 + 1168 ; 138 + 1169 ; 204 + 1170 ; 272 + 1171 ; 1912 + 1172 ; 160 + 1173 ; 120 + 1174 ; 131 + 1175 ; 84 + 1176 ; 268 + 1177 ; 167 + 1178 ; 282 + 1179 ; 219 + 1180 ; 189 + 1181 ; 2052 + 1182 ; 102 + 1183 ; 123 + 1184 ; 211 + 1185 ; 271 + 1186 ; 127 + 1187 ; 160 + 1188 ; 245 + 1189 ; 122 + 1190 ; 280 + 1191 ; 1905 + 1192 ; 167 + 1193 ; 184 + 1194 ; 170 + 1195 ; 102 + 1196 ; 297 + 1197 ; 78 + 1198 ; 140 + 1199 ; 98 + 1200 ; 104 + 1201 ; 2266 + 1202 ; 305 + 1203 ; 160 + 1204 ; 99 + 1205 ; 305 + 1206 ; 263 + 1207 ; 203 + 1208 ; 123 + 1209 ; 246 + 1210 ; 108 + 1211 ; 1619 + 1212 ; 305 + 1213 ; 312 + 1214 ; 77 + 1215 ; 99 + 1216 ; 132 + 1217 ; 113 + 1218 ; 233 + 1219 ; 188 + 1220 ; 130 + 1221 ; 2362 + 1222 ; 125 + 1223 ; 277 + 1224 ; 257 + 1225 ; 131 + 1226 ; 312 + 1227 ; 165 + 1228 ; 83 + 1229 ; 219 + 1230 ; 160 + 1231 ; 1874 + 1232 ; 246 + 1233 ; 269 + 1234 ; 165 + 1235 ; 177 + 1236 ; 187 + 1237 ; 238 + 1238 ; 108 + 1239 ; 193 + 1240 ; 196 + 1241 ; 2325 + 1242 ; 81 + 1243 ; 259 + 1244 ; 154 + 1245 ; 254 + 1246 ; 138 + 1247 ; 134 + 1248 ; 146 + 1249 ; 248 + 1250 ; 218 + 1251 ; 2005 + 1252 ; 233 + 1253 ; 231 + 1254 ; 163 + 1255 ; 158 + 1256 ; 255 + 1257 ; 289 + 1258 ; 296 + 1259 ; 190 + 1260 ; 277 + 1261 ; 2176 + 1262 ; 85 + 1263 ; 188 + 1264 ; 249 + 1265 ; 230 + 1266 ; 212 + 1267 ; 150 + 1268 ; 207 + 1269 ; 178 + 1270 ; 255 + 1271 ; 1965 + 1272 ; 275 + 1273 ; 194 + 1274 ; 188 + 1275 ; 215 + 1276 ; 94 + 1277 ; 118 + 1278 ; 173 + 1279 ; 157 + 1280 ; 214 + 1281 ; 2009 + 1282 ; 80 + 1283 ; 103 + 1284 ; 127 + 1285 ; 139 + 1286 ; 286 + 1287 ; 89 + 1288 ; 127 + 1289 ; 257 + 1290 ; 231 + 1291 ; 2379 + 1292 ; 311 + 1293 ; 187 + 1294 ; 117 + 1295 ; 302 + 1296 ; 193 + 1297 ; 173 + 1298 ; 283 + 1299 ; 133 + 1300 ; 209 + 1301 ; 1850 + 1302 ; 114 + 1303 ; 182 + 1304 ; 185 + 1305 ; 303 + 1306 ; 114 + 1307 ; 174 + 1308 ; 266 + 1309 ; 108 + 1310 ; 262 + 1311 ; 2224 + 1312 ; 304 + 1313 ; 193 + 1314 ; 283 + 1315 ; 229 + 1316 ; 311 + 1317 ; 299 + 1318 ; 170 + 1319 ; 80 + 1320 ; 140 + 1321 ; 1932 + 1322 ; 157 + 1323 ; 303 + 1324 ; 234 + 1325 ; 104 + 1326 ; 78 + 1327 ; 139 + 1328 ; 140 + 1329 ; 202 + 1330 ; 264 + 1331 ; 2187 + 1332 ; 191 + 1333 ; 107 + 1334 ; 153 + 1335 ; 178 + 1336 ; 108 + 1337 ; 258 + 1338 ; 78 + 1339 ; 134 + 1340 ; 197 + 1341 ; 1722 + 1342 ; 203 + 1343 ; 260 + 1344 ; 229 + 1345 ; 284 + 1346 ; 226 + 1347 ; 107 + 1348 ; 246 + 1349 ; 86 + 1350 ; 220 + 1351 ; 1751 + 1352 ; 221 + 1353 ; 242 + 1354 ; 77 + 1355 ; 206 + 1356 ; 286 + 1357 ; 241 + 1358 ; 200 + 1359 ; 183 + 1360 ; 256 + 1361 ; 2089 + 1362 ; 118 + 1363 ; 217 + 1364 ; 128 + 1365 ; 126 + 1366 ; 279 + 1367 ; 112 + 1368 ; 74 + 1369 ; 312 + 1370 ; 254 + 1371 ; 2314 + 1372 ; 278 + 1373 ; 288 + 1374 ; 85 + 1375 ; 169 + 1376 ; 309 + 1377 ; 187 + 1378 ; 280 + 1379 ; 74 + 1380 ; 213 + 1381 ; 1742 + 1382 ; 283 + 1383 ; 269 + 1384 ; 144 + 1385 ; 209 + 1386 ; 231 + 1387 ; 119 + 1388 ; 106 + 1389 ; 174 + 1390 ; 221 + 1391 ; 2155 + 1392 ; 144 + 1393 ; 134 + 1394 ; 182 + 1395 ; 218 + 1396 ; 129 + 1397 ; 199 + 1398 ; 107 + 1399 ; 205 + 1400 ; 131 + 1401 ; 2369 + 1402 ; 271 + 1403 ; 207 + 1404 ; 266 + 1405 ; 116 + 1406 ; 206 + 1407 ; 93 + 1408 ; 213 + 1409 ; 250 + 1410 ; 108 + 1411 ; 2237 + 1412 ; 181 + 1413 ; 208 + 1414 ; 226 + 1415 ; 164 + 1416 ; 80 + 1417 ; 98 + 1418 ; 151 + 1419 ; 179 + 1420 ; 192 + 1421 ; 1665 + 1422 ; 232 + 1423 ; 227 + 1424 ; 117 + 1425 ; 262 + 1426 ; 100 + 1427 ; 181 + 1428 ; 216 + 1429 ; 308 + 1430 ; 257 + 1431 ; 1643 + 1432 ; 119 + 1433 ; 293 + 1434 ; 268 + 1435 ; 215 + 1436 ; 276 + 1437 ; 121 + 1438 ; 197 + 1439 ; 190 + 1440 ; 123 + 1441 ; 2407 + 1442 ; 259 + 1443 ; 90 + 1444 ; 129 + 1445 ; 210 + 1446 ; 288 + 1447 ; 109 + 1448 ; 233 + 1449 ; 200 + 1450 ; 88 + 1451 ; 2088 + 1452 ; 289 + 1453 ; 273 + 1454 ; 278 + 1455 ; 228 + 1456 ; 128 + 1457 ; 171 + 1458 ; 162 + 1459 ; 154 + 1460 ; 191 + 1461 ; 2086 + 1462 ; 127 + 1463 ; 137 + 1464 ; 211 + 1465 ; 294 + 1466 ; 140 + 1467 ; 195 + 1468 ; 223 + 1469 ; 120 + 1470 ; 161 + 1471 ; 1865 + 1472 ; 109 + 1473 ; 194 + 1474 ; 203 + 1475 ; 194 + 1476 ; 176 + 1477 ; 185 + 1478 ; 209 + 1479 ; 225 + 1480 ; 151 + 1481 ; 2189 + 1482 ; 93 + 1483 ; 311 + 1484 ; 230 + 1485 ; 205 + 1486 ; 118 + 1487 ; 304 + 1488 ; 142 + 1489 ; 308 + 1490 ; 82 + 1491 ; 1690 + 1492 ; 226 + 1493 ; 259 + 1494 ; 209 + 1495 ; 94 + 1496 ; 300 + 1497 ; 283 + 1498 ; 226 + 1499 ; 208 + 1500 ; 217 + 1501 ; 1689 + 1502 ; 300 + 1503 ; 157 + 1504 ; 160 + 1505 ; 131 + 1506 ; 79 + 1507 ; 209 + 1508 ; 152 + 1509 ; 247 + 1510 ; 169 + 1511 ; 2050 + 1512 ; 226 + 1513 ; 296 + 1514 ; 78 + 1515 ; 238 + 1516 ; 134 + 1517 ; 271 + 1518 ; 140 + 1519 ; 171 + 1520 ; 122 + 1521 ; 2289 + 1522 ; 87 + 1523 ; 271 + 1524 ; 237 + 1525 ; 312 + 1526 ; 130 + 1527 ; 113 + 1528 ; 99 + 1529 ; 265 + 1530 ; 284 + 1531 ; 2402 + 1532 ; 289 + 1533 ; 265 + 1534 ; 241 + 1535 ; 271 + 1536 ; 213 + 1537 ; 203 + 1538 ; 205 + 1539 ; 295 + 1540 ; 242 + 1541 ; 1712 + 1542 ; 200 + 1543 ; 152 + 1544 ; 302 + 1545 ; 244 + 1546 ; 255 + 1547 ; 223 + 1548 ; 227 + 1549 ; 235 + 1550 ; 106 + 1551 ; 2179 + 1552 ; 103 + 1553 ; 248 + 1554 ; 175 + 1555 ; 238 + 1556 ; 87 + 1557 ; 312 + 1558 ; 197 + 1559 ; 299 + 1560 ; 241 + 1561 ; 2393 + 1562 ; 151 + 1563 ; 309 + 1564 ; 248 + 1565 ; 306 + 1566 ; 273 + 1567 ; 260 + 1568 ; 153 + 1569 ; 148 + 1570 ; 80 + 1571 ; 2002 + 1572 ; 163 + 1573 ; 232 + 1574 ; 179 + 1575 ; 96 + 1576 ; 165 + 1577 ; 73 + 1578 ; 184 + 1579 ; 214 + 1580 ; 255 + 1581 ; 2006 + 1582 ; 127 + 1583 ; 207 + 1584 ; 231 + 1585 ; 130 + 1586 ; 214 + 1587 ; 120 + 1588 ; 304 + 1589 ; 108 + 1590 ; 75 + 1591 ; 2036 + 1592 ; 208 + 1593 ; 160 + 1594 ; 156 + 1595 ; 243 + 1596 ; 201 + 1597 ; 162 + 1598 ; 270 + 1599 ; 180 + 1600 ; 225 + 1601 ; 1664 + 1602 ; 96 + 1603 ; 298 + 1604 ; 276 + 1605 ; 107 + 1606 ; 75 + 1607 ; 192 + 1608 ; 84 + 1609 ; 72 + 1610 ; 228 + 1611 ; 1936 + 1612 ; 85 + 1613 ; 265 + 1614 ; 201 + 1615 ; 206 + 1616 ; 117 + 1617 ; 296 + 1618 ; 216 + 1619 ; 274 + 1620 ; 91 + 1621 ; 2275 + 1622 ; 153 + 1623 ; 197 + 1624 ; 199 + 1625 ; 302 + 1626 ; 295 + 1627 ; 264 + 1628 ; 259 + 1629 ; 101 + 1630 ; 133 + 1631 ; 1722 + 1632 ; 138 + 1633 ; 173 + 1634 ; 180 + 1635 ; 83 + 1636 ; 93 + 1637 ; 237 + 1638 ; 228 + 1639 ; 109 + 1640 ; 282 + 1641 ; 2078 + 1642 ; 221 + 1643 ; 223 + 1644 ; 107 + 1645 ; 274 + 1646 ; 162 + 1647 ; 255 + 1648 ; 273 + 1649 ; 293 + 1650 ; 128 + 1651 ; 1808 + 1652 ; 141 + 1653 ; 170 + 1654 ; 110 + 1655 ; 256 + 1656 ; 241 + 1657 ; 285 + 1658 ; 220 + 1659 ; 215 + 1660 ; 97 + 1661 ; 2271 + 1662 ; 143 + 1663 ; 127 + 1664 ; 132 + 1665 ; 296 + 1666 ; 174 + 1667 ; 156 + 1668 ; 262 + 1669 ; 292 + 1670 ; 304 + 1671 ; 2220 + 1672 ; 128 + 1673 ; 78 + 1674 ; 207 + 1675 ; 72 + 1676 ; 300 + 1677 ; 166 + 1678 ; 307 + 1679 ; 75 + 1680 ; 146 + 1681 ; 2297 + 1682 ; 188 + 1683 ; 95 + 1684 ; 109 + 1685 ; 182 + 1686 ; 241 + 1687 ; 171 + 1688 ; 195 + 1689 ; 247 + 1690 ; 163 + 1691 ; 1775 + 1692 ; 215 + 1693 ; 303 + 1694 ; 199 + 1695 ; 182 + 1696 ; 74 + 1697 ; 248 + 1698 ; 266 + 1699 ; 291 + 1700 ; 267 + 1701 ; 2328 + 1702 ; 249 + 1703 ; 276 + 1704 ; 200 + 1705 ; 87 + 1706 ; 248 + 1707 ; 150 + 1708 ; 83 + 1709 ; 266 + 1710 ; 279 + 1711 ; 2131 + 1712 ; 226 + 1713 ; 108 + 1714 ; 116 + 1715 ; 179 + 1716 ; 209 + 1717 ; 170 + 1718 ; 105 + 1719 ; 156 + 1720 ; 89 + 1721 ; 2240 + 1722 ; 124 + 1723 ; 309 + 1724 ; 284 + 1725 ; 175 + 1726 ; 126 + 1727 ; 72 + 1728 ; 102 + 1729 ; 201 + 1730 ; 295 + 1731 ; 2152 + 1732 ; 201 + 1733 ; 271 + 1734 ; 184 + 1735 ; 128 + 1736 ; 249 + 1737 ; 277 + 1738 ; 223 + 1739 ; 140 + 1740 ; 112 + 1741 ; 1632 + 1742 ; 195 + 1743 ; 82 + 1744 ; 108 + 1745 ; 115 + 1746 ; 283 + 1747 ; 157 + 1748 ; 297 + 1749 ; 283 + 1750 ; 126 + 1751 ; 1846 + 1752 ; 132 + 1753 ; 84 + 1754 ; 82 + 1755 ; 172 + 1756 ; 188 + 1757 ; 234 + 1758 ; 109 + 1759 ; 289 + 1760 ; 122 + 1761 ; 2302 + 1762 ; 109 + 1763 ; 247 + 1764 ; 229 + 1765 ; 260 + 1766 ; 260 + 1767 ; 260 + 1768 ; 102 + 1769 ; 268 + 1770 ; 207 + 1771 ; 1879 + 1772 ; 130 + 1773 ; 112 + 1774 ; 152 + 1775 ; 252 + 1776 ; 305 + 1777 ; 193 + 1778 ; 76 + 1779 ; 138 + 1780 ; 152 + 1781 ; 2061 + 1782 ; 156 + 1783 ; 94 + 1784 ; 124 + 1785 ; 250 + 1786 ; 296 + 1787 ; 72 + 1788 ; 303 + 1789 ; 203 + 1790 ; 72 + 1791 ; 1663 + 1792 ; 259 + 1793 ; 288 + 1794 ; 174 + 1795 ; 109 + 1796 ; 295 + 1797 ; 240 + 1798 ; 196 + 1799 ; 205 + 1800 ; 231 + 1801 ; 1721 + 1802 ; 114 + 1803 ; 136 + 1804 ; 149 + 1805 ; 173 + 1806 ; 105 + 1807 ; 175 + 1808 ; 263 + 1809 ; 214 + 1810 ; 161 + 1811 ; 1652 + 1812 ; 217 + 1813 ; 226 + 1814 ; 129 + 1815 ; 217 + 1816 ; 117 + 1817 ; 100 + 1818 ; 305 + 1819 ; 253 + 1820 ; 147 + 1821 ; 1938 + 1822 ; 246 + 1823 ; 307 + 1824 ; 275 + 1825 ; 262 + 1826 ; 232 + 1827 ; 77 + 1828 ; 288 + 1829 ; 265 + 1830 ; 122 + 1831 ; 2365 + 1832 ; 220 + 1833 ; 151 + 1834 ; 214 + 1835 ; 307 + 1836 ; 95 + 1837 ; 289 + 1838 ; 187 + 1839 ; 164 + 1840 ; 245 + 1841 ; 2037 + 1842 ; 235 + 1843 ; 108 + 1844 ; 308 + 1845 ; 244 + 1846 ; 151 + 1847 ; 141 + 1848 ; 242 + 1849 ; 167 + 1850 ; 246 + 1851 ; 1686 + 1852 ; 206 + 1853 ; 233 + 1854 ; 231 + 1855 ; 198 + 1856 ; 89 + 1857 ; 250 + 1858 ; 83 + 1859 ; 284 + 1860 ; 116 + 1861 ; 1988 + 1862 ; 86 + 1863 ; 202 + 1864 ; 293 + 1865 ; 264 + 1866 ; 102 + 1867 ; 311 + 1868 ; 144 + 1869 ; 100 + 1870 ; 171 + 1871 ; 1957 + 1872 ; 112 + 1873 ; 189 + 1874 ; 80 + 1875 ; 266 + 1876 ; 309 + 1877 ; 292 + 1878 ; 171 + 1879 ; 138 + 1880 ; 249 + 1881 ; 2202 + 1882 ; 136 + 1883 ; 107 + 1884 ; 109 + 1885 ; 202 + 1886 ; 186 + 1887 ; 226 + 1888 ; 259 + 1889 ; 154 + 1890 ; 299 + 1891 ; 2380 + 1892 ; 256 + 1893 ; 124 + 1894 ; 72 + 1895 ; 268 + 1896 ; 124 + 1897 ; 305 + 1898 ; 228 + 1899 ; 290 + 1900 ; 220 + 1901 ; 2220 + 1902 ; 268 + 1903 ; 252 + 1904 ; 201 + 1905 ; 309 + 1906 ; 177 + 1907 ; 258 + 1908 ; 210 + 1909 ; 85 + 1910 ; 238 + 1911 ; 2050 + 1912 ; 257 + 1913 ; 292 + 1914 ; 196 + 1915 ; 187 + 1916 ; 300 + 1917 ; 195 + 1918 ; 87 + 1919 ; 224 + 1920 ; 146 + 1921 ; 2091 + 1922 ; 147 + 1923 ; 249 + 1924 ; 131 + 1925 ; 240 + 1926 ; 131 + 1927 ; 118 + 1928 ; 128 + 1929 ; 189 + 1930 ; 105 + 1931 ; 1946 + 1932 ; 282 + 1933 ; 112 + 1934 ; 225 + 1935 ; 193 + 1936 ; 103 + 1937 ; 276 + 1938 ; 272 + 1939 ; 266 + 1940 ; 155 + 1941 ; 1756 + 1942 ; 126 + 1943 ; 88 + 1944 ; 83 + 1945 ; 179 + 1946 ; 273 + 1947 ; 271 + 1948 ; 267 + 1949 ; 200 + 1950 ; 203 + 1951 ; 2261 + 1952 ; 265 + 1953 ; 175 + 1954 ; 122 + 1955 ; 96 + 1956 ; 244 + 1957 ; 303 + 1958 ; 226 + 1959 ; 187 + 1960 ; 287 + 1961 ; 1880 + 1962 ; 90 + 1963 ; 310 + 1964 ; 245 + 1965 ; 143 + 1966 ; 124 + 1967 ; 263 + 1968 ; 242 + 1969 ; 83 + 1970 ; 101 + 1971 ; 1733 + 1972 ; 119 + 1973 ; 133 + 1974 ; 110 + 1975 ; 258 + 1976 ; 297 + 1977 ; 277 + 1978 ; 78 + 1979 ; 195 + 1980 ; 274 + 1981 ; 2351 + 1982 ; 282 + 1983 ; 220 + 1984 ; 151 + 1985 ; 275 + 1986 ; 205 + 1987 ; 122 + 1988 ; 149 + 1989 ; 198 + 1990 ; 279 + 1991 ; 1679 + 1992 ; 135 + 1993 ; 217 + 1994 ; 93 + 1995 ; 265 + 1996 ; 104 + 1997 ; 179 + 1998 ; 168 + 1999 ; 304 + 2000 ; 158 + 2001 ; 2347 + 2002 ; 278 + 2003 ; 84 + 2004 ; 255 + 2005 ; 191 + 2006 ; 86 + 2007 ; 269 + 2008 ; 127 + 2009 ; 306 + 2010 ; 312 + 2011 ; 1694 + 2012 ; 89 + 2013 ; 251 + 2014 ; 231 + 2015 ; 170 + 2016 ; 125 + 2017 ; 267 + 2018 ; 234 + 2019 ; 140 + 2020 ; 117 + 2021 ; 2104 + 2022 ; 139 + 2023 ; 128 + 2024 ; 236 + 2025 ; 143 + 2026 ; 202 + 2027 ; 100 + 2028 ; 243 + 2029 ; 240 + 2030 ; 77 + 2031 ; 2386 + 2032 ; 241 + 2033 ; 241 + 2034 ; 150 + 2035 ; 281 + 2036 ; 288 + 2037 ; 107 + 2038 ; 165 + 2039 ; 140 + 2040 ; 245 + 2041 ; 2264 + 2042 ; 89 + 2043 ; 187 + 2044 ; 106 + 2045 ; 295 + 2046 ; 193 + 2047 ; 176 + 2048 ; 183 + 2049 ; 230 + 2050 ; 190 + 2051 ; 1701 + 2052 ; 159 + 2053 ; 278 + 2054 ; 226 + 2055 ; 81 + 2056 ; 232 + 2057 ; 162 + 2058 ; 130 + 2059 ; 80 + 2060 ; 256 + 2061 ; 2260 + 2062 ; 99 + 2063 ; 262 + 2064 ; 265 + 2065 ; 311 + 2066 ; 159 + 2067 ; 255 + 2068 ; 292 + 2069 ; 240 + 2070 ; 93 + 2071 ; 2326 + 2072 ; 287 + 2073 ; 206 + 2074 ; 131 + 2075 ; 77 + 2076 ; 209 + 2077 ; 173 + 2078 ; 287 + 2079 ; 287 + 2080 ; 192 + 2081 ; 2175 + 2082 ; 102 + 2083 ; 195 + 2084 ; 257 + 2085 ; 193 + 2086 ; 256 + 2087 ; 195 + 2088 ; 230 + 2089 ; 161 + 2090 ; 272 + 2091 ; 2394 + 2092 ; 216 + 2093 ; 282 + 2094 ; 236 + 2095 ; 307 + 2096 ; 275 + 2097 ; 295 + 2098 ; 271 + 2099 ; 232 + 2100 ; 233 + 2101 ; 1690 + 2102 ; 148 + 2103 ; 145 + 2104 ; 217 + 2105 ; 110 + 2106 ; 115 + 2107 ; 275 + 2108 ; 306 + 2109 ; 278 + 2110 ; 286 + 2111 ; 2293 + 2112 ; 310 + 2113 ; 223 + 2114 ; 190 + 2115 ; 128 + 2116 ; 231 + 2117 ; 112 + 2118 ; 122 + 2119 ; 237 + 2120 ; 183 + 2121 ; 2303 + 2122 ; 231 + 2123 ; 183 + 2124 ; 202 + 2125 ; 303 + 2126 ; 189 + 2127 ; 124 + 2128 ; 281 + 2129 ; 176 + 2130 ; 254 + 2131 ; 1650 + 2132 ; 148 + 2133 ; 160 + 2134 ; 154 + 2135 ; 221 + 2136 ; 193 + 2137 ; 303 + 2138 ; 214 + 2139 ; 151 + 2140 ; 125 + 2141 ; 1773 + 2142 ; 202 + 2143 ; 170 + 2144 ; 296 + 2145 ; 297 + 2146 ; 296 + 2147 ; 224 + 2148 ; 260 + 2149 ; 294 + 2150 ; 146 + 2151 ; 1623 + 2152 ; 157 + 2153 ; 99 + 2154 ; 213 + 2155 ; 83 + 2156 ; 130 + 2157 ; 285 + 2158 ; 81 + 2159 ; 277 + 2160 ; 290 + 2161 ; 1646 + 2162 ; 288 + 2163 ; 191 + 2164 ; 217 + 2165 ; 123 + 2166 ; 214 + 2167 ; 90 + 2168 ; 200 + 2169 ; 268 + 2170 ; 107 + 2171 ; 1859 + 2172 ; 250 + 2173 ; 299 + 2174 ; 282 + 2175 ; 298 + 2176 ; 82 + 2177 ; 114 + 2178 ; 252 + 2179 ; 249 + 2180 ; 193 + 2181 ; 1763 + 2182 ; 176 + 2183 ; 157 + 2184 ; 133 + 2185 ; 157 + 2186 ; 246 + 2187 ; 230 + 2188 ; 184 + 2189 ; 179 + 2190 ; 141 + 2191 ; 2041 + 2192 ; 126 + 2193 ; 131 + 2194 ; 239 + 2195 ; 303 + 2196 ; 269 + 2197 ; 272 + 2198 ; 103 + 2199 ; 299 + 2200 ; 88 + 2201 ; 2167 + 2202 ; 149 + 2203 ; 173 + 2204 ; 242 + 2205 ; 102 + 2206 ; 94 + 2207 ; 241 + 2208 ; 239 + 2209 ; 178 + 2210 ; 166 + 2211 ; 1955 + 2212 ; 300 + 2213 ; 258 + 2214 ; 119 + 2215 ; 155 + 2216 ; 134 + 2217 ; 267 + 2218 ; 80 + 2219 ; 297 + 2220 ; 231 + 2221 ; 1728 + 2222 ; 278 + 2223 ; 252 + 2224 ; 231 + 2225 ; 136 + 2226 ; 270 + 2227 ; 278 + 2228 ; 76 + 2229 ; 132 + 2230 ; 215 + 2231 ; 2181 + 2232 ; 114 + 2233 ; 249 + 2234 ; 278 + 2235 ; 209 + 2236 ; 96 + 2237 ; 221 + 2238 ; 116 + 2239 ; 192 + 2240 ; 224 + 2241 ; 1620 + 2242 ; 311 + 2243 ; 202 + 2244 ; 130 + 2245 ; 233 + 2246 ; 142 + 2247 ; 142 + 2248 ; 111 + 2249 ; 247 + 2250 ; 96 + 2251 ; 2292 + 2252 ; 146 + 2253 ; 249 + 2254 ; 255 + 2255 ; 198 + 2256 ; 234 + 2257 ; 189 + 2258 ; 201 + 2259 ; 139 + 2260 ; 126 + 2261 ; 2005 + 2262 ; 247 + 2263 ; 168 + 2264 ; 277 + 2265 ; 281 + 2266 ; 215 + 2267 ; 217 + 2268 ; 214 + 2269 ; 194 + 2270 ; 215 + 2271 ; 1618 + 2272 ; 188 + 2273 ; 129 + 2274 ; 155 + 2275 ; 147 + 2276 ; 207 + 2277 ; 291 + 2278 ; 259 + 2279 ; 81 + 2280 ; 247 + 2281 ; 1849 + 2282 ; 312 + 2283 ; 156 + 2284 ; 161 + 2285 ; 279 + 2286 ; 80 + 2287 ; 95 + 2288 ; 294 + 2289 ; 124 + 2290 ; 312 + 2291 ; 1689 + 2292 ; 200 + 2293 ; 243 + 2294 ; 201 + 2295 ; 224 + 2296 ; 156 + 2297 ; 198 + 2298 ; 179 + 2299 ; 230 + 2300 ; 108 + 2301 ; 1662 + 2302 ; 121 + 2303 ; 198 + 2304 ; 133 + 2305 ; 226 + 2306 ; 290 + 2307 ; 285 + 2308 ; 247 + 2309 ; 166 + 2310 ; 232 + 2311 ; 1903 + 2312 ; 99 + 2313 ; 242 + 2314 ; 87 + 2315 ; 183 + 2316 ; 234 + 2317 ; 122 + 2318 ; 284 + 2319 ; 118 + 2320 ; 256 + 2321 ; 2146 + 2322 ; 280 + 2323 ; 310 + 2324 ; 109 + 2325 ; 159 + 2326 ; 197 + 2327 ; 73 + 2328 ; 255 + 2329 ; 255 + 2330 ; 124 + 2331 ; 1713 + 2332 ; 126 + 2333 ; 188 + 2334 ; 155 + 2335 ; 217 + 2336 ; 120 + 2337 ; 75 + 2338 ; 263 + 2339 ; 83 + 2340 ; 277 + 2341 ; 1670 + 2342 ; 250 + 2343 ; 191 + 2344 ; 284 + 2345 ; 72 + 2346 ; 193 + 2347 ; 215 + 2348 ; 188 + 2349 ; 184 + 2350 ; 150 + 2351 ; 1810 + 2352 ; 257 + 2353 ; 161 + 2354 ; 245 + 2355 ; 256 + 2356 ; 301 + 2357 ; 87 + 2358 ; 194 + 2359 ; 136 + 2360 ; 254 + 2361 ; 2026 + 2362 ; 298 + 2363 ; 74 + 2364 ; 132 + 2365 ; 269 + 2366 ; 209 + 2367 ; 201 + 2368 ; 206 + 2369 ; 169 + 2370 ; 233 + 2371 ; 2307 + 2372 ; 299 + 2373 ; 273 + 2374 ; 221 + 2375 ; 281 + 2376 ; 173 + 2377 ; 141 + 2378 ; 144 + 2379 ; 297 + 2380 ; 143 + 2381 ; 2266 + 2382 ; 134 + 2383 ; 154 + 2384 ; 82 + 2385 ; 110 + 2386 ; 127 + 2387 ; 125 + 2388 ; 288 + 2389 ; 189 + 2390 ; 133 + 2391 ; 1708 + 2392 ; 102 + 2393 ; 100 + 2394 ; 289 + 2395 ; 107 + 2396 ; 144 + 2397 ; 306 + 2398 ; 174 + 2399 ; 197 + 2400 ; 113 + 2401 ; 1925 + 2402 ; 245 + 2403 ; 116 + 2404 ; 103 + 2405 ; 99 + 2406 ; 310 + 2407 ; 110 + 2408 ; 287 + 2409 ; 305 + 2410 ; 149 + 2411 ; 1951 + 2412 ; 269 + 2413 ; 181 + 2414 ; 94 + 2415 ; 145 + 2416 ; 96 + 2417 ; 154 + 2418 ; 257 + 2419 ; 211 + 2420 ; 303 + 2421 ; 2129 + 2422 ; 96 + 2423 ; 303 + 2424 ; 198 + 2425 ; 109 + 2426 ; 247 + 2427 ; 232 + 2428 ; 184 + 2429 ; 280 + 2430 ; 195 + 2431 ; 2402 + 2432 ; 188 + 2433 ; 85 + 2434 ; 118 + 2435 ; 154 + 2436 ; 228 + 2437 ; 121 + 2438 ; 151 + 2439 ; 240 + 2440 ; 300 + 2441 ; 2047 + 2442 ; 141 + 2443 ; 269 + 2444 ; 116 + 2445 ; 228 + 2446 ; 108 + 2447 ; 97 + 2448 ; 201 + 2449 ; 135 + 2450 ; 78 + 2451 ; 2306 + 2452 ; 289 + 2453 ; 208 + 2454 ; 146 + 2455 ; 149 + 2456 ; 122 + 2457 ; 277 + 2458 ; 260 + 2459 ; 243 + 2460 ; 199 + 2461 ; 1839 + 2462 ; 260 + 2463 ; 129 + 2464 ; 209 + 2465 ; 131 + 2466 ; 157 + 2467 ; 265 + 2468 ; 88 + 2469 ; 258 + 2470 ; 188 + 2471 ; 2077 + 2472 ; 167 + 2473 ; 299 + 2474 ; 151 + 2475 ; 300 + 2476 ; 139 + 2477 ; 150 + 2478 ; 274 + 2479 ; 134 + 2480 ; 115 + 2481 ; 1889 + 2482 ; 193 + 2483 ; 78 + 2484 ; 244 + 2485 ; 231 + 2486 ; 163 + 2487 ; 222 + 2488 ; 267 + 2489 ; 94 + 2490 ; 240 + 2491 ; 1710 + 2492 ; 129 + 2493 ; 289 + 2494 ; 275 + 2495 ; 233 + 2496 ; 275 + 2497 ; 158 + 2498 ; 300 + 2499 ; 135 + 2500 ; 133 + 2501 ; 2168 + 2502 ; 243 + 2503 ; 311 + 2504 ; 99 + 2505 ; 139 + 2506 ; 76 + 2507 ; 143 + 2508 ; 102 + 2509 ; 241 + 2510 ; 74 + 2511 ; 1971 + 2512 ; 288 + 2513 ; 164 + 2514 ; 89 + 2515 ; 193 + 2516 ; 164 + 2517 ; 98 + 2518 ; 239 + 2519 ; 244 + 2520 ; 105 + 2521 ; 1866 + 2522 ; 126 + 2523 ; 303 + 2524 ; 242 + 2525 ; 284 + 2526 ; 101 + 2527 ; 255 + 2528 ; 119 + 2529 ; 130 + 2530 ; 107 + 2531 ; 1649 + 2532 ; 227 + 2533 ; 223 + 2534 ; 244 + 2535 ; 270 + 2536 ; 208 + 2537 ; 299 + 2538 ; 243 + 2539 ; 161 + 2540 ; 264 + 2541 ; 2176 + 2542 ; 256 + 2543 ; 73 + 2544 ; 196 + 2545 ; 91 + 2546 ; 100 + 2547 ; 259 + 2548 ; 176 + 2549 ; 293 + 2550 ; 303 + 2551 ; 2350 + 2552 ; 113 + 2553 ; 295 + 2554 ; 274 + 2555 ; 126 + 2556 ; 165 + 2557 ; 152 + 2558 ; 170 + 2559 ; 144 + 2560 ; 131 + 2561 ; 1995 + 2562 ; 222 + 2563 ; 284 + 2564 ; 299 + 2565 ; 286 + 2566 ; 206 + 2567 ; 170 + 2568 ; 273 + 2569 ; 77 + 2570 ; 151 + 2571 ; 1774 + 2572 ; 287 + 2573 ; 116 + 2574 ; 238 + 2575 ; 298 + 2576 ; 227 + 2577 ; 149 + 2578 ; 233 + 2579 ; 180 + 2580 ; 279 + 2581 ; 1759 + 2582 ; 194 + 2583 ; 241 + 2584 ; 276 + 2585 ; 172 + 2586 ; 242 + 2587 ; 235 + 2588 ; 193 + 2589 ; 274 + 2590 ; 203 + 2591 ; 2405 + 2592 ; 87 + 2593 ; 171 + 2594 ; 131 + 2595 ; 256 + 2596 ; 115 + 2597 ; 76 + 2598 ; 177 + 2599 ; 190 + 2600 ; 279 + 2601 ; 1727 + 2602 ; 243 + 2603 ; 301 + 2604 ; 75 + 2605 ; 298 + 2606 ; 112 + 2607 ; 145 + 2608 ; 81 + 2609 ; 106 + 2610 ; 277 + 2611 ; 2355 + 2612 ; 89 + 2613 ; 154 + 2614 ; 304 + 2615 ; 150 + 2616 ; 113 + 2617 ; 311 + 2618 ; 217 + 2619 ; 173 + 2620 ; 267 + 2621 ; 2305 + 2622 ; 172 + 2623 ; 154 + 2624 ; 172 + 2625 ; 111 + 2626 ; 146 + 2627 ; 174 + 2628 ; 142 + 2629 ; 166 + 2630 ; 84 + 2631 ; 2013 + 2632 ; 240 + 2633 ; 204 + 2634 ; 221 + 2635 ; 72 + 2636 ; 109 + 2637 ; 234 + 2638 ; 129 + 2639 ; 220 + 2640 ; 203 + 2641 ; 2078 + 2642 ; 145 + 2643 ; 311 + 2644 ; 232 + 2645 ; 303 + 2646 ; 148 + 2647 ; 77 + 2648 ; 208 + 2649 ; 130 + 2650 ; 225 + 2651 ; 2336 + 2652 ; 163 + 2653 ; 92 + 2654 ; 212 + 2655 ; 275 + 2656 ; 117 + 2657 ; 122 + 2658 ; 121 + 2659 ; 270 + 2660 ; 222 + 2661 ; 2205 + 2662 ; 119 + 2663 ; 255 + 2664 ; 123 + 2665 ; 133 + 2666 ; 304 + 2667 ; 296 + 2668 ; 193 + 2669 ; 275 + 2670 ; 184 + 2671 ; 2189 + 2672 ; 265 + 2673 ; 142 + 2674 ; 216 + 2675 ; 89 + 2676 ; 245 + 2677 ; 213 + 2678 ; 225 + 2679 ; 177 + 2680 ; 74 + 2681 ; 2181 + 2682 ; 130 + 2683 ; 74 + 2684 ; 141 + 2685 ; 295 + 2686 ; 139 + 2687 ; 235 + 2688 ; 197 + 2689 ; 76 + 2690 ; 211 + 2691 ; 1719 + 2692 ; 114 + 2693 ; 194 + 2694 ; 137 + 2695 ; 131 + 2696 ; 156 + 2697 ; 139 + 2698 ; 134 + 2699 ; 152 + 2700 ; 280 + 2701 ; 1828 + 2702 ; 159 + 2703 ; 121 + 2704 ; 138 + 2705 ; 85 + 2706 ; 239 + 2707 ; 75 + 2708 ; 160 + 2709 ; 267 + 2710 ; 221 + 2711 ; 1816 + 2712 ; 205 + 2713 ; 279 + 2714 ; 175 + 2715 ; 274 + 2716 ; 171 + 2717 ; 118 + 2718 ; 169 + 2719 ; 122 + 2720 ; 300 + 2721 ; 1824 + 2722 ; 223 + 2723 ; 87 + 2724 ; 182 + 2725 ; 91 + 2726 ; 145 + 2727 ; 131 + 2728 ; 134 + 2729 ; 153 + 2730 ; 212 + 2731 ; 2156 + 2732 ; 264 + 2733 ; 276 + 2734 ; 262 + 2735 ; 123 + 2736 ; 234 + 2737 ; 288 + 2738 ; 282 + 2739 ; 169 + 2740 ; 160 + 2741 ; 2279 + 2742 ; 100 + 2743 ; 237 + 2744 ; 196 + 2745 ; 120 + 2746 ; 309 + 2747 ; 261 + 2748 ; 180 + 2749 ; 176 + 2750 ; 109 + 2751 ; 2167 + 2752 ; 238 + 2753 ; 246 + 2754 ; 143 + 2755 ; 224 + 2756 ; 276 + 2757 ; 249 + 2758 ; 241 + 2759 ; 105 + 2760 ; 94 + 2761 ; 2335 + 2762 ; 195 + 2763 ; 277 + 2764 ; 240 + 2765 ; 241 + 2766 ; 289 + 2767 ; 230 + 2768 ; 297 + 2769 ; 286 + 2770 ; 109 + 2771 ; 2060 + 2772 ; 155 + 2773 ; 302 + 2774 ; 205 + 2775 ; 175 + 2776 ; 161 + 2777 ; 78 + 2778 ; 189 + 2779 ; 149 + 2780 ; 252 + 2781 ; 2226 + 2782 ; 274 + 2783 ; 76 + 2784 ; 205 + 2785 ; 179 + 2786 ; 140 + 2787 ; 189 + 2788 ; 110 + 2789 ; 163 + 2790 ; 72 + 2791 ; 1831 + 2792 ; 194 + 2793 ; 215 + 2794 ; 232 + 2795 ; 119 + 2796 ; 180 + 2797 ; 298 + 2798 ; 160 + 2799 ; 218 + 2800 ; 114 + 2801 ; 2400 + 2802 ; 271 + 2803 ; 238 + 2804 ; 178 + 2805 ; 235 + 2806 ; 205 + 2807 ; 152 + 2808 ; 181 + 2809 ; 90 + 2810 ; 119 + 2811 ; 1923 + 2812 ; 256 + 2813 ; 112 + 2814 ; 181 + 2815 ; 148 + 2816 ; 290 + 2817 ; 233 + 2818 ; 253 + 2819 ; 119 + 2820 ; 119 + 2821 ; 1698 + 2822 ; 256 + 2823 ; 105 + 2824 ; 121 + 2825 ; 125 + 2826 ; 302 + 2827 ; 309 + 2828 ; 199 + 2829 ; 197 + 2830 ; 125 + 2831 ; 1702 + 2832 ; 251 + 2833 ; 89 + 2834 ; 222 + 2835 ; 85 + 2836 ; 214 + 2837 ; 120 + 2838 ; 116 + 2839 ; 178 + 2840 ; 260 + 2841 ; 2189 + 2842 ; 122 + 2843 ; 153 + 2844 ; 149 + 2845 ; 183 + 2846 ; 255 + 2847 ; 160 + 2848 ; 291 + 2849 ; 274 + 2850 ; 165 + 2851 ; 2267 + 2852 ; 177 + 2853 ; 167 + 2854 ; 193 + 2855 ; 79 + 2856 ; 190 + 2857 ; 202 + 2858 ; 248 + 2859 ; 299 + 2860 ; 268 + 2861 ; 1626 + 2862 ; 251 + 2863 ; 216 + 2864 ; 192 + 2865 ; 216 + 2866 ; 257 + 2867 ; 310 + 2868 ; 112 + 2869 ; 144 + 2870 ; 232 + 2871 ; 1647 + 2872 ; 101 + 2873 ; 118 + 2874 ; 271 + 2875 ; 241 + 2876 ; 257 + 2877 ; 237 + 2878 ; 142 + 2879 ; 195 + 2880 ; 231 + 2881 ; 2050 + 2882 ; 148 + 2883 ; 139 + 2884 ; 273 + 2885 ; 190 + 2886 ; 225 + 2887 ; 232 + 2888 ; 174 + 2889 ; 303 + 2890 ; 83 + 2891 ; 2280 + 2892 ; 99 + 2893 ; 108 + 2894 ; 184 + 2895 ; 140 + 2896 ; 96 + 2897 ; 288 + 2898 ; 89 + 2899 ; 124 + 2900 ; 257 + 2901 ; 2078 + 2902 ; 197 + 2903 ; 93 + 2904 ; 183 + 2905 ; 175 + 2906 ; 85 + 2907 ; 153 + 2908 ; 298 + 2909 ; 299 + 2910 ; 214 + 2911 ; 1872 + 2912 ; 279 + 2913 ; 220 + 2914 ; 254 + 2915 ; 196 + 2916 ; 189 + 2917 ; 168 + 2918 ; 170 + 2919 ; 162 + 2920 ; 166 + 2921 ; 1950 + 2922 ; 99 + 2923 ; 105 + 2924 ; 236 + 2925 ; 77 + 2926 ; 76 + 2927 ; 209 + 2928 ; 270 + 2929 ; 92 + 2930 ; 186 + 2931 ; 1625 + 2932 ; 228 + 2933 ; 137 + 2934 ; 294 + 2935 ; 114 + 2936 ; 307 + 2937 ; 163 + 2938 ; 264 + 2939 ; 230 + 2940 ; 171 + 2941 ; 1757 + 2942 ; 100 + 2943 ; 142 + 2944 ; 130 + 2945 ; 284 + 2946 ; 227 + 2947 ; 129 + 2948 ; 113 + 2949 ; 263 + 2950 ; 217 + 2951 ; 2221 + 2952 ; 173 + 2953 ; 274 + 2954 ; 202 + 2955 ; 260 + 2956 ; 191 + 2957 ; 94 + 2958 ; 248 + 2959 ; 312 + 2960 ; 290 + 2961 ; 1674 + 2962 ; 235 + 2963 ; 79 + 2964 ; 115 + 2965 ; 260 + 2966 ; 304 + 2967 ; 305 + 2968 ; 297 + 2969 ; 271 + 2970 ; 86 + 2971 ; 2249 + 2972 ; 132 + 2973 ; 146 + 2974 ; 205 + 2975 ; 240 + 2976 ; 283 + 2977 ; 117 + 2978 ; 97 + 2979 ; 200 + 2980 ; 114 + 2981 ; 1830 + 2982 ; 161 + 2983 ; 181 + 2984 ; 80 + 2985 ; 96 + 2986 ; 256 + 2987 ; 210 + 2988 ; 160 + 2989 ; 143 + 2990 ; 133 + 2991 ; 1900 + 2992 ; 177 + 2993 ; 176 + 2994 ; 86 + 2995 ; 78 + 2996 ; 153 + 2997 ; 277 + 2998 ; 187 + 2999 ; 295 + 3000 ; 291 + 3001 ; 2251 + 3002 ; 276 + 3003 ; 141 + 3004 ; 302 + 3005 ; 250 + 3006 ; 103 + 3007 ; 120 + 3008 ; 269 + 3009 ; 304 + 3010 ; 112 + 3011 ; 1996 + 3012 ; 234 + 3013 ; 99 + 3014 ; 230 + 3015 ; 109 + 3016 ; 239 + 3017 ; 253 + 3018 ; 308 + 3019 ; 215 + 3020 ; 287 + 3021 ; 2171 + 3022 ; 163 + 3023 ; 98 + 3024 ; 100 + 3025 ; 248 + 3026 ; 243 + 3027 ; 226 + 3028 ; 280 + 3029 ; 173 + 3030 ; 102 + 3031 ; 1803 + 3032 ; 133 + 3033 ; 293 + 3034 ; 101 + 3035 ; 129 + 3036 ; 100 + 3037 ; 304 + 3038 ; 183 + 3039 ; 149 + 3040 ; 120 + 3041 ; 2016 + 3042 ; 129 + 3043 ; 258 + 3044 ; 305 + 3045 ; 187 + 3046 ; 224 + 3047 ; 289 + 3048 ; 75 + 3049 ; 262 + 3050 ; 77 + 3051 ; 1944 + 3052 ; 237 + 3053 ; 159 + 3054 ; 78 + 3055 ; 81 + 3056 ; 124 + 3057 ; 304 + 3058 ; 114 + 3059 ; 180 + 3060 ; 248 + 3061 ; 1800 + 3062 ; 84 + 3063 ; 124 + 3064 ; 281 + 3065 ; 226 + 3066 ; 108 + 3067 ; 226 + 3068 ; 213 + 3069 ; 156 + 3070 ; 137 + 3071 ; 1901 + 3072 ; 309 + 3073 ; 232 + 3074 ; 139 + 3075 ; 203 + 3076 ; 220 + 3077 ; 77 + 3078 ; 216 + 3079 ; 138 + 3080 ; 78 + 3081 ; 1852 + 3082 ; 82 + 3083 ; 113 + 3084 ; 204 + 3085 ; 110 + 3086 ; 177 + 3087 ; 216 + 3088 ; 185 + 3089 ; 241 + 3090 ; 122 + 3091 ; 1864 + 3092 ; 106 + 3093 ; 194 + 3094 ; 303 + 3095 ; 171 + 3096 ; 231 + 3097 ; 179 + 3098 ; 148 + 3099 ; 190 + 3100 ; 195 + 3101 ; 1660 + 3102 ; 80 + 3103 ; 284 + 3104 ; 126 + 3105 ; 92 + 3106 ; 112 + 3107 ; 188 + 3108 ; 229 + 3109 ; 86 + 3110 ; 186 + 3111 ; 2025 + 3112 ; 270 + 3113 ; 237 + 3114 ; 169 + 3115 ; 250 + 3116 ; 79 + 3117 ; 312 + 3118 ; 144 + 3119 ; 286 + 3120 ; 85 + 3121 ; 2093 + 3122 ; 254 + 3123 ; 166 + 3124 ; 139 + 3125 ; 239 + 3126 ; 140 + 3127 ; 217 + 3128 ; 273 + 3129 ; 274 + 3130 ; 262 + 3131 ; 1985 + 3132 ; 129 + 3133 ; 266 + 3134 ; 138 + 3135 ; 160 + 3136 ; 122 + 3137 ; 165 + 3138 ; 274 + 3139 ; 292 + 3140 ; 306 + 3141 ; 2087 + 3142 ; 303 + 3143 ; 312 + 3144 ; 203 + 3145 ; 263 + 3146 ; 84 + 3147 ; 110 + 3148 ; 79 + 3149 ; 281 + 3150 ; 300 + 3151 ; 1892 + 3152 ; 227 + 3153 ; 297 + 3154 ; 225 + 3155 ; 305 + 3156 ; 230 + 3157 ; 305 + 3158 ; 185 + 3159 ; 142 + 3160 ; 129 + 3161 ; 2303 + 3162 ; 266 + 3163 ; 155 + 3164 ; 197 + 3165 ; 254 + 3166 ; 177 + 3167 ; 104 + 3168 ; 88 + 3169 ; 295 + 3170 ; 216 + 3171 ; 2338 + 3172 ; 283 + 3173 ; 144 + 3174 ; 260 + 3175 ; 221 + 3176 ; 89 + 3177 ; 139 + 3178 ; 303 + 3179 ; 162 + 3180 ; 204 + 3181 ; 1708 + 3182 ; 214 + 3183 ; 178 + 3184 ; 199 + 3185 ; 308 + 3186 ; 288 + 3187 ; 180 + 3188 ; 102 + 3189 ; 180 + 3190 ; 247 + 3191 ; 1990 + 3192 ; 258 + 3193 ; 245 + 3194 ; 154 + 3195 ; 244 + 3196 ; 74 + 3197 ; 189 + 3198 ; 284 + 3199 ; 122 + 3200 ; 305 + 3201 ; 1825 + 3202 ; 88 + 3203 ; 153 + 3204 ; 236 + 3205 ; 186 + 3206 ; 222 + 3207 ; 84 + 3208 ; 80 + 3209 ; 192 + 3210 ; 126 + 3211 ; 2314 + 3212 ; 219 + 3213 ; 242 + 3214 ; 160 + 3215 ; 75 + 3216 ; 305 + 3217 ; 252 + 3218 ; 310 + 3219 ; 303 + 3220 ; 275 + 3221 ; 1643 + 3222 ; 271 + 3223 ; 136 + 3224 ; 115 + 3225 ; 160 + 3226 ; 127 + 3227 ; 236 + 3228 ; 306 + 3229 ; 152 + 3230 ; 212 + 3231 ; 1951 + 3232 ; 185 + 3233 ; 291 + 3234 ; 136 + 3235 ; 120 + 3236 ; 74 + 3237 ; 134 + 3238 ; 303 + 3239 ; 171 + 3240 ; 83 + 3241 ; 1619 + 3242 ; 292 + 3243 ; 177 + 3244 ; 307 + 3245 ; 83 + 3246 ; 258 + 3247 ; 213 + 3248 ; 146 + 3249 ; 184 + 3250 ; 253 + 3251 ; 2119 + 3252 ; 246 + 3253 ; 122 + 3254 ; 142 + 3255 ; 188 + 3256 ; 211 + 3257 ; 122 + 3258 ; 91 + 3259 ; 176 + 3260 ; 218 + 3261 ; 1649 + 3262 ; 109 + 3263 ; 218 + 3264 ; 123 + 3265 ; 187 + 3266 ; 275 + 3267 ; 207 + 3268 ; 77 + 3269 ; 198 + 3270 ; 271 + 3271 ; 1751 + 3272 ; 157 + 3273 ; 98 + 3274 ; 298 + 3275 ; 236 + 3276 ; 247 + 3277 ; 100 + 3278 ; 114 + 3279 ; 244 + 3280 ; 193 + 3281 ; 1988 + 3282 ; 242 + 3283 ; 171 + 3284 ; 251 + 3285 ; 104 + 3286 ; 114 + 3287 ; 178 + 3288 ; 213 + 3289 ; 283 + 3290 ; 196 + 3291 ; 1633 + 3292 ; 208 + 3293 ; 230 + 3294 ; 292 + 3295 ; 83 + 3296 ; 72 + 3297 ; 137 + 3298 ; 116 + 3299 ; 306 + 3300 ; 128 + 3301 ; 1698 + 3302 ; 280 + 3303 ; 97 + 3304 ; 90 + 3305 ; 277 + 3306 ; 79 + 3307 ; 247 + 3308 ; 202 + 3309 ; 76 + 3310 ; 102 + 3311 ; 2386 + 3312 ; 134 + 3313 ; 94 + 3314 ; 194 + 3315 ; 99 + 3316 ; 307 + 3317 ; 211 + 3318 ; 179 + 3319 ; 116 + 3320 ; 127 + 3321 ; 1640 + 3322 ; 247 + 3323 ; 112 + 3324 ; 283 + 3325 ; 111 + 3326 ; 290 + 3327 ; 247 + 3328 ; 168 + 3329 ; 287 + 3330 ; 248 + 3331 ; 2137 + 3332 ; 244 + 3333 ; 295 + 3334 ; 132 + 3335 ; 160 + 3336 ; 82 + 3337 ; 295 + 3338 ; 304 + 3339 ; 101 + 3340 ; 235 + 3341 ; 1696 + 3342 ; 265 + 3343 ; 279 + 3344 ; 149 + 3345 ; 270 + 3346 ; 123 + 3347 ; 235 + 3348 ; 286 + 3349 ; 80 + 3350 ; 228 + 3351 ; 2405 + 3352 ; 228 + 3353 ; 217 + 3354 ; 90 + 3355 ; 72 + 3356 ; 73 + 3357 ; 102 + 3358 ; 145 + 3359 ; 180 + 3360 ; 288 + 3361 ; 2293 + 3362 ; 112 + 3363 ; 214 + 3364 ; 225 + 3365 ; 253 + 3366 ; 204 + 3367 ; 84 + 3368 ; 132 + 3369 ; 244 + 3370 ; 174 + 3371 ; 2290 + 3372 ; 185 + 3373 ; 130 + 3374 ; 152 + 3375 ; 276 + 3376 ; 236 + 3377 ; 254 + 3378 ; 249 + 3379 ; 238 + 3380 ; 138 + 3381 ; 2097 + 3382 ; 242 + 3383 ; 306 + 3384 ; 87 + 3385 ; 151 + 3386 ; 114 + 3387 ; 166 + 3388 ; 74 + 3389 ; 203 + 3390 ; 75 + 3391 ; 1734 + 3392 ; 86 + 3393 ; 258 + 3394 ; 293 + 3395 ; 264 + 3396 ; 154 + 3397 ; 246 + 3398 ; 151 + 3399 ; 272 + 3400 ; 161 + 3401 ; 1617 + 3402 ; 138 + 3403 ; 266 + 3404 ; 95 + 3405 ; 307 + 3406 ; 76 + 3407 ; 96 + 3408 ; 251 + 3409 ; 244 + 3410 ; 133 + 3411 ; 2018 + 3412 ; 78 + 3413 ; 238 + 3414 ; 143 + 3415 ; 80 + 3416 ; 177 + 3417 ; 151 + 3418 ; 129 + 3419 ; 120 + 3420 ; 280 + 3421 ; 1871 + 3422 ; 214 + 3423 ; 97 + 3424 ; 284 + 3425 ; 206 + 3426 ; 164 + 3427 ; 294 + 3428 ; 193 + 3429 ; 309 + 3430 ; 264 + 3431 ; 2325 + 3432 ; 260 + 3433 ; 140 + 3434 ; 219 + 3435 ; 263 + 3436 ; 143 + 3437 ; 221 + 3438 ; 210 + 3439 ; 264 + 3440 ; 84 + 3441 ; 2207 + 3442 ; 282 + 3443 ; 106 + 3444 ; 300 + 3445 ; 293 + 3446 ; 87 + 3447 ; 132 + 3448 ; 139 + 3449 ; 117 + 3450 ; 115 + 3451 ; 2000 + 3452 ; 157 + 3453 ; 206 + 3454 ; 123 + 3455 ; 210 + 3456 ; 94 + 3457 ; 208 + 3458 ; 277 + 3459 ; 180 + 3460 ; 161 + 3461 ; 2353 + 3462 ; 88 + 3463 ; 78 + 3464 ; 101 + 3465 ; 116 + 3466 ; 117 + 3467 ; 196 + 3468 ; 145 + 3469 ; 241 + 3470 ; 169 + 3471 ; 2331 + 3472 ; 136 + 3473 ; 101 + 3474 ; 286 + 3475 ; 252 + 3476 ; 273 + 3477 ; 204 + 3478 ; 188 + 3479 ; 238 + 3480 ; 225 + 3481 ; 2313 + 3482 ; 224 + 3483 ; 300 + 3484 ; 72 + 3485 ; 225 + 3486 ; 115 + 3487 ; 294 + 3488 ; 73 + 3489 ; 74 + 3490 ; 222 + 3491 ; 1911 + 3492 ; 165 + 3493 ; 222 + 3494 ; 271 + 3495 ; 94 + 3496 ; 204 + 3497 ; 290 + 3498 ; 117 + 3499 ; 113 + 3500 ; 270 + 3501 ; 1881 + 3502 ; 226 + 3503 ; 156 + 3504 ; 175 + 3505 ; 280 + 3506 ; 141 + 3507 ; 297 + 3508 ; 117 + 3509 ; 150 + 3510 ; 203 + 3511 ; 2100 + 3512 ; 74 + 3513 ; 241 + 3514 ; 219 + 3515 ; 99 + 3516 ; 270 + 3517 ; 197 + 3518 ; 222 + 3519 ; 231 + 3520 ; 161 + 3521 ; 2046 + 3522 ; 178 + 3523 ; 134 + 3524 ; 136 + 3525 ; 243 + 3526 ; 87 + 3527 ; 210 + 3528 ; 106 + 3529 ; 79 + 3530 ; 120 + 3531 ; 2056 + 3532 ; 256 + 3533 ; 119 + 3534 ; 298 + 3535 ; 281 + 3536 ; 280 + 3537 ; 270 + 3538 ; 292 + 3539 ; 114 + 3540 ; 95 + 3541 ; 2198 + 3542 ; 103 + 3543 ; 284 + 3544 ; 300 + 3545 ; 275 + 3546 ; 287 + 3547 ; 273 + 3548 ; 201 + 3549 ; 139 + 3550 ; 176 + 3551 ; 2074 + 3552 ; 216 + 3553 ; 246 + 3554 ; 170 + 3555 ; 133 + 3556 ; 273 + 3557 ; 102 + 3558 ; 209 + 3559 ; 312 + 3560 ; 163 + 3561 ; 2049 + 3562 ; 178 + 3563 ; 258 + 3564 ; 108 + 3565 ; 281 + 3566 ; 152 + 3567 ; 157 + 3568 ; 158 + 3569 ; 170 + 3570 ; 301 + 3571 ; 2002 + 3572 ; 259 + 3573 ; 192 + 3574 ; 91 + 3575 ; 79 + 3576 ; 302 + 3577 ; 181 + 3578 ; 269 + 3579 ; 260 + 3580 ; 100 + 3581 ; 2327 + 3582 ; 252 + 3583 ; 193 + 3584 ; 149 + 3585 ; 263 + 3586 ; 303 + 3587 ; 96 + 3588 ; 289 + 3589 ; 158 + 3590 ; 258 + 3591 ; 1872 + 3592 ; 110 + 3593 ; 74 + 3594 ; 236 + 3595 ; 160 + 3596 ; 127 + 3597 ; 86 + 3598 ; 86 + 3599 ; 251 + 3600 ; 260 + 3601 ; 1743 + 3602 ; 250 + 3603 ; 162 + 3604 ; 255 + 3605 ; 93 + 3606 ; 144 + 3607 ; 292 + 3608 ; 152 + 3609 ; 295 + 3610 ; 176 + 3611 ; 1926 + 3612 ; 211 + 3613 ; 142 + 3614 ; 135 + 3615 ; 164 + 3616 ; 246 + 3617 ; 290 + 3618 ; 263 + 3619 ; 222 + 3620 ; 114 + 3621 ; 1792 + 3622 ; 189 + 3623 ; 116 + 3624 ; 156 + 3625 ; 234 + 3626 ; 304 + 3627 ; 107 + 3628 ; 305 + 3629 ; 166 + 3630 ; 83 + 3631 ; 2403 + 3632 ; 283 + 3633 ; 106 + 3634 ; 111 + 3635 ; 127 + 3636 ; 286 + 3637 ; 203 + 3638 ; 198 + 3639 ; 263 + 3640 ; 255 + 3641 ; 2318 + 3642 ; 188 + 3643 ; 167 + 3644 ; 129 + 3645 ; 200 + 3646 ; 156 + 3647 ; 192 + 3648 ; 279 + 3649 ; 292 + 3650 ; 120 + 3651 ; 1647 + 3652 ; 279 + 3653 ; 288 + 3654 ; 141 + 3655 ; 285 + 3656 ; 289 + 3657 ; 273 + 3658 ; 121 + 3659 ; 302 + 3660 ; 130 + 3661 ; 1635 + 3662 ; 197 + 3663 ; 305 + 3664 ; 159 + 3665 ; 103 + 3666 ; 217 + 3667 ; 78 + 3668 ; 141 + 3669 ; 299 + 3670 ; 132 + 3671 ; 2130 + 3672 ; 247 + 3673 ; 226 + 3674 ; 104 + 3675 ; 294 + 3676 ; 86 + 3677 ; 175 + 3678 ; 95 + 3679 ; 209 + 3680 ; 124 + 3681 ; 2311 + 3682 ; 283 + 3683 ; 227 + 3684 ; 161 + 3685 ; 155 + 3686 ; 230 + 3687 ; 139 + 3688 ; 301 + 3689 ; 311 + 3690 ; 102 + 3691 ; 2217 + 3692 ; 277 + 3693 ; 184 + 3694 ; 291 + 3695 ; 237 + 3696 ; 72 + 3697 ; 144 + 3698 ; 281 + 3699 ; 263 + 3700 ; 233 + 3701 ; 1619 + 3702 ; 198 + 3703 ; 91 + 3704 ; 202 + 3705 ; 146 + 3706 ; 155 + 3707 ; 312 + 3708 ; 130 + 3709 ; 278 + 3710 ; 131 + 3711 ; 2071 + 3712 ; 101 + 3713 ; 82 + 3714 ; 254 + 3715 ; 270 + 3716 ; 131 + 3717 ; 150 + 3718 ; 154 + 3719 ; 90 + 3720 ; 145 + 3721 ; 2021 + 3722 ; 259 + 3723 ; 271 + 3724 ; 168 + 3725 ; 193 + 3726 ; 231 + 3727 ; 278 + 3728 ; 119 + 3729 ; 85 + 3730 ; 193 + 3731 ; 2118 + 3732 ; 128 + 3733 ; 101 + 3734 ; 278 + 3735 ; 181 + 3736 ; 231 + 3737 ; 226 + 3738 ; 239 + 3739 ; 162 + 3740 ; 249 + 3741 ; 1738 + 3742 ; 169 + 3743 ; 209 + 3744 ; 139 + 3745 ; 167 + 3746 ; 290 + 3747 ; 85 + 3748 ; 86 + 3749 ; 303 + 3750 ; 152 + 3751 ; 1744 + 3752 ; 111 + 3753 ; 263 + 3754 ; 86 + 3755 ; 241 + 3756 ; 74 + 3757 ; 297 + 3758 ; 77 + 3759 ; 281 + 3760 ; 168 + 3761 ; 1799 + 3762 ; 91 + 3763 ; 239 + 3764 ; 231 + 3765 ; 123 + 3766 ; 155 + 3767 ; 234 + 3768 ; 145 + 3769 ; 103 + 3770 ; 75 + 3771 ; 2226 + 3772 ; 226 + 3773 ; 283 + 3774 ; 146 + 3775 ; 206 + 3776 ; 266 + 3777 ; 231 + 3778 ; 205 + 3779 ; 128 + 3780 ; 236 + 3781 ; 2105 + 3782 ; 283 + 3783 ; 202 + 3784 ; 243 + 3785 ; 297 + 3786 ; 175 + 3787 ; 211 + 3788 ; 98 + 3789 ; 304 + 3790 ; 192 + 3791 ; 2025 + 3792 ; 268 + 3793 ; 80 + 3794 ; 311 + 3795 ; 136 + 3796 ; 208 + 3797 ; 250 + 3798 ; 170 + 3799 ; 102 + 3800 ; 196 + 3801 ; 2258 + 3802 ; 312 + 3803 ; 273 + 3804 ; 129 + 3805 ; 271 + 3806 ; 241 + 3807 ; 96 + 3808 ; 95 + 3809 ; 140 + 3810 ; 169 + 3811 ; 1639 + 3812 ; 187 + 3813 ; 84 + 3814 ; 121 + 3815 ; 286 + 3816 ; 154 + 3817 ; 290 + 3818 ; 197 + 3819 ; 164 + 3820 ; 287 + 3821 ; 1956 + 3822 ; 203 + 3823 ; 201 + 3824 ; 270 + 3825 ; 177 + 3826 ; 146 + 3827 ; 282 + 3828 ; 208 + 3829 ; 208 + 3830 ; 124 + 3831 ; 2223 + 3832 ; 306 + 3833 ; 230 + 3834 ; 224 + 3835 ; 296 + 3836 ; 300 + 3837 ; 226 + 3838 ; 292 + 3839 ; 230 + 3840 ; 224 + 3841 ; 1954 + 3842 ; 148 + 3843 ; 133 + 3844 ; 273 + 3845 ; 135 + 3846 ; 73 + 3847 ; 184 + 3848 ; 297 + 3849 ; 91 + 3850 ; 218 + 3851 ; 2401 + 3852 ; 303 + 3853 ; 214 + 3854 ; 156 + 3855 ; 152 + 3856 ; 191 + 3857 ; 133 + 3858 ; 217 + 3859 ; 187 + 3860 ; 243 + 3861 ; 1856 + 3862 ; 255 + 3863 ; 198 + 3864 ; 272 + 3865 ; 95 + 3866 ; 270 + 3867 ; 225 + 3868 ; 156 + 3869 ; 242 + 3870 ; 298 + 3871 ; 2330 + 3872 ; 291 + 3873 ; 100 + 3874 ; 256 + 3875 ; 219 + 3876 ; 97 + 3877 ; 150 + 3878 ; 155 + 3879 ; 288 + 3880 ; 105 + 3881 ; 2310 + 3882 ; 158 + 3883 ; 296 + 3884 ; 121 + 3885 ; 138 + 3886 ; 180 + 3887 ; 213 + 3888 ; 148 + 3889 ; 306 + 3890 ; 258 + 3891 ; 2190 + 3892 ; 157 + 3893 ; 118 + 3894 ; 108 + 3895 ; 85 + 3896 ; 218 + 3897 ; 91 + 3898 ; 98 + 3899 ; 242 + 3900 ; 129 + 3901 ; 2117 + 3902 ; 284 + 3903 ; 134 + 3904 ; 224 + 3905 ; 250 + 3906 ; 210 + 3907 ; 198 + 3908 ; 119 + 3909 ; 73 + 3910 ; 85 + 3911 ; 1934 + 3912 ; 297 + 3913 ; 243 + 3914 ; 156 + 3915 ; 305 + 3916 ; 194 + 3917 ; 104 + 3918 ; 275 + 3919 ; 88 + 3920 ; 132 + 3921 ; 2164 + 3922 ; 109 + 3923 ; 308 + 3924 ; 167 + 3925 ; 178 + 3926 ; 114 + 3927 ; 169 + 3928 ; 122 + 3929 ; 266 + 3930 ; 108 + 3931 ; 2403 + 3932 ; 228 + 3933 ; 229 + 3934 ; 106 + 3935 ; 301 + 3936 ; 297 + 3937 ; 207 + 3938 ; 189 + 3939 ; 270 + 3940 ; 280 + 3941 ; 1918 + 3942 ; 190 + 3943 ; 238 + 3944 ; 98 + 3945 ; 181 + 3946 ; 258 + 3947 ; 296 + 3948 ; 109 + 3949 ; 128 + 3950 ; 143 + 3951 ; 2353 + 3952 ; 96 + 3953 ; 301 + 3954 ; 136 + 3955 ; 112 + 3956 ; 289 + 3957 ; 102 + 3958 ; 272 + 3959 ; 182 + 3960 ; 189 + 3961 ; 1693 + 3962 ; 187 + 3963 ; 180 + 3964 ; 307 + 3965 ; 83 + 3966 ; 205 + 3967 ; 251 + 3968 ; 123 + 3969 ; 115 + 3970 ; 122 + 3971 ; 1949 + 3972 ; 283 + 3973 ; 260 + 3974 ; 110 + 3975 ; 165 + 3976 ; 211 + 3977 ; 194 + 3978 ; 239 + 3979 ; 198 + 3980 ; 96 + 3981 ; 1967 + 3982 ; 269 + 3983 ; 74 + 3984 ; 242 + 3985 ; 203 + 3986 ; 253 + 3987 ; 244 + 3988 ; 138 + 3989 ; 115 + 3990 ; 260 + 3991 ; 2331 + 3992 ; 141 + 3993 ; 201 + 3994 ; 75 + 3995 ; 226 + 3996 ; 263 + 3997 ; 111 + 3998 ; 124 + 3999 ; 111 + 4000 ; 86 + Last second: 74075 + Proof time target: 374 + Average proposal time: 17 + Average proof time: 374 + +logCount,time,lastVerifiedBlockId,numBlocks,blockFee,accProposedAt + !----------------------------- + 1;1;0;1;100000000;0 + 2;12;0;1;100000000;0 + 3;20;0;2;100000000;20 + 4;24;0;2;100000000;20 + 5;36;0;2;100000000;20 + 6;43;0;3;100000000;63 + 7;48;0;3;100000000;63 + 8;60;0;3;100000000;63 + 9;62;0;4;100000000;125 + 10;72;0;4;100000000;125 + 11;74;0;5;100000000;199 + 12;84;0;5;100000000;199 + 13;88;0;6;100000000;287 + 14;96;0;6;100000000;287 + 15;105;0;7;100000000;392 + 16;108;0;7;100000000;392 + 17;120;0;7;100000000;392 + 18;126;0;8;100000000;518 + 19;132;0;8;100000000;518 + 20;139;0;9;100000000;657 + 21;144;0;9;100000000;657 + 22;156;0;9;100000000;657 + 23;162;0;10;100000000;819 + 24;168;0;10;100000000;819 + 25;175;0;11;100000000;994 + 26;180;0;11;100000000;994 + 27;188;0;12;100000000;1182 + 28;192;0;12;100000000;1182 + 29;204;0;12;100000000;1182 + 30;204;0;13;100000000;1386 + 31;216;0;13;100000000;1386 + 32;219;0;14;100000000;1605 + 33;228;0;14;100000000;1605 + 34;240;0;14;100000000;1605 + 35;243;0;15;100000000;1848 + 36;252;0;15;100000000;1848 + 37;264;0;15;100000000;1848 + 38;267;0;16;100000000;2115 + 39;276;0;16;100000000;2115 + 40;280;0;17;100000000;2395 + 41;288;0;17;100000000;2395 + 42;292;0;18;100000000;2687 + 43;300;0;18;100000000;2687 + 44;311;0;19;100000000;2998 + 45;312;0;19;100000000;2998 + 46;324;0;19;100000000;2998 + 47;331;0;20;100000000;3329 + 48;336;0;20;100000000;3329 + 49;348;0;20;100000000;3329 + 50;351;0;21;100000000;3680 + 51;360;0;21;100000000;3680 + 52;367;0;22;100000000;4047 + 53;372;0;22;100000000;4047 + 54;384;0;22;100000000;4047 + 55;384;0;23;100000000;4431 + 56;396;0;23;100000000;4431 + 57;404;0;24;100000000;4835 + 58;408;0;24;100000000;4835 + 59;420;0;24;100000000;4835 + 60;428;0;25;100000000;5263 + 61;432;0;25;100000000;5263 + 62;444;0;25;100000000;5263 + 63;445;0;26;100000000;5708 + 64;456;0;26;100000000;5708 + 65;458;0;27;100000000;6166 + 66;468;0;27;100000000;6166 + 67;472;0;28;100000000;6638 + 68;480;0;28;100000000;6638 + 69;492;0;28;100000000;6638 + 70;492;0;29;100000000;7130 + 71;504;0;29;100000000;7130 + 72;509;0;30;100000000;7639 + 73;516;0;30;100000000;7639 + 74;528;0;30;100000000;7639 + 75;530;0;31;100000000;8169 + 76;540;0;31;100000000;8169 + 77;552;0;31;100000000;8169 + 78;552;0;32;100000000;8721 + 79;564;0;32;100000000;8721 + 80;573;0;33;100000000;9294 + 81;576;0;33;100000000;9294 + 82;588;0;33;100000000;9294 + 83;594;0;34;100000000;9888 + 84;600;0;34;100000000;9888 + 85;609;0;35;100000000;10497 + 86;612;0;35;100000000;10497 + 87;624;0;35;100000000;10497 + 88;629;0;36;100000000;11126 + 89;636;0;36;100000000;11126 + 90;642;0;37;100000000;11768 + 91;648;0;37;100000000;11768 + 92;660;0;37;100000000;11768 + 93;665;0;38;100000000;12433 + 94;672;0;38;100000000;12433 + 95;679;0;39;100000000;13112 + 96;684;0;39;100000000;13112 + 97;693;0;40;100000000;13805 + 98;696;0;40;100000000;13805 + 99;708;0;40;100000000;13805 + 100;711;0;41;100000000;14516 + 101;720;0;41;100000000;14516 + 102;724;0;42;100000000;15240 + 103;732;0;42;100000000;15240 + 104;737;0;43;100000000;15977 + 105;744;0;43;100000000;15977 + 106;753;0;44;100000000;16730 + 107;756;0;44;100000000;16730 + 108;768;0;44;100000000;16730 + 109;776;0;45;100000000;17506 + 110;780;0;45;100000000;17506 + 111;792;0;45;100000000;17506 + 112;795;0;46;100000000;18301 + 113;804;0;46;100000000;18301 + 114;814;0;47;100000000;19115 + 115;816;0;47;100000000;19115 + 116;827;0;48;100000000;19942 + 117;828;0;48;100000000;19942 + 118;840;0;48;100000000;19942 + 119;843;0;49;100000000;20785 + 120;852;0;49;100000000;20785 + 121;856;0;50;100000000;21641 + 122;864;0;50;100000000;21641 + 123;868;0;51;100000000;22509 + 124;876;0;51;100000000;22509 + 125;888;0;51;100000000;22509 + 126;890;0;52;100000000;23399 + 127;900;0;52;100000000;23399 + 128;903;0;53;100000000;24302 + 129;912;0;53;100000000;24302 + 130;921;0;54;100000000;25223 + 131;924;0;54;100000000;25223 + 132;933;0;55;100000000;26156 + 133;936;0;55;100000000;26156 + 134;948;0;55;100000000;26156 + 135;957;0;56;100000000;27113 + 136;960;0;56;100000000;27113 + 137;970;0;57;100000000;28083 + 138;972;0;57;100000000;28083 + 139;984;0;57;100000000;28083 + 140;984;0;58;100000000;29067 + 141;996;0;58;100000000;29067 + 142;1006;0;59;100000000;30073 + 143;1008;0;59;100000000;30073 + 144;1020;0;59;100000000;30073 + 145;1021;0;60;100000000;31094 + 146;1032;0;60;100000000;31094 + 147;1044;0;60;100000000;31094 + 148;1044;0;61;100000000;32138 + 149;1056;0;61;100000000;32138 + 150;1056;0;62;100000000;33194 + 151;1068;0;62;100000000;33194 + 152;1075;0;63;100000000;34269 + 153;1080;0;63;100000000;34269 + 154;1092;0;63;100000000;34269 + 155;1096;0;64;100000000;35365 + 156;1104;0;64;100000000;35365 + 157;1113;0;65;100000000;36478 + 158;1116;0;65;100000000;36478 + 159;1126;0;66;100000000;37604 + 160;1128;0;66;100000000;37604 + 161;1140;0;66;100000000;37604 + 162;1147;0;67;100000000;38751 + 163;1152;0;67;100000000;38751 + 164;1164;0;67;100000000;38751 + 165;1169;0;68;100000000;39920 + 166;1176;0;68;100000000;39920 + 167;1187;0;69;100000000;41107 + 168;1188;0;69;100000000;41107 + 169;1200;0;69;100000000;41107 + 170;1206;0;70;100000000;42313 + 171;1212;0;70;100000000;42313 + 172;1224;0;70;100000000;42313 + 173;1230;0;71;100000000;43543 + 174;1236;0;71;100000000;43543 + 175;1245;0;72;100000000;44788 + 176;1248;0;72;100000000;44788 + 177;1258;0;73;100000000;46046 + 178;1260;0;73;100000000;46046 + 179;1272;0;73;100000000;46046 + 180;1279;0;74;100000000;47325 + 181;1284;0;74;100000000;47325 + 182;1291;0;75;100000000;48616 + 183;1296;0;75;100000000;48616 + 184;1307;0;76;100000000;49923 + 185;1308;0;76;100000000;49923 + 186;1320;0;76;100000000;49923 + 187;1329;0;77;100000000;51252 + 188;1332;0;77;100000000;51252 + 189;1344;0;77;100000000;51252 + 190;1345;0;78;100000000;52597 + 191;1356;0;78;100000000;52597 + 192;1357;0;79;100000000;53954 + 193;1368;0;79;100000000;53954 + 194;1373;0;80;100000000;55327 + 195;1380;0;80;100000000;55327 + 196;1391;0;81;100000000;56718 + 197;1392;0;81;100000000;56718 + 198;1404;0;81;100000000;56718 + 199;1408;0;82;100000000;58126 + 200;1416;0;82;100000000;58126 + 201;1428;0;82;100000000;58126 + 202;1428;0;83;100000000;59554 + 203;1440;0;83;100000000;59554 + 204;1445;0;84;100000000;60999 + 205;1452;0;84;100000000;60999 + 206;1464;0;84;100000000;60999 + 207;1464;0;85;100000000;62463 + 208;1476;0;85;100000000;62463 + 209;1480;0;86;100000000;63943 + 210;1488;0;86;100000000;63943 + 211;1496;0;87;100000000;65439 + 212;1500;0;87;100000000;65439 + 213;1512;0;87;100000000;65439 + 214;1514;0;88;100000000;66953 + 215;1524;0;88;100000000;66953 + 216;1536;0;88;100000000;66953 + 217;1537;0;89;100000000;68490 + 218;1548;0;89;100000000;68490 + 219;1553;0;90;100000000;70043 + 220;1560;0;90;100000000;70043 + 221;1569;0;91;100000000;71612 + 222;1572;0;91;100000000;71612 + 223;1584;0;91;100000000;71612 + 224;1584;0;92;100000000;73196 + 225;1596;0;92;100000000;73196 + 226;1599;0;93;100000000;74795 + 227;1608;0;93;100000000;74795 + 228;1618;0;94;100000000;76413 + 229;1620;0;94;100000000;76413 + 230;1632;0;94;100000000;76413 + 231;1640;0;95;100000000;78053 + 232;1644;0;95;100000000;78053 + 233;1656;0;95;100000000;78053 + 234;1656;0;96;100000000;79709 + 235;1668;0;96;100000000;79709 + 236;1678;0;97;100000000;81387 + 237;1680;0;97;100000000;81387 + 238;1692;0;97;100000000;81387 + 239;1697;0;98;100000000;83084 + 240;1704;0;98;100000000;83084 + 241;1710;0;99;100000000;84794 + 242;1716;0;99;100000000;84794 + 243;1724;0;100;100000000;86518 + 244;1728;0;100;100000000;86518 + 245;1740;0;100;100000000;86518 + 246;1743;0;101;100000000;88261 + 247;1752;0;101;100000000;88261 + 248;1762;0;102;100000000;90023 + 249;1764;0;102;100000000;90023 + 250;1776;0;102;100000000;90023 + 251;1785;0;103;100000000;91808 + 252;1788;0;103;100000000;91808 + 253;1800;0;103;100000000;91808 + 254;1807;10;104;92318558;92621 + 255;1812;10;104;92318558;92621 + 256;1824;10;104;92318558;92621 + 257;1825;10;105;92318558;94446 + 258;1836;10;105;92318558;94446 + 259;1843;10;106;92318558;96289 + 260;1848;10;106;92318558;96289 + 261;1857;10;107;92318558;98146 + 262;1860;10;107;92318558;98146 + 263;1872;10;107;92318558;98146 + 264;1874;10;108;92318558;100020 + 265;1884;10;108;92318558;100020 + 266;1896;10;108;92318558;100020 + 267;1898;10;109;92318558;101918 + 268;1908;10;109;92318558;101918 + 269;1910;10;110;92318558;103828 + 270;1920;10;110;92318558;103828 + 271;1928;10;111;92318558;105756 + 272;1932;10;111;92318558;105756 + 273;1944;10;111;92318558;105756 + 274;1952;10;112;92318558;107708 + 275;1956;10;112;92318558;107708 + 276;1964;10;113;92318558;109672 + 277;1968;10;113;92318558;109672 + 278;1980;10;113;92318558;109672 + 279;1982;10;114;92318558;111654 + 280;1992;10;114;92318558;111654 + 281;2001;10;115;92318558;113655 + 282;2004;10;115;92318558;113655 + 283;2016;10;115;92318558;113655 + 284;2025;20;116;84507710;112994 + 285;2028;20;116;84507710;112994 + 286;2040;20;116;84507710;112994 + 287;2046;20;117;84507710;115040 + 288;2052;20;117;84507710;115040 + 289;2064;20;117;84507710;115040 + 290;2066;20;118;84507710;117106 + 291;2076;20;118;84507710;117106 + 292;2079;20;119;84507710;119185 + 293;2088;20;119;84507710;119185 + 294;2100;20;119;84507710;119185 + 295;2102;20;120;84507710;121287 + 296;2112;20;120;84507710;121287 + 297;2124;20;120;84507710;121287 + 298;2124;20;121;84507710;123411 + 299;2136;20;121;84507710;123411 + 300;2145;20;122;84507710;125556 + 301;2148;20;122;84507710;125556 + 302;2158;20;123;84507710;127714 + 303;2160;20;123;84507710;127714 + 304;2172;20;123;84507710;127714 + 305;2178;20;124;84507710;129892 + 306;2184;20;124;84507710;129892 + 307;2196;20;124;84507710;129892 + 308;2202;20;125;84507710;132094 + 309;2208;20;125;84507710;132094 + 310;2218;20;126;84507710;134312 + 311;2220;20;126;84507710;134312 + 312;2232;20;126;84507710;134312 + 313;2240;20;127;84507710;136552 + 314;2244;20;127;84507710;136552 + 315;2254;20;128;84507710;138806 + 316;2256;20;128;84507710;138806 + 317;2268;20;128;84507710;138806 + 318;2273;20;129;84507710;141079 + 319;2280;20;129;84507710;141079 + 320;2292;20;129;84507710;141079 + 321;2294;20;130;84507710;143373 + 322;2304;20;130;84507710;143373 + 323;2313;20;131;84507710;145686 + 324;2316;20;131;84507710;145686 + 325;2328;20;131;84507710;145686 + 326;2333;20;132;84507710;148019 + 327;2340;20;132;84507710;148019 + 328;2352;20;132;84507710;148019 + 329;2356;20;133;84507710;150375 + 330;2364;20;133;84507710;150375 + 331;2376;20;133;84507710;150375 + 332;2376;20;134;84507710;152751 + 333;2388;20;134;84507710;152751 + 334;2388;20;135;84507710;155139 + 335;2400;20;135;84507710;155139 + 336;2409;20;136;84507710;157548 + 337;2412;20;136;84507710;157548 + 338;2424;20;136;84507710;157548 + 339;2426;20;137;84507710;159974 + 340;2436;20;137;84507710;159974 + 341;2441;20;138;84507710;162415 + 342;2448;20;138;84507710;162415 + 343;2456;20;139;84507710;164871 + 344;2460;20;139;84507710;164871 + 345;2472;20;139;84507710;164871 + 346;2478;30;140;80241269;162860 + 347;2484;30;140;80241269;162860 + 348;2491;30;141;80241269;165351 + 349;2496;30;141;80241269;165351 + 350;2508;30;141;80241269;165351 + 351;2509;30;142;80241269;167860 + 352;2520;30;142;80241269;167860 + 353;2524;30;143;80241269;170384 + 354;2532;30;143;80241269;170384 + 355;2541;30;144;80241269;172925 + 356;2544;30;144;80241269;172925 + 357;2556;30;144;80241269;172925 + 358;2556;30;145;80241269;175481 + 359;2568;30;145;80241269;175481 + 360;2573;30;146;80241269;178054 + 361;2580;30;146;80241269;178054 + 362;2586;30;147;80241269;180640 + 363;2592;30;147;80241269;180640 + 364;2604;30;147;80241269;180640 + 365;2606;30;148;80241269;183246 + 366;2616;30;148;80241269;183246 + 367;2627;30;149;80241269;185873 + 368;2628;30;149;80241269;185873 + 369;2640;30;149;80241269;185873 + 370;2644;30;150;80241269;188517 + 371;2652;30;150;80241269;188517 + 372;2664;30;150;80241269;188517 + 373;2664;30;151;80241269;191181 + 374;2676;30;151;80241269;191181 + 375;2686;30;152;80241269;193867 + 376;2688;30;152;80241269;193867 + 377;2700;40;152;87073786;187520 + 378;2709;40;153;87073786;190229 + 379;2712;40;153;87073786;190229 + 380;2724;40;153;87073786;190229 + 381;2725;40;154;87073786;192954 + 382;2736;40;154;87073786;192954 + 383;2743;40;155;87073786;195697 + 384;2748;40;155;87073786;195697 + 385;2760;40;155;87073786;195697 + 386;2766;40;156;87073786;198463 + 387;2772;40;156;87073786;198463 + 388;2781;40;157;87073786;201244 + 389;2784;40;157;87073786;201244 + 390;2795;40;158;87073786;204039 + 391;2796;40;158;87073786;204039 + 392;2808;40;158;87073786;204039 + 393;2811;40;159;87073786;206850 + 394;2820;40;159;87073786;206850 + 395;2825;40;160;87073786;209675 + 396;2832;40;160;87073786;209675 + 397;2842;40;161;87073786;212517 + 398;2844;40;161;87073786;212517 + 399;2854;40;162;87073786;215371 + 400;2856;40;162;87073786;215371 + 401;2868;40;162;87073786;215371 + 402;2868;40;163;87073786;218239 + 403;2880;40;163;87073786;218239 + 404;2883;40;164;87073786;221122 + 405;2892;40;164;87073786;221122 + 406;2902;40;165;87073786;224024 + 407;2904;40;165;87073786;224024 + 408;2916;40;165;87073786;224024 + 409;2924;40;166;87073786;226948 + 410;2928;40;166;87073786;226948 + 411;2940;40;166;87073786;226948 + 412;2943;50;167;90289326;221898 + 413;2952;50;167;90289326;221898 + 414;2956;50;168;90289326;224854 + 415;2964;50;168;90289326;224854 + 416;2976;50;168;90289326;224854 + 417;2978;50;169;90289326;227832 + 418;2988;50;169;90289326;227832 + 419;3000;50;169;90289326;227832 + 420;3002;50;170;90289326;230834 + 421;3012;50;170;90289326;230834 + 422;3024;50;170;90289326;230834 + 423;3026;50;171;90289326;233860 + 424;3036;50;171;90289326;233860 + 425;3045;50;172;90289326;236905 + 426;3048;50;172;90289326;236905 + 427;3060;50;172;90289326;236905 + 428;3061;50;173;90289326;239966 + 429;3072;50;173;90289326;239966 + 430;3079;50;174;90289326;243045 + 431;3084;50;174;90289326;243045 + 432;3096;50;174;90289326;243045 + 433;3098;50;175;90289326;246143 + 434;3108;50;175;90289326;246143 + 435;3118;50;176;90289326;249261 + 436;3120;50;176;90289326;249261 + 437;3132;50;176;90289326;249261 + 438;3139;50;177;90289326;252400 + 439;3144;50;177;90289326;252400 + 440;3156;50;177;90289326;252400 + 441;3159;50;178;90289326;255559 + 442;3168;50;178;90289326;255559 + 443;3176;50;179;90289326;258735 + 444;3180;50;179;90289326;258735 + 445;3192;50;179;90289326;258735 + 446;3196;50;180;90289326;261931 + 447;3204;50;180;90289326;261931 + 448;3216;50;180;90289326;261931 + 449;3220;50;181;90289326;265151 + 450;3228;50;181;90289326;265151 + 451;3233;50;182;90289326;268384 + 452;3240;50;182;90289326;268384 + 453;3249;70;183;90319508;250599 + 454;3252;70;183;90319508;250599 + 455;3264;70;183;90319508;250599 + 456;3271;70;184;90319508;253870 + 457;3276;70;184;90319508;253870 + 458;3288;70;184;90319508;253870 + 459;3289;70;185;90319508;257159 + 460;3300;70;185;90319508;257159 + 461;3312;70;185;90319508;257159 + 462;3313;70;186;90319508;260472 + 463;3324;70;186;90319508;260472 + 464;3336;70;186;90319508;260472 + 465;3337;70;187;90319508;263809 + 466;3348;70;187;90319508;263809 + 467;3351;70;188;90319508;267160 + 468;3360;70;188;90319508;267160 + 469;3364;70;189;90319508;270524 + 470;3372;70;189;90319508;270524 + 471;3383;70;190;90319508;273907 + 472;3384;70;190;90319508;273907 + 473;3396;70;190;90319508;273907 + 474;3406;70;191;90319508;277313 + 475;3408;70;191;90319508;277313 + 476;3420;70;191;90319508;277313 + 477;3421;70;192;90319508;280734 + 478;3432;70;192;90319508;280734 + 479;3440;70;193;90319508;284174 + 480;3444;70;193;90319508;284174 + 481;3453;70;194;90319508;287627 + 482;3456;70;194;90319508;287627 + 483;3468;70;194;90319508;287627 + 484;3468;70;195;90319508;291095 + 485;3480;70;195;90319508;291095 + 486;3482;70;196;90319508;294577 + 487;3492;70;196;90319508;294577 + 488;3502;70;197;90319508;298079 + 489;3504;70;197;90319508;298079 + 490;3514;70;198;90319508;301593 + 491;3516;70;198;90319508;301593 + 492;3528;70;198;90319508;301593 + 493;3534;80;199;94204295;291952 + 494;3540;80;199;94204295;291952 + 495;3549;80;200;94204295;295501 + 496;3552;80;200;94204295;295501 + 497;3564;80;200;94204295;295501 + 498;3571;80;201;94204295;299072 + 499;3576;80;201;94204295;299072 + 500;3583;80;202;94204295;302655 + 501;3588;80;202;94204295;302655 + 502;3599;80;203;94204295;306254 + 503;3600;80;203;94204295;306254 + 504;3612;80;203;94204295;306254 + 505;3616;90;204;94015572;294976 + 506;3624;90;204;94015572;294976 + 507;3631;110;205;75986778;263469 + 508;3636;110;205;75986778;263469 + 509;3645;110;206;75986778;267114 + 510;3648;110;206;75986778;267114 + 511;3660;110;206;75986778;267114 + 512;3665;110;207;75986778;270779 + 513;3672;110;207;75986778;270779 + 514;3678;110;208;75986778;274457 + 515;3684;110;208;75986778;274457 + 516;3691;110;209;75986778;278148 + 517;3696;110;209;75986778;278148 + 518;3708;110;209;75986778;278148 + 519;3708;110;210;75986778;281856 + 520;3720;110;210;75986778;281856 + 521;3720;110;211;75986778;285576 + 522;3732;110;211;75986778;285576 + 523;3733;110;212;75986778;289309 + 524;3744;110;212;75986778;289309 + 525;3747;110;213;75986778;293056 + 526;3756;110;213;75986778;293056 + 527;3764;110;214;75986778;296820 + 528;3768;110;214;75986778;296820 + 529;3780;110;214;75986778;296820 + 530;3784;110;215;75986778;300604 + 531;3792;110;215;75986778;300604 + 532;3803;110;216;75986778;304407 + 533;3804;110;216;75986778;304407 + 534;3816;110;216;75986778;304407 + 535;3818;110;217;75986778;308225 + 536;3828;110;217;75986778;308225 + 537;3831;110;218;75986778;312056 + 538;3840;110;218;75986778;312056 + 539;3847;110;219;75986778;315903 + 540;3852;110;219;75986778;315903 + 541;3859;110;220;75986778;319762 + 542;3864;110;220;75986778;319762 + 543;3876;110;220;75986778;319762 + 544;3883;110;221;75986778;323645 + 545;3888;110;221;75986778;323645 + 546;3900;110;221;75986778;323645 + 547;3904;110;222;75986778;327549 + 548;3912;110;222;75986778;327549 + 549;3924;110;222;75986778;327549 + 550;3925;110;223;75986778;331474 + 551;3936;110;223;75986778;331474 + 552;3942;110;224;75986778;335416 + 553;3948;110;224;75986778;335416 + 554;3960;110;224;75986778;335416 + 555;3962;110;225;75986778;339378 + 556;3972;110;225;75986778;339378 + 557;3979;110;226;75986778;343357 + 558;3984;110;226;75986778;343357 + 559;3994;110;227;75986778;347351 + 560;3996;110;227;75986778;347351 + 561;4008;110;227;75986778;347351 + 562;4011;110;228;75986778;351362 + 563;4020;110;228;75986778;351362 + 564;4030;110;229;75986778;355392 + 565;4032;110;229;75986778;355392 + 566;4044;110;229;75986778;355392 + 567;4054;110;230;75986778;359446 + 568;4056;110;230;75986778;359446 + 569;4068;110;230;75986778;359446 + 570;4077;110;231;75986778;363523 + 571;4080;110;231;75986778;363523 + 572;4092;110;231;75986778;363523 + 573;4098;110;232;75986778;367621 + 574;4104;110;232;75986778;367621 + 575;4113;110;233;75986778;371734 + 576;4116;110;233;75986778;371734 + 577;4128;110;233;75986778;371734 + 578;4134;110;234;75986778;375868 + 579;4140;110;234;75986778;375868 + 580;4150;110;235;75986778;380018 + 581;4152;110;235;75986778;380018 + 582;4164;110;235;75986778;380018 + 583;4172;110;236;75986778;384190 + 584;4176;110;236;75986778;384190 + 585;4188;110;236;75986778;384190 + 586;4194;110;237;75986778;388384 + 587;4200;110;237;75986778;388384 + 588;4207;110;238;75986778;392591 + 589;4212;110;238;75986778;392591 + 590;4223;120;239;79773314;376473 + 591;4224;120;239;79773314;376473 + 592;4236;120;239;79773314;376473 + 593;4245;130;240;78228724;358443 + 594;4248;130;240;78228724;358443 + 595;4260;130;240;78228724;358443 + 596;4263;130;241;78228724;362706 + 597;4272;130;241;78228724;362706 + 598;4275;130;242;78228724;366981 + 599;4284;130;242;78228724;366981 + 600;4289;130;243;78228724;371270 + 601;4296;130;243;78228724;371270 + 602;4308;130;243;78228724;371270 + 603;4309;130;244;78228724;375579 + 604;4320;130;244;78228724;375579 + 605;4329;130;245;78228724;379908 + 606;4332;130;245;78228724;379908 + 607;4344;130;245;78228724;379908 + 608;4352;130;246;78228724;384260 + 609;4356;130;246;78228724;384260 + 610;4368;130;246;78228724;384260 + 611;4372;140;247;82223106;364478 + 612;4380;140;247;82223106;364478 + 613;4392;140;247;82223106;364478 + 614;4393;140;248;82223106;368871 + 615;4404;140;248;82223106;368871 + 616;4408;140;249;82223106;373279 + 617;4416;140;249;82223106;373279 + 618;4426;140;250;82223106;377705 + 619;4428;140;250;82223106;377705 + 620;4440;140;250;82223106;377705 + 621;4444;140;251;82223106;382149 + 622;4452;140;251;82223106;382149 + 623;4462;140;252;82223106;386611 + 624;4464;140;252;82223106;386611 + 625;4476;140;252;82223106;386611 + 626;4480;140;253;82223106;391091 + 627;4488;140;253;82223106;391091 + 628;4500;140;253;82223106;391091 + 629;4500;140;254;82223106;395591 + 630;4512;140;254;82223106;395591 + 631;4520;140;255;82223106;400111 + 632;4524;140;255;82223106;400111 + 633;4534;140;256;82223106;404645 + 634;4536;140;256;82223106;404645 + 635;4548;140;256;82223106;404645 + 636;4550;140;257;82223106;409195 + 637;4560;140;257;82223106;409195 + 638;4567;140;258;82223106;413762 + 639;4572;140;258;82223106;413762 + 640;4581;140;259;82223106;418343 + 641;4584;140;259;82223106;418343 + 642;4596;140;259;82223106;418343 + 643;4604;140;260;82223106;422947 + 644;4608;140;260;82223106;422947 + 645;4620;140;260;82223106;422947 + 646;4628;140;261;82223106;427575 + 647;4632;140;261;82223106;427575 + 648;4642;140;262;82223106;432217 + 649;4644;140;262;82223106;432217 + 650;4654;140;263;82223106;436871 + 651;4656;140;263;82223106;436871 + 652;4666;140;264;82223106;441537 + 653;4668;140;264;82223106;441537 + 654;4680;140;264;82223106;441537 + 655;4682;140;265;82223106;446219 + 656;4692;140;265;82223106;446219 + 657;4697;140;266;82223106;450916 + 658;4704;140;266;82223106;450916 + 659;4714;140;267;82223106;455630 + 660;4716;140;267;82223106;455630 + 661;4726;140;268;82223106;460356 + 662;4728;140;268;82223106;460356 + 663;4740;140;268;82223106;460356 + 664;4746;150;269;81620742;439272 + 665;4752;150;269;81620742;439272 + 666;4761;160;270;75796542;416350 + 667;4764;160;270;75796542;416350 + 668;4775;160;271;75796542;421125 + 669;4776;160;271;75796542;421125 + 670;4788;160;271;75796542;421125 + 671;4791;160;272;75796542;425916 + 672;4800;160;272;75796542;425916 + 673;4808;160;273;75796542;430724 + 674;4812;160;273;75796542;430724 + 675;4824;160;273;75796542;430724 + 676;4832;160;274;75796542;435556 + 677;4836;160;274;75796542;435556 + 678;4845;160;275;75796542;440401 + 679;4848;160;275;75796542;440401 + 680;4860;160;275;75796542;440401 + 681;4861;160;276;75796542;445262 + 682;4872;160;276;75796542;445262 + 683;4884;160;276;75796542;445262 + 684;4884;160;277;75796542;450146 + 685;4896;160;277;75796542;450146 + 686;4899;160;278;75796542;455045 + 687;4908;160;278;75796542;455045 + 688;4920;160;278;75796542;455045 + 689;4923;160;279;75796542;459968 + 690;4932;160;279;75796542;459968 + 691;4936;160;280;75796542;464904 + 692;4944;160;280;75796542;464904 + 693;4949;160;281;75796542;469853 + 694;4956;160;281;75796542;469853 + 695;4964;160;282;75796542;474817 + 696;4968;160;282;75796542;474817 + 697;4980;160;282;75796542;474817 + 698;4985;160;283;75796542;479802 + 699;4992;160;283;75796542;479802 + 700;5004;160;283;75796542;479802 + 701;5009;160;284;75796542;484811 + 702;5016;160;284;75796542;484811 + 703;5028;160;284;75796542;484811 + 704;5030;160;285;75796542;489841 + 705;5040;160;285;75796542;489841 + 706;5046;160;286;75796542;494887 + 707;5052;160;286;75796542;494887 + 708;5064;160;286;75796542;494887 + 709;5066;170;287;78700770;470617 + 710;5076;170;287;78700770;470617 + 711;5080;170;288;78700770;475697 + 712;5088;170;288;78700770;475697 + 713;5093;170;289;78700770;480790 + 714;5100;170;289;78700770;480790 + 715;5109;170;290;78700770;485899 + 716;5112;170;290;78700770;485899 + 717;5122;170;291;78700770;491021 + 718;5124;170;291;78700770;491021 + 719;5136;170;291;78700770;491021 + 720;5143;170;292;78700770;496164 + 721;5148;170;292;78700770;496164 + 722;5160;170;292;78700770;496164 + 723;5160;170;293;78700770;501324 + 724;5172;170;293;78700770;501324 + 725;5184;170;293;78700770;501324 + 726;5184;170;294;78700770;506508 + 727;5196;170;294;78700770;506508 + 728;5204;170;295;78700770;511712 + 729;5208;170;295;78700770;511712 + 730;5220;170;295;78700770;511712 + 731;5225;170;296;78700770;516937 + 732;5232;170;296;78700770;516937 + 733;5244;170;296;78700770;516937 + 734;5249;170;297;78700770;522186 + 735;5256;170;297;78700770;522186 + 736;5268;170;297;78700770;522186 + 737;5271;170;298;78700770;527457 + 738;5280;170;298;78700770;527457 + 739;5288;170;299;78700770;532745 + 740;5292;170;299;78700770;532745 + 741;5304;170;299;78700770;532745 + 742;5306;180;300;85216783;506760 + 743;5316;180;300;85216783;506760 + 744;5325;180;301;85216783;512085 + 745;5328;180;301;85216783;512085 + 746;5340;180;301;85216783;512085 + 747;5341;180;302;85216783;517426 + 748;5352;180;302;85216783;517426 + 749;5361;180;303;85216783;522787 + 750;5364;180;303;85216783;522787 + 751;5376;180;303;85216783;522787 + 752;5382;180;304;85216783;528169 + 753;5388;180;304;85216783;528169 + 754;5399;180;305;85216783;533568 + 755;5400;180;305;85216783;533568 + 756;5412;180;305;85216783;533568 + 757;5416;180;306;85216783;538984 + 758;5424;180;306;85216783;538984 + 759;5435;180;307;85216783;544419 + 760;5436;180;307;85216783;544419 + 761;5448;180;307;85216783;544419 + 762;5449;180;308;85216783;549868 + 763;5460;180;308;85216783;549868 + 764;5466;190;309;86638346;522138 + 765;5472;190;309;86638346;522138 + 766;5484;190;309;86638346;522138 + 767;5484;200;310;83762535;492688 + 768;5496;200;310;83762535;492688 + 769;5500;200;311;83762535;498188 + 770;5508;200;311;83762535;498188 + 771;5520;200;311;83762535;498188 + 772;5524;200;312;83762535;503712 + 773;5532;200;312;83762535;503712 + 774;5543;200;313;83762535;509255 + 775;5544;200;313;83762535;509255 + 776;5556;200;313;83762535;509255 + 777;5562;200;314;83762535;514817 + 778;5568;200;314;83762535;514817 + 779;5580;200;314;83762535;514817 + 780;5584;200;315;83762535;520401 + 781;5592;200;315;83762535;520401 + 782;5601;200;316;83762535;526002 + 783;5604;200;316;83762535;526002 + 784;5614;200;317;83762535;531616 + 785;5616;200;317;83762535;531616 + 786;5628;200;317;83762535;531616 + 787;5630;200;318;83762535;537246 + 788;5640;200;318;83762535;537246 + 789;5652;200;318;83762535;537246 + 790;5654;200;319;83762535;542900 + 791;5664;200;319;83762535;542900 + 792;5676;200;319;83762535;542900 + 793;5678;200;320;83762535;548578 + 794;5688;200;320;83762535;548578 + 795;5698;200;321;83762535;554276 + 796;5700;200;321;83762535;554276 + 797;5712;200;321;83762535;554276 + 798;5721;200;322;83762535;559997 + 799;5724;200;322;83762535;559997 + 800;5734;200;323;83762535;565731 + 801;5736;200;323;83762535;565731 + 802;5748;200;323;83762535;565731 + 803;5753;200;324;83762535;571484 + 804;5760;200;324;83762535;571484 + 805;5770;200;325;83762535;577254 + 806;5772;200;325;83762535;577254 + 807;5784;200;325;83762535;577254 + 808;5792;200;326;83762535;583046 + 809;5796;200;326;83762535;583046 + 810;5808;200;326;83762535;583046 + 811;5816;200;327;83762535;588862 + 812;5820;200;327;83762535;588862 + 813;5832;200;327;83762535;588862 + 814;5834;200;328;83762535;594696 + 815;5844;200;328;83762535;594696 + 816;5856;200;328;83762535;594696 + 817;5857;200;329;83762535;600553 + 818;5868;200;329;83762535;600553 + 819;5880;200;329;83762535;600553 + 820;5880;200;330;83762535;606433 + 821;5892;200;330;83762535;606433 + 822;5904;200;330;83762535;606433 + 823;5904;200;331;83762535;612337 + 824;5916;210;331;87365295;575801 + 825;5926;210;332;87365295;581727 + 826;5928;210;332;87365295;581727 + 827;5940;210;332;87365295;581727 + 828;5946;210;333;87365295;587673 + 829;5952;210;333;87365295;587673 + 830;5960;210;334;87365295;593633 + 831;5964;210;334;87365295;593633 + 832;5976;210;334;87365295;593633 + 833;5982;210;335;87365295;599615 + 834;5988;210;335;87365295;599615 + 835;5999;210;336;87365295;605614 + 836;6000;210;336;87365295;605614 + 837;6012;210;336;87365295;605614 + 838;6018;210;337;87365295;611632 + 839;6024;210;337;87365295;611632 + 840;6036;210;337;87365295;611632 + 841;6040;220;338;90727953;579603 + 842;6048;220;338;90727953;579603 + 843;6060;220;338;90727953;579603 + 844;6064;230;339;88837544;545789 + 845;6072;230;339;88837544;545789 + 846;6080;230;340;88837544;551869 + 847;6084;230;340;88837544;551869 + 848;6096;230;340;88837544;551869 + 849;6098;230;341;88837544;557967 + 850;6108;230;341;88837544;557967 + 851;6112;230;342;88837544;564079 + 852;6120;230;342;88837544;564079 + 853;6129;230;343;88837544;570208 + 854;6132;230;343;88837544;570208 + 855;6144;230;343;88837544;570208 + 856;6152;230;344;88837544;576360 + 857;6156;230;344;88837544;576360 + 858;6168;230;344;88837544;576360 + 859;6172;230;345;88837544;582532 + 860;6180;230;345;88837544;582532 + 861;6188;230;346;88837544;588720 + 862;6192;230;346;88837544;588720 + 863;6204;230;346;88837544;588720 + 864;6209;230;347;88837544;594929 + 865;6216;230;347;88837544;594929 + 866;6225;230;348;88837544;601154 + 867;6228;230;348;88837544;601154 + 868;6237;230;349;88837544;607391 + 869;6240;230;349;88837544;607391 + 870;6252;230;349;88837544;607391 + 871;6254;230;350;88837544;613645 + 872;6264;230;350;88837544;613645 + 873;6270;230;351;88837544;619915 + 874;6276;230;351;88837544;619915 + 875;6288;230;351;88837544;619915 + 876;6293;230;352;88837544;626208 + 877;6300;230;352;88837544;626208 + 878;6311;230;353;88837544;632519 + 879;6312;230;353;88837544;632519 + 880;6323;230;354;88837544;638842 + 881;6324;230;354;88837544;638842 + 882;6336;230;354;88837544;638842 + 883;6344;230;355;88837544;645186 + 884;6348;230;355;88837544;645186 + 885;6358;230;356;88837544;651544 + 886;6360;230;356;88837544;651544 + 887;6372;230;356;88837544;651544 + 888;6378;230;357;88837544;657922 + 889;6384;230;357;88837544;657922 + 890;6396;230;357;88837544;657922 + 891;6399;230;358;88837544;664321 + 892;6408;230;358;88837544;664321 + 893;6420;230;358;88837544;664321 + 894;6420;240;359;99097162;628942 + 895;6432;240;359;99097162;628942 + 896;6438;240;360;99097162;635380 + 897;6444;240;360;99097162;635380 + 898;6452;240;361;99097162;641832 + 899;6456;240;361;99097162;641832 + 900;6468;240;361;99097162;641832 + 901;6468;240;362;99097162;648300 + 902;6480;240;362;99097162;648300 + 903;6487;240;363;99097162;654787 + 904;6492;240;363;99097162;654787 + 905;6504;240;363;99097162;654787 + 906;6505;250;364;102430963;617695 + 907;6516;250;364;102430963;617695 + 908;6522;250;365;102430963;624217 + 909;6528;250;365;102430963;624217 + 910;6534;250;366;102430963;630751 + 911;6540;250;366;102430963;630751 + 912;6552;250;366;102430963;630751 + 913;6554;250;367;102430963;637305 + 914;6564;250;367;102430963;637305 + 915;6570;260;368;107913294;598449 + 916;6576;260;368;107913294;598449 + 917;6588;260;368;107913294;598449 + 918;6590;260;369;107913294;605039 + 919;6600;260;369;107913294;605039 + 920;6604;260;370;107913294;611643 + 921;6612;260;370;107913294;611643 + 922;6618;260;371;107913294;618261 + 923;6624;260;371;107913294;618261 + 924;6635;260;372;107913294;624896 + 925;6636;260;372;107913294;624896 + 926;6648;260;372;107913294;624896 + 927;6653;270;373;102533719;584486 + 928;6660;270;373;102533719;584486 + 929;6666;270;374;102533719;591152 + 930;6672;270;374;102533719;591152 + 931;6684;270;374;102533719;591152 + 932;6685;270;375;102533719;597837 + 933;6696;270;375;102533719;597837 + 934;6701;270;376;102533719;604538 + 935;6708;270;376;102533719;604538 + 936;6719;270;377;102533719;611257 + 937;6720;270;377;102533719;611257 + 938;6732;270;377;102533719;611257 + 939;6741;270;378;102533719;617998 + 940;6744;270;378;102533719;617998 + 941;6753;270;379;102533719;624751 + 942;6756;270;379;102533719;624751 + 943;6768;270;379;102533719;624751 + 944;6768;270;380;102533719;631519 + 945;6780;270;380;102533719;631519 + 946;6781;270;381;102533719;638300 + 947;6792;270;381;102533719;638300 + 948;6798;270;382;102533719;645098 + 949;6804;270;382;102533719;645098 + 950;6811;270;383;102533719;651909 + 951;6816;270;383;102533719;651909 + 952;6828;270;383;102533719;651909 + 953;6833;270;384;102533719;658742 + 954;6840;270;384;102533719;658742 + 955;6847;270;385;102533719;665589 + 956;6852;270;385;102533719;665589 + 957;6864;270;385;102533719;665589 + 958;6864;270;386;102533719;672453 + 959;6876;270;386;102533719;672453 + 960;6887;270;387;102533719;679340 + 961;6888;270;387;102533719;679340 + 962;6900;270;387;102533719;679340 + 963;6900;270;388;102533719;686240 + 964;6912;270;388;102533719;686240 + 965;6913;270;389;102533719;693153 + 966;6924;270;389;102533719;693153 + 967;6928;270;390;102533719;700081 + 968;6936;270;390;102533719;700081 + 969;6948;270;390;102533719;700081 + 970;6948;270;391;102533719;707029 + 971;6960;270;391;102533719;707029 + 972;6962;270;392;102533719;713991 + 973;6972;270;392;102533719;713991 + 974;6979;270;393;102533719;720970 + 975;6984;270;393;102533719;720970 + 976;6996;270;393;102533719;720970 + 977;6996;270;394;102533719;727966 + 978;7008;270;394;102533719;727966 + 979;7019;270;395;102533719;734985 + 980;7020;270;395;102533719;734985 + 981;7032;270;395;102533719;734985 + 982;7040;290;396;101375158;642793 + 983;7044;290;396;101375158;642793 + 984;7056;290;396;101375158;642793 + 985;7060;290;397;101375158;649853 + 986;7068;290;397;101375158;649853 + 987;7075;290;398;101375158;656928 + 988;7080;290;398;101375158;656928 + 989;7090;290;399;101375158;664018 + 990;7092;290;399;101375158;664018 + 991;7104;290;399;101375158;664018 + 992;7108;290;400;101375158;671126 + 993;7116;290;400;101375158;671126 + 994;7125;290;401;101375158;678251 + 995;7128;290;401;101375158;678251 + 996;7139;290;402;101375158;685390 + 997;7140;290;402;101375158;685390 + 998;7152;290;402;101375158;685390 + 999;7157;290;403;101375158;692547 + 1000;7164;290;403;101375158;692547 + 1001;7174;290;404;101375158;699721 + 1002;7176;290;404;101375158;699721 + 1003;7188;290;404;101375158;699721 + 1004;7194;290;405;101375158;706915 + 1005;7200;290;405;101375158;706915 + 1006;7211;290;406;101375158;714126 + 1007;7212;290;406;101375158;714126 + 1008;7224;290;406;101375158;714126 + 1009;7229;290;407;101375158;721355 + 1010;7236;290;407;101375158;721355 + 1011;7246;290;408;101375158;728601 + 1012;7248;290;408;101375158;728601 + 1013;7260;290;408;101375158;728601 + 1014;7266;290;409;101375158;735867 + 1015;7272;290;409;101375158;735867 + 1016;7284;290;409;101375158;735867 + 1017;7288;290;410;101375158;743155 + 1018;7296;290;410;101375158;743155 + 1019;7308;290;410;101375158;743155 + 1020;7310;290;411;101375158;750465 + 1021;7320;290;411;101375158;750465 + 1022;7332;290;411;101375158;750465 + 1023;7334;290;412;101375158;757799 + 1024;7344;290;412;101375158;757799 + 1025;7353;290;413;101375158;765152 + 1026;7356;290;413;101375158;765152 + 1027;7368;290;413;101375158;765152 + 1028;7372;290;414;101375158;772524 + 1029;7380;290;414;101375158;772524 + 1030;7384;290;415;101375158;779908 + 1031;7392;290;415;101375158;779908 + 1032;7404;290;415;101375158;779908 + 1033;7404;290;416;101375158;787312 + 1034;7416;290;416;101375158;787312 + 1035;7426;290;417;101375158;794738 + 1036;7428;290;417;101375158;794738 + 1037;7440;290;417;101375158;794738 + 1038;7441;290;418;101375158;802179 + 1039;7452;290;418;101375158;802179 + 1040;7460;300;419;107913294;757284 + 1041;7464;310;419;114470679;703051 + 1042;7476;310;419;114470679;703051 + 1043;7481;310;420;114470679;710532 + 1044;7488;310;420;114470679;710532 + 1045;7500;310;420;114470679;710532 + 1046;7502;310;421;114470679;718034 + 1047;7512;310;421;114470679;718034 + 1048;7522;320;422;111487778;669468 + 1049;7524;320;422;111487778;669468 + 1050;7535;320;423;111487778;677003 + 1051;7536;320;423;111487778;677003 + 1052;7548;320;423;111487778;677003 + 1053;7559;320;424;111487778;684562 + 1054;7560;320;424;111487778;684562 + 1055;7572;320;424;111487778;684562 + 1056;7581;320;425;111487778;692143 + 1057;7584;320;425;111487778;692143 + 1058;7593;320;426;111487778;699736 + 1059;7596;320;426;111487778;699736 + 1060;7608;320;426;111487778;699736 + 1061;7612;320;427;111487778;707348 + 1062;7620;320;427;111487778;707348 + 1063;7632;320;427;111487778;707348 + 1064;7633;320;428;111487778;714981 + 1065;7644;320;428;111487778;714981 + 1066;7650;320;429;111487778;722631 + 1067;7656;320;429;111487778;722631 + 1068;7668;320;429;111487778;722631 + 1069;7672;320;430;111487778;730303 + 1070;7680;320;430;111487778;730303 + 1071;7692;320;430;111487778;730303 + 1072;7692;320;431;111487778;737995 + 1073;7704;320;431;111487778;737995 + 1074;7716;320;431;111487778;737995 + 1075;7716;320;432;111487778;745711 + 1076;7728;320;432;111487778;745711 + 1077;7733;320;433;111487778;753444 + 1078;7740;320;433;111487778;753444 + 1079;7746;320;434;111487778;761190 + 1080;7752;320;434;111487778;761190 + 1081;7764;320;434;111487778;761190 + 1082;7769;340;435;112254271;650785 + 1083;7776;340;435;112254271;650785 + 1084;7788;340;435;112254271;650785 + 1085;7792;340;436;112254271;658577 + 1086;7800;340;436;112254271;658577 + 1087;7812;340;436;112254271;658577 + 1088;7813;340;437;112254271;666390 + 1089;7824;340;437;112254271;666390 + 1090;7834;340;438;112254271;674224 + 1091;7836;340;438;112254271;674224 + 1092;7848;340;438;112254271;674224 + 1093;7852;340;439;112254271;682076 + 1094;7860;340;439;112254271;682076 + 1095;7870;340;440;112254271;689946 + 1096;7872;340;440;112254271;689946 + 1097;7884;340;440;112254271;689946 + 1098;7886;340;441;112254271;697832 + 1099;7896;340;441;112254271;697832 + 1100;7908;340;441;112254271;697832 + 1101;7909;340;442;112254271;705741 + 1102;7920;340;442;112254271;705741 + 1103;7927;340;443;112254271;713668 + 1104;7932;340;443;112254271;713668 + 1105;7941;340;444;112254271;721609 + 1106;7944;340;444;112254271;721609 + 1107;7956;340;444;112254271;721609 + 1108;7960;340;445;112254271;729569 + 1109;7968;340;445;112254271;729569 + 1110;7978;340;446;112254271;737547 + 1111;7980;340;446;112254271;737547 + 1112;7990;340;447;112254271;745537 + 1113;7992;340;447;112254271;745537 + 1114;8003;340;448;112254271;753540 + 1115;8004;340;448;112254271;753540 + 1116;8016;340;448;112254271;753540 + 1117;8024;340;449;112254271;761564 + 1118;8028;340;449;112254271;761564 + 1119;8036;340;450;112254271;769600 + 1120;8040;340;450;112254271;769600 + 1121;8052;340;450;112254271;769600 + 1122;8055;340;451;112254271;777655 + 1123;8064;340;451;112254271;777655 + 1124;8076;340;451;112254271;777655 + 1125;8077;340;452;112254271;785732 + 1126;8088;340;452;112254271;785732 + 1127;8096;340;453;112254271;793828 + 1128;8100;340;453;112254271;793828 + 1129;8112;340;453;112254271;793828 + 1130;8118;340;454;112254271;801946 + 1131;8124;340;454;112254271;801946 + 1132;8136;340;454;112254271;801946 + 1133;8140;340;455;112254271;810086 + 1134;8148;340;455;112254271;810086 + 1135;8153;350;456;113632070;756291 + 1136;8160;350;456;113632070;756291 + 1137;8171;350;457;113632070;764462 + 1138;8172;350;457;113632070;764462 + 1139;8183;350;458;113632070;772645 + 1140;8184;350;458;113632070;772645 + 1141;8195;350;459;113632070;780840 + 1142;8196;350;459;113632070;780840 + 1143;8208;350;459;113632070;780840 + 1144;8217;350;460;113632070;789057 + 1145;8220;350;460;113632070;789057 + 1146;8232;350;460;113632070;789057 + 1147;8233;350;461;113632070;797290 + 1148;8244;350;461;113632070;797290 + 1149;8255;350;462;113632070;805545 + 1150;8256;350;462;113632070;805545 + 1151;8268;350;462;113632070;805545 + 1152;8274;350;463;113632070;813819 + 1153;8280;350;463;113632070;813819 + 1154;8286;350;464;113632070;822105 + 1155;8292;350;464;113632070;822105 + 1156;8304;350;464;113632070;822105 + 1157;8304;350;465;113632070;830409 + 1158;8316;350;465;113632070;830409 + 1159;8328;350;465;113632070;830409 + 1160;8328;350;466;113632070;838737 + 1161;8340;350;466;113632070;838737 + 1162;8349;350;467;113632070;847086 + 1163;8352;350;467;113632070;847086 + 1164;8364;350;467;113632070;847086 + 1165;8369;350;468;113632070;855455 + 1166;8376;350;468;113632070;855455 + 1167;8387;350;469;113632070;863842 + 1168;8388;350;469;113632070;863842 + 1169;8400;350;469;113632070;863842 + 1170;8407;350;470;113632070;872249 + 1171;8412;350;470;113632070;872249 + 1172;8424;350;470;113632070;872249 + 1173;8425;350;471;113632070;880674 + 1174;8436;350;471;113632070;880674 + 1175;8441;350;472;113632070;889115 + 1176;8448;350;472;113632070;889115 + 1177;8456;350;473;113632070;897571 + 1178;8460;350;473;113632070;897571 + 1179;8472;350;473;113632070;897571 + 1180;8479;350;474;113632070;906050 + 1181;8484;350;474;113632070;906050 + 1182;8496;350;474;113632070;906050 + 1183;8501;350;475;113632070;914551 + 1184;8508;350;475;113632070;914551 + 1185;8520;350;475;113632070;914551 + 1186;8520;350;476;113632070;923071 + 1187;8532;350;476;113632070;923071 + 1188;8533;350;477;113632070;931604 + 1189;8544;350;477;113632070;931604 + 1190;8554;350;478;113632070;940158 + 1191;8556;350;478;113632070;940158 + 1192;8568;350;478;113632070;940158 + 1193;8578;350;479;113632070;948736 + 1194;8580;350;479;113632070;948736 + 1195;8592;350;479;113632070;948736 + 1196;8602;350;480;113632070;957338 + 1197;8604;350;480;113632070;957338 + 1198;8616;350;480;113632070;957338 + 1199;8619;350;481;113632070;965957 + 1200;8628;350;481;113632070;965957 + 1201;8633;350;482;113632070;974590 + 1202;8640;350;482;113632070;974590 + 1203;8651;350;483;113632070;983241 + 1204;8652;350;483;113632070;983241 + 1205;8664;350;483;113632070;983241 + 1206;8668;360;484;121873769;928193 + 1207;8676;360;484;121873769;928193 + 1208;8688;360;484;121873769;928193 + 1209;8688;360;485;121873769;936881 + 1210;8700;360;485;121873769;936881 + 1211;8708;360;486;121873769;945589 + 1212;8712;360;486;121873769;945589 + 1213;8720;360;487;121873769;954309 + 1214;8724;360;487;121873769;954309 + 1215;8736;360;487;121873769;954309 + 1216;8739;360;488;121873769;963048 + 1217;8748;360;488;121873769;963048 + 1218;8757;360;489;121873769;971805 + 1219;8760;360;489;121873769;971805 + 1220;8771;360;490;121873769;980576 + 1221;8772;360;490;121873769;980576 + 1222;8784;360;490;121873769;980576 + 1223;8788;360;491;121873769;989364 + 1224;8796;360;491;121873769;989364 + 1225;8808;360;491;121873769;989364 + 1226;8811;360;492;121873769;998175 + 1227;8820;360;492;121873769;998175 + 1228;8831;360;493;121873769;1007006 + 1229;8832;360;493;121873769;1007006 + 1230;8844;360;493;121873769;1007006 + 1231;8846;360;494;121873769;1015852 + 1232;8856;380;494;114451552;883298 + 1233;8860;390;495;112085566;823429 + 1234;8868;400;495;103826904;752975 + 1235;8872;400;496;103826904;761847 + 1236;8880;400;496;103826904;761847 + 1237;8890;400;497;103826904;770737 + 1238;8892;400;497;103826904;770737 + 1239;8904;400;497;103826904;770737 + 1240;8913;400;498;103826904;779650 + 1241;8916;400;498;103826904;779650 + 1242;8928;400;498;103826904;779650 + 1243;8933;400;499;103826904;788583 + 1244;8940;400;499;103826904;788583 + 1245;8949;400;500;103826904;797532 + 1246;8952;400;500;103826904;797532 + 1247;8964;400;500;103826904;797532 + 1248;8968;400;501;103826904;806500 + 1249;8976;400;501;103826904;806500 + 1250;8988;400;501;103826904;806500 + 1251;8990;400;502;103826904;815490 + 1252;9000;400;502;103826904;815490 + 1253;9012;400;502;103826904;815490 + 1254;9014;400;503;103826904;824504 + 1255;9024;400;503;103826904;824504 + 1256;9036;400;503;103826904;824504 + 1257;9036;400;504;103826904;833540 + 1258;9048;400;504;103826904;833540 + 1259;9048;400;505;103826904;842588 + 1260;9060;400;505;103826904;842588 + 1261;9068;400;506;103826904;851656 + 1262;9072;400;506;103826904;851656 + 1263;9081;400;507;103826904;860737 + 1264;9084;400;507;103826904;860737 + 1265;9096;400;507;103826904;860737 + 1266;9104;400;508;103826904;869841 + 1267;9108;400;508;103826904;869841 + 1268;9120;400;508;103826904;869841 + 1269;9128;400;509;103826904;878969 + 1270;9132;400;509;103826904;878969 + 1271;9140;400;510;103826904;888109 + 1272;9144;400;510;103826904;888109 + 1273;9156;400;510;103826904;888109 + 1274;9160;400;511;103826904;897269 + 1275;9168;400;511;103826904;897269 + 1276;9175;400;512;103826904;906444 + 1277;9180;400;512;103826904;906444 + 1278;9189;400;513;103826904;915633 + 1279;9192;400;513;103826904;915633 + 1280;9204;400;513;103826904;915633 + 1281;9209;400;514;103826904;924842 + 1282;9216;400;514;103826904;924842 + 1283;9226;400;515;103826904;934068 + 1284;9228;400;515;103826904;934068 + 1285;9240;400;515;103826904;934068 + 1286;9249;400;516;103826904;943317 + 1287;9252;400;516;103826904;943317 + 1288;9264;400;516;103826904;943317 + 1289;9265;400;517;103826904;952582 + 1290;9276;400;517;103826904;952582 + 1291;9280;410;518;105753137;889648 + 1292;9288;410;518;105753137;889648 + 1293;9300;410;518;105753137;889648 + 1294;9304;420;519;98486319;824795 + 1295;9312;420;519;98486319;824795 + 1296;9324;420;519;98486319;824795 + 1297;9325;420;520;98486319;834120 + 1298;9336;420;520;98486319;834120 + 1299;9346;420;521;98486319;843466 + 1300;9348;420;521;98486319;843466 + 1301;9360;420;521;98486319;843466 + 1302;9370;420;522;98486319;852836 + 1303;9372;420;522;98486319;852836 + 1304;9384;420;522;98486319;852836 + 1305;9386;420;523;98486319;862222 + 1306;9396;420;523;98486319;862222 + 1307;9405;430;524;96837983;795578 + 1308;9408;430;524;96837983;795578 + 1309;9420;430;524;96837983;795578 + 1310;9429;430;525;96837983;805007 + 1311;9432;430;525;96837983;805007 + 1312;9444;430;525;96837983;805007 + 1313;9447;430;526;96837983;814454 + 1314;9456;430;526;96837983;814454 + 1315;9461;430;527;96837983;823915 + 1316;9468;430;527;96837983;823915 + 1317;9480;430;527;96837983;823915 + 1318;9482;430;528;96837983;833397 + 1319;9492;430;528;96837983;833397 + 1320;9496;430;529;96837983;842893 + 1321;9504;430;529;96837983;842893 + 1322;9516;430;529;96837983;842893 + 1323;9520;430;530;96837983;852413 + 1324;9528;430;530;96837983;852413 + 1325;9539;430;531;96837983;861952 + 1326;9540;430;531;96837983;861952 + 1327;9552;430;531;96837983;861952 + 1328;9560;430;532;96837983;871512 + 1329;9564;430;532;96837983;871512 + 1330;9576;430;532;96837983;871512 + 1331;9578;430;533;96837983;881090 + 1332;9588;430;533;96837983;881090 + 1333;9600;430;533;96837983;881090 + 1334;9601;430;534;96837983;890691 + 1335;9612;430;534;96837983;890691 + 1336;9620;430;535;96837983;900311 + 1337;9624;430;535;96837983;900311 + 1338;9636;430;535;96837983;900311 + 1339;9643;430;536;96837983;909954 + 1340;9648;430;536;96837983;909954 + 1341;9656;430;537;96837983;919610 + 1342;9660;430;537;96837983;919610 + 1343;9672;430;537;96837983;919610 + 1344;9672;430;538;96837983;929282 + 1345;9684;430;538;96837983;929282 + 1346;9695;430;539;96837983;938977 + 1347;9696;430;539;96837983;938977 + 1348;9708;430;539;96837983;938977 + 1349;9708;430;540;96837983;948685 + 1350;9720;430;540;96837983;948685 + 1351;9721;430;541;96837983;958406 + 1352;9732;430;541;96837983;958406 + 1353;9737;430;542;96837983;968143 + 1354;9744;430;542;96837983;968143 + 1355;9756;430;542;96837983;968143 + 1356;9757;430;543;96837983;977900 + 1357;9768;430;543;96837983;977900 + 1358;9773;430;544;96837983;987673 + 1359;9780;430;544;96837983;987673 + 1360;9790;430;545;96837983;997463 + 1361;9792;430;545;96837983;997463 + 1362;9804;430;545;96837983;997463 + 1363;9809;430;546;96837983;1007272 + 1364;9816;430;546;96837983;1007272 + 1365;9825;430;547;96837983;1017097 + 1366;9828;430;547;96837983;1017097 + 1367;9840;430;547;96837983;1017097 + 1368;9843;430;548;96837983;1026940 + 1369;9852;430;548;96837983;1026940 + 1370;9861;430;549;96837983;1036801 + 1371;9864;430;549;96837983;1036801 + 1372;9874;430;550;96837983;1046675 + 1373;9876;430;550;96837983;1046675 + 1374;9888;430;550;96837983;1046675 + 1375;9893;430;551;96837983;1056568 + 1376;9900;430;551;96837983;1056568 + 1377;9906;430;552;96837983;1066474 + 1378;9912;430;552;96837983;1066474 + 1379;9924;430;552;96837983;1066474 + 1380;9930;430;553;96837983;1076404 + 1381;9936;430;553;96837983;1076404 + 1382;9948;430;553;96837983;1076404 + 1383;9951;430;554;96837983;1086355 + 1384;9960;430;554;96837983;1086355 + 1385;9972;430;554;96837983;1086355 + 1386;9972;430;555;96837983;1096327 + 1387;9984;430;555;96837983;1096327 + 1388;9989;430;556;96837983;1106316 + 1389;9996;430;556;96837983;1106316 + 1390;10004;430;557;96837983;1116320 + 1391;10008;430;557;96837983;1116320 + 1392;10018;430;558;96837983;1126338 + 1393;10020;430;558;96837983;1126338 + 1394;10032;430;558;96837983;1126338 + 1395;10041;440;559;104348734;1058368 + 1396;10044;440;559;104348734;1058368 + 1397;10053;440;560;104348734;1068421 + 1398;10056;440;560;104348734;1068421 + 1399;10065;440;561;104348734;1078486 + 1400;10068;440;561;104348734;1078486 + 1401;10080;440;561;104348734;1078486 + 1402;10080;440;562;104348734;1088566 + 1403;10092;440;562;104348734;1088566 + 1404;10098;440;563;104348734;1098664 + 1405;10104;440;563;104348734;1098664 + 1406;10116;440;563;104348734;1098664 + 1407;10121;440;564;104348734;1108785 + 1408;10128;440;564;104348734;1108785 + 1409;10140;440;564;104348734;1108785 + 1410;10144;440;565;104348734;1118929 + 1411;10152;440;565;104348734;1118929 + 1412;10159;440;566;104348734;1129088 + 1413;10164;440;566;104348734;1129088 + 1414;10176;440;566;104348734;1129088 + 1415;10180;440;567;104348734;1139268 + 1416;10188;440;567;104348734;1139268 + 1417;10193;440;568;104348734;1149461 + 1418;10200;440;568;104348734;1149461 + 1419;10212;440;568;104348734;1149461 + 1420;10216;440;569;104348734;1159677 + 1421;10224;440;569;104348734;1159677 + 1422;10232;440;570;104348734;1169909 + 1423;10236;440;570;104348734;1169909 + 1424;10244;440;571;104348734;1180153 + 1425;10248;440;571;104348734;1180153 + 1426;10260;440;571;104348734;1180153 + 1427;10268;460;572;104070099;1029015 + 1428;10272;460;572;104070099;1029015 + 1429;10284;460;572;104070099;1029015 + 1430;10292;460;573;104070099;1039307 + 1431;10296;460;573;104070099;1039307 + 1432;10308;460;573;104070099;1039307 + 1433;10313;460;574;104070099;1049620 + 1434;10320;460;574;104070099;1049620 + 1435;10325;460;575;104070099;1059945 + 1436;10332;460;575;104070099;1059945 + 1437;10344;460;575;104070099;1059945 + 1438;10347;460;576;104070099;1070292 + 1439;10356;460;576;104070099;1070292 + 1440;10368;460;576;104070099;1070292 + 1441;10371;470;577;104978393;997279 + 1442;10380;470;577;104978393;997279 + 1443;10389;480;578;104960851;922385 + 1444;10392;480;578;104960851;922385 + 1445;10404;480;578;104960851;922385 + 1446;10406;480;579;104960851;932791 + 1447;10416;480;579;104960851;932791 + 1448;10423;480;580;104960851;943214 + 1449;10428;480;580;104960851;943214 + 1450;10440;480;580;104960851;943214 + 1451;10445;480;581;104960851;953659 + 1452;10452;480;581;104960851;953659 + 1453;10461;480;582;104960851;964120 + 1454;10464;480;582;104960851;964120 + 1455;10476;480;582;104960851;964120 + 1456;10483;480;583;104960851;974603 + 1457;10488;480;583;104960851;974603 + 1458;10496;480;584;104960851;985099 + 1459;10500;480;584;104960851;985099 + 1460;10512;480;584;104960851;985099 + 1461;10517;480;585;104960851;995616 + 1462;10524;480;585;104960851;995616 + 1463;10531;480;586;104960851;1006147 + 1464;10536;480;586;104960851;1006147 + 1465;10548;480;586;104960851;1006147 + 1466;10548;480;587;104960851;1016695 + 1467;10560;480;587;104960851;1016695 + 1468;10569;480;588;104960851;1027264 + 1469;10572;480;588;104960851;1027264 + 1470;10584;480;588;104960851;1027264 + 1471;10585;480;589;104960851;1037849 + 1472;10596;480;589;104960851;1037849 + 1473;10603;480;590;104960851;1048452 + 1474;10608;480;590;104960851;1048452 + 1475;10620;480;590;104960851;1048452 + 1476;10622;480;591;104960851;1059074 + 1477;10632;480;591;104960851;1059074 + 1478;10639;480;592;104960851;1069713 + 1479;10644;480;592;104960851;1069713 + 1480;10656;480;592;104960851;1069713 + 1481;10661;480;593;104960851;1080374 + 1482;10668;480;593;104960851;1080374 + 1483;10680;480;593;104960851;1080374 + 1484;10684;480;594;104960851;1091058 + 1485;10692;480;594;104960851;1091058 + 1486;10699;480;595;104960851;1101757 + 1487;10704;480;595;104960851;1101757 + 1488;10716;480;595;104960851;1101757 + 1489;10717;480;596;104960851;1112474 + 1490;10728;480;596;104960851;1112474 + 1491;10729;480;597;104960851;1123203 + 1492;10740;480;597;104960851;1123203 + 1493;10745;480;598;104960851;1133948 + 1494;10752;480;598;104960851;1133948 + 1495;10759;480;599;104960851;1144707 + 1496;10764;480;599;104960851;1144707 + 1497;10776;480;599;104960851;1144707 + 1498;10779;480;600;104960851;1155486 + 1499;10788;480;600;104960851;1155486 + 1500;10795;480;601;104960851;1166281 + 1501;10800;480;601;104960851;1166281 + 1502;10811;480;602;104960851;1177092 + 1503;10812;480;602;104960851;1177092 + 1504;10823;480;603;104960851;1187915 + 1505;10824;480;603;104960851;1187915 + 1506;10836;480;603;104960851;1187915 + 1507;10842;480;604;104960851;1198757 + 1508;10848;480;604;104960851;1198757 + 1509;10860;480;604;104960851;1198757 + 1510;10861;480;605;104960851;1209618 + 1511;10872;480;605;104960851;1209618 + 1512;10875;480;606;104960851;1220493 + 1513;10884;480;606;104960851;1220493 + 1514;10896;480;606;104960851;1220493 + 1515;10896;480;607;104960851;1231389 + 1516;10908;480;607;104960851;1231389 + 1517;10914;480;608;104960851;1242303 + 1518;10920;480;608;104960851;1242303 + 1519;10932;480;608;104960851;1242303 + 1520;10938;480;609;104960851;1253241 + 1521;10944;480;609;104960851;1253241 + 1522;10954;480;610;104960851;1264195 + 1523;10956;480;610;104960851;1264195 + 1524;10968;480;610;104960851;1264195 + 1525;10968;480;611;104960851;1275163 + 1526;10980;480;611;104960851;1275163 + 1527;10991;480;612;104960851;1286154 + 1528;10992;480;612;104960851;1286154 + 1529;11004;480;612;104960851;1286154 + 1530;11007;480;613;104960851;1297161 + 1531;11016;480;613;104960851;1297161 + 1532;11023;490;614;111450522;1221061 + 1533;11028;490;614;111450522;1221061 + 1534;11040;490;614;111450522;1221061 + 1535;11043;490;615;111450522;1232104 + 1536;11052;490;615;111450522;1232104 + 1537;11055;490;616;111450522;1243159 + 1538;11064;490;616;111450522;1243159 + 1539;11076;490;616;111450522;1243159 + 1540;11077;490;617;111450522;1254236 + 1541;11088;490;617;111450522;1254236 + 1542;11097;490;618;111450522;1265333 + 1543;11100;490;618;111450522;1265333 + 1544;11112;490;618;111450522;1265333 + 1545;11120;500;619;116808904;1187580 + 1546;11124;500;619;116808904;1187580 + 1547;11133;500;620;116808904;1198713 + 1548;11136;500;620;116808904;1198713 + 1549;11147;500;621;116808904;1209860 + 1550;11148;500;621;116808904;1209860 + 1551;11160;500;621;116808904;1209860 + 1552;11168;500;622;116808904;1221028 + 1553;11172;500;622;116808904;1221028 + 1554;11180;500;623;116808904;1232208 + 1555;11184;500;623;116808904;1232208 + 1556;11196;500;623;116808904;1232208 + 1557;11204;500;624;116808904;1243412 + 1558;11208;500;624;116808904;1243412 + 1559;11220;500;624;116808904;1243412 + 1560;11227;500;625;116808904;1254639 + 1561;11232;500;625;116808904;1254639 + 1562;11239;500;626;116808904;1265878 + 1563;11244;500;626;116808904;1265878 + 1564;11255;500;627;116808904;1277133 + 1565;11256;500;627;116808904;1277133 + 1566;11268;500;627;116808904;1277133 + 1567;11274;500;628;116808904;1288407 + 1568;11280;500;628;116808904;1288407 + 1569;11288;500;629;116808904;1299695 + 1570;11292;500;629;116808904;1299695 + 1571;11304;500;629;116808904;1299695 + 1572;11311;500;630;116808904;1311006 + 1573;11316;500;630;116808904;1311006 + 1574;11323;500;631;116808904;1322329 + 1575;11328;500;631;116808904;1322329 + 1576;11340;500;631;116808904;1322329 + 1577;11342;500;632;116808904;1333671 + 1578;11352;500;632;116808904;1333671 + 1579;11360;500;633;116808904;1345031 + 1580;11364;500;633;116808904;1345031 + 1581;11372;500;634;116808904;1356403 + 1582;11376;500;634;116808904;1356403 + 1583;11388;510;634;128632963;1265634 + 1584;11392;520;635;127009586;1184458 + 1585;11400;520;635;127009586;1184458 + 1586;11409;520;636;127009586;1195867 + 1587;11412;520;636;127009586;1195867 + 1588;11424;520;636;127009586;1195867 + 1589;11426;520;637;127009586;1207293 + 1590;11436;530;637;127647931;1112758 + 1591;11447;530;638;127647931;1124205 + 1592;11448;530;638;127647931;1124205 + 1593;11459;530;639;127647931;1135664 + 1594;11460;530;639;127647931;1135664 + 1595;11472;530;639;127647931;1135664 + 1596;11474;530;640;127647931;1147138 + 1597;11484;530;640;127647931;1147138 + 1598;11496;530;640;127647931;1147138 + 1599;11498;530;641;127647931;1158636 + 1600;11508;530;641;127647931;1158636 + 1601;11517;530;642;127647931;1170153 + 1602;11520;530;642;127647931;1170153 + 1603;11529;530;643;127647931;1181682 + 1604;11532;530;643;127647931;1181682 + 1605;11544;530;643;127647931;1181682 + 1606;11545;530;644;127647931;1193227 + 1607;11556;530;644;127647931;1193227 + 1608;11559;530;645;127647931;1204786 + 1609;11568;530;645;127647931;1204786 + 1610;11573;530;646;127647931;1216359 + 1611;11580;530;646;127647931;1216359 + 1612;11592;530;646;127647931;1216359 + 1613;11596;530;647;127647931;1227955 + 1614;11604;530;647;127647931;1227955 + 1615;11614;530;648;127647931;1239569 + 1616;11616;530;648;127647931;1239569 + 1617;11628;530;648;127647931;1239569 + 1618;11634;530;649;127647931;1251203 + 1619;11640;530;649;127647931;1251203 + 1620;11649;540;650;132406075;1166398 + 1621;11652;540;650;132406075;1166398 + 1622;11664;540;650;132406075;1166398 + 1623;11668;540;651;132406075;1178066 + 1624;11676;540;651;132406075;1178066 + 1625;11688;540;651;132406075;1178066 + 1626;11690;540;652;132406075;1189756 + 1627;11700;540;652;132406075;1189756 + 1628;11708;540;653;132406075;1201464 + 1629;11712;540;653;132406075;1201464 + 1630;11724;540;653;132406075;1201464 + 1631;11729;540;654;132406075;1213193 + 1632;11736;550;654;132229180;1115031 + 1633;11747;550;655;132229180;1126778 + 1634;11748;550;655;132229180;1126778 + 1635;11760;550;655;132229180;1126778 + 1636;11768;550;656;132229180;1138546 + 1637;11772;550;656;132229180;1138546 + 1638;11784;550;656;132229180;1138546 + 1639;11784;550;657;132229180;1150330 + 1640;11796;550;657;132229180;1150330 + 1641;11797;560;658;126184508;1062198 + 1642;11808;560;658;126184508;1062198 + 1643;11815;560;659;126184508;1074013 + 1644;11820;560;659;126184508;1074013 + 1645;11832;560;659;126184508;1074013 + 1646;11833;560;660;126184508;1085846 + 1647;11844;560;660;126184508;1085846 + 1648;11853;560;661;126184508;1097699 + 1649;11856;560;661;126184508;1097699 + 1650;11868;560;661;126184508;1097699 + 1651;11870;560;662;126184508;1109569 + 1652;11880;560;662;126184508;1109569 + 1653;11889;560;663;126184508;1121458 + 1654;11892;560;663;126184508;1121458 + 1655;11901;560;664;126184508;1133359 + 1656;11904;560;664;126184508;1133359 + 1657;11916;560;664;126184508;1133359 + 1658;11923;560;665;126184508;1145282 + 1659;11928;560;665;126184508;1145282 + 1660;11936;560;666;126184508;1157218 + 1661;11940;560;666;126184508;1157218 + 1662;11952;560;666;126184508;1157218 + 1663;11957;560;667;126184508;1169175 + 1664;11964;560;667;126184508;1169175 + 1665;11975;560;668;126184508;1181150 + 1666;11976;560;668;126184508;1181150 + 1667;11988;560;668;126184508;1181150 + 1668;11991;560;669;126184508;1193141 + 1669;12000;560;669;126184508;1193141 + 1670;12012;560;669;126184508;1193141 + 1671;12015;560;670;126184508;1205156 + 1672;12024;560;670;126184508;1205156 + 1673;12036;560;670;126184508;1205156 + 1674;12036;560;671;126184508;1217192 + 1675;12048;560;671;126184508;1217192 + 1676;12058;560;672;126184508;1229250 + 1677;12060;560;672;126184508;1229250 + 1678;12072;560;672;126184508;1229250 + 1679;12074;560;673;126184508;1241324 + 1680;12084;560;673;126184508;1241324 + 1681;12087;560;674;126184508;1253411 + 1682;12096;560;674;126184508;1253411 + 1683;12108;560;674;126184508;1253411 + 1684;12109;560;675;126184508;1265520 + 1685;12120;560;675;126184508;1265520 + 1686;12122;560;676;126184508;1277642 + 1687;12132;560;676;126184508;1277642 + 1688;12144;560;676;126184508;1277642 + 1689;12146;560;677;126184508;1289788 + 1690;12156;560;677;126184508;1289788 + 1691;12168;560;677;126184508;1289788 + 1692;12169;560;678;126184508;1301957 + 1693;12180;560;678;126184508;1301957 + 1694;12192;560;678;126184508;1301957 + 1695;12192;560;679;126184508;1314149 + 1696;12204;560;679;126184508;1314149 + 1697;12205;560;680;126184508;1326354 + 1698;12216;560;680;126184508;1326354 + 1699;12222;560;681;126184508;1338576 + 1700;12228;560;681;126184508;1338576 + 1701;12236;560;682;126184508;1350812 + 1702;12240;560;682;126184508;1350812 + 1703;12252;560;682;126184508;1350812 + 1704;12253;560;683;126184508;1363065 + 1705;12264;560;683;126184508;1363065 + 1706;12276;560;683;126184508;1363065 + 1707;12276;560;684;126184508;1375341 + 1708;12288;560;684;126184508;1375341 + 1709;12289;560;685;126184508;1387630 + 1710;12300;560;685;126184508;1387630 + 1711;12311;560;686;126184508;1399941 + 1712;12312;560;686;126184508;1399941 + 1713;12324;560;686;126184508;1399941 + 1714;12329;560;687;126184508;1412270 + 1715;12336;560;687;126184508;1412270 + 1716;12345;570;688;136312640;1322948 + 1717;12348;570;688;136312640;1322948 + 1718;12360;570;688;136312640;1322948 + 1719;12361;570;689;136312640;1335309 + 1720;12372;570;689;136312640;1335309 + 1721;12384;570;689;136312640;1335309 + 1722;12384;570;690;136312640;1347693 + 1723;12396;570;690;136312640;1347693 + 1724;12398;570;691;136312640;1360091 + 1725;12408;570;691;136312640;1360091 + 1726;12415;570;692;136312640;1372506 + 1727;12420;570;692;136312640;1372506 + 1728;12427;570;693;136312640;1384933 + 1729;12432;570;693;136312640;1384933 + 1730;12444;570;693;136312640;1384933 + 1731;12447;570;694;136312640;1397380 + 1732;12456;570;694;136312640;1397380 + 1733;12462;570;695;136312640;1409842 + 1734;12468;570;695;136312640;1409842 + 1735;12480;570;695;136312640;1409842 + 1736;12482;570;696;136312640;1422324 + 1737;12492;570;696;136312640;1422324 + 1738;12494;570;697;136312640;1434818 + 1739;12504;570;697;136312640;1434818 + 1740;12516;570;697;136312640;1434818 + 1741;12517;570;698;136312640;1447335 + 1742;12528;570;698;136312640;1447335 + 1743;12532;570;699;136312640;1459867 + 1744;12540;570;699;136312640;1459867 + 1745;12548;570;700;136312640;1472415 + 1746;12552;570;700;136312640;1472415 + 1747;12560;570;701;136312640;1484975 + 1748;12564;570;701;136312640;1484975 + 1749;12575;570;702;136312640;1497550 + 1750;12576;570;702;136312640;1497550 + 1751;12588;570;702;136312640;1497550 + 1752;12594;570;703;136312640;1510144 + 1753;12600;570;703;136312640;1510144 + 1754;12612;570;703;136312640;1510144 + 1755;12614;570;704;136312640;1522758 + 1756;12624;570;704;136312640;1522758 + 1757;12631;570;705;136312640;1535389 + 1758;12636;570;705;136312640;1535389 + 1759;12643;570;706;136312640;1548032 + 1760;12648;570;706;136312640;1548032 + 1761;12660;570;706;136312640;1548032 + 1762;12661;570;707;136312640;1560693 + 1763;12672;570;707;136312640;1560693 + 1764;12674;570;708;136312640;1573367 + 1765;12684;570;708;136312640;1573367 + 1766;12696;570;708;136312640;1573367 + 1767;12697;570;709;136312640;1586064 + 1768;12708;570;709;136312640;1586064 + 1769;12719;570;710;136312640;1598783 + 1770;12720;570;710;136312640;1598783 + 1771;12732;570;710;136312640;1598783 + 1772;12742;590;711;138170325;1402531 + 1773;12744;590;711;138170325;1402531 + 1774;12755;600;712;135721657;1308079 + 1775;12756;600;712;135721657;1308079 + 1776;12768;600;712;135721657;1308079 + 1777;12772;600;713;135721657;1320851 + 1778;12780;600;713;135721657;1320851 + 1779;12792;600;713;135721657;1320851 + 1780;12792;600;714;135721657;1333643 + 1781;12804;600;714;135721657;1333643 + 1782;12809;600;715;135721657;1346452 + 1783;12816;600;715;135721657;1346452 + 1784;12825;600;716;135721657;1359277 + 1785;12828;600;716;135721657;1359277 + 1786;12840;600;716;135721657;1359277 + 1787;12847;600;717;135721657;1372124 + 1788;12852;600;717;135721657;1372124 + 1789;12862;600;718;135721657;1384986 + 1790;12864;600;718;135721657;1384986 + 1791;12876;600;718;135721657;1384986 + 1792;12884;600;719;135721657;1397870 + 1793;12888;600;719;135721657;1397870 + 1794;12897;600;720;135721657;1410767 + 1795;12900;600;720;135721657;1410767 + 1796;12912;600;720;135721657;1410767 + 1797;12917;600;721;135721657;1423684 + 1798;12924;600;721;135721657;1423684 + 1799;12930;600;722;135721657;1436614 + 1800;12936;600;722;135721657;1436614 + 1801;12945;600;723;135721657;1449559 + 1802;12948;600;723;135721657;1449559 + 1803;12960;600;723;135721657;1449559 + 1804;12962;600;724;135721657;1462521 + 1805;12972;600;724;135721657;1462521 + 1806;12976;600;725;135721657;1475497 + 1807;12984;600;725;135721657;1475497 + 1808;12994;600;726;135721657;1488491 + 1809;12996;600;726;135721657;1488491 + 1810;13008;600;726;135721657;1488491 + 1811;13016;610;727;139889591;1392625 + 1812;13020;610;727;139889591;1392625 + 1813;13032;610;727;139889591;1392625 + 1814;13034;610;728;139889591;1405659 + 1815;13044;610;728;139889591;1405659 + 1816;13048;610;729;139889591;1418707 + 1817;13056;610;729;139889591;1418707 + 1818;13066;610;730;139889591;1431773 + 1819;13068;610;730;139889591;1431773 + 1820;13080;610;730;139889591;1431773 + 1821;13090;610;731;139889591;1444863 + 1822;13092;610;731;139889591;1444863 + 1823;13104;610;731;139889591;1444863 + 1824;13106;610;732;139889591;1457969 + 1825;13116;610;732;139889591;1457969 + 1826;13128;610;732;139889591;1457969 + 1827;13128;610;733;139889591;1471097 + 1828;13140;610;733;139889591;1471097 + 1829;13147;610;734;139889591;1484244 + 1830;13152;610;734;139889591;1484244 + 1831;13160;610;735;139889591;1497404 + 1832;13164;610;735;139889591;1497404 + 1833;13174;610;736;139889591;1510578 + 1834;13176;610;736;139889591;1510578 + 1835;13188;610;736;139889591;1510578 + 1836;13195;610;737;139889591;1523773 + 1837;13200;610;737;139889591;1523773 + 1838;13208;610;738;139889591;1536981 + 1839;13212;610;738;139889591;1536981 + 1840;13220;610;739;139889591;1550201 + 1841;13224;610;739;139889591;1550201 + 1842;13233;610;740;139889591;1563434 + 1843;13236;610;740;139889591;1563434 + 1844;13248;610;740;139889591;1563434 + 1845;13252;610;741;139889591;1576686 + 1846;13260;610;741;139889591;1576686 + 1847;13272;610;741;139889591;1576686 + 1848;13275;610;742;139889591;1589961 + 1849;13284;610;742;139889591;1589961 + 1850;13295;610;743;139889591;1603256 + 1851;13296;610;743;139889591;1603256 + 1852;13308;610;743;139889591;1603256 + 1853;13312;610;744;139889591;1616568 + 1854;13320;610;744;139889591;1616568 + 1855;13332;610;744;139889591;1616568 + 1856;13332;610;745;139889591;1629900 + 1857;13344;610;745;139889591;1629900 + 1858;13349;610;746;139889591;1643249 + 1859;13356;610;746;139889591;1643249 + 1860;13364;610;747;139889591;1656613 + 1861;13368;610;747;139889591;1656613 + 1862;13380;610;747;139889591;1656613 + 1863;13388;610;748;139889591;1670001 + 1864;13392;610;748;139889591;1670001 + 1865;13404;610;748;139889591;1670001 + 1866;13405;610;749;139889591;1683406 + 1867;13416;610;749;139889591;1683406 + 1868;13426;610;750;139889591;1696832 + 1869;13428;610;750;139889591;1696832 + 1870;13440;610;750;139889591;1696832 + 1871;13448;630;751;141630250;1487118 + 1872;13452;630;751;141630250;1487118 + 1873;13464;630;751;141630250;1487118 + 1874;13467;640;752;138147237;1386406 + 1875;13476;640;752;138147237;1386406 + 1876;13483;640;753;138147237;1399889 + 1877;13488;640;753;138147237;1399889 + 1878;13500;640;753;138147237;1399889 + 1879;13504;640;754;138147237;1413393 + 1880;13512;640;754;138147237;1413393 + 1881;13522;640;755;138147237;1426915 + 1882;13524;640;755;138147237;1426915 + 1883;13536;640;755;138147237;1426915 + 1884;13539;640;756;138147237;1440454 + 1885;13548;640;756;138147237;1440454 + 1886;13558;640;757;138147237;1454012 + 1887;13560;640;757;138147237;1454012 + 1888;13572;640;757;138147237;1454012 + 1889;13576;640;758;138147237;1467588 + 1890;13584;640;758;138147237;1467588 + 1891;13593;640;759;138147237;1481181 + 1892;13596;640;759;138147237;1481181 + 1893;13608;640;759;138147237;1481181 + 1894;13617;640;760;138147237;1494798 + 1895;13620;640;760;138147237;1494798 + 1896;13632;640;760;138147237;1494798 + 1897;13636;640;761;138147237;1508434 + 1898;13644;640;761;138147237;1508434 + 1899;13651;640;762;138147237;1522085 + 1900;13656;650;762;143608394;1406201 + 1901;13665;660;763;132472472;1302142 + 1902;13668;660;763;132472472;1302142 + 1903;13680;660;763;132472472;1302142 + 1904;13687;660;764;132472472;1315829 + 1905;13692;660;764;132472472;1315829 + 1906;13704;660;764;132472472;1315829 + 1907;13705;660;765;132472472;1329534 + 1908;13716;660;765;132472472;1329534 + 1909;13720;660;766;132472472;1343254 + 1910;13728;660;766;132472472;1343254 + 1911;13740;660;766;132472472;1343254 + 1912;13742;660;767;132472472;1356996 + 1913;13752;660;767;132472472;1356996 + 1914;13757;660;768;132472472;1370753 + 1915;13764;660;768;132472472;1370753 + 1916;13776;660;768;132472472;1370753 + 1917;13779;660;769;132472472;1384532 + 1918;13788;660;769;132472472;1384532 + 1919;13793;660;770;132472472;1398325 + 1920;13800;660;770;132472472;1398325 + 1921;13808;660;771;132472472;1412133 + 1922;13812;660;771;132472472;1412133 + 1923;13824;660;771;132472472;1412133 + 1924;13831;660;772;132472472;1425964 + 1925;13836;660;772;132472472;1425964 + 1926;13846;660;773;132472472;1439810 + 1927;13848;660;773;132472472;1439810 + 1928;13860;660;773;132472472;1439810 + 1929;13869;660;774;132472472;1453679 + 1930;13872;660;774;132472472;1453679 + 1931;13884;660;774;132472472;1453679 + 1932;13893;660;775;132472472;1467572 + 1933;13896;660;775;132472472;1467572 + 1934;13908;660;775;132472472;1467572 + 1935;13912;660;776;132472472;1481484 + 1936;13920;660;776;132472472;1481484 + 1937;13924;660;777;132472472;1495408 + 1938;13932;660;777;132472472;1495408 + 1939;13944;660;777;132472472;1495408 + 1940;13947;660;778;132472472;1509355 + 1941;13956;660;778;132472472;1509355 + 1942;13968;660;778;132472472;1509355 + 1943;13968;660;779;132472472;1523323 + 1944;13980;660;779;132472472;1523323 + 1945;13991;660;780;132472472;1537314 + 1946;13992;660;780;132472472;1537314 + 1947;14004;660;780;132472472;1537314 + 1948;14004;660;781;132472472;1551318 + 1949;14016;660;781;132472472;1551318 + 1950;14028;660;781;132472472;1551318 + 1951;14028;660;782;132472472;1565346 + 1952;14040;660;782;132472472;1565346 + 1953;14052;660;782;132472472;1565346 + 1954;14052;660;783;132472472;1579398 + 1955;14064;660;783;132472472;1579398 + 1956;14074;660;784;132472472;1593472 + 1957;14076;660;784;132472472;1593472 + 1958;14088;660;784;132472472;1593472 + 1959;14088;660;785;132472472;1607560 + 1960;14100;660;785;132472472;1607560 + 1961;14100;670;786;133383237;1502167 + 1962;14112;670;786;133383237;1502167 + 1963;14117;670;787;133383237;1516284 + 1964;14124;670;787;133383237;1516284 + 1965;14129;670;788;133383237;1530413 + 1966;14136;670;788;133383237;1530413 + 1967;14147;670;789;133383237;1544560 + 1968;14148;670;789;133383237;1544560 + 1969;14160;670;789;133383237;1544560 + 1970;14168;670;790;133383237;1558728 + 1971;14172;670;790;133383237;1558728 + 1972;14184;670;790;133383237;1558728 + 1973;14184;670;791;133383237;1572912 + 1974;14196;670;791;133383237;1572912 + 1975;14204;670;792;133383237;1587116 + 1976;14208;670;792;133383237;1587116 + 1977;14218;670;793;133383237;1601334 + 1978;14220;670;793;133383237;1601334 + 1979;14232;670;793;133383237;1601334 + 1980;14235;670;794;133383237;1615569 + 1981;14244;670;794;133383237;1615569 + 1982;14247;670;795;133383237;1629816 + 1983;14256;670;795;133383237;1629816 + 1984;14268;670;795;133383237;1629816 + 1985;14268;670;796;133383237;1644084 + 1986;14280;670;796;133383237;1644084 + 1987;14282;670;797;133383237;1658366 + 1988;14292;670;797;133383237;1658366 + 1989;14304;670;797;133383237;1658366 + 1990;14305;670;798;133383237;1672671 + 1991;14316;670;798;133383237;1672671 + 1992;14328;670;798;133383237;1672671 + 1993;14329;670;799;133383237;1687000 + 1994;14340;670;799;133383237;1687000 + 1995;14349;670;800;133383237;1701349 + 1996;14352;670;800;133383237;1701349 + 1997;14363;670;801;133383237;1715712 + 1998;14364;670;801;133383237;1715712 + 1999;14376;670;801;133383237;1715712 + 2000;14384;670;802;133383237;1730096 + 2001;14388;670;802;133383237;1730096 + 2002;14400;670;802;133383237;1730096 + 2003;14402;670;803;133383237;1744498 + 2004;14412;670;803;133383237;1744498 + 2005;14417;670;804;133383237;1758915 + 2006;14424;670;804;133383237;1758915 + 2007;14436;670;804;133383237;1758915 + 2008;14441;670;805;133383237;1773356 + 2009;14448;670;805;133383237;1773356 + 2010;14458;670;806;133383237;1787814 + 2011;14460;670;806;133383237;1787814 + 2012;14470;670;807;133383237;1802284 + 2013;14472;670;807;133383237;1802284 + 2014;14484;670;807;133383237;1802284 + 2015;14485;670;808;133383237;1816769 + 2016;14496;670;808;133383237;1816769 + 2017;14508;670;808;133383237;1816769 + 2018;14509;680;809;135336631;1709894 + 2019;14520;680;809;135336631;1709894 + 2020;14530;690;810;136426585;1601242 + 2021;14532;690;810;136426585;1601242 + 2022;14544;700;810;128547007;1476358 + 2023;14550;700;811;128547007;1490908 + 2024;14556;700;811;128547007;1490908 + 2025;14563;700;812;128547007;1505471 + 2026;14568;700;812;128547007;1505471 + 2027;14580;700;812;128547007;1505471 + 2028;14583;700;813;128547007;1520054 + 2029;14592;700;813;128547007;1520054 + 2030;14603;700;814;128547007;1534657 + 2031;14604;700;814;128547007;1534657 + 2032;14616;700;814;128547007;1534657 + 2033;14621;700;815;128547007;1549278 + 2034;14628;700;815;128547007;1549278 + 2035;14640;700;815;128547007;1549278 + 2036;14643;700;816;128547007;1563921 + 2037;14652;700;816;128547007;1563921 + 2038;14659;700;817;128547007;1578580 + 2039;14664;700;817;128547007;1578580 + 2040;14676;700;817;128547007;1578580 + 2041;14677;700;818;128547007;1593257 + 2042;14688;700;818;128547007;1593257 + 2043;14695;700;819;128547007;1607952 + 2044;14700;700;819;128547007;1607952 + 2045;14712;700;819;128547007;1607952 + 2046;14715;700;820;128547007;1622667 + 2047;14724;700;820;128547007;1622667 + 2048;14729;700;821;128547007;1637396 + 2049;14736;700;821;128547007;1637396 + 2050;14748;700;821;128547007;1637396 + 2051;14751;700;822;128547007;1652147 + 2052;14760;700;822;128547007;1652147 + 2053;14764;700;823;128547007;1666911 + 2054;14772;700;823;128547007;1666911 + 2055;14784;700;823;128547007;1666911 + 2056;14784;700;824;128547007;1681695 + 2057;14796;700;824;128547007;1681695 + 2058;14803;700;825;128547007;1696498 + 2059;14808;700;825;128547007;1696498 + 2060;14820;700;825;128547007;1696498 + 2061;14825;700;826;128547007;1711323 + 2062;14832;700;826;128547007;1711323 + 2063;14841;700;827;128547007;1726164 + 2064;14844;700;827;128547007;1726164 + 2065;14856;700;827;128547007;1726164 + 2066;14859;700;828;128547007;1741023 + 2067;14868;700;828;128547007;1741023 + 2068;14880;700;828;128547007;1741023 + 2069;14883;700;829;128547007;1755906 + 2070;14892;700;829;128547007;1755906 + 2071;14896;700;830;128547007;1770802 + 2072;14904;700;830;128547007;1770802 + 2073;14910;700;831;128547007;1785712 + 2074;14916;700;831;128547007;1785712 + 2075;14928;700;831;128547007;1785712 + 2076;14929;710;832;137502336;1674091 + 2077;14940;710;832;137502336;1674091 + 2078;14946;720;833;139959740;1560677 + 2079;14952;720;833;139959740;1560677 + 2080;14960;720;834;139959740;1575637 + 2081;14964;720;834;139959740;1575637 + 2082;14976;720;834;139959740;1575637 + 2083;14976;720;835;139959740;1590613 + 2084;14988;720;835;139959740;1590613 + 2085;14997;720;836;139959740;1605610 + 2086;15000;720;836;139959740;1605610 + 2087;15011;720;837;139959740;1620621 + 2088;15012;720;837;139959740;1620621 + 2089;15024;720;837;139959740;1620621 + 2090;15030;720;838;139959740;1635651 + 2091;15036;720;838;139959740;1635651 + 2092;15048;720;838;139959740;1635651 + 2093;15054;720;839;139959740;1650705 + 2094;15060;720;839;139959740;1650705 + 2095;15069;720;840;139959740;1665774 + 2096;15072;720;840;139959740;1665774 + 2097;15084;720;840;139959740;1665774 + 2098;15093;720;841;139959740;1680867 + 2099;15096;720;841;139959740;1680867 + 2100;15108;720;841;139959740;1680867 + 2101;15111;720;842;139959740;1695978 + 2102;15120;720;842;139959740;1695978 + 2103;15132;720;842;139959740;1695978 + 2104;15135;720;843;139959740;1711113 + 2105;15144;720;843;139959740;1711113 + 2106;15154;720;844;139959740;1726267 + 2107;15156;720;844;139959740;1726267 + 2108;15168;720;844;139959740;1726267 + 2109;15173;720;845;139959740;1741440 + 2110;15180;720;845;139959740;1741440 + 2111;15188;720;846;139959740;1756628 + 2112;15192;720;846;139959740;1756628 + 2113;15204;720;846;139959740;1756628 + 2114;15211;730;847;147969061;1641778 + 2115;15216;730;847;147969061;1641778 + 2116;15228;730;847;147969061;1641778 + 2117;15233;730;848;147969061;1657011 + 2118;15240;730;848;147969061;1657011 + 2119;15248;730;849;147969061;1672259 + 2120;15252;730;849;147969061;1672259 + 2121;15263;730;850;147969061;1687522 + 2122;15264;730;850;147969061;1687522 + 2123;15276;730;850;147969061;1687522 + 2124;15283;730;851;147969061;1702805 + 2125;15288;730;851;147969061;1702805 + 2126;15300;730;851;147969061;1702805 + 2127;15300;730;852;147969061;1718105 + 2128;15312;730;852;147969061;1718105 + 2129;15322;730;853;147969061;1733427 + 2130;15324;730;853;147969061;1733427 + 2131;15336;730;853;147969061;1733427 + 2132;15341;730;854;147969061;1748768 + 2133;15348;730;854;147969061;1748768 + 2134;15356;730;855;147969061;1764124 + 2135;15360;730;855;147969061;1764124 + 2136;15371;730;856;147969061;1779495 + 2137;15372;730;856;147969061;1779495 + 2138;15384;730;856;147969061;1779495 + 2139;15393;730;857;147969061;1794888 + 2140;15396;730;857;147969061;1794888 + 2141;15408;730;857;147969061;1794888 + 2142;15413;730;858;147969061;1810301 + 2143;15420;730;858;147969061;1810301 + 2144;15432;730;858;147969061;1810301 + 2145;15432;730;859;147969061;1825733 + 2146;15444;730;859;147969061;1825733 + 2147;15452;730;860;147969061;1841185 + 2148;15456;730;860;147969061;1841185 + 2149;15468;730;860;147969061;1841185 + 2150;15468;730;861;147969061;1856653 + 2151;15480;730;861;147969061;1856653 + 2152;15488;730;862;147969061;1872141 + 2153;15492;730;862;147969061;1872141 + 2154;15504;730;862;147969061;1872141 + 2155;15504;730;863;147969061;1887645 + 2156;15516;730;863;147969061;1887645 + 2157;15528;730;863;147969061;1887645 + 2158;15528;730;864;147969061;1903173 + 2159;15540;730;864;147969061;1903173 + 2160;15550;760;865;164809563;1517811 + 2161;15552;760;865;164809563;1517811 + 2162;15564;760;865;164809563;1517811 + 2163;15565;760;866;164809563;1533376 + 2164;15576;760;866;164809563;1533376 + 2165;15577;760;867;164809563;1548953 + 2166;15588;760;867;164809563;1548953 + 2167;15595;760;868;164809563;1564548 + 2168;15600;760;868;164809563;1564548 + 2169;15612;760;868;164809563;1564548 + 2170;15616;760;869;164809563;1580164 + 2171;15624;760;869;164809563;1580164 + 2172;15634;760;870;164809563;1595798 + 2173;15636;760;870;164809563;1595798 + 2174;15648;760;870;164809563;1595798 + 2175;15651;760;871;164809563;1611449 + 2176;15660;760;871;164809563;1611449 + 2177;15668;760;872;164809563;1627117 + 2178;15672;760;872;164809563;1627117 + 2179;15684;760;872;164809563;1627117 + 2180;15689;760;873;164809563;1642806 + 2181;15696;760;873;164809563;1642806 + 2182;15702;760;874;164809563;1658508 + 2183;15708;760;874;164809563;1658508 + 2184;15720;760;874;164809563;1658508 + 2185;15725;760;875;164809563;1674233 + 2186;15732;760;875;164809563;1674233 + 2187;15741;760;876;164809563;1689974 + 2188;15744;760;876;164809563;1689974 + 2189;15756;760;876;164809563;1689974 + 2190;15763;760;877;164809563;1705737 + 2191;15768;760;877;164809563;1705737 + 2192;15779;760;878;164809563;1721516 + 2193;15780;760;878;164809563;1721516 + 2194;15792;760;878;164809563;1721516 + 2195;15794;760;879;164809563;1737310 + 2196;15804;760;879;164809563;1737310 + 2197;15808;760;880;164809563;1753118 + 2198;15816;760;880;164809563;1753118 + 2199;15828;760;880;164809563;1753118 + 2200;15830;760;881;164809563;1768948 + 2201;15840;760;881;164809563;1768948 + 2202;15844;760;882;164809563;1784792 + 2203;15852;760;882;164809563;1784792 + 2204;15861;760;883;164809563;1800653 + 2205;15864;760;883;164809563;1800653 + 2206;15876;760;883;164809563;1800653 + 2207;15879;760;884;164809563;1816532 + 2208;15888;760;884;164809563;1816532 + 2209;15897;760;885;164809563;1832429 + 2210;15900;760;885;164809563;1832429 + 2211;15911;770;886;168429159;1711033 + 2212;15912;770;886;168429159;1711033 + 2213;15924;770;886;168429159;1711033 + 2214;15932;780;887;157591233;1587780 + 2215;15936;780;887;157591233;1587780 + 2216;15948;780;887;157591233;1587780 + 2217;15950;780;888;157591233;1603730 + 2218;15960;780;888;157591233;1603730 + 2219;15962;780;889;157591233;1619692 + 2220;15972;780;889;157591233;1619692 + 2221;15984;780;889;157591233;1619692 + 2222;15985;780;890;157591233;1635677 + 2223;15996;780;890;157591233;1635677 + 2224;16007;780;891;157591233;1651684 + 2225;16008;780;891;157591233;1651684 + 2226;16020;780;891;157591233;1651684 + 2227;16025;780;892;157591233;1667709 + 2228;16032;780;892;157591233;1667709 + 2229;16041;780;893;157591233;1683750 + 2230;16044;780;893;157591233;1683750 + 2231;16056;780;893;157591233;1683750 + 2232;16063;780;894;157591233;1699813 + 2233;16068;780;894;157591233;1699813 + 2234;16079;780;895;157591233;1715892 + 2235;16080;780;895;157591233;1715892 + 2236;16092;780;895;157591233;1715892 + 2237;16097;780;896;157591233;1731989 + 2238;16104;780;896;157591233;1731989 + 2239;16110;780;897;157591233;1748099 + 2240;16116;780;897;157591233;1748099 + 2241;16122;780;898;157591233;1764221 + 2242;16128;780;898;157591233;1764221 + 2243;16140;780;898;157591233;1764221 + 2244;16145;780;899;157591233;1780366 + 2245;16152;780;899;157591233;1780366 + 2246;16164;780;899;157591233;1780366 + 2247;16164;780;900;157591233;1796530 + 2248;16176;780;900;157591233;1796530 + 2249;16182;780;901;157591233;1812712 + 2250;16188;780;901;157591233;1812712 + 2251;16200;780;901;157591233;1812712 + 2252;16206;780;902;157591233;1828918 + 2253;16212;780;902;157591233;1828918 + 2254;16223;780;903;157591233;1845141 + 2255;16224;780;903;157591233;1845141 + 2256;16236;780;903;157591233;1845141 + 2257;16242;780;904;157591233;1861383 + 2258;16248;780;904;157591233;1861383 + 2259;16260;780;904;157591233;1861383 + 2260;16266;780;905;157591233;1877649 + 2261;16272;780;905;157591233;1877649 + 2262;16284;780;905;157591233;1877649 + 2263;16285;780;906;157591233;1893934 + 2264;16296;780;906;157591233;1893934 + 2265;16307;780;907;157591233;1910241 + 2266;16308;780;907;157591233;1910241 + 2267;16320;780;907;157591233;1910241 + 2268;16324;780;908;157591233;1926565 + 2269;16332;780;908;157591233;1926565 + 2270;16343;780;909;157591233;1942908 + 2271;16344;780;909;157591233;1942908 + 2272;16356;780;909;157591233;1942908 + 2273;16356;780;910;157591233;1959264 + 2274;16368;780;910;157591233;1959264 + 2275;16378;780;911;157591233;1975642 + 2276;16380;780;911;157591233;1975642 + 2277;16392;780;911;157591233;1975642 + 2278;16392;780;912;157591233;1992034 + 2279;16404;780;912;157591233;1992034 + 2280;16414;780;913;157591233;2008448 + 2281;16416;780;913;157591233;2008448 + 2282;16428;780;913;157591233;2008448 + 2283;16429;780;914;157591233;2024877 + 2284;16440;780;914;157591233;2024877 + 2285;16441;780;915;157591233;2041318 + 2286;16452;780;915;157591233;2041318 + 2287;16455;780;916;157591233;2057773 + 2288;16464;780;916;157591233;2057773 + 2289;16474;790;917;164012785;1933160 + 2290;16476;790;917;164012785;1933160 + 2291;16488;790;917;164012785;1933160 + 2292;16494;800;918;154075753;1806854 + 2293;16500;800;918;154075753;1806854 + 2294;16507;800;919;154075753;1823361 + 2295;16512;800;919;154075753;1823361 + 2296;16524;800;919;154075753;1823361 + 2297;16526;800;920;154075753;1839887 + 2298;16536;800;920;154075753;1839887 + 2299;16538;800;921;154075753;1856425 + 2300;16548;800;921;154075753;1856425 + 2301;16560;800;921;154075753;1856425 + 2302;16561;800;922;154075753;1872986 + 2303;16572;800;922;154075753;1872986 + 2304;16584;800;922;154075753;1872986 + 2305;16584;800;923;154075753;1889570 + 2306;16596;800;923;154075753;1889570 + 2307;16601;800;924;154075753;1906171 + 2308;16608;800;924;154075753;1906171 + 2309;16615;800;925;154075753;1922786 + 2310;16620;800;925;154075753;1922786 + 2311;16632;800;925;154075753;1922786 + 2312;16634;800;926;154075753;1939420 + 2313;16644;800;926;154075753;1939420 + 2314;16649;800;927;154075753;1956069 + 2315;16656;800;927;154075753;1956069 + 2316;16663;800;928;154075753;1972732 + 2317;16668;800;928;154075753;1972732 + 2318;16675;800;929;154075753;1989407 + 2319;16680;800;929;154075753;1989407 + 2320;16692;800;929;154075753;1989407 + 2321;16693;800;930;154075753;2006100 + 2322;16704;800;930;154075753;2006100 + 2323;16715;800;931;154075753;2022815 + 2324;16716;800;931;154075753;2022815 + 2325;16728;800;931;154075753;2022815 + 2326;16730;800;932;154075753;2039545 + 2327;16740;800;932;154075753;2039545 + 2328;16748;800;933;154075753;2056293 + 2329;16752;800;933;154075753;2056293 + 2330;16764;800;933;154075753;2056293 + 2331;16770;800;934;154075753;2073063 + 2332;16776;800;934;154075753;2073063 + 2333;16788;810;934;159952603;1928417 + 2334;16791;820;935;153279630;1798720 + 2335;16800;820;935;153279630;1798720 + 2336;16806;830;936;145930851;1667210 + 2337;16812;830;936;145930851;1667210 + 2338;16821;830;937;145930851;1684031 + 2339;16824;830;937;145930851;1684031 + 2340;16836;830;937;145930851;1684031 + 2341;16844;830;938;145930851;1700875 + 2342;16848;830;938;145930851;1700875 + 2343;16860;830;938;145930851;1700875 + 2344;16864;830;939;145930851;1717739 + 2345;16872;830;939;145930851;1717739 + 2346;16882;830;940;145930851;1734621 + 2347;16884;830;940;145930851;1734621 + 2348;16896;830;940;145930851;1734621 + 2349;16900;830;941;145930851;1751521 + 2350;16908;830;941;145930851;1751521 + 2351;16920;830;941;145930851;1751521 + 2352;16920;830;942;145930851;1768441 + 2353;16932;830;942;145930851;1768441 + 2354;16940;830;943;145930851;1785381 + 2355;16944;830;943;145930851;1785381 + 2356;16956;830;943;145930851;1785381 + 2357;16956;830;944;145930851;1802337 + 2358;16968;830;944;145930851;1802337 + 2359;16976;830;945;145930851;1819313 + 2360;16980;830;945;145930851;1819313 + 2361;16992;830;945;145930851;1819313 + 2362;16999;840;946;145273890;1686247 + 2363;17004;840;946;145273890;1686247 + 2364;17016;840;946;145273890;1686247 + 2365;17017;840;947;145273890;1703264 + 2366;17028;840;947;145273890;1703264 + 2367;17030;840;948;145273890;1720294 + 2368;17040;840;948;145273890;1720294 + 2369;17050;840;949;145273890;1737344 + 2370;17052;840;949;145273890;1737344 + 2371;17064;840;949;145273890;1737344 + 2372;17069;840;950;145273890;1754413 + 2373;17076;840;950;145273890;1754413 + 2374;17085;840;951;145273890;1771498 + 2375;17088;840;951;145273890;1771498 + 2376;17099;840;952;145273890;1788597 + 2377;17100;840;952;145273890;1788597 + 2378;17112;840;952;145273890;1788597 + 2379;17117;840;953;145273890;1805714 + 2380;17124;840;953;145273890;1805714 + 2381;17136;840;953;145273890;1805714 + 2382;17139;840;954;145273890;1822853 + 2383;17148;840;954;145273890;1822853 + 2384;17153;840;955;145273890;1840006 + 2385;17160;840;955;145273890;1840006 + 2386;17171;840;956;145273890;1857177 + 2387;17172;840;956;145273890;1857177 + 2388;17184;840;956;145273890;1857177 + 2389;17189;840;957;145273890;1874366 + 2390;17196;840;957;145273890;1874366 + 2391;17206;840;958;145273890;1891572 + 2392;17208;840;958;145273890;1891572 + 2393;17218;840;959;145273890;1908790 + 2394;17220;840;959;145273890;1908790 + 2395;17232;840;959;145273890;1908790 + 2396;17237;840;960;145273890;1926027 + 2397;17244;840;960;145273890;1926027 + 2398;17254;840;961;145273890;1943281 + 2399;17256;840;961;145273890;1943281 + 2400;17268;840;961;145273890;1943281 + 2401;17271;840;962;145273890;1960552 + 2402;17280;840;962;145273890;1960552 + 2403;17289;840;963;145273890;1977841 + 2404;17292;840;963;145273890;1977841 + 2405;17304;840;963;145273890;1977841 + 2406;17307;840;964;145273890;1995148 + 2407;17316;840;964;145273890;1995148 + 2408;17324;840;965;145273890;2012472 + 2409;17328;840;965;145273890;2012472 + 2410;17340;840;965;145273890;2012472 + 2411;17341;850;966;157459610;1877814 + 2412;17352;850;966;157459610;1877814 + 2413;17355;850;967;157459610;1895169 + 2414;17364;850;967;157459610;1895169 + 2415;17376;850;967;157459610;1895169 + 2416;17377;850;968;157459610;1912546 + 2417;17388;850;968;157459610;1912546 + 2418;17393;850;969;157459610;1929939 + 2419;17400;850;969;157459610;1929939 + 2420;17411;850;970;157459610;1947350 + 2421;17412;850;970;157459610;1947350 + 2422;17424;850;970;157459610;1947350 + 2423;17424;850;971;157459610;1964774 + 2424;17436;850;971;157459610;1964774 + 2425;17444;850;972;157459610;1982218 + 2426;17448;850;972;157459610;1982218 + 2427;17456;850;973;157459610;1999674 + 2428;17460;850;973;157459610;1999674 + 2429;17469;850;974;157459610;2017143 + 2430;17472;850;974;157459610;2017143 + 2431;17484;850;974;157459610;2017143 + 2432;17485;850;975;157459610;2034628 + 2433;17496;850;975;157459610;2034628 + 2434;17502;850;976;157459610;2052130 + 2435;17508;850;976;157459610;2052130 + 2436;17520;850;976;157459610;2052130 + 2437;17523;850;977;157459610;2069653 + 2438;17532;850;977;157459610;2069653 + 2439;17544;850;977;157459610;2069653 + 2440;17545;850;978;157459610;2087198 + 2441;17556;850;978;157459610;2087198 + 2442;17558;850;979;157459610;2104756 + 2443;17568;850;979;157459610;2104756 + 2444;17580;850;979;157459610;2104756 + 2445;17582;850;980;157459610;2122338 + 2446;17592;850;980;157459610;2122338 + 2447;17599;850;981;157459610;2139937 + 2448;17604;850;981;157459610;2139937 + 2449;17616;850;981;157459610;2139937 + 2450;17617;850;982;157459610;2157554 + 2451;17628;850;982;157459610;2157554 + 2452;17639;850;983;157459610;2175193 + 2453;17640;850;983;157459610;2175193 + 2454;17652;850;983;157459610;2175193 + 2455;17658;850;984;157459610;2192851 + 2456;17664;850;984;157459610;2192851 + 2457;17676;850;984;157459610;2192851 + 2458;17678;850;985;157459610;2210529 + 2459;17688;850;985;157459610;2210529 + 2460;17693;850;986;157459610;2228222 + 2461;17700;850;986;157459610;2228222 + 2462;17710;850;987;157459610;2245932 + 2463;17712;850;987;157459610;2245932 + 2464;17724;850;987;157459610;2245932 + 2465;17731;850;988;157459610;2263663 + 2466;17736;850;988;157459610;2263663 + 2467;17743;850;989;157459610;2281406 + 2468;17748;850;989;157459610;2281406 + 2469;17759;850;990;157459610;2299165 + 2470;17760;850;990;157459610;2299165 + 2471;17772;850;990;157459610;2299165 + 2472;17772;860;991;174386587;2163089 + 2473;17784;860;991;174386587;2163089 + 2474;17792;860;992;174386587;2180881 + 2475;17796;860;992;174386587;2180881 + 2476;17808;860;992;174386587;2180881 + 2477;17811;860;993;174386587;2198692 + 2478;17820;860;993;174386587;2198692 + 2479;17827;860;994;174386587;2216519 + 2480;17832;860;994;174386587;2216519 + 2481;17840;860;995;174386587;2234359 + 2482;17844;860;995;174386587;2234359 + 2483;17856;860;995;174386587;2234359 + 2484;17864;860;996;174386587;2252223 + 2485;17868;860;996;174386587;2252223 + 2486;17879;860;997;174386587;2270102 + 2487;17880;860;997;174386587;2270102 + 2488;17892;860;997;174386587;2270102 + 2489;17897;860;998;174386587;2287999 + 2490;17904;860;998;174386587;2287999 + 2491;17916;860;998;174386587;2287999 + 2492;17919;860;999;174386587;2305918 + 2493;17928;860;999;174386587;2305918 + 2494;17938;860;1000;174386587;2323856 + 2495;17940;860;1000;174386587;2323856 + 2496;17952;860;1000;174386587;2323856 + 2497;17953;860;1001;174386587;2341809 + 2498;17964;870;1001;183658749;2186101 + 2499;17976;870;1001;183658749;2186101 + 2500;17977;880;1002;186504197;2046579 + 2501;17988;880;1002;186504197;2046579 + 2502;17989;880;1003;186504197;2064568 + 2503;18000;880;1003;186504197;2064568 + 2504;18011;880;1004;186504197;2082579 + 2505;18012;880;1004;186504197;2082579 + 2506;18024;880;1004;186504197;2082579 + 2507;18029;880;1005;186504197;2100608 + 2508;18036;880;1005;186504197;2100608 + 2509;18045;880;1006;186504197;2118653 + 2510;18048;880;1006;186504197;2118653 + 2511;18058;880;1007;186504197;2136711 + 2512;18060;880;1007;186504197;2136711 + 2513;18070;880;1008;186504197;2154781 + 2514;18072;880;1008;186504197;2154781 + 2515;18084;880;1008;186504197;2154781 + 2516;18094;880;1009;186504197;2172875 + 2517;18096;880;1009;186504197;2172875 + 2518;18108;880;1009;186504197;2172875 + 2519;18113;880;1010;186504197;2190988 + 2520;18120;880;1010;186504197;2190988 + 2521;18132;880;1010;186504197;2190988 + 2522;18137;880;1011;186504197;2209125 + 2523;18144;880;1011;186504197;2209125 + 2524;18151;880;1012;186504197;2227276 + 2525;18156;880;1012;186504197;2227276 + 2526;18168;880;1012;186504197;2227276 + 2527;18175;880;1013;186504197;2245451 + 2528;18180;880;1013;186504197;2245451 + 2529;18190;880;1014;186504197;2263641 + 2530;18192;880;1014;186504197;2263641 + 2531;18204;880;1014;186504197;2263641 + 2532;18214;880;1015;186504197;2281855 + 2533;18216;880;1015;186504197;2281855 + 2534;18228;880;1015;186504197;2281855 + 2535;18237;880;1016;186504197;2300092 + 2536;18240;880;1016;186504197;2300092 + 2537;18252;880;1016;186504197;2300092 + 2538;18252;880;1017;186504197;2318344 + 2539;18264;880;1017;186504197;2318344 + 2540;18274;880;1018;186504197;2336618 + 2541;18276;880;1018;186504197;2336618 + 2542;18288;880;1018;186504197;2336618 + 2543;18295;880;1019;186504197;2354913 + 2544;18300;880;1019;186504197;2354913 + 2545;18312;890;1019;216484276;2195685 + 2546;18315;890;1020;216484276;2214000 + 2547;18324;890;1020;216484276;2214000 + 2548;18336;890;1020;216484276;2214000 + 2549;18336;890;1021;216484276;2232336 + 2550;18348;890;1021;216484276;2232336 + 2551;18350;890;1022;216484276;2250686 + 2552;18360;890;1022;216484276;2250686 + 2553;18372;890;1022;216484276;2250686 + 2554;18372;890;1023;216484276;2269058 + 2555;18384;890;1023;216484276;2269058 + 2556;18393;890;1024;216484276;2287451 + 2557;18396;890;1024;216484276;2287451 + 2558;18407;890;1025;216484276;2305858 + 2559;18408;890;1025;216484276;2305858 + 2560;18419;890;1026;216484276;2324277 + 2561;18420;890;1026;216484276;2324277 + 2562;18432;890;1026;216484276;2324277 + 2563;18440;890;1027;216484276;2342717 + 2564;18444;890;1027;216484276;2342717 + 2565;18453;890;1028;216484276;2361170 + 2566;18456;890;1028;216484276;2361170 + 2567;18468;890;1028;216484276;2361170 + 2568;18473;900;1029;231101920;2218615 + 2569;18480;910;1029;235428743;2055685 + 2570;18488;910;1030;235428743;2074173 + 2571;18492;910;1030;235428743;2074173 + 2572;18504;910;1030;235428743;2074173 + 2573;18505;910;1031;235428743;2092678 + 2574;18516;910;1031;235428743;2092678 + 2575;18519;910;1032;235428743;2111197 + 2576;18528;910;1032;235428743;2111197 + 2577;18538;910;1033;235428743;2129735 + 2578;18540;910;1033;235428743;2129735 + 2579;18552;910;1033;235428743;2129735 + 2580;18552;910;1034;235428743;2148287 + 2581;18564;910;1034;235428743;2148287 + 2582;18571;910;1035;235428743;2166858 + 2583;18576;910;1035;235428743;2166858 + 2584;18586;910;1036;235428743;2185444 + 2585;18588;910;1036;235428743;2185444 + 2586;18600;920;1036;236532929;2020774 + 2587;18608;920;1037;236532929;2039382 + 2588;18612;920;1037;236532929;2039382 + 2589;18621;920;1038;236532929;2058003 + 2590;18624;920;1038;236532929;2058003 + 2591;18636;920;1038;236532929;2058003 + 2592;18641;920;1039;236532929;2076644 + 2593;18648;920;1039;236532929;2076644 + 2594;18660;920;1039;236532929;2076644 + 2595;18664;920;1040;236532929;2095308 + 2596;18672;920;1040;236532929;2095308 + 2597;18677;920;1041;236532929;2113985 + 2598;18684;920;1041;236532929;2113985 + 2599;18692;920;1042;236532929;2132677 + 2600;18696;920;1042;236532929;2132677 + 2601;18705;920;1043;236532929;2151382 + 2602;18708;920;1043;236532929;2151382 + 2603;18720;930;1043;234878584;1984992 + 2604;18721;940;1044;224816675;1835557 + 2605;18732;940;1044;224816675;1835557 + 2606;18734;940;1045;224816675;1854291 + 2607;18744;940;1045;224816675;1854291 + 2608;18753;940;1046;224816675;1873044 + 2609;18756;940;1046;224816675;1873044 + 2610;18768;940;1046;224816675;1873044 + 2611;18771;940;1047;224816675;1891815 + 2612;18780;940;1047;224816675;1891815 + 2613;18783;940;1048;224816675;1910598 + 2614;18792;940;1048;224816675;1910598 + 2615;18797;940;1049;224816675;1929395 + 2616;18804;940;1049;224816675;1929395 + 2617;18812;940;1050;224816675;1948207 + 2618;18816;940;1050;224816675;1948207 + 2619;18826;940;1051;224816675;1967033 + 2620;18828;940;1051;224816675;1967033 + 2621;18840;940;1051;224816675;1967033 + 2622;18841;940;1052;224816675;1985874 + 2623;18852;940;1052;224816675;1985874 + 2624;18863;940;1053;224816675;2004737 + 2625;18864;940;1053;224816675;2004737 + 2626;18876;940;1053;224816675;2004737 + 2627;18880;940;1054;224816675;2023617 + 2628;18888;940;1054;224816675;2023617 + 2629;18894;940;1055;224816675;2042511 + 2630;18900;940;1055;224816675;2042511 + 2631;18907;940;1056;224816675;2061418 + 2632;18912;940;1056;224816675;2061418 + 2633;18924;950;1056;227918590;1891376 + 2634;18928;950;1057;227918590;1910304 + 2635;18936;950;1057;227918590;1910304 + 2636;18944;950;1058;227918590;1929248 + 2637;18948;950;1058;227918590;1929248 + 2638;18956;950;1059;227918590;1948204 + 2639;18960;950;1059;227918590;1948204 + 2640;18969;950;1060;227918590;1967173 + 2641;18972;950;1060;227918590;1967173 + 2642;18984;950;1060;227918590;1967173 + 2643;18991;950;1061;227918590;1986164 + 2644;18996;950;1061;227918590;1986164 + 2645;19008;950;1061;227918590;1986164 + 2646;19012;950;1062;227918590;2005176 + 2647;19020;950;1062;227918590;2005176 + 2648;19028;950;1063;227918590;2024204 + 2649;19032;950;1063;227918590;2024204 + 2650;19040;950;1064;227918590;2043244 + 2651;19044;950;1064;227918590;2043244 + 2652;19054;950;1065;227918590;2062298 + 2653;19056;950;1065;227918590;2062298 + 2654;19068;950;1065;227918590;2062298 + 2655;19076;950;1066;227918590;2081374 + 2656;19080;950;1066;227918590;2081374 + 2657;19092;950;1066;227918590;2081374 + 2658;19096;950;1067;227918590;2100470 + 2659;19104;950;1067;227918590;2100470 + 2660;19114;960;1068;221423703;1947801 + 2661;19116;960;1068;221423703;1947801 + 2662;19127;960;1069;221423703;1966928 + 2663;19128;960;1069;221423703;1966928 + 2664;19140;960;1069;221423703;1966928 + 2665;19148;960;1070;221423703;1986076 + 2666;19152;960;1070;221423703;1986076 + 2667;19164;960;1070;221423703;1986076 + 2668;19169;960;1071;221423703;2005245 + 2669;19176;960;1071;221423703;2005245 + 2670;19188;960;1071;221423703;2005245 + 2671;19190;960;1072;221423703;2024435 + 2672;19200;960;1072;221423703;2024435 + 2673;19210;960;1073;221423703;2043645 + 2674;19212;960;1073;221423703;2043645 + 2675;19224;960;1073;221423703;2043645 + 2676;19233;960;1074;221423703;2062878 + 2677;19236;960;1074;221423703;2062878 + 2678;19248;960;1074;221423703;2062878 + 2679;19249;960;1075;221423703;2082127 + 2680;19260;960;1075;221423703;2082127 + 2681;19265;960;1076;221423703;2101392 + 2682;19272;960;1076;221423703;2101392 + 2683;19283;960;1077;221423703;2120675 + 2684;19284;960;1077;221423703;2120675 + 2685;19296;960;1077;221423703;2120675 + 2686;19306;960;1078;221423703;2139981 + 2687;19308;960;1078;221423703;2139981 + 2688;19320;960;1078;221423703;2139981 + 2689;19327;960;1079;221423703;2159308 + 2690;19332;960;1079;221423703;2159308 + 2691;19343;960;1080;221423703;2178651 + 2692;19344;960;1080;221423703;2178651 + 2693;19356;960;1080;221423703;2178651 + 2694;19365;960;1081;221423703;2198016 + 2695;19368;960;1081;221423703;2198016 + 2696;19380;960;1081;221423703;2198016 + 2697;19383;960;1082;221423703;2217399 + 2698;19392;960;1082;221423703;2217399 + 2699;19402;960;1083;221423703;2236801 + 2700;19404;960;1083;221423703;2236801 + 2701;19416;960;1083;221423703;2236801 + 2702;19424;960;1084;221423703;2256225 + 2703;19428;960;1084;221423703;2256225 + 2704;19440;960;1084;221423703;2256225 + 2705;19440;960;1085;221423703;2275665 + 2706;19452;960;1085;221423703;2275665 + 2707;19456;960;1086;221423703;2295121 + 2708;19464;960;1086;221423703;2295121 + 2709;19474;960;1087;221423703;2314595 + 2710;19476;960;1087;221423703;2314595 + 2711;19488;960;1087;221423703;2314595 + 2712;19497;960;1088;221423703;2334092 + 2713;19500;960;1088;221423703;2334092 + 2714;19512;960;1088;221423703;2334092 + 2715;19517;960;1089;221423703;2353609 + 2716;19524;960;1089;221423703;2353609 + 2717;19532;960;1090;221423703;2373141 + 2718;19536;960;1090;221423703;2373141 + 2719;19548;960;1090;221423703;2373141 + 2720;19554;960;1091;221423703;2392695 + 2721;19560;960;1091;221423703;2392695 + 2722;19572;960;1091;221423703;2392695 + 2723;19572;960;1092;221423703;2412267 + 2724;19584;960;1092;221423703;2412267 + 2725;19590;960;1093;221423703;2431857 + 2726;19596;960;1093;221423703;2431857 + 2727;19608;960;1093;221423703;2431857 + 2728;19608;960;1094;221423703;2451465 + 2729;19620;960;1094;221423703;2451465 + 2730;19632;960;1094;221423703;2451465 + 2731;19632;960;1095;221423703;2471097 + 2732;19644;960;1095;221423703;2471097 + 2733;19649;960;1096;221423703;2490746 + 2734;19656;960;1096;221423703;2490746 + 2735;19668;960;1096;221423703;2490746 + 2736;19669;960;1097;221423703;2510415 + 2737;19680;960;1097;221423703;2510415 + 2738;19683;970;1098;227234036;2356606 + 2739;19692;970;1098;227234036;2356606 + 2740;19699;980;1099;225720157;2201142 + 2741;19704;980;1099;225720157;2201142 + 2742;19716;980;1099;225720157;2201142 + 2743;19723;990;1100;227120144;2043865 + 2744;19728;990;1100;227120144;2043865 + 2745;19739;1000;1101;211266320;1884884 + 2746;19740;1000;1101;211266320;1884884 + 2747;19752;1000;1101;211266320;1884884 + 2748;19757;1000;1102;211266320;1904641 + 2749;19764;1000;1102;211266320;1904641 + 2750;19776;1000;1102;211266320;1904641 + 2751;19777;1000;1103;211266320;1924418 + 2752;19788;1000;1103;211266320;1924418 + 2753;19794;1010;1104;199097500;1763689 + 2754;19800;1010;1104;199097500;1763689 + 2755;19812;1010;1104;199097500;1763689 + 2756;19813;1010;1105;199097500;1783502 + 2757;19824;1010;1105;199097500;1783502 + 2758;19836;1010;1105;199097500;1783502 + 2759;19837;1010;1106;199097500;1803339 + 2760;19848;1010;1106;199097500;1803339 + 2761;19854;1010;1107;199097500;1823193 + 2762;19860;1010;1107;199097500;1823193 + 2763;19872;1010;1107;199097500;1823193 + 2764;19876;1010;1108;199097500;1843069 + 2765;19884;1010;1108;199097500;1843069 + 2766;19892;1010;1109;199097500;1862961 + 2767;19896;1010;1109;199097500;1862961 + 2768;19908;1010;1109;199097500;1862961 + 2769;19911;1010;1110;199097500;1882872 + 2770;19920;1010;1110;199097500;1882872 + 2771;19932;1010;1110;199097500;1882872 + 2772;19934;1010;1111;199097500;1902806 + 2773;19944;1010;1111;199097500;1902806 + 2774;19953;1010;1112;199097500;1922759 + 2775;19956;1010;1112;199097500;1922759 + 2776;19968;1010;1112;199097500;1922759 + 2777;19970;1010;1113;199097500;1942729 + 2778;19980;1010;1113;199097500;1942729 + 2779;19992;1010;1113;199097500;1942729 + 2780;19994;1010;1114;199097500;1962723 + 2781;20004;1010;1114;199097500;1962723 + 2782;20008;1010;1115;199097500;1982731 + 2783;20016;1010;1115;199097500;1982731 + 2784;20020;1010;1116;199097500;2002751 + 2785;20028;1010;1116;199097500;2002751 + 2786;20032;1010;1117;199097500;2022783 + 2787;20040;1010;1117;199097500;2022783 + 2788;20052;1010;1117;199097500;2022783 + 2789;20053;1010;1118;199097500;2042836 + 2790;20064;1010;1118;199097500;2042836 + 2791;20075;1010;1119;199097500;2062911 + 2792;20076;1010;1119;199097500;2062911 + 2793;20088;1010;1119;199097500;2062911 + 2794;20094;1010;1120;199097500;2083005 + 2795;20100;1010;1120;199097500;2083005 + 2796;20108;1010;1121;199097500;2103113 + 2797;20112;1010;1121;199097500;2103113 + 2798;20122;1010;1122;199097500;2123235 + 2799;20124;1010;1122;199097500;2123235 + 2800;20136;1010;1122;199097500;2123235 + 2801;20142;1010;1123;199097500;2143377 + 2802;20148;1010;1123;199097500;2143377 + 2803;20155;1010;1124;199097500;2163532 + 2804;20160;1010;1124;199097500;2163532 + 2805;20171;1010;1125;199097500;2183703 + 2806;20172;1010;1125;199097500;2183703 + 2807;20184;1010;1125;199097500;2183703 + 2808;20195;1010;1126;199097500;2203898 + 2809;20196;1010;1126;199097500;2203898 + 2810;20208;1010;1126;199097500;2203898 + 2811;20209;1010;1127;199097500;2224107 + 2812;20220;1010;1127;199097500;2224107 + 2813;20232;1020;1127;193391593;2041668 + 2814;20232;1030;1128;190282007;1877600 + 2815;20244;1030;1128;190282007;1877600 + 2816;20249;1030;1129;190282007;1897849 + 2817;20256;1030;1129;190282007;1897849 + 2818;20262;1030;1130;190282007;1918111 + 2819;20268;1030;1130;190282007;1918111 + 2820;20280;1030;1130;190282007;1918111 + 2821;20283;1030;1131;190282007;1938394 + 2822;20292;1030;1131;190282007;1938394 + 2823;20304;1030;1131;190282007;1938394 + 2824;20305;1030;1132;190282007;1958699 + 2825;20316;1030;1132;190282007;1958699 + 2826;20327;1030;1133;190282007;1979026 + 2827;20328;1030;1133;190282007;1979026 + 2828;20340;1030;1133;190282007;1979026 + 2829;20346;1030;1134;190282007;1999372 + 2830;20352;1030;1134;190282007;1999372 + 2831;20364;1030;1134;190282007;1999372 + 2832;20368;1030;1135;190282007;2019740 + 2833;20376;1030;1135;190282007;2019740 + 2834;20388;1030;1135;190282007;2019740 + 2835;20391;1030;1136;190282007;2040131 + 2836;20400;1030;1136;190282007;2040131 + 2837;20410;1030;1137;190282007;2060541 + 2838;20412;1030;1137;190282007;2060541 + 2839;20424;1030;1137;190282007;2060541 + 2840;20433;1030;1138;190282007;2080974 + 2841;20436;1030;1138;190282007;2080974 + 2842;20448;1030;1138;190282007;2080974 + 2843;20453;1030;1139;190282007;2101427 + 2844;20460;1030;1139;190282007;2101427 + 2845;20472;1030;1139;190282007;2101427 + 2846;20477;1030;1140;190282007;2121904 + 2847;20484;1030;1140;190282007;2121904 + 2848;20495;1030;1141;190282007;2142399 + 2849;20496;1030;1141;190282007;2142399 + 2850;20508;1030;1141;190282007;2142399 + 2851;20517;1040;1142;190568409;1976939 + 2852;20520;1040;1142;190568409;1976939 + 2853;20532;1040;1142;190568409;1976939 + 2854;20539;1040;1143;190568409;1997478 + 2855;20544;1040;1143;190568409;1997478 + 2856;20553;1040;1144;190568409;2018031 + 2857;20556;1040;1144;190568409;2018031 + 2858;20568;1040;1144;190568409;2018031 + 2859;20575;1040;1145;190568409;2038606 + 2860;20580;1040;1145;190568409;2038606 + 2861;20592;1040;1145;190568409;2038606 + 2862;20595;1040;1146;190568409;2059201 + 2863;20604;1040;1146;190568409;2059201 + 2864;20611;1040;1147;190568409;2079812 + 2865;20616;1040;1147;190568409;2079812 + 2866;20628;1040;1147;190568409;2079812 + 2867;20631;1050;1148;179231993;1912849 + 2868;20640;1060;1148;171153022;1723676 + 2869;20652;1060;1148;171153022;1723676 + 2870;20654;1060;1149;171153022;1744330 + 2871;20664;1060;1149;171153022;1744330 + 2872;20676;1060;1149;171153022;1744330 + 2873;20677;1060;1150;171153022;1765007 + 2874;20688;1060;1150;171153022;1765007 + 2875;20696;1060;1151;171153022;1785703 + 2876;20700;1060;1151;171153022;1785703 + 2877;20708;1060;1152;171153022;1806411 + 2878;20712;1060;1152;171153022;1806411 + 2879;20722;1060;1153;171153022;1827133 + 2880;20724;1060;1153;171153022;1827133 + 2881;20736;1060;1153;171153022;1827133 + 2882;20745;1060;1154;171153022;1847878 + 2883;20748;1060;1154;171153022;1847878 + 2884;20760;1060;1154;171153022;1847878 + 2885;20760;1060;1155;171153022;1868638 + 2886;20772;1060;1155;171153022;1868638 + 2887;20779;1060;1156;171153022;1889417 + 2888;20784;1060;1156;171153022;1889417 + 2889;20796;1060;1156;171153022;1889417 + 2890;20802;1060;1157;171153022;1910219 + 2891;20808;1060;1157;171153022;1910219 + 2892;20817;1060;1158;171153022;1931036 + 2893;20820;1060;1158;171153022;1931036 + 2894;20830;1060;1159;171153022;1951866 + 2895;20832;1060;1159;171153022;1951866 + 2896;20844;1060;1159;171153022;1951866 + 2897;20852;1060;1160;171153022;1972718 + 2898;20856;1060;1160;171153022;1972718 + 2899;20868;1060;1160;171153022;1972718 + 2900;20873;1060;1161;171153022;1993591 + 2901;20880;1060;1161;171153022;1993591 + 2902;20892;1060;1161;171153022;1993591 + 2903;20896;1060;1162;171153022;2014487 + 2904;20904;1060;1162;171153022;2014487 + 2905;20916;1060;1162;171153022;2014487 + 2906;20920;1060;1163;171153022;2035407 + 2907;20928;1060;1163;171153022;2035407 + 2908;20934;1060;1164;171153022;2056341 + 2909;20940;1060;1164;171153022;2056341 + 2910;20948;1060;1165;171153022;2077289 + 2911;20952;1060;1165;171153022;2077289 + 2912;20964;1060;1165;171153022;2077289 + 2913;20969;1060;1166;171153022;2098258 + 2914;20976;1060;1166;171153022;2098258 + 2915;20983;1060;1167;171153022;2119241 + 2916;20988;1060;1167;171153022;2119241 + 2917;21000;1060;1167;171153022;2119241 + 2918;21000;1060;1168;171153022;2140241 + 2919;21012;1060;1168;171153022;2140241 + 2920;21024;1060;1168;171153022;2140241 + 2921;21024;1060;1169;171153022;2161265 + 2922;21036;1060;1169;171153022;2161265 + 2923;21043;1060;1170;171153022;2182308 + 2924;21048;1060;1170;171153022;2182308 + 2925;21058;1060;1171;171153022;2203366 + 2926;21060;1060;1171;171153022;2203366 + 2927;21072;1060;1171;171153022;2203366 + 2928;21082;1060;1172;171153022;2224448 + 2929;21084;1060;1172;171153022;2224448 + 2930;21096;1060;1172;171153022;2224448 + 2931;21103;1060;1173;171153022;2245551 + 2932;21108;1060;1173;171153022;2245551 + 2933;21115;1060;1174;171153022;2266666 + 2934;21120;1060;1174;171153022;2266666 + 2935;21128;1060;1175;171153022;2287794 + 2936;21132;1060;1175;171153022;2287794 + 2937;21144;1060;1175;171153022;2287794 + 2938;21146;1070;1176;164671912;2118076 + 2939;21156;1070;1176;164671912;2118076 + 2940;21168;1070;1176;164671912;2118076 + 2941;21170;1070;1177;164671912;2139246 + 2942;21180;1070;1177;164671912;2139246 + 2943;21192;1070;1177;164671912;2139246 + 2944;21192;1070;1178;164671912;2160438 + 2945;21204;1070;1178;164671912;2160438 + 2946;21209;1070;1179;164671912;2181647 + 2947;21216;1070;1179;164671912;2181647 + 2948;21228;1070;1179;164671912;2181647 + 2949;21233;1070;1180;164671912;2202880 + 2950;21240;1070;1180;164671912;2202880 + 2951;21252;1070;1180;164671912;2202880 + 2952;21252;1070;1181;164671912;2224132 + 2953;21264;1070;1181;164671912;2224132 + 2954;21264;1070;1182;164671912;2245396 + 2955;21276;1070;1182;164671912;2245396 + 2956;21277;1070;1183;164671912;2266673 + 2957;21288;1070;1183;164671912;2266673 + 2958;21291;1070;1184;164671912;2287964 + 2959;21300;1070;1184;164671912;2287964 + 2960;21311;1070;1185;164671912;2309275 + 2961;21312;1070;1185;164671912;2309275 + 2962;21324;1070;1185;164671912;2309275 + 2963;21332;1070;1186;164671912;2330607 + 2964;21336;1070;1186;164671912;2330607 + 2965;21348;1070;1186;164671912;2330607 + 2966;21354;1070;1187;164671912;2351961 + 2967;21360;1070;1187;164671912;2351961 + 2968;21372;1070;1187;164671912;2351961 + 2969;21377;1070;1188;164671912;2373338 + 2970;21384;1070;1188;164671912;2373338 + 2971;21396;1070;1188;164671912;2373338 + 2972;21398;1070;1189;164671912;2394736 + 2973;21408;1070;1189;164671912;2394736 + 2974;21415;1070;1190;164671912;2416151 + 2975;21420;1070;1190;164671912;2416151 + 2976;21432;1070;1190;164671912;2416151 + 2977;21437;1070;1191;164671912;2437588 + 2978;21444;1070;1191;164671912;2437588 + 2979;21451;1070;1192;164671912;2459039 + 2980;21456;1070;1192;164671912;2459039 + 2981;21468;1070;1192;164671912;2459039 + 2982;21469;1070;1193;164671912;2480508 + 2983;21480;1070;1193;164671912;2480508 + 2984;21488;1070;1194;164671912;2501996 + 2985;21492;1070;1194;164671912;2501996 + 2986;21501;1070;1195;164671912;2523497 + 2987;21504;1070;1195;164671912;2523497 + 2988;21516;1070;1195;164671912;2523497 + 2989;21519;1070;1196;164671912;2545016 + 2990;21528;1070;1196;164671912;2545016 + 2991;21537;1070;1197;164671912;2566553 + 2992;21540;1070;1197;164671912;2566553 + 2993;21552;1070;1197;164671912;2566553 + 2994;21557;1070;1198;164671912;2588110 + 2995;21564;1070;1198;164671912;2588110 + 2996;21576;1070;1198;164671912;2588110 + 2997;21576;1070;1199;164671912;2609686 + 2998;21588;1070;1199;164671912;2609686 + 2999;21598;1070;1200;164671912;2631284 + 3000;21600;1070;1200;164671912;2631284 + 3001;21612;1070;1200;164671912;2631284 + 3002;21612;1070;1201;164671912;2652896 + 3003;21624;1070;1201;164671912;2652896 + 3004;21629;1090;1202;184181249;2287075 + 3005;21636;1090;1202;184181249;2287075 + 3006;21644;1090;1203;184181249;2308719 + 3007;21648;1090;1203;184181249;2308719 + 3008;21660;1090;1203;184181249;2308719 + 3009;21664;1090;1204;184181249;2330383 + 3010;21672;1090;1204;184181249;2330383 + 3011;21678;1090;1205;184181249;2352061 + 3012;21684;1090;1205;184181249;2352061 + 3013;21696;1090;1205;184181249;2352061 + 3014;21698;1100;1206;187159857;2177195 + 3015;21708;1100;1206;187159857;2177195 + 3016;21716;1100;1207;187159857;2198911 + 3017;21720;1100;1207;187159857;2198911 + 3018;21732;1100;1207;187159857;2198911 + 3019;21737;1100;1208;187159857;2220648 + 3020;21744;1100;1208;187159857;2220648 + 3021;21756;1100;1208;187159857;2220648 + 3022;21761;1100;1209;187159857;2242409 + 3023;21768;1100;1209;187159857;2242409 + 3024;21778;1100;1210;187159857;2264187 + 3025;21780;1100;1210;187159857;2264187 + 3026;21792;1100;1210;187159857;2264187 + 3027;21802;1100;1211;187159857;2285989 + 3028;21804;1100;1211;187159857;2285989 + 3029;21816;1100;1211;187159857;2285989 + 3030;21819;1100;1212;187159857;2307808 + 3031;21828;1100;1212;187159857;2307808 + 3032;21831;1100;1213;187159857;2329639 + 3033;21840;1100;1213;187159857;2329639 + 3034;21847;1100;1214;187159857;2351486 + 3035;21852;1100;1214;187159857;2351486 + 3036;21861;1100;1215;187159857;2373347 + 3037;21864;1100;1215;187159857;2373347 + 3038;21876;1100;1215;187159857;2373347 + 3039;21878;1100;1216;187159857;2395225 + 3040;21888;1100;1216;187159857;2395225 + 3041;21900;1100;1216;187159857;2395225 + 3042;21901;1100;1217;187159857;2417126 + 3043;21912;1100;1217;187159857;2417126 + 3044;21913;1100;1218;187159857;2439039 + 3045;21924;1100;1218;187159857;2439039 + 3046;21935;1100;1219;187159857;2460974 + 3047;21936;1100;1219;187159857;2460974 + 3048;21948;1100;1219;187159857;2460974 + 3049;21954;1100;1220;187159857;2482928 + 3050;21960;1100;1220;187159857;2482928 + 3051;21970;1100;1221;187159857;2504898 + 3052;21972;1100;1221;187159857;2504898 + 3053;21984;1100;1221;187159857;2504898 + 3054;21988;1100;1222;187159857;2526886 + 3055;21996;1100;1222;187159857;2526886 + 3056;22007;1100;1223;187159857;2548893 + 3057;22008;1100;1223;187159857;2548893 + 3058;22020;1100;1223;187159857;2548893 + 3059;22024;1100;1224;187159857;2570917 + 3060;22032;1100;1224;187159857;2570917 + 3061;22039;1100;1225;187159857;2592956 + 3062;22044;1100;1225;187159857;2592956 + 3063;22056;1100;1225;187159857;2592956 + 3064;22056;1100;1226;187159857;2615012 + 3065;22068;1100;1226;187159857;2615012 + 3066;22069;1100;1227;187159857;2637081 + 3067;22080;1100;1227;187159857;2637081 + 3068;22089;1100;1228;187159857;2659170 + 3069;22092;1100;1228;187159857;2659170 + 3070;22104;1100;1228;187159857;2659170 + 3071;22105;1100;1229;187159857;2681275 + 3072;22116;1100;1229;187159857;2681275 + 3073;22122;1100;1230;187159857;2703397 + 3074;22128;1100;1230;187159857;2703397 + 3075;22134;1100;1231;187159857;2725531 + 3076;22140;1100;1231;187159857;2725531 + 3077;22152;1100;1231;187159857;2725531 + 3078;22153;1100;1232;187159857;2747684 + 3079;22164;1100;1232;187159857;2747684 + 3080;22175;1110;1233;197210020;2571414 + 3081;22176;1110;1233;197210020;2571414 + 3082;22188;1120;1233;190218421;2371107 + 3083;22197;1140;1234;173456527;1987279 + 3084;22200;1140;1234;173456527;1987279 + 3085;22212;1140;1234;173456527;1987279 + 3086;22216;1140;1235;173456527;2009495 + 3087;22224;1140;1235;173456527;2009495 + 3088;22236;1140;1235;173456527;2009495 + 3089;22238;1140;1236;173456527;2031733 + 3090;22248;1140;1236;173456527;2031733 + 3091;22258;1140;1237;173456527;2053991 + 3092;22260;1140;1237;173456527;2053991 + 3093;22272;1140;1237;173456527;2053991 + 3094;22281;1140;1238;173456527;2076272 + 3095;22284;1140;1238;173456527;2076272 + 3096;22293;1140;1239;173456527;2098565 + 3097;22296;1140;1239;173456527;2098565 + 3098;22308;1140;1239;173456527;2098565 + 3099;22315;1140;1240;173456527;2120880 + 3100;22320;1140;1240;173456527;2120880 + 3101;22329;1140;1241;173456527;2143209 + 3102;22332;1140;1241;173456527;2143209 + 3103;22342;1140;1242;173456527;2165551 + 3104;22344;1140;1242;173456527;2165551 + 3105;22356;1140;1242;173456527;2165551 + 3106;22361;1140;1243;173456527;2187912 + 3107;22368;1140;1243;173456527;2187912 + 3108;22380;1140;1243;173456527;2187912 + 3109;22385;1140;1244;173456527;2210297 + 3110;22392;1140;1244;173456527;2210297 + 3111;22404;1140;1244;173456527;2210297 + 3112;22404;1140;1245;173456527;2232701 + 3113;22416;1140;1245;173456527;2232701 + 3114;22425;1140;1246;173456527;2255126 + 3115;22428;1140;1246;173456527;2255126 + 3116;22440;1140;1246;173456527;2255126 + 3117;22442;1140;1247;173456527;2277568 + 3118;22452;1140;1247;173456527;2277568 + 3119;22464;1140;1247;173456527;2277568 + 3120;22464;1140;1248;173456527;2300032 + 3121;22476;1140;1248;173456527;2300032 + 3122;22480;1140;1249;173456527;2322512 + 3123;22488;1140;1249;173456527;2322512 + 3124;22492;1140;1250;173456527;2345004 + 3125;22500;1140;1250;173456527;2345004 + 3126;22505;1140;1251;173456527;2367509 + 3127;22512;1140;1251;173456527;2367509 + 3128;22522;1150;1252;176026207;2183983 + 3129;22524;1150;1252;176026207;2183983 + 3130;22535;1150;1253;176026207;2206518 + 3131;22536;1150;1253;176026207;2206518 + 3132;22548;1150;1253;176026207;2206518 + 3133;22557;1150;1254;176026207;2229075 + 3134;22560;1150;1254;176026207;2229075 + 3135;22570;1150;1255;176026207;2251645 + 3136;22572;1150;1255;176026207;2251645 + 3137;22584;1150;1255;176026207;2251645 + 3138;22589;1150;1256;176026207;2274234 + 3139;22596;1150;1256;176026207;2274234 + 3140;22606;1150;1257;176026207;2296840 + 3141;22608;1150;1257;176026207;2296840 + 3142;22618;1150;1258;176026207;2319458 + 3143;22620;1150;1258;176026207;2319458 + 3144;22632;1160;1258;179531762;2111570 + 3145;22641;1160;1259;179531762;2134211 + 3146;22644;1160;1259;179531762;2134211 + 3147;22656;1160;1259;179531762;2134211 + 3148;22665;1160;1260;179531762;2156876 + 3149;22668;1160;1260;179531762;2156876 + 3150;22677;1160;1261;179531762;2179553 + 3151;22680;1160;1261;179531762;2179553 + 3152;22692;1160;1261;179531762;2179553 + 3153;22696;1160;1262;179531762;2202249 + 3154;22704;1160;1262;179531762;2202249 + 3155;22716;1160;1262;179531762;2202249 + 3156;22720;1160;1263;179531762;2224969 + 3157;22728;1160;1263;179531762;2224969 + 3158;22735;1160;1264;179531762;2247704 + 3159;22740;1160;1264;179531762;2247704 + 3160;22752;1160;1264;179531762;2247704 + 3161;22758;1160;1265;179531762;2270462 + 3162;22764;1160;1265;179531762;2270462 + 3163;22773;1160;1266;179531762;2293235 + 3164;22776;1160;1266;179531762;2293235 + 3165;22788;1160;1266;179531762;2293235 + 3166;22794;1160;1267;179531762;2316029 + 3167;22800;1160;1267;179531762;2316029 + 3168;22812;1160;1267;179531762;2316029 + 3169;22814;1160;1268;179531762;2338843 + 3170;22824;1160;1268;179531762;2338843 + 3171;22836;1160;1268;179531762;2338843 + 3172;22836;1160;1269;179531762;2361679 + 3173;22848;1160;1269;179531762;2361679 + 3174;22848;1160;1270;179531762;2384527 + 3175;22860;1160;1270;179531762;2384527 + 3176;22872;1160;1270;179531762;2384527 + 3177;22872;1160;1271;179531762;2407399 + 3178;22884;1160;1271;179531762;2407399 + 3179;22894;1160;1272;179531762;2430293 + 3180;22896;1160;1272;179531762;2430293 + 3181;22908;1160;1272;179531762;2430293 + 3182;22914;1170;1273;175879188;2243432 + 3183;22920;1170;1273;175879188;2243432 + 3184;22932;1170;1273;175879188;2243432 + 3185;22935;1170;1274;175879188;2266367 + 3186;22944;1170;1274;175879188;2266367 + 3187;22949;1170;1275;175879188;2289316 + 3188;22956;1170;1275;175879188;2289316 + 3189;22965;1170;1276;175879188;2312281 + 3190;22968;1170;1276;175879188;2312281 + 3191;22980;1170;1276;175879188;2312281 + 3192;22986;1170;1277;175879188;2335267 + 3193;22992;1170;1277;175879188;2335267 + 3194;23001;1170;1278;175879188;2358268 + 3195;23004;1170;1278;175879188;2358268 + 3196;23016;1170;1278;175879188;2358268 + 3197;23016;1170;1279;175879188;2381284 + 3198;23028;1170;1279;175879188;2381284 + 3199;23032;1170;1280;175879188;2404316 + 3200;23040;1170;1280;175879188;2404316 + 3201;23046;1170;1281;175879188;2427362 + 3202;23052;1170;1281;175879188;2427362 + 3203;23064;1170;1281;175879188;2427362 + 3204;23070;1180;1282;169870769;2238802 + 3205;23076;1180;1282;169870769;2238802 + 3206;23088;1180;1282;169870769;2238802 + 3207;23090;1180;1283;169870769;2261892 + 3208;23100;1180;1283;169870769;2261892 + 3209;23112;1180;1283;169870769;2261892 + 3210;23112;1180;1284;169870769;2285004 + 3211;23124;1180;1284;169870769;2285004 + 3212;23124;1180;1285;169870769;2308128 + 3213;23136;1180;1285;169870769;2308128 + 3214;23141;1180;1286;169870769;2331269 + 3215;23148;1180;1286;169870769;2331269 + 3216;23160;1180;1286;169870769;2331269 + 3217;23164;1180;1287;169870769;2354433 + 3218;23172;1180;1287;169870769;2354433 + 3219;23184;1180;1287;169870769;2354433 + 3220;23185;1180;1288;169870769;2377618 + 3221;23196;1180;1288;169870769;2377618 + 3222;23197;1180;1289;169870769;2400815 + 3223;23208;1180;1289;169870769;2400815 + 3224;23219;1180;1290;169870769;2424034 + 3225;23220;1180;1290;169870769;2424034 + 3226;23232;1180;1290;169870769;2424034 + 3227;23236;1180;1291;169870769;2447270 + 3228;23244;1180;1291;169870769;2447270 + 3229;23253;1180;1292;169870769;2470523 + 3230;23256;1180;1292;169870769;2470523 + 3231;23266;1180;1293;169870769;2493789 + 3232;23268;1180;1293;169870769;2493789 + 3233;23280;1180;1293;169870769;2493789 + 3234;23288;1180;1294;169870769;2517077 + 3235;23292;1180;1294;169870769;2517077 + 3236;23300;1180;1295;169870769;2540377 + 3237;23304;1180;1295;169870769;2540377 + 3238;23314;1180;1296;169870769;2563691 + 3239;23316;1180;1296;169870769;2563691 + 3240;23328;1180;1296;169870769;2563691 + 3241;23335;1180;1297;169870769;2587026 + 3242;23340;1180;1297;169870769;2587026 + 3243;23347;1180;1298;169870769;2610373 + 3244;23352;1180;1298;169870769;2610373 + 3245;23364;1180;1298;169870769;2610373 + 3246;23365;1180;1299;169870769;2633738 + 3247;23376;1180;1299;169870769;2633738 + 3248;23379;1190;1300;168541783;2443661 + 3249;23388;1190;1300;168541783;2443661 + 3250;23400;1190;1300;168541783;2443661 + 3251;23403;1190;1301;168541783;2467064 + 3252;23412;1190;1301;168541783;2467064 + 3253;23424;1200;1301;155160971;2251756 + 3254;23427;1200;1302;155160971;2275183 + 3255;23436;1200;1302;155160971;2275183 + 3256;23448;1200;1302;155160971;2275183 + 3257;23448;1200;1303;155160971;2298631 + 3258;23460;1200;1303;155160971;2298631 + 3259;23466;1200;1304;155160971;2322097 + 3260;23472;1200;1304;155160971;2322097 + 3261;23481;1200;1305;155160971;2345578 + 3262;23484;1200;1305;155160971;2345578 + 3263;23496;1200;1305;155160971;2345578 + 3264;23503;1200;1306;155160971;2369081 + 3265;23508;1200;1306;155160971;2369081 + 3266;23520;1200;1306;155160971;2369081 + 3267;23522;1200;1307;155160971;2392603 + 3268;23532;1200;1307;155160971;2392603 + 3269;23539;1200;1308;155160971;2416142 + 3270;23544;1200;1308;155160971;2416142 + 3271;23551;1200;1309;155160971;2439693 + 3272;23556;1200;1309;155160971;2439693 + 3273;23568;1200;1309;155160971;2439693 + 3274;23571;1200;1310;155160971;2463264 + 3275;23580;1200;1310;155160971;2463264 + 3276;23585;1200;1311;155160971;2486849 + 3277;23592;1200;1311;155160971;2486849 + 3278;23604;1200;1311;155160971;2486849 + 3279;23606;1200;1312;155160971;2510455 + 3280;23616;1200;1312;155160971;2510455 + 3281;23619;1200;1313;155160971;2534074 + 3282;23628;1200;1313;155160971;2534074 + 3283;23640;1200;1313;155160971;2534074 + 3284;23640;1200;1314;155160971;2557714 + 3285;23652;1200;1314;155160971;2557714 + 3286;23661;1200;1315;155160971;2581375 + 3287;23664;1200;1315;155160971;2581375 + 3288;23676;1200;1315;155160971;2581375 + 3289;23683;1200;1316;155160971;2605058 + 3290;23688;1200;1316;155160971;2605058 + 3291;23700;1200;1316;155160971;2605058 + 3292;23705;1200;1317;155160971;2628763 + 3293;23712;1200;1317;155160971;2628763 + 3294;23718;1200;1318;155160971;2652481 + 3295;23724;1200;1318;155160971;2652481 + 3296;23732;1200;1319;155160971;2676213 + 3297;23736;1200;1319;155160971;2676213 + 3298;23747;1200;1320;155160971;2699960 + 3299;23748;1200;1320;155160971;2699960 + 3300;23760;1200;1320;155160971;2699960 + 3301;23766;1200;1321;155160971;2723726 + 3302;23772;1200;1321;155160971;2723726 + 3303;23784;1200;1321;155160971;2723726 + 3304;23786;1200;1322;155160971;2747512 + 3305;23796;1200;1322;155160971;2747512 + 3306;23798;1200;1323;155160971;2771310 + 3307;23808;1200;1323;155160971;2771310 + 3308;23810;1200;1324;155160971;2795120 + 3309;23820;1200;1324;155160971;2795120 + 3310;23828;1200;1325;155160971;2818948 + 3311;23832;1200;1325;155160971;2818948 + 3312;23840;1200;1326;155160971;2842788 + 3313;23844;1200;1326;155160971;2842788 + 3314;23855;1200;1327;155160971;2866643 + 3315;23856;1200;1327;155160971;2866643 + 3316;23868;1200;1327;155160971;2866643 + 3317;23875;1200;1328;155160971;2890518 + 3318;23880;1200;1328;155160971;2890518 + 3319;23892;1200;1328;155160971;2890518 + 3320;23898;1200;1329;155160971;2914416 + 3321;23904;1200;1329;155160971;2914416 + 3322;23914;1200;1330;155160971;2938330 + 3323;23916;1200;1330;155160971;2938330 + 3324;23928;1200;1330;155160971;2938330 + 3325;23938;1200;1331;155160971;2962268 + 3326;23940;1200;1331;155160971;2962268 + 3327;23952;1200;1331;155160971;2962268 + 3328;23955;1210;1332;164177319;2769116 + 3329;23964;1220;1332;150211352;2550207 + 3330;23973;1220;1333;150211352;2574180 + 3331;23976;1220;1333;150211352;2574180 + 3332;23988;1220;1333;150211352;2574180 + 3333;23988;1220;1334;150211352;2598168 + 3334;24000;1220;1334;150211352;2598168 + 3335;24000;1220;1335;150211352;2622168 + 3336;24012;1220;1335;150211352;2622168 + 3337;24012;1220;1336;150211352;2646180 + 3338;24024;1220;1336;150211352;2646180 + 3339;24025;1220;1337;150211352;2670205 + 3340;24036;1220;1337;150211352;2670205 + 3341;24048;1220;1337;150211352;2670205 + 3342;24049;1220;1338;150211352;2694254 + 3343;24060;1220;1338;150211352;2694254 + 3344;24068;1220;1339;150211352;2718322 + 3345;24072;1220;1339;150211352;2718322 + 3346;24084;1220;1339;150211352;2718322 + 3347;24086;1220;1340;150211352;2742408 + 3348;24096;1220;1340;150211352;2742408 + 3349;24108;1220;1340;150211352;2742408 + 3350;24108;1220;1341;150211352;2766516 + 3351;24120;1220;1341;150211352;2766516 + 3352;24131;1220;1342;150211352;2790647 + 3353;24132;1220;1342;150211352;2790647 + 3354;24144;1220;1342;150211352;2790647 + 3355;24146;1220;1343;150211352;2814793 + 3356;24156;1220;1343;150211352;2814793 + 3357;24168;1220;1343;150211352;2814793 + 3358;24170;1220;1344;150211352;2838963 + 3359;24180;1220;1344;150211352;2838963 + 3360;24183;1220;1345;150211352;2863146 + 3361;24192;1220;1345;150211352;2863146 + 3362;24202;1220;1346;150211352;2887348 + 3363;24204;1220;1346;150211352;2887348 + 3364;24216;1220;1346;150211352;2887348 + 3365;24218;1220;1347;150211352;2911566 + 3366;24228;1220;1347;150211352;2911566 + 3367;24230;1220;1348;150211352;2935796 + 3368;24240;1220;1348;150211352;2935796 + 3369;24248;1220;1349;150211352;2960044 + 3370;24252;1220;1349;150211352;2960044 + 3371;24264;1220;1349;150211352;2960044 + 3372;24269;1220;1350;150211352;2984313 + 3373;24276;1220;1350;150211352;2984313 + 3374;24283;1220;1351;150211352;3008596 + 3375;24288;1220;1351;150211352;3008596 + 3376;24300;1220;1351;150211352;3008596 + 3377;24303;1220;1352;150211352;3032899 + 3378;24312;1220;1352;150211352;3032899 + 3379;24320;1220;1353;150211352;3057219 + 3380;24324;1220;1353;150211352;3057219 + 3381;24336;1220;1353;150211352;3057219 + 3382;24342;1220;1354;150211352;3081561 + 3383;24348;1220;1354;150211352;3081561 + 3384;24357;1220;1355;150211352;3105918 + 3385;24360;1220;1355;150211352;3105918 + 3386;24372;1220;1355;150211352;3105918 + 3387;24380;1220;1356;150211352;3130298 + 3388;24384;1220;1356;150211352;3130298 + 3389;24396;1220;1356;150211352;3130298 + 3390;24403;1220;1357;150211352;3154701 + 3391;24408;1220;1357;150211352;3154701 + 3392;24419;1240;1358;156986680;2736032 + 3393;24420;1240;1358;156986680;2736032 + 3394;24432;1240;1358;156986680;2736032 + 3395;24434;1240;1359;156986680;2760466 + 3396;24444;1240;1359;156986680;2760466 + 3397;24455;1240;1360;156986680;2784921 + 3398;24456;1240;1360;156986680;2784921 + 3399;24468;1240;1360;156986680;2784921 + 3400;24477;1240;1361;156986680;2809398 + 3401;24480;1240;1361;156986680;2809398 + 3402;24492;1240;1361;156986680;2809398 + 3403;24500;1240;1362;156986680;2833898 + 3404;24504;1240;1362;156986680;2833898 + 3405;24516;1240;1362;156986680;2833898 + 3406;24518;1240;1363;156986680;2858416 + 3407;24528;1240;1363;156986680;2858416 + 3408;24531;1240;1364;156986680;2882947 + 3409;24540;1240;1364;156986680;2882947 + 3410;24544;1240;1365;156986680;2907491 + 3411;24552;1240;1365;156986680;2907491 + 3412;24558;1240;1366;156986680;2932049 + 3413;24564;1240;1366;156986680;2932049 + 3414;24576;1240;1366;156986680;2932049 + 3415;24581;1240;1367;156986680;2956630 + 3416;24588;1240;1367;156986680;2956630 + 3417;24597;1240;1368;156986680;2981227 + 3418;24600;1240;1368;156986680;2981227 + 3419;24611;1240;1369;156986680;3005838 + 3420;24612;1240;1369;156986680;3005838 + 3421;24624;1240;1369;156986680;3005838 + 3422;24631;1240;1370;156986680;3030469 + 3423;24636;1240;1370;156986680;3030469 + 3424;24648;1240;1370;156986680;3030469 + 3425;24651;1240;1371;156986680;3055120 + 3426;24660;1240;1371;156986680;3055120 + 3427;24663;1240;1372;156986680;3079783 + 3428;24672;1240;1372;156986680;3079783 + 3429;24683;1240;1373;156986680;3104466 + 3430;24684;1240;1373;156986680;3104466 + 3431;24696;1240;1373;156986680;3104466 + 3432;24705;1240;1374;156986680;3129171 + 3433;24708;1240;1374;156986680;3129171 + 3434;24720;1240;1374;156986680;3129171 + 3435;24729;1250;1375;162784026;2929600 + 3436;24732;1250;1375;162784026;2929600 + 3437;24744;1260;1375;172791112;2703620 + 3438;24753;1260;1376;172791112;2728373 + 3439;24756;1260;1376;172791112;2728373 + 3440;24768;1260;1376;172791112;2728373 + 3441;24769;1260;1377;172791112;2753142 + 3442;24780;1260;1377;172791112;2753142 + 3443;24787;1260;1378;172791112;2777929 + 3444;24792;1260;1378;172791112;2777929 + 3445;24803;1260;1379;172791112;2802732 + 3446;24804;1260;1379;172791112;2802732 + 3447;24816;1260;1379;172791112;2802732 + 3448;24819;1260;1380;172791112;2827551 + 3449;24828;1260;1380;172791112;2827551 + 3450;24839;1260;1381;172791112;2852390 + 3451;24840;1260;1381;172791112;2852390 + 3452;24851;1260;1382;172791112;2877241 + 3453;24852;1260;1382;172791112;2877241 + 3454;24864;1260;1382;172791112;2877241 + 3455;24869;1260;1383;172791112;2902110 + 3456;24876;1260;1383;172791112;2902110 + 3457;24882;1260;1384;172791112;2926992 + 3458;24888;1260;1384;172791112;2926992 + 3459;24900;1260;1384;172791112;2926992 + 3460;24902;1260;1385;172791112;2951894 + 3461;24912;1260;1385;172791112;2951894 + 3462;24914;1260;1386;172791112;2976808 + 3463;24924;1260;1386;172791112;2976808 + 3464;24933;1270;1387;178365490;2773895 + 3465;24936;1270;1387;178365490;2773895 + 3466;24948;1280;1387;174037232;2544157 + 3467;24952;1280;1388;174037232;2569109 + 3468;24960;1280;1388;174037232;2569109 + 3469;24971;1280;1389;174037232;2594080 + 3470;24972;1280;1389;174037232;2594080 + 3471;24984;1280;1389;174037232;2594080 + 3472;24986;1280;1390;174037232;2619066 + 3473;24996;1280;1390;174037232;2619066 + 3474;25006;1280;1391;174037232;2644072 + 3475;25008;1280;1391;174037232;2644072 + 3476;25020;1280;1391;174037232;2644072 + 3477;25024;1280;1392;174037232;2669096 + 3478;25032;1280;1392;174037232;2669096 + 3479;25044;1280;1392;174037232;2669096 + 3480;25047;1280;1393;174037232;2694143 + 3481;25056;1280;1393;174037232;2694143 + 3482;25068;1280;1393;174037232;2694143 + 3483;25070;1280;1394;174037232;2719213 + 3484;25080;1280;1394;174037232;2719213 + 3485;25085;1280;1395;174037232;2744298 + 3486;25092;1280;1395;174037232;2744298 + 3487;25103;1280;1396;174037232;2769401 + 3488;25104;1280;1396;174037232;2769401 + 3489;25116;1280;1396;174037232;2769401 + 3490;25116;1280;1397;174037232;2794517 + 3491;25128;1280;1397;174037232;2794517 + 3492;25135;1280;1398;174037232;2819652 + 3493;25140;1280;1398;174037232;2819652 + 3494;25152;1290;1398;165748646;2588114 + 3495;25158;1290;1399;165748646;2613272 + 3496;25164;1290;1399;165748646;2613272 + 3497;25173;1290;1400;165748646;2638445 + 3498;25176;1290;1400;165748646;2638445 + 3499;25188;1290;1400;165748646;2638445 + 3500;25195;1290;1401;165748646;2663640 + 3501;25200;1290;1401;165748646;2663640 + 3502;25209;1290;1402;165748646;2688849 + 3503;25212;1290;1402;165748646;2688849 + 3504;25224;1290;1402;165748646;2688849 + 3505;25225;1290;1403;165748646;2714074 + 3506;25236;1290;1403;165748646;2714074 + 3507;25238;1290;1404;165748646;2739312 + 3508;25248;1290;1404;165748646;2739312 + 3509;25260;1290;1404;165748646;2739312 + 3510;25262;1290;1405;165748646;2764574 + 3511;25272;1290;1405;165748646;2764574 + 3512;25281;1290;1406;165748646;2789855 + 3513;25284;1290;1406;165748646;2789855 + 3514;25296;1290;1406;165748646;2789855 + 3515;25300;1290;1407;165748646;2815155 + 3516;25308;1290;1407;165748646;2815155 + 3517;25312;1290;1408;165748646;2840467 + 3518;25320;1290;1408;165748646;2840467 + 3519;25332;1290;1408;165748646;2840467 + 3520;25335;1290;1409;165748646;2865802 + 3521;25344;1290;1409;165748646;2865802 + 3522;25356;1290;1409;165748646;2865802 + 3523;25356;1290;1410;165748646;2891158 + 3524;25368;1290;1410;165748646;2891158 + 3525;25375;1290;1411;165748646;2916533 + 3526;25380;1290;1411;165748646;2916533 + 3527;25392;1290;1411;165748646;2916533 + 3528;25399;1290;1412;165748646;2941932 + 3529;25404;1290;1412;165748646;2941932 + 3530;25416;1290;1412;165748646;2941932 + 3531;25419;1290;1413;165748646;2967351 + 3532;25428;1290;1413;165748646;2967351 + 3533;25435;1290;1414;165748646;2992786 + 3534;25440;1290;1414;165748646;2992786 + 3535;25452;1290;1414;165748646;2992786 + 3536;25459;1290;1415;165748646;3018245 + 3537;25464;1290;1415;165748646;3018245 + 3538;25475;1290;1416;165748646;3043720 + 3539;25476;1290;1416;165748646;3043720 + 3540;25488;1290;1416;165748646;3043720 + 3541;25497;1290;1417;165748646;3069217 + 3542;25500;1290;1417;165748646;3069217 + 3543;25512;1290;1417;165748646;3069217 + 3544;25520;1290;1418;165748646;3094737 + 3545;25524;1290;1418;165748646;3094737 + 3546;25532;1290;1419;165748646;3120269 + 3547;25536;1290;1419;165748646;3120269 + 3548;25548;1290;1419;165748646;3120269 + 3549;25551;1290;1420;165748646;3145820 + 3550;25560;1290;1420;165748646;3145820 + 3551;25571;1290;1421;165748646;3171391 + 3552;25572;1290;1421;165748646;3171391 + 3553;25583;1290;1422;165748646;3196974 + 3554;25584;1290;1422;165748646;3196974 + 3555;25596;1290;1422;165748646;3196974 + 3556;25604;1290;1423;165748646;3222578 + 3557;25608;1290;1423;165748646;3222578 + 3558;25620;1290;1423;165748646;3222578 + 3559;25622;1290;1424;165748646;3248200 + 3560;25632;1290;1424;165748646;3248200 + 3561;25644;1290;1424;165748646;3248200 + 3562;25645;1290;1425;165748646;3273845 + 3563;25656;1290;1425;165748646;3273845 + 3564;25660;1290;1426;165748646;3299505 + 3565;25668;1290;1426;165748646;3299505 + 3566;25677;1290;1427;165748646;3325182 + 3567;25680;1290;1427;165748646;3325182 + 3568;25692;1290;1427;165748646;3325182 + 3569;25692;1300;1428;181613879;3117624 + 3570;25704;1300;1428;181613879;3117624 + 3571;25705;1310;1429;176173349;2908236 + 3572;25716;1310;1429;176173349;2908236 + 3573;25720;1310;1430;176173349;2933956 + 3574;25728;1310;1430;176173349;2933956 + 3575;25734;1310;1431;176173349;2959690 + 3576;25740;1310;1431;176173349;2959690 + 3577;25752;1310;1431;176173349;2959690 + 3578;25758;1310;1432;176173349;2985448 + 3579;25764;1310;1432;176173349;2985448 + 3580;25776;1310;1432;176173349;2985448 + 3581;25780;1310;1433;176173349;3011228 + 3582;25788;1310;1433;176173349;3011228 + 3583;25798;1310;1434;176173349;3037026 + 3584;25800;1310;1434;176173349;3037026 + 3585;25812;1310;1434;176173349;3037026 + 3586;25813;1310;1435;176173349;3062839 + 3587;25824;1310;1435;176173349;3062839 + 3588;25827;1310;1436;176173349;3088666 + 3589;25836;1310;1436;176173349;3088666 + 3590;25843;1310;1437;176173349;3114509 + 3591;25848;1310;1437;176173349;3114509 + 3592;25860;1310;1437;176173349;3114509 + 3593;25866;1310;1438;176173349;3140375 + 3594;25872;1310;1438;176173349;3140375 + 3595;25884;1310;1438;176173349;3140375 + 3596;25887;1310;1439;176173349;3166262 + 3597;25896;1310;1439;176173349;3166262 + 3598;25899;1320;1440;191302283;2955284 + 3599;25908;1330;1440;185416531;2716742 + 3600;25912;1330;1441;185416531;2742654 + 3601;25920;1330;1441;185416531;2742654 + 3602;25926;1330;1442;185416531;2768580 + 3603;25932;1330;1442;185416531;2768580 + 3604;25943;1330;1443;185416531;2794523 + 3605;25944;1330;1443;185416531;2794523 + 3606;25956;1330;1443;185416531;2794523 + 3607;25960;1330;1444;185416531;2820483 + 3608;25968;1330;1444;185416531;2820483 + 3609;25973;1330;1445;185416531;2846456 + 3610;25980;1330;1445;185416531;2846456 + 3611;25991;1330;1446;185416531;2872447 + 3612;25992;1330;1446;185416531;2872447 + 3613;26004;1330;1446;185416531;2872447 + 3614;26008;1330;1447;185416531;2898455 + 3615;26016;1330;1447;185416531;2898455 + 3616;26021;1330;1448;185416531;2924476 + 3617;26028;1330;1448;185416531;2924476 + 3618;26035;1330;1449;185416531;2950511 + 3619;26040;1330;1449;185416531;2950511 + 3620;26049;1330;1450;185416531;2976560 + 3621;26052;1330;1450;185416531;2976560 + 3622;26064;1330;1450;185416531;2976560 + 3623;26064;1330;1451;185416531;3002624 + 3624;26076;1330;1451;185416531;3002624 + 3625;26079;1330;1452;185416531;3028703 + 3626;26088;1330;1452;185416531;3028703 + 3627;26096;1330;1453;185416531;3054799 + 3628;26100;1330;1453;185416531;3054799 + 3629;26112;1330;1453;185416531;3054799 + 3630;26118;1330;1454;185416531;3080917 + 3631;26124;1330;1454;185416531;3080917 + 3632;26136;1330;1454;185416531;3080917 + 3633;26136;1330;1455;185416531;3107053 + 3634;26148;1330;1455;185416531;3107053 + 3635;26152;1330;1456;185416531;3133205 + 3636;26160;1330;1456;185416531;3133205 + 3637;26172;1330;1456;185416531;3133205 + 3638;26172;1330;1457;185416531;3159377 + 3639;26184;1330;1457;185416531;3159377 + 3640;26194;1330;1458;185416531;3185571 + 3641;26196;1330;1458;185416531;3185571 + 3642;26208;1340;1458;180856714;2945307 + 3643;26212;1350;1459;176173349;2729439 + 3644;26220;1350;1459;176173349;2729439 + 3645;26224;1360;1460;173920935;2511773 + 3646;26232;1360;1460;173920935;2511773 + 3647;26244;1360;1460;173920935;2511773 + 3648;26245;1360;1461;173920935;2538018 + 3649;26256;1360;1461;173920935;2538018 + 3650;26266;1360;1462;173920935;2564284 + 3651;26268;1360;1462;173920935;2564284 + 3652;26280;1360;1462;173920935;2564284 + 3653;26283;1360;1463;173920935;2590567 + 3654;26292;1360;1463;173920935;2590567 + 3655;26304;1360;1463;173920935;2590567 + 3656;26305;1360;1464;173920935;2616872 + 3657;26316;1360;1464;173920935;2616872 + 3658;26322;1360;1465;173920935;2643194 + 3659;26328;1360;1465;173920935;2643194 + 3660;26340;1360;1465;173920935;2643194 + 3661;26341;1360;1466;173920935;2669535 + 3662;26352;1360;1466;173920935;2669535 + 3663;26363;1360;1467;173920935;2695898 + 3664;26364;1360;1467;173920935;2695898 + 3665;26376;1360;1467;173920935;2695898 + 3666;26380;1360;1468;173920935;2722278 + 3667;26388;1360;1468;173920935;2722278 + 3668;26396;1360;1469;173920935;2748674 + 3669;26400;1360;1469;173920935;2748674 + 3670;26409;1360;1470;173920935;2775083 + 3671;26412;1360;1470;173920935;2775083 + 3672;26424;1360;1470;173920935;2775083 + 3673;26428;1360;1471;173920935;2801511 + 3674;26436;1360;1471;173920935;2801511 + 3675;26446;1360;1472;173920935;2827957 + 3676;26448;1360;1472;173920935;2827957 + 3677;26458;1360;1473;173920935;2854415 + 3678;26460;1360;1473;173920935;2854415 + 3679;26472;1360;1473;173920935;2854415 + 3680;26474;1360;1474;173920935;2880889 + 3681;26484;1360;1474;173920935;2880889 + 3682;26489;1360;1475;173920935;2907378 + 3683;26496;1360;1475;173920935;2907378 + 3684;26508;1360;1475;173920935;2907378 + 3685;26510;1360;1476;173920935;2933888 + 3686;26520;1360;1476;173920935;2933888 + 3687;26522;1360;1477;173920935;2960410 + 3688;26532;1360;1477;173920935;2960410 + 3689;26544;1360;1477;173920935;2960410 + 3690;26544;1360;1478;173920935;2986954 + 3691;26556;1360;1478;173920935;2986954 + 3692;26566;1360;1479;173920935;3013520 + 3693;26568;1360;1479;173920935;3013520 + 3694;26580;1360;1479;173920935;3013520 + 3695;26589;1360;1480;173920935;3040109 + 3696;26592;1360;1480;173920935;3040109 + 3697;26601;1360;1481;173920935;3066710 + 3698;26604;1360;1481;173920935;3066710 + 3699;26616;1360;1481;173920935;3066710 + 3700;26617;1360;1482;173920935;3093327 + 3701;26628;1360;1482;173920935;3093327 + 3702;26637;1360;1483;173920935;3119964 + 3703;26640;1360;1483;173920935;3119964 + 3704;26652;1360;1483;173920935;3119964 + 3705;26652;1370;1484;173022271;2900894 + 3706;26664;1370;1484;173022271;2900894 + 3707;26674;1370;1485;173022271;2927568 + 3708;26676;1370;1485;173022271;2927568 + 3709;26688;1370;1485;173022271;2927568 + 3710;26697;1370;1486;173022271;2954265 + 3711;26700;1370;1486;173022271;2954265 + 3712;26712;1370;1486;173022271;2954265 + 3713;26720;1370;1487;173022271;2980985 + 3714;26724;1370;1487;173022271;2980985 + 3715;26736;1370;1487;173022271;2980985 + 3716;26736;1370;1488;173022271;3007721 + 3717;26748;1370;1488;173022271;3007721 + 3718;26754;1370;1489;173022271;3034475 + 3719;26760;1370;1489;173022271;3034475 + 3720;26770;1370;1490;173022271;3061245 + 3721;26772;1370;1490;173022271;3061245 + 3722;26783;1370;1491;173022271;3088028 + 3723;26784;1370;1491;173022271;3088028 + 3724;26796;1370;1491;173022271;3088028 + 3725;26801;1370;1492;173022271;3114829 + 3726;26808;1370;1492;173022271;3114829 + 3727;26820;1370;1492;173022271;3114829 + 3728;26821;1370;1493;173022271;3141650 + 3729;26832;1370;1493;173022271;3141650 + 3730;26839;1370;1494;173022271;3168489 + 3731;26844;1370;1494;173022271;3168489 + 3732;26856;1370;1494;173022271;3168489 + 3733;26860;1370;1495;173022271;3195349 + 3734;26868;1370;1495;173022271;3195349 + 3735;26875;1370;1496;173022271;3222224 + 3736;26880;1370;1496;173022271;3222224 + 3737;26892;1370;1496;173022271;3222224 + 3738;26895;1370;1497;173022271;3249119 + 3739;26904;1370;1497;173022271;3249119 + 3740;26915;1370;1498;173022271;3276034 + 3741;26916;1370;1498;173022271;3276034 + 3742;26928;1370;1498;173022271;3276034 + 3743;26932;1370;1499;173022271;3302966 + 3744;26940;1370;1499;173022271;3302966 + 3745;26948;1370;1500;173022271;3329914 + 3746;26952;1370;1500;173022271;3329914 + 3747;26962;1370;1501;173022271;3356876 + 3748;26964;1370;1501;173022271;3356876 + 3749;26976;1370;1501;173022271;3356876 + 3750;26985;1370;1502;173022271;3383861 + 3751;26988;1370;1502;173022271;3383861 + 3752;27000;1370;1502;173022271;3383861 + 3753;27001;1370;1503;173022271;3410862 + 3754;27012;1370;1503;173022271;3410862 + 3755;27018;1370;1504;173022271;3437880 + 3756;27024;1370;1504;173022271;3437880 + 3757;27036;1370;1504;173022271;3437880 + 3758;27038;1380;1505;186753701;3217368 + 3759;27048;1390;1505;179351840;2968102 + 3760;27051;1390;1506;179351840;2995153 + 3761;27060;1390;1506;179351840;2995153 + 3762;27072;1390;1506;179351840;2995153 + 3763;27073;1390;1507;179351840;3022226 + 3764;27084;1390;1507;179351840;3022226 + 3765;27086;1390;1508;179351840;3049312 + 3766;27096;1390;1508;179351840;3049312 + 3767;27105;1390;1509;179351840;3076417 + 3768;27108;1390;1509;179351840;3076417 + 3769;27120;1390;1509;179351840;3076417 + 3770;27121;1390;1510;179351840;3103538 + 3771;27132;1390;1510;179351840;3103538 + 3772;27144;1390;1510;179351840;3103538 + 3773;27145;1390;1511;179351840;3130683 + 3774;27156;1390;1511;179351840;3130683 + 3775;27159;1390;1512;179351840;3157842 + 3776;27168;1390;1512;179351840;3157842 + 3777;27174;1390;1513;179351840;3185016 + 3778;27180;1390;1513;179351840;3185016 + 3779;27192;1390;1513;179351840;3185016 + 3780;27194;1390;1514;179351840;3212210 + 3781;27204;1390;1514;179351840;3212210 + 3782;27209;1390;1515;179351840;3239419 + 3783;27216;1390;1515;179351840;3239419 + 3784;27221;1390;1516;179351840;3266640 + 3785;27228;1390;1516;179351840;3266640 + 3786;27240;1390;1516;179351840;3266640 + 3787;27242;1400;1517;175321633;3042776 + 3788;27252;1400;1517;175321633;3042776 + 3789;27255;1400;1518;175321633;3070031 + 3790;27264;1400;1518;175321633;3070031 + 3791;27276;1400;1518;175321633;3070031 + 3792;27276;1400;1519;175321633;3097307 + 3793;27288;1400;1519;175321633;3097307 + 3794;27293;1400;1520;175321633;3124600 + 3795;27300;1400;1520;175321633;3124600 + 3796;27307;1400;1521;175321633;3151907 + 3797;27312;1400;1521;175321633;3151907 + 3798;27320;1400;1522;175321633;3179227 + 3799;27324;1400;1522;175321633;3179227 + 3800;27335;1400;1523;175321633;3206562 + 3801;27336;1400;1523;175321633;3206562 + 3802;27348;1400;1523;175321633;3206562 + 3803;27354;1400;1524;175321633;3233916 + 3804;27360;1400;1524;175321633;3233916 + 3805;27372;1400;1524;175321633;3233916 + 3806;27376;1400;1525;175321633;3261292 + 3807;27384;1400;1525;175321633;3261292 + 3808;27395;1400;1526;175321633;3288687 + 3809;27396;1400;1526;175321633;3288687 + 3810;27408;1400;1526;175321633;3288687 + 3811;27412;1400;1527;175321633;3316099 + 3812;27420;1400;1527;175321633;3316099 + 3813;27425;1400;1528;175321633;3343524 + 3814;27432;1400;1528;175321633;3343524 + 3815;27444;1400;1528;175321633;3343524 + 3816;27447;1400;1529;175321633;3370971 + 3817;27456;1400;1529;175321633;3370971 + 3818;27465;1400;1530;175321633;3398436 + 3819;27468;1400;1530;175321633;3398436 + 3820;27480;1400;1530;175321633;3398436 + 3821;27487;1400;1531;175321633;3425923 + 3822;27492;1400;1531;175321633;3425923 + 3823;27504;1400;1531;175321633;3425923 + 3824;27507;1400;1532;175321633;3453430 + 3825;27516;1400;1532;175321633;3453430 + 3826;27528;1400;1532;175321633;3453430 + 3827;27531;1400;1533;175321633;3480961 + 3828;27540;1400;1533;175321633;3480961 + 3829;27552;1400;1533;175321633;3480961 + 3830;27553;1400;1534;175321633;3508514 + 3831;27564;1400;1534;175321633;3508514 + 3832;27570;1400;1535;175321633;3536084 + 3833;27576;1400;1535;175321633;3536084 + 3834;27588;1400;1535;175321633;3536084 + 3835;27591;1400;1536;175321633;3563675 + 3836;27600;1400;1536;175321633;3563675 + 3837;27608;1400;1537;175321633;3591283 + 3838;27612;1400;1537;175321633;3591283 + 3839;27623;1400;1538;175321633;3618906 + 3840;27624;1400;1538;175321633;3618906 + 3841;27636;1400;1538;175321633;3618906 + 3842;27636;1400;1539;175321633;3646542 + 3843;27648;1400;1539;175321633;3646542 + 3844;27658;1410;1540;186161673;3421307 + 3845;27660;1410;1540;186161673;3421307 + 3846;27672;1410;1540;186161673;3421307 + 3847;27681;1410;1541;186161673;3448988 + 3848;27684;1410;1541;186161673;3448988 + 3849;27696;1410;1541;186161673;3448988 + 3850;27705;1420;1542;185416531;3221835 + 3851;27708;1430;1542;180072610;2965193 + 3852;27720;1430;1542;180072610;2965193 + 3853;27728;1440;1543;171410632;2734538 + 3854;27732;1440;1543;171410632;2734538 + 3855;27744;1440;1543;171410632;2734538 + 3856;27747;1440;1544;171410632;2762285 + 3857;27756;1440;1544;171410632;2762285 + 3858;27759;1440;1545;171410632;2790044 + 3859;27768;1440;1545;171410632;2790044 + 3860;27780;1440;1545;171410632;2790044 + 3861;27780;1440;1546;171410632;2817824 + 3862;27792;1440;1546;171410632;2817824 + 3863;27803;1440;1547;171410632;2845627 + 3864;27804;1440;1547;171410632;2845627 + 3865;27816;1440;1547;171410632;2845627 + 3866;27819;1440;1548;171410632;2873446 + 3867;27828;1440;1548;171410632;2873446 + 3868;27840;1440;1548;171410632;2873446 + 3869;27843;1440;1549;171410632;2901289 + 3870;27852;1440;1549;171410632;2901289 + 3871;27864;1440;1549;171410632;2901289 + 3872;27864;1440;1550;171410632;2929153 + 3873;27876;1440;1550;171410632;2929153 + 3874;27885;1440;1551;171410632;2957038 + 3875;27888;1440;1551;171410632;2957038 + 3876;27897;1440;1552;171410632;2984935 + 3877;27900;1440;1552;171410632;2984935 + 3878;27910;1440;1553;171410632;3012845 + 3879;27912;1440;1553;171410632;3012845 + 3880;27922;1440;1554;171410632;3040767 + 3881;27924;1440;1554;171410632;3040767 + 3882;27936;1440;1554;171410632;3040767 + 3883;27938;1440;1555;171410632;3068705 + 3884;27948;1440;1555;171410632;3068705 + 3885;27955;1440;1556;171410632;3096660 + 3886;27960;1440;1556;171410632;3096660 + 3887;27972;1440;1556;171410632;3096660 + 3888;27978;1440;1557;171410632;3124638 + 3889;27984;1440;1557;171410632;3124638 + 3890;27996;1440;1557;171410632;3124638 + 3891;28001;1440;1558;171410632;3152639 + 3892;28008;1440;1558;171410632;3152639 + 3893;28018;1440;1559;171410632;3180657 + 3894;28020;1440;1559;171410632;3180657 + 3895;28032;1440;1559;171410632;3180657 + 3896;28042;1440;1560;171410632;3208699 + 3897;28044;1440;1560;171410632;3208699 + 3898;28056;1440;1560;171410632;3208699 + 3899;28060;1440;1561;171410632;3236759 + 3900;28068;1440;1561;171410632;3236759 + 3901;28080;1440;1561;171410632;3236759 + 3902;28083;1440;1562;171410632;3264842 + 3903;28092;1440;1562;171410632;3264842 + 3904;28098;1440;1563;171410632;3292940 + 3905;28104;1440;1563;171410632;3292940 + 3906;28115;1440;1564;171410632;3321055 + 3907;28116;1440;1564;171410632;3321055 + 3908;28128;1440;1564;171410632;3321055 + 3909;28138;1440;1565;171410632;3349193 + 3910;28140;1440;1565;171410632;3349193 + 3911;28152;1440;1565;171410632;3349193 + 3912;28159;1440;1566;171410632;3377352 + 3913;28164;1440;1566;171410632;3377352 + 3914;28176;1440;1566;171410632;3377352 + 3915;28179;1440;1567;171410632;3405531 + 3916;28188;1440;1567;171410632;3405531 + 3917;28200;1440;1567;171410632;3405531 + 3918;28202;1440;1568;171410632;3433733 + 3919;28212;1440;1568;171410632;3433733 + 3920;28221;1440;1569;171410632;3461954 + 3921;28224;1440;1569;171410632;3461954 + 3922;28236;1440;1569;171410632;3461954 + 3923;28244;1440;1570;171410632;3490198 + 3924;28248;1440;1570;171410632;3490198 + 3925;28260;1440;1570;171410632;3490198 + 3926;28264;1440;1571;171410632;3518462 + 3927;28272;1440;1571;171410632;3518462 + 3928;28277;1440;1572;171410632;3546739 + 3929;28284;1440;1572;171410632;3546739 + 3930;28293;1440;1573;171410632;3575032 + 3931;28296;1440;1573;171410632;3575032 + 3932;28308;1440;1573;171410632;3575032 + 3933;28314;1440;1574;171410632;3603346 + 3934;28320;1440;1574;171410632;3603346 + 3935;28328;1440;1575;171410632;3631674 + 3936;28332;1440;1575;171410632;3631674 + 3937;28340;1440;1576;171410632;3660014 + 3938;28344;1440;1576;171410632;3660014 + 3939;28356;1440;1576;171410632;3660014 + 3940;28357;1440;1577;171410632;3688371 + 3941;28368;1440;1577;171410632;3688371 + 3942;28379;1440;1578;171410632;3716750 + 3943;28380;1440;1578;171410632;3716750 + 3944;28392;1440;1578;171410632;3716750 + 3945;28392;1440;1579;171410632;3745142 + 3946;28404;1440;1579;171410632;3745142 + 3947;28408;1450;1580;179411794;3513580 + 3948;28416;1450;1580;179411794;3513580 + 3949;28420;1460;1581;186192786;3280372 + 3950;28428;1470;1581;184766978;3016879 + 3951;28436;1480;1582;177829769;2780116 + 3952;28440;1480;1582;177829769;2780116 + 3953;28450;1480;1583;177829769;2808566 + 3954;28452;1480;1583;177829769;2808566 + 3955;28463;1480;1584;177829769;2837029 + 3956;28464;1480;1584;177829769;2837029 + 3957;28476;1480;1584;177829769;2837029 + 3958;28485;1480;1585;177829769;2865514 + 3959;28488;1480;1585;177829769;2865514 + 3960;28500;1480;1585;177829769;2865514 + 3961;28506;1480;1586;177829769;2894020 + 3962;28512;1480;1586;177829769;2894020 + 3963;28524;1480;1586;177829769;2894020 + 3964;28526;1480;1587;177829769;2922546 + 3965;28536;1480;1587;177829769;2922546 + 3966;28542;1480;1588;177829769;2951088 + 3967;28548;1480;1588;177829769;2951088 + 3968;28555;1480;1589;177829769;2979643 + 3969;28560;1480;1589;177829769;2979643 + 3970;28572;1480;1589;177829769;2979643 + 3971;28579;1480;1590;177829769;3008222 + 3972;28584;1480;1590;177829769;3008222 + 3973;28595;1480;1591;177829769;3036817 + 3974;28596;1480;1591;177829769;3036817 + 3975;28608;1480;1591;177829769;3036817 + 3976;28612;1480;1592;177829769;3065429 + 3977;28620;1480;1592;177829769;3065429 + 3978;28624;1480;1593;177829769;3094053 + 3979;28632;1480;1593;177829769;3094053 + 3980;28639;1480;1594;177829769;3122692 + 3981;28644;1480;1594;177829769;3122692 + 3982;28656;1480;1594;177829769;3122692 + 3983;28657;1480;1595;177829769;3151349 + 3984;28668;1480;1595;177829769;3151349 + 3985;28680;1480;1595;177829769;3151349 + 3986;28680;1480;1596;177829769;3180029 + 3987;28692;1480;1596;177829769;3180029 + 3988;28703;1480;1597;177829769;3208732 + 3989;28704;1480;1597;177829769;3208732 + 3990;28716;1480;1597;177829769;3208732 + 3991;28720;1480;1598;177829769;3237452 + 3992;28728;1480;1598;177829769;3237452 + 3993;28740;1480;1598;177829769;3237452 + 3994;28741;1480;1599;177829769;3266193 + 3995;28752;1480;1599;177829769;3266193 + 3996;28758;1480;1600;177829769;3294951 + 3997;28764;1480;1600;177829769;3294951 + 3998;28775;1480;1601;177829769;3323726 + 3999;28776;1480;1601;177829769;3323726 + 4000;28788;1480;1601;177829769;3323726 + 4001;28793;1480;1602;177829769;3352519 + 4002;28800;1480;1602;177829769;3352519 + 4003;28811;1480;1603;177829769;3381330 + 4004;28812;1480;1603;177829769;3381330 + 4005;28823;1480;1604;177829769;3410153 + 4006;28824;1480;1604;177829769;3410153 + 4007;28836;1480;1604;177829769;3410153 + 4008;28844;1480;1605;177829769;3438997 + 4009;28848;1480;1605;177829769;3438997 + 4010;28860;1480;1605;177829769;3438997 + 4011;28868;1490;1606;185168813;3200825 + 4012;28872;1490;1606;185168813;3200825 + 4013;28883;1510;1607;171038653;2690237 + 4014;28884;1510;1607;171038653;2690237 + 4015;28896;1510;1607;171038653;2690237 + 4016;28901;1510;1608;171038653;2719138 + 4017;28908;1510;1608;171038653;2719138 + 4018;28916;1510;1609;171038653;2748054 + 4019;28920;1510;1609;171038653;2748054 + 4020;28932;1510;1609;171038653;2748054 + 4021;28935;1510;1610;171038653;2776989 + 4022;28944;1510;1610;171038653;2776989 + 4023;28953;1510;1611;171038653;2805942 + 4024;28956;1510;1611;171038653;2805942 + 4025;28968;1510;1611;171038653;2805942 + 4026;28975;1510;1612;171038653;2834917 + 4027;28980;1510;1612;171038653;2834917 + 4028;28992;1510;1612;171038653;2834917 + 4029;28996;1510;1613;171038653;2863913 + 4030;29004;1510;1613;171038653;2863913 + 4031;29014;1510;1614;171038653;2892927 + 4032;29016;1510;1614;171038653;2892927 + 4033;29028;1510;1614;171038653;2892927 + 4034;29032;1510;1615;171038653;2921959 + 4035;29040;1510;1615;171038653;2921959 + 4036;29047;1510;1616;171038653;2951006 + 4037;29052;1510;1616;171038653;2951006 + 4038;29064;1510;1616;171038653;2951006 + 4039;29069;1510;1617;171038653;2980075 + 4040;29076;1510;1617;171038653;2980075 + 4041;29088;1510;1617;171038653;2980075 + 4042;29090;1510;1618;171038653;3009165 + 4043;29100;1510;1618;171038653;3009165 + 4044;29107;1510;1619;171038653;3038272 + 4045;29112;1510;1619;171038653;3038272 + 4046;29124;1510;1619;171038653;3038272 + 4047;29124;1510;1620;171038653;3067396 + 4048;29136;1510;1620;171038653;3067396 + 4049;29136;1510;1621;171038653;3096532 + 4050;29148;1510;1621;171038653;3096532 + 4051;29154;1510;1622;171038653;3125686 + 4052;29160;1510;1622;171038653;3125686 + 4053;29166;1510;1623;171038653;3154852 + 4054;29172;1510;1623;171038653;3154852 + 4055;29184;1510;1623;171038653;3154852 + 4056;29188;1510;1624;171038653;3184040 + 4057;29196;1510;1624;171038653;3184040 + 4058;29203;1510;1625;171038653;3213243 + 4059;29208;1510;1625;171038653;3213243 + 4060;29219;1510;1626;171038653;3242462 + 4061;29220;1510;1626;171038653;3242462 + 4062;29231;1510;1627;171038653;3271693 + 4063;29232;1510;1627;171038653;3271693 + 4064;29244;1510;1627;171038653;3271693 + 4065;29251;1510;1628;171038653;3300944 + 4066;29256;1510;1628;171038653;3300944 + 4067;29268;1510;1628;171038653;3300944 + 4068;29273;1520;1629;170638963;3057887 + 4069;29280;1520;1629;170638963;3057887 + 4070;29292;1520;1629;170638963;3057887 + 4071;29293;1520;1630;170638963;3087180 + 4072;29304;1520;1630;170638963;3087180 + 4073;29316;1520;1630;170638963;3087180 + 4074;29317;1520;1631;170638963;3116497 + 4075;29328;1520;1631;170638963;3116497 + 4076;29337;1520;1632;170638963;3145834 + 4077;29340;1520;1632;170638963;3145834 + 4078;29352;1520;1632;170638963;3145834 + 4079;29355;1520;1633;170638963;3175189 + 4080;29364;1520;1633;170638963;3175189 + 4081;29376;1520;1633;170638963;3175189 + 4082;29378;1520;1634;170638963;3204567 + 4083;29388;1520;1634;170638963;3204567 + 4084;29394;1520;1635;170638963;3233961 + 4085;29400;1520;1635;170638963;3233961 + 4086;29412;1520;1635;170638963;3233961 + 4087;29416;1520;1636;170638963;3263377 + 4088;29424;1520;1636;170638963;3263377 + 4089;29434;1520;1637;170638963;3292811 + 4090;29436;1520;1637;170638963;3292811 + 4091;29447;1520;1638;170638963;3322258 + 4092;29448;1520;1638;170638963;3322258 + 4093;29460;1520;1638;170638963;3322258 + 4094;29467;1520;1639;170638963;3351725 + 4095;29472;1520;1639;170638963;3351725 + 4096;29484;1520;1639;170638963;3351725 + 4097;29488;1520;1640;170638963;3381213 + 4098;29496;1520;1640;170638963;3381213 + 4099;29501;1520;1641;170638963;3410714 + 4100;29508;1520;1641;170638963;3410714 + 4101;29520;1520;1641;170638963;3410714 + 4102;29522;1520;1642;170638963;3440236 + 4103;29532;1520;1642;170638963;3440236 + 4104;29543;1520;1643;170638963;3469779 + 4105;29544;1520;1643;170638963;3469779 + 4106;29556;1520;1643;170638963;3469779 + 4107;29562;1520;1644;170638963;3499341 + 4108;29568;1520;1644;170638963;3499341 + 4109;29574;1520;1645;170638963;3528915 + 4110;29580;1520;1645;170638963;3528915 + 4111;29592;1520;1645;170638963;3528915 + 4112;29597;1520;1646;170638963;3558512 + 4113;29604;1520;1646;170638963;3558512 + 4114;29612;1520;1647;170638963;3588124 + 4115;29616;1520;1647;170638963;3588124 + 4116;29628;1520;1647;170638963;3588124 + 4117;29632;1520;1648;170638963;3617756 + 4118;29640;1520;1648;170638963;3617756 + 4119;29650;1520;1649;170638963;3647406 + 4120;29652;1520;1649;170638963;3647406 + 4121;29664;1520;1649;170638963;3647406 + 4122;29672;1530;1650;180826493;3403062 + 4123;29676;1530;1650;180826493;3403062 + 4124;29684;1530;1651;180826493;3432746 + 4125;29688;1530;1651;180826493;3432746 + 4126;29700;1530;1651;180826493;3432746 + 4127;29703;1530;1652;180826493;3462449 + 4128;29712;1530;1652;180826493;3462449 + 4129;29717;1530;1653;180826493;3492166 + 4130;29724;1530;1653;180826493;3492166 + 4131;29736;1530;1653;180826493;3492166 + 4132;29737;1530;1654;180826493;3521903 + 4133;29748;1530;1654;180826493;3521903 + 4134;29753;1530;1655;180826493;3551656 + 4135;29760;1530;1655;180826493;3551656 + 4136;29770;1530;1656;180826493;3581426 + 4137;29772;1530;1656;180826493;3581426 + 4138;29783;1530;1657;180826493;3611209 + 4139;29784;1530;1657;180826493;3611209 + 4140;29796;1530;1657;180826493;3611209 + 4141;29807;1530;1658;180826493;3641016 + 4142;29808;1530;1658;180826493;3641016 + 4143;29820;1530;1658;180826493;3641016 + 4144;29829;1530;1659;180826493;3670845 + 4145;29832;1530;1659;180826493;3670845 + 4146;29844;1530;1659;180826493;3670845 + 4147;29844;1530;1660;180826493;3700689 + 4148;29856;1530;1660;180826493;3700689 + 4149;29868;1530;1660;180826493;3700689 + 4150;29868;1530;1661;180826493;3730557 + 4151;29880;1530;1661;180826493;3730557 + 4152;29891;1530;1662;180826493;3760448 + 4153;29892;1530;1662;180826493;3760448 + 4154;29904;1530;1662;180826493;3760448 + 4155;29907;1530;1663;180826493;3790355 + 4156;29916;1530;1663;180826493;3790355 + 4157;29920;1530;1664;180826493;3820275 + 4158;29928;1530;1664;180826493;3820275 + 4159;29939;1530;1665;180826493;3850214 + 4160;29940;1530;1665;180826493;3850214 + 4161;29952;1530;1665;180826493;3850214 + 4162;29956;1530;1666;180826493;3880170 + 4163;29964;1530;1666;180826493;3880170 + 4164;29976;1530;1666;180826493;3880170 + 4165;29977;1540;1667;209683545;3634189 + 4166;29988;1540;1667;209683545;3634189 + 4167;29996;1550;1668;206760689;3386252 + 4168;30000;1550;1668;206760689;3386252 + 4169;30012;1550;1668;206760689;3386252 + 4170;30020;1550;1669;206760689;3416272 + 4171;30024;1550;1669;206760689;3416272 + 4172;30032;1550;1670;206760689;3446304 + 4173;30036;1550;1670;206760689;3446304 + 4174;30046;1550;1671;206760689;3476350 + 4175;30048;1550;1671;206760689;3476350 + 4176;30060;1550;1671;206760689;3476350 + 4177;30067;1550;1672;206760689;3506417 + 4178;30072;1550;1672;206760689;3506417 + 4179;30084;1550;1672;206760689;3506417 + 4180;30084;1550;1673;206760689;3536501 + 4181;30096;1550;1673;206760689;3536501 + 4182;30106;1550;1674;206760689;3566607 + 4183;30108;1550;1674;206760689;3566607 + 4184;30120;1550;1674;206760689;3566607 + 4185;30127;1550;1675;206760689;3596734 + 4186;30132;1550;1675;206760689;3596734 + 4187;30143;1560;1676;218812041;3347156 + 4188;30144;1560;1676;218812041;3347156 + 4189;30155;1560;1677;218812041;3377311 + 4190;30156;1560;1677;218812041;3377311 + 4191;30168;1560;1677;218812041;3377311 + 4192;30170;1560;1678;218812041;3407481 + 4193;30180;1560;1678;218812041;3407481 + 4194;30185;1560;1679;218812041;3437666 + 4195;30192;1560;1679;218812041;3437666 + 4196;30204;1560;1679;218812041;3437666 + 4197;30205;1560;1680;218812041;3467871 + 4198;30216;1560;1680;218812041;3467871 + 4199;30224;1560;1681;218812041;3498095 + 4200;30228;1560;1681;218812041;3498095 + 4201;30240;1560;1681;218812041;3498095 + 4202;30245;1560;1682;218812041;3528340 + 4203;30252;1560;1682;218812041;3528340 + 4204;30261;1560;1683;218812041;3558601 + 4205;30264;1560;1683;218812041;3558601 + 4206;30274;1560;1684;218812041;3588875 + 4207;30276;1560;1684;218812041;3588875 + 4208;30286;1560;1685;218812041;3619161 + 4209;30288;1560;1685;218812041;3619161 + 4210;30300;1560;1685;218812041;3619161 + 4211;30302;1560;1686;218812041;3649463 + 4212;30312;1560;1686;218812041;3649463 + 4213;30315;1560;1687;218812041;3679778 + 4214;30324;1560;1687;218812041;3679778 + 4215;30335;1560;1688;218812041;3710113 + 4216;30336;1560;1688;218812041;3710113 + 4217;30348;1560;1688;218812041;3710113 + 4218;30349;1560;1689;218812041;3740462 + 4219;30360;1560;1689;218812041;3740462 + 4220;30370;1560;1690;218812041;3770832 + 4221;30372;1560;1690;218812041;3770832 + 4222;30384;1560;1690;218812041;3770832 + 4223;30394;1560;1691;218812041;3801226 + 4224;30396;1560;1691;218812041;3801226 + 4225;30408;1560;1691;218812041;3801226 + 4226;30416;1560;1692;218812041;3831642 + 4227;30420;1560;1692;218812041;3831642 + 4228;30432;1560;1692;218812041;3831642 + 4229;30436;1560;1693;218812041;3862078 + 4230;30444;1560;1693;218812041;3862078 + 4231;30456;1560;1693;218812041;3862078 + 4232;30456;1560;1694;218812041;3892534 + 4233;30468;1560;1694;218812041;3892534 + 4234;30469;1560;1695;218812041;3923003 + 4235;30480;1560;1695;218812041;3923003 + 4236;30488;1560;1696;218812041;3953491 + 4237;30492;1560;1696;218812041;3953491 + 4238;30500;1560;1697;218812041;3983991 + 4239;30504;1560;1697;218812041;3983991 + 4240;30516;1560;1697;218812041;3983991 + 4241;30517;1560;1698;218812041;4014508 + 4242;30528;1560;1698;218812041;4014508 + 4243;30531;1560;1699;218812041;4045039 + 4244;30540;1560;1699;218812041;4045039 + 4245;30547;1580;1700;234094872;3510375 + 4246;30552;1580;1700;234094872;3510375 + 4247;30562;1590;1701;225720157;3255800 + 4248;30564;1590;1701;225720157;3255800 + 4249;30576;1590;1701;225720157;3255800 + 4250;30583;1590;1702;225720157;3286383 + 4251;30588;1590;1702;225720157;3286383 + 4252;30595;1590;1703;225720157;3316978 + 4253;30600;1590;1703;225720157;3316978 + 4254;30609;1590;1704;225720157;3347587 + 4255;30612;1590;1704;225720157;3347587 + 4256;30624;1590;1704;225720157;3347587 + 4257;30627;1590;1705;225720157;3378214 + 4258;30636;1590;1705;225720157;3378214 + 4259;30646;1590;1706;225720157;3408860 + 4260;30648;1590;1706;225720157;3408860 + 4261;30660;1590;1706;225720157;3408860 + 4262;30666;1590;1707;225720157;3439526 + 4263;30672;1590;1707;225720157;3439526 + 4264;30684;1590;1707;225720157;3439526 + 4265;30686;1590;1708;225720157;3470212 + 4266;30696;1590;1708;225720157;3470212 + 4267;30708;1590;1708;225720157;3470212 + 4268;30708;1600;1709;229562272;3214011 + 4269;30720;1600;1709;229562272;3214011 + 4270;30725;1610;1710;206001935;2956009 + 4271;30732;1610;1710;206001935;2956009 + 4272;30744;1610;1710;206001935;2956009 + 4273;30746;1610;1711;206001935;2986755 + 4274;30756;1610;1711;206001935;2986755 + 4275;30768;1610;1711;206001935;2986755 + 4276;30769;1610;1712;206001935;3017524 + 4277;30780;1610;1712;206001935;3017524 + 4278;30782;1610;1713;206001935;3048306 + 4279;30792;1610;1713;206001935;3048306 + 4280;30800;1610;1714;206001935;3079106 + 4281;30804;1610;1714;206001935;3079106 + 4282;30813;1610;1715;206001935;3109919 + 4283;30816;1610;1715;206001935;3109919 + 4284;30828;1610;1715;206001935;3109919 + 4285;30828;1610;1716;206001935;3140747 + 4286;30840;1610;1716;206001935;3140747 + 4287;30843;1610;1717;206001935;3171590 + 4288;30852;1610;1717;206001935;3171590 + 4289;30863;1610;1718;206001935;3202453 + 4290;30864;1610;1718;206001935;3202453 + 4291;30876;1610;1718;206001935;3202453 + 4292;30884;1610;1719;206001935;3233337 + 4293;30888;1610;1719;206001935;3233337 + 4294;30900;1610;1719;206001935;3233337 + 4295;30900;1610;1720;206001935;3264237 + 4296;30912;1610;1720;206001935;3264237 + 4297;30919;1610;1721;206001935;3295156 + 4298;30924;1610;1721;206001935;3295156 + 4299;30936;1610;1721;206001935;3295156 + 4300;30942;1610;1722;206001935;3326098 + 4301;30948;1610;1722;206001935;3326098 + 4302;30960;1610;1722;206001935;3326098 + 4303;30961;1610;1723;206001935;3357059 + 4304;30972;1610;1723;206001935;3357059 + 4305;30977;1620;1724;204185442;3097446 + 4306;30984;1620;1724;204185442;3097446 + 4307;30992;1620;1725;204185442;3128438 + 4308;30996;1620;1725;204185442;3128438 + 4309;31008;1620;1725;204185442;3128438 + 4310;31012;1620;1726;204185442;3159450 + 4311;31020;1620;1726;204185442;3159450 + 4312;31032;1620;1726;204185442;3159450 + 4313;31034;1620;1727;204185442;3190484 + 4314;31044;1620;1727;204185442;3190484 + 4315;31047;1620;1728;204185442;3221531 + 4316;31056;1620;1728;204185442;3221531 + 4317;31061;1620;1729;204185442;3252592 + 4318;31068;1620;1729;204185442;3252592 + 4319;31080;1620;1729;204185442;3252592 + 4320;31084;1620;1730;204185442;3283676 + 4321;31092;1620;1730;204185442;3283676 + 4322;31101;1620;1731;204185442;3314777 + 4323;31104;1620;1731;204185442;3314777 + 4324;31116;1620;1731;204185442;3314777 + 4325;31125;1620;1732;204185442;3345902 + 4326;31128;1620;1732;204185442;3345902 + 4327;31139;1620;1733;204185442;3377041 + 4328;31140;1620;1733;204185442;3377041 + 4329;31152;1620;1733;204185442;3377041 + 4330;31153;1620;1734;204185442;3408194 + 4331;31164;1620;1734;204185442;3408194 + 4332;31165;1620;1735;204185442;3439359 + 4333;31176;1620;1735;204185442;3439359 + 4334;31188;1620;1735;204185442;3439359 + 4335;31188;1620;1736;204185442;3470547 + 4336;31200;1620;1736;204185442;3470547 + 4337;31212;1620;1736;204185442;3470547 + 4338;31212;1620;1737;204185442;3501759 + 4339;31224;1620;1737;204185442;3501759 + 4340;31236;1620;1737;204185442;3501759 + 4341;31236;1620;1738;204185442;3532995 + 4342;31248;1620;1738;204185442;3532995 + 4343;31256;1620;1739;204185442;3564251 + 4344;31260;1620;1739;204185442;3564251 + 4345;31272;1620;1739;204185442;3564251 + 4346;31278;1620;1740;204185442;3595529 + 4347;31284;1620;1740;204185442;3595529 + 4348;31291;1620;1741;204185442;3626820 + 4349;31296;1620;1741;204185442;3626820 + 4350;31308;1620;1741;204185442;3626820 + 4351;31310;1620;1742;204185442;3658130 + 4352;31320;1620;1742;204185442;3658130 + 4353;31332;1620;1742;204185442;3658130 + 4354;31334;1620;1743;204185442;3689464 + 4355;31344;1620;1743;204185442;3689464 + 4356;31347;1620;1744;204185442;3720811 + 4357;31356;1620;1744;204185442;3720811 + 4358;31363;1620;1745;204185442;3752174 + 4359;31368;1620;1745;204185442;3752174 + 4360;31380;1620;1745;204185442;3752174 + 4361;31385;1620;1746;204185442;3783559 + 4362;31392;1620;1746;204185442;3783559 + 4363;31398;1620;1747;204185442;3814957 + 4364;31404;1620;1747;204185442;3814957 + 4365;31411;1620;1748;204185442;3846368 + 4366;31416;1620;1748;204185442;3846368 + 4367;31428;1620;1748;204185442;3846368 + 4368;31433;1620;1749;204185442;3877801 + 4369;31440;1620;1749;204185442;3877801 + 4370;31452;1620;1749;204185442;3877801 + 4371;31452;1620;1750;204185442;3909253 + 4372;31464;1620;1750;204185442;3909253 + 4373;31464;1620;1751;204185442;3940717 + 4374;31476;1620;1751;204185442;3940717 + 4375;31477;1620;1752;204185442;3972194 + 4376;31488;1620;1752;204185442;3972194 + 4377;31500;1620;1752;204185442;3972194 + 4378;31500;1630;1753;219691392;3711399 + 4379;31512;1640;1753;202249728;3417182 + 4380;31515;1640;1754;202249728;3448697 + 4381;31524;1640;1754;202249728;3448697 + 4382;31536;1640;1754;202249728;3448697 + 4383;31537;1640;1755;202249728;3480234 + 4384;31548;1640;1755;202249728;3480234 + 4385;31552;1640;1756;202249728;3511786 + 4386;31560;1640;1756;202249728;3511786 + 4387;31564;1640;1757;202249728;3543350 + 4388;31572;1640;1757;202249728;3543350 + 4389;31580;1640;1758;202249728;3574930 + 4390;31584;1640;1758;202249728;3574930 + 4391;31596;1640;1758;202249728;3574930 + 4392;31597;1640;1759;202249728;3606527 + 4393;31608;1640;1759;202249728;3606527 + 4394;31612;1640;1760;202249728;3638139 + 4395;31620;1640;1760;202249728;3638139 + 4396;31626;1640;1761;202249728;3669765 + 4397;31632;1640;1761;202249728;3669765 + 4398;31644;1640;1761;202249728;3669765 + 4399;31650;1640;1762;202249728;3701415 + 4400;31656;1640;1762;202249728;3701415 + 4401;31662;1650;1763;211725787;3437029 + 4402;31668;1650;1763;211725787;3437029 + 4403;31676;1660;1764;204869022;3170894 + 4404;31680;1660;1764;204869022;3170894 + 4405;31692;1660;1764;204869022;3170894 + 4406;31695;1660;1765;204869022;3202589 + 4407;31704;1660;1765;204869022;3202589 + 4408;31716;1660;1765;204869022;3202589 + 4409;31716;1660;1766;204869022;3234305 + 4410;31728;1660;1766;204869022;3234305 + 4411;31735;1660;1767;204869022;3266040 + 4412;31740;1660;1767;204869022;3266040 + 4413;31748;1660;1768;204869022;3297788 + 4414;31752;1660;1768;204869022;3297788 + 4415;31764;1660;1768;204869022;3297788 + 4416;31771;1660;1769;204869022;3329559 + 4417;31776;1660;1769;204869022;3329559 + 4418;31788;1660;1769;204869022;3329559 + 4419;31789;1660;1770;204869022;3361348 + 4420;31800;1660;1770;204869022;3361348 + 4421;31812;1660;1770;204869022;3361348 + 4422;31812;1660;1771;204869022;3393160 + 4423;31824;1660;1771;204869022;3393160 + 4424;31830;1660;1772;204869022;3424990 + 4425;31836;1660;1772;204869022;3424990 + 4426;31848;1660;1772;204869022;3424990 + 4427;31853;1660;1773;204869022;3456843 + 4428;31860;1660;1773;204869022;3456843 + 4429;31866;1660;1774;204869022;3488709 + 4430;31872;1660;1774;204869022;3488709 + 4431;31883;1660;1775;204869022;3520592 + 4432;31884;1660;1775;204869022;3520592 + 4433;31896;1660;1775;204869022;3520592 + 4434;31904;1660;1776;204869022;3552496 + 4435;31908;1660;1776;204869022;3552496 + 4436;31920;1660;1776;204869022;3552496 + 4437;31925;1660;1777;204869022;3584421 + 4438;31932;1660;1777;204869022;3584421 + 4439;31944;1660;1777;204869022;3584421 + 4440;31947;1660;1778;204869022;3616368 + 4441;31956;1660;1778;204869022;3616368 + 4442;31968;1660;1778;204869022;3616368 + 4443;31970;1660;1779;204869022;3648338 + 4444;31980;1660;1779;204869022;3648338 + 4445;31984;1660;1780;204869022;3680322 + 4446;31992;1660;1780;204869022;3680322 + 4447;31998;1660;1781;204869022;3712320 + 4448;32004;1660;1781;204869022;3712320 + 4449;32016;1660;1781;204869022;3712320 + 4450;32020;1660;1782;204869022;3744340 + 4451;32028;1660;1782;204869022;3744340 + 4452;32039;1660;1783;204869022;3776379 + 4453;32040;1660;1783;204869022;3776379 + 4454;32051;1660;1784;204869022;3808430 + 4455;32052;1660;1784;204869022;3808430 + 4456;32064;1660;1784;204869022;3808430 + 4457;32074;1660;1785;204869022;3840504 + 4458;32076;1660;1785;204869022;3840504 + 4459;32088;1660;1785;204869022;3840504 + 4460;32093;1660;1786;204869022;3872597 + 4461;32100;1660;1786;204869022;3872597 + 4462;32108;1660;1787;204869022;3904705 + 4463;32112;1660;1787;204869022;3904705 + 4464;32124;1660;1787;204869022;3904705 + 4465;32129;1660;1788;204869022;3936834 + 4466;32136;1660;1788;204869022;3936834 + 4467;32148;1660;1788;204869022;3936834 + 4468;32153;1660;1789;204869022;3968987 + 4469;32160;1660;1789;204869022;3968987 + 4470;32170;1660;1790;204869022;4001157 + 4471;32172;1660;1790;204869022;4001157 + 4472;32184;1660;1790;204869022;4001157 + 4473;32192;1660;1791;204869022;4033349 + 4474;32196;1660;1791;204869022;4033349 + 4475;32208;1660;1791;204869022;4033349 + 4476;32209;1660;1792;204869022;4065558 + 4477;32220;1660;1792;204869022;4065558 + 4478;32223;1670;1793;219654682;3798097 + 4479;32232;1670;1793;219654682;3798097 + 4480;32237;1670;1794;219654682;3830334 + 4481;32244;1670;1794;219654682;3830334 + 4482;32255;1670;1795;219654682;3862589 + 4483;32256;1670;1795;219654682;3862589 + 4484;32268;1670;1795;219654682;3862589 + 4485;32271;1670;1796;219654682;3894860 + 4486;32280;1670;1796;219654682;3894860 + 4487;32290;1670;1797;219654682;3927150 + 4488;32292;1670;1797;219654682;3927150 + 4489;32302;1670;1798;219654682;3959452 + 4490;32304;1670;1798;219654682;3959452 + 4491;32315;1670;1799;219654682;3991767 + 4492;32316;1670;1799;219654682;3991767 + 4493;32328;1670;1799;219654682;3991767 + 4494;32331;1670;1800;219654682;4024098 + 4495;32340;1670;1800;219654682;4024098 + 4496;32343;1670;1801;219654682;4056441 + 4497;32352;1670;1801;219654682;4056441 + 4498;32362;1680;1802;218154839;3787337 + 4499;32364;1680;1802;218154839;3787337 + 4500;32375;1680;1803;218154839;3819712 + 4501;32376;1680;1803;218154839;3819712 + 4502;32388;1680;1803;218154839;3819712 + 4503;32395;1680;1804;218154839;3852107 + 4504;32400;1680;1804;218154839;3852107 + 4505;32412;1680;1804;218154839;3852107 + 4506;32419;1680;1805;218154839;3884526 + 4507;32424;1680;1805;218154839;3884526 + 4508;32436;1680;1805;218154839;3884526 + 4509;32438;1680;1806;218154839;3916964 + 4510;32448;1680;1806;218154839;3916964 + 4511;32452;1680;1807;218154839;3949416 + 4512;32460;1680;1807;218154839;3949416 + 4513;32472;1680;1807;218154839;3949416 + 4514;32475;1680;1808;218154839;3981891 + 4515;32484;1680;1808;218154839;3981891 + 4516;32488;1680;1809;218154839;4014379 + 4517;32496;1680;1809;218154839;4014379 + 4518;32508;1680;1809;218154839;4014379 + 4519;32512;1680;1810;218154839;4046891 + 4520;32520;1680;1810;218154839;4046891 + 4521;32532;1680;1810;218154839;4046891 + 4522;32536;1680;1811;218154839;4079427 + 4523;32544;1680;1811;218154839;4079427 + 4524;32552;1680;1812;218154839;4111979 + 4525;32556;1680;1812;218154839;4111979 + 4526;32568;1680;1812;218154839;4111979 + 4527;32569;1680;1813;218154839;4144548 + 4528;32580;1680;1813;218154839;4144548 + 4529;32592;1680;1813;218154839;4144548 + 4530;32593;1680;1814;218154839;4177141 + 4531;32604;1680;1814;218154839;4177141 + 4532;32616;1690;1814;223617656;3874010 + 4533;32616;1700;1815;226627270;3601704 + 4534;32628;1700;1815;226627270;3601704 + 4535;32634;1700;1816;226627270;3634338 + 4536;32640;1700;1816;226627270;3634338 + 4537;32652;1700;1816;226627270;3634338 + 4538;32652;1700;1817;226627270;3666990 + 4539;32664;1700;1817;226627270;3666990 + 4540;32667;1700;1818;226627270;3699657 + 4541;32676;1700;1818;226627270;3699657 + 4542;32679;1700;1819;226627270;3732336 + 4543;32688;1700;1819;226627270;3732336 + 4544;32693;1700;1820;226627270;3765029 + 4545;32700;1700;1820;226627270;3765029 + 4546;32708;1700;1821;226627270;3797737 + 4547;32712;1700;1821;226627270;3797737 + 4548;32724;1700;1821;226627270;3797737 + 4549;32726;1700;1822;226627270;3830463 + 4550;32736;1700;1822;226627270;3830463 + 4551;32743;1700;1823;226627270;3863206 + 4552;32748;1700;1823;226627270;3863206 + 4553;32760;1700;1823;226627270;3863206 + 4554;32766;1700;1824;226627270;3895972 + 4555;32772;1700;1824;226627270;3895972 + 4556;32780;1700;1825;226627270;3928752 + 4557;32784;1700;1825;226627270;3928752 + 4558;32796;1700;1825;226627270;3928752 + 4559;32804;1700;1826;226627270;3961556 + 4560;32808;1700;1826;226627270;3961556 + 4561;32818;1700;1827;226627270;3994374 + 4562;32820;1700;1827;226627270;3994374 + 4563;32832;1700;1827;226627270;3994374 + 4564;32838;1700;1828;226627270;4027212 + 4565;32844;1700;1828;226627270;4027212 + 4566;32856;1700;1828;226627270;4027212 + 4567;32861;1700;1829;226627270;4060073 + 4568;32868;1700;1829;226627270;4060073 + 4569;32880;1700;1829;226627270;4060073 + 4570;32885;1700;1830;226627270;4092958 + 4571;32892;1700;1830;226627270;4092958 + 4572;32902;1700;1831;226627270;4125860 + 4573;32904;1700;1831;226627270;4125860 + 4574;32916;1700;1831;226627270;4125860 + 4575;32923;1700;1832;226627270;4158783 + 4576;32928;1700;1832;226627270;4158783 + 4577;32940;1700;1832;226627270;4158783 + 4578;32942;1700;1833;226627270;4191725 + 4579;32952;1700;1833;226627270;4191725 + 4580;32958;1700;1834;226627270;4224683 + 4581;32964;1700;1834;226627270;4224683 + 4582;32976;1700;1834;226627270;4224683 + 4583;32977;1710;1835;243348975;3951069 + 4584;32988;1720;1835;233352769;3642668 + 4585;32993;1720;1836;233352769;3675661 + 4586;33000;1720;1836;233352769;3675661 + 4587;33005;1720;1837;233352769;3708666 + 4588;33012;1720;1837;233352769;3708666 + 4589;33024;1720;1837;233352769;3708666 + 4590;33028;1720;1838;233352769;3741694 + 4591;33036;1720;1838;233352769;3741694 + 4592;33046;1720;1839;233352769;3774740 + 4593;33048;1720;1839;233352769;3774740 + 4594;33060;1720;1839;233352769;3774740 + 4595;33064;1720;1840;233352769;3807804 + 4596;33072;1720;1840;233352769;3807804 + 4597;33084;1720;1840;233352769;3807804 + 4598;33088;1720;1841;233352769;3840892 + 4599;33096;1720;1841;233352769;3840892 + 4600;33101;1720;1842;233352769;3873993 + 4601;33108;1720;1842;233352769;3873993 + 4602;33115;1720;1843;233352769;3907108 + 4603;33120;1720;1843;233352769;3907108 + 4604;33131;1720;1844;233352769;3940239 + 4605;33132;1720;1844;233352769;3940239 + 4606;33144;1720;1844;233352769;3940239 + 4607;33151;1720;1845;233352769;3973390 + 4608;33156;1720;1845;233352769;3973390 + 4609;33166;1720;1846;233352769;4006556 + 4610;33168;1720;1846;233352769;4006556 + 4611;33180;1720;1846;233352769;4006556 + 4612;33182;1720;1847;233352769;4039738 + 4613;33192;1720;1847;233352769;4039738 + 4614;33204;1720;1847;233352769;4039738 + 4615;33204;1720;1848;233352769;4072942 + 4616;33216;1720;1848;233352769;4072942 + 4617;33226;1720;1849;233352769;4106168 + 4618;33228;1720;1849;233352769;4106168 + 4619;33240;1720;1849;233352769;4106168 + 4620;33248;1730;1850;240800418;3829205 + 4621;33252;1730;1850;240800418;3829205 + 4622;33264;1730;1850;240800418;3829205 + 4623;33267;1730;1851;240800418;3862472 + 4624;33276;1730;1851;240800418;3862472 + 4625;33286;1730;1852;240800418;3895758 + 4626;33288;1730;1852;240800418;3895758 + 4627;33300;1730;1852;240800418;3895758 + 4628;33300;1730;1853;240800418;3929058 + 4629;33312;1730;1853;240800418;3929058 + 4630;33312;1730;1854;240800418;3962370 + 4631;33324;1730;1854;240800418;3962370 + 4632;33331;1730;1855;240800418;3995701 + 4633;33336;1730;1855;240800418;3995701 + 4634;33348;1740;1855;248859772;3683658 + 4635;33349;1750;1856;230369304;3403110 + 4636;33360;1750;1856;230369304;3403110 + 4637;33362;1750;1857;230369304;3436472 + 4638;33372;1750;1857;230369304;3436472 + 4639;33384;1750;1857;230369304;3436472 + 4640;33384;1760;1858;212541138;3154296 + 4641;33396;1760;1858;212541138;3154296 + 4642;33401;1760;1859;212541138;3187697 + 4643;33408;1760;1859;212541138;3187697 + 4644;33416;1760;1860;212541138;3221113 + 4645;33420;1760;1860;212541138;3221113 + 4646;33432;1760;1860;212541138;3221113 + 4647;33440;1760;1861;212541138;3254553 + 4648;33444;1760;1861;212541138;3254553 + 4649;33456;1760;1861;212541138;3254553 + 4650;33458;1760;1862;212541138;3288011 + 4651;33468;1760;1862;212541138;3288011 + 4652;33471;1760;1863;212541138;3321482 + 4653;33480;1760;1863;212541138;3321482 + 4654;33483;1760;1864;212541138;3354965 + 4655;33492;1760;1864;212541138;3354965 + 4656;33504;1760;1864;212541138;3354965 + 4657;33507;1760;1865;212541138;3388472 + 4658;33516;1760;1865;212541138;3388472 + 4659;33520;1760;1866;212541138;3421992 + 4660;33528;1760;1866;212541138;3421992 + 4661;33539;1760;1867;212541138;3455531 + 4662;33540;1760;1867;212541138;3455531 + 4663;33551;1760;1868;212541138;3489082 + 4664;33552;1760;1868;212541138;3489082 + 4665;33563;1760;1869;212541138;3522645 + 4666;33564;1760;1869;212541138;3522645 + 4667;33576;1760;1869;212541138;3522645 + 4668;33582;1760;1870;212541138;3556227 + 4669;33588;1760;1870;212541138;3556227 + 4670;33600;1760;1870;212541138;3556227 + 4671;33604;1760;1871;212541138;3589831 + 4672;33612;1760;1871;212541138;3589831 + 4673;33619;1760;1872;212541138;3623450 + 4674;33624;1760;1872;212541138;3623450 + 4675;33636;1760;1872;212541138;3623450 + 4676;33637;1760;1873;212541138;3657087 + 4677;33648;1760;1873;212541138;3657087 + 4678;33660;1760;1873;212541138;3657087 + 4679;33661;1760;1874;212541138;3690748 + 4680;33672;1760;1874;212541138;3690748 + 4681;33681;1760;1875;212541138;3724429 + 4682;33684;1760;1875;212541138;3724429 + 4683;33696;1760;1875;212541138;3724429 + 4684;33699;1760;1876;212541138;3758128 + 4685;33708;1760;1876;212541138;3758128 + 4686;33720;1760;1876;212541138;3758128 + 4687;33722;1760;1877;212541138;3791850 + 4688;33732;1760;1877;212541138;3791850 + 4689;33737;1760;1878;212541138;3825587 + 4690;33744;1760;1878;212541138;3825587 + 4691;33750;1760;1879;212541138;3859337 + 4692;33756;1760;1879;212541138;3859337 + 4693;33768;1760;1879;212541138;3859337 + 4694;33774;1760;1880;212541138;3893111 + 4695;33780;1760;1880;212541138;3893111 + 4696;33787;1760;1881;212541138;3926898 + 4697;33792;1760;1881;212541138;3926898 + 4698;33804;1760;1881;212541138;3926898 + 4699;33805;1760;1882;212541138;3960703 + 4700;33816;1760;1882;212541138;3960703 + 4701;33825;1760;1883;212541138;3994528 + 4702;33828;1760;1883;212541138;3994528 + 4703;33840;1760;1883;212541138;3994528 + 4704;33841;1760;1884;212541138;4028369 + 4705;33852;1760;1884;212541138;4028369 + 4706;33861;1760;1885;212541138;4062230 + 4707;33864;1760;1885;212541138;4062230 + 4708;33876;1760;1885;212541138;4062230 + 4709;33881;1760;1886;212541138;4096111 + 4710;33888;1760;1886;212541138;4096111 + 4711;33900;1760;1886;212541138;4096111 + 4712;33900;1760;1887;212541138;4130011 + 4713;33912;1760;1887;212541138;4130011 + 4714;33922;1760;1888;212541138;4163933 + 4715;33924;1760;1888;212541138;4163933 + 4716;33936;1760;1888;212541138;4163933 + 4717;33939;1760;1889;212541138;4197872 + 4718;33948;1760;1889;212541138;4197872 + 4719;33954;1760;1890;212541138;4231826 + 4720;33960;1760;1890;212541138;4231826 + 4721;33972;1760;1890;212541138;4231826 + 4722;33974;1760;1891;212541138;4265800 + 4723;33984;1760;1891;212541138;4265800 + 4724;33988;1760;1892;212541138;4299788 + 4725;33996;1760;1892;212541138;4299788 + 4726;34008;1760;1892;212541138;4299788 + 4727;34012;1770;1893;231217809;4016546 + 4728;34020;1770;1893;231217809;4016546 + 4729;34026;1780;1894;218045497;3731412 + 4730;34032;1780;1894;218045497;3731412 + 4731;34042;1780;1895;218045497;3765454 + 4732;34044;1780;1895;218045497;3765454 + 4733;34056;1780;1895;218045497;3765454 + 4734;34060;1780;1896;218045497;3799514 + 4735;34068;1780;1896;218045497;3799514 + 4736;34075;1780;1897;218045497;3833589 + 4737;34080;1780;1897;218045497;3833589 + 4738;34089;1780;1898;218045497;3867678 + 4739;34092;1780;1898;218045497;3867678 + 4740;34102;1780;1899;218045497;3901780 + 4741;34104;1780;1899;218045497;3901780 + 4742;34116;1780;1899;218045497;3901780 + 4743;34124;1780;1900;218045497;3935904 + 4744;34128;1780;1900;218045497;3935904 + 4745;34140;1780;1900;218045497;3935904 + 4746;34142;1790;1901;214109701;3649017 + 4747;34152;1810;1901;193391593;3001789 + 4748;34160;1810;1902;193391593;3035949 + 4749;34164;1810;1902;193391593;3035949 + 4750;34175;1810;1903;193391593;3070124 + 4751;34176;1810;1903;193391593;3070124 + 4752;34188;1810;1903;193391593;3070124 + 4753;34188;1810;1904;193391593;3104312 + 4754;34200;1810;1904;193391593;3104312 + 4755;34212;1810;1904;193391593;3104312 + 4756;34212;1810;1905;193391593;3138524 + 4757;34224;1810;1905;193391593;3138524 + 4758;34225;1810;1906;193391593;3172749 + 4759;34236;1810;1906;193391593;3172749 + 4760;34246;1810;1907;193391593;3206995 + 4761;34248;1810;1907;193391593;3206995 + 4762;34260;1810;1907;193391593;3206995 + 4763;34269;1820;1908;181583531;2914901 + 4764;34272;1820;1908;181583531;2914901 + 4765;34282;1820;1909;181583531;2949183 + 4766;34284;1820;1909;181583531;2949183 + 4767;34296;1820;1909;181583531;2949183 + 4768;34298;1820;1910;181583531;2983481 + 4769;34308;1820;1910;181583531;2983481 + 4770;34313;1820;1911;181583531;3017794 + 4771;34320;1820;1911;181583531;3017794 + 4772;34332;1820;1911;181583531;3017794 + 4773;34334;1820;1912;181583531;3052128 + 4774;34344;1820;1912;181583531;3052128 + 4775;34353;1820;1913;181583531;3086481 + 4776;34356;1820;1913;181583531;3086481 + 4777;34368;1820;1913;181583531;3086481 + 4778;34373;1820;1914;181583531;3120854 + 4779;34380;1820;1914;181583531;3120854 + 4780;34392;1820;1914;181583531;3120854 + 4781;34396;1820;1915;181583531;3155250 + 4782;34404;1820;1915;181583531;3155250 + 4783;34413;1820;1916;181583531;3189663 + 4784;34416;1820;1916;181583531;3189663 + 4785;34425;1820;1917;181583531;3224088 + 4786;34428;1820;1917;181583531;3224088 + 4787;34440;1820;1917;181583531;3224088 + 4788;34441;1820;1918;181583531;3258529 + 4789;34452;1820;1918;181583531;3258529 + 4790;34464;1820;1918;181583531;3258529 + 4791;34465;1820;1919;181583531;3292994 + 4792;34476;1820;1919;181583531;3292994 + 4793;34479;1820;1920;181583531;3327473 + 4794;34488;1820;1920;181583531;3327473 + 4795;34500;1820;1920;181583531;3327473 + 4796;34502;1820;1921;181583531;3361975 + 4797;34512;1820;1921;181583531;3361975 + 4798;34519;1820;1922;181583531;3396494 + 4799;34524;1820;1922;181583531;3396494 + 4800;34536;1820;1922;181583531;3396494 + 4801;34538;1820;1923;181583531;3431032 + 4802;34548;1820;1923;181583531;3431032 + 4803;34554;1820;1924;181583531;3465586 + 4804;34560;1820;1924;181583531;3465586 + 4805;34572;1820;1924;181583531;3465586 + 4806;34575;1820;1925;181583531;3500161 + 4807;34584;1820;1925;181583531;3500161 + 4808;34595;1820;1926;181583531;3534756 + 4809;34596;1820;1926;181583531;3534756 + 4810;34608;1820;1926;181583531;3534756 + 4811;34613;1820;1927;181583531;3569369 + 4812;34620;1820;1927;181583531;3569369 + 4813;34630;1820;1928;181583531;3603999 + 4814;34632;1820;1928;181583531;3603999 + 4815;34644;1820;1928;181583531;3603999 + 4816;34651;1820;1929;181583531;3638650 + 4817;34656;1820;1929;181583531;3638650 + 4818;34665;1820;1930;181583531;3673315 + 4819;34668;1820;1930;181583531;3673315 + 4820;34680;1820;1930;181583531;3673315 + 4821;34686;1820;1931;181583531;3708001 + 4822;34692;1820;1931;181583531;3708001 + 4823;34701;1820;1932;181583531;3742702 + 4824;34704;1820;1932;181583531;3742702 + 4825;34716;1820;1932;181583531;3742702 + 4826;34724;1830;1933;190027789;3449303 + 4827;34728;1830;1933;190027789;3449303 + 4828;34740;1830;1933;190027789;3449303 + 4829;34745;1830;1934;190027789;3484048 + 4830;34752;1830;1934;190027789;3484048 + 4831;34763;1830;1935;190027789;3518811 + 4832;34764;1830;1935;190027789;3518811 + 4833;34776;1830;1935;190027789;3518811 + 4834;34784;1830;1936;190027789;3553595 + 4835;34788;1830;1936;190027789;3553595 + 4836;34798;1830;1937;190027789;3588393 + 4837;34800;1830;1937;190027789;3588393 + 4838;34810;1830;1938;190027789;3623203 + 4839;34812;1830;1938;190027789;3623203 + 4840;34824;1830;1938;190027789;3623203 + 4841;34832;1830;1939;190027789;3658035 + 4842;34836;1830;1939;190027789;3658035 + 4843;34848;1830;1939;190027789;3658035 + 4844;34854;1830;1940;190027789;3692889 + 4845;34860;1830;1940;190027789;3692889 + 4846;34872;1830;1940;190027789;3692889 + 4847;34873;1830;1941;190027789;3727762 + 4848;34884;1830;1941;190027789;3727762 + 4849;34889;1830;1942;190027789;3762651 + 4850;34896;1830;1942;190027789;3762651 + 4851;34906;1830;1943;190027789;3797557 + 4852;34908;1830;1943;190027789;3797557 + 4853;34919;1830;1944;190027789;3832476 + 4854;34920;1830;1944;190027789;3832476 + 4855;34932;1830;1944;190027789;3832476 + 4856;34932;1830;1945;190027789;3867408 + 4857;34944;1830;1945;190027789;3867408 + 4858;34948;1830;1946;190027789;3902356 + 4859;34956;1830;1946;190027789;3902356 + 4860;34967;1830;1947;190027789;3937323 + 4861;34968;1830;1947;190027789;3937323 + 4862;34980;1830;1947;190027789;3937323 + 4863;34987;1830;1948;190027789;3972310 + 4864;34992;1830;1948;190027789;3972310 + 4865;35004;1830;1948;190027789;3972310 + 4866;35009;1830;1949;190027789;4007319 + 4867;35016;1830;1949;190027789;4007319 + 4868;35025;1830;1950;190027789;4042344 + 4869;35028;1830;1950;190027789;4042344 + 4870;35040;1830;1950;190027789;4042344 + 4871;35042;1830;1951;190027789;4077386 + 4872;35052;1830;1951;190027789;4077386 + 4873;35056;1830;1952;190027789;4112442 + 4874;35064;1830;1952;190027789;4112442 + 4875;35076;1830;1952;190027789;4112442 + 4876;35077;1830;1953;190027789;4147519 + 4877;35088;1830;1953;190027789;4147519 + 4878;35090;1830;1954;190027789;4182609 + 4879;35100;1830;1954;190027789;4182609 + 4880;35112;1830;1954;190027789;4182609 + 4881;35113;1830;1955;190027789;4217722 + 4882;35124;1830;1955;190027789;4217722 + 4883;35133;1830;1956;190027789;4252855 + 4884;35136;1830;1956;190027789;4252855 + 4885;35145;1830;1957;190027789;4288000 + 4886;35148;1830;1957;190027789;4288000 + 4887;35160;1830;1957;190027789;4288000 + 4888;35162;1830;1958;190027789;4323162 + 4889;35172;1830;1958;190027789;4323162 + 4890;35179;1830;1959;190027789;4358341 + 4891;35184;1830;1959;190027789;4358341 + 4892;35196;1830;1959;190027789;4358341 + 4893;35200;1830;1960;190027789;4393541 + 4894;35208;1830;1960;190027789;4393541 + 4895;35220;1830;1960;190027789;4393541 + 4896;35223;1830;1961;190027789;4428764 + 4897;35232;1830;1961;190027789;4428764 + 4898;35237;1830;1962;190027789;4464001 + 4899;35244;1830;1962;190027789;4464001 + 4900;35253;1830;1963;190027789;4499254 + 4901;35256;1830;1963;190027789;4499254 + 4902;35268;1830;1963;190027789;4499254 + 4903;35271;1830;1964;190027789;4534525 + 4904;35280;1830;1964;190027789;4534525 + 4905;35288;1830;1965;190027789;4569813 + 4906;35292;1830;1965;190027789;4569813 + 4907;35303;1830;1966;190027789;4605116 + 4908;35304;1830;1966;190027789;4605116 + 4909;35316;1830;1966;190027789;4605116 + 4910;35326;1830;1967;190027789;4640442 + 4911;35328;1830;1967;190027789;4640442 + 4912;35338;1830;1968;190027789;4675780 + 4913;35340;1830;1968;190027789;4675780 + 4914;35351;1840;1969;206484456;4381107 + 4915;35352;1840;1969;206484456;4381107 + 4916;35364;1840;1969;206484456;4381107 + 4917;35366;1850;1970;211336942;4084682 + 4918;35376;1850;1970;211336942;4084682 + 4919;35388;1860;1970;198864734;3751101 + 4920;35389;1860;1971;198864734;3786490 + 4921;35400;1860;1971;198864734;3786490 + 4922;35407;1860;1972;198864734;3821897 + 4923;35412;1860;1972;198864734;3821897 + 4924;35424;1860;1972;198864734;3821897 + 4925;35427;1860;1973;198864734;3857324 + 4926;35436;1860;1973;198864734;3857324 + 4927;35440;1860;1974;198864734;3892764 + 4928;35448;1860;1974;198864734;3892764 + 4929;35460;1860;1974;198864734;3892764 + 4930;35464;1860;1975;198864734;3928228 + 4931;35472;1860;1975;198864734;3928228 + 4932;35480;1860;1976;198864734;3963708 + 4933;35484;1860;1976;198864734;3963708 + 4934;35496;1860;1976;198864734;3963708 + 4935;35502;1860;1977;198864734;3999210 + 4936;35508;1860;1977;198864734;3999210 + 4937;35520;1870;1977;196256602;3663932 + 4938;35520;1870;1978;196256602;3699452 + 4939;35532;1870;1978;196256602;3699452 + 4940;35541;1870;1979;196256602;3734993 + 4941;35544;1870;1979;196256602;3734993 + 4942;35556;1870;1979;196256602;3734993 + 4943;35561;1870;1980;196256602;3770554 + 4944;35568;1870;1980;196256602;3770554 + 4945;35573;1870;1981;196256602;3806127 + 4946;35580;1870;1981;196256602;3806127 + 4947;35585;1870;1982;196256602;3841712 + 4948;35592;1870;1982;196256602;3841712 + 4949;35597;1870;1983;196256602;3877309 + 4950;35604;1870;1983;196256602;3877309 + 4951;35616;1870;1983;196256602;3877309 + 4952;35620;1870;1984;196256602;3912929 + 4953;35628;1870;1984;196256602;3912929 + 4954;35640;1870;1984;196256602;3912929 + 4955;35643;1880;1985;197012382;3611505 + 4956;35652;1880;1985;197012382;3611505 + 4957;35662;1880;1986;197012382;3647167 + 4958;35664;1880;1986;197012382;3647167 + 4959;35674;1880;1987;197012382;3682841 + 4960;35676;1880;1987;197012382;3682841 + 4961;35688;1880;1987;197012382;3682841 + 4962;35697;1880;1988;197012382;3718538 + 4963;35700;1880;1988;197012382;3718538 + 4964;35712;1880;1988;197012382;3718538 + 4965;35720;1880;1989;197012382;3754258 + 4966;35724;1880;1989;197012382;3754258 + 4967;35732;1880;1990;197012382;3789990 + 4968;35736;1880;1990;197012382;3789990 + 4969;35748;1880;1990;197012382;3789990 + 4970;35754;1880;1991;197012382;3825744 + 4971;35760;1880;1991;197012382;3825744 + 4972;35766;1880;1992;197012382;3861510 + 4973;35772;1880;1992;197012382;3861510 + 4974;35783;1880;1993;197012382;3897293 + 4975;35784;1880;1993;197012382;3897293 + 4976;35796;1880;1993;197012382;3897293 + 4977;35804;1880;1994;197012382;3933097 + 4978;35808;1880;1994;197012382;3933097 + 4979;35820;1880;1994;197012382;3933097 + 4980;35827;1880;1995;197012382;3968924 + 4981;35832;1880;1995;197012382;3968924 + 4982;35841;1880;1996;197012382;4004765 + 4983;35844;1880;1996;197012382;4004765 + 4984;35856;1880;1996;197012382;4004765 + 4985;35857;1880;1997;197012382;4040622 + 4986;35868;1880;1997;197012382;4040622 + 4987;35871;1880;1998;197012382;4076493 + 4988;35880;1880;1998;197012382;4076493 + 4989;35892;1880;1998;197012382;4076493 + 4990;35892;1880;1999;197012382;4112385 + 4991;35904;1880;1999;197012382;4112385 + 4992;35916;1880;1999;197012382;4112385 + 4993;35916;1880;2000;197012382;4148301 + 4994;35928;1880;2000;197012382;4148301 + 4995;35933;1880;2001;197012382;4184234 + 4996;35940;1880;2001;197012382;4184234 + 4997;35949;1880;2002;197012382;4220183 + 4998;35952;1880;2002;197012382;4220183 + 4999;35964;1880;2002;197012382;4220183 + 5000;35964;1880;2003;197012382;4256147 + 5001;35976;1880;2003;197012382;4256147 + 5002;35977;1880;2004;197012382;4292124 + 5003;35988;1880;2004;197012382;4292124 + 5004;35993;1880;2005;197012382;4328117 + 5005;36000;1880;2005;197012382;4328117 + 5006;36010;1880;2006;197012382;4364127 + 5007;36012;1880;2006;197012382;4364127 + 5008;36024;1880;2006;197012382;4364127 + 5009;36027;1880;2007;197012382;4400154 + 5010;36036;1880;2007;197012382;4400154 + 5011;36047;1880;2008;197012382;4436201 + 5012;36048;1880;2008;197012382;4436201 + 5013;36060;1880;2008;197012382;4436201 + 5014;36071;1890;2009;201675970;4133370 + 5015;36072;1890;2009;201675970;4133370 + 5016;36084;1890;2009;201675970;4133370 + 5017;36087;1890;2010;201675970;4169457 + 5018;36096;1890;2010;201675970;4169457 + 5019;36108;1890;2010;201675970;4169457 + 5020;36110;1890;2011;201675970;4205567 + 5021;36120;1890;2011;201675970;4205567 + 5022;36129;1890;2012;201675970;4241696 + 5023;36132;1890;2012;201675970;4241696 + 5024;36141;1890;2013;201675970;4277837 + 5025;36144;1890;2013;201675970;4277837 + 5026;36156;1890;2013;201675970;4277837 + 5027;36162;1890;2014;201675970;4313999 + 5028;36168;1890;2014;201675970;4313999 + 5029;36176;1890;2015;201675970;4350175 + 5030;36180;1890;2015;201675970;4350175 + 5031;36189;1890;2016;201675970;4386364 + 5032;36192;1890;2016;201675970;4386364 + 5033;36204;1890;2016;201675970;4386364 + 5034;36212;1890;2017;201675970;4422576 + 5035;36216;1890;2017;201675970;4422576 + 5036;36228;1890;2017;201675970;4422576 + 5037;36234;1890;2018;201675970;4458810 + 5038;36240;1890;2018;201675970;4458810 + 5039;36252;1890;2018;201675970;4458810 + 5040;36255;1890;2019;201675970;4495065 + 5041;36264;1890;2019;201675970;4495065 + 5042;36276;1890;2019;201675970;4495065 + 5043;36276;1890;2020;201675970;4531341 + 5044;36288;1890;2020;201675970;4531341 + 5045;36294;1890;2021;201675970;4567635 + 5046;36300;1890;2021;201675970;4567635 + 5047;36312;1890;2021;201675970;4567635 + 5048;36316;1890;2022;201675970;4603951 + 5049;36324;1890;2022;201675970;4603951 + 5050;36336;1890;2022;201675970;4603951 + 5051;36340;1890;2023;201675970;4640291 + 5052;36348;1890;2023;201675970;4640291 + 5053;36353;1890;2024;201675970;4676644 + 5054;36360;1890;2024;201675970;4676644 + 5055;36370;1890;2025;201675970;4713014 + 5056;36372;1890;2025;201675970;4713014 + 5057;36384;1890;2025;201675970;4713014 + 5058;36393;1890;2026;201675970;4749407 + 5059;36396;1890;2026;201675970;4749407 + 5060;36408;1890;2026;201675970;4749407 + 5061;36413;1890;2027;201675970;4785820 + 5062;36420;1890;2027;201675970;4785820 + 5063;36432;1890;2027;201675970;4785820 + 5064;36434;1900;2028;220242780;4481594 + 5065;36444;1900;2028;220242780;4481594 + 5066;36447;1910;2029;238557450;4175673 + 5067;36456;1910;2029;238557450;4175673 + 5068;36463;1920;2030;246418164;3867955 + 5069;36468;1920;2030;246418164;3867955 + 5070;36478;1920;2031;246418164;3904433 + 5071;36480;1920;2031;246418164;3904433 + 5072;36492;1920;2031;246418164;3904433 + 5073;36500;1920;2032;246418164;3940933 + 5074;36504;1920;2032;246418164;3940933 + 5075;36516;1920;2032;246418164;3940933 + 5076;36524;1920;2033;246418164;3977457 + 5077;36528;1920;2033;246418164;3977457 + 5078;36538;1920;2034;246418164;4013995 + 5079;36540;1920;2034;246418164;4013995 + 5080;36552;1920;2034;246418164;4013995 + 5081;36556;1920;2035;246418164;4050551 + 5082;36564;1920;2035;246418164;4050551 + 5083;36575;1920;2036;246418164;4087126 + 5084;36576;1920;2036;246418164;4087126 + 5085;36587;1920;2037;246418164;4123713 + 5086;36588;1920;2037;246418164;4123713 + 5087;36600;1920;2037;246418164;4123713 + 5088;36605;1920;2038;246418164;4160318 + 5089;36612;1920;2038;246418164;4160318 + 5090;36618;1920;2039;246418164;4196936 + 5091;36624;1920;2039;246418164;4196936 + 5092;36633;1920;2040;246418164;4233569 + 5093;36636;1920;2040;246418164;4233569 + 5094;36648;1920;2040;246418164;4233569 + 5095;36648;1920;2041;246418164;4270217 + 5096;36660;1920;2041;246418164;4270217 + 5097;36671;1930;2042;237880692;3960862 + 5098;36672;1930;2042;237880692;3960862 + 5099;36684;1930;2042;237880692;3960862 + 5100;36694;1930;2043;237880692;3997556 + 5101;36696;1930;2043;237880692;3997556 + 5102;36708;1930;2043;237880692;3997556 + 5103;36709;1940;2044;241485483;3686381 + 5104;36720;1950;2044;229907796;3336757 + 5105;36730;1950;2045;229907796;3373487 + 5106;36732;1950;2045;229907796;3373487 + 5107;36744;1950;2045;229907796;3373487 + 5108;36751;1950;2046;229907796;3410238 + 5109;36756;1950;2046;229907796;3410238 + 5110;36764;1950;2047;229907796;3447002 + 5111;36768;1950;2047;229907796;3447002 + 5112;36780;1950;2047;229907796;3447002 + 5113;36781;1950;2048;229907796;3483783 + 5114;36792;1950;2048;229907796;3483783 + 5115;36804;1950;2048;229907796;3483783 + 5116;36804;1950;2049;229907796;3520587 + 5117;36816;1950;2049;229907796;3520587 + 5118;36818;1950;2050;229907796;3557405 + 5119;36828;1950;2050;229907796;3557405 + 5120;36831;1950;2051;229907796;3594236 + 5121;36840;1950;2051;229907796;3594236 + 5122;36850;1950;2052;229907796;3631086 + 5123;36852;1950;2052;229907796;3631086 + 5124;36864;1950;2052;229907796;3631086 + 5125;36871;1950;2053;229907796;3667957 + 5126;36876;1950;2053;229907796;3667957 + 5127;36888;1950;2053;229907796;3667957 + 5128;36892;1950;2054;229907796;3704849 + 5129;36900;1950;2054;229907796;3704849 + 5130;36908;1950;2055;229907796;3741757 + 5131;36912;1950;2055;229907796;3741757 + 5132;36922;1950;2056;229907796;3778679 + 5133;36924;1950;2056;229907796;3778679 + 5134;36936;1950;2056;229907796;3778679 + 5135;36938;1950;2057;229907796;3815617 + 5136;36948;1950;2057;229907796;3815617 + 5137;36959;1950;2058;229907796;3852576 + 5138;36960;1950;2058;229907796;3852576 + 5139;36972;1950;2058;229907796;3852576 + 5140;36982;1950;2059;229907796;3889558 + 5141;36984;1950;2059;229907796;3889558 + 5142;36996;1950;2059;229907796;3889558 + 5143;37006;1950;2060;229907796;3926564 + 5144;37008;1950;2060;229907796;3926564 + 5145;37020;1950;2060;229907796;3926564 + 5146;37028;1950;2061;229907796;3963592 + 5147;37032;1950;2061;229907796;3963592 + 5148;37044;1950;2061;229907796;3963592 + 5149;37050;1950;2062;229907796;4000642 + 5150;37056;1950;2062;229907796;4000642 + 5151;37068;1950;2062;229907796;4000642 + 5152;37072;1950;2063;229907796;4037714 + 5153;37080;1950;2063;229907796;4037714 + 5154;37084;1950;2064;229907796;4074798 + 5155;37092;1950;2064;229907796;4074798 + 5156;37102;1950;2065;229907796;4111900 + 5157;37104;1950;2065;229907796;4111900 + 5158;37114;1950;2066;229907796;4149014 + 5159;37116;1950;2066;229907796;4149014 + 5160;37128;1950;2066;229907796;4149014 + 5161;37132;1950;2067;229907796;4186146 + 5162;37140;1950;2067;229907796;4186146 + 5163;37149;1950;2068;229907796;4223295 + 5164;37152;1950;2068;229907796;4223295 + 5165;37164;1950;2068;229907796;4223295 + 5166;37170;1950;2069;229907796;4260465 + 5167;37176;1950;2069;229907796;4260465 + 5168;37185;1950;2070;229907796;4297650 + 5169;37188;1950;2070;229907796;4297650 + 5170;37200;1950;2070;229907796;4297650 + 5171;37207;1950;2071;229907796;4334857 + 5172;37212;1950;2071;229907796;4334857 + 5173;37224;1950;2071;229907796;4334857 + 5174;37225;1950;2072;229907796;4372082 + 5175;37236;1950;2072;229907796;4372082 + 5176;37247;1950;2073;229907796;4409329 + 5177;37248;1950;2073;229907796;4409329 + 5178;37259;1950;2074;229907796;4446588 + 5179;37260;1950;2074;229907796;4446588 + 5180;37272;1950;2074;229907796;4446588 + 5181;37274;1950;2075;229907796;4483862 + 5182;37284;1950;2075;229907796;4483862 + 5183;37286;1950;2076;229907796;4521148 + 5184;37296;1950;2076;229907796;4521148 + 5185;37302;1950;2077;229907796;4558450 + 5186;37308;1950;2077;229907796;4558450 + 5187;37320;1950;2077;229907796;4558450 + 5188;37322;1950;2078;229907796;4595772 + 5189;37332;1950;2078;229907796;4595772 + 5190;37336;1950;2079;229907796;4633108 + 5191;37344;1950;2079;229907796;4633108 + 5192;37354;1950;2080;229907796;4670462 + 5193;37356;1950;2080;229907796;4670462 + 5194;37368;1950;2080;229907796;4670462 + 5195;37368;1950;2081;229907796;4707830 + 5196;37380;1950;2081;229907796;4707830 + 5197;37386;1960;2082;246871555;4393838 + 5198;37392;1960;2082;246871555;4393838 + 5199;37399;1970;2083;236414376;4078115 + 5200;37404;1970;2083;236414376;4078115 + 5201;37411;1980;2084;226135466;3760611 + 5202;37416;1980;2084;226135466;3760611 + 5203;37427;1980;2085;226135466;3798038 + 5204;37428;1980;2085;226135466;3798038 + 5205;37440;1980;2085;226135466;3798038 + 5206;37445;1980;2086;226135466;3835483 + 5207;37452;1980;2086;226135466;3835483 + 5208;37464;1980;2086;226135466;3835483 + 5209;37467;1980;2087;226135466;3872950 + 5210;37476;1980;2087;226135466;3872950 + 5211;37480;1980;2088;226135466;3910430 + 5212;37488;1980;2088;226135466;3910430 + 5213;37500;1980;2088;226135466;3910430 + 5214;37503;1980;2089;226135466;3947933 + 5215;37512;1980;2089;226135466;3947933 + 5216;37522;1980;2090;226135466;3985455 + 5217;37524;1980;2090;226135466;3985455 + 5218;37536;1980;2090;226135466;3985455 + 5219;37542;1980;2091;226135466;4022997 + 5220;37548;1980;2091;226135466;4022997 + 5221;37558;1980;2092;226135466;4060555 + 5222;37560;1980;2092;226135466;4060555 + 5223;37572;1980;2092;226135466;4060555 + 5224;37577;1980;2093;226135466;4098132 + 5225;37584;1980;2093;226135466;4098132 + 5226;37596;1980;2093;226135466;4098132 + 5227;37601;1980;2094;226135466;4135733 + 5228;37608;1980;2094;226135466;4135733 + 5229;37618;1980;2095;226135466;4173351 + 5230;37620;1980;2095;226135466;4173351 + 5231;37632;1980;2095;226135466;4173351 + 5232;37641;1980;2096;226135466;4210992 + 5233;37644;1980;2096;226135466;4210992 + 5234;37654;1980;2097;226135466;4248646 + 5235;37656;1980;2097;226135466;4248646 + 5236;37668;1980;2097;226135466;4248646 + 5237;37672;1980;2098;226135466;4286318 + 5238;37680;1980;2098;226135466;4286318 + 5239;37692;1980;2098;226135466;4286318 + 5240;37692;1980;2099;226135466;4324010 + 5241;37704;1980;2099;226135466;4324010 + 5242;37715;1980;2100;226135466;4361725 + 5243;37716;1980;2100;226135466;4361725 + 5244;37728;1980;2100;226135466;4361725 + 5245;37730;1980;2101;226135466;4399455 + 5246;37740;1980;2101;226135466;4399455 + 5247;37752;1980;2101;226135466;4399455 + 5248;37752;1980;2102;226135466;4437207 + 5249;37764;1980;2102;226135466;4437207 + 5250;37764;1980;2103;226135466;4474971 + 5251;37776;1980;2103;226135466;4474971 + 5252;37784;1980;2104;226135466;4512755 + 5253;37788;1980;2104;226135466;4512755 + 5254;37797;1980;2105;226135466;4550552 + 5255;37800;1980;2105;226135466;4550552 + 5256;37812;1980;2105;226135466;4550552 + 5257;37820;1980;2106;226135466;4588372 + 5258;37824;1980;2106;226135466;4588372 + 5259;37833;1980;2107;226135466;4626205 + 5260;37836;1980;2107;226135466;4626205 + 5261;37847;1980;2108;226135466;4664052 + 5262;37848;1980;2108;226135466;4664052 + 5263;37860;1980;2108;226135466;4664052 + 5264;37863;1980;2109;226135466;4701915 + 5265;37872;1980;2109;226135466;4701915 + 5266;37883;1980;2110;226135466;4739798 + 5267;37884;1980;2110;226135466;4739798 + 5268;37895;1980;2111;226135466;4777693 + 5269;37896;1980;2111;226135466;4777693 + 5270;37907;1980;2112;226135466;4815600 + 5271;37908;1980;2112;226135466;4815600 + 5272;37920;1980;2112;226135466;4815600 + 5273;37931;1980;2113;226135466;4853531 + 5274;37932;1980;2113;226135466;4853531 + 5275;37944;1980;2113;226135466;4853531 + 5276;37951;1980;2114;226135466;4891482 + 5277;37956;1980;2114;226135466;4891482 + 5278;37968;1980;2114;226135466;4891482 + 5279;37973;1980;2115;226135466;4929455 + 5280;37980;1980;2115;226135466;4929455 + 5281;37992;1980;2115;226135466;4929455 + 5282;37992;1980;2116;226135466;4967447 + 5283;38004;1980;2116;226135466;4967447 + 5284;38015;2000;2117;228185362;4290288 + 5285;38016;2000;2117;228185362;4290288 + 5286;38028;2000;2117;228185362;4290288 + 5287;38036;2000;2118;228185362;4328324 + 5288;38040;2000;2118;228185362;4328324 + 5289;38052;2000;2118;228185362;4328324 + 5290;38057;2000;2119;228185362;4366381 + 5291;38064;2000;2119;228185362;4366381 + 5292;38076;2000;2119;228185362;4366381 + 5293;38081;2000;2120;228185362;4404462 + 5294;38088;2000;2120;228185362;4404462 + 5295;38097;2000;2121;228185362;4442559 + 5296;38100;2000;2121;228185362;4442559 + 5297;38112;2000;2121;228185362;4442559 + 5298;38118;2000;2122;228185362;4480677 + 5299;38124;2000;2122;228185362;4480677 + 5300;38136;2000;2122;228185362;4480677 + 5301;38140;2000;2123;228185362;4518817 + 5302;38148;2000;2123;228185362;4518817 + 5303;38153;2000;2124;228185362;4556970 + 5304;38160;2000;2124;228185362;4556970 + 5305;38166;2000;2125;228185362;4595136 + 5306;38172;2000;2125;228185362;4595136 + 5307;38184;2000;2125;228185362;4595136 + 5308;38186;2000;2126;228185362;4633322 + 5309;38196;2000;2126;228185362;4633322 + 5310;38199;2000;2127;228185362;4671521 + 5311;38208;2000;2127;228185362;4671521 + 5312;38214;2000;2128;228185362;4709735 + 5313;38220;2000;2128;228185362;4709735 + 5314;38227;2000;2129;228185362;4747962 + 5315;38232;2000;2129;228185362;4747962 + 5316;38239;2000;2130;228185362;4786201 + 5317;38244;2000;2130;228185362;4786201 + 5318;38254;2000;2131;228185362;4824455 + 5319;38256;2000;2131;228185362;4824455 + 5320;38268;2000;2131;228185362;4824455 + 5321;38275;2000;2132;228185362;4862730 + 5322;38280;2000;2132;228185362;4862730 + 5323;38287;2000;2133;228185362;4901017 + 5324;38292;2000;2133;228185362;4901017 + 5325;38303;2000;2134;228185362;4939320 + 5326;38304;2000;2134;228185362;4939320 + 5327;38315;2000;2135;228185362;4977635 + 5328;38316;2000;2135;228185362;4977635 + 5329;38328;2000;2135;228185362;4977635 + 5330;38337;2000;2136;228185362;5015972 + 5331;38340;2000;2136;228185362;5015972 + 5332;38352;2000;2136;228185362;5015972 + 5333;38353;2000;2137;228185362;5054325 + 5334;38364;2000;2137;228185362;5054325 + 5335;38369;2020;2138;231759393;4370391 + 5336;38376;2020;2138;231759393;4370391 + 5337;38388;2020;2138;231759393;4370391 + 5338;38389;2020;2139;231759393;4408780 + 5339;38400;2020;2139;231759393;4408780 + 5340;38409;2020;2140;231759393;4447189 + 5341;38412;2020;2140;231759393;4447189 + 5342;38424;2020;2140;231759393;4447189 + 5343;38432;2020;2141;231759393;4485621 + 5344;38436;2020;2141;231759393;4485621 + 5345;38448;2020;2141;231759393;4485621 + 5346;38448;2020;2142;231759393;4524069 + 5347;38460;2020;2142;231759393;4524069 + 5348;38466;2020;2143;231759393;4562535 + 5349;38472;2020;2143;231759393;4562535 + 5350;38482;2030;2144;226854617;4237010 + 5351;38484;2030;2144;226854617;4237010 + 5352;38496;2030;2144;226854617;4237010 + 5353;38505;2030;2145;226854617;4275515 + 5354;38508;2030;2145;226854617;4275515 + 5355;38520;2030;2145;226854617;4275515 + 5356;38528;2030;2146;226854617;4314043 + 5357;38532;2030;2146;226854617;4314043 + 5358;38542;2030;2147;226854617;4352585 + 5359;38544;2030;2147;226854617;4352585 + 5360;38556;2030;2147;226854617;4352585 + 5361;38561;2030;2148;226854617;4391146 + 5362;38568;2030;2148;226854617;4391146 + 5363;38580;2030;2148;226854617;4391146 + 5364;38581;2030;2149;226854617;4429727 + 5365;38592;2030;2149;226854617;4429727 + 5366;38598;2030;2150;226854617;4468325 + 5367;38604;2030;2150;226854617;4468325 + 5368;38610;2030;2151;226854617;4506935 + 5369;38616;2030;2151;226854617;4506935 + 5370;38622;2030;2152;226854617;4545557 + 5371;38628;2030;2152;226854617;4545557 + 5372;38634;2030;2153;226854617;4584191 + 5373;38640;2030;2153;226854617;4584191 + 5374;38647;2030;2154;226854617;4622838 + 5375;38652;2030;2154;226854617;4622838 + 5376;38659;2030;2155;226854617;4661497 + 5377;38664;2030;2155;226854617;4661497 + 5378;38676;2030;2155;226854617;4661497 + 5379;38677;2030;2156;226854617;4700174 + 5380;38688;2030;2156;226854617;4700174 + 5381;38695;2030;2157;226854617;4738869 + 5382;38700;2030;2157;226854617;4738869 + 5383;38712;2030;2157;226854617;4738869 + 5384;38717;2030;2158;226854617;4777586 + 5385;38724;2030;2158;226854617;4777586 + 5386;38734;2030;2159;226854617;4816320 + 5387;38736;2030;2159;226854617;4816320 + 5388;38748;2030;2159;226854617;4816320 + 5389;38748;2030;2160;226854617;4855068 + 5390;38760;2030;2160;226854617;4855068 + 5391;38766;2030;2161;226854617;4893834 + 5392;38772;2030;2161;226854617;4893834 + 5393;38784;2030;2161;226854617;4893834 + 5394;38788;2030;2162;226854617;4932622 + 5395;38796;2030;2162;226854617;4932622 + 5396;38808;2030;2162;226854617;4932622 + 5397;38809;2030;2163;226854617;4971431 + 5398;38820;2030;2163;226854617;4971431 + 5399;38828;2030;2164;226854617;5010259 + 5400;38832;2030;2164;226854617;5010259 + 5401;38843;2030;2165;226854617;5049102 + 5402;38844;2030;2165;226854617;5049102 + 5403;38856;2030;2165;226854617;5049102 + 5404;38865;2030;2166;226854617;5087967 + 5405;38868;2030;2166;226854617;5087967 + 5406;38880;2030;2166;226854617;5087967 + 5407;38888;2030;2167;226854617;5126855 + 5408;38892;2030;2167;226854617;5126855 + 5409;38904;2030;2167;226854617;5126855 + 5410;38910;2030;2168;226854617;5165765 + 5411;38916;2030;2168;226854617;5165765 + 5412;38922;2030;2169;226854617;5204687 + 5413;38928;2030;2169;226854617;5204687 + 5414;38939;2030;2170;226854617;5243626 + 5415;38940;2030;2170;226854617;5243626 + 5416;38952;2030;2170;226854617;5243626 + 5417;38954;2040;2171;246789059;4916796 + 5418;38964;2040;2171;246789059;4916796 + 5419;38971;2040;2172;246789059;4955767 + 5420;38976;2040;2172;246789059;4955767 + 5421;38988;2040;2172;246789059;4955767 + 5422;38991;2040;2173;246789059;4994758 + 5423;39000;2040;2173;246789059;4994758 + 5424;39004;2060;2174;236216920;4296853 + 5425;39012;2060;2174;236216920;4296853 + 5426;39024;2060;2174;236216920;4296853 + 5427;39027;2060;2175;236216920;4335880 + 5428;39036;2060;2175;236216920;4335880 + 5429;39043;2060;2176;236216920;4374923 + 5430;39048;2060;2176;236216920;4374923 + 5431;39060;2060;2176;236216920;4374923 + 5432;39063;2060;2177;236216920;4413986 + 5433;39072;2060;2177;236216920;4413986 + 5434;39084;2060;2177;236216920;4413986 + 5435;39086;2060;2178;236216920;4453072 + 5436;39096;2060;2178;236216920;4453072 + 5437;39098;2060;2179;236216920;4492170 + 5438;39108;2060;2179;236216920;4492170 + 5439;39111;2060;2180;236216920;4531281 + 5440;39120;2060;2180;236216920;4531281 + 5441;39124;2060;2181;236216920;4570405 + 5442;39132;2060;2181;236216920;4570405 + 5443;39138;2060;2182;236216920;4609543 + 5444;39144;2060;2182;236216920;4609543 + 5445;39156;2060;2182;236216920;4609543 + 5446;39159;2060;2183;236216920;4648702 + 5447;39168;2060;2183;236216920;4648702 + 5448;39172;2060;2184;236216920;4687874 + 5449;39180;2060;2184;236216920;4687874 + 5450;39187;2060;2185;236216920;4727061 + 5451;39192;2060;2185;236216920;4727061 + 5452;39204;2060;2185;236216920;4727061 + 5453;39207;2060;2186;236216920;4766268 + 5454;39216;2060;2186;236216920;4766268 + 5455;39228;2060;2186;236216920;4766268 + 5456;39229;2060;2187;236216920;4805497 + 5457;39240;2060;2187;236216920;4805497 + 5458;39241;2060;2188;236216920;4844738 + 5459;39252;2060;2188;236216920;4844738 + 5460;39264;2060;2188;236216920;4844738 + 5461;39265;2060;2189;236216920;4884003 + 5462;39276;2060;2189;236216920;4884003 + 5463;39283;2060;2190;236216920;4923286 + 5464;39288;2060;2190;236216920;4923286 + 5465;39296;2060;2191;236216920;4962582 + 5466;39300;2060;2191;236216920;4962582 + 5467;39312;2060;2191;236216920;4962582 + 5468;39319;2060;2192;236216920;5001901 + 5469;39324;2060;2192;236216920;5001901 + 5470;39336;2060;2192;236216920;5001901 + 5471;39337;2060;2193;236216920;5041238 + 5472;39348;2060;2193;236216920;5041238 + 5473;39358;2060;2194;236216920;5080596 + 5474;39360;2060;2194;236216920;5080596 + 5475;39372;2060;2194;236216920;5080596 + 5476;39376;2070;2195;256630738;4748707 + 5477;39384;2070;2195;256630738;4748707 + 5478;39396;2070;2195;256630738;4748707 + 5479;39398;2070;2196;256630738;4788105 + 5480;39408;2070;2196;256630738;4788105 + 5481;39419;2070;2197;256630738;4827524 + 5482;39420;2070;2197;256630738;4827524 + 5483;39432;2070;2197;256630738;4827524 + 5484;39435;2070;2198;256630738;4866959 + 5485;39444;2070;2198;256630738;4866959 + 5486;39449;2070;2199;256630738;4906408 + 5487;39456;2070;2199;256630738;4906408 + 5488;39468;2070;2199;256630738;4906408 + 5489;39469;2070;2200;256630738;4945877 + 5490;39480;2070;2200;256630738;4945877 + 5491;39491;2070;2201;256630738;4985368 + 5492;39492;2070;2201;256630738;4985368 + 5493;39504;2070;2201;256630738;4985368 + 5494;39507;2070;2202;256630738;5024875 + 5495;39516;2070;2202;256630738;5024875 + 5496;39528;2070;2202;256630738;5024875 + 5497;39531;2070;2203;256630738;5064406 + 5498;39540;2070;2203;256630738;5064406 + 5499;39552;2070;2203;256630738;5064406 + 5500;39552;2070;2204;256630738;5103958 + 5501;39564;2070;2204;256630738;5103958 + 5502;39576;2070;2204;256630738;5103958 + 5503;39576;2070;2205;256630738;5143534 + 5504;39588;2070;2205;256630738;5143534 + 5505;39590;2070;2206;256630738;5183124 + 5506;39600;2070;2206;256630738;5183124 + 5507;39609;2070;2207;256630738;5222733 + 5508;39612;2070;2207;256630738;5222733 + 5509;39624;2080;2207;275981018;4849760 + 5510;39628;2090;2208;289975758;4514806 + 5511;39636;2090;2208;289975758;4514806 + 5512;39644;2090;2209;289975758;4554450 + 5513;39648;2090;2209;289975758;4554450 + 5514;39660;2090;2209;289975758;4554450 + 5515;39666;2090;2210;289975758;4594116 + 5516;39672;2090;2210;289975758;4594116 + 5517;39680;2090;2211;289975758;4633796 + 5518;39684;2090;2211;289975758;4633796 + 5519;39696;2090;2211;289975758;4633796 + 5520;39698;2090;2212;289975758;4673494 + 5521;39708;2090;2212;289975758;4673494 + 5522;39716;2090;2213;289975758;4713210 + 5523;39720;2090;2213;289975758;4713210 + 5524;39732;2090;2213;289975758;4713210 + 5525;39735;2090;2214;289975758;4752945 + 5526;39744;2090;2214;289975758;4752945 + 5527;39756;2090;2214;289975758;4752945 + 5528;39757;2090;2215;289975758;4792702 + 5529;39768;2090;2215;289975758;4792702 + 5530;39770;2090;2216;289975758;4832472 + 5531;39780;2090;2216;289975758;4832472 + 5532;39787;2090;2217;289975758;4872259 + 5533;39792;2090;2217;289975758;4872259 + 5534;39802;2090;2218;289975758;4912061 + 5535;39804;2090;2218;289975758;4912061 + 5536;39816;2090;2218;289975758;4912061 + 5537;39816;2090;2219;289975758;4951877 + 5538;39828;2090;2219;289975758;4951877 + 5539;39840;2090;2219;289975758;4951877 + 5540;39840;2090;2220;289975758;4991717 + 5541;39852;2090;2220;289975758;4991717 + 5542;39859;2090;2221;289975758;5031576 + 5543;39864;2090;2221;289975758;5031576 + 5544;39876;2090;2221;289975758;5031576 + 5545;39881;2090;2222;289975758;5071457 + 5546;39888;2090;2222;289975758;5071457 + 5547;39897;2090;2223;289975758;5111354 + 5548;39900;2090;2223;289975758;5111354 + 5549;39912;2090;2223;289975758;5111354 + 5550;39916;2090;2224;289975758;5151270 + 5551;39924;2090;2224;289975758;5151270 + 5552;39935;2090;2225;289975758;5191205 + 5553;39936;2090;2225;289975758;5191205 + 5554;39948;2090;2225;289975758;5191205 + 5555;39948;2090;2226;289975758;5231153 + 5556;39960;2090;2226;289975758;5231153 + 5557;39967;2090;2227;289975758;5271120 + 5558;39972;2090;2227;289975758;5271120 + 5559;39984;2090;2227;289975758;5271120 + 5560;39986;2090;2228;289975758;5311106 + 5561;39996;2090;2228;289975758;5311106 + 5562;40001;2090;2229;289975758;5351107 + 5563;40008;2090;2229;289975758;5351107 + 5564;40017;2110;2230;333174924;4636428 + 5565;40020;2110;2230;333174924;4636428 + 5566;40032;2110;2230;333174924;4636428 + 5567;40039;2110;2231;333174924;4676467 + 5568;40044;2110;2231;333174924;4676467 + 5569;40056;2110;2231;333174924;4676467 + 5570;40061;2110;2232;333174924;4716528 + 5571;40068;2110;2232;333174924;4716528 + 5572;40080;2110;2232;333174924;4716528 + 5573;40080;2110;2233;333174924;4756608 + 5574;40092;2110;2233;333174924;4756608 + 5575;40104;2110;2233;333174924;4756608 + 5576;40104;2110;2234;333174924;4796712 + 5577;40116;2110;2234;333174924;4796712 + 5578;40122;2110;2235;333174924;4836834 + 5579;40128;2110;2235;333174924;4836834 + 5580;40138;2110;2236;333174924;4876972 + 5581;40140;2110;2236;333174924;4876972 + 5582;40152;2110;2236;333174924;4876972 + 5583;40160;2110;2237;333174924;4917132 + 5584;40164;2110;2237;333174924;4917132 + 5585;40172;2110;2238;333174924;4957304 + 5586;40176;2110;2238;333174924;4957304 + 5587;40188;2110;2238;333174924;4957304 + 5588;40193;2110;2239;333174924;4997497 + 5589;40200;2110;2239;333174924;4997497 + 5590;40211;2110;2240;333174924;5037708 + 5591;40212;2110;2240;333174924;5037708 + 5592;40224;2110;2240;333174924;5037708 + 5593;40230;2110;2241;333174924;5077938 + 5594;40236;2110;2241;333174924;5077938 + 5595;40246;2110;2242;333174924;5118184 + 5596;40248;2110;2242;333174924;5118184 + 5597;40260;2110;2242;333174924;5118184 + 5598;40263;2120;2243;349660647;4778407 + 5599;40272;2120;2243;349660647;4778407 + 5600;40282;2120;2244;349660647;4818689 + 5601;40284;2120;2244;349660647;4818689 + 5602;40296;2120;2244;349660647;4818689 + 5603;40303;2120;2245;349660647;4858992 + 5604;40308;2120;2245;349660647;4858992 + 5605;40320;2120;2245;349660647;4858992 + 5606;40322;2120;2246;349660647;4899314 + 5607;40332;2120;2246;349660647;4899314 + 5608;40339;2120;2247;349660647;4939653 + 5609;40344;2120;2247;349660647;4939653 + 5610;40356;2120;2247;349660647;4939653 + 5611;40358;2120;2248;349660647;4980011 + 5612;40368;2120;2248;349660647;4980011 + 5613;40380;2120;2248;349660647;4980011 + 5614;40381;2120;2249;349660647;5020392 + 5615;40392;2120;2249;349660647;5020392 + 5616;40401;2120;2250;349660647;5060793 + 5617;40404;2120;2250;349660647;5060793 + 5618;40416;2120;2250;349660647;5060793 + 5619;40416;2120;2251;349660647;5101209 + 5620;40428;2120;2251;349660647;5101209 + 5621;40429;2120;2252;349660647;5141638 + 5622;40440;2120;2252;349660647;5141638 + 5623;40447;2120;2253;349660647;5182085 + 5624;40452;2120;2253;349660647;5182085 + 5625;40464;2120;2253;349660647;5182085 + 5626;40465;2120;2254;349660647;5222550 + 5627;40476;2120;2254;349660647;5222550 + 5628;40484;2140;2255;354662860;4497669 + 5629;40488;2150;2255;367821634;4112348 + 5630;40500;2160;2255;338223783;3725449 + 5631;40505;2170;2256;316565852;3377208 + 5632;40512;2170;2256;316565852;3377208 + 5633;40520;2170;2257;316565852;3417728 + 5634;40524;2170;2257;316565852;3417728 + 5635;40536;2170;2257;316565852;3417728 + 5636;40542;2170;2258;316565852;3458270 + 5637;40548;2170;2258;316565852;3458270 + 5638;40560;2170;2258;316565852;3458270 + 5639;40560;2170;2259;316565852;3498830 + 5640;40572;2170;2259;316565852;3498830 + 5641;40578;2170;2260;316565852;3539408 + 5642;40584;2170;2260;316565852;3539408 + 5643;40596;2170;2260;316565852;3539408 + 5644;40602;2170;2261;316565852;3580010 + 5645;40608;2170;2261;316565852;3580010 + 5646;40620;2170;2261;316565852;3580010 + 5647;40624;2170;2262;316565852;3620634 + 5648;40632;2170;2262;316565852;3620634 + 5649;40644;2170;2262;316565852;3620634 + 5650;40647;2170;2263;316565852;3661281 + 5651;40656;2170;2263;316565852;3661281 + 5652;40665;2170;2264;316565852;3701946 + 5653;40668;2170;2264;316565852;3701946 + 5654;40680;2170;2264;316565852;3701946 + 5655;40686;2170;2265;316565852;3742632 + 5656;40692;2170;2265;316565852;3742632 + 5657;40698;2170;2266;316565852;3783330 + 5658;40704;2170;2266;316565852;3783330 + 5659;40716;2170;2266;316565852;3783330 + 5660;40716;2170;2267;316565852;3824046 + 5661;40728;2170;2267;316565852;3824046 + 5662;40729;2170;2268;316565852;3864775 + 5663;40740;2170;2268;316565852;3864775 + 5664;40746;2170;2269;316565852;3905521 + 5665;40752;2170;2269;316565852;3905521 + 5666;40764;2170;2269;316565852;3905521 + 5667;40764;2170;2270;316565852;3946285 + 5668;40776;2170;2270;316565852;3946285 + 5669;40787;2170;2271;316565852;3987072 + 5670;40788;2170;2271;316565852;3987072 + 5671;40800;2170;2271;316565852;3987072 + 5672;40806;2170;2272;316565852;4027878 + 5673;40812;2170;2272;316565852;4027878 + 5674;40819;2170;2273;316565852;4068697 + 5675;40824;2170;2273;316565852;4068697 + 5676;40836;2170;2273;316565852;4068697 + 5677;40841;2170;2274;316565852;4109538 + 5678;40848;2170;2274;316565852;4109538 + 5679;40860;2170;2274;316565852;4109538 + 5680;40864;2170;2275;316565852;4150402 + 5681;40872;2170;2275;316565852;4150402 + 5682;40880;2170;2276;316565852;4191282 + 5683;40884;2170;2276;316565852;4191282 + 5684;40896;2180;2276;323951166;3800764 + 5685;40901;2180;2277;323951166;3841665 + 5686;40908;2180;2277;323951166;3841665 + 5687;40913;2180;2278;323951166;3882578 + 5688;40920;2180;2278;323951166;3882578 + 5689;40925;2180;2279;323951166;3923503 + 5690;40932;2180;2279;323951166;3923503 + 5691;40944;2180;2279;323951166;3923503 + 5692;40946;2180;2280;323951166;3964449 + 5693;40956;2180;2280;323951166;3964449 + 5694;40968;2190;2280;304323957;3572272 + 5695;40968;2190;2281;304323957;3613240 + 5696;40980;2190;2281;304323957;3613240 + 5697;40988;2190;2282;304323957;3654228 + 5698;40992;2190;2282;304323957;3654228 + 5699;41004;2190;2282;304323957;3654228 + 5700;41012;2190;2283;304323957;3695240 + 5701;41016;2190;2283;304323957;3695240 + 5702;41028;2190;2283;304323957;3695240 + 5703;41035;2190;2284;304323957;3736275 + 5704;41040;2190;2284;304323957;3736275 + 5705;41049;2190;2285;304323957;3777324 + 5706;41052;2190;2285;304323957;3777324 + 5707;41064;2190;2285;304323957;3777324 + 5708;41068;2190;2286;304323957;3818392 + 5709;41076;2190;2286;304323957;3818392 + 5710;41081;2190;2287;304323957;3859473 + 5711;41088;2190;2287;304323957;3859473 + 5712;41100;2190;2287;304323957;3859473 + 5713;41105;2190;2288;304323957;3900578 + 5714;41112;2190;2288;304323957;3900578 + 5715;41118;2190;2289;304323957;3941696 + 5716;41124;2190;2289;304323957;3941696 + 5717;41135;2190;2290;304323957;3982831 + 5718;41136;2190;2290;304323957;3982831 + 5719;41148;2190;2290;304323957;3982831 + 5720;41159;2190;2291;304323957;4023990 + 5721;41160;2190;2291;304323957;4023990 + 5722;41172;2190;2291;304323957;4023990 + 5723;41176;2190;2292;304323957;4065166 + 5724;41184;2190;2292;304323957;4065166 + 5725;41195;2190;2293;304323957;4106361 + 5726;41196;2190;2293;304323957;4106361 + 5727;41208;2190;2293;304323957;4106361 + 5728;41209;2190;2294;304323957;4147570 + 5729;41220;2190;2294;304323957;4147570 + 5730;41221;2190;2295;304323957;4188791 + 5731;41232;2190;2295;304323957;4188791 + 5732;41235;2190;2296;304323957;4230026 + 5733;41244;2190;2296;304323957;4230026 + 5734;41256;2190;2296;304323957;4230026 + 5735;41256;2190;2297;304323957;4271282 + 5736;41268;2190;2297;304323957;4271282 + 5737;41277;2190;2298;304323957;4312559 + 5738;41280;2190;2298;304323957;4312559 + 5739;41292;2190;2298;304323957;4312559 + 5740;41298;2190;2299;304323957;4353857 + 5741;41304;2190;2299;304323957;4353857 + 5742;41316;2190;2299;304323957;4353857 + 5743;41322;2190;2300;304323957;4395179 + 5744;41328;2190;2300;304323957;4395179 + 5745;41338;2190;2301;304323957;4436517 + 5746;41340;2190;2301;304323957;4436517 + 5747;41352;2190;2301;304323957;4436517 + 5748;41353;2190;2302;304323957;4477870 + 5749;41364;2190;2302;304323957;4477870 + 5750;41375;2190;2303;304323957;4519245 + 5751;41376;2190;2303;304323957;4519245 + 5752;41388;2190;2303;304323957;4519245 + 5753;41395;2190;2304;304323957;4560640 + 5754;41400;2190;2304;304323957;4560640 + 5755;41411;2190;2305;304323957;4602051 + 5756;41412;2190;2305;304323957;4602051 + 5757;41424;2200;2305;311059587;4208000 + 5758;41435;2200;2306;311059587;4249435 + 5759;41436;2200;2306;311059587;4249435 + 5760;41448;2200;2306;311059587;4249435 + 5761;41451;2200;2307;311059587;4290886 + 5762;41460;2200;2307;311059587;4290886 + 5763;41472;2200;2307;311059587;4290886 + 5764;41474;2200;2308;311059587;4332360 + 5765;41484;2200;2308;311059587;4332360 + 5766;41493;2200;2309;311059587;4373853 + 5767;41496;2200;2309;311059587;4373853 + 5768;41508;2200;2309;311059587;4373853 + 5769;41517;2200;2310;311059587;4415370 + 5770;41520;2200;2310;311059587;4415370 + 5771;41532;2200;2310;311059587;4415370 + 5772;41532;2200;2311;311059587;4456902 + 5773;41544;2200;2311;311059587;4456902 + 5774;41545;2200;2312;311059587;4498447 + 5775;41556;2200;2312;311059587;4498447 + 5776;41568;2200;2312;311059587;4498447 + 5777;41568;2200;2313;311059587;4540015 + 5778;41580;2200;2313;311059587;4540015 + 5779;41581;2200;2314;311059587;4581596 + 5780;41592;2200;2314;311059587;4581596 + 5781;41596;2200;2315;311059587;4623192 + 5782;41604;2200;2315;311059587;4623192 + 5783;41616;2200;2315;311059587;4623192 + 5784;41620;2200;2316;311059587;4664812 + 5785;41628;2200;2316;311059587;4664812 + 5786;41637;2200;2317;311059587;4706449 + 5787;41640;2200;2317;311059587;4706449 + 5788;41652;2200;2317;311059587;4706449 + 5789;41656;2200;2318;311059587;4748105 + 5790;41664;2200;2318;311059587;4748105 + 5791;41671;2200;2319;311059587;4789776 + 5792;41676;2200;2319;311059587;4789776 + 5793;41688;2200;2319;311059587;4789776 + 5794;41691;2200;2320;311059587;4831467 + 5795;41700;2200;2320;311059587;4831467 + 5796;41712;2200;2320;311059587;4831467 + 5797;41712;2200;2321;311059587;4873179 + 5798;41724;2200;2321;311059587;4873179 + 5799;41727;2200;2322;311059587;4914906 + 5800;41736;2200;2322;311059587;4914906 + 5801;41747;2230;2323;307082624;3763303 + 5802;41748;2230;2323;307082624;3763303 + 5803;41760;2230;2323;307082624;3763303 + 5804;41764;2230;2324;307082624;3805067 + 5805;41772;2230;2324;307082624;3805067 + 5806;41784;2230;2324;307082624;3805067 + 5807;41786;2230;2325;307082624;3846853 + 5808;41796;2230;2325;307082624;3846853 + 5809;41804;2230;2326;307082624;3888657 + 5810;41808;2230;2326;307082624;3888657 + 5811;41820;2230;2326;307082624;3888657 + 5812;41825;2230;2327;307082624;3930482 + 5813;41832;2230;2327;307082624;3930482 + 5814;41844;2230;2327;307082624;3930482 + 5815;41844;2230;2328;307082624;3972326 + 5816;41856;2230;2328;307082624;3972326 + 5817;41856;2230;2329;307082624;4014182 + 5818;41868;2230;2329;307082624;4014182 + 5819;41868;2230;2330;307082624;4056050 + 5820;41880;2230;2330;307082624;4056050 + 5821;41888;2230;2331;307082624;4097938 + 5822;41892;2230;2331;307082624;4097938 + 5823;41904;2230;2331;307082624;4097938 + 5824;41908;2230;2332;307082624;4139846 + 5825;41916;2230;2332;307082624;4139846 + 5826;41928;2230;2332;307082624;4139846 + 5827;41931;2230;2333;307082624;4181777 + 5828;41940;2230;2333;307082624;4181777 + 5829;41946;2230;2334;307082624;4223723 + 5830;41952;2230;2334;307082624;4223723 + 5831;41961;2230;2335;307082624;4265684 + 5832;41964;2230;2335;307082624;4265684 + 5833;41973;2230;2336;307082624;4307657 + 5834;41976;2230;2336;307082624;4307657 + 5835;41988;2230;2336;307082624;4307657 + 5836;41992;2230;2337;307082624;4349649 + 5837;42000;2230;2337;307082624;4349649 + 5838;42008;2230;2338;307082624;4391657 + 5839;42012;2230;2338;307082624;4391657 + 5840;42024;2230;2338;307082624;4391657 + 5841;42028;2230;2339;307082624;4433685 + 5842;42036;2230;2339;307082624;4433685 + 5843;42043;2230;2340;307082624;4475728 + 5844;42048;2230;2340;307082624;4475728 + 5845;42060;2230;2340;307082624;4475728 + 5846;42067;2230;2341;307082624;4517795 + 5847;42072;2230;2341;307082624;4517795 + 5848;42084;2230;2341;307082624;4517795 + 5849;42087;2230;2342;307082624;4559882 + 5850;42096;2230;2342;307082624;4559882 + 5851;42108;2230;2342;307082624;4559882 + 5852;42110;2230;2343;307082624;4601992 + 5853;42120;2230;2343;307082624;4601992 + 5854;42122;2230;2344;307082624;4644114 + 5855;42132;2230;2344;307082624;4644114 + 5856;42144;2230;2344;307082624;4644114 + 5857;42144;2230;2345;307082624;4686258 + 5858;42156;2230;2345;307082624;4686258 + 5859;42160;2230;2346;307082624;4728418 + 5860;42168;2230;2346;307082624;4728418 + 5861;42178;2230;2347;307082624;4770596 + 5862;42180;2230;2347;307082624;4770596 + 5863;42192;2230;2347;307082624;4770596 + 5864;42197;2230;2348;307082624;4812793 + 5865;42204;2230;2348;307082624;4812793 + 5866;42216;2230;2348;307082624;4812793 + 5867;42216;2230;2349;307082624;4855009 + 5868;42228;2230;2349;307082624;4855009 + 5869;42229;2230;2350;307082624;4897238 + 5870;42240;2230;2350;307082624;4897238 + 5871;42244;2230;2351;307082624;4939482 + 5872;42252;2230;2351;307082624;4939482 + 5873;42264;2230;2351;307082624;4939482 + 5874;42266;2230;2352;307082624;4981748 + 5875;42276;2230;2352;307082624;4981748 + 5876;42282;2230;2353;307082624;5024030 + 5877;42288;2230;2353;307082624;5024030 + 5878;42299;2230;2354;307082624;5066329 + 5879;42300;2230;2354;307082624;5066329 + 5880;42311;2240;2355;314351746;4707169 + 5881;42312;2240;2355;314351746;4707169 + 5882;42324;2250;2355;288863352;4303858 + 5883;42330;2250;2356;288863352;4346188 + 5884;42336;2250;2356;288863352;4346188 + 5885;42342;2250;2357;288863352;4388530 + 5886;42348;2250;2357;288863352;4388530 + 5887;42360;2250;2357;288863352;4388530 + 5888;42365;2250;2358;288863352;4430895 + 5889;42372;2250;2358;288863352;4430895 + 5890;42379;2250;2359;288863352;4473274 + 5891;42384;2250;2359;288863352;4473274 + 5892;42395;2250;2360;288863352;4515669 + 5893;42396;2250;2360;288863352;4515669 + 5894;42408;2250;2360;288863352;4515669 + 5895;42412;2250;2361;288863352;4558081 + 5896;42420;2250;2361;288863352;4558081 + 5897;42432;2250;2361;288863352;4558081 + 5898;42434;2250;2362;288863352;4600515 + 5899;42444;2250;2362;288863352;4600515 + 5900;42454;2250;2363;288863352;4642969 + 5901;42456;2250;2363;288863352;4642969 + 5902;42468;2250;2363;288863352;4642969 + 5903;42473;2250;2364;288863352;4685442 + 5904;42480;2250;2364;288863352;4685442 + 5905;42492;2250;2364;288863352;4685442 + 5906;42496;2250;2365;288863352;4727938 + 5907;42504;2250;2365;288863352;4727938 + 5908;42511;2250;2366;288863352;4770449 + 5909;42516;2250;2366;288863352;4770449 + 5910;42528;2250;2366;288863352;4770449 + 5911;42532;2250;2367;288863352;4812981 + 5912;42540;2250;2367;288863352;4812981 + 5913;42546;2250;2368;288863352;4855527 + 5914;42552;2250;2368;288863352;4855527 + 5915;42560;2250;2369;288863352;4898087 + 5916;42564;2250;2369;288863352;4898087 + 5917;42576;2250;2369;288863352;4898087 + 5918;42580;2250;2370;288863352;4940667 + 5919;42588;2250;2370;288863352;4940667 + 5920;42596;2250;2371;288863352;4983263 + 5921;42600;2250;2371;288863352;4983263 + 5922;42612;2250;2371;288863352;4983263 + 5923;42615;2250;2372;288863352;5025878 + 5924;42624;2250;2372;288863352;5025878 + 5925;42631;2250;2373;288863352;5068509 + 5926;42636;2250;2373;288863352;5068509 + 5927;42648;2250;2373;288863352;5068509 + 5928;42654;2250;2374;288863352;5111163 + 5929;42660;2250;2374;288863352;5111163 + 5930;42672;2250;2374;288863352;5111163 + 5931;42674;2250;2375;288863352;5153837 + 5932;42684;2250;2375;288863352;5153837 + 5933;42686;2250;2376;288863352;5196523 + 5934;42696;2250;2376;288863352;5196523 + 5935;42704;2250;2377;288863352;5239227 + 5936;42708;2250;2377;288863352;5239227 + 5937;42720;2250;2377;288863352;5239227 + 5938;42728;2250;2378;288863352;5281955 + 5939;42732;2250;2378;288863352;5281955 + 5940;42744;2250;2378;288863352;5281955 + 5941;42748;2250;2379;288863352;5324703 + 5942;42756;2250;2379;288863352;5324703 + 5943;42768;2250;2379;288863352;5324703 + 5944;42770;2250;2380;288863352;5367473 + 5945;42780;2250;2380;288863352;5367473 + 5946;42784;2260;2381;303156508;5005125 + 5947;42792;2260;2381;303156508;5005125 + 5948;42804;2260;2381;303156508;5005125 + 5949;42805;2270;2382;318369642;4640868 + 5950;42816;2270;2382;318369642;4640868 + 5951;42827;2280;2383;296889543;4274832 + 5952;42828;2280;2383;296889543;4274832 + 5953;42840;2280;2383;296889543;4274832 + 5954;42848;2280;2384;296889543;4317680 + 5955;42852;2280;2384;296889543;4317680 + 5956;42860;2280;2385;296889543;4360540 + 5957;42864;2280;2385;296889543;4360540 + 5958;42876;2280;2385;296889543;4360540 + 5959;42879;2280;2386;296889543;4403419 + 5960;42888;2280;2386;296889543;4403419 + 5961;42900;2280;2386;296889543;4403419 + 5962;42902;2290;2387;293044772;4035571 + 5963;42912;2290;2387;293044772;4035571 + 5964;42923;2290;2388;293044772;4078494 + 5965;42924;2290;2388;293044772;4078494 + 5966;42936;2300;2388;278157184;3665967 + 5967;42939;2300;2389;278157184;3708906 + 5968;42948;2300;2389;278157184;3708906 + 5969;42955;2300;2390;278157184;3751861 + 5970;42960;2300;2390;278157184;3751861 + 5971;42972;2300;2390;278157184;3751861 + 5972;42974;2300;2391;278157184;3794835 + 5973;42984;2300;2391;278157184;3794835 + 5974;42988;2300;2392;278157184;3837823 + 5975;42996;2300;2392;278157184;3837823 + 5976;43008;2300;2392;278157184;3837823 + 5977;43010;2300;2393;278157184;3880833 + 5978;43020;2300;2393;278157184;3880833 + 5979;43031;2300;2394;278157184;3923864 + 5980;43032;2300;2394;278157184;3923864 + 5981;43044;2300;2394;278157184;3923864 + 5982;43046;2300;2395;278157184;3966910 + 5983;43056;2300;2395;278157184;3966910 + 5984;43059;2300;2396;278157184;4009969 + 5985;43068;2300;2396;278157184;4009969 + 5986;43075;2310;2397;269914745;3638608 + 5987;43080;2310;2397;269914745;3638608 + 5988;43087;2310;2398;269914745;3681695 + 5989;43092;2310;2398;269914745;3681695 + 5990;43104;2310;2398;269914745;3681695 + 5991;43105;2310;2399;269914745;3724800 + 5992;43116;2310;2399;269914745;3724800 + 5993;43117;2310;2400;269914745;3767917 + 5994;43128;2310;2400;269914745;3767917 + 5995;43136;2310;2401;269914745;3811053 + 5996;43140;2310;2401;269914745;3811053 + 5997;43152;2310;2401;269914745;3811053 + 5998;43159;2310;2402;269914745;3854212 + 5999;43164;2310;2402;269914745;3854212 + 6000;43176;2310;2402;269914745;3854212 + 6001;43176;2310;2403;269914745;3897388 + 6002;43188;2310;2403;269914745;3897388 + 6003;43188;2310;2404;269914745;3940576 + 6004;43200;2310;2404;269914745;3940576 + 6005;43206;2310;2405;269914745;3983782 + 6006;43212;2310;2405;269914745;3983782 + 6007;43222;2310;2406;269914745;4027004 + 6008;43224;2310;2406;269914745;4027004 + 6009;43236;2310;2406;269914745;4027004 + 6010;43240;2310;2407;269914745;4070244 + 6011;43248;2310;2407;269914745;4070244 + 6012;43255;2310;2408;269914745;4113499 + 6013;43260;2310;2408;269914745;4113499 + 6014;43272;2310;2408;269914745;4113499 + 6015;43274;2310;2409;269914745;4156773 + 6016;43284;2310;2409;269914745;4156773 + 6017;43289;2310;2410;269914745;4200062 + 6018;43296;2310;2410;269914745;4200062 + 6019;43302;2310;2411;269914745;4243364 + 6020;43308;2310;2411;269914745;4243364 + 6021;43320;2310;2411;269914745;4243364 + 6022;43320;2310;2412;269914745;4286684 + 6023;43332;2310;2412;269914745;4286684 + 6024;43343;2310;2413;269914745;4330027 + 6025;43344;2310;2413;269914745;4330027 + 6026;43356;2310;2413;269914745;4330027 + 6027;43359;2310;2414;269914745;4373386 + 6028;43368;2310;2414;269914745;4373386 + 6029;43371;2310;2415;269914745;4416757 + 6030;43380;2310;2415;269914745;4416757 + 6031;43388;2310;2416;269914745;4460145 + 6032;43392;2310;2416;269914745;4460145 + 6033;43404;2310;2416;269914745;4460145 + 6034;43406;2310;2417;269914745;4503551 + 6035;43416;2310;2417;269914745;4503551 + 6036;43420;2310;2418;269914745;4546971 + 6037;43428;2310;2418;269914745;4546971 + 6038;43432;2310;2419;269914745;4590403 + 6039;43440;2310;2419;269914745;4590403 + 6040;43452;2310;2419;269914745;4590403 + 6041;43456;2310;2420;269914745;4633859 + 6042;43464;2310;2420;269914745;4633859 + 6043;43471;2310;2421;269914745;4677330 + 6044;43476;2310;2421;269914745;4677330 + 6045;43487;2310;2422;269914745;4720817 + 6046;43488;2310;2422;269914745;4720817 + 6047;43500;2310;2422;269914745;4720817 + 6048;43509;2320;2423;260519664;4348049 + 6049;43512;2320;2423;260519664;4348049 + 6050;43524;2320;2423;260519664;4348049 + 6051;43530;2320;2424;260519664;4391579 + 6052;43536;2320;2424;260519664;4391579 + 6053;43543;2320;2425;260519664;4435122 + 6054;43548;2320;2425;260519664;4435122 + 6055;43557;2320;2426;260519664;4478679 + 6056;43560;2320;2426;260519664;4478679 + 6057;43572;2320;2426;260519664;4478679 + 6058;43572;2320;2427;260519664;4522251 + 6059;43584;2320;2427;260519664;4522251 + 6060;43585;2320;2428;260519664;4565836 + 6061;43596;2320;2428;260519664;4565836 + 6062;43602;2320;2429;260519664;4609438 + 6063;43608;2320;2429;260519664;4609438 + 6064;43617;2320;2430;260519664;4653055 + 6065;43620;2320;2430;260519664;4653055 + 6066;43632;2320;2430;260519664;4653055 + 6067;43632;2320;2431;260519664;4696687 + 6068;43644;2320;2431;260519664;4696687 + 6069;43652;2320;2432;260519664;4740339 + 6070;43656;2320;2432;260519664;4740339 + 6071;43668;2320;2432;260519664;4740339 + 6072;43674;2320;2433;260519664;4784013 + 6073;43680;2320;2433;260519664;4784013 + 6074;43692;2320;2433;260519664;4784013 + 6075;43692;2320;2434;260519664;4827705 + 6076;43704;2320;2434;260519664;4827705 + 6077;43704;2320;2435;260519664;4871409 + 6078;43716;2320;2435;260519664;4871409 + 6079;43728;2320;2435;260519664;4871409 + 6080;43728;2320;2436;260519664;4915137 + 6081;43740;2320;2436;260519664;4915137 + 6082;43741;2320;2437;260519664;4958878 + 6083;43752;2320;2437;260519664;4958878 + 6084;43762;2320;2438;260519664;5002640 + 6085;43764;2320;2438;260519664;5002640 + 6086;43776;2320;2438;260519664;5002640 + 6087;43785;2320;2439;260519664;5046425 + 6088;43788;2320;2439;260519664;5046425 + 6089;43800;2320;2439;260519664;5046425 + 6090;43803;2320;2440;260519664;5090228 + 6091;43812;2320;2440;260519664;5090228 + 6092;43819;2320;2441;260519664;5134047 + 6093;43824;2320;2441;260519664;5134047 + 6094;43836;2320;2441;260519664;5134047 + 6095;43838;2320;2442;260519664;5177885 + 6096;43848;2320;2442;260519664;5177885 + 6097;43860;2320;2442;260519664;5177885 + 6098;43862;2320;2443;260519664;5221747 + 6099;43872;2320;2443;260519664;5221747 + 6100;43884;2320;2443;260519664;5221747 + 6101;43884;2320;2444;260519664;5265631 + 6102;43896;2320;2444;260519664;5265631 + 6103;43899;2320;2445;260519664;5309530 + 6104;43908;2320;2445;260519664;5309530 + 6105;43913;2320;2446;260519664;5353443 + 6106;43920;2320;2446;260519664;5353443 + 6107;43932;2320;2446;260519664;5353443 + 6108;43933;2330;2447;267937357;4979267 + 6109;43944;2340;2447;245513878;4559410 + 6110;43951;2350;2448;231836865;4181674 + 6111;43956;2350;2448;231836865;4181674 + 6112;43966;2350;2449;231836865;4225640 + 6113;43968;2350;2449;231836865;4225640 + 6114;43980;2350;2449;231836865;4225640 + 6115;43980;2350;2450;231836865;4269620 + 6116;43992;2350;2450;231836865;4269620 + 6117;43998;2350;2451;231836865;4313618 + 6118;44004;2350;2451;231836865;4313618 + 6119;44016;2350;2451;231836865;4313618 + 6120;44020;2350;2452;231836865;4357638 + 6121;44028;2350;2452;231836865;4357638 + 6122;44040;2350;2452;231836865;4357638 + 6123;44040;2350;2453;231836865;4401678 + 6124;44052;2350;2453;231836865;4401678 + 6125;44061;2350;2454;231836865;4445739 + 6126;44064;2350;2454;231836865;4445739 + 6127;44076;2350;2454;231836865;4445739 + 6128;44084;2350;2455;231836865;4489823 + 6129;44088;2350;2455;231836865;4489823 + 6130;44100;2350;2455;231836865;4489823 + 6131;44102;2350;2456;231836865;4533925 + 6132;44112;2350;2456;231836865;4533925 + 6133;44120;2350;2457;231836865;4578045 + 6134;44124;2350;2457;231836865;4578045 + 6135;44136;2350;2457;231836865;4578045 + 6136;44139;2360;2458;230330810;4198803 + 6137;44148;2360;2458;230330810;4198803 + 6138;44155;2360;2459;230330810;4242958 + 6139;44160;2360;2459;230330810;4242958 + 6140;44169;2360;2460;230330810;4287127 + 6141;44172;2360;2460;230330810;4287127 + 6142;44184;2360;2460;230330810;4287127 + 6143;44184;2360;2461;230330810;4331311 + 6144;44196;2360;2461;230330810;4331311 + 6145;44199;2360;2462;230330810;4375510 + 6146;44208;2360;2462;230330810;4375510 + 6147;44219;2360;2463;230330810;4419729 + 6148;44220;2360;2463;230330810;4419729 + 6149;44232;2360;2463;230330810;4419729 + 6150;44237;2360;2464;230330810;4463966 + 6151;44244;2360;2464;230330810;4463966 + 6152;44251;2360;2465;230330810;4508217 + 6153;44256;2360;2465;230330810;4508217 + 6154;44268;2360;2465;230330810;4508217 + 6155;44269;2360;2466;230330810;4552486 + 6156;44280;2360;2466;230330810;4552486 + 6157;44287;2360;2467;230330810;4596773 + 6158;44292;2360;2467;230330810;4596773 + 6159;44299;2360;2468;230330810;4641072 + 6160;44304;2360;2468;230330810;4641072 + 6161;44316;2360;2468;230330810;4641072 + 6162;44322;2360;2469;230330810;4685394 + 6163;44328;2360;2469;230330810;4685394 + 6164;44340;2360;2469;230330810;4685394 + 6165;44342;2360;2470;230330810;4729736 + 6166;44352;2360;2470;230330810;4729736 + 6167;44363;2360;2471;230330810;4774099 + 6168;44364;2360;2471;230330810;4774099 + 6169;44376;2360;2471;230330810;4774099 + 6170;44382;2360;2472;230330810;4818481 + 6171;44388;2360;2472;230330810;4818481 + 6172;44400;2360;2472;230330810;4818481 + 6173;44400;2360;2473;230330810;4862881 + 6174;44412;2360;2473;230330810;4862881 + 6175;44423;2360;2474;230330810;4907304 + 6176;44424;2360;2474;230330810;4907304 + 6177;44435;2360;2475;230330810;4951739 + 6178;44436;2360;2475;230330810;4951739 + 6179;44448;2360;2475;230330810;4951739 + 6180;44458;2360;2476;230330810;4996197 + 6181;44460;2360;2476;230330810;4996197 + 6182;44472;2360;2476;230330810;4996197 + 6183;44474;2360;2477;230330810;5040671 + 6184;44484;2360;2477;230330810;5040671 + 6185;44488;2360;2478;230330810;5085159 + 6186;44496;2360;2478;230330810;5085159 + 6187;44508;2360;2478;230330810;5085159 + 6188;44509;2360;2479;230330810;5129668 + 6189;44520;2360;2479;230330810;5129668 + 6190;44525;2370;2480;233313776;4749011 + 6191;44532;2370;2480;233313776;4749011 + 6192;44541;2370;2481;233313776;4793552 + 6193;44544;2370;2481;233313776;4793552 + 6194;44556;2370;2481;233313776;4793552 + 6195;44564;2370;2482;233313776;4838116 + 6196;44568;2370;2482;233313776;4838116 + 6197;44580;2370;2482;233313776;4838116 + 6198;44580;2370;2483;233313776;4882696 + 6199;44592;2370;2483;233313776;4882696 + 6200;44596;2370;2484;233313776;4927292 + 6201;44604;2370;2484;233313776;4927292 + 6202;44611;2370;2485;233313776;4971903 + 6203;44616;2370;2485;233313776;4971903 + 6204;44628;2370;2485;233313776;4971903 + 6205;44629;2370;2486;233313776;5016532 + 6206;44640;2370;2486;233313776;5016532 + 6207;44644;2370;2487;233313776;5061176 + 6208;44652;2370;2487;233313776;5061176 + 6209;44664;2370;2487;233313776;5061176 + 6210;44667;2370;2488;233313776;5105843 + 6211;44676;2370;2488;233313776;5105843 + 6212;44683;2370;2489;233313776;5150526 + 6213;44688;2370;2489;233313776;5150526 + 6214;44697;2370;2490;233313776;5195223 + 6215;44700;2370;2490;233313776;5195223 + 6216;44712;2370;2490;233313776;5195223 + 6217;44712;2370;2491;233313776;5239935 + 6218;44724;2370;2491;233313776;5239935 + 6219;44733;2370;2492;233313776;5284668 + 6220;44736;2370;2492;233313776;5284668 + 6221;44748;2370;2492;233313776;5284668 + 6222;44753;2370;2493;233313776;5329421 + 6223;44760;2370;2493;233313776;5329421 + 6224;44766;2370;2494;233313776;5374187 + 6225;44772;2370;2494;233313776;5374187 + 6226;44784;2370;2494;233313776;5374187 + 6227;44787;2370;2495;233313776;5418974 + 6228;44796;2370;2495;233313776;5418974 + 6229;44805;2370;2496;233313776;5463779 + 6230;44808;2370;2496;233313776;5463779 + 6231;44820;2370;2496;233313776;5463779 + 6232;44821;2370;2497;233313776;5508600 + 6233;44832;2370;2497;233313776;5508600 + 6234;44843;2370;2498;233313776;5553443 + 6235;44844;2370;2498;233313776;5553443 + 6236;44856;2370;2498;233313776;5553443 + 6237;44857;2370;2499;233313776;5598300 + 6238;44868;2370;2499;233313776;5598300 + 6239;44880;2370;2499;233313776;5598300 + 6240;44881;2370;2500;233313776;5643181 + 6241;44892;2370;2500;233313776;5643181 + 6242;44897;2370;2501;233313776;5688078 + 6243;44904;2370;2501;233313776;5688078 + 6244;44915;2370;2502;233313776;5732993 + 6245;44916;2370;2502;233313776;5732993 + 6246;44928;2370;2502;233313776;5732993 + 6247;44935;2370;2503;233313776;5777928 + 6248;44940;2370;2503;233313776;5777928 + 6249;44949;2370;2504;233313776;5822877 + 6250;44952;2370;2504;233313776;5822877 + 6251;44964;2370;2504;233313776;5822877 + 6252;44964;2370;2505;233313776;5867841 + 6253;44976;2370;2505;233313776;5867841 + 6254;44978;2370;2506;233313776;5912819 + 6255;44988;2370;2506;233313776;5912819 + 6256;44990;2380;2507;255304705;5530815 + 6257;45000;2380;2507;255304705;5530815 + 6258;45003;2380;2508;255304705;5575818 + 6259;45012;2380;2508;255304705;5575818 + 6260;45019;2380;2509;255304705;5620837 + 6261;45024;2380;2509;255304705;5620837 + 6262;45036;2380;2509;255304705;5620837 + 6263;45039;2380;2510;255304705;5665876 + 6264;45048;2380;2510;255304705;5665876 + 6265;45060;2380;2510;255304705;5665876 + 6266;45060;2380;2511;255304705;5710936 + 6267;45072;2380;2511;255304705;5710936 + 6268;45073;2380;2512;255304705;5756009 + 6269;45084;2380;2512;255304705;5756009 + 6270;45085;2380;2513;255304705;5801094 + 6271;45096;2380;2513;255304705;5801094 + 6272;45106;2380;2514;255304705;5846200 + 6273;45108;2380;2514;255304705;5846200 + 6274;45120;2380;2514;255304705;5846200 + 6275;45129;2380;2515;255304705;5891329 + 6276;45132;2380;2515;255304705;5891329 + 6277;45144;2390;2515;249734644;5462417 + 6278;45153;2410;2516;226248864;4644605 + 6279;45156;2410;2516;226248864;4644605 + 6280;45168;2410;2516;226248864;4644605 + 6281;45169;2410;2517;226248864;4689774 + 6282;45180;2410;2517;226248864;4689774 + 6283;45188;2410;2518;226248864;4734962 + 6284;45192;2410;2518;226248864;4734962 + 6285;45204;2410;2518;226248864;4734962 + 6286;45208;2410;2519;226248864;4780170 + 6287;45216;2410;2519;226248864;4780170 + 6288;45228;2410;2519;226248864;4780170 + 6289;45232;2410;2520;226248864;4825402 + 6290;45240;2410;2520;226248864;4825402 + 6291;45247;2410;2521;226248864;4870649 + 6292;45252;2410;2521;226248864;4870649 + 6293;45264;2410;2521;226248864;4870649 + 6294;45265;2410;2522;226248864;4915914 + 6295;45276;2410;2522;226248864;4915914 + 6296;45286;2410;2523;226248864;4961200 + 6297;45288;2410;2523;226248864;4961200 + 6298;45300;2410;2523;226248864;4961200 + 6299;45304;2410;2524;226248864;5006504 + 6300;45312;2410;2524;226248864;5006504 + 6301;45321;2410;2525;226248864;5051825 + 6302;45324;2410;2525;226248864;5051825 + 6303;45336;2420;2525;223281586;4617859 + 6304;45339;2420;2526;223281586;4663198 + 6305;45348;2420;2526;223281586;4663198 + 6306;45353;2420;2527;223281586;4708551 + 6307;45360;2420;2527;223281586;4708551 + 6308;45372;2420;2527;223281586;4708551 + 6309;45374;2420;2528;223281586;4753925 + 6310;45384;2420;2528;223281586;4753925 + 6311;45394;2420;2529;223281586;4799319 + 6312;45396;2420;2529;223281586;4799319 + 6313;45408;2420;2529;223281586;4799319 + 6314;45415;2420;2530;223281586;4844734 + 6315;45420;2420;2530;223281586;4844734 + 6316;45431;2420;2531;223281586;4890165 + 6317;45432;2420;2531;223281586;4890165 + 6318;45444;2420;2531;223281586;4890165 + 6319;45455;2420;2532;223281586;4935620 + 6320;45456;2420;2532;223281586;4935620 + 6321;45468;2420;2532;223281586;4935620 + 6322;45474;2420;2533;223281586;4981094 + 6323;45480;2420;2533;223281586;4981094 + 6324;45492;2420;2533;223281586;4981094 + 6325;45497;2420;2534;223281586;5026591 + 6326;45504;2420;2534;223281586;5026591 + 6327;45510;2420;2535;223281586;5072101 + 6328;45516;2420;2535;223281586;5072101 + 6329;45523;2420;2536;223281586;5117624 + 6330;45528;2420;2536;223281586;5117624 + 6331;45535;2420;2537;223281586;5163159 + 6332;45540;2420;2537;223281586;5163159 + 6333;45551;2420;2538;223281586;5208710 + 6334;45552;2420;2538;223281586;5208710 + 6335;45564;2420;2538;223281586;5208710 + 6336;45565;2420;2539;223281586;5254275 + 6337;45576;2420;2539;223281586;5254275 + 6338;45587;2420;2540;223281586;5299862 + 6339;45588;2420;2540;223281586;5299862 + 6340;45600;2420;2540;223281586;5299862 + 6341;45605;2420;2541;223281586;5345467 + 6342;45612;2420;2541;223281586;5345467 + 6343;45624;2420;2541;223281586;5345467 + 6344;45629;2420;2542;223281586;5391096 + 6345;45636;2420;2542;223281586;5391096 + 6346;45648;2420;2542;223281586;5391096 + 6347;45649;2420;2543;223281586;5436745 + 6348;45660;2420;2543;223281586;5436745 + 6349;45663;2420;2544;223281586;5482408 + 6350;45672;2420;2544;223281586;5482408 + 6351;45684;2420;2544;223281586;5482408 + 6352;45687;2430;2545;232147015;5092461 + 6353;45696;2430;2545;232147015;5092461 + 6354;45708;2430;2545;232147015;5092461 + 6355;45709;2430;2546;232147015;5138170 + 6356;45720;2430;2546;232147015;5138170 + 6357;45723;2430;2547;232147015;5183893 + 6358;45732;2430;2547;232147015;5183893 + 6359;45737;2430;2548;232147015;5229630 + 6360;45744;2430;2548;232147015;5229630 + 6361;45753;2430;2549;232147015;5275383 + 6362;45756;2430;2549;232147015;5275383 + 6363;45766;2430;2550;232147015;5321149 + 6364;45768;2430;2550;232147015;5321149 + 6365;45779;2430;2551;232147015;5366928 + 6366;45780;2430;2551;232147015;5366928 + 6367;45792;2430;2551;232147015;5366928 + 6368;45792;2430;2552;232147015;5412720 + 6369;45804;2430;2552;232147015;5412720 + 6370;45810;2430;2553;232147015;5458530 + 6371;45816;2430;2553;232147015;5458530 + 6372;45828;2430;2553;232147015;5458530 + 6373;45832;2430;2554;232147015;5504362 + 6374;45840;2430;2554;232147015;5504362 + 6375;45849;2430;2555;232147015;5550211 + 6376;45852;2430;2555;232147015;5550211 + 6377;45864;2430;2555;232147015;5550211 + 6378;45872;2430;2556;232147015;5596083 + 6379;45876;2430;2556;232147015;5596083 + 6380;45884;2430;2557;232147015;5641967 + 6381;45888;2430;2557;232147015;5641967 + 6382;45898;2430;2558;232147015;5687865 + 6383;45900;2430;2558;232147015;5687865 + 6384;45911;2430;2559;232147015;5733776 + 6385;45912;2430;2559;232147015;5733776 + 6386;45924;2430;2559;232147015;5733776 + 6387;45930;2430;2560;232147015;5779706 + 6388;45936;2430;2560;232147015;5779706 + 6389;45948;2430;2560;232147015;5779706 + 6390;45953;2430;2561;232147015;5825659 + 6391;45960;2430;2561;232147015;5825659 + 6392;45972;2430;2561;232147015;5825659 + 6393;45975;2430;2562;232147015;5871634 + 6394;45984;2430;2562;232147015;5871634 + 6395;45991;2430;2563;232147015;5917625 + 6396;45996;2430;2563;232147015;5917625 + 6397;46004;2430;2564;232147015;5963629 + 6398;46008;2430;2564;232147015;5963629 + 6399;46020;2430;2564;232147015;5963629 + 6400;46024;2430;2565;232147015;6009653 + 6401;46032;2430;2565;232147015;6009653 + 6402;46044;2430;2565;232147015;6009653 + 6403;46045;2430;2566;232147015;6055698 + 6404;46056;2430;2566;232147015;6055698 + 6405;46067;2430;2567;232147015;6101765 + 6406;46068;2430;2567;232147015;6101765 + 6407;46080;2430;2567;232147015;6101765 + 6408;46083;2430;2568;232147015;6147848 + 6409;46092;2430;2568;232147015;6147848 + 6410;46103;2430;2569;232147015;6193951 + 6411;46104;2430;2569;232147015;6193951 + 6412;46116;2430;2569;232147015;6193951 + 6413;46117;2440;2570;241929798;5802708 + 6414;46128;2450;2570;229332212;5363484 + 6415;46130;2450;2571;229332212;5409614 + 6416;46140;2450;2571;229332212;5409614 + 6417;46152;2450;2571;229332212;5409614 + 6418;46152;2450;2572;229332212;5455766 + 6419;46164;2450;2572;229332212;5455766 + 6420;46164;2450;2573;229332212;5501930 + 6421;46176;2450;2573;229332212;5501930 + 6422;46186;2450;2574;229332212;5548116 + 6423;46188;2450;2574;229332212;5548116 + 6424;46200;2450;2574;229332212;5548116 + 6425;46208;2450;2575;229332212;5594324 + 6426;46212;2450;2575;229332212;5594324 + 6427;46220;2450;2576;229332212;5640544 + 6428;46224;2450;2576;229332212;5640544 + 6429;46236;2450;2576;229332212;5640544 + 6430;46237;2450;2577;229332212;5686781 + 6431;46248;2450;2577;229332212;5686781 + 6432;46249;2450;2578;229332212;5733030 + 6433;46260;2450;2578;229332212;5733030 + 6434;46272;2450;2578;229332212;5733030 + 6435;46272;2450;2579;229332212;5779302 + 6436;46284;2450;2579;229332212;5779302 + 6437;46289;2450;2580;229332212;5825591 + 6438;46296;2450;2580;229332212;5825591 + 6439;46303;2450;2581;229332212;5871894 + 6440;46308;2450;2581;229332212;5871894 + 6441;46320;2450;2581;229332212;5871894 + 6442;46327;2450;2582;229332212;5918221 + 6443;46332;2450;2582;229332212;5918221 + 6444;46344;2450;2582;229332212;5918221 + 6445;46346;2450;2583;229332212;5964567 + 6446;46356;2450;2583;229332212;5964567 + 6447;46365;2450;2584;229332212;6010932 + 6448;46368;2450;2584;229332212;6010932 + 6449;46380;2450;2584;229332212;6010932 + 6450;46385;2450;2585;229332212;6057317 + 6451;46392;2450;2585;229332212;6057317 + 6452;46404;2460;2585;247615268;5616243 + 6453;46405;2470;2586;238836674;5219860 + 6454;46416;2470;2586;238836674;5219860 + 6455;46427;2470;2587;238836674;5266287 + 6456;46428;2470;2587;238836674;5266287 + 6457;46440;2470;2587;238836674;5266287 + 6458;46447;2470;2588;238836674;5312734 + 6459;46452;2470;2588;238836674;5312734 + 6460;46464;2470;2588;238836674;5312734 + 6461;46468;2470;2589;238836674;5359202 + 6462;46476;2470;2589;238836674;5359202 + 6463;46480;2470;2590;238836674;5405682 + 6464;46488;2470;2590;238836674;5405682 + 6465;46493;2470;2591;238836674;5452175 + 6466;46500;2470;2591;238836674;5452175 + 6467;46508;2470;2592;238836674;5498683 + 6468;46512;2470;2592;238836674;5498683 + 6469;46523;2480;2593;241485483;5100571 + 6470;46524;2480;2593;241485483;5100571 + 6471;46536;2480;2593;241485483;5100571 + 6472;46547;2500;2594;232690775;4252592 + 6473;46548;2500;2594;232690775;4252592 + 6474;46560;2500;2594;232690775;4252592 + 6475;46563;2500;2595;232690775;4299155 + 6476;46572;2500;2595;232690775;4299155 + 6477;46584;2500;2595;232690775;4299155 + 6478;46585;2500;2596;232690775;4345740 + 6479;46596;2500;2596;232690775;4345740 + 6480;46600;2500;2597;232690775;4392340 + 6481;46608;2500;2597;232690775;4392340 + 6482;46617;2500;2598;232690775;4438957 + 6483;46620;2500;2598;232690775;4438957 + 6484;46632;2500;2598;232690775;4438957 + 6485;46632;2500;2599;232690775;4485589 + 6486;46644;2500;2599;232690775;4485589 + 6487;46651;2500;2600;232690775;4532240 + 6488;46656;2500;2600;232690775;4532240 + 6489;46666;2500;2601;232690775;4578906 + 6490;46668;2500;2601;232690775;4578906 + 6491;46680;2500;2601;232690775;4578906 + 6492;46681;2500;2602;232690775;4625587 + 6493;46692;2500;2602;232690775;4625587 + 6494;46693;2500;2603;232690775;4672280 + 6495;46704;2500;2603;232690775;4672280 + 6496;46706;2500;2604;232690775;4718986 + 6497;46716;2500;2604;232690775;4718986 + 6498;46721;2500;2605;232690775;4765707 + 6499;46728;2500;2605;232690775;4765707 + 6500;46734;2500;2606;232690775;4812441 + 6501;46740;2500;2606;232690775;4812441 + 6502;46752;2500;2606;232690775;4812441 + 6503;46757;2500;2607;232690775;4859198 + 6504;46764;2500;2607;232690775;4859198 + 6505;46773;2500;2608;232690775;4905971 + 6506;46776;2500;2608;232690775;4905971 + 6507;46788;2500;2608;232690775;4905971 + 6508;46797;2500;2609;232690775;4952768 + 6509;46800;2500;2609;232690775;4952768 + 6510;46812;2500;2609;232690775;4952768 + 6511;46814;2500;2610;232690775;4999582 + 6512;46824;2500;2610;232690775;4999582 + 6513;46836;2500;2610;232690775;4999582 + 6514;46838;2500;2611;232690775;5046420 + 6515;46848;2500;2611;232690775;5046420 + 6516;46860;2500;2611;232690775;5046420 + 6517;46861;2500;2612;232690775;5093281 + 6518;46872;2500;2612;232690775;5093281 + 6519;46882;2500;2613;232690775;5140163 + 6520;46884;2500;2613;232690775;5140163 + 6521;46896;2500;2613;232690775;5140163 + 6522;46898;2500;2614;232690775;5187061 + 6523;46908;2500;2614;232690775;5187061 + 6524;46920;2500;2614;232690775;5187061 + 6525;46920;2500;2615;232690775;5233981 + 6526;46932;2500;2615;232690775;5233981 + 6527;46933;2500;2616;232690775;5280914 + 6528;46944;2500;2616;232690775;5280914 + 6529;46956;2500;2616;232690775;5280914 + 6530;46956;2500;2617;232690775;5327870 + 6531;46968;2500;2617;232690775;5327870 + 6532;46975;2500;2618;232690775;5374845 + 6533;46980;2500;2618;232690775;5374845 + 6534;46988;2500;2619;232690775;5421833 + 6535;46992;2500;2619;232690775;5421833 + 6536;47004;2500;2619;232690775;5421833 + 6537;47004;2500;2620;232690775;5468837 + 6538;47016;2500;2620;232690775;5468837 + 6539;47016;2500;2621;232690775;5515853 + 6540;47028;2500;2621;232690775;5515853 + 6541;47029;2500;2622;232690775;5562882 + 6542;47040;2500;2622;232690775;5562882 + 6543;47045;2500;2623;232690775;5609927 + 6544;47052;2500;2623;232690775;5609927 + 6545;47064;2500;2623;232690775;5609927 + 6546;47064;2500;2624;232690775;5656991 + 6547;47076;2500;2624;232690775;5656991 + 6548;47077;2500;2625;232690775;5704068 + 6549;47088;2500;2625;232690775;5704068 + 6550;47090;2500;2626;232690775;5751158 + 6551;47100;2500;2626;232690775;5751158 + 6552;47106;2500;2627;232690775;5798264 + 6553;47112;2500;2627;232690775;5798264 + 6554;47122;2500;2628;232690775;5845386 + 6555;47124;2500;2628;232690775;5845386 + 6556;47136;2500;2628;232690775;5845386 + 6557;47146;2510;2629;227158101;5442680 + 6558;47148;2510;2629;227158101;5442680 + 6559;47160;2510;2629;227158101;5442680 + 6560;47162;2520;2630;220242780;5038252 + 6561;47172;2520;2630;220242780;5038252 + 6562;47176;2520;2631;220242780;5085428 + 6563;47184;2520;2631;220242780;5085428 + 6564;47196;2520;2631;220242780;5085428 + 6565;47200;2530;2632;212754355;4679146 + 6566;47208;2540;2632;214467803;4223844 + 6567;47220;2540;2632;214467803;4223844 + 6568;47224;2540;2633;214467803;4271068 + 6569;47232;2540;2633;214467803;4271068 + 6570;47238;2540;2634;214467803;4318306 + 6571;47244;2540;2634;214467803;4318306 + 6572;47253;2540;2635;214467803;4365559 + 6573;47256;2540;2635;214467803;4365559 + 6574;47268;2540;2635;214467803;4365559 + 6575;47276;2540;2636;214467803;4412835 + 6576;47280;2540;2636;214467803;4412835 + 6577;47292;2540;2636;214467803;4412835 + 6578;47299;2540;2637;214467803;4460134 + 6579;47304;2540;2637;214467803;4460134 + 6580;47316;2540;2637;214467803;4460134 + 6581;47323;2540;2638;214467803;4507457 + 6582;47328;2540;2638;214467803;4507457 + 6583;47335;2540;2639;214467803;4554792 + 6584;47340;2540;2639;214467803;4554792 + 6585;47348;2540;2640;214467803;4602140 + 6586;47352;2540;2640;214467803;4602140 + 6587;47364;2540;2640;214467803;4602140 + 6588;47371;2540;2641;214467803;4649511 + 6589;47376;2540;2641;214467803;4649511 + 6590;47388;2540;2641;214467803;4649511 + 6591;47390;2540;2642;214467803;4696901 + 6592;47400;2540;2642;214467803;4696901 + 6593;47409;2540;2643;214467803;4744310 + 6594;47412;2540;2643;214467803;4744310 + 6595;47424;2540;2643;214467803;4744310 + 6596;47428;2540;2644;214467803;4791738 + 6597;47436;2540;2644;214467803;4791738 + 6598;47448;2540;2644;214467803;4791738 + 6599;47452;2540;2645;214467803;4839190 + 6600;47460;2540;2645;214467803;4839190 + 6601;47469;2540;2646;214467803;4886659 + 6602;47472;2540;2646;214467803;4886659 + 6603;47484;2540;2646;214467803;4886659 + 6604;47490;2540;2647;214467803;4934149 + 6605;47496;2540;2647;214467803;4934149 + 6606;47502;2540;2648;214467803;4981651 + 6607;47508;2540;2648;214467803;4981651 + 6608;47520;2540;2648;214467803;4981651 + 6609;47522;2540;2649;214467803;5029173 + 6610;47532;2540;2649;214467803;5029173 + 6611;47544;2540;2649;214467803;5029173 + 6612;47544;2540;2650;214467803;5076717 + 6613;47556;2540;2650;214467803;5076717 + 6614;47566;2540;2651;214467803;5124283 + 6615;47568;2540;2651;214467803;5124283 + 6616;47580;2540;2651;214467803;5124283 + 6617;47580;2540;2652;214467803;5171863 + 6618;47592;2540;2652;214467803;5171863 + 6619;47598;2540;2653;214467803;5219461 + 6620;47604;2540;2653;214467803;5219461 + 6621;47616;2540;2653;214467803;5219461 + 6622;47620;2540;2654;214467803;5267081 + 6623;47628;2540;2654;214467803;5267081 + 6624;47632;2540;2655;214467803;5314713 + 6625;47640;2540;2655;214467803;5314713 + 6626;47646;2540;2656;214467803;5362359 + 6627;47652;2540;2656;214467803;5362359 + 6628;47664;2540;2656;214467803;5362359 + 6629;47665;2540;2657;214467803;5410024 + 6630;47676;2540;2657;214467803;5410024 + 6631;47682;2540;2658;214467803;5457706 + 6632;47688;2540;2658;214467803;5457706 + 6633;47695;2540;2659;214467803;5505401 + 6634;47700;2540;2659;214467803;5505401 + 6635;47712;2540;2659;214467803;5505401 + 6636;47719;2540;2660;214467803;5553120 + 6637;47724;2540;2660;214467803;5553120 + 6638;47732;2540;2661;214467803;5600852 + 6639;47736;2540;2661;214467803;5600852 + 6640;47747;2540;2662;214467803;5648599 + 6641;47748;2540;2662;214467803;5648599 + 6642;47760;2540;2662;214467803;5648599 + 6643;47769;2540;2663;214467803;5696368 + 6644;47772;2540;2663;214467803;5696368 + 6645;47784;2540;2663;214467803;5696368 + 6646;47786;2540;2664;214467803;5744154 + 6647;47796;2540;2664;214467803;5744154 + 6648;47800;2540;2665;214467803;5791954 + 6649;47808;2540;2665;214467803;5791954 + 6650;47820;2540;2665;214467803;5791954 + 6651;47821;2540;2666;214467803;5839775 + 6652;47832;2540;2666;214467803;5839775 + 6653;47844;2540;2666;214467803;5839775 + 6654;47844;2540;2667;214467803;5887619 + 6655;47856;2540;2667;214467803;5887619 + 6656;47860;2540;2668;214467803;5935479 + 6657;47868;2540;2668;214467803;5935479 + 6658;47880;2540;2668;214467803;5935479 + 6659;47882;2550;2669;221127880;5526266 + 6660;47892;2550;2669;221127880;5526266 + 6661;47904;2550;2669;221127880;5526266 + 6662;47904;2550;2670;221127880;5574170 + 6663;47916;2550;2670;221127880;5574170 + 6664;47921;2550;2671;221127880;5622091 + 6665;47928;2550;2671;221127880;5622091 + 6666;47940;2550;2671;221127880;5622091 + 6667;47943;2550;2672;221127880;5670034 + 6668;47952;2550;2672;221127880;5670034 + 6669;47955;2550;2673;221127880;5717989 + 6670;47964;2550;2673;221127880;5717989 + 6671;47967;2550;2674;221127880;5765956 + 6672;47976;2550;2674;221127880;5765956 + 6673;47988;2550;2674;221127880;5765956 + 6674;47989;2550;2675;221127880;5813945 + 6675;48000;2550;2675;221127880;5813945 + 6676;48006;2550;2676;221127880;5861951 + 6677;48012;2550;2676;221127880;5861951 + 6678;48020;2550;2677;221127880;5909971 + 6679;48024;2550;2677;221127880;5909971 + 6680;48036;2550;2677;221127880;5909971 + 6681;48041;2550;2678;221127880;5958012 + 6682;48048;2550;2678;221127880;5958012 + 6683;48059;2550;2679;221127880;6006071 + 6684;48060;2550;2679;221127880;6006071 + 6685;48072;2550;2679;221127880;6006071 + 6686;48077;2550;2680;221127880;6054148 + 6687;48084;2550;2680;221127880;6054148 + 6688;48091;2550;2681;221127880;6102239 + 6689;48096;2550;2681;221127880;6102239 + 6690;48104;2550;2682;221127880;6150343 + 6691;48108;2550;2682;221127880;6150343 + 6692;48116;2550;2683;221127880;6198459 + 6693;48120;2550;2683;221127880;6198459 + 6694;48132;2550;2683;221127880;6198459 + 6695;48140;2550;2684;221127880;6246599 + 6696;48144;2550;2684;221127880;6246599 + 6697;48152;2550;2685;221127880;6294751 + 6698;48156;2550;2685;221127880;6294751 + 6699;48168;2550;2685;221127880;6294751 + 6700;48169;2550;2686;221127880;6342920 + 6701;48180;2550;2686;221127880;6342920 + 6702;48190;2550;2687;221127880;6391110 + 6703;48192;2550;2687;221127880;6391110 + 6704;48202;2560;2688;227880505;5980581 + 6705;48204;2560;2688;227880505;5980581 + 6706;48216;2580;2688;238159124;5057762 + 6707;48220;2590;2689;240117297;4641839 + 6708;48228;2590;2689;240117297;4641839 + 6709;48240;2590;2689;240117297;4641839 + 6710;48243;2590;2690;240117297;4690082 + 6711;48252;2590;2690;240117297;4690082 + 6712;48261;2590;2691;240117297;4738343 + 6713;48264;2590;2691;240117297;4738343 + 6714;48276;2590;2691;240117297;4738343 + 6715;48285;2590;2692;240117297;4786628 + 6716;48288;2590;2692;240117297;4786628 + 6717;48297;2590;2693;240117297;4834925 + 6718;48300;2590;2693;240117297;4834925 + 6719;48312;2590;2693;240117297;4834925 + 6720;48321;2590;2694;240117297;4883246 + 6721;48324;2590;2694;240117297;4883246 + 6722;48336;2590;2694;240117297;4883246 + 6723;48337;2590;2695;240117297;4931583 + 6724;48348;2590;2695;240117297;4931583 + 6725;48358;2590;2696;240117297;4979941 + 6726;48360;2590;2696;240117297;4979941 + 6727;48371;2590;2697;240117297;5028312 + 6728;48372;2590;2697;240117297;5028312 + 6729;48384;2590;2697;240117297;5028312 + 6730;48393;2590;2698;240117297;5076705 + 6731;48396;2590;2698;240117297;5076705 + 6732;48408;2590;2698;240117297;5076705 + 6733;48410;2590;2699;240117297;5125115 + 6734;48420;2590;2699;240117297;5125115 + 6735;48423;2590;2700;240117297;5173538 + 6736;48432;2590;2700;240117297;5173538 + 6737;48438;2590;2701;240117297;5221976 + 6738;48444;2590;2701;240117297;5221976 + 6739;48456;2590;2701;240117297;5221976 + 6740;48462;2590;2702;240117297;5270438 + 6741;48468;2590;2702;240117297;5270438 + 6742;48480;2590;2702;240117297;5270438 + 6743;48481;2590;2703;240117297;5318919 + 6744;48492;2590;2703;240117297;5318919 + 6745;48496;2590;2704;240117297;5367415 + 6746;48504;2590;2704;240117297;5367415 + 6747;48514;2590;2705;240117297;5415929 + 6748;48516;2590;2705;240117297;5415929 + 6749;48528;2590;2705;240117297;5415929 + 6750;48532;2590;2706;240117297;5464461 + 6751;48540;2590;2706;240117297;5464461 + 6752;48552;2590;2706;240117297;5464461 + 6753;48553;2590;2707;240117297;5513014 + 6754;48564;2590;2707;240117297;5513014 + 6755;48567;2590;2708;240117297;5561581 + 6756;48576;2590;2708;240117297;5561581 + 6757;48585;2590;2709;240117297;5610166 + 6758;48588;2590;2709;240117297;5610166 + 6759;48600;2590;2709;240117297;5610166 + 6760;48604;2590;2710;240117297;5658770 + 6761;48612;2590;2710;240117297;5658770 + 6762;48624;2590;2710;240117297;5658770 + 6763;48624;2590;2711;240117297;5707394 + 6764;48636;2590;2711;240117297;5707394 + 6765;48639;2590;2712;240117297;5756033 + 6766;48648;2590;2712;240117297;5756033 + 6767;48653;2590;2713;240117297;5804686 + 6768;48660;2590;2713;240117297;5804686 + 6769;48665;2590;2714;240117297;5853351 + 6770;48672;2590;2714;240117297;5853351 + 6771;48677;2590;2715;240117297;5902028 + 6772;48684;2590;2715;240117297;5902028 + 6773;48691;2590;2716;240117297;5950719 + 6774;48696;2590;2716;240117297;5950719 + 6775;48704;2590;2717;240117297;5999423 + 6776;48708;2590;2717;240117297;5999423 + 6777;48720;2590;2717;240117297;5999423 + 6778;48726;2590;2718;240117297;6048149 + 6779;48732;2590;2718;240117297;6048149 + 6780;48739;2590;2719;240117297;6096888 + 6781;48744;2590;2719;240117297;6096888 + 6782;48756;2590;2719;240117297;6096888 + 6783;48759;2590;2720;240117297;6145647 + 6784;48768;2590;2720;240117297;6145647 + 6785;48780;2590;2720;240117297;6145647 + 6786;48782;2590;2721;240117297;6194429 + 6787;48792;2590;2721;240117297;6194429 + 6788;48795;2590;2722;240117297;6243224 + 6789;48804;2590;2722;240117297;6243224 + 6790;48810;2590;2723;240117297;6292034 + 6791;48816;2590;2723;240117297;6292034 + 6792;48828;2590;2723;240117297;6292034 + 6793;48830;2590;2724;240117297;6340864 + 6794;48840;2590;2724;240117297;6340864 + 6795;48852;2590;2724;240117297;6340864 + 6796;48854;2590;2725;240117297;6389718 + 6797;48864;2590;2725;240117297;6389718 + 6798;48866;2590;2726;240117297;6438584 + 6799;48876;2590;2726;240117297;6438584 + 6800;48888;2590;2726;240117297;6438584 + 6801;48888;2590;2727;240117297;6487472 + 6802;48900;2590;2727;240117297;6487472 + 6803;48900;2590;2728;240117297;6536372 + 6804;48912;2590;2728;240117297;6536372 + 6805;48924;2590;2728;240117297;6536372 + 6806;48924;2590;2729;240117297;6585296 + 6807;48936;2590;2729;240117297;6585296 + 6808;48943;2590;2730;240117297;6634239 + 6809;48948;2590;2730;240117297;6634239 + 6810;48960;2590;2730;240117297;6634239 + 6811;48963;2590;2731;240117297;6683202 + 6812;48972;2590;2731;240117297;6683202 + 6813;48981;2600;2732;246088948;6266291 + 6814;48984;2600;2732;246088948;6266291 + 6815;48996;2600;2732;246088948;6266291 + 6816;48999;2610;2733;231140543;5847776 + 6817;49008;2610;2733;231140543;5847776 + 6818;49020;2610;2733;231140543;5847776 + 6819;49020;2610;2734;231140543;5896796 + 6820;49032;2610;2734;231140543;5896796 + 6821;49036;2610;2735;231140543;5945832 + 6822;49044;2610;2735;231140543;5945832 + 6823;49056;2610;2735;231140543;5945832 + 6824;49059;2610;2736;231140543;5994891 + 6825;49068;2610;2736;231140543;5994891 + 6826;49080;2610;2736;231140543;5994891 + 6827;49080;2610;2737;231140543;6043971 + 6828;49092;2610;2737;231140543;6043971 + 6829;49099;2610;2738;231140543;6093070 + 6830;49104;2610;2738;231140543;6093070 + 6831;49116;2610;2738;231140543;6093070 + 6832;49120;2610;2739;231140543;6142190 + 6833;49128;2610;2739;231140543;6142190 + 6834;49140;2610;2739;231140543;6142190 + 6835;49140;2610;2740;231140543;6191330 + 6836;49152;2610;2740;231140543;6191330 + 6837;49163;2610;2741;231140543;6240493 + 6838;49164;2610;2741;231140543;6240493 + 6839;49176;2610;2741;231140543;6240493 + 6840;49181;2610;2742;231140543;6289674 + 6841;49188;2610;2742;231140543;6289674 + 6842;49200;2610;2742;231140543;6289674 + 6843;49202;2610;2743;231140543;6338876 + 6844;49212;2610;2743;231140543;6338876 + 6845;49218;2610;2744;231140543;6388094 + 6846;49224;2610;2744;231140543;6388094 + 6847;49236;2610;2744;231140543;6388094 + 6848;49240;2610;2745;231140543;6437334 + 6849;49248;2610;2745;231140543;6437334 + 6850;49253;2610;2746;231140543;6486587 + 6851;49260;2610;2746;231140543;6486587 + 6852;49271;2610;2747;231140543;6535858 + 6853;49272;2610;2747;231140543;6535858 + 6854;49284;2610;2747;231140543;6535858 + 6855;49286;2620;2748;246830303;6115711 + 6856;49296;2620;2748;246830303;6115711 + 6857;49305;2620;2749;246830303;6165016 + 6858;49308;2620;2749;246830303;6165016 + 6859;49320;2620;2749;246830303;6165016 + 6860;49329;2620;2750;246830303;6214345 + 6861;49332;2620;2750;246830303;6214345 + 6862;49344;2620;2750;246830303;6214345 + 6863;49350;2620;2751;246830303;6263695 + 6864;49356;2620;2751;246830303;6263695 + 6865;49368;2620;2751;246830303;6263695 + 6866;49373;2620;2752;246830303;6313068 + 6867;49380;2620;2752;246830303;6313068 + 6868;49392;2620;2752;246830303;6313068 + 6869;49396;2630;2753;242172497;5891447 + 6870;49404;2640;2753;238358204;5418580 + 6871;49410;2640;2754;238358204;5467990 + 6872;49416;2640;2754;238358204;5467990 + 6873;49426;2640;2755;238358204;5517416 + 6874;49428;2640;2755;238358204;5517416 + 6875;49440;2640;2755;238358204;5517416 + 6876;49450;2640;2756;238358204;5566866 + 6877;49452;2640;2756;238358204;5566866 + 6878;49464;2640;2756;238358204;5566866 + 6879;49470;2640;2757;238358204;5616336 + 6880;49476;2640;2757;238358204;5616336 + 6881;49488;2640;2757;238358204;5616336 + 6882;49488;2640;2758;238358204;5665824 + 6883;49500;2640;2758;238358204;5665824 + 6884;49508;2640;2759;238358204;5715332 + 6885;49512;2640;2759;238358204;5715332 + 6886;49524;2640;2759;238358204;5715332 + 6887;49529;2650;2760;243064475;5290089 + 6888;49536;2650;2760;243064475;5290089 + 6889;49548;2650;2760;243064475;5290089 + 6890;49550;2650;2761;243064475;5339639 + 6891;49560;2650;2761;243064475;5339639 + 6892;49563;2650;2762;243064475;5389202 + 6893;49572;2650;2762;243064475;5389202 + 6894;49577;2650;2763;243064475;5438779 + 6895;49584;2650;2763;243064475;5438779 + 6896;49596;2650;2763;243064475;5438779 + 6897;49596;2650;2764;243064475;5488375 + 6898;49608;2650;2764;243064475;5488375 + 6899;49619;2650;2765;243064475;5537994 + 6900;49620;2650;2765;243064475;5537994 + 6901;49631;2650;2766;243064475;5587625 + 6902;49632;2650;2766;243064475;5587625 + 6903;49644;2650;2766;243064475;5587625 + 6904;49649;2650;2767;243064475;5637274 + 6905;49656;2650;2767;243064475;5637274 + 6906;49662;2650;2768;243064475;5686936 + 6907;49668;2650;2768;243064475;5686936 + 6908;49678;2650;2769;243064475;5736614 + 6909;49680;2650;2769;243064475;5736614 + 6910;49692;2650;2769;243064475;5736614 + 6911;49694;2650;2770;243064475;5786308 + 6912;49704;2650;2770;243064475;5786308 + 6913;49707;2650;2771;243064475;5836015 + 6914;49716;2650;2771;243064475;5836015 + 6915;49721;2650;2772;243064475;5885736 + 6916;49728;2650;2772;243064475;5885736 + 6917;49733;2650;2773;243064475;5935469 + 6918;49740;2650;2773;243064475;5935469 + 6919;49745;2650;2774;243064475;5985214 + 6920;49752;2650;2774;243064475;5985214 + 6921;49760;2650;2775;243064475;6034974 + 6922;49764;2650;2775;243064475;6034974 + 6923;49776;2650;2775;243064475;6034974 + 6924;49784;2650;2776;243064475;6084758 + 6925;49788;2650;2776;243064475;6084758 + 6926;49800;2650;2776;243064475;6084758 + 6927;49802;2650;2777;243064475;6134560 + 6928;49812;2650;2777;243064475;6134560 + 6929;49817;2650;2778;243064475;6184377 + 6930;49824;2650;2778;243064475;6184377 + 6931;49836;2650;2778;243064475;6184377 + 6932;49837;2650;2779;243064475;6234214 + 6933;49848;2650;2779;243064475;6234214 + 6934;49860;2650;2779;243064475;6234214 + 6935;49860;2650;2780;243064475;6284074 + 6936;49872;2650;2780;243064475;6284074 + 6937;49881;2650;2781;243064475;6333955 + 6938;49884;2650;2781;243064475;6333955 + 6939;49896;2650;2781;243064475;6333955 + 6940;49903;2650;2782;243064475;6383858 + 6941;49908;2650;2782;243064475;6383858 + 6942;49919;2650;2783;243064475;6433777 + 6943;49920;2650;2783;243064475;6433777 + 6944;49932;2650;2783;243064475;6433777 + 6945;49941;2650;2784;243064475;6483718 + 6946;49944;2650;2784;243064475;6483718 + 6947;49954;2650;2785;243064475;6533672 + 6948;49956;2650;2785;243064475;6533672 + 6949;49967;2650;2786;243064475;6583639 + 6950;49968;2650;2786;243064475;6583639 + 6951;49980;2650;2786;243064475;6583639 + 6952;49987;2660;2787;250905927;6157057 + 6953;49992;2660;2787;250905927;6157057 + 6954;50004;2660;2787;250905927;6157057 + 6955;50004;2660;2788;250905927;6207061 + 6956;50016;2660;2788;250905927;6207061 + 6957;50021;2670;2789;265885574;5778748 + 6958;50028;2670;2789;265885574;5778748 + 6959;50038;2670;2790;265885574;5828786 + 6960;50040;2670;2790;265885574;5828786 + 6961;50052;2670;2790;265885574;5828786 + 6962;50061;2670;2791;265885574;5878847 + 6963;50064;2670;2791;265885574;5878847 + 6964;50075;2670;2792;265885574;5928922 + 6965;50076;2670;2792;265885574;5928922 + 6966;50088;2670;2792;265885574;5928922 + 6967;50088;2670;2793;265885574;5979010 + 6968;50100;2670;2793;265885574;5979010 + 6969;50108;2670;2794;265885574;6029118 + 6970;50112;2670;2794;265885574;6029118 + 6971;50123;2670;2795;265885574;6079241 + 6972;50124;2670;2795;265885574;6079241 + 6973;50136;2670;2795;265885574;6079241 + 6974;50143;2670;2796;265885574;6129384 + 6975;50148;2670;2796;265885574;6129384 + 6976;50155;2670;2797;265885574;6179539 + 6977;50160;2670;2797;265885574;6179539 + 6978;50172;2670;2797;265885574;6179539 + 6979;50179;2670;2798;265885574;6229718 + 6980;50184;2670;2798;265885574;6229718 + 6981;50196;2680;2798;270140370;5749570 + 6982;50199;2680;2799;270140370;5799769 + 6983;50208;2680;2799;270140370;5799769 + 6984;50220;2680;2799;270140370;5799769 + 6985;50220;2680;2800;270140370;5849989 + 6986;50232;2680;2800;270140370;5849989 + 6987;50236;2680;2801;270140370;5900225 + 6988;50244;2680;2801;270140370;5900225 + 6989;50256;2680;2801;270140370;5900225 + 6990;50257;2680;2802;270140370;5950482 + 6991;50268;2680;2802;270140370;5950482 + 6992;50280;2680;2802;270140370;5950482 + 6993;50281;2680;2803;270140370;6000763 + 6994;50292;2680;2803;270140370;6000763 + 6995;50295;2680;2804;270140370;6051058 + 6996;50304;2680;2804;270140370;6051058 + 6997;50316;2680;2804;270140370;6051058 + 6998;50316;2680;2805;270140370;6101374 + 6999;50328;2680;2805;270140370;6101374 + 7000;50330;2680;2806;270140370;6151704 + 7001;50340;2680;2806;270140370;6151704 + 7002;50346;2690;2807;267400587;5720253 + 7003;50352;2700;2807;242537001;5236620 + 7004;50364;2710;2807;225079817;4751202 + 7005;50366;2710;2808;225079817;4801568 + 7006;50376;2710;2808;225079817;4801568 + 7007;50388;2710;2808;225079817;4801568 + 7008;50389;2710;2809;225079817;4851957 + 7009;50400;2710;2809;225079817;4851957 + 7010;50406;2710;2810;225079817;4902363 + 7011;50412;2710;2810;225079817;4902363 + 7012;50421;2710;2811;225079817;4952784 + 7013;50424;2710;2811;225079817;4952784 + 7014;50436;2710;2811;225079817;4952784 + 7015;50438;2710;2812;225079817;5003222 + 7016;50448;2710;2812;225079817;5003222 + 7017;50453;2710;2813;225079817;5053675 + 7018;50460;2710;2813;225079817;5053675 + 7019;50472;2710;2813;225079817;5053675 + 7020;50477;2710;2814;225079817;5104152 + 7021;50484;2710;2814;225079817;5104152 + 7022;50496;2710;2814;225079817;5104152 + 7023;50499;2710;2815;225079817;5154651 + 7024;50508;2710;2815;225079817;5154651 + 7025;50511;2710;2816;225079817;5205162 + 7026;50520;2720;2816;220943191;4718127 + 7027;50526;2720;2817;220943191;4768653 + 7028;50532;2720;2817;220943191;4768653 + 7029;50544;2720;2817;220943191;4768653 + 7030;50550;2720;2818;220943191;4819203 + 7031;50556;2720;2818;220943191;4819203 + 7032;50565;2720;2819;220943191;4869768 + 7033;50568;2720;2819;220943191;4869768 + 7034;50580;2720;2819;220943191;4869768 + 7035;50584;2720;2820;220943191;4920352 + 7036;50592;2720;2820;220943191;4920352 + 7037;50598;2720;2821;220943191;4970950 + 7038;50604;2720;2821;220943191;4970950 + 7039;50616;2720;2821;220943191;4970950 + 7040;50620;2720;2822;220943191;5021570 + 7041;50628;2720;2822;220943191;5021570 + 7042;50634;2720;2823;220943191;5072204 + 7043;50640;2720;2823;220943191;5072204 + 7044;50652;2720;2823;220943191;5072204 + 7045;50656;2720;2824;220943191;5122860 + 7046;50664;2720;2824;220943191;5122860 + 7047;50674;2720;2825;220943191;5173534 + 7048;50676;2720;2825;220943191;5173534 + 7049;50688;2730;2825;201271945;4684761 + 7050;50690;2730;2826;201271945;4735451 + 7051;50700;2730;2826;201271945;4735451 + 7052;50709;2730;2827;201271945;4786160 + 7053;50712;2730;2827;201271945;4786160 + 7054;50724;2730;2827;201271945;4786160 + 7055;50726;2730;2828;201271945;4836886 + 7056;50736;2730;2828;201271945;4836886 + 7057;50741;2730;2829;201271945;4887627 + 7058;50748;2730;2829;201271945;4887627 + 7059;50755;2730;2830;201271945;4938382 + 7060;50760;2730;2830;201271945;4938382 + 7061;50772;2730;2830;201271945;4938382 + 7062;50772;2730;2831;201271945;4989154 + 7063;50784;2730;2831;201271945;4989154 + 7064;50790;2730;2832;201271945;5039944 + 7065;50796;2730;2832;201271945;5039944 + 7066;50802;2730;2833;201271945;5090746 + 7067;50808;2730;2833;201271945;5090746 + 7068;50818;2730;2834;201271945;5141564 + 7069;50820;2730;2834;201271945;5141564 + 7070;50832;2730;2834;201271945;5141564 + 7071;50835;2730;2835;201271945;5192399 + 7072;50844;2730;2835;201271945;5192399 + 7073;50855;2730;2836;201271945;5243254 + 7074;50856;2730;2836;201271945;5243254 + 7075;50868;2730;2836;201271945;5243254 + 7076;50875;2730;2837;201271945;5294129 + 7077;50880;2730;2837;201271945;5294129 + 7078;50888;2730;2838;201271945;5345017 + 7079;50892;2730;2838;201271945;5345017 + 7080;50904;2730;2838;201271945;5345017 + 7081;50912;2730;2839;201271945;5395929 + 7082;50916;2730;2839;201271945;5395929 + 7083;50924;2730;2840;201271945;5446853 + 7084;50928;2730;2840;201271945;5446853 + 7085;50937;2730;2841;201271945;5497790 + 7086;50940;2730;2841;201271945;5497790 + 7087;50952;2730;2841;201271945;5497790 + 7088;50958;2730;2842;201271945;5548748 + 7089;50964;2730;2842;201271945;5548748 + 7090;50974;2730;2843;201271945;5599722 + 7091;50976;2730;2843;201271945;5599722 + 7092;50988;2730;2843;201271945;5599722 + 7093;50998;2730;2844;201271945;5650720 + 7094;51000;2730;2844;201271945;5650720 + 7095;51012;2730;2844;201271945;5650720 + 7096;51020;2730;2845;201271945;5701740 + 7097;51024;2730;2845;201271945;5701740 + 7098;51036;2730;2845;201271945;5701740 + 7099;51043;2730;2846;201271945;5752783 + 7100;51048;2730;2846;201271945;5752783 + 7101;51055;2730;2847;201271945;5803838 + 7102;51060;2730;2847;201271945;5803838 + 7103;51072;2730;2847;201271945;5803838 + 7104;51072;2730;2848;201271945;5854910 + 7105;51084;2730;2848;201271945;5854910 + 7106;51084;2730;2849;201271945;5905994 + 7107;51096;2730;2849;201271945;5905994 + 7108;51104;2730;2850;201271945;5957098 + 7109;51108;2730;2850;201271945;5957098 + 7110;51120;2730;2850;201271945;5957098 + 7111;51127;2730;2851;201271945;6008225 + 7112;51132;2730;2851;201271945;6008225 + 7113;51144;2730;2851;201271945;6008225 + 7114;51146;2730;2852;201271945;6059371 + 7115;51156;2730;2852;201271945;6059371 + 7116;51161;2730;2853;201271945;6110532 + 7117;51168;2730;2853;201271945;6110532 + 7118;51176;2730;2854;201271945;6161708 + 7119;51180;2730;2854;201271945;6161708 + 7120;51192;2730;2854;201271945;6161708 + 7121;51196;2730;2855;201271945;6212904 + 7122;51204;2740;2855;217863383;5722207 + 7123;51214;2740;2856;217863383;5773421 + 7124;51216;2740;2856;217863383;5773421 + 7125;51228;2740;2856;217863383;5773421 + 7126;51238;2740;2857;217863383;5824659 + 7127;51240;2740;2857;217863383;5824659 + 7128;51252;2740;2857;217863383;5824659 + 7129;51261;2740;2858;217863383;5875920 + 7130;51264;2740;2858;217863383;5875920 + 7131;51276;2740;2858;217863383;5875920 + 7132;51282;2740;2859;217863383;5927202 + 7133;51288;2740;2859;217863383;5927202 + 7134;51300;2740;2859;217863383;5927202 + 7135;51303;2740;2860;217863383;5978505 + 7136;51312;2740;2860;217863383;5978505 + 7137;51324;2740;2860;217863383;5978505 + 7138;51327;2740;2861;217863383;6029832 + 7139;51336;2740;2861;217863383;6029832 + 7140;51345;2740;2862;217863383;6081177 + 7141;51348;2740;2862;217863383;6081177 + 7142;51360;2740;2862;217863383;6081177 + 7143;51362;2740;2863;217863383;6132539 + 7144;51372;2740;2863;217863383;6132539 + 7145;51374;2740;2864;217863383;6183913 + 7146;51384;2740;2864;217863383;6183913 + 7147;51389;2740;2865;217863383;6235302 + 7148;51396;2740;2865;217863383;6235302 + 7149;51408;2740;2865;217863383;6235302 + 7150;51412;2740;2866;217863383;6286714 + 7151;51420;2740;2866;217863383;6286714 + 7152;51425;2740;2867;217863383;6338139 + 7153;51432;2740;2867;217863383;6338139 + 7154;51444;2740;2867;217863383;6338139 + 7155;51444;2740;2868;217863383;6389583 + 7156;51456;2740;2868;217863383;6389583 + 7157;51459;2740;2869;217863383;6441042 + 7158;51468;2740;2869;217863383;6441042 + 7159;51478;2740;2870;217863383;6492520 + 7160;51480;2740;2870;217863383;6492520 + 7161;51492;2740;2870;217863383;6492520 + 7162;51492;2740;2871;217863383;6544012 + 7163;51504;2740;2871;217863383;6544012 + 7164;51505;2740;2872;217863383;6595517 + 7165;51516;2740;2872;217863383;6595517 + 7166;51523;2750;2873;226286676;6154405 + 7167;51528;2750;2873;226286676;6154405 + 7168;51536;2750;2874;226286676;6205941 + 7169;51540;2750;2874;226286676;6205941 + 7170;51551;2750;2875;226286676;6257492 + 7171;51552;2750;2875;226286676;6257492 + 7172;51564;2750;2875;226286676;6257492 + 7173;51565;2750;2876;226286676;6309057 + 7174;51576;2750;2876;226286676;6309057 + 7175;51588;2750;2876;226286676;6309057 + 7176;51588;2750;2877;226286676;6360645 + 7177;51600;2750;2877;226286676;6360645 + 7178;51605;2760;2878;235664919;5917650 + 7179;51612;2760;2878;235664919;5917650 + 7180;51623;2760;2879;235664919;5969273 + 7181;51624;2760;2879;235664919;5969273 + 7182;51636;2760;2879;235664919;5969273 + 7183;51640;2760;2880;235664919;6020913 + 7184;51648;2760;2880;235664919;6020913 + 7185;51660;2760;2880;235664919;6020913 + 7186;51661;2760;2881;235664919;6072574 + 7187;51672;2760;2881;235664919;6072574 + 7188;51684;2760;2881;235664919;6072574 + 7189;51684;2760;2882;235664919;6124258 + 7190;51696;2760;2882;235664919;6124258 + 7191;51703;2760;2883;235664919;6175961 + 7192;51708;2760;2883;235664919;6175961 + 7193;51720;2760;2883;235664919;6175961 + 7194;51721;2760;2884;235664919;6227682 + 7195;51732;2760;2884;235664919;6227682 + 7196;51739;2760;2885;235664919;6279421 + 7197;51744;2760;2885;235664919;6279421 + 7198;51756;2760;2885;235664919;6279421 + 7199;51758;2760;2886;235664919;6331179 + 7200;51768;2760;2886;235664919;6331179 + 7201;51780;2760;2886;235664919;6331179 + 7202;51782;2760;2887;235664919;6382961 + 7203;51792;2760;2887;235664919;6382961 + 7204;51799;2760;2888;235664919;6434760 + 7205;51804;2760;2888;235664919;6434760 + 7206;51816;2760;2888;235664919;6434760 + 7207;51820;2760;2889;235664919;6486580 + 7208;51828;2760;2889;235664919;6486580 + 7209;51840;2760;2889;235664919;6486580 + 7210;51842;2760;2890;235664919;6538422 + 7211;51852;2760;2890;235664919;6538422 + 7212;51862;2760;2891;235664919;6590284 + 7213;51864;2760;2891;235664919;6590284 + 7214;51876;2760;2891;235664919;6590284 + 7215;51878;2760;2892;235664919;6642162 + 7216;51888;2760;2892;235664919;6642162 + 7217;51897;2760;2893;235664919;6694059 + 7218;51900;2760;2893;235664919;6694059 + 7219;51910;2760;2894;235664919;6745969 + 7220;51912;2760;2894;235664919;6745969 + 7221;51924;2760;2894;235664919;6745969 + 7222;51933;2760;2895;235664919;6797902 + 7223;51936;2760;2895;235664919;6797902 + 7224;51948;2760;2895;235664919;6797902 + 7225;51948;2760;2896;235664919;6849850 + 7226;51960;2760;2896;235664919;6849850 + 7227;51966;2770;2897;267534679;6405440 + 7228;51972;2770;2897;267534679;6405440 + 7229;51978;2780;2898;266909494;5959478 + 7230;51984;2780;2898;266909494;5959478 + 7231;51993;2780;2899;266909494;6011471 + 7232;51996;2780;2899;266909494;6011471 + 7233;52008;2780;2899;266909494;6011471 + 7234;52015;2780;2900;266909494;6063486 + 7235;52020;2780;2900;266909494;6063486 + 7236;52030;2780;2901;266909494;6115516 + 7237;52032;2780;2901;266909494;6115516 + 7238;52044;2780;2901;266909494;6115516 + 7239;52052;2780;2902;266909494;6167568 + 7240;52056;2780;2902;266909494;6167568 + 7241;52068;2780;2902;266909494;6167568 + 7242;52073;2780;2903;266909494;6219641 + 7243;52080;2780;2903;266909494;6219641 + 7244;52089;2780;2904;266909494;6271730 + 7245;52092;2780;2904;266909494;6271730 + 7246;52104;2780;2904;266909494;6271730 + 7247;52110;2780;2905;266909494;6323840 + 7248;52116;2780;2905;266909494;6323840 + 7249;52127;2780;2906;266909494;6375967 + 7250;52128;2780;2906;266909494;6375967 + 7251;52140;2780;2906;266909494;6375967 + 7252;52151;2780;2907;266909494;6428118 + 7253;52152;2780;2907;266909494;6428118 + 7254;52164;2780;2907;266909494;6428118 + 7255;52174;2780;2908;266909494;6480292 + 7256;52176;2780;2908;266909494;6480292 + 7257;52188;2780;2908;266909494;6480292 + 7258;52196;2790;2909;262223114;6032693 + 7259;52200;2790;2909;262223114;6032693 + 7260;52212;2790;2909;262223114;6032693 + 7261;52218;2800;2910;254495364;5583385 + 7262;52224;2800;2910;254495364;5583385 + 7263;52236;2800;2910;254495364;5583385 + 7264;52241;2800;2911;254495364;5635626 + 7265;52248;2800;2911;254495364;5635626 + 7266;52260;2800;2911;254495364;5635626 + 7267;52265;2800;2912;254495364;5687891 + 7268;52272;2800;2912;254495364;5687891 + 7269;52279;2800;2913;254495364;5740170 + 7270;52284;2800;2913;254495364;5740170 + 7271;52294;2800;2914;254495364;5792464 + 7272;52296;2800;2914;254495364;5792464 + 7273;52308;2800;2914;254495364;5792464 + 7274;52313;2800;2915;254495364;5844777 + 7275;52320;2800;2915;254495364;5844777 + 7276;52327;2800;2916;254495364;5897104 + 7277;52332;2800;2916;254495364;5897104 + 7278;52344;2800;2916;254495364;5897104 + 7279;52351;2800;2917;254495364;5949455 + 7280;52356;2800;2917;254495364;5949455 + 7281;52368;2800;2917;254495364;5949455 + 7282;52368;2800;2918;254495364;6001823 + 7283;52380;2800;2918;254495364;6001823 + 7284;52385;2800;2919;254495364;6054208 + 7285;52392;2800;2919;254495364;6054208 + 7286;52400;2800;2920;254495364;6106608 + 7287;52404;2800;2920;254495364;6106608 + 7288;52416;2800;2920;254495364;6106608 + 7289;52424;2800;2921;254495364;6159032 + 7290;52428;2800;2921;254495364;6159032 + 7291;52436;2800;2922;254495364;6211468 + 7292;52440;2800;2922;254495364;6211468 + 7293;52452;2800;2922;254495364;6211468 + 7294;52459;2800;2923;254495364;6263927 + 7295;52464;2800;2923;254495364;6263927 + 7296;52476;2800;2923;254495364;6263927 + 7297;52477;2800;2924;254495364;6316404 + 7298;52488;2800;2924;254495364;6316404 + 7299;52489;2800;2925;254495364;6368893 + 7300;52500;2800;2925;254495364;6368893 + 7301;52512;2800;2925;254495364;6368893 + 7302;52512;2800;2926;254495364;6421405 + 7303;52524;2800;2926;254495364;6421405 + 7304;52524;2800;2927;254495364;6473929 + 7305;52536;2800;2927;254495364;6473929 + 7306;52548;2800;2927;254495364;6473929 + 7307;52548;2800;2928;254495364;6526477 + 7308;52560;2800;2928;254495364;6526477 + 7309;52570;2800;2929;254495364;6579047 + 7310;52572;2800;2929;254495364;6579047 + 7311;52584;2800;2929;254495364;6579047 + 7312;52588;2800;2930;254495364;6631635 + 7313;52596;2800;2930;254495364;6631635 + 7314;52607;2800;2931;254495364;6684242 + 7315;52608;2800;2931;254495364;6684242 + 7316;52620;2800;2931;254495364;6684242 + 7317;52624;2800;2932;254495364;6736866 + 7318;52632;2800;2932;254495364;6736866 + 7319;52642;2800;2933;254495364;6789508 + 7320;52644;2800;2933;254495364;6789508 + 7321;52656;2800;2933;254495364;6789508 + 7322;52664;2800;2934;254495364;6842172 + 7323;52668;2800;2934;254495364;6842172 + 7324;52678;2800;2935;254495364;6894850 + 7325;52680;2800;2935;254495364;6894850 + 7326;52692;2800;2935;254495364;6894850 + 7327;52693;2800;2936;254495364;6947543 + 7328;52704;2800;2936;254495364;6947543 + 7329;52715;2800;2937;254495364;7000258 + 7330;52716;2800;2937;254495364;7000258 + 7331;52728;2810;2937;268879297;6496851 + 7332;52728;2820;2938;264158331;6044378 + 7333;52740;2820;2938;264158331;6044378 + 7334;52750;2830;2939;251115662;5590151 + 7335;52752;2830;2939;251115662;5590151 + 7336;52764;2840;2939;230870316;5081515 + 7337;52770;2840;2940;230870316;5134285 + 7338;52776;2840;2940;230870316;5134285 + 7339;52788;2840;2940;230870316;5134285 + 7340;52794;2840;2941;230870316;5187079 + 7341;52800;2840;2941;230870316;5187079 + 7342;52812;2840;2941;230870316;5187079 + 7343;52818;2840;2942;230870316;5239897 + 7344;52824;2840;2942;230870316;5239897 + 7345;52836;2840;2942;230870316;5239897 + 7346;52836;2840;2943;230870316;5292733 + 7347;52848;2840;2943;230870316;5292733 + 7348;52855;2840;2944;230870316;5345588 + 7349;52860;2840;2944;230870316;5345588 + 7350;52872;2840;2944;230870316;5345588 + 7351;52872;2840;2945;230870316;5398460 + 7352;52884;2840;2945;230870316;5398460 + 7353;52886;2840;2946;230870316;5451346 + 7354;52896;2840;2946;230870316;5451346 + 7355;52905;2840;2947;230870316;5504251 + 7356;52908;2840;2947;230870316;5504251 + 7357;52920;2840;2947;230870316;5504251 + 7358;52921;2840;2948;230870316;5557172 + 7359;52932;2840;2948;230870316;5557172 + 7360;52942;2840;2949;230870316;5610114 + 7361;52944;2840;2949;230870316;5610114 + 7362;52956;2840;2949;230870316;5610114 + 7363;52966;2840;2950;230870316;5663080 + 7364;52968;2840;2950;230870316;5663080 + 7365;52980;2840;2950;230870316;5663080 + 7366;52988;2840;2951;230870316;5716068 + 7367;52992;2840;2951;230870316;5716068 + 7368;53003;2840;2952;230870316;5769071 + 7369;53004;2840;2952;230870316;5769071 + 7370;53016;2840;2952;230870316;5769071 + 7371;53017;2840;2953;230870316;5822088 + 7372;53028;2840;2953;230870316;5822088 + 7373;53039;2840;2954;230870316;5875127 + 7374;53040;2840;2954;230870316;5875127 + 7375;53052;2840;2954;230870316;5875127 + 7376;53062;2840;2955;230870316;5928189 + 7377;53064;2840;2955;230870316;5928189 + 7378;53076;2840;2955;230870316;5928189 + 7379;53084;2840;2956;230870316;5981273 + 7380;53088;2840;2956;230870316;5981273 + 7381;53096;2840;2957;230870316;6034369 + 7382;53100;2840;2957;230870316;6034369 + 7383;53112;2840;2957;230870316;6034369 + 7384;53119;2840;2958;230870316;6087488 + 7385;53124;2840;2958;230870316;6087488 + 7386;53135;2840;2959;230870316;6140623 + 7387;53136;2840;2959;230870316;6140623 + 7388;53147;2840;2960;230870316;6193770 + 7389;53148;2840;2960;230870316;6193770 + 7390;53160;2840;2960;230870316;6193770 + 7391;53162;2840;2961;230870316;6246932 + 7392;53172;2840;2961;230870316;6246932 + 7393;53184;2840;2961;230870316;6246932 + 7394;53185;2840;2962;230870316;6300117 + 7395;53196;2840;2962;230870316;6300117 + 7396;53204;2840;2963;230870316;6353321 + 7397;53208;2840;2963;230870316;6353321 + 7398;53220;2850;2963;238756863;5842886 + 7399;53226;2850;2964;238756863;5896112 + 7400;53232;2850;2964;238756863;5896112 + 7401;53244;2850;2964;238756863;5896112 + 7402;53248;2850;2965;238756863;5949360 + 7403;53256;2850;2965;238756863;5949360 + 7404;53266;2850;2966;238756863;6002626 + 7405;53268;2850;2966;238756863;6002626 + 7406;53279;2850;2967;238756863;6055905 + 7407;53280;2850;2967;238756863;6055905 + 7408;53291;2850;2968;238756863;6109196 + 7409;53292;2850;2968;238756863;6109196 + 7410;53304;2850;2968;238756863;6109196 + 7411;53311;2850;2969;238756863;6162507 + 7412;53316;2850;2969;238756863;6162507 + 7413;53325;2850;2970;238756863;6215832 + 7414;53328;2850;2970;238756863;6215832 + 7415;53340;2850;2970;238756863;6215832 + 7416;53349;2850;2971;238756863;6269181 + 7417;53352;2850;2971;238756863;6269181 + 7418;53364;2850;2971;238756863;6269181 + 7419;53366;2850;2972;238756863;6322547 + 7420;53376;2850;2972;238756863;6322547 + 7421;53385;2850;2973;238756863;6375932 + 7422;53388;2850;2973;238756863;6375932 + 7423;53400;2850;2973;238756863;6375932 + 7424;53405;2850;2974;238756863;6429337 + 7425;53412;2850;2974;238756863;6429337 + 7426;53424;2850;2974;238756863;6429337 + 7427;53424;2850;2975;238756863;6482761 + 7428;53436;2850;2975;238756863;6482761 + 7429;53443;2850;2976;238756863;6536204 + 7430;53448;2850;2976;238756863;6536204 + 7431;53460;2850;2976;238756863;6536204 + 7432;53466;2850;2977;238756863;6589670 + 7433;53472;2850;2977;238756863;6589670 + 7434;53481;2860;2978;253138059;6130847 + 7435;53484;2860;2978;253138059;6130847 + 7436;53494;2870;2979;245472853;5670161 + 7437;53496;2870;2979;245472853;5670161 + 7438;53508;2870;2979;245472853;5670161 + 7439;53511;2880;2980;233469786;5207875 + 7440;53520;2880;2980;233469786;5207875 + 7441;53524;2880;2981;233469786;5261399 + 7442;53532;2880;2981;233469786;5261399 + 7443;53537;2880;2982;233469786;5314936 + 7444;53544;2880;2982;233469786;5314936 + 7445;53556;2880;2982;233469786;5314936 + 7446;53557;2880;2983;233469786;5368493 + 7447;53568;2880;2983;233469786;5368493 + 7448;53578;2880;2984;233469786;5422071 + 7449;53580;2880;2984;233469786;5422071 + 7450;53591;2880;2985;233469786;5475662 + 7451;53592;2880;2985;233469786;5475662 + 7452;53604;2880;2985;233469786;5475662 + 7453;53609;2880;2986;233469786;5529271 + 7454;53616;2880;2986;233469786;5529271 + 7455;53622;2880;2987;233469786;5582893 + 7456;53628;2880;2987;233469786;5582893 + 7457;53640;2880;2987;233469786;5582893 + 7458;53641;2880;2988;233469786;5636534 + 7459;53652;2880;2988;233469786;5636534 + 7460;53654;2880;2989;233469786;5690188 + 7461;53664;2880;2989;233469786;5690188 + 7462;53676;2880;2989;233469786;5690188 + 7463;53676;2880;2990;233469786;5743864 + 7464;53688;2880;2990;233469786;5743864 + 7465;53690;2880;2991;233469786;5797554 + 7466;53700;2880;2991;233469786;5797554 + 7467;53712;2880;2991;233469786;5797554 + 7468;53714;2880;2992;233469786;5851268 + 7469;53724;2880;2992;233469786;5851268 + 7470;53732;2880;2993;233469786;5905000 + 7471;53736;2880;2993;233469786;5905000 + 7472;53748;2880;2993;233469786;5905000 + 7473;53755;2880;2994;233469786;5958755 + 7474;53760;2880;2994;233469786;5958755 + 7475;53769;2880;2995;233469786;6012524 + 7476;53772;2880;2995;233469786;6012524 + 7477;53784;2880;2995;233469786;6012524 + 7478;53793;2880;2996;233469786;6066317 + 7479;53796;2880;2996;233469786;6066317 + 7480;53808;2880;2996;233469786;6066317 + 7481;53814;2890;2997;236493405;5602421 + 7482;53820;2890;2997;236493405;5602421 + 7483;53832;2890;2997;236493405;5602421 + 7484;53837;2890;2998;236493405;5656258 + 7485;53844;2890;2998;236493405;5656258 + 7486;53854;2890;2999;236493405;5710112 + 7487;53856;2890;2999;236493405;5710112 + 7488;53868;2890;2999;236493405;5710112 + 7489;53873;2890;3000;236493405;5763985 + 7490;53880;2890;3000;236493405;5763985 + 7491;53887;2890;3001;236493405;5817872 + 7492;53892;2890;3001;236493405;5817872 + 7493;53903;2890;3002;236493405;5871775 + 7494;53904;2890;3002;236493405;5871775 + 7495;53916;2890;3002;236493405;5871775 + 7496;53920;2890;3003;236493405;5925695 + 7497;53928;2890;3003;236493405;5925695 + 7498;53935;2890;3004;236493405;5979630 + 7499;53940;2890;3004;236493405;5979630 + 7500;53952;2890;3004;236493405;5979630 + 7501;53955;2890;3005;236493405;6033585 + 7502;53964;2890;3005;236493405;6033585 + 7503;53972;2890;3006;236493405;6087557 + 7504;53976;2890;3006;236493405;6087557 + 7505;53986;2890;3007;236493405;6141543 + 7506;53988;2890;3007;236493405;6141543 + 7507;53999;2890;3008;236493405;6195542 + 7508;54000;2890;3008;236493405;6195542 + 7509;54012;2890;3008;236493405;6195542 + 7510;54014;2890;3009;236493405;6249556 + 7511;54024;2890;3009;236493405;6249556 + 7512;54031;2890;3010;236493405;6303587 + 7513;54036;2890;3010;236493405;6303587 + 7514;54045;2890;3011;236493405;6357632 + 7515;54048;2890;3011;236493405;6357632 + 7516;54060;2890;3011;236493405;6357632 + 7517;54066;2890;3012;236493405;6411698 + 7518;54072;2890;3012;236493405;6411698 + 7519;54082;2890;3013;236493405;6465780 + 7520;54084;2890;3013;236493405;6465780 + 7521;54096;2890;3013;236493405;6465780 + 7522;54100;2890;3014;236493405;6519880 + 7523;54108;2890;3014;236493405;6519880 + 7524;54116;2890;3015;236493405;6573996 + 7525;54120;2890;3015;236493405;6573996 + 7526;54132;2890;3015;236493405;6573996 + 7527;54133;2890;3016;236493405;6628129 + 7528;54144;2890;3016;236493405;6628129 + 7529;54147;2890;3017;236493405;6682276 + 7530;54156;2890;3017;236493405;6682276 + 7531;54168;2890;3017;236493405;6682276 + 7532;54168;2890;3018;236493405;6736444 + 7533;54180;2890;3018;236493405;6736444 + 7534;54188;2890;3019;236493405;6790632 + 7535;54192;2890;3019;236493405;6790632 + 7536;54202;2890;3020;236493405;6844834 + 7537;54204;2890;3020;236493405;6844834 + 7538;54216;2890;3020;236493405;6844834 + 7539;54216;2890;3021;236493405;6899050 + 7540;54228;2900;3021;233547831;6379502 + 7541;54237;2910;3022;234917838;5912308 + 7542;54240;2910;3022;234917838;5912308 + 7543;54252;2920;3022;232418736;5388902 + 7544;54259;2920;3023;232418736;5443161 + 7545;54264;2920;3023;232418736;5443161 + 7546;54276;2920;3023;232418736;5443161 + 7547;54279;2920;3024;232418736;5497440 + 7548;54288;2920;3024;232418736;5497440 + 7549;54300;2920;3024;232418736;5497440 + 7550;54303;2920;3025;232418736;5551743 + 7551;54312;2920;3025;232418736;5551743 + 7552;54315;2920;3026;232418736;5606058 + 7553;54324;2920;3026;232418736;5606058 + 7554;54336;2920;3026;232418736;5606058 + 7555;54336;2920;3027;232418736;5660394 + 7556;54348;2920;3027;232418736;5660394 + 7557;54360;2920;3027;232418736;5660394 + 7558;54360;2920;3028;232418736;5714754 + 7559;54372;2920;3028;232418736;5714754 + 7560;54372;2920;3029;232418736;5769126 + 7561;54384;2920;3029;232418736;5769126 + 7562;54394;2920;3030;232418736;5823520 + 7563;54396;2920;3030;232418736;5823520 + 7564;54406;2920;3031;232418736;5877926 + 7565;54408;2920;3031;232418736;5877926 + 7566;54420;2920;3031;232418736;5877926 + 7567;54428;2920;3032;232418736;5932354 + 7568;54432;2920;3032;232418736;5932354 + 7569;54444;2920;3032;232418736;5932354 + 7570;54452;2930;3033;215942297;5461596 + 7571;54456;2930;3033;215942297;5461596 + 7572;54468;2930;3033;215942297;5461596 + 7573;54471;2940;3034;208600092;4989009 + 7574;54480;2940;3034;208600092;4989009 + 7575;54490;2940;3035;208600092;5043499 + 7576;54492;2940;3035;208600092;5043499 + 7577;54504;2940;3035;208600092;5043499 + 7578;54510;2940;3036;208600092;5098009 + 7579;54516;2940;3036;208600092;5098009 + 7580;54528;2940;3036;208600092;5098009 + 7581;54528;2940;3037;208600092;5152537 + 7582;54540;2940;3037;208600092;5152537 + 7583;54540;2940;3038;208600092;5207077 + 7584;54552;2940;3038;208600092;5207077 + 7585;54555;2940;3039;208600092;5261632 + 7586;54564;2940;3039;208600092;5261632 + 7587;54572;2940;3040;208600092;5316204 + 7588;54576;2940;3040;208600092;5316204 + 7589;54588;2940;3040;208600092;5316204 + 7590;54591;2940;3041;208600092;5370795 + 7591;54600;2940;3041;208600092;5370795 + 7592;54607;2940;3042;208600092;5425402 + 7593;54612;2940;3042;208600092;5425402 + 7594;54624;2940;3042;208600092;5425402 + 7595;54629;2940;3043;208600092;5480031 + 7596;54636;2940;3043;208600092;5480031 + 7597;54648;2950;3043;195830705;4951042 + 7598;54649;2950;3044;195830705;5005691 + 7599;54660;2950;3044;195830705;5005691 + 7600;54671;2950;3045;195830705;5060362 + 7601;54672;2950;3045;195830705;5060362 + 7602;54684;2950;3045;195830705;5060362 + 7603;54684;2950;3046;195830705;5115046 + 7604;54696;2950;3046;195830705;5115046 + 7605;54705;2950;3047;195830705;5169751 + 7606;54708;2950;3047;195830705;5169751 + 7607;54720;2950;3047;195830705;5169751 + 7608;54726;2950;3048;195830705;5224477 + 7609;54732;2950;3048;195830705;5224477 + 7610;54743;2950;3049;195830705;5279220 + 7611;54744;2950;3049;195830705;5279220 + 7612;54756;2950;3049;195830705;5279220 + 7613;54764;2950;3050;195830705;5333984 + 7614;54768;2950;3050;195830705;5333984 + 7615;54780;2950;3050;195830705;5333984 + 7616;54785;2950;3051;195830705;5388769 + 7617;54792;2950;3051;195830705;5388769 + 7618;54804;2950;3051;195830705;5388769 + 7619;54809;2950;3052;195830705;5443578 + 7620;54816;2950;3052;195830705;5443578 + 7621;54828;2950;3052;195830705;5443578 + 7622;54833;2950;3053;195830705;5498411 + 7623;54840;2950;3053;195830705;5498411 + 7624;54851;2950;3054;195830705;5553262 + 7625;54852;2950;3054;195830705;5553262 + 7626;54864;2950;3054;195830705;5553262 + 7627;54868;2950;3055;195830705;5608130 + 7628;54876;2950;3055;195830705;5608130 + 7629;54887;2950;3056;195830705;5663017 + 7630;54888;2950;3056;195830705;5663017 + 7631;54900;2950;3056;195830705;5663017 + 7632;54906;2950;3057;195830705;5717923 + 7633;54912;2950;3057;195830705;5717923 + 7634;54924;2950;3057;195830705;5717923 + 7635;54929;2950;3058;195830705;5772852 + 7636;54936;2950;3058;195830705;5772852 + 7637;54946;2950;3059;195830705;5827798 + 7638;54948;2950;3059;195830705;5827798 + 7639;54960;2950;3059;195830705;5827798 + 7640;54970;2950;3060;195830705;5882768 + 7641;54972;2950;3060;195830705;5882768 + 7642;54984;2950;3060;195830705;5882768 + 7643;54988;2950;3061;195830705;5937756 + 7644;54996;2950;3061;195830705;5937756 + 7645;55005;2950;3062;195830705;5992761 + 7646;55008;2950;3062;195830705;5992761 + 7647;55020;2950;3062;195830705;5992761 + 7648;55027;2950;3063;195830705;6047788 + 7649;55032;2950;3063;195830705;6047788 + 7650;55044;2950;3063;195830705;6047788 + 7651;55049;2950;3064;195830705;6102837 + 7652;55056;2950;3064;195830705;6102837 + 7653;55063;2950;3065;195830705;6157900 + 7654;55068;2950;3065;195830705;6157900 + 7655;55080;2950;3065;195830705;6157900 + 7656;55085;2950;3066;195830705;6212985 + 7657;55092;2950;3066;195830705;6212985 + 7658;55098;2950;3067;195830705;6268083 + 7659;55104;2950;3067;195830705;6268083 + 7660;55116;2950;3067;195830705;6268083 + 7661;55118;2950;3068;195830705;6323201 + 7662;55128;2950;3068;195830705;6323201 + 7663;55137;2950;3069;195830705;6378338 + 7664;55140;2950;3069;195830705;6378338 + 7665;55152;2950;3069;195830705;6378338 + 7666;55156;2950;3070;195830705;6433494 + 7667;55164;2950;3070;195830705;6433494 + 7668;55176;2950;3070;195830705;6433494 + 7669;55176;2950;3071;195830705;6488670 + 7670;55188;2950;3071;195830705;6488670 + 7671;55189;2950;3072;195830705;6543859 + 7672;55200;2950;3072;195830705;6543859 + 7673;55212;2950;3072;195830705;6543859 + 7674;55213;2950;3073;195830705;6599072 + 7675;55224;2950;3073;195830705;6599072 + 7676;55227;2950;3074;195830705;6654299 + 7677;55236;2950;3074;195830705;6654299 + 7678;55246;2950;3075;195830705;6709545 + 7679;55248;2950;3075;195830705;6709545 + 7680;55260;2950;3075;195830705;6709545 + 7681;55265;2950;3076;195830705;6764810 + 7682;55272;2950;3076;195830705;6764810 + 7683;55278;2950;3077;195830705;6820088 + 7684;55284;2950;3077;195830705;6820088 + 7685;55292;2960;3078;213787919;6344516 + 7686;55296;2960;3078;213787919;6344516 + 7687;55304;2970;3079;209753638;5867136 + 7688;55308;2970;3079;209753638;5867136 + 7689;55320;2970;3079;209753638;5867136 + 7690;55323;2970;3080;209753638;5922459 + 7691;55332;2970;3080;209753638;5922459 + 7692;55336;2970;3081;209753638;5977795 + 7693;55344;2970;3081;209753638;5977795 + 7694;55356;2970;3081;209753638;5977795 + 7695;55360;2970;3082;209753638;6033155 + 7696;55368;2970;3082;209753638;6033155 + 7697;55377;2970;3083;209753638;6088532 + 7698;55380;2970;3083;209753638;6088532 + 7699;55392;2970;3083;209753638;6088532 + 7700;55396;2970;3084;209753638;6143928 + 7701;55404;2970;3084;209753638;6143928 + 7702;55414;2970;3085;209753638;6199342 + 7703;55416;2970;3085;209753638;6199342 + 7704;55428;2970;3085;209753638;6199342 + 7705;55429;2970;3086;209753638;6254771 + 7706;55440;2970;3086;209753638;6254771 + 7707;55443;2970;3087;209753638;6310214 + 7708;55452;2970;3087;209753638;6310214 + 7709;55464;2970;3087;209753638;6310214 + 7710;55466;2970;3088;209753638;6365680 + 7711;55476;2970;3088;209753638;6365680 + 7712;55485;2970;3089;209753638;6421165 + 7713;55488;2970;3089;209753638;6421165 + 7714;55498;2970;3090;209753638;6476663 + 7715;55500;2970;3090;209753638;6476663 + 7716;55512;2970;3090;209753638;6476663 + 7717;55512;2970;3091;209753638;6532175 + 7718;55524;2970;3091;209753638;6532175 + 7719;55535;2970;3092;209753638;6587710 + 7720;55536;2970;3092;209753638;6587710 + 7721;55548;2970;3092;209753638;6587710 + 7722;55555;2970;3093;209753638;6643265 + 7723;55560;2970;3093;209753638;6643265 + 7724;55572;2970;3093;209753638;6643265 + 7725;55574;2970;3094;209753638;6698839 + 7726;55584;2970;3094;209753638;6698839 + 7727;55593;2970;3095;209753638;6754432 + 7728;55596;2970;3095;209753638;6754432 + 7729;55605;2970;3096;209753638;6810037 + 7730;55608;2970;3096;209753638;6810037 + 7731;55620;2970;3096;209753638;6810037 + 7732;55629;2970;3097;209753638;6865666 + 7733;55632;2970;3097;209753638;6865666 + 7734;55644;2970;3097;209753638;6865666 + 7735;55652;2970;3098;209753638;6921318 + 7736;55656;2970;3098;209753638;6921318 + 7737;55665;2970;3099;209753638;6976983 + 7738;55668;2970;3099;209753638;6976983 + 7739;55680;2970;3099;209753638;6976983 + 7740;55689;2990;3100;194656116;5962018 + 7741;55692;2990;3100;194656116;5962018 + 7742;55702;3000;3101;190791463;5479692 + 7743;55704;3000;3101;190791463;5479692 + 7744;55716;3000;3101;190791463;5479692 + 7745;55716;3000;3102;190791463;5535408 + 7746;55728;3000;3102;190791463;5535408 + 7747;55728;3000;3103;190791463;5591136 + 7748;55740;3000;3103;190791463;5591136 + 7749;55747;3000;3104;190791463;5646883 + 7750;55752;3000;3104;190791463;5646883 + 7751;55763;3000;3105;190791463;5702646 + 7752;55764;3000;3105;190791463;5702646 + 7753;55776;3000;3105;190791463;5702646 + 7754;55783;3000;3106;190791463;5758429 + 7755;55788;3000;3106;190791463;5758429 + 7756;55800;3000;3106;190791463;5758429 + 7757;55803;3000;3107;190791463;5814232 + 7758;55812;3000;3107;190791463;5814232 + 7759;55817;3000;3108;190791463;5870049 + 7760;55824;3000;3108;190791463;5870049 + 7761;55836;3000;3108;190791463;5870049 + 7762;55840;3000;3109;190791463;5925889 + 7763;55848;3000;3109;190791463;5925889 + 7764;55857;3000;3110;190791463;5981746 + 7765;55860;3000;3110;190791463;5981746 + 7766;55870;3000;3111;190791463;6037616 + 7767;55872;3000;3111;190791463;6037616 + 7768;55884;3000;3111;190791463;6037616 + 7769;55893;3000;3112;190791463;6093509 + 7770;55896;3000;3112;190791463;6093509 + 7771;55908;3000;3112;190791463;6093509 + 7772;55915;3000;3113;190791463;6149424 + 7773;55920;3000;3113;190791463;6149424 + 7774;55927;3000;3114;190791463;6205351 + 7775;55932;3000;3114;190791463;6205351 + 7776;55944;3000;3114;190791463;6205351 + 7777;55948;3000;3115;190791463;6261299 + 7778;55956;3000;3115;190791463;6261299 + 7779;55961;3000;3116;190791463;6317260 + 7780;55968;3000;3116;190791463;6317260 + 7781;55980;3000;3116;190791463;6317260 + 7782;55985;3000;3117;190791463;6373245 + 7783;55992;3000;3117;190791463;6373245 + 7784;56004;3000;3117;190791463;6373245 + 7785;56005;3000;3118;190791463;6429250 + 7786;56016;3000;3118;190791463;6429250 + 7787;56028;3000;3118;190791463;6429250 + 7788;56029;3000;3119;190791463;6485279 + 7789;56040;3000;3119;190791463;6485279 + 7790;56044;3000;3120;190791463;6541323 + 7791;56052;3000;3120;190791463;6541323 + 7792;56060;3000;3121;190791463;6597383 + 7793;56064;3000;3121;190791463;6597383 + 7794;56072;3000;3122;190791463;6653455 + 7795;56076;3000;3122;190791463;6653455 + 7796;56088;3000;3122;190791463;6653455 + 7797;56092;3000;3123;190791463;6709547 + 7798;56100;3000;3123;190791463;6709547 + 7799;56112;3000;3123;190791463;6709547 + 7800;56116;3000;3124;190791463;6765663 + 7801;56124;3000;3124;190791463;6765663 + 7802;56136;3000;3124;190791463;6765663 + 7803;56140;3000;3125;190791463;6821803 + 7804;56148;3000;3125;190791463;6821803 + 7805;56158;3000;3126;190791463;6877961 + 7806;56160;3000;3126;190791463;6877961 + 7807;56172;3000;3126;190791463;6877961 + 7808;56177;3000;3127;190791463;6934138 + 7809;56184;3000;3127;190791463;6934138 + 7810;56191;3000;3128;190791463;6990329 + 7811;56196;3000;3128;190791463;6990329 + 7812;56207;3000;3129;190791463;7046536 + 7813;56208;3000;3129;190791463;7046536 + 7814;56220;3000;3129;190791463;7046536 + 7815;56220;3010;3130;203572171;6562996 + 7816;56232;3020;3130;211548951;6021578 + 7817;56235;3020;3131;211548951;6077813 + 7818;56244;3020;3131;211548951;6077813 + 7819;56248;3020;3132;211548951;6134061 + 7820;56256;3020;3132;211548951;6134061 + 7821;56261;3020;3133;211548951;6190322 + 7822;56268;3020;3133;211548951;6190322 + 7823;56280;3020;3133;211548951;6190322 + 7824;56281;3020;3134;211548951;6246603 + 7825;56292;3020;3134;211548951;6246603 + 7826;56302;3020;3135;211548951;6302905 + 7827;56304;3020;3135;211548951;6302905 + 7828;56316;3020;3135;211548951;6302905 + 7829;56323;3020;3136;211548951;6359228 + 7830;56328;3020;3136;211548951;6359228 + 7831;56340;3020;3136;211548951;6359228 + 7832;56345;3020;3137;211548951;6415573 + 7833;56352;3020;3137;211548951;6415573 + 7834;56364;3020;3137;211548951;6415573 + 7835;56369;3020;3138;211548951;6471942 + 7836;56376;3020;3138;211548951;6471942 + 7837;56384;3020;3139;211548951;6528326 + 7838;56388;3020;3139;211548951;6528326 + 7839;56398;3020;3140;211548951;6584724 + 7840;56400;3020;3140;211548951;6584724 + 7841;56412;3020;3140;211548951;6584724 + 7842;56416;3020;3141;211548951;6641140 + 7843;56424;3020;3141;211548951;6641140 + 7844;56429;3020;3142;211548951;6697569 + 7845;56436;3020;3142;211548951;6697569 + 7846;56448;3020;3142;211548951;6697569 + 7847;56449;3020;3143;211548951;6754018 + 7848;56460;3020;3143;211548951;6754018 + 7849;56461;3020;3144;211548951;6810479 + 7850;56472;3020;3144;211548951;6810479 + 7851;56477;3030;3145;213823649;6323695 + 7852;56484;3040;3145;199164054;5778558 + 7853;56496;3040;3145;199164054;5778558 + 7854;56501;3040;3146;199164054;5835059 + 7855;56508;3040;3146;199164054;5835059 + 7856;56516;3040;3147;199164054;5891575 + 7857;56520;3040;3147;199164054;5891575 + 7858;56532;3040;3147;199164054;5891575 + 7859;56538;3040;3148;199164054;5948113 + 7860;56544;3040;3148;199164054;5948113 + 7861;56552;3040;3149;199164054;6004665 + 7862;56556;3040;3149;199164054;6004665 + 7863;56567;3040;3150;199164054;6061232 + 7864;56568;3040;3150;199164054;6061232 + 7865;56580;3040;3150;199164054;6061232 + 7866;56582;3040;3151;199164054;6117814 + 7867;56592;3040;3151;199164054;6117814 + 7868;56604;3040;3151;199164054;6117814 + 7869;56604;3040;3152;199164054;6174418 + 7870;56616;3040;3152;199164054;6174418 + 7871;56625;3040;3153;199164054;6231043 + 7872;56628;3040;3153;199164054;6231043 + 7873;56640;3040;3153;199164054;6231043 + 7874;56645;3040;3154;199164054;6287688 + 7875;56652;3040;3154;199164054;6287688 + 7876;56664;3040;3154;199164054;6287688 + 7877;56668;3040;3155;199164054;6344356 + 7878;56676;3040;3155;199164054;6344356 + 7879;56688;3040;3155;199164054;6344356 + 7880;56689;3050;3156;201912026;5854082 + 7881;56700;3050;3156;201912026;5854082 + 7882;56711;3050;3157;201912026;5910793 + 7883;56712;3050;3157;201912026;5910793 + 7884;56724;3050;3157;201912026;5910793 + 7885;56727;3050;3158;201912026;5967520 + 7886;56736;3050;3158;201912026;5967520 + 7887;56745;3050;3159;201912026;6024265 + 7888;56748;3050;3159;201912026;6024265 + 7889;56760;3050;3159;201912026;6024265 + 7890;56763;3050;3160;201912026;6081028 + 7891;56772;3050;3160;201912026;6081028 + 7892;56784;3050;3160;201912026;6081028 + 7893;56785;3050;3161;201912026;6137813 + 7894;56796;3050;3161;201912026;6137813 + 7895;56800;3050;3162;201912026;6194613 + 7896;56808;3050;3162;201912026;6194613 + 7897;56813;3060;3163;192971914;5702439 + 7898;56820;3060;3163;192971914;5702439 + 7899;56832;3060;3163;192971914;5702439 + 7900;56832;3060;3164;192971914;5759271 + 7901;56844;3060;3164;192971914;5759271 + 7902;56854;3060;3165;192971914;5816125 + 7903;56856;3060;3165;192971914;5816125 + 7904;56866;3070;3166;180947406;5322077 + 7905;56868;3070;3166;180947406;5322077 + 7906;56880;3070;3166;180947406;5322077 + 7907;56889;3070;3167;180947406;5378966 + 7908;56892;3070;3167;180947406;5378966 + 7909;56903;3070;3168;180947406;5435869 + 7910;56904;3070;3168;180947406;5435869 + 7911;56916;3070;3168;180947406;5435869 + 7912;56926;3070;3169;180947406;5492795 + 7913;56928;3070;3169;180947406;5492795 + 7914;56940;3070;3169;180947406;5492795 + 7915;56946;3070;3170;180947406;5549741 + 7916;56952;3070;3170;180947406;5549741 + 7917;56961;3070;3171;180947406;5606702 + 7918;56964;3070;3171;180947406;5606702 + 7919;56976;3070;3171;180947406;5606702 + 7920;56984;3070;3172;180947406;5663686 + 7921;56988;3070;3172;180947406;5663686 + 7922;57000;3070;3172;180947406;5663686 + 7923;57003;3070;3173;180947406;5720689 + 7924;57012;3070;3173;180947406;5720689 + 7925;57020;3070;3174;180947406;5777709 + 7926;57024;3070;3174;180947406;5777709 + 7927;57036;3070;3174;180947406;5777709 + 7928;57041;3070;3175;180947406;5834750 + 7929;57048;3070;3175;180947406;5834750 + 7930;57053;3070;3176;180947406;5891803 + 7931;57060;3070;3176;180947406;5891803 + 7932;57072;3070;3176;180947406;5891803 + 7933;57074;3070;3177;180947406;5948877 + 7934;57084;3070;3177;180947406;5948877 + 7935;57090;3070;3178;180947406;6005967 + 7936;57096;3070;3178;180947406;6005967 + 7937;57108;3070;3178;180947406;6005967 + 7938;57113;3070;3179;180947406;6063080 + 7939;57120;3070;3179;180947406;6063080 + 7940;57126;3070;3180;180947406;6120206 + 7941;57132;3070;3180;180947406;6120206 + 7942;57141;3070;3181;180947406;6177347 + 7943;57144;3070;3181;180947406;6177347 + 7944;57156;3070;3181;180947406;6177347 + 7945;57162;3080;3182;174211822;5681836 + 7946;57168;3080;3182;174211822;5681836 + 7947;57176;3080;3183;174211822;5739012 + 7948;57180;3080;3183;174211822;5739012 + 7949;57192;3080;3183;174211822;5739012 + 7950;57197;3080;3184;174211822;5796209 + 7951;57204;3080;3184;174211822;5796209 + 7952;57215;3080;3185;174211822;5853424 + 7953;57216;3080;3185;174211822;5853424 + 7954;57228;3080;3185;174211822;5853424 + 7955;57232;3080;3186;174211822;5910656 + 7956;57240;3080;3186;174211822;5910656 + 7957;57252;3080;3186;174211822;5910656 + 7958;57252;3080;3187;174211822;5967908 + 7959;57264;3080;3187;174211822;5967908 + 7960;57273;3090;3188;161915847;5470801 + 7961;57276;3090;3188;161915847;5470801 + 7962;57286;3090;3189;161915847;5528087 + 7963;57288;3090;3189;161915847;5528087 + 7964;57300;3090;3189;161915847;5528087 + 7965;57309;3090;3190;161915847;5585396 + 7966;57312;3090;3190;161915847;5585396 + 7967;57324;3090;3190;161915847;5585396 + 7968;57329;3090;3191;161915847;5642725 + 7969;57336;3090;3191;161915847;5642725 + 7970;57341;3090;3192;161915847;5700066 + 7971;57348;3090;3192;161915847;5700066 + 7972;57360;3090;3192;161915847;5700066 + 7973;57361;3090;3193;161915847;5757427 + 7974;57372;3090;3193;161915847;5757427 + 7975;57384;3090;3193;161915847;5757427 + 7976;57384;3090;3194;161915847;5814811 + 7977;57396;3090;3194;161915847;5814811 + 7978;57408;3090;3194;161915847;5814811 + 7979;57408;3090;3195;161915847;5872219 + 7980;57420;3090;3195;161915847;5872219 + 7981;57427;3090;3196;161915847;5929646 + 7982;57432;3090;3196;161915847;5929646 + 7983;57441;3090;3197;161915847;5987087 + 7984;57444;3090;3197;161915847;5987087 + 7985;57456;3090;3197;161915847;5987087 + 7986;57459;3100;3198;157670259;5488347 + 7987;57468;3100;3198;157670259;5488347 + 7988;57472;3110;3199;140334465;4987895 + 7989;57480;3110;3199;140334465;4987895 + 7990;57492;3110;3199;140334465;4987895 + 7991;57493;3110;3200;140334465;5045388 + 7992;57504;3110;3200;140334465;5045388 + 7993;57516;3110;3200;140334465;5045388 + 7994;57516;3110;3201;140334465;5102904 + 7995;57528;3110;3201;140334465;5102904 + 7996;57533;3110;3202;140334465;5160437 + 7997;57540;3110;3202;140334465;5160437 + 7998;57552;3110;3202;140334465;5160437 + 7999;57555;3110;3203;140334465;5217992 + 8000;57564;3110;3203;140334465;5217992 + 8001;57573;3110;3204;140334465;5275565 + 8002;57576;3110;3204;140334465;5275565 + 8003;57585;3110;3205;140334465;5333150 + 8004;57588;3110;3205;140334465;5333150 + 8005;57600;3110;3205;140334465;5333150 + 8006;57602;3110;3206;140334465;5390752 + 8007;57612;3110;3206;140334465;5390752 + 8008;57620;3110;3207;140334465;5448372 + 8009;57624;3110;3207;140334465;5448372 + 8010;57633;3110;3208;140334465;5506005 + 8011;57636;3110;3208;140334465;5506005 + 8012;57648;3110;3208;140334465;5506005 + 8013;57657;3110;3209;140334465;5563662 + 8014;57660;3110;3209;140334465;5563662 + 8015;57672;3110;3209;140334465;5563662 + 8016;57677;3110;3210;140334465;5621339 + 8017;57684;3110;3210;140334465;5621339 + 8018;57696;3110;3210;140334465;5621339 + 8019;57700;3110;3211;140334465;5679039 + 8020;57708;3110;3211;140334465;5679039 + 8021;57718;3110;3212;140334465;5736757 + 8022;57720;3110;3212;140334465;5736757 + 8023;57731;3110;3213;140334465;5794488 + 8024;57732;3110;3213;140334465;5794488 + 8025;57743;3110;3214;140334465;5852231 + 8026;57744;3110;3214;140334465;5852231 + 8027;57756;3110;3214;140334465;5852231 + 8028;57756;3110;3215;140334465;5909987 + 8029;57768;3110;3215;140334465;5909987 + 8030;57768;3110;3216;140334465;5967755 + 8031;57780;3110;3216;140334465;5967755 + 8032;57782;3110;3217;140334465;6025537 + 8033;57792;3110;3217;140334465;6025537 + 8034;57803;3110;3218;140334465;6083340 + 8035;57804;3110;3218;140334465;6083340 + 8036;57816;3110;3218;140334465;6083340 + 8037;57820;3110;3219;140334465;6141160 + 8038;57828;3110;3219;140334465;6141160 + 8039;57840;3110;3219;140334465;6141160 + 8040;57840;3110;3220;140334465;6199000 + 8041;57852;3110;3220;140334465;6199000 + 8042;57859;3110;3221;140334465;6256859 + 8043;57864;3110;3221;140334465;6256859 + 8044;57876;3110;3221;140334465;6256859 + 8045;57877;3110;3222;140334465;6314736 + 8046;57888;3110;3222;140334465;6314736 + 8047;57894;3110;3223;140334465;6372630 + 8048;57900;3110;3223;140334465;6372630 + 8049;57912;3110;3223;140334465;6372630 + 8050;57918;3110;3224;140334465;6430548 + 8051;57924;3110;3224;140334465;6430548 + 8052;57934;3110;3225;140334465;6488482 + 8053;57936;3110;3225;140334465;6488482 + 8054;57948;3110;3225;140334465;6488482 + 8055;57955;3110;3226;140334465;6546437 + 8056;57960;3110;3226;140334465;6546437 + 8057;57972;3110;3226;140334465;6546437 + 8058;57975;3110;3227;140334465;6604412 + 8059;57984;3110;3227;140334465;6604412 + 8060;57991;3120;3228;143105304;6102636 + 8061;57996;3120;3228;143105304;6102636 + 8062;58008;3120;3228;143105304;6102636 + 8063;58009;3120;3229;143105304;6160645 + 8064;58020;3120;3229;143105304;6160645 + 8065;58021;3120;3230;143105304;6218666 + 8066;58032;3120;3230;143105304;6218666 + 8067;58040;3120;3231;143105304;6276706 + 8068;58044;3120;3231;143105304;6276706 + 8069;58056;3120;3231;143105304;6276706 + 8070;58057;3120;3232;143105304;6334763 + 8071;58068;3120;3232;143105304;6334763 + 8072;58079;3120;3233;143105304;6392842 + 8073;58080;3120;3233;143105304;6392842 + 8074;58092;3120;3233;143105304;6392842 + 8075;58102;3120;3234;143105304;6450944 + 8076;58104;3120;3234;143105304;6450944 + 8077;58116;3120;3234;143105304;6450944 + 8078;58125;3120;3235;143105304;6509069 + 8079;58128;3120;3235;143105304;6509069 + 8080;58140;3120;3235;143105304;6509069 + 8081;58147;3120;3236;143105304;6567216 + 8082;58152;3120;3236;143105304;6567216 + 8083;58164;3120;3236;143105304;6567216 + 8084;58168;3120;3237;143105304;6625384 + 8085;58176;3120;3237;143105304;6625384 + 8086;58182;3120;3238;143105304;6683566 + 8087;58188;3120;3238;143105304;6683566 + 8088;58200;3120;3238;143105304;6683566 + 8089;58204;3120;3239;143105304;6741770 + 8090;58212;3120;3239;143105304;6741770 + 8091;58220;3120;3240;143105304;6799990 + 8092;58224;3120;3240;143105304;6799990 + 8093;58236;3130;3240;150890642;6238382 + 8094;58236;3130;3241;150890642;6296618 + 8095;58248;3130;3241;150890642;6296618 + 8096;58249;3130;3242;150890642;6354867 + 8097;58260;3130;3242;150890642;6354867 + 8098;58262;3130;3243;150890642;6413129 + 8099;58272;3130;3243;150890642;6413129 + 8100;58281;3130;3244;150890642;6471410 + 8101;58284;3130;3244;150890642;6471410 + 8102;58294;3140;3245;153356494;5966377 + 8103;58296;3140;3245;153356494;5966377 + 8104;58306;3140;3246;153356494;6024683 + 8105;58308;3140;3246;153356494;6024683 + 8106;58320;3140;3246;153356494;6024683 + 8107;58329;3140;3247;153356494;6083012 + 8108;58332;3140;3247;153356494;6083012 + 8109;58343;3140;3248;153356494;6141355 + 8110;58344;3140;3248;153356494;6141355 + 8111;58356;3140;3248;153356494;6141355 + 8112;58358;3140;3249;153356494;6199713 + 8113;58368;3140;3249;153356494;6199713 + 8114;58375;3140;3250;153356494;6258088 + 8115;58380;3140;3250;153356494;6258088 + 8116;58392;3140;3250;153356494;6258088 + 8117;58393;3140;3251;153356494;6316481 + 8118;58404;3140;3251;153356494;6316481 + 8119;58408;3140;3252;153356494;6374889 + 8120;58416;3140;3252;153356494;6374889 + 8121;58428;3140;3252;153356494;6374889 + 8122;58430;3140;3253;153356494;6433319 + 8123;58440;3140;3253;153356494;6433319 + 8124;58452;3140;3253;153356494;6433319 + 8125;58453;3140;3254;153356494;6491772 + 8126;58464;3140;3254;153356494;6491772 + 8127;58469;3140;3255;153356494;6550241 + 8128;58476;3140;3255;153356494;6550241 + 8129;58487;3140;3256;153356494;6608728 + 8130;58488;3140;3256;153356494;6608728 + 8131;58500;3140;3256;153356494;6608728 + 8132;58511;3140;3257;153356494;6667239 + 8133;58512;3140;3257;153356494;6667239 + 8134;58523;3140;3258;153356494;6725762 + 8135;58524;3140;3258;153356494;6725762 + 8136;58536;3140;3258;153356494;6725762 + 8137;58545;3140;3259;153356494;6784307 + 8138;58548;3140;3259;153356494;6784307 + 8139;58559;3140;3260;153356494;6842866 + 8140;58560;3140;3260;153356494;6842866 + 8141;58572;3140;3260;153356494;6842866 + 8142;58572;3140;3261;153356494;6901438 + 8143;58584;3140;3261;153356494;6901438 + 8144;58585;3150;3262;160756518;6394951 + 8145;58596;3160;3262;166136881;5827989 + 8146;58606;3160;3263;166136881;5886595 + 8147;58608;3160;3263;166136881;5886595 + 8148;58620;3160;3263;166136881;5886595 + 8149;58625;3160;3264;166136881;5945220 + 8150;58632;3160;3264;166136881;5945220 + 8151;58644;3160;3264;166136881;5945220 + 8152;58649;3160;3265;166136881;6003869 + 8153;58656;3160;3265;166136881;6003869 + 8154;58662;3160;3266;166136881;6062531 + 8155;58668;3160;3266;166136881;6062531 + 8156;58680;3160;3266;166136881;6062531 + 8157;58681;3160;3267;166136881;6121212 + 8158;58692;3160;3267;166136881;6121212 + 8159;58697;3160;3268;166136881;6179909 + 8160;58704;3160;3268;166136881;6179909 + 8161;58709;3160;3269;166136881;6238618 + 8162;58716;3160;3269;166136881;6238618 + 8163;58724;3160;3270;166136881;6297342 + 8164;58728;3160;3270;166136881;6297342 + 8165;58740;3160;3270;166136881;6297342 + 8166;58748;3160;3271;166136881;6356090 + 8167;58752;3160;3271;166136881;6356090 + 8168;58761;3160;3272;166136881;6414851 + 8169;58764;3160;3272;166136881;6414851 + 8170;58776;3160;3272;166136881;6414851 + 8171;58782;3160;3273;166136881;6473633 + 8172;58788;3160;3273;166136881;6473633 + 8173;58800;3160;3273;166136881;6473633 + 8174;58801;3160;3274;166136881;6532434 + 8175;58812;3160;3274;166136881;6532434 + 8176;58816;3160;3275;166136881;6591250 + 8177;58824;3160;3275;166136881;6591250 + 8178;58830;3160;3276;166136881;6650080 + 8179;58836;3160;3276;166136881;6650080 + 8180;58847;3160;3277;166136881;6708927 + 8181;58848;3160;3277;166136881;6708927 + 8182;58860;3160;3277;166136881;6708927 + 8183;58868;3160;3278;166136881;6767795 + 8184;58872;3160;3278;166136881;6767795 + 8185;58884;3160;3278;166136881;6767795 + 8186;58886;3160;3279;166136881;6826681 + 8187;58896;3160;3279;166136881;6826681 + 8188;58906;3160;3280;166136881;6885587 + 8189;58908;3160;3280;166136881;6885587 + 8190;58920;3160;3280;166136881;6885587 + 8191;58920;3160;3281;166136881;6944507 + 8192;58932;3160;3281;166136881;6944507 + 8193;58944;3160;3281;166136881;6944507 + 8194;58944;3160;3282;166136881;7003451 + 8195;58956;3160;3282;166136881;7003451 + 8196;58966;3160;3283;166136881;7062417 + 8197;58968;3160;3283;166136881;7062417 + 8198;58980;3160;3283;166136881;7062417 + 8199;58980;3160;3284;166136881;7121397 + 8200;58992;3160;3284;166136881;7121397 + 8201;58999;3160;3285;166136881;7180396 + 8202;59004;3160;3285;166136881;7180396 + 8203;59016;3160;3285;166136881;7180396 + 8204;59017;3160;3286;166136881;7239413 + 8205;59028;3160;3286;166136881;7239413 + 8206;59038;3160;3287;166136881;7298451 + 8207;59040;3160;3287;166136881;7298451 + 8208;59052;3160;3287;166136881;7298451 + 8209;59053;3160;3288;166136881;7357504 + 8210;59064;3160;3288;166136881;7357504 + 8211;59076;3160;3288;166136881;7357504 + 8212;59077;3160;3289;166136881;7416581 + 8213;59088;3160;3289;166136881;7416581 + 8214;59092;3160;3290;166136881;7475673 + 8215;59100;3160;3290;166136881;7475673 + 8216;59109;3160;3291;166136881;7534782 + 8217;59112;3160;3291;166136881;7534782 + 8218;59124;3160;3291;166136881;7534782 + 8219;59129;3160;3292;166136881;7593911 + 8220;59136;3160;3292;166136881;7593911 + 8221;59142;3160;3293;166136881;7653053 + 8222;59148;3160;3293;166136881;7653053 + 8223;59160;3160;3293;166136881;7653053 + 8224;59163;3170;3294;175116665;7143426 + 8225;59172;3170;3294;175116665;7143426 + 8226;59184;3170;3294;175116665;7143426 + 8227;59185;3170;3295;175116665;7202611 + 8228;59196;3170;3295;175116665;7202611 + 8229;59198;3170;3296;175116665;7261809 + 8230;59208;3170;3296;175116665;7261809 + 8231;59215;3170;3297;175116665;7321024 + 8232;59220;3170;3297;175116665;7321024 + 8233;59232;3170;3297;175116665;7321024 + 8234;59238;3170;3298;175116665;7380262 + 8235;59244;3170;3298;175116665;7380262 + 8236;59256;3170;3298;175116665;7380262 + 8237;59256;3170;3299;175116665;7439518 + 8238;59268;3170;3299;175116665;7439518 + 8239;59276;3170;3300;175116665;7498794 + 8240;59280;3170;3300;175116665;7498794 + 8241;59292;3170;3300;175116665;7498794 + 8242;59298;3170;3301;175116665;7558092 + 8243;59304;3170;3301;175116665;7558092 + 8244;59316;3170;3301;175116665;7558092 + 8245;59317;3170;3302;175116665;7617409 + 8246;59328;3170;3302;175116665;7617409 + 8247;59339;3170;3303;175116665;7676748 + 8248;59340;3170;3303;175116665;7676748 + 8249;59352;3170;3303;175116665;7676748 + 8250;59352;3170;3304;175116665;7736100 + 8251;59364;3170;3304;175116665;7736100 + 8252;59375;3170;3305;175116665;7795475 + 8253;59376;3170;3305;175116665;7795475 + 8254;59388;3170;3305;175116665;7795475 + 8255;59398;3190;3306;183107130;6711797 + 8256;59400;3190;3306;183107130;6711797 + 8257;59412;3190;3306;183107130;6711797 + 8258;59420;3200;3307;186972291;6196915 + 8259;59424;3200;3307;186972291;6196915 + 8260;59436;3210;3307;170610450;5620780 + 8261;59441;3210;3308;170610450;5680221 + 8262;59448;3210;3308;170610450;5680221 + 8263;59457;3210;3309;170610450;5739678 + 8264;59460;3210;3309;170610450;5739678 + 8265;59472;3210;3309;170610450;5739678 + 8266;59479;3210;3310;170610450;5799157 + 8267;59484;3210;3310;170610450;5799157 + 8268;59496;3210;3310;170610450;5799157 + 8269;59498;3210;3311;170610450;5858655 + 8270;59508;3210;3311;170610450;5858655 + 8271;59510;3210;3312;170610450;5918165 + 8272;59520;3210;3312;170610450;5918165 + 8273;59524;3210;3313;170610450;5977689 + 8274;59532;3210;3313;170610450;5977689 + 8275;59544;3210;3313;170610450;5977689 + 8276;59546;3210;3314;170610450;6037235 + 8277;59556;3210;3314;170610450;6037235 + 8278;59564;3210;3315;170610450;6096799 + 8279;59568;3210;3315;170610450;6096799 + 8280;59580;3210;3315;170610450;6096799 + 8281;59584;3210;3316;170610450;6156383 + 8282;59592;3210;3316;170610450;6156383 + 8283;59604;3210;3316;170610450;6156383 + 8284;59605;3210;3317;170610450;6215988 + 8285;59616;3210;3317;170610450;6215988 + 8286;59627;3210;3318;170610450;6275615 + 8287;59628;3210;3318;170610450;6275615 + 8288;59640;3210;3318;170610450;6275615 + 8289;59644;3210;3319;170610450;6335259 + 8290;59652;3210;3319;170610450;6335259 + 8291;59663;3210;3320;170610450;6394922 + 8292;59664;3210;3320;170610450;6394922 + 8293;59675;3210;3321;170610450;6454597 + 8294;59676;3210;3321;170610450;6454597 + 8295;59688;3210;3321;170610450;6454597 + 8296;59688;3210;3322;170610450;6514285 + 8297;59700;3210;3322;170610450;6514285 + 8298;59706;3210;3323;170610450;6573991 + 8299;59712;3210;3323;170610450;6573991 + 8300;59724;3210;3323;170610450;6573991 + 8301;59725;3210;3324;170610450;6633716 + 8302;59736;3210;3324;170610450;6633716 + 8303;59739;3210;3325;170610450;6693455 + 8304;59748;3210;3325;170610450;6693455 + 8305;59760;3210;3325;170610450;6693455 + 8306;59761;3210;3326;170610450;6753216 + 8307;59772;3210;3326;170610450;6753216 + 8308;59775;3210;3327;170610450;6812991 + 8309;59784;3210;3327;170610450;6812991 + 8310;59796;3210;3327;170610450;6812991 + 8311;59798;3210;3328;170610450;6872789 + 8312;59808;3210;3328;170610450;6872789 + 8313;59815;3210;3329;170610450;6932604 + 8314;59820;3210;3329;170610450;6932604 + 8315;59827;3210;3330;170610450;6992431 + 8316;59832;3210;3330;170610450;6992431 + 8317;59844;3210;3330;170610450;6992431 + 8318;59850;3210;3331;170610450;7052281 + 8319;59856;3210;3331;170610450;7052281 + 8320;59868;3210;3331;170610450;7052281 + 8321;59869;3210;3332;170610450;7112150 + 8322;59880;3210;3332;170610450;7112150 + 8323;59881;3210;3333;170610450;7172031 + 8324;59892;3210;3333;170610450;7172031 + 8325;59904;3210;3333;170610450;7172031 + 8326;59904;3210;3334;170610450;7231935 + 8327;59916;3210;3334;170610450;7231935 + 8328;59924;3210;3335;170610450;7291859 + 8329;59928;3210;3335;170610450;7291859 + 8330;59940;3210;3335;170610450;7291859 + 8331;59943;3210;3336;170610450;7351802 + 8332;59952;3210;3336;170610450;7351802 + 8333;59964;3210;3336;170610450;7351802 + 8334;59966;3210;3337;170610450;7411768 + 8335;59976;3210;3337;170610450;7411768 + 8336;59987;3210;3338;170610450;7471755 + 8337;59988;3210;3338;170610450;7471755 + 8338;60000;3210;3338;170610450;7471755 + 8339;60004;3210;3339;170610450;7531759 + 8340;60012;3210;3339;170610450;7531759 + 8341;60024;3210;3339;170610450;7531759 + 8342;60028;3210;3340;170610450;7591787 + 8343;60036;3210;3340;170610450;7591787 + 8344;60048;3210;3340;170610450;7591787 + 8345;60049;3210;3341;170610450;7651836 + 8346;60060;3210;3341;170610450;7651836 + 8347;60061;3210;3342;170610450;7711897 + 8348;60072;3210;3342;170610450;7711897 + 8349;60080;3210;3343;170610450;7771977 + 8350;60084;3210;3343;170610450;7771977 + 8351;60096;3210;3343;170610450;7771977 + 8352;60104;3240;3344;171783419;6093127 + 8353;60108;3240;3344;171783419;6093127 + 8354;60117;3250;3345;165914921;5570054 + 8355;60120;3250;3345;165914921;5570054 + 8356;60132;3250;3345;165914921;5570054 + 8357;60138;3250;3346;165914921;5630192 + 8358;60144;3250;3346;165914921;5630192 + 8359;60156;3250;3346;165914921;5630192 + 8360;60161;3250;3347;165914921;5690353 + 8361;60168;3250;3347;165914921;5690353 + 8362;60180;3250;3347;165914921;5690353 + 8363;60185;3250;3348;165914921;5750538 + 8364;60192;3250;3348;165914921;5750538 + 8365;60204;3250;3348;165914921;5750538 + 8366;60206;3250;3349;165914921;5810744 + 8367;60216;3250;3349;165914921;5810744 + 8368;60228;3250;3349;165914921;5810744 + 8369;60229;3250;3350;165914921;5870973 + 8370;60240;3250;3350;165914921;5870973 + 8371;60243;3250;3351;165914921;5931216 + 8372;60252;3250;3351;165914921;5931216 + 8373;60259;3250;3352;165914921;5991475 + 8374;60264;3250;3352;165914921;5991475 + 8375;60273;3250;3353;165914921;6051748 + 8376;60276;3250;3353;165914921;6051748 + 8377;60288;3250;3353;165914921;6051748 + 8378;60297;3250;3354;165914921;6112045 + 8379;60300;3250;3354;165914921;6112045 + 8380;60312;3250;3354;165914921;6112045 + 8381;60313;3250;3355;165914921;6172358 + 8382;60324;3250;3355;165914921;6172358 + 8383;60336;3250;3355;165914921;6172358 + 8384;60337;3250;3356;165914921;6232695 + 8385;60348;3250;3356;165914921;6232695 + 8386;60360;3250;3356;165914921;6232695 + 8387;60361;3250;3357;165914921;6293056 + 8388;60372;3250;3357;165914921;6293056 + 8389;60381;3250;3358;165914921;6353437 + 8390;60384;3250;3358;165914921;6353437 + 8391;60396;3250;3358;165914921;6353437 + 8392;60400;3250;3359;165914921;6413837 + 8393;60408;3250;3359;165914921;6413837 + 8394;60418;3250;3360;165914921;6474255 + 8395;60420;3250;3360;165914921;6474255 + 8396;60432;3250;3360;165914921;6474255 + 8397;60441;3250;3361;165914921;6534696 + 8398;60444;3250;3361;165914921;6534696 + 8399;60456;3250;3361;165914921;6534696 + 8400;60465;3250;3362;165914921;6595161 + 8401;60468;3250;3362;165914921;6595161 + 8402;60478;3250;3363;165914921;6655639 + 8403;60480;3250;3363;165914921;6655639 + 8404;60491;3250;3364;165914921;6716130 + 8405;60492;3250;3364;165914921;6716130 + 8406;60504;3250;3364;165914921;6716130 + 8407;60511;3250;3365;165914921;6776641 + 8408;60516;3250;3365;165914921;6776641 + 8409;60528;3250;3365;165914921;6776641 + 8410;60531;3250;3366;165914921;6837172 + 8411;60540;3250;3366;165914921;6837172 + 8412;60549;3250;3367;165914921;6897721 + 8413;60552;3250;3367;165914921;6897721 + 8414;60564;3250;3367;165914921;6897721 + 8415;60565;3250;3368;165914921;6958286 + 8416;60576;3250;3368;165914921;6958286 + 8417;60586;3250;3369;165914921;7018872 + 8418;60588;3250;3369;165914921;7018872 + 8419;60600;3270;3369;151826512;5847229 + 8420;60603;3280;3370;144354285;5319415 + 8421;60612;3280;3370;144354285;5319415 + 8422;60623;3280;3371;144354285;5380038 + 8423;60624;3280;3371;144354285;5380038 + 8424;60636;3280;3371;144354285;5380038 + 8425;60644;3280;3372;144354285;5440682 + 8426;60648;3280;3372;144354285;5440682 + 8427;60660;3280;3372;144354285;5440682 + 8428;60660;3280;3373;144354285;5501342 + 8429;60672;3280;3373;144354285;5501342 + 8430;60674;3280;3374;144354285;5562016 + 8431;60684;3280;3374;144354285;5562016 + 8432;60695;3280;3375;144354285;5622711 + 8433;60696;3280;3375;144354285;5622711 + 8434;60708;3280;3375;144354285;5622711 + 8435;60719;3280;3376;144354285;5683430 + 8436;60720;3280;3376;144354285;5683430 + 8437;60732;3280;3376;144354285;5683430 + 8438;60734;3280;3377;144354285;5744164 + 8439;60744;3280;3377;144354285;5744164 + 8440;60750;3280;3378;144354285;5804914 + 8441;60756;3280;3378;144354285;5804914 + 8442;60768;3280;3378;144354285;5804914 + 8443;60768;3280;3379;144354285;5865682 + 8444;60780;3280;3379;144354285;5865682 + 8445;60787;3280;3380;144354285;5926469 + 8446;60792;3280;3380;144354285;5926469 + 8447;60799;3280;3381;144354285;5987268 + 8448;60804;3280;3381;144354285;5987268 + 8449;60816;3280;3381;144354285;5987268 + 8450;60817;3280;3382;144354285;6048085 + 8451;60828;3280;3382;144354285;6048085 + 8452;60833;3280;3383;144354285;6108918 + 8453;60840;3280;3383;144354285;6108918 + 8454;60845;3280;3384;144354285;6169763 + 8455;60852;3280;3384;144354285;6169763 + 8456;60857;3280;3385;144354285;6230620 + 8457;60864;3280;3385;144354285;6230620 + 8458;60876;3280;3385;144354285;6230620 + 8459;60876;3280;3386;144354285;6291496 + 8460;60888;3280;3386;144354285;6291496 + 8461;60889;3280;3387;144354285;6352385 + 8462;60900;3280;3387;144354285;6352385 + 8463;60901;3280;3388;144354285;6413286 + 8464;60912;3280;3388;144354285;6413286 + 8465;60922;3280;3389;144354285;6474208 + 8466;60924;3280;3389;144354285;6474208 + 8467;60936;3280;3389;144354285;6474208 + 8468;60938;3280;3390;144354285;6535146 + 8469;60948;3280;3390;144354285;6535146 + 8470;60955;3280;3391;144354285;6596101 + 8471;60960;3280;3391;144354285;6596101 + 8472;60968;3280;3392;144354285;6657069 + 8473;60972;3280;3392;144354285;6657069 + 8474;60984;3280;3392;144354285;6657069 + 8475;60992;3290;3393;144354285;6127786 + 8476;60996;3300;3393;132008393;5535686 + 8477;61008;3300;3393;132008393;5535686 + 8478;61011;3300;3394;132008393;5596697 + 8479;61020;3300;3394;132008393;5596697 + 8480;61023;3300;3395;132008393;5657720 + 8481;61032;3300;3395;132008393;5657720 + 8482;61044;3300;3395;132008393;5657720 + 8483;61047;3300;3396;132008393;5718767 + 8484;61056;3300;3396;132008393;5718767 + 8485;61064;3300;3397;132008393;5779831 + 8486;61068;3300;3397;132008393;5779831 + 8487;61080;3310;3397;119573952;5185755 + 8488;61087;3310;3398;119573952;5246842 + 8489;61092;3310;3398;119573952;5246842 + 8490;61099;3310;3399;119573952;5307941 + 8491;61104;3310;3399;119573952;5307941 + 8492;61116;3310;3399;119573952;5307941 + 8493;61119;3310;3400;119573952;5369060 + 8494;61128;3310;3400;119573952;5369060 + 8495;61133;3310;3401;119573952;5430193 + 8496;61140;3310;3401;119573952;5430193 + 8497;61152;3310;3401;119573952;5430193 + 8498;61156;3310;3402;119573952;5491349 + 8499;61164;3310;3402;119573952;5491349 + 8500;61176;3310;3402;119573952;5491349 + 8501;61180;3310;3403;119573952;5552529 + 8502;61188;3310;3403;119573952;5552529 + 8503;61197;3310;3404;119573952;5613726 + 8504;61200;3310;3404;119573952;5613726 + 8505;61211;3310;3405;119573952;5674937 + 8506;61212;3310;3405;119573952;5674937 + 8507;61224;3310;3405;119573952;5674937 + 8508;61231;3310;3406;119573952;5736168 + 8509;61236;3310;3406;119573952;5736168 + 8510;61248;3310;3406;119573952;5736168 + 8511;61249;3310;3407;119573952;5797417 + 8512;61260;3310;3407;119573952;5797417 + 8513;61266;3310;3408;119573952;5858683 + 8514;61272;3310;3408;119573952;5858683 + 8515;61284;3310;3408;119573952;5858683 + 8516;61290;3310;3409;119573952;5919973 + 8517;61296;3310;3409;119573952;5919973 + 8518;61302;3310;3410;119573952;5981275 + 8519;61308;3310;3410;119573952;5981275 + 8520;61320;3310;3410;119573952;5981275 + 8521;61322;3310;3411;119573952;6042597 + 8522;61332;3310;3411;119573952;6042597 + 8523;61344;3310;3411;119573952;6042597 + 8524;61344;3310;3412;119573952;6103941 + 8525;61356;3310;3412;119573952;6103941 + 8526;61359;3310;3413;119573952;6165300 + 8527;61368;3310;3413;119573952;6165300 + 8528;61372;3310;3414;119573952;6226672 + 8529;61380;3310;3414;119573952;6226672 + 8530;61386;3310;3415;119573952;6288058 + 8531;61392;3310;3415;119573952;6288058 + 8532;61403;3310;3416;119573952;6349461 + 8533;61404;3310;3416;119573952;6349461 + 8534;61416;3310;3416;119573952;6349461 + 8535;61416;3310;3417;119573952;6410877 + 8536;61428;3310;3417;119573952;6410877 + 8537;61437;3310;3418;119573952;6472314 + 8538;61440;3310;3418;119573952;6472314 + 8539;61452;3310;3418;119573952;6472314 + 8540;61459;3310;3419;119573952;6533773 + 8541;61464;3310;3419;119573952;6533773 + 8542;61471;3310;3420;119573952;6595244 + 8543;61476;3310;3420;119573952;6595244 + 8544;61488;3310;3420;119573952;6595244 + 8545;61495;3310;3421;119573952;6656739 + 8546;61500;3310;3421;119573952;6656739 + 8547;61512;3310;3421;119573952;6656739 + 8548;61512;3310;3422;119573952;6718251 + 8549;61524;3310;3422;119573952;6718251 + 8550;61535;3310;3423;119573952;6779786 + 8551;61536;3310;3423;119573952;6779786 + 8552;61548;3310;3423;119573952;6779786 + 8553;61548;3310;3424;119573952;6841334 + 8554;61560;3310;3424;119573952;6841334 + 8555;61571;3310;3425;119573952;6902905 + 8556;61572;3310;3425;119573952;6902905 + 8557;61584;3310;3425;119573952;6902905 + 8558;61592;3310;3426;119573952;6964497 + 8559;61596;3310;3426;119573952;6964497 + 8560;61606;3310;3427;119573952;7026103 + 8561;61608;3310;3427;119573952;7026103 + 8562;61620;3310;3427;119573952;7026103 + 8563;61630;3310;3428;119573952;7087733 + 8564;61632;3310;3428;119573952;7087733 + 8565;61644;3310;3428;119573952;7087733 + 8566;61648;3310;3429;119573952;7149381 + 8567;61656;3310;3429;119573952;7149381 + 8568;61661;3310;3430;119573952;7211042 + 8569;61668;3310;3430;119573952;7211042 + 8570;61680;3310;3430;119573952;7211042 + 8571;61682;3310;3431;119573952;7272724 + 8572;61692;3310;3431;119573952;7272724 + 8573;61701;3310;3432;119573952;7334425 + 8574;61704;3310;3432;119573952;7334425 + 8575;61713;3310;3433;119573952;7396138 + 8576;61716;3310;3433;119573952;7396138 + 8577;61728;3310;3433;119573952;7396138 + 8578;61736;3310;3434;119573952;7457874 + 8579;61740;3310;3434;119573952;7457874 + 8580;61748;3310;3435;119573952;7519622 + 8581;61752;3310;3435;119573952;7519622 + 8582;61762;3310;3436;119573952;7581384 + 8583;61764;3310;3436;119573952;7581384 + 8584;61774;3310;3437;119573952;7643158 + 8585;61776;3310;3437;119573952;7643158 + 8586;61788;3310;3437;119573952;7643158 + 8587;61790;3310;3438;119573952;7704948 + 8588;61800;3310;3438;119573952;7704948 + 8589;61802;3310;3439;119573952;7766750 + 8590;61812;3310;3439;119573952;7766750 + 8591;61821;3310;3440;119573952;7828571 + 8592;61824;3310;3440;119573952;7828571 + 8593;61835;3310;3441;119573952;7890406 + 8594;61836;3310;3441;119573952;7890406 + 8595;61848;3310;3441;119573952;7890406 + 8596;61852;3310;3442;119573952;7952258 + 8597;61860;3310;3442;119573952;7952258 + 8598;61870;3310;3443;119573952;8014128 + 8599;61872;3310;3443;119573952;8014128 + 8600;61884;3310;3443;119573952;8014128 + 8601;61887;3310;3444;119573952;8076015 + 8602;61896;3310;3444;119573952;8076015 + 8603;61899;3310;3445;119573952;8137914 + 8604;61908;3310;3445;119573952;8137914 + 8605;61920;3310;3445;119573952;8137914 + 8606;61921;3310;3446;119573952;8199835 + 8607;61932;3310;3446;119573952;8199835 + 8608;61935;3310;3447;119573952;8261770 + 8609;61944;3310;3447;119573952;8261770 + 8610;61950;3310;3448;119573952;8323720 + 8611;61956;3310;3448;119573952;8323720 + 8612;61968;3320;3448;121731286;7727778 + 8613;61974;3330;3449;119573952;7192068 + 8614;61980;3330;3449;119573952;7192068 + 8615;61990;3330;3450;119573952;7254058 + 8616;61992;3330;3450;119573952;7254058 + 8617;62004;3330;3450;119573952;7254058 + 8618;62007;3330;3451;119573952;7316065 + 8619;62016;3330;3451;119573952;7316065 + 8620;62024;3330;3452;119573952;7378089 + 8621;62028;3330;3452;119573952;7378089 + 8622;62040;3330;3452;119573952;7378089 + 8623;62040;3330;3453;119573952;7440129 + 8624;62052;3330;3453;119573952;7440129 + 8625;62052;3330;3454;119573952;7502181 + 8626;62064;3330;3454;119573952;7502181 + 8627;62071;3340;3455;124571212;6964697 + 8628;62076;3340;3455;124571212;6964697 + 8629;62088;3350;3455;121914509;6363173 + 8630;62095;3350;3456;121914509;6425268 + 8631;62100;3350;3456;121914509;6425268 + 8632;62112;3350;3456;121914509;6425268 + 8633;62119;3350;3457;121914509;6487387 + 8634;62124;3350;3457;121914509;6487387 + 8635;62135;3350;3458;121914509;6549522 + 8636;62136;3350;3458;121914509;6549522 + 8637;62148;3350;3458;121914509;6549522 + 8638;62159;3350;3459;121914509;6611681 + 8639;62160;3350;3459;121914509;6611681 + 8640;62172;3350;3459;121914509;6611681 + 8641;62174;3350;3460;121914509;6673855 + 8642;62184;3350;3460;121914509;6673855 + 8643;62186;3350;3461;121914509;6736041 + 8644;62196;3350;3461;121914509;6736041 + 8645;62207;3350;3462;121914509;6798248 + 8646;62208;3350;3462;121914509;6798248 + 8647;62220;3350;3462;121914509;6798248 + 8648;62226;3350;3463;121914509;6860474 + 8649;62232;3350;3463;121914509;6860474 + 8650;62241;3350;3464;121914509;6922715 + 8651;62244;3350;3464;121914509;6922715 + 8652;62256;3350;3464;121914509;6922715 + 8653;62265;3350;3465;121914509;6984980 + 8654;62268;3350;3465;121914509;6984980 + 8655;62280;3350;3465;121914509;6984980 + 8656;62281;3350;3466;121914509;7047261 + 8657;62292;3350;3466;121914509;7047261 + 8658;62296;3350;3467;121914509;7109557 + 8659;62304;3350;3467;121914509;7109557 + 8660;62316;3350;3467;121914509;7109557 + 8661;62317;3350;3468;121914509;7171874 + 8662;62328;3350;3468;121914509;7171874 + 8663;62340;3350;3468;121914509;7171874 + 8664;62341;3350;3469;121914509;7234215 + 8665;62352;3350;3469;121914509;7234215 + 8666;62358;3350;3470;121914509;7296573 + 8667;62364;3350;3470;121914509;7296573 + 8668;62375;3350;3471;121914509;7358948 + 8669;62376;3350;3471;121914509;7358948 + 8670;62388;3350;3471;121914509;7358948 + 8671;62393;3350;3472;121914509;7421341 + 8672;62400;3350;3472;121914509;7421341 + 8673;62410;3350;3473;121914509;7483751 + 8674;62412;3350;3473;121914509;7483751 + 8675;62424;3350;3473;121914509;7483751 + 8676;62431;3350;3474;121914509;7546182 + 8677;62436;3350;3474;121914509;7546182 + 8678;62448;3350;3474;121914509;7546182 + 8679;62448;3350;3475;121914509;7608630 + 8680;62460;3350;3475;121914509;7608630 + 8681;62464;3350;3476;121914509;7671094 + 8682;62472;3350;3476;121914509;7671094 + 8683;62480;3350;3477;121914509;7733574 + 8684;62484;3350;3477;121914509;7733574 + 8685;62496;3350;3477;121914509;7733574 + 8686;62497;3350;3478;121914509;7796071 + 8687;62508;3350;3478;121914509;7796071 + 8688;62513;3350;3479;121914509;7858584 + 8689;62520;3350;3479;121914509;7858584 + 8690;62532;3350;3479;121914509;7858584 + 8691;62536;3350;3480;121914509;7921120 + 8692;62544;3350;3480;121914509;7921120 + 8693;62551;3350;3481;121914509;7983671 + 8694;62556;3350;3481;121914509;7983671 + 8695;62568;3350;3481;121914509;7983671 + 8696;62570;3350;3482;121914509;8046241 + 8697;62580;3350;3482;121914509;8046241 + 8698;62591;3350;3483;121914509;8108832 + 8699;62592;3350;3483;121914509;8108832 + 8700;62604;3350;3483;121914509;8108832 + 8701;62611;3350;3484;121914509;8171443 + 8702;62616;3350;3484;121914509;8171443 + 8703;62623;3350;3485;121914509;8234066 + 8704;62628;3350;3485;121914509;8234066 + 8705;62639;3350;3486;121914509;8296705 + 8706;62640;3350;3486;121914509;8296705 + 8707;62652;3350;3486;121914509;8296705 + 8708;62655;3350;3487;121914509;8359360 + 8709;62664;3350;3487;121914509;8359360 + 8710;62673;3350;3488;121914509;8422033 + 8711;62676;3350;3488;121914509;8422033 + 8712;62688;3350;3488;121914509;8422033 + 8713;62694;3350;3489;121914509;8484727 + 8714;62700;3350;3489;121914509;8484727 + 8715;62712;3350;3489;121914509;8484727 + 8716;62712;3350;3490;121914509;8547439 + 8717;62724;3350;3490;121914509;8547439 + 8718;62732;3360;3491;123143063;8006691 + 8719;62736;3360;3491;123143063;8006691 + 8720;62748;3360;3491;123143063;8006691 + 8721;62751;3360;3492;123143063;8069442 + 8722;62760;3360;3492;123143063;8069442 + 8723;62764;3360;3493;123143063;8132206 + 8724;62772;3360;3493;123143063;8132206 + 8725;62780;3360;3494;123143063;8194986 + 8726;62784;3360;3494;123143063;8194986 + 8727;62796;3360;3494;123143063;8194986 + 8728;62804;3360;3495;123143063;8257790 + 8729;62808;3360;3495;123143063;8257790 + 8730;62820;3360;3495;123143063;8257790 + 8731;62823;3370;3496;127222012;7715211 + 8732;62832;3370;3496;127222012;7715211 + 8733;62842;3370;3497;127222012;7778053 + 8734;62844;3370;3497;127222012;7778053 + 8735;62856;3370;3497;127222012;7778053 + 8736;62856;3370;3498;127222012;7840909 + 8737;62868;3370;3498;127222012;7840909 + 8738;62874;3370;3499;127222012;7903783 + 8739;62880;3370;3499;127222012;7903783 + 8740;62886;3370;3500;127222012;7966669 + 8741;62892;3370;3500;127222012;7966669 + 8742;62904;3370;3500;127222012;7966669 + 8743;62905;3370;3501;127222012;8029574 + 8744;62916;3370;3501;127222012;8029574 + 8745;62928;3370;3501;127222012;8029574 + 8746;62929;3370;3502;127222012;8092503 + 8747;62940;3370;3502;127222012;8092503 + 8748;62948;3370;3503;127222012;8155451 + 8749;62952;3370;3503;127222012;8155451 + 8750;62960;3370;3504;127222012;8218411 + 8751;62964;3370;3504;127222012;8218411 + 8752;62974;3370;3505;127222012;8281385 + 8753;62976;3370;3505;127222012;8281385 + 8754;62988;3370;3505;127222012;8281385 + 8755;62994;3380;3506;136198790;7737149 + 8756;63000;3390;3506;131172761;7128316 + 8757;63012;3400;3506;128547007;6517773 + 8758;63015;3410;3507;117907167;5968384 + 8759;63024;3410;3507;117907167;5968384 + 8760;63029;3410;3508;117907167;6031413 + 8761;63036;3410;3508;117907167;6031413 + 8762;63042;3410;3509;117907167;6094455 + 8763;63048;3410;3509;117907167;6094455 + 8764;63059;3410;3510;117907167;6157514 + 8765;63060;3410;3510;117907167;6157514 + 8766;63072;3410;3510;117907167;6157514 + 8767;63076;3410;3511;117907167;6220590 + 8768;63084;3410;3511;117907167;6220590 + 8769;63095;3410;3512;117907167;6283685 + 8770;63096;3410;3512;117907167;6283685 + 8771;63108;3410;3512;117907167;6283685 + 8772;63111;3410;3513;117907167;6346796 + 8773;63120;3410;3513;117907167;6346796 + 8774;63123;3410;3514;117907167;6409919 + 8775;63132;3410;3514;117907167;6409919 + 8776;63137;3410;3515;117907167;6473056 + 8777;63144;3410;3515;117907167;6473056 + 8778;63155;3410;3516;117907167;6536211 + 8779;63156;3410;3516;117907167;6536211 + 8780;63168;3410;3516;117907167;6536211 + 8781;63178;3410;3517;117907167;6599389 + 8782;63180;3410;3517;117907167;6599389 + 8783;63192;3410;3517;117907167;6599389 + 8784;63195;3410;3518;117907167;6662584 + 8785;63204;3410;3518;117907167;6662584 + 8786;63214;3410;3519;117907167;6725798 + 8787;63216;3410;3519;117907167;6725798 + 8788;63226;3410;3520;117907167;6789024 + 8789;63228;3410;3520;117907167;6789024 + 8790;63240;3410;3520;117907167;6789024 + 8791;63247;3410;3521;117907167;6852271 + 8792;63252;3410;3521;117907167;6852271 + 8793;63264;3410;3521;117907167;6852271 + 8794;63267;3410;3522;117907167;6915538 + 8795;63276;3410;3522;117907167;6915538 + 8796;63288;3410;3522;117907167;6915538 + 8797;63291;3410;3523;117907167;6978829 + 8798;63300;3410;3523;117907167;6978829 + 8799;63312;3410;3523;117907167;6978829 + 8800;63313;3410;3524;117907167;7042142 + 8801;63324;3410;3524;117907167;7042142 + 8802;63330;3410;3525;117907167;7105472 + 8803;63336;3410;3525;117907167;7105472 + 8804;63348;3410;3525;117907167;7105472 + 8805;63353;3410;3526;117907167;7168825 + 8806;63360;3410;3526;117907167;7168825 + 8807;63372;3410;3526;117907167;7168825 + 8808;63374;3410;3527;117907167;7232199 + 8809;63384;3410;3527;117907167;7232199 + 8810;63387;3410;3528;117907167;7295586 + 8811;63396;3410;3528;117907167;7295586 + 8812;63407;3410;3529;117907167;7358993 + 8813;63408;3410;3529;117907167;7358993 + 8814;63420;3410;3529;117907167;7358993 + 8815;63430;3420;3530;111655583;6808281 + 8816;63432;3420;3530;111655583;6808281 + 8817;63444;3420;3530;111655583;6808281 + 8818;63451;3430;3531;114604664;6255747 + 8819;63456;3430;3531;114604664;6255747 + 8820;63468;3430;3531;114604664;6255747 + 8821;63471;3430;3532;114604664;6319218 + 8822;63480;3430;3532;114604664;6319218 + 8823;63490;3430;3533;114604664;6382708 + 8824;63492;3430;3533;114604664;6382708 + 8825;63504;3430;3533;114604664;6382708 + 8826;63509;3430;3534;114604664;6446217 + 8827;63516;3430;3534;114604664;6446217 + 8828;63525;3430;3535;114604664;6509742 + 8829;63528;3430;3535;114604664;6509742 + 8830;63540;3430;3535;114604664;6509742 + 8831;63543;3430;3536;114604664;6573285 + 8832;63552;3430;3536;114604664;6573285 + 8833;63557;3430;3537;114604664;6636842 + 8834;63564;3430;3537;114604664;6636842 + 8835;63576;3430;3537;114604664;6636842 + 8836;63576;3430;3538;114604664;6700418 + 8837;63588;3430;3538;114604664;6700418 + 8838;63596;3430;3539;114604664;6764014 + 8839;63600;3430;3539;114604664;6764014 + 8840;63612;3430;3539;114604664;6764014 + 8841;63620;3430;3540;114604664;6827634 + 8842;63624;3430;3540;114604664;6827634 + 8843;63636;3430;3540;114604664;6827634 + 8844;63640;3430;3541;114604664;6891274 + 8845;63648;3430;3541;114604664;6891274 + 8846;63652;3430;3542;114604664;6954926 + 8847;63660;3430;3542;114604664;6954926 + 8848;63672;3430;3542;114604664;6954926 + 8849;63673;3430;3543;114604664;7018599 + 8850;63684;3430;3543;114604664;7018599 + 8851;63694;3430;3544;114604664;7082293 + 8852;63696;3430;3544;114604664;7082293 + 8853;63708;3430;3544;114604664;7082293 + 8854;63708;3430;3545;114604664;7146001 + 8855;63720;3430;3545;114604664;7146001 + 8856;63724;3430;3546;114604664;7209725 + 8857;63732;3430;3546;114604664;7209725 + 8858;63738;3430;3547;114604664;7273463 + 8859;63744;3430;3547;114604664;7273463 + 8860;63756;3430;3547;114604664;7273463 + 8861;63758;3430;3548;114604664;7337221 + 8862;63768;3430;3548;114604664;7337221 + 8863;63772;3430;3549;114604664;7400993 + 8864;63780;3430;3549;114604664;7400993 + 8865;63790;3430;3550;114604664;7464783 + 8866;63792;3430;3550;114604664;7464783 + 8867;63804;3430;3550;114604664;7464783 + 8868;63806;3430;3551;114604664;7528589 + 8869;63816;3430;3551;114604664;7528589 + 8870;63826;3430;3552;114604664;7592415 + 8871;63828;3430;3552;114604664;7592415 + 8872;63840;3430;3552;114604664;7592415 + 8873;63844;3430;3553;114604664;7656259 + 8874;63852;3430;3553;114604664;7656259 + 8875;63862;3430;3554;114604664;7720121 + 8876;63864;3430;3554;114604664;7720121 + 8877;63876;3430;3554;114604664;7720121 + 8878;63878;3430;3555;114604664;7783999 + 8879;63888;3430;3555;114604664;7783999 + 8880;63900;3430;3555;114604664;7783999 + 8881;63901;3430;3556;114604664;7847900 + 8882;63912;3430;3556;114604664;7847900 + 8883;63919;3430;3557;114604664;7911819 + 8884;63924;3430;3557;114604664;7911819 + 8885;63935;3430;3558;114604664;7975754 + 8886;63936;3430;3558;114604664;7975754 + 8887;63948;3430;3558;114604664;7975754 + 8888;63959;3430;3559;114604664;8039713 + 8889;63960;3430;3559;114604664;8039713 + 8890;63972;3430;3559;114604664;8039713 + 8891;63979;3430;3560;114604664;8103692 + 8892;63984;3430;3560;114604664;8103692 + 8893;63992;3430;3561;114604664;8167684 + 8894;63996;3430;3561;114604664;8167684 + 8895;64008;3430;3561;114604664;8167684 + 8896;64014;3430;3562;114604664;8231698 + 8897;64020;3430;3562;114604664;8231698 + 8898;64032;3430;3562;114604664;8231698 + 8899;64038;3430;3563;114604664;8295736 + 8900;64044;3430;3563;114604664;8295736 + 8901;64056;3430;3563;114604664;8295736 + 8902;64061;3430;3564;114604664;8359797 + 8903;64068;3430;3564;114604664;8359797 + 8904;64080;3430;3564;114604664;8359797 + 8905;64083;3430;3565;114604664;8423880 + 8906;64092;3430;3565;114604664;8423880 + 8907;64104;3430;3565;114604664;8423880 + 8908;64106;3440;3566;122302219;7870304 + 8909;64116;3440;3566;122302219;7870304 + 8910;64122;3450;3567;123081342;7315141 + 8911;64128;3450;3567;123081342;7315141 + 8912;64135;3460;3568;120557103;6758221 + 8913;64140;3460;3568;120557103;6758221 + 8914;64148;3460;3569;120557103;6822369 + 8915;64152;3460;3569;120557103;6822369 + 8916;64161;3460;3570;120557103;6886530 + 8917;64164;3460;3570;120557103;6886530 + 8918;64176;3460;3570;120557103;6886530 + 8919;64185;3460;3571;120557103;6950715 + 8920;64188;3460;3571;120557103;6950715 + 8921;64197;3460;3572;120557103;7014912 + 8922;64200;3460;3572;120557103;7014912 + 8923;64212;3460;3572;120557103;7014912 + 8924;64215;3460;3573;120557103;7079127 + 8925;64224;3460;3573;120557103;7079127 + 8926;64234;3460;3574;120557103;7143361 + 8927;64236;3460;3574;120557103;7143361 + 8928;64248;3460;3574;120557103;7143361 + 8929;64248;3460;3575;120557103;7207609 + 8930;64260;3460;3575;120557103;7207609 + 8931;64261;3460;3576;120557103;7271870 + 8932;64272;3460;3576;120557103;7271870 + 8933;64283;3460;3577;120557103;7336153 + 8934;64284;3460;3577;120557103;7336153 + 8935;64296;3460;3577;120557103;7336153 + 8936;64307;3460;3578;120557103;7400460 + 8937;64308;3460;3578;120557103;7400460 + 8938;64320;3460;3578;120557103;7400460 + 8939;64325;3460;3579;120557103;7464785 + 8940;64332;3460;3579;120557103;7464785 + 8941;64342;3460;3580;120557103;7529127 + 8942;64344;3460;3580;120557103;7529127 + 8943;64354;3460;3581;120557103;7593481 + 8944;64356;3460;3581;120557103;7593481 + 8945;64368;3460;3581;120557103;7593481 + 8946;64374;3460;3582;120557103;7657855 + 8947;64380;3460;3582;120557103;7657855 + 8948;64389;3460;3583;120557103;7722244 + 8949;64392;3460;3583;120557103;7722244 + 8950;64404;3460;3583;120557103;7722244 + 8951;64409;3460;3584;120557103;7786653 + 8952;64416;3460;3584;120557103;7786653 + 8953;64428;3460;3584;120557103;7786653 + 8954;64433;3460;3585;120557103;7851086 + 8955;64440;3460;3585;120557103;7851086 + 8956;64452;3460;3585;120557103;7851086 + 8957;64453;3460;3586;120557103;7915539 + 8958;64464;3460;3586;120557103;7915539 + 8959;64471;3460;3587;120557103;7980010 + 8960;64476;3460;3587;120557103;7980010 + 8961;64488;3460;3587;120557103;7980010 + 8962;64489;3460;3588;120557103;8044499 + 8963;64500;3460;3588;120557103;8044499 + 8964;64505;3460;3589;120557103;8109004 + 8965;64512;3460;3589;120557103;8109004 + 8966;64524;3460;3589;120557103;8109004 + 8967;64524;3460;3590;120557103;8173528 + 8968;64536;3460;3590;120557103;8173528 + 8969;64542;3460;3591;120557103;8238070 + 8970;64548;3460;3591;120557103;8238070 + 8971;64560;3460;3591;120557103;8238070 + 8972;64565;3460;3592;120557103;8302635 + 8973;64572;3460;3592;120557103;8302635 + 8974;64584;3460;3592;120557103;8302635 + 8975;64584;3460;3593;120557103;8367219 + 8976;64596;3460;3593;120557103;8367219 + 8977;64596;3460;3594;120557103;8431815 + 8978;64608;3460;3594;120557103;8431815 + 8979;64613;3460;3595;120557103;8496428 + 8980;64620;3460;3595;120557103;8496428 + 8981;64632;3460;3595;120557103;8496428 + 8982;64636;3470;3596;117848070;7938157 + 8983;64644;3470;3596;117848070;7938157 + 8984;64656;3470;3596;117848070;7938157 + 8985;64658;3470;3597;117848070;8002815 + 8986;64668;3470;3597;117848070;8002815 + 8987;64671;3470;3598;117848070;8067486 + 8988;64680;3470;3598;117848070;8067486 + 8989;64685;3470;3599;117848070;8132171 + 8990;64692;3470;3599;117848070;8132171 + 8991;64704;3470;3599;117848070;8132171 + 8992;64705;3470;3600;117848070;8196876 + 8993;64716;3470;3600;117848070;8196876 + 8994;64721;3470;3601;117848070;8261597 + 8995;64728;3470;3601;117848070;8261597 + 8996;64738;3470;3602;117848070;8326335 + 8997;64740;3470;3602;117848070;8326335 + 8998;64752;3470;3602;117848070;8326335 + 8999;64752;3470;3603;117848070;8391087 + 9000;64764;3470;3603;117848070;8391087 + 9001;64771;3470;3604;117848070;8455858 + 9002;64776;3470;3604;117848070;8455858 + 9003;64788;3480;3604;127989692;7831135 + 9004;64788;3480;3605;127989692;7895923 + 9005;64800;3480;3605;127989692;7895923 + 9006;64800;3480;3606;127989692;7960723 + 9007;64812;3480;3606;127989692;7960723 + 9008;64813;3480;3607;127989692;8025536 + 9009;64824;3480;3607;127989692;8025536 + 9010;64829;3480;3608;127989692;8090365 + 9011;64836;3480;3608;127989692;8090365 + 9012;64846;3480;3609;127989692;8155211 + 9013;64848;3480;3609;127989692;8155211 + 9014;64860;3480;3609;127989692;8155211 + 9015;64869;3480;3610;127989692;8220080 + 9016;64872;3480;3610;127989692;8220080 + 9017;64884;3480;3610;127989692;8220080 + 9018;64885;3480;3611;127989692;8284965 + 9019;64896;3480;3611;127989692;8284965 + 9020;64907;3480;3612;127989692;8349872 + 9021;64908;3480;3612;127989692;8349872 + 9022;64920;3480;3612;127989692;8349872 + 9023;64927;3480;3613;127989692;8414799 + 9024;64932;3480;3613;127989692;8414799 + 9025;64940;3480;3614;127989692;8479739 + 9026;64944;3480;3614;127989692;8479739 + 9027;64956;3480;3614;127989692;8479739 + 9028;64960;3510;3615;127456091;6659888 + 9029;64968;3510;3615;127456091;6659888 + 9030;64980;3510;3615;127456091;6659888 + 9031;64982;3510;3616;127456091;6724870 + 9032;64992;3510;3616;127456091;6724870 + 9033;65001;3510;3617;127456091;6789871 + 9034;65004;3510;3617;127456091;6789871 + 9035;65014;3510;3618;127456091;6854885 + 9036;65016;3510;3618;127456091;6854885 + 9037;65027;3510;3619;127456091;6919912 + 9038;65028;3510;3619;127456091;6919912 + 9039;65040;3510;3619;127456091;6919912 + 9040;65042;3510;3620;127456091;6984954 + 9041;65052;3510;3620;127456091;6984954 + 9042;65064;3510;3620;127456091;6984954 + 9043;65066;3510;3621;127456091;7050020 + 9044;65076;3510;3621;127456091;7050020 + 9045;65079;3510;3622;127456091;7115099 + 9046;65088;3510;3622;127456091;7115099 + 9047;65100;3510;3622;127456091;7115099 + 9048;65100;3510;3623;127456091;7180199 + 9049;65112;3510;3623;127456091;7180199 + 9050;65124;3510;3623;127456091;7180199 + 9051;65124;3510;3624;127456091;7245323 + 9052;65136;3510;3624;127456091;7245323 + 9053;65138;3510;3625;127456091;7310461 + 9054;65148;3510;3625;127456091;7310461 + 9055;65155;3510;3626;127456091;7375616 + 9056;65160;3510;3626;127456091;7375616 + 9057;65167;3510;3627;127456091;7440783 + 9058;65172;3510;3627;127456091;7440783 + 9059;65179;3510;3628;127456091;7505962 + 9060;65184;3510;3628;127456091;7505962 + 9061;65196;3510;3628;127456091;7505962 + 9062;65203;3510;3629;127456091;7571165 + 9063;65208;3510;3629;127456091;7571165 + 9064;65220;3510;3629;127456091;7571165 + 9065;65227;3510;3630;127456091;7636392 + 9066;65232;3510;3630;127456091;7636392 + 9067;65244;3510;3630;127456091;7636392 + 9068;65247;3510;3631;127456091;7701639 + 9069;65256;3510;3631;127456091;7701639 + 9070;65266;3520;3632;129042039;7135224 + 9071;65268;3520;3632;129042039;7135224 + 9072;65278;3520;3633;129042039;7200502 + 9073;65280;3520;3633;129042039;7200502 + 9074;65292;3520;3633;129042039;7200502 + 9075;65294;3520;3634;129042039;7265796 + 9076;65304;3520;3634;129042039;7265796 + 9077;65310;3520;3635;129042039;7331106 + 9078;65316;3520;3635;129042039;7331106 + 9079;65328;3520;3635;129042039;7331106 + 9080;65328;3520;3636;129042039;7396434 + 9081;65340;3520;3636;129042039;7396434 + 9082;65349;3520;3637;129042039;7461783 + 9083;65352;3520;3637;129042039;7461783 + 9084;65363;3520;3638;129042039;7527146 + 9085;65364;3520;3638;129042039;7527146 + 9086;65376;3520;3638;129042039;7527146 + 9087;65386;3530;3639;120678043;6958929 + 9088;65388;3530;3639;120678043;6958929 + 9089;65399;3530;3640;120678043;7024328 + 9090;65400;3530;3640;120678043;7024328 + 9091;65412;3530;3640;120678043;7024328 + 9092;65418;3530;3641;120678043;7089746 + 9093;65424;3530;3641;120678043;7089746 + 9094;65436;3530;3641;120678043;7089746 + 9095;65436;3530;3642;120678043;7155182 + 9096;65448;3530;3642;120678043;7155182 + 9097;65453;3530;3643;120678043;7220635 + 9098;65460;3530;3643;120678043;7220635 + 9099;65465;3530;3644;120678043;7286100 + 9100;65472;3530;3644;120678043;7286100 + 9101;65484;3530;3644;120678043;7286100 + 9102;65489;3530;3645;120678043;7351589 + 9103;65496;3530;3645;120678043;7351589 + 9104;65508;3530;3645;120678043;7351589 + 9105;65510;3530;3646;120678043;7417099 + 9106;65520;3530;3646;120678043;7417099 + 9107;65526;3530;3647;120678043;7482625 + 9108;65532;3530;3647;120678043;7482625 + 9109;65544;3530;3647;120678043;7482625 + 9110;65549;3530;3648;120678043;7548174 + 9111;65556;3530;3648;120678043;7548174 + 9112;65566;3530;3649;120678043;7613740 + 9113;65568;3530;3649;120678043;7613740 + 9114;65580;3530;3649;120678043;7613740 + 9115;65580;3530;3650;120678043;7679320 + 9116;65592;3530;3650;120678043;7679320 + 9117;65598;3540;3651;127328359;7109391 + 9118;65604;3540;3651;127328359;7109391 + 9119;65614;3540;3652;127328359;7175005 + 9120;65616;3540;3652;127328359;7175005 + 9121;65628;3540;3652;127328359;7175005 + 9122;65632;3540;3653;127328359;7240637 + 9123;65640;3540;3653;127328359;7240637 + 9124;65650;3540;3654;127328359;7306287 + 9125;65652;3540;3654;127328359;7306287 + 9126;65663;3540;3655;127328359;7371950 + 9127;65664;3540;3655;127328359;7371950 + 9128;65676;3540;3655;127328359;7371950 + 9129;65683;3540;3656;127328359;7437633 + 9130;65688;3540;3656;127328359;7437633 + 9131;65700;3540;3656;127328359;7437633 + 9132;65701;3540;3657;127328359;7503334 + 9133;65712;3540;3657;127328359;7503334 + 9134;65718;3540;3658;127328359;7569052 + 9135;65724;3540;3658;127328359;7569052 + 9136;65733;3540;3659;127328359;7634785 + 9137;65736;3540;3659;127328359;7634785 + 9138;65745;3540;3660;127328359;7700530 + 9139;65748;3540;3660;127328359;7700530 + 9140;65760;3540;3660;127328359;7700530 + 9141;65766;3540;3661;127328359;7766296 + 9142;65772;3540;3661;127328359;7766296 + 9143;65784;3540;3661;127328359;7766296 + 9144;65788;3540;3662;127328359;7832084 + 9145;65796;3540;3662;127328359;7832084 + 9146;65805;3540;3663;127328359;7897889 + 9147;65808;3540;3663;127328359;7897889 + 9148;65820;3540;3663;127328359;7897889 + 9149;65826;3540;3664;127328359;7963715 + 9150;65832;3540;3664;127328359;7963715 + 9151;65839;3540;3665;127328359;8029554 + 9152;65844;3540;3665;127328359;8029554 + 9153;65856;3540;3665;127328359;8029554 + 9154;65862;3540;3666;127328359;8095416 + 9155;65868;3540;3666;127328359;8095416 + 9156;65880;3540;3666;127328359;8095416 + 9157;65880;3540;3667;127328359;8161296 + 9158;65892;3540;3667;127328359;8161296 + 9159;65904;3540;3667;127328359;8161296 + 9160;65904;3540;3668;127328359;8227200 + 9161;65916;3550;3668;138332050;7589885 + 9162;65926;3550;3669;138332050;7655811 + 9163;65928;3550;3669;138332050;7655811 + 9164;65940;3550;3669;138332050;7655811 + 9165;65944;3550;3670;138332050;7721755 + 9166;65952;3550;3670;138332050;7721755 + 9167;65964;3550;3670;138332050;7721755 + 9168;65965;3560;3671;142033180;7148625 + 9169;65976;3560;3671;142033180;7148625 + 9170;65984;3560;3672;142033180;7214609 + 9171;65988;3560;3672;142033180;7214609 + 9172;66000;3560;3672;142033180;7214609 + 9173;66001;3560;3673;142033180;7280610 + 9174;66012;3560;3673;142033180;7280610 + 9175;66024;3560;3673;142033180;7280610 + 9176;66025;3560;3674;142033180;7346635 + 9177;66036;3560;3674;142033180;7346635 + 9178;66043;3560;3675;142033180;7412678 + 9179;66048;3560;3675;142033180;7412678 + 9180;66058;3560;3676;142033180;7478736 + 9181;66060;3560;3676;142033180;7478736 + 9182;66072;3560;3676;142033180;7478736 + 9183;66078;3560;3677;142033180;7544814 + 9184;66084;3560;3677;142033180;7544814 + 9185;66096;3560;3677;142033180;7544814 + 9186;66099;3560;3678;142033180;7610913 + 9187;66108;3560;3678;142033180;7610913 + 9188;66113;3560;3679;142033180;7677026 + 9189;66120;3560;3679;142033180;7677026 + 9190;66132;3570;3679;143752458;7035973 + 9191;66135;3570;3680;143752458;7102108 + 9192;66144;3570;3680;143752458;7102108 + 9193;66147;3570;3681;143752458;7168255 + 9194;66156;3570;3681;143752458;7168255 + 9195;66163;3570;3682;143752458;7234418 + 9196;66168;3570;3682;143752458;7234418 + 9197;66175;3570;3683;143752458;7300593 + 9198;66180;3570;3683;143752458;7300593 + 9199;66192;3570;3683;143752458;7300593 + 9200;66198;3570;3684;143752458;7366791 + 9201;66204;3570;3684;143752458;7366791 + 9202;66216;3570;3684;143752458;7366791 + 9203;66220;3570;3685;143752458;7433011 + 9204;66228;3570;3685;143752458;7433011 + 9205;66237;3570;3686;143752458;7499248 + 9206;66240;3570;3686;143752458;7499248 + 9207;66252;3570;3686;143752458;7499248 + 9208;66253;3570;3687;143752458;7565501 + 9209;66264;3570;3687;143752458;7565501 + 9210;66265;3580;3688;143632394;6989000 + 9211;66276;3580;3688;143632394;6989000 + 9212;66287;3580;3689;143632394;7055287 + 9213;66288;3580;3689;143632394;7055287 + 9214;66300;3580;3689;143632394;7055287 + 9215;66309;3580;3690;143632394;7121596 + 9216;66312;3580;3690;143632394;7121596 + 9217;66324;3580;3690;143632394;7121596 + 9218;66324;3580;3691;143632394;7187920 + 9219;66336;3580;3691;143632394;7187920 + 9220;66348;3580;3691;143632394;7187920 + 9221;66348;3580;3692;143632394;7254268 + 9222;66360;3580;3692;143632394;7254268 + 9223;66367;3580;3693;143632394;7320635 + 9224;66372;3580;3693;143632394;7320635 + 9225;66384;3580;3693;143632394;7320635 + 9226;66388;3580;3694;143632394;7387023 + 9227;66396;3580;3694;143632394;7387023 + 9228;66408;3580;3694;143632394;7387023 + 9229;66411;3580;3695;143632394;7453434 + 9230;66420;3580;3695;143632394;7453434 + 9231;66428;3580;3696;143632394;7519862 + 9232;66432;3580;3696;143632394;7519862 + 9233;66443;3580;3697;143632394;7586305 + 9234;66444;3580;3697;143632394;7586305 + 9235;66456;3580;3697;143632394;7586305 + 9236;66461;3580;3698;143632394;7652766 + 9237;66468;3580;3698;143632394;7652766 + 9238;66480;3580;3698;143632394;7652766 + 9239;66483;3580;3699;143632394;7719249 + 9240;66492;3580;3699;143632394;7719249 + 9241;66503;3580;3700;143632394;7785752 + 9242;66504;3580;3700;143632394;7785752 + 9243;66516;3580;3700;143632394;7785752 + 9244;66526;3580;3701;143632394;7852278 + 9245;66528;3580;3701;143632394;7852278 + 9246;66540;3580;3701;143632394;7852278 + 9247;66546;3580;3702;143632394;7918824 + 9248;66552;3580;3702;143632394;7918824 + 9249;66561;3580;3703;143632394;7985385 + 9250;66564;3580;3703;143632394;7985385 + 9251;66576;3580;3703;143632394;7985385 + 9252;66580;3580;3704;143632394;8051965 + 9253;66588;3580;3704;143632394;8051965 + 9254;66599;3580;3705;143632394;8118564 + 9255;66600;3580;3705;143632394;8118564 + 9256;66612;3580;3705;143632394;8118564 + 9257;66613;3580;3706;143632394;8185177 + 9258;66624;3580;3706;143632394;8185177 + 9259;66627;3580;3707;143632394;8251804 + 9260;66636;3580;3707;143632394;8251804 + 9261;66648;3580;3707;143632394;8251804 + 9262;66648;3580;3708;143632394;8318452 + 9263;66660;3580;3708;143632394;8318452 + 9264;66669;3580;3709;143632394;8385121 + 9265;66672;3580;3709;143632394;8385121 + 9266;66684;3580;3709;143632394;8385121 + 9267;66687;3580;3710;143632394;8451808 + 9268;66696;3580;3710;143632394;8451808 + 9269;66703;3580;3711;143632394;8518511 + 9270;66708;3580;3711;143632394;8518511 + 9271;66717;3580;3712;143632394;8585228 + 9272;66720;3580;3712;143632394;8585228 + 9273;66732;3580;3712;143632394;8585228 + 9274;66739;3580;3713;143632394;8651967 + 9275;66744;3580;3713;143632394;8651967 + 9276;66756;3580;3713;143632394;8651967 + 9277;66757;3580;3714;143632394;8718724 + 9278;66768;3600;3714;145322452;7427701 + 9279;66773;3610;3715;141063351;6846383 + 9280;66780;3610;3715;141063351;6846383 + 9281;66789;3610;3716;141063351;6913172 + 9282;66792;3610;3716;141063351;6913172 + 9283;66804;3610;3716;141063351;6913172 + 9284;66807;3610;3717;141063351;6979979 + 9285;66816;3610;3717;141063351;6979979 + 9286;66825;3610;3718;141063351;7046804 + 9287;66828;3610;3718;141063351;7046804 + 9288;66840;3610;3718;141063351;7046804 + 9289;66841;3610;3719;141063351;7113645 + 9290;66852;3610;3719;141063351;7113645 + 9291;66858;3610;3720;141063351;7180503 + 9292;66864;3610;3720;141063351;7180503 + 9293;66876;3610;3720;141063351;7180503 + 9294;66878;3610;3721;141063351;7247381 + 9295;66888;3610;3721;141063351;7247381 + 9296;66900;3610;3721;141063351;7247381 + 9297;66901;3620;3722;140428303;6664416 + 9298;66912;3620;3722;140428303;6664416 + 9299;66915;3620;3723;140428303;6731331 + 9300;66924;3620;3723;140428303;6731331 + 9301;66927;3620;3724;140428303;6798258 + 9302;66936;3620;3724;140428303;6798258 + 9303;66944;3630;3725;133829783;6213583 + 9304;66948;3630;3725;133829783;6213583 + 9305;66956;3630;3726;133829783;6280539 + 9306;66960;3630;3726;133829783;6280539 + 9307;66972;3630;3726;133829783;6280539 + 9308;66978;3630;3727;133829783;6347517 + 9309;66984;3630;3727;133829783;6347517 + 9310;66995;3630;3728;133829783;6414512 + 9311;66996;3630;3728;133829783;6414512 + 9312;67007;3630;3729;133829783;6481519 + 9313;67008;3630;3729;133829783;6481519 + 9314;67020;3630;3729;133829783;6481519 + 9315;67026;3630;3730;133829783;6548545 + 9316;67032;3630;3730;133829783;6548545 + 9317;67038;3630;3731;133829783;6615583 + 9318;67044;3630;3731;133829783;6615583 + 9319;67056;3630;3731;133829783;6615583 + 9320;67057;3630;3732;133829783;6682640 + 9321;67068;3630;3732;133829783;6682640 + 9322;67077;3630;3733;133829783;6749717 + 9323;67080;3630;3733;133829783;6749717 + 9324;67092;3630;3733;133829783;6749717 + 9325;67101;3630;3734;133829783;6816818 + 9326;67104;3630;3734;133829783;6816818 + 9327;67116;3630;3734;133829783;6816818 + 9328;67125;3630;3735;133829783;6883943 + 9329;67128;3630;3735;133829783;6883943 + 9330;67140;3630;3735;133829783;6883943 + 9331;67145;3630;3736;133829783;6951088 + 9332;67152;3630;3736;133829783;6951088 + 9333;67157;3630;3737;133829783;7018245 + 9334;67164;3630;3737;133829783;7018245 + 9335;67169;3630;3738;133829783;7085414 + 9336;67176;3630;3738;133829783;7085414 + 9337;67186;3630;3739;133829783;7152600 + 9338;67188;3630;3739;133829783;7152600 + 9339;67200;3630;3739;133829783;7152600 + 9340;67206;3630;3740;133829783;7219806 + 9341;67212;3630;3740;133829783;7219806 + 9342;67218;3630;3741;133829783;7287024 + 9343;67224;3630;3741;133829783;7287024 + 9344;67236;3630;3741;133829783;7287024 + 9345;67236;3630;3742;133829783;7354260 + 9346;67248;3630;3742;133829783;7354260 + 9347;67249;3630;3743;133829783;7421509 + 9348;67260;3630;3743;133829783;7421509 + 9349;67265;3630;3744;133829783;7488774 + 9350;67272;3630;3744;133829783;7488774 + 9351;67284;3630;3744;133829783;7488774 + 9352;67289;3630;3745;133829783;7556063 + 9353;67296;3630;3745;133829783;7556063 + 9354;67308;3630;3745;133829783;7556063 + 9355;67310;3630;3746;133829783;7623373 + 9356;67320;3630;3746;133829783;7623373 + 9357;67323;3630;3747;133829783;7690696 + 9358;67332;3630;3747;133829783;7690696 + 9359;67344;3630;3747;133829783;7690696 + 9360;67345;3630;3748;133829783;7758041 + 9361;67356;3630;3748;133829783;7758041 + 9362;67358;3630;3749;133829783;7825399 + 9363;67368;3630;3749;133829783;7825399 + 9364;67374;3630;3750;133829783;7892773 + 9365;67380;3630;3750;133829783;7892773 + 9366;67392;3630;3750;133829783;7892773 + 9367;67394;3630;3751;133829783;7960167 + 9368;67404;3630;3751;133829783;7960167 + 9369;67407;3630;3752;133829783;8027574 + 9370;67416;3630;3752;133829783;8027574 + 9371;67420;3630;3753;133829783;8094994 + 9372;67428;3630;3753;133829783;8094994 + 9373;67440;3630;3753;133829783;8094994 + 9374;67440;3630;3754;133829783;8162434 + 9375;67452;3630;3754;133829783;8162434 + 9376;67457;3630;3755;133829783;8229891 + 9377;67464;3630;3755;133829783;8229891 + 9378;67474;3630;3756;133829783;8297365 + 9379;67476;3630;3756;133829783;8297365 + 9380;67487;3630;3757;133829783;8364852 + 9381;67488;3630;3757;133829783;8364852 + 9382;67500;3630;3757;133829783;8364852 + 9383;67502;3630;3758;133829783;8432354 + 9384;67512;3630;3758;133829783;8432354 + 9385;67522;3630;3759;133829783;8499876 + 9386;67524;3630;3759;133829783;8499876 + 9387;67536;3630;3759;133829783;8499876 + 9388;67546;3630;3760;133829783;8567422 + 9389;67548;3630;3760;133829783;8567422 + 9390;67560;3630;3760;133829783;8567422 + 9391;67565;3630;3761;133829783;8634987 + 9392;67572;3630;3761;133829783;8634987 + 9393;67584;3630;3761;133829783;8634987 + 9394;67587;3630;3762;133829783;8702574 + 9395;67596;3630;3762;133829783;8702574 + 9396;67600;3630;3763;133829783;8770174 + 9397;67608;3630;3763;133829783;8770174 + 9398;67620;3630;3763;133829783;8770174 + 9399;67623;3630;3764;133829783;8837797 + 9400;67632;3630;3764;133829783;8837797 + 9401;67640;3630;3765;133829783;8905437 + 9402;67644;3630;3765;133829783;8905437 + 9403;67652;3630;3766;133829783;8973089 + 9404;67656;3630;3766;133829783;8973089 + 9405;67665;3630;3767;133829783;9040754 + 9406;67668;3630;3767;133829783;9040754 + 9407;67680;3630;3767;133829783;9040754 + 9408;67686;3630;3768;133829783;9108440 + 9409;67692;3630;3768;133829783;9108440 + 9410;67704;3630;3768;133829783;9108440 + 9411;67706;3630;3769;133829783;9176146 + 9412;67716;3630;3769;133829783;9176146 + 9413;67728;3630;3769;133829783;9176146 + 9414;67729;3640;3770;145371030;8590484 + 9415;67740;3640;3770;145371030;8590484 + 9416;67744;3640;3771;145371030;8658228 + 9417;67752;3640;3771;145371030;8658228 + 9418;67764;3640;3771;145371030;8658228 + 9419;67766;3640;3772;145371030;8725994 + 9420;67776;3640;3772;145371030;8725994 + 9421;67788;3640;3772;145371030;8725994 + 9422;67789;3640;3773;145371030;8793783 + 9423;67800;3640;3773;145371030;8793783 + 9424;67806;3640;3774;145371030;8861589 + 9425;67812;3640;3774;145371030;8861589 + 9426;67822;3670;3775;141582921;6958595 + 9427;67824;3670;3775;141582921;6958595 + 9428;67835;3670;3776;141582921;7026430 + 9429;67836;3670;3776;141582921;7026430 + 9430;67848;3670;3776;141582921;7026430 + 9431;67853;3670;3777;141582921;7094283 + 9432;67860;3670;3777;141582921;7094283 + 9433;67872;3670;3777;141582921;7094283 + 9434;67873;3670;3778;141582921;7162156 + 9435;67884;3670;3778;141582921;7162156 + 9436;67894;3670;3779;141582921;7230050 + 9437;67896;3670;3779;141582921;7230050 + 9438;67906;3670;3780;141582921;7297956 + 9439;67908;3670;3780;141582921;7297956 + 9440;67920;3670;3780;141582921;7297956 + 9441;67928;3670;3781;141582921;7365884 + 9442;67932;3670;3781;141582921;7365884 + 9443;67944;3670;3781;141582921;7365884 + 9444;67948;3670;3782;141582921;7433832 + 9445;67956;3670;3782;141582921;7433832 + 9446;67965;3670;3783;141582921;7501797 + 9447;67968;3670;3783;141582921;7501797 + 9448;67977;3670;3784;141582921;7569774 + 9449;67980;3670;3784;141582921;7569774 + 9450;67992;3670;3784;141582921;7569774 + 9451;67999;3670;3785;141582921;7637773 + 9452;68004;3670;3785;141582921;7637773 + 9453;68011;3670;3786;141582921;7705784 + 9454;68016;3670;3786;141582921;7705784 + 9455;68028;3670;3786;141582921;7705784 + 9456;68034;3670;3787;141582921;7773818 + 9457;68040;3670;3787;141582921;7773818 + 9458;68052;3670;3787;141582921;7773818 + 9459;68056;3670;3788;141582921;7841874 + 9460;68064;3670;3788;141582921;7841874 + 9461;68076;3670;3788;141582921;7841874 + 9462;68077;3670;3789;141582921;7909951 + 9463;68088;3670;3789;141582921;7909951 + 9464;68095;3670;3790;141582921;7978046 + 9465;68100;3670;3790;141582921;7978046 + 9466;68112;3670;3790;141582921;7978046 + 9467;68115;3670;3791;141582921;8046161 + 9468;68124;3670;3791;141582921;8046161 + 9469;68128;3670;3792;141582921;8114289 + 9470;68136;3670;3792;141582921;8114289 + 9471;68148;3670;3792;141582921;8114289 + 9472;68150;3670;3793;141582921;8182439 + 9473;68160;3670;3793;141582921;8182439 + 9474;68167;3670;3794;141582921;8250606 + 9475;68172;3670;3794;141582921;8250606 + 9476;68182;3680;3795;140404837;7658105 + 9477;68184;3680;3795;140404837;7658105 + 9478;68196;3680;3795;140404837;7658105 + 9479;68198;3680;3796;140404837;7726303 + 9480;68208;3680;3796;140404837;7726303 + 9481;68220;3680;3796;140404837;7726303 + 9482;68220;3680;3797;140404837;7794523 + 9483;68232;3680;3797;140404837;7794523 + 9484;68240;3680;3798;140404837;7862763 + 9485;68244;3680;3798;140404837;7862763 + 9486;68256;3680;3798;140404837;7862763 + 9487;68264;3680;3799;140404837;7931027 + 9488;68268;3680;3799;140404837;7931027 + 9489;68280;3680;3799;140404837;7931027 + 9490;68281;3680;3800;140404837;7999308 + 9491;68292;3680;3800;140404837;7999308 + 9492;68304;3680;3800;140404837;7999308 + 9493;68305;3680;3801;140404837;8067613 + 9494;68316;3680;3801;140404837;8067613 + 9495;68317;3680;3802;140404837;8135930 + 9496;68328;3680;3802;140404837;8135930 + 9497;68337;3680;3803;140404837;8204267 + 9498;68340;3680;3803;140404837;8204267 + 9499;68352;3680;3803;140404837;8204267 + 9500;68357;3680;3804;140404837;8272624 + 9501;68364;3680;3804;140404837;8272624 + 9502;68376;3680;3804;140404837;8272624 + 9503;68376;3680;3805;140404837;8341000 + 9504;68388;3680;3805;140404837;8341000 + 9505;68389;3680;3806;140404837;8409389 + 9506;68400;3680;3806;140404837;8409389 + 9507;68404;3680;3807;140404837;8477793 + 9508;68412;3680;3807;140404837;8477793 + 9509;68424;3680;3807;140404837;8477793 + 9510;68427;3680;3808;140404837;8546220 + 9511;68436;3680;3808;140404837;8546220 + 9512;68448;3680;3808;140404837;8546220 + 9513;68451;3680;3809;140404837;8614671 + 9514;68460;3680;3809;140404837;8614671 + 9515;68472;3680;3809;140404837;8614671 + 9516;68474;3680;3810;140404837;8683145 + 9517;68484;3680;3810;140404837;8683145 + 9518;68496;3680;3810;140404837;8683145 + 9519;68497;3680;3811;140404837;8751642 + 9520;68508;3680;3811;140404837;8751642 + 9521;68517;3680;3812;140404837;8820159 + 9522;68520;3680;3812;140404837;8820159 + 9523;68532;3680;3812;140404837;8820159 + 9524;68541;3690;3813;152131283;8226269 + 9525;68544;3690;3813;152131283;8226269 + 9526;68553;3690;3814;152131283;8294822 + 9527;68556;3690;3814;152131283;8294822 + 9528;68568;3690;3814;152131283;8294822 + 9529;68569;3690;3815;152131283;8363391 + 9530;68580;3690;3815;152131283;8363391 + 9531;68592;3690;3815;152131283;8363391 + 9532;68593;3690;3816;152131283;8431984 + 9533;68604;3690;3816;152131283;8431984 + 9534;68608;3690;3817;152131283;8500592 + 9535;68616;3690;3817;152131283;8500592 + 9536;68628;3690;3817;152131283;8500592 + 9537;68631;3710;3818;151649012;7238632 + 9538;68640;3710;3818;151649012;7238632 + 9539;68649;3710;3819;151649012;7307281 + 9540;68652;3710;3819;151649012;7307281 + 9541;68664;3710;3819;151649012;7307281 + 9542;68667;3710;3820;151649012;7375948 + 9543;68676;3710;3820;151649012;7375948 + 9544;68683;3710;3821;151649012;7444631 + 9545;68688;3710;3821;151649012;7444631 + 9546;68700;3710;3821;151649012;7444631 + 9547;68702;3710;3822;151649012;7513333 + 9548;68712;3710;3822;151649012;7513333 + 9549;68724;3710;3822;151649012;7513333 + 9550;68724;3710;3823;151649012;7582057 + 9551;68736;3710;3823;151649012;7582057 + 9552;68739;3710;3824;151649012;7650796 + 9553;68748;3710;3824;151649012;7650796 + 9554;68751;3710;3825;151649012;7719547 + 9555;68760;3710;3825;151649012;7719547 + 9556;68764;3710;3826;151649012;7788311 + 9557;68772;3710;3826;151649012;7788311 + 9558;68778;3710;3827;151649012;7857089 + 9559;68784;3710;3827;151649012;7857089 + 9560;68796;3710;3827;151649012;7857089 + 9561;68797;3710;3828;151649012;7925886 + 9562;68808;3710;3828;151649012;7925886 + 9563;68820;3710;3828;151649012;7925886 + 9564;68820;3710;3829;151649012;7994706 + 9565;68832;3710;3829;151649012;7994706 + 9566;68838;3710;3830;151649012;8063544 + 9567;68844;3710;3830;151649012;8063544 + 9568;68856;3710;3830;151649012;8063544 + 9569;68858;3720;3831;144426673;7464418 + 9570;68868;3720;3831;144426673;7464418 + 9571;68880;3720;3831;144426673;7464418 + 9572;68882;3720;3832;144426673;7533300 + 9573;68892;3720;3832;144426673;7533300 + 9574;68895;3720;3833;144426673;7602195 + 9575;68904;3720;3833;144426673;7602195 + 9576;68910;3720;3834;144426673;7671105 + 9577;68916;3720;3834;144426673;7671105 + 9578;68924;3720;3835;144426673;7740029 + 9579;68928;3720;3835;144426673;7740029 + 9580;68940;3720;3835;144426673;7740029 + 9581;68940;3720;3836;144426673;7808969 + 9582;68952;3720;3836;144426673;7808969 + 9583;68960;3720;3837;144426673;7877929 + 9584;68964;3720;3837;144426673;7877929 + 9585;68973;3720;3838;144426673;7946902 + 9586;68976;3720;3838;144426673;7946902 + 9587;68986;3730;3839;146321563;7346201 + 9588;68988;3730;3839;146321563;7346201 + 9589;69000;3730;3839;146321563;7346201 + 9590;69004;3730;3840;146321563;7415205 + 9591;69012;3730;3840;146321563;7415205 + 9592;69020;3730;3841;146321563;7484225 + 9593;69024;3730;3841;146321563;7484225 + 9594;69036;3730;3841;146321563;7484225 + 9595;69036;3730;3842;146321563;7553261 + 9596;69048;3730;3842;146321563;7553261 + 9597;69054;3730;3843;146321563;7622315 + 9598;69060;3730;3843;146321563;7622315 + 9599;69069;3730;3844;146321563;7691384 + 9600;69072;3730;3844;146321563;7691384 + 9601;69084;3730;3844;146321563;7691384 + 9602;69086;3730;3845;146321563;7760470 + 9603;69096;3730;3845;146321563;7760470 + 9604;69098;3730;3846;146321563;7829568 + 9605;69108;3730;3846;146321563;7829568 + 9606;69120;3730;3846;146321563;7829568 + 9607;69120;3730;3847;146321563;7898688 + 9608;69132;3730;3847;146321563;7898688 + 9609;69137;3730;3848;146321563;7967825 + 9610;69144;3730;3848;146321563;7967825 + 9611;69153;3730;3849;146321563;8036978 + 9612;69156;3730;3849;146321563;8036978 + 9613;69166;3730;3850;146321563;8106144 + 9614;69168;3730;3850;146321563;8106144 + 9615;69180;3730;3850;146321563;8106144 + 9616;69190;3730;3851;146321563;8175334 + 9617;69192;3730;3851;146321563;8175334 + 9618;69204;3730;3851;146321563;8175334 + 9619;69212;3730;3852;146321563;8244546 + 9620;69216;3730;3852;146321563;8244546 + 9621;69227;3730;3853;146321563;8313773 + 9622;69228;3730;3853;146321563;8313773 + 9623;69240;3740;3853;150613524;7642332 + 9624;69245;3760;3854;131765954;6363614 + 9625;69252;3760;3854;131765954;6363614 + 9626;69264;3760;3854;131765954;6363614 + 9627;69268;3760;3855;131765954;6432882 + 9628;69276;3760;3855;131765954;6432882 + 9629;69281;3760;3856;131765954;6502163 + 9630;69288;3760;3856;131765954;6502163 + 9631;69299;3760;3857;131765954;6571462 + 9632;69300;3760;3857;131765954;6571462 + 9633;69312;3760;3857;131765954;6571462 + 9634;69315;3760;3858;131765954;6640777 + 9635;69324;3760;3858;131765954;6640777 + 9636;69336;3760;3858;131765954;6640777 + 9637;69336;3760;3859;131765954;6710113 + 9638;69348;3760;3859;131765954;6710113 + 9639;69354;3760;3860;131765954;6779467 + 9640;69360;3760;3860;131765954;6779467 + 9641;69372;3760;3860;131765954;6779467 + 9642;69378;3760;3861;131765954;6848845 + 9643;69384;3760;3861;131765954;6848845 + 9644;69392;3760;3862;131765954;6918237 + 9645;69396;3760;3862;131765954;6918237 + 9646;69408;3760;3862;131765954;6918237 + 9647;69416;3760;3863;131765954;6987653 + 9648;69420;3760;3863;131765954;6987653 + 9649;69432;3760;3863;131765954;6987653 + 9650;69433;3760;3864;131765954;7057086 + 9651;69444;3760;3864;131765954;7057086 + 9652;69452;3770;3865;120295482;6449906 + 9653;69456;3770;3865;120295482;6449906 + 9654;69466;3770;3866;120295482;6519372 + 9655;69468;3770;3866;120295482;6519372 + 9656;69480;3770;3866;120295482;6519372 + 9657;69485;3770;3867;120295482;6588857 + 9658;69492;3770;3867;120295482;6588857 + 9659;69502;3770;3868;120295482;6658359 + 9660;69504;3770;3868;120295482;6658359 + 9661;69516;3770;3868;120295482;6658359 + 9662;69521;3770;3869;120295482;6727880 + 9663;69528;3770;3869;120295482;6727880 + 9664;69534;3770;3870;120295482;6797414 + 9665;69540;3770;3870;120295482;6797414 + 9666;69552;3770;3870;120295482;6797414 + 9667;69556;3770;3871;120295482;6866970 + 9668;69564;3770;3871;120295482;6866970 + 9669;69576;3770;3871;120295482;6866970 + 9670;69579;3770;3872;120295482;6936549 + 9671;69588;3770;3872;120295482;6936549 + 9672;69598;3770;3873;120295482;7006147 + 9673;69600;3770;3873;120295482;7006147 + 9674;69612;3770;3873;120295482;7006147 + 9675;69615;3770;3874;120295482;7075762 + 9676;69624;3770;3874;120295482;7075762 + 9677;69636;3770;3874;120295482;7075762 + 9678;69638;3770;3875;120295482;7145400 + 9679;69648;3770;3875;120295482;7145400 + 9680;69660;3770;3875;120295482;7145400 + 9681;69660;3770;3876;120295482;7215060 + 9682;69672;3770;3876;120295482;7215060 + 9683;69684;3770;3876;120295482;7215060 + 9684;69684;3770;3877;120295482;7284744 + 9685;69696;3770;3877;120295482;7284744 + 9686;69699;3770;3878;120295482;7354443 + 9687;69708;3770;3878;120295482;7354443 + 9688;69715;3770;3879;120295482;7424158 + 9689;69720;3770;3879;120295482;7424158 + 9690;69732;3770;3879;120295482;7424158 + 9691;69734;3770;3880;120295482;7493892 + 9692;69744;3770;3880;120295482;7493892 + 9693;69751;3770;3881;120295482;7563643 + 9694;69756;3770;3881;120295482;7563643 + 9695;69768;3770;3881;120295482;7563643 + 9696;69772;3770;3882;120295482;7633415 + 9697;69780;3770;3882;120295482;7633415 + 9698;69791;3770;3883;120295482;7703206 + 9699;69792;3770;3883;120295482;7703206 + 9700;69804;3770;3883;120295482;7703206 + 9701;69806;3770;3884;120295482;7773012 + 9702;69816;3770;3884;120295482;7773012 + 9703;69822;3770;3885;120295482;7842834 + 9704;69828;3770;3885;120295482;7842834 + 9705;69834;3770;3886;120295482;7912668 + 9706;69840;3770;3886;120295482;7912668 + 9707;69852;3770;3886;120295482;7912668 + 9708;69853;3770;3887;120295482;7982521 + 9709;69864;3770;3887;120295482;7982521 + 9710;69873;3770;3888;120295482;8052394 + 9711;69876;3770;3888;120295482;8052394 + 9712;69888;3770;3888;120295482;8052394 + 9713;69888;3770;3889;120295482;8122282 + 9714;69900;3770;3889;120295482;8122282 + 9715;69904;3770;3890;120295482;8192186 + 9716;69912;3770;3890;120295482;8192186 + 9717;69924;3770;3890;120295482;8192186 + 9718;69926;3770;3891;120295482;8262112 + 9719;69936;3770;3891;120295482;8262112 + 9720;69948;3770;3891;120295482;8262112 + 9721;69949;3770;3892;120295482;8332061 + 9722;69960;3770;3892;120295482;8332061 + 9723;69972;3770;3892;120295482;8332061 + 9724;69972;3770;3893;120295482;8402033 + 9725;69984;3770;3893;120295482;8402033 + 9726;69992;3770;3894;120295482;8472025 + 9727;69996;3770;3894;120295482;8472025 + 9728;70008;3770;3894;120295482;8472025 + 9729;70014;3770;3895;120295482;8542039 + 9730;70020;3770;3895;120295482;8542039 + 9731;70026;3770;3896;120295482;8612065 + 9732;70032;3770;3896;120295482;8612065 + 9733;70039;3770;3897;120295482;8682104 + 9734;70044;3770;3897;120295482;8682104 + 9735;70052;3780;3898;128891176;8073684 + 9736;70056;3780;3898;128891176;8073684 + 9737;70068;3780;3898;128891176;8073684 + 9738;70068;3780;3899;128891176;8143752 + 9739;70080;3780;3899;128891176;8143752 + 9740;70084;3780;3900;128891176;8213836 + 9741;70092;3780;3900;128891176;8213836 + 9742;70101;3780;3901;128891176;8283937 + 9743;70104;3780;3901;128891176;8283937 + 9744;70114;3790;3902;137112259;7673774 + 9745;70116;3790;3902;137112259;7673774 + 9746;70128;3790;3902;137112259;7673774 + 9747;70129;3790;3903;137112259;7743903 + 9748;70140;3790;3903;137112259;7743903 + 9749;70152;3790;3903;137112259;7743903 + 9750;70153;3790;3904;137112259;7814056 + 9751;70164;3790;3904;137112259;7814056 + 9752;70175;3790;3905;137112259;7884231 + 9753;70176;3790;3905;137112259;7884231 + 9754;70188;3790;3905;137112259;7884231 + 9755;70188;3790;3906;137112259;7954419 + 9756;70200;3790;3906;137112259;7954419 + 9757;70210;3790;3907;137112259;8024629 + 9758;70212;3790;3907;137112259;8024629 + 9759;70224;3790;3907;137112259;8024629 + 9760;70227;3800;3908;137249807;7412721 + 9761;70236;3800;3908;137249807;7412721 + 9762;70248;3800;3908;137249807;7412721 + 9763;70250;3800;3909;137249807;7482971 + 9764;70260;3800;3909;137249807;7482971 + 9765;70272;3800;3909;137249807;7482971 + 9766;70274;3800;3910;137249807;7553245 + 9767;70284;3800;3910;137249807;7553245 + 9768;70290;3800;3911;137249807;7623535 + 9769;70296;3800;3911;137249807;7623535 + 9770;70307;3800;3912;137249807;7693842 + 9771;70308;3800;3912;137249807;7693842 + 9772;70320;3800;3912;137249807;7693842 + 9773;70322;3800;3913;137249807;7764164 + 9774;70332;3800;3913;137249807;7764164 + 9775;70336;3800;3914;137249807;7834500 + 9776;70344;3800;3914;137249807;7834500 + 9777;70355;3800;3915;137249807;7904855 + 9778;70356;3800;3915;137249807;7904855 + 9779;70368;3800;3915;137249807;7904855 + 9780;70379;3800;3916;137249807;7975234 + 9781;70380;3800;3916;137249807;7975234 + 9782;70392;3800;3916;137249807;7975234 + 9783;70400;3800;3917;137249807;8045634 + 9784;70404;3800;3917;137249807;8045634 + 9785;70416;3800;3917;137249807;8045634 + 9786;70417;3800;3918;137249807;8116051 + 9787;70428;3800;3918;137249807;8116051 + 9788;70438;3800;3919;137249807;8186489 + 9789;70440;3800;3919;137249807;8186489 + 9790;70452;3800;3919;137249807;8186489 + 9791;70459;3800;3920;137249807;8256948 + 9792;70464;3800;3920;137249807;8256948 + 9793;70475;3800;3921;137249807;8327423 + 9794;70476;3800;3921;137249807;8327423 + 9795;70488;3800;3921;137249807;8327423 + 9796;70491;3800;3922;137249807;8397914 + 9797;70500;3800;3922;137249807;8397914 + 9798;70512;3800;3922;137249807;8397914 + 9799;70514;3800;3923;137249807;8468428 + 9800;70524;3800;3923;137249807;8468428 + 9801;70534;3800;3924;137249807;8538962 + 9802;70536;3800;3924;137249807;8538962 + 9803;70548;3800;3924;137249807;8538962 + 9804;70556;3800;3925;137249807;8609518 + 9805;70560;3800;3925;137249807;8609518 + 9806;70572;3800;3925;137249807;8609518 + 9807;70572;3800;3926;137249807;8680090 + 9808;70584;3800;3926;137249807;8680090 + 9809;70586;3800;3927;137249807;8750676 + 9810;70596;3800;3927;137249807;8750676 + 9811;70602;3800;3928;137249807;8821278 + 9812;70608;3800;3928;137249807;8821278 + 9813;70620;3800;3928;137249807;8821278 + 9814;70624;3800;3929;137249807;8891902 + 9815;70632;3800;3929;137249807;8891902 + 9816;70641;3810;3930;142961888;8278514 + 9817;70644;3810;3930;142961888;8278514 + 9818;70656;3810;3930;142961888;8278514 + 9819;70658;3820;3931;135268799;7663161 + 9820;70668;3820;3931;135268799;7663161 + 9821;70680;3820;3931;135268799;7663161 + 9822;70681;3820;3932;135268799;7733842 + 9823;70692;3820;3932;135268799;7733842 + 9824;70696;3820;3933;135268799;7804538 + 9825;70704;3820;3933;135268799;7804538 + 9826;70715;3820;3934;135268799;7875253 + 9827;70716;3820;3934;135268799;7875253 + 9828;70728;3830;3934;136062295;7187482 + 9829;70739;3830;3935;136062295;7258221 + 9830;70740;3830;3935;136062295;7258221 + 9831;70752;3830;3935;136062295;7258221 + 9832;70757;3830;3936;136062295;7328978 + 9833;70764;3830;3936;136062295;7328978 + 9834;70774;3830;3937;136062295;7399752 + 9835;70776;3830;3937;136062295;7399752 + 9836;70788;3830;3937;136062295;7399752 + 9837;70797;3830;3938;136062295;7470549 + 9838;70800;3830;3938;136062295;7470549 + 9839;70812;3830;3938;136062295;7470549 + 9840;70814;3830;3939;136062295;7541363 + 9841;70824;3830;3939;136062295;7541363 + 9842;70827;3830;3940;136062295;7612190 + 9843;70836;3830;3940;136062295;7612190 + 9844;70848;3830;3940;136062295;7612190 + 9845;70849;3830;3941;136062295;7683039 + 9846;70860;3830;3941;136062295;7683039 + 9847;70867;3830;3942;136062295;7753906 + 9848;70872;3830;3942;136062295;7753906 + 9849;70884;3830;3942;136062295;7753906 + 9850;70886;3830;3943;136062295;7824792 + 9851;70896;3830;3943;136062295;7824792 + 9852;70905;3830;3944;136062295;7895697 + 9853;70908;3830;3944;136062295;7895697 + 9854;70918;3830;3945;136062295;7966615 + 9855;70920;3830;3945;136062295;7966615 + 9856;70932;3830;3945;136062295;7966615 + 9857;70936;3830;3946;136062295;8037551 + 9858;70944;3830;3946;136062295;8037551 + 9859;70952;3830;3947;136062295;8108503 + 9860;70956;3830;3947;136062295;8108503 + 9861;70964;3830;3948;136062295;8179467 + 9862;70968;3830;3948;136062295;8179467 + 9863;70980;3830;3948;136062295;8179467 + 9864;70988;3830;3949;136062295;8250455 + 9865;70992;3830;3949;136062295;8250455 + 9866;71004;3830;3949;136062295;8250455 + 9867;71004;3830;3950;136062295;8321459 + 9868;71016;3830;3950;136062295;8321459 + 9869;71016;3830;3951;136062295;8392475 + 9870;71028;3830;3951;136062295;8392475 + 9871;71028;3830;3952;136062295;8463503 + 9872;71040;3830;3952;136062295;8463503 + 9873;71043;3830;3953;136062295;8534546 + 9874;71052;3830;3953;136062295;8534546 + 9875;71061;3830;3954;136062295;8605607 + 9876;71064;3830;3954;136062295;8605607 + 9877;71076;3830;3954;136062295;8605607 + 9878;71085;3830;3955;136062295;8676692 + 9879;71088;3830;3955;136062295;8676692 + 9880;71100;3830;3955;136062295;8676692 + 9881;71107;3830;3956;136062295;8747799 + 9882;71112;3830;3956;136062295;8747799 + 9883;71121;3830;3957;136062295;8818920 + 9884;71124;3830;3957;136062295;8818920 + 9885;71136;3830;3957;136062295;8818920 + 9886;71145;3830;3958;136062295;8890065 + 9887;71148;3830;3958;136062295;8890065 + 9888;71157;3830;3959;136062295;8961222 + 9889;71160;3830;3959;136062295;8961222 + 9890;71172;3830;3959;136062295;8961222 + 9891;71176;3840;3960;155810560;8342904 + 9892;71184;3840;3960;155810560;8342904 + 9893;71194;3850;3961;149835291;7722989 + 9894;71196;3850;3961;149835291;7722989 + 9895;71207;3850;3962;149835291;7794196 + 9896;71208;3850;3962;149835291;7794196 + 9897;71220;3850;3962;149835291;7794196 + 9898;71223;3850;3963;149835291;7865419 + 9899;71232;3850;3963;149835291;7865419 + 9900;71244;3850;3963;149835291;7865419 + 9901;71244;3850;3964;149835291;7936663 + 9902;71256;3850;3964;149835291;7936663 + 9903;71256;3850;3965;149835291;8007919 + 9904;71268;3850;3965;149835291;8007919 + 9905;71279;3850;3966;149835291;8079198 + 9906;71280;3850;3966;149835291;8079198 + 9907;71292;3850;3966;149835291;8079198 + 9908;71300;3850;3967;149835291;8150498 + 9909;71304;3850;3967;149835291;8150498 + 9910;71316;3850;3967;149835291;8150498 + 9911;71324;3850;3968;149835291;8221822 + 9912;71328;3850;3968;149835291;8221822 + 9913;71340;3850;3968;149835291;8221822 + 9914;71341;3850;3969;149835291;8293163 + 9915;71352;3850;3969;149835291;8293163 + 9916;71359;3850;3970;149835291;8364522 + 9917;71364;3850;3970;149835291;8364522 + 9918;71376;3850;3970;149835291;8364522 + 9919;71382;3850;3971;149835291;8435904 + 9920;71388;3850;3971;149835291;8435904 + 9921;71400;3850;3971;149835291;8435904 + 9922;71402;3850;3972;149835291;8507306 + 9923;71412;3850;3972;149835291;8507306 + 9924;71414;3850;3973;149835291;8578720 + 9925;71424;3850;3973;149835291;8578720 + 9926;71426;3850;3974;149835291;8650146 + 9927;71436;3850;3974;149835291;8650146 + 9928;71447;3850;3975;149835291;8721593 + 9929;71448;3850;3975;149835291;8721593 + 9930;71460;3850;3975;149835291;8721593 + 9931;71461;3850;3976;149835291;8793054 + 9932;71472;3850;3976;149835291;8793054 + 9933;71476;3850;3977;149835291;8864530 + 9934;71484;3850;3977;149835291;8864530 + 9935;71494;3850;3978;149835291;8936024 + 9936;71496;3850;3978;149835291;8936024 + 9937;71508;3850;3978;149835291;8936024 + 9938;71510;3850;3979;149835291;9007534 + 9939;71520;3850;3979;149835291;9007534 + 9940;71523;3850;3980;149835291;9079057 + 9941;71532;3850;3980;149835291;9079057 + 9942;71542;3850;3981;149835291;9150599 + 9943;71544;3850;3981;149835291;9150599 + 9944;71556;3850;3981;149835291;9150599 + 9945;71563;3850;3982;149835291;9222162 + 9946;71568;3850;3982;149835291;9222162 + 9947;71575;3850;3983;149835291;9293737 + 9948;71580;3850;3983;149835291;9293737 + 9949;71590;3850;3984;149835291;9365327 + 9950;71592;3850;3984;149835291;9365327 + 9951;71604;3850;3984;149835291;9365327 + 9952;71612;3850;3985;149835291;9436939 + 9953;71616;3850;3985;149835291;9436939 + 9954;71628;3850;3985;149835291;9436939 + 9955;71632;3850;3986;149835291;9508571 + 9956;71640;3850;3986;149835291;9508571 + 9957;71652;3850;3986;149835291;9508571 + 9958;71652;3850;3987;149835291;9580223 + 9959;71664;3850;3987;149835291;9580223 + 9960;71671;3850;3988;149835291;9651894 + 9961;71676;3850;3988;149835291;9651894 + 9962;71688;3870;3988;165195598;8264222 + 9963;71690;3870;3989;165195598;8335912 + 9964;71700;3870;3989;165195598;8335912 + 9965;71704;3870;3990;165195598;8407616 + 9966;71712;3870;3990;165195598;8407616 + 9967;71724;3870;3990;165195598;8407616 + 9968;71728;3870;3991;165195598;8479344 + 9969;71736;3870;3991;165195598;8479344 + 9970;71745;3870;3992;165195598;8551089 + 9971;71748;3870;3992;165195598;8551089 + 9972;71760;3870;3992;165195598;8551089 + 9973;71763;3870;3993;165195598;8622852 + 9974;71772;3870;3993;165195598;8622852 + 9975;71784;3870;3993;165195598;8622852 + 9976;71784;3870;3994;165195598;8694636 + 9977;71796;3870;3994;165195598;8694636 + 9978;71806;3870;3995;165195598;8766442 + 9979;71808;3870;3995;165195598;8766442 + 9980;71820;3870;3995;165195598;8766442 + 9981;71822;3870;3996;165195598;8838264 + 9982;71832;3870;3996;165195598;8838264 + 9983;71842;3870;3997;165195598;8910106 + 9984;71844;3870;3997;165195598;8910106 + 9985;71856;3870;3997;165195598;8910106 + 9986;71864;3870;3998;165195598;8981970 + 9987;71868;3870;3998;165195598;8981970 + 9988;71879;3870;3999;165195598;9053849 + 9989;71880;3870;3999;165195598;9053849 + 9990;71892;3870;3999;165195598;9053849 + 9991;71897;3870;4000;165195598;9125746 + 9992;71904;3870;4000;165195598;9125746 + 9993;71909;3870;4001;165195598;9197655 + 9994;71916;3870;4001;165195598;9197655 + 9995;71928;3870;4001;165195598;9197655 + 9996;71940;3870;4001;165195598;9197655 + 9997;71952;3870;4001;165195598;9197655 + 9998;71964;3870;4001;165195598;9197655 + 9999;71976;3880;4001;172272134;8500982 + 10000;71988;3880;4001;172272134;8500982 + 10001;72000;3880;4001;172272134;8500982 + 10002;72012;3880;4001;172272134;8500982 + 10003;72024;3880;4001;172272134;8500982 + 10004;72036;3880;4001;172272134;8500982 + 10005;72048;3880;4001;172272134;8500982 + 10006;72060;3880;4001;172272134;8500982 + 10007;72072;3880;4001;172272134;8500982 + 10008;72084;3880;4001;172272134;8500982 + 10009;72096;3880;4001;172272134;8500982 + 10010;72108;3880;4001;172272134;8500982 + 10011;72120;3880;4001;172272134;8500982 + 10012;72132;3880;4001;172272134;8500982 + 10013;72144;3880;4001;172272134;8500982 + 10014;72156;3880;4001;172272134;8500982 + 10015;72168;3880;4001;172272134;8500982 + 10016;72180;3880;4001;172272134;8500982 + 10017;72192;3880;4001;172272134;8500982 + 10018;72204;3880;4001;172272134;8500982 + 10019;72216;3880;4001;172272134;8500982 + 10020;72228;3880;4001;172272134;8500982 + 10021;72240;3890;4001;183812271;7802513 + 10022;72252;3900;4001;174707445;7102216 + 10023;72264;3900;4001;174707445;7102216 + 10024;72276;3900;4001;174707445;7102216 + 10025;72288;3900;4001;174707445;7102216 + 10026;72300;3900;4001;174707445;7102216 + 10027;72312;3900;4001;174707445;7102216 + 10028;72324;3900;4001;174707445;7102216 + 10029;72336;3900;4001;174707445;7102216 + 10030;72348;3900;4001;174707445;7102216 + 10031;72360;3900;4001;174707445;7102216 + 10032;72372;3900;4001;174707445;7102216 + 10033;72384;3900;4001;174707445;7102216 + 10034;72396;3900;4001;174707445;7102216 + 10035;72408;3900;4001;174707445;7102216 + 10036;72420;3900;4001;174707445;7102216 + 10037;72432;3900;4001;174707445;7102216 + 10038;72444;3900;4001;174707445;7102216 + 10039;72456;3900;4001;174707445;7102216 + 10040;72468;3900;4001;174707445;7102216 + 10041;72480;3900;4001;174707445;7102216 + 10042;72492;3900;4001;174707445;7102216 + 10043;72504;3900;4001;174707445;7102216 + 10044;72516;3900;4001;174707445;7102216 + 10045;72528;3900;4001;174707445;7102216 + 10046;72540;3900;4001;174707445;7102216 + 10047;72552;3900;4001;174707445;7102216 + 10048;72564;3900;4001;174707445;7102216 + 10049;72576;3900;4001;174707445;7102216 + 10050;72588;3900;4001;174707445;7102216 + 10051;72600;3900;4001;174707445;7102216 + 10052;72612;3900;4001;174707445;7102216 + 10053;72624;3900;4001;174707445;7102216 + 10054;72636;3900;4001;174707445;7102216 + 10055;72648;3900;4001;174707445;7102216 + 10056;72660;3910;4001;173369589;6400206 + 10057;72672;3910;4001;173369589;6400206 + 10058;72684;3910;4001;173369589;6400206 + 10059;72696;3910;4001;173369589;6400206 + 10060;72708;3910;4001;173369589;6400206 + 10061;72720;3910;4001;173369589;6400206 + 10062;72732;3910;4001;173369589;6400206 + 10063;72744;3910;4001;173369589;6400206 + 10064;72756;3910;4001;173369589;6400206 + 10065;72768;3910;4001;173369589;6400206 + 10066;72780;3910;4001;173369589;6400206 + 10067;72792;3920;4001;173022271;5696318 + 10068;72804;3920;4001;173022271;5696318 + 10069;72816;3920;4001;173022271;5696318 + 10070;72828;3920;4001;173022271;5696318 + 10071;72840;3920;4001;173022271;5696318 + 10072;72852;3920;4001;173022271;5696318 + 10073;72864;3920;4001;173022271;5696318 + 10074;72876;3920;4001;173022271;5696318 + 10075;72888;3920;4001;173022271;5696318 + 10076;72900;3920;4001;173022271;5696318 + 10077;72912;3930;4001;172013230;4990540 + 10078;72924;3930;4001;172013230;4990540 + 10079;72936;3930;4001;172013230;4990540 + 10080;72948;3930;4001;172013230;4990540 + 10081;72960;3930;4001;172013230;4990540 + 10082;72972;3930;4001;172013230;4990540 + 10083;72984;3930;4001;172013230;4990540 + 10084;72996;3930;4001;172013230;4990540 + 10085;73008;3930;4001;172013230;4990540 + 10086;73020;3930;4001;172013230;4990540 + 10087;73032;3930;4001;172013230;4990540 + 10088;73044;3930;4001;172013230;4990540 + 10089;73056;3930;4001;172013230;4990540 + 10090;73068;3930;4001;172013230;4990540 + 10091;73080;3930;4001;172013230;4990540 + 10092;73092;3930;4001;172013230;4990540 + 10093;73104;3930;4001;172013230;4990540 + 10094;73116;3930;4001;172013230;4990540 + 10095;73128;3930;4001;172013230;4990540 + 10096;73140;3930;4001;172013230;4990540 + 10097;73152;3930;4001;172013230;4990540 + 10098;73164;3930;4001;172013230;4990540 + 10099;73176;3930;4001;172013230;4990540 + 10100;73188;3930;4001;172013230;4990540 + 10101;73200;3930;4001;172013230;4990540 + 10102;73212;3930;4001;172013230;4990540 + 10103;73224;3930;4001;172013230;4990540 + 10104;73236;3930;4001;172013230;4990540 + 10105;73248;3930;4001;172013230;4990540 + 10106;73260;3930;4001;172013230;4990540 + 10107;73272;3930;4001;172013230;4990540 + 10108;73284;3930;4001;172013230;4990540 + 10109;73296;3930;4001;172013230;4990540 + 10110;73308;3930;4001;172013230;4990540 + 10111;73320;3930;4001;172013230;4990540 + 10112;73332;3930;4001;172013230;4990540 + 10113;73344;3930;4001;172013230;4990540 + 10114;73356;3940;4001;195634449;4282891 + 10115;73368;3940;4001;195634449;4282891 + 10116;73380;3940;4001;195634449;4282891 + 10117;73392;3950;4001;189805627;3573455 + 10118;73404;3950;4001;189805627;3573455 + 10119;73416;3950;4001;189805627;3573455 + 10120;73428;3950;4001;189805627;3573455 + 10121;73440;3950;4001;189805627;3573455 + 10122;73452;3950;4001;189805627;3573455 + 10123;73464;3950;4001;189805627;3573455 + 10124;73476;3950;4001;189805627;3573455 + 10125;73488;3950;4001;189805627;3573455 + 10126;73500;3950;4001;189805627;3573455 + 10127;73512;3950;4001;189805627;3573455 + 10128;73524;3950;4001;189805627;3573455 + 10129;73536;3960;4001;199297230;2862338 + 10130;73548;3960;4001;199297230;2862338 + 10131;73560;3960;4001;199297230;2862338 + 10132;73572;3960;4001;199297230;2862338 + 10133;73584;3960;4001;199297230;2862338 + 10134;73596;3960;4001;199297230;2862338 + 10135;73608;3960;4001;199297230;2862338 + 10136;73620;3960;4001;199297230;2862338 + 10137;73632;3960;4001;199297230;2862338 + 10138;73644;3960;4001;199297230;2862338 + 10139;73656;3960;4001;199297230;2862338 + 10140;73668;3960;4001;199297230;2862338 + 10141;73680;3960;4001;199297230;2862338 + 10142;73692;3960;4001;199297230;2862338 + 10143;73704;3960;4001;199297230;2862338 + 10144;73716;3960;4001;199297230;2862338 + 10145;73728;3960;4001;199297230;2862338 + 10146;73740;3960;4001;199297230;2862338 + 10147;73752;3960;4001;199297230;2862338 + 10148;73764;3960;4001;199297230;2862338 + 10149;73776;3960;4001;199297230;2862338 + 10150;73788;3960;4001;199297230;2862338 + 10151;73800;3960;4001;199297230;2862338 + 10152;73812;3960;4001;199297230;2862338 + 10153;73824;3960;4001;199297230;2862338 + 10154;73836;3960;4001;199297230;2862338 + 10155;73848;3960;4001;199297230;2862338 + 10156;73860;3960;4001;199297230;2862338 + 10157;73872;3960;4001;199297230;2862338 + 10158;73884;3960;4001;199297230;2862338 + 10159;73896;3960;4001;199297230;2862338 + 10160;73908;3960;4001;199297230;2862338 + 10161;73920;3960;4001;199297230;2862338 + 10162;73932;3960;4001;199297230;2862338 + 10163;73944;3960;4001;199297230;2862338 + 10164;73956;3960;4001;199297230;2862338 + 10165;73968;3960;4001;199297230;2862338 + 10166;73980;3960;4001;199297230;2862338 + 10167;73992;3960;4001;199297230;2862338 + 10168;74004;3960;4001;199297230;2862338 + 10169;74016;3960;4001;199297230;2862338 + 10170;74028;3960;4001;199297230;2862338 + 10171;74040;3960;4001;199297230;2862338 + 10172;74052;3960;4001;199297230;2862338 + 10173;74064;3960;4001;199297230;2862338 + 10174;74076;3960;4001;199297230;2862338 + -----------------------------! + +Test result: ok. 1 passed; 0 failed; finished in 8.15s +| contracts/L1/TaikoToken.sol:TaikoToken contract | | | | | | +|-------------------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1203248 | 6042 | | | | | +| Function Name | min | avg | median | max | # calls | +| burn | 10388 | 10388 | 10388 | 10388 | 1 | +| init | 161878 | 161878 | 161878 | 161878 | 1 | +| mint | 48066 | 48066 | 48066 | 48066 | 1 | +| transfer | 30008 | 30008 | 30008 | 30008 | 1 | + + +| contracts/common/AddressManager.sol:AddressManager contract | | | | | | +|-------------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 268706 | 1374 | | | | | +| Function Name | min | avg | median | max | # calls | +| getAddress | 538 | 539 | 538 | 2538 | 8006 | +| init | 48211 | 48211 | 48211 | 48211 | 1 | +| setAddress | 3073 | 20991 | 24973 | 24973 | 11 | + + +| contracts/signal/SignalService.sol:SignalService contract | | | | | | +|-----------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1561631 | 7832 | | | | | +| Function Name | min | avg | median | max | # calls | +| init | 92994 | 92994 | 92994 | 92994 | 1 | + + +| test/LibLn.sol:LibLn contract | | | | | | +|-------------------------------|-----------------|------|--------|------|---------| +| Deployment Cost | Deployment Size | | | | | +| 227894 | 1196 | | | | | +| Function Name | min | avg | median | max | # calls | +| calcInitProofTimeIssued | 1626 | 1626 | 1626 | 1626 | 1 | + + +| test/TaikoL1.sim.sol:TaikoL1_b contract | | | | | | +|-----------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 3481693 | 17421 | | | | | +| Function Name | min | avg | median | max | # calls | +| depositTaikoToken | 40114 | 40114 | 40114 | 40114 | 1 | +| getBlockFee | 464 | 464 | 464 | 464 | 1 | +| getConfig | 2546 | 2546 | 2546 | 2546 | 1 | +| getStateVariables | 2251 | 2251 | 2251 | 10251 | 14175 | +| getVerifierName | 494 | 494 | 494 | 494 | 2 | +| init | 230235 | 230235 | 230235 | 230235 | 1 | +| proposeBlock | 25391 | 50606 | 25391 | 207866 | 4000 | +| proveBlock | 17096 | 49111 | 19043 | 199112 | 4000 | +| resolve(bytes32,bool)(address) | 2007 | 2009 | 2007 | 8507 | 4002 | +| resolve(uint256,bytes32,bool)(address) | 1964 | 1965 | 1964 | 3964 | 4002 | + + + diff --git a/packages/protocol/simulation/exports/simulation_data_1682761795.txt b/packages/protocol/simulation/exports/simulation_data_1682761795.txt new file mode 100644 index 00000000000..b5b6c74592b --- /dev/null +++ b/packages/protocol/simulation/exports/simulation_data_1682761795.txt @@ -0,0 +1,14263 @@ + +> @taiko/protocol@0.6.1 test:sim /Users/keszeyd/work/taiko_major_upgrade_ref/taiko-mono/packages/protocol +> forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000 + +Compiling 1 files with 0.8.18 +Solc 0.8.18 finished in 3.96s +Compiler run successful + +Running 1 test for test/TaikoL1.sim.sol:TaikoL1Simulation +[PASS] test_90percent_quick_10percent_slow() (gas: 1236981543174) +Logs: + 31337 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0x72384992222BE015DE0146a6D7E5dA0E19d2Ba49 + 31337 45889272483043749622685123383852074881457604843399824532951312269642964140032 → 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5 + 167 52670410704698717800542732036128729340597328726126075889694804077029212815360 → 0x859d74b52762d9ed07D1b2B8d7F93d26B1EA78Bb + 167 52640402180712775100801168841838825813708635172629202311207512447469335085056 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 167 52202210384605092130545107826890219563123288007974473804057544131741636100096 → 0xa008AE5Ba00656a3Cc384de589579e3E52aC030C + 167 52640402180752029697201414225623803055489816253066935491057410734051802742784 → 0x0082D90249342980d011C58105a03b35cCb4A315 + 31337 16777316 → 0x08526067985167EcFcB1F9720C72DbBF36c96018 + 31337 52640402180752042938242321556083758872323763589890511990531751287648111558656 → 0x0F8458E544c9D4C7C25A881240727209caae20B8 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0x34A1D3fff3958843C43aD80F30b94c510645C316 + 31337 50861228839637781760135583477463687748984011927624067878576598675643646869504 → 0xFEfC6BAF87cF3684058D62Da40Ff3A795946Ab06 + 0:[0→1] fee:100000000 nextEthDepositToProcess:0 numEthDeposits:0 // init + 31337 16777316 → 0x4d04375eCD86c2B81eb0F55B37aA3fAb41CeCBc4 + BlockId, ProofTime + 1 ; 1713 + 2 ; 243 + 3 ; 186 + 4 ; 233 + 5 ; 263 + 6 ; 107 + 7 ; 104 + 8 ; 80 + 9 ; 160 + 10 ; 173 + 11 ; 1769 + 12 ; 154 + 13 ; 114 + 14 ; 230 + 15 ; 213 + 16 ; 113 + 17 ; 110 + 18 ; 95 + 19 ; 211 + 20 ; 202 + 21 ; 2033 + 22 ; 118 + 23 ; 79 + 24 ; 252 + 25 ; 85 + 26 ; 296 + 27 ; 73 + 28 ; 256 + 29 ; 116 + 30 ; 122 + 31 ; 2076 + 32 ; 288 + 33 ; 166 + 34 ; 302 + 35 ; 292 + 36 ; 103 + 37 ; 196 + 38 ; 288 + 39 ; 288 + 40 ; 230 + 41 ; 2142 + 42 ; 188 + 43 ; 176 + 44 ; 212 + 45 ; 90 + 46 ; 145 + 47 ; 304 + 48 ; 291 + 49 ; 144 + 50 ; 265 + 51 ; 2294 + 52 ; 163 + 53 ; 237 + 54 ; 296 + 55 ; 125 + 56 ; 181 + 57 ; 239 + 58 ; 110 + 59 ; 245 + 60 ; 149 + 61 ; 2116 + 62 ; 123 + 63 ; 87 + 64 ; 75 + 65 ; 92 + 66 ; 186 + 67 ; 276 + 68 ; 114 + 69 ; 134 + 70 ; 240 + 71 ; 2215 + 72 ; 147 + 73 ; 259 + 74 ; 74 + 75 ; 149 + 76 ; 161 + 77 ; 244 + 78 ; 173 + 79 ; 275 + 80 ; 295 + 81 ; 2147 + 82 ; 157 + 83 ; 146 + 84 ; 160 + 85 ; 115 + 86 ; 105 + 87 ; 305 + 88 ; 103 + 89 ; 180 + 90 ; 310 + 91 ; 1905 + 92 ; 75 + 93 ; 83 + 94 ; 86 + 95 ; 276 + 96 ; 88 + 97 ; 123 + 98 ; 290 + 99 ; 113 + 100 ; 114 + 101 ; 1717 + 102 ; 96 + 103 ; 95 + 104 ; 133 + 105 ; 154 + 106 ; 174 + 107 ; 109 + 108 ; 276 + 109 ; 114 + 110 ; 185 + 111 ; 2199 + 112 ; 238 + 113 ; 200 + 114 ; 211 + 115 ; 215 + 116 ; 207 + 117 ; 250 + 118 ; 181 + 119 ; 174 + 120 ; 156 + 121 ; 1679 + 122 ; 202 + 123 ; 278 + 124 ; 294 + 125 ; 177 + 126 ; 309 + 127 ; 76 + 128 ; 75 + 129 ; 268 + 130 ; 265 + 131 ; 1971 + 132 ; 122 + 133 ; 278 + 134 ; 294 + 135 ; 126 + 136 ; 233 + 137 ; 284 + 138 ; 271 + 139 ; 256 + 140 ; 203 + 141 ; 2171 + 142 ; 180 + 143 ; 229 + 144 ; 178 + 145 ; 89 + 146 ; 280 + 147 ; 185 + 148 ; 121 + 149 ; 150 + 150 ; 113 + 151 ; 1852 + 152 ; 119 + 153 ; 237 + 154 ; 225 + 155 ; 274 + 156 ; 106 + 157 ; 124 + 158 ; 83 + 159 ; 141 + 160 ; 136 + 161 ; 2144 + 162 ; 180 + 163 ; 218 + 164 ; 245 + 165 ; 216 + 166 ; 189 + 167 ; 233 + 168 ; 167 + 169 ; 244 + 170 ; 129 + 171 ; 2193 + 172 ; 304 + 173 ; 130 + 174 ; 226 + 175 ; 196 + 176 ; 272 + 177 ; 195 + 178 ; 245 + 179 ; 274 + 180 ; 181 + 181 ; 2167 + 182 ; 90 + 183 ; 145 + 184 ; 206 + 185 ; 166 + 186 ; 291 + 187 ; 308 + 188 ; 94 + 189 ; 124 + 190 ; 248 + 191 ; 1929 + 192 ; 111 + 193 ; 83 + 194 ; 164 + 195 ; 228 + 196 ; 83 + 197 ; 219 + 198 ; 286 + 199 ; 260 + 200 ; 175 + 201 ; 2262 + 202 ; 227 + 203 ; 160 + 204 ; 92 + 205 ; 197 + 206 ; 107 + 207 ; 241 + 208 ; 267 + 209 ; 277 + 210 ; 162 + 211 ; 2227 + 212 ; 91 + 213 ; 230 + 214 ; 305 + 215 ; 204 + 216 ; 182 + 217 ; 285 + 218 ; 111 + 219 ; 255 + 220 ; 76 + 221 ; 1882 + 222 ; 222 + 223 ; 265 + 224 ; 124 + 225 ; 153 + 226 ; 178 + 227 ; 103 + 228 ; 219 + 229 ; 238 + 230 ; 230 + 231 ; 2249 + 232 ; 183 + 233 ; 280 + 234 ; 300 + 235 ; 228 + 236 ; 242 + 237 ; 305 + 238 ; 86 + 239 ; 251 + 240 ; 270 + 241 ; 2170 + 242 ; 299 + 243 ; 187 + 244 ; 157 + 245 ; 220 + 246 ; 77 + 247 ; 268 + 248 ; 179 + 249 ; 135 + 250 ; 246 + 251 ; 2048 + 252 ; 126 + 253 ; 300 + 254 ; 289 + 255 ; 85 + 256 ; 216 + 257 ; 267 + 258 ; 105 + 259 ; 311 + 260 ; 305 + 261 ; 1942 + 262 ; 151 + 263 ; 91 + 264 ; 263 + 265 ; 114 + 266 ; 248 + 267 ; 185 + 268 ; 247 + 269 ; 81 + 270 ; 112 + 271 ; 2178 + 272 ; 159 + 273 ; 133 + 274 ; 184 + 275 ; 102 + 276 ; 263 + 277 ; 83 + 278 ; 266 + 279 ; 105 + 280 ; 240 + 281 ; 1704 + 282 ; 242 + 283 ; 307 + 284 ; 118 + 285 ; 167 + 286 ; 261 + 287 ; 256 + 288 ; 309 + 289 ; 235 + 290 ; 100 + 291 ; 2257 + 292 ; 191 + 293 ; 186 + 294 ; 223 + 295 ; 271 + 296 ; 155 + 297 ; 242 + 298 ; 170 + 299 ; 291 + 300 ; 128 + 301 ; 2036 + 302 ; 284 + 303 ; 282 + 304 ; 303 + 305 ; 94 + 306 ; 306 + 307 ; 294 + 308 ; 88 + 309 ; 267 + 310 ; 139 + 311 ; 1938 + 312 ; 285 + 313 ; 280 + 314 ; 81 + 315 ; 254 + 316 ; 185 + 317 ; 156 + 318 ; 236 + 319 ; 89 + 320 ; 78 + 321 ; 1982 + 322 ; 265 + 323 ; 132 + 324 ; 144 + 325 ; 299 + 326 ; 155 + 327 ; 116 + 328 ; 293 + 329 ; 220 + 330 ; 251 + 331 ; 1617 + 332 ; 301 + 333 ; 143 + 334 ; 232 + 335 ; 160 + 336 ; 308 + 337 ; 258 + 338 ; 238 + 339 ; 201 + 340 ; 206 + 341 ; 1978 + 342 ; 206 + 343 ; 247 + 344 ; 94 + 345 ; 125 + 346 ; 134 + 347 ; 296 + 348 ; 235 + 349 ; 261 + 350 ; 237 + 351 ; 2311 + 352 ; 177 + 353 ; 253 + 354 ; 234 + 355 ; 103 + 356 ; 272 + 357 ; 274 + 358 ; 229 + 359 ; 124 + 360 ; 182 + 361 ; 2321 + 362 ; 150 + 363 ; 165 + 364 ; 110 + 365 ; 79 + 366 ; 274 + 367 ; 290 + 368 ; 142 + 369 ; 150 + 370 ; 88 + 371 ; 1679 + 372 ; 166 + 373 ; 158 + 374 ; 309 + 375 ; 234 + 376 ; 110 + 377 ; 88 + 378 ; 262 + 379 ; 187 + 380 ; 142 + 381 ; 1912 + 382 ; 84 + 383 ; 193 + 384 ; 151 + 385 ; 147 + 386 ; 280 + 387 ; 177 + 388 ; 278 + 389 ; 308 + 390 ; 85 + 391 ; 1750 + 392 ; 80 + 393 ; 140 + 394 ; 220 + 395 ; 260 + 396 ; 162 + 397 ; 137 + 398 ; 209 + 399 ; 217 + 400 ; 107 + 401 ; 2079 + 402 ; 161 + 403 ; 84 + 404 ; 305 + 405 ; 209 + 406 ; 230 + 407 ; 193 + 408 ; 146 + 409 ; 287 + 410 ; 156 + 411 ; 1885 + 412 ; 121 + 413 ; 79 + 414 ; 176 + 415 ; 144 + 416 ; 233 + 417 ; 82 + 418 ; 271 + 419 ; 221 + 420 ; 102 + 421 ; 1814 + 422 ; 292 + 423 ; 218 + 424 ; 279 + 425 ; 116 + 426 ; 114 + 427 ; 135 + 428 ; 296 + 429 ; 205 + 430 ; 170 + 431 ; 2261 + 432 ; 167 + 433 ; 262 + 434 ; 247 + 435 ; 275 + 436 ; 272 + 437 ; 82 + 438 ; 258 + 439 ; 221 + 440 ; 142 + 441 ; 2291 + 442 ; 241 + 443 ; 289 + 444 ; 225 + 445 ; 224 + 446 ; 121 + 447 ; 156 + 448 ; 74 + 449 ; 299 + 450 ; 174 + 451 ; 1829 + 452 ; 111 + 453 ; 204 + 454 ; 89 + 455 ; 307 + 456 ; 302 + 457 ; 111 + 458 ; 183 + 459 ; 149 + 460 ; 85 + 461 ; 2038 + 462 ; 211 + 463 ; 142 + 464 ; 306 + 465 ; 306 + 466 ; 130 + 467 ; 254 + 468 ; 130 + 469 ; 105 + 470 ; 170 + 471 ; 1858 + 472 ; 308 + 473 ; 83 + 474 ; 139 + 475 ; 199 + 476 ; 172 + 477 ; 291 + 478 ; 285 + 479 ; 185 + 480 ; 219 + 481 ; 2316 + 482 ; 200 + 483 ; 256 + 484 ; 163 + 485 ; 242 + 486 ; 196 + 487 ; 179 + 488 ; 152 + 489 ; 232 + 490 ; 163 + 491 ; 2248 + 492 ; 196 + 493 ; 230 + 494 ; 266 + 495 ; 252 + 496 ; 170 + 497 ; 139 + 498 ; 203 + 499 ; 132 + 500 ; 185 + 501 ; 2326 + 502 ; 214 + 503 ; 281 + 504 ; 102 + 505 ; 248 + 506 ; 269 + 507 ; 271 + 508 ; 83 + 509 ; 217 + 510 ; 306 + 511 ; 1671 + 512 ; 243 + 513 ; 206 + 514 ; 149 + 515 ; 195 + 516 ; 259 + 517 ; 201 + 518 ; 262 + 519 ; 193 + 520 ; 285 + 521 ; 1999 + 522 ; 211 + 523 ; 89 + 524 ; 121 + 525 ; 285 + 526 ; 207 + 527 ; 277 + 528 ; 261 + 529 ; 128 + 530 ; 192 + 531 ; 2020 + 532 ; 233 + 533 ; 275 + 534 ; 251 + 535 ; 97 + 536 ; 253 + 537 ; 243 + 538 ; 195 + 539 ; 226 + 540 ; 166 + 541 ; 1935 + 542 ; 122 + 543 ; 202 + 544 ; 271 + 545 ; 160 + 546 ; 156 + 547 ; 288 + 548 ; 275 + 549 ; 104 + 550 ; 219 + 551 ; 1829 + 552 ; 203 + 553 ; 242 + 554 ; 107 + 555 ; 279 + 556 ; 104 + 557 ; 222 + 558 ; 202 + 559 ; 119 + 560 ; 153 + 561 ; 2199 + 562 ; 82 + 563 ; 145 + 564 ; 311 + 565 ; 254 + 566 ; 127 + 567 ; 310 + 568 ; 291 + 569 ; 179 + 570 ; 304 + 571 ; 2400 + 572 ; 168 + 573 ; 90 + 574 ; 230 + 575 ; 138 + 576 ; 94 + 577 ; 245 + 578 ; 91 + 579 ; 265 + 580 ; 177 + 581 ; 1820 + 582 ; 164 + 583 ; 170 + 584 ; 297 + 585 ; 299 + 586 ; 88 + 587 ; 254 + 588 ; 176 + 589 ; 298 + 590 ; 97 + 591 ; 1866 + 592 ; 230 + 593 ; 132 + 594 ; 234 + 595 ; 250 + 596 ; 159 + 597 ; 145 + 598 ; 305 + 599 ; 223 + 600 ; 89 + 601 ; 2142 + 602 ; 222 + 603 ; 302 + 604 ; 100 + 605 ; 204 + 606 ; 147 + 607 ; 166 + 608 ; 263 + 609 ; 117 + 610 ; 258 + 611 ; 2389 + 612 ; 294 + 613 ; 188 + 614 ; 178 + 615 ; 108 + 616 ; 199 + 617 ; 254 + 618 ; 265 + 619 ; 165 + 620 ; 82 + 621 ; 2128 + 622 ; 134 + 623 ; 280 + 624 ; 93 + 625 ; 192 + 626 ; 195 + 627 ; 101 + 628 ; 108 + 629 ; 111 + 630 ; 90 + 631 ; 1765 + 632 ; 265 + 633 ; 199 + 634 ; 218 + 635 ; 135 + 636 ; 105 + 637 ; 164 + 638 ; 279 + 639 ; 165 + 640 ; 296 + 641 ; 2077 + 642 ; 90 + 643 ; 172 + 644 ; 280 + 645 ; 232 + 646 ; 301 + 647 ; 138 + 648 ; 234 + 649 ; 210 + 650 ; 238 + 651 ; 1738 + 652 ; 74 + 653 ; 97 + 654 ; 156 + 655 ; 128 + 656 ; 275 + 657 ; 308 + 658 ; 73 + 659 ; 192 + 660 ; 216 + 661 ; 2164 + 662 ; 107 + 663 ; 229 + 664 ; 113 + 665 ; 161 + 666 ; 263 + 667 ; 279 + 668 ; 117 + 669 ; 97 + 670 ; 251 + 671 ; 2390 + 672 ; 130 + 673 ; 132 + 674 ; 82 + 675 ; 275 + 676 ; 267 + 677 ; 111 + 678 ; 211 + 679 ; 117 + 680 ; 112 + 681 ; 1787 + 682 ; 260 + 683 ; 230 + 684 ; 106 + 685 ; 190 + 686 ; 266 + 687 ; 158 + 688 ; 192 + 689 ; 292 + 690 ; 307 + 691 ; 1702 + 692 ; 145 + 693 ; 182 + 694 ; 221 + 695 ; 110 + 696 ; 261 + 697 ; 302 + 698 ; 100 + 699 ; 161 + 700 ; 200 + 701 ; 2289 + 702 ; 306 + 703 ; 225 + 704 ; 255 + 705 ; 181 + 706 ; 74 + 707 ; 267 + 708 ; 235 + 709 ; 211 + 710 ; 100 + 711 ; 2115 + 712 ; 292 + 713 ; 106 + 714 ; 107 + 715 ; 299 + 716 ; 195 + 717 ; 248 + 718 ; 164 + 719 ; 196 + 720 ; 124 + 721 ; 2213 + 722 ; 217 + 723 ; 92 + 724 ; 103 + 725 ; 286 + 726 ; 159 + 727 ; 305 + 728 ; 124 + 729 ; 301 + 730 ; 273 + 731 ; 2376 + 732 ; 173 + 733 ; 134 + 734 ; 197 + 735 ; 211 + 736 ; 194 + 737 ; 232 + 738 ; 89 + 739 ; 280 + 740 ; 165 + 741 ; 2101 + 742 ; 111 + 743 ; 210 + 744 ; 241 + 745 ; 297 + 746 ; 290 + 747 ; 226 + 748 ; 240 + 749 ; 179 + 750 ; 168 + 751 ; 2015 + 752 ; 259 + 753 ; 192 + 754 ; 263 + 755 ; 229 + 756 ; 175 + 757 ; 107 + 758 ; 104 + 759 ; 276 + 760 ; 131 + 761 ; 2192 + 762 ; 208 + 763 ; 279 + 764 ; 160 + 765 ; 126 + 766 ; 184 + 767 ; 162 + 768 ; 218 + 769 ; 122 + 770 ; 219 + 771 ; 1727 + 772 ; 78 + 773 ; 145 + 774 ; 258 + 775 ; 198 + 776 ; 247 + 777 ; 243 + 778 ; 196 + 779 ; 171 + 780 ; 79 + 781 ; 2385 + 782 ; 283 + 783 ; 137 + 784 ; 104 + 785 ; 236 + 786 ; 234 + 787 ; 93 + 788 ; 107 + 789 ; 135 + 790 ; 265 + 791 ; 1630 + 792 ; 188 + 793 ; 117 + 794 ; 186 + 795 ; 295 + 796 ; 165 + 797 ; 199 + 798 ; 267 + 799 ; 87 + 800 ; 232 + 801 ; 2339 + 802 ; 142 + 803 ; 258 + 804 ; 102 + 805 ; 263 + 806 ; 148 + 807 ; 173 + 808 ; 130 + 809 ; 124 + 810 ; 285 + 811 ; 1927 + 812 ; 78 + 813 ; 180 + 814 ; 164 + 815 ; 153 + 816 ; 191 + 817 ; 172 + 818 ; 276 + 819 ; 86 + 820 ; 258 + 821 ; 1899 + 822 ; 310 + 823 ; 122 + 824 ; 178 + 825 ; 127 + 826 ; 134 + 827 ; 107 + 828 ; 266 + 829 ; 141 + 830 ; 162 + 831 ; 2000 + 832 ; 182 + 833 ; 205 + 834 ; 207 + 835 ; 148 + 836 ; 150 + 837 ; 167 + 838 ; 181 + 839 ; 182 + 840 ; 291 + 841 ; 2170 + 842 ; 300 + 843 ; 200 + 844 ; 186 + 845 ; 72 + 846 ; 297 + 847 ; 267 + 848 ; 285 + 849 ; 291 + 850 ; 154 + 851 ; 2409 + 852 ; 290 + 853 ; 261 + 854 ; 192 + 855 ; 257 + 856 ; 153 + 857 ; 292 + 858 ; 212 + 859 ; 72 + 860 ; 213 + 861 ; 2406 + 862 ; 143 + 863 ; 247 + 864 ; 215 + 865 ; 154 + 866 ; 129 + 867 ; 264 + 868 ; 157 + 869 ; 221 + 870 ; 114 + 871 ; 2039 + 872 ; 136 + 873 ; 230 + 874 ; 244 + 875 ; 133 + 876 ; 304 + 877 ; 170 + 878 ; 133 + 879 ; 182 + 880 ; 261 + 881 ; 2402 + 882 ; 219 + 883 ; 308 + 884 ; 297 + 885 ; 240 + 886 ; 243 + 887 ; 248 + 888 ; 263 + 889 ; 131 + 890 ; 281 + 891 ; 2376 + 892 ; 169 + 893 ; 96 + 894 ; 199 + 895 ; 190 + 896 ; 311 + 897 ; 171 + 898 ; 219 + 899 ; 214 + 900 ; 186 + 901 ; 2069 + 902 ; 307 + 903 ; 101 + 904 ; 109 + 905 ; 244 + 906 ; 239 + 907 ; 295 + 908 ; 108 + 909 ; 106 + 910 ; 273 + 911 ; 2146 + 912 ; 162 + 913 ; 277 + 914 ; 296 + 915 ; 120 + 916 ; 162 + 917 ; 289 + 918 ; 76 + 919 ; 153 + 920 ; 87 + 921 ; 2096 + 922 ; 105 + 923 ; 202 + 924 ; 201 + 925 ; 130 + 926 ; 228 + 927 ; 218 + 928 ; 76 + 929 ; 299 + 930 ; 143 + 931 ; 1633 + 932 ; 72 + 933 ; 180 + 934 ; 216 + 935 ; 166 + 936 ; 297 + 937 ; 288 + 938 ; 285 + 939 ; 127 + 940 ; 214 + 941 ; 1932 + 942 ; 292 + 943 ; 181 + 944 ; 281 + 945 ; 127 + 946 ; 140 + 947 ; 152 + 948 ; 237 + 949 ; 183 + 950 ; 297 + 951 ; 1945 + 952 ; 138 + 953 ; 115 + 954 ; 164 + 955 ; 252 + 956 ; 222 + 957 ; 237 + 958 ; 181 + 959 ; 240 + 960 ; 73 + 961 ; 2344 + 962 ; 164 + 963 ; 112 + 964 ; 88 + 965 ; 294 + 966 ; 191 + 967 ; 199 + 968 ; 241 + 969 ; 135 + 970 ; 127 + 971 ; 1803 + 972 ; 187 + 973 ; 213 + 974 ; 111 + 975 ; 244 + 976 ; 237 + 977 ; 247 + 978 ; 281 + 979 ; 301 + 980 ; 76 + 981 ; 1717 + 982 ; 178 + 983 ; 176 + 984 ; 220 + 985 ; 231 + 986 ; 239 + 987 ; 276 + 988 ; 218 + 989 ; 231 + 990 ; 291 + 991 ; 1744 + 992 ; 169 + 993 ; 199 + 994 ; 177 + 995 ; 200 + 996 ; 119 + 997 ; 246 + 998 ; 208 + 999 ; 168 + 1000 ; 77 + 1001 ; 1755 + 1002 ; 186 + 1003 ; 151 + 1004 ; 179 + 1005 ; 252 + 1006 ; 151 + 1007 ; 141 + 1008 ; 235 + 1009 ; 196 + 1010 ; 139 + 1011 ; 2016 + 1012 ; 257 + 1013 ; 155 + 1014 ; 87 + 1015 ; 221 + 1016 ; 83 + 1017 ; 121 + 1018 ; 182 + 1019 ; 288 + 1020 ; 156 + 1021 ; 1718 + 1022 ; 192 + 1023 ; 263 + 1024 ; 200 + 1025 ; 247 + 1026 ; 159 + 1027 ; 86 + 1028 ; 294 + 1029 ; 174 + 1030 ; 310 + 1031 ; 1932 + 1032 ; 307 + 1033 ; 294 + 1034 ; 157 + 1035 ; 308 + 1036 ; 111 + 1037 ; 179 + 1038 ; 258 + 1039 ; 120 + 1040 ; 83 + 1041 ; 1873 + 1042 ; 95 + 1043 ; 202 + 1044 ; 246 + 1045 ; 241 + 1046 ; 111 + 1047 ; 146 + 1048 ; 139 + 1049 ; 120 + 1050 ; 200 + 1051 ; 1677 + 1052 ; 91 + 1053 ; 267 + 1054 ; 208 + 1055 ; 208 + 1056 ; 199 + 1057 ; 222 + 1058 ; 224 + 1059 ; 253 + 1060 ; 115 + 1061 ; 2074 + 1062 ; 227 + 1063 ; 136 + 1064 ; 99 + 1065 ; 165 + 1066 ; 98 + 1067 ; 280 + 1068 ; 113 + 1069 ; 157 + 1070 ; 160 + 1071 ; 2374 + 1072 ; 287 + 1073 ; 146 + 1074 ; 190 + 1075 ; 145 + 1076 ; 89 + 1077 ; 162 + 1078 ; 222 + 1079 ; 305 + 1080 ; 172 + 1081 ; 1901 + 1082 ; 114 + 1083 ; 244 + 1084 ; 154 + 1085 ; 275 + 1086 ; 304 + 1087 ; 311 + 1088 ; 250 + 1089 ; 252 + 1090 ; 253 + 1091 ; 2055 + 1092 ; 174 + 1093 ; 201 + 1094 ; 237 + 1095 ; 180 + 1096 ; 219 + 1097 ; 89 + 1098 ; 277 + 1099 ; 262 + 1100 ; 142 + 1101 ; 2353 + 1102 ; 207 + 1103 ; 281 + 1104 ; 240 + 1105 ; 245 + 1106 ; 100 + 1107 ; 96 + 1108 ; 227 + 1109 ; 128 + 1110 ; 176 + 1111 ; 2034 + 1112 ; 294 + 1113 ; 257 + 1114 ; 72 + 1115 ; 114 + 1116 ; 217 + 1117 ; 128 + 1118 ; 96 + 1119 ; 134 + 1120 ; 178 + 1121 ; 1664 + 1122 ; 207 + 1123 ; 113 + 1124 ; 215 + 1125 ; 113 + 1126 ; 240 + 1127 ; 132 + 1128 ; 240 + 1129 ; 152 + 1130 ; 235 + 1131 ; 1687 + 1132 ; 305 + 1133 ; 93 + 1134 ; 291 + 1135 ; 280 + 1136 ; 127 + 1137 ; 305 + 1138 ; 156 + 1139 ; 116 + 1140 ; 257 + 1141 ; 1941 + 1142 ; 218 + 1143 ; 262 + 1144 ; 289 + 1145 ; 206 + 1146 ; 300 + 1147 ; 103 + 1148 ; 120 + 1149 ; 233 + 1150 ; 156 + 1151 ; 1856 + 1152 ; 283 + 1153 ; 147 + 1154 ; 193 + 1155 ; 74 + 1156 ; 199 + 1157 ; 293 + 1158 ; 307 + 1159 ; 212 + 1160 ; 294 + 1161 ; 1958 + 1162 ; 73 + 1163 ; 112 + 1164 ; 207 + 1165 ; 119 + 1166 ; 309 + 1167 ; 225 + 1168 ; 138 + 1169 ; 204 + 1170 ; 272 + 1171 ; 1912 + 1172 ; 160 + 1173 ; 120 + 1174 ; 131 + 1175 ; 84 + 1176 ; 268 + 1177 ; 167 + 1178 ; 282 + 1179 ; 219 + 1180 ; 189 + 1181 ; 2052 + 1182 ; 102 + 1183 ; 123 + 1184 ; 211 + 1185 ; 271 + 1186 ; 127 + 1187 ; 160 + 1188 ; 245 + 1189 ; 122 + 1190 ; 280 + 1191 ; 1905 + 1192 ; 167 + 1193 ; 184 + 1194 ; 170 + 1195 ; 102 + 1196 ; 297 + 1197 ; 78 + 1198 ; 140 + 1199 ; 98 + 1200 ; 104 + 1201 ; 2266 + 1202 ; 305 + 1203 ; 160 + 1204 ; 99 + 1205 ; 305 + 1206 ; 263 + 1207 ; 203 + 1208 ; 123 + 1209 ; 246 + 1210 ; 108 + 1211 ; 1619 + 1212 ; 305 + 1213 ; 312 + 1214 ; 77 + 1215 ; 99 + 1216 ; 132 + 1217 ; 113 + 1218 ; 233 + 1219 ; 188 + 1220 ; 130 + 1221 ; 2362 + 1222 ; 125 + 1223 ; 277 + 1224 ; 257 + 1225 ; 131 + 1226 ; 312 + 1227 ; 165 + 1228 ; 83 + 1229 ; 219 + 1230 ; 160 + 1231 ; 1874 + 1232 ; 246 + 1233 ; 269 + 1234 ; 165 + 1235 ; 177 + 1236 ; 187 + 1237 ; 238 + 1238 ; 108 + 1239 ; 193 + 1240 ; 196 + 1241 ; 2325 + 1242 ; 81 + 1243 ; 259 + 1244 ; 154 + 1245 ; 254 + 1246 ; 138 + 1247 ; 134 + 1248 ; 146 + 1249 ; 248 + 1250 ; 218 + 1251 ; 2005 + 1252 ; 233 + 1253 ; 231 + 1254 ; 163 + 1255 ; 158 + 1256 ; 255 + 1257 ; 289 + 1258 ; 296 + 1259 ; 190 + 1260 ; 277 + 1261 ; 2176 + 1262 ; 85 + 1263 ; 188 + 1264 ; 249 + 1265 ; 230 + 1266 ; 212 + 1267 ; 150 + 1268 ; 207 + 1269 ; 178 + 1270 ; 255 + 1271 ; 1965 + 1272 ; 275 + 1273 ; 194 + 1274 ; 188 + 1275 ; 215 + 1276 ; 94 + 1277 ; 118 + 1278 ; 173 + 1279 ; 157 + 1280 ; 214 + 1281 ; 2009 + 1282 ; 80 + 1283 ; 103 + 1284 ; 127 + 1285 ; 139 + 1286 ; 286 + 1287 ; 89 + 1288 ; 127 + 1289 ; 257 + 1290 ; 231 + 1291 ; 2379 + 1292 ; 311 + 1293 ; 187 + 1294 ; 117 + 1295 ; 302 + 1296 ; 193 + 1297 ; 173 + 1298 ; 283 + 1299 ; 133 + 1300 ; 209 + 1301 ; 1850 + 1302 ; 114 + 1303 ; 182 + 1304 ; 185 + 1305 ; 303 + 1306 ; 114 + 1307 ; 174 + 1308 ; 266 + 1309 ; 108 + 1310 ; 262 + 1311 ; 2224 + 1312 ; 304 + 1313 ; 193 + 1314 ; 283 + 1315 ; 229 + 1316 ; 311 + 1317 ; 299 + 1318 ; 170 + 1319 ; 80 + 1320 ; 140 + 1321 ; 1932 + 1322 ; 157 + 1323 ; 303 + 1324 ; 234 + 1325 ; 104 + 1326 ; 78 + 1327 ; 139 + 1328 ; 140 + 1329 ; 202 + 1330 ; 264 + 1331 ; 2187 + 1332 ; 191 + 1333 ; 107 + 1334 ; 153 + 1335 ; 178 + 1336 ; 108 + 1337 ; 258 + 1338 ; 78 + 1339 ; 134 + 1340 ; 197 + 1341 ; 1722 + 1342 ; 203 + 1343 ; 260 + 1344 ; 229 + 1345 ; 284 + 1346 ; 226 + 1347 ; 107 + 1348 ; 246 + 1349 ; 86 + 1350 ; 220 + 1351 ; 1751 + 1352 ; 221 + 1353 ; 242 + 1354 ; 77 + 1355 ; 206 + 1356 ; 286 + 1357 ; 241 + 1358 ; 200 + 1359 ; 183 + 1360 ; 256 + 1361 ; 2089 + 1362 ; 118 + 1363 ; 217 + 1364 ; 128 + 1365 ; 126 + 1366 ; 279 + 1367 ; 112 + 1368 ; 74 + 1369 ; 312 + 1370 ; 254 + 1371 ; 2314 + 1372 ; 278 + 1373 ; 288 + 1374 ; 85 + 1375 ; 169 + 1376 ; 309 + 1377 ; 187 + 1378 ; 280 + 1379 ; 74 + 1380 ; 213 + 1381 ; 1742 + 1382 ; 283 + 1383 ; 269 + 1384 ; 144 + 1385 ; 209 + 1386 ; 231 + 1387 ; 119 + 1388 ; 106 + 1389 ; 174 + 1390 ; 221 + 1391 ; 2155 + 1392 ; 144 + 1393 ; 134 + 1394 ; 182 + 1395 ; 218 + 1396 ; 129 + 1397 ; 199 + 1398 ; 107 + 1399 ; 205 + 1400 ; 131 + 1401 ; 2369 + 1402 ; 271 + 1403 ; 207 + 1404 ; 266 + 1405 ; 116 + 1406 ; 206 + 1407 ; 93 + 1408 ; 213 + 1409 ; 250 + 1410 ; 108 + 1411 ; 2237 + 1412 ; 181 + 1413 ; 208 + 1414 ; 226 + 1415 ; 164 + 1416 ; 80 + 1417 ; 98 + 1418 ; 151 + 1419 ; 179 + 1420 ; 192 + 1421 ; 1665 + 1422 ; 232 + 1423 ; 227 + 1424 ; 117 + 1425 ; 262 + 1426 ; 100 + 1427 ; 181 + 1428 ; 216 + 1429 ; 308 + 1430 ; 257 + 1431 ; 1643 + 1432 ; 119 + 1433 ; 293 + 1434 ; 268 + 1435 ; 215 + 1436 ; 276 + 1437 ; 121 + 1438 ; 197 + 1439 ; 190 + 1440 ; 123 + 1441 ; 2407 + 1442 ; 259 + 1443 ; 90 + 1444 ; 129 + 1445 ; 210 + 1446 ; 288 + 1447 ; 109 + 1448 ; 233 + 1449 ; 200 + 1450 ; 88 + 1451 ; 2088 + 1452 ; 289 + 1453 ; 273 + 1454 ; 278 + 1455 ; 228 + 1456 ; 128 + 1457 ; 171 + 1458 ; 162 + 1459 ; 154 + 1460 ; 191 + 1461 ; 2086 + 1462 ; 127 + 1463 ; 137 + 1464 ; 211 + 1465 ; 294 + 1466 ; 140 + 1467 ; 195 + 1468 ; 223 + 1469 ; 120 + 1470 ; 161 + 1471 ; 1865 + 1472 ; 109 + 1473 ; 194 + 1474 ; 203 + 1475 ; 194 + 1476 ; 176 + 1477 ; 185 + 1478 ; 209 + 1479 ; 225 + 1480 ; 151 + 1481 ; 2189 + 1482 ; 93 + 1483 ; 311 + 1484 ; 230 + 1485 ; 205 + 1486 ; 118 + 1487 ; 304 + 1488 ; 142 + 1489 ; 308 + 1490 ; 82 + 1491 ; 1690 + 1492 ; 226 + 1493 ; 259 + 1494 ; 209 + 1495 ; 94 + 1496 ; 300 + 1497 ; 283 + 1498 ; 226 + 1499 ; 208 + 1500 ; 217 + 1501 ; 1689 + 1502 ; 300 + 1503 ; 157 + 1504 ; 160 + 1505 ; 131 + 1506 ; 79 + 1507 ; 209 + 1508 ; 152 + 1509 ; 247 + 1510 ; 169 + 1511 ; 2050 + 1512 ; 226 + 1513 ; 296 + 1514 ; 78 + 1515 ; 238 + 1516 ; 134 + 1517 ; 271 + 1518 ; 140 + 1519 ; 171 + 1520 ; 122 + 1521 ; 2289 + 1522 ; 87 + 1523 ; 271 + 1524 ; 237 + 1525 ; 312 + 1526 ; 130 + 1527 ; 113 + 1528 ; 99 + 1529 ; 265 + 1530 ; 284 + 1531 ; 2402 + 1532 ; 289 + 1533 ; 265 + 1534 ; 241 + 1535 ; 271 + 1536 ; 213 + 1537 ; 203 + 1538 ; 205 + 1539 ; 295 + 1540 ; 242 + 1541 ; 1712 + 1542 ; 200 + 1543 ; 152 + 1544 ; 302 + 1545 ; 244 + 1546 ; 255 + 1547 ; 223 + 1548 ; 227 + 1549 ; 235 + 1550 ; 106 + 1551 ; 2179 + 1552 ; 103 + 1553 ; 248 + 1554 ; 175 + 1555 ; 238 + 1556 ; 87 + 1557 ; 312 + 1558 ; 197 + 1559 ; 299 + 1560 ; 241 + 1561 ; 2393 + 1562 ; 151 + 1563 ; 309 + 1564 ; 248 + 1565 ; 306 + 1566 ; 273 + 1567 ; 260 + 1568 ; 153 + 1569 ; 148 + 1570 ; 80 + 1571 ; 2002 + 1572 ; 163 + 1573 ; 232 + 1574 ; 179 + 1575 ; 96 + 1576 ; 165 + 1577 ; 73 + 1578 ; 184 + 1579 ; 214 + 1580 ; 255 + 1581 ; 2006 + 1582 ; 127 + 1583 ; 207 + 1584 ; 231 + 1585 ; 130 + 1586 ; 214 + 1587 ; 120 + 1588 ; 304 + 1589 ; 108 + 1590 ; 75 + 1591 ; 2036 + 1592 ; 208 + 1593 ; 160 + 1594 ; 156 + 1595 ; 243 + 1596 ; 201 + 1597 ; 162 + 1598 ; 270 + 1599 ; 180 + 1600 ; 225 + 1601 ; 1664 + 1602 ; 96 + 1603 ; 298 + 1604 ; 276 + 1605 ; 107 + 1606 ; 75 + 1607 ; 192 + 1608 ; 84 + 1609 ; 72 + 1610 ; 228 + 1611 ; 1936 + 1612 ; 85 + 1613 ; 265 + 1614 ; 201 + 1615 ; 206 + 1616 ; 117 + 1617 ; 296 + 1618 ; 216 + 1619 ; 274 + 1620 ; 91 + 1621 ; 2275 + 1622 ; 153 + 1623 ; 197 + 1624 ; 199 + 1625 ; 302 + 1626 ; 295 + 1627 ; 264 + 1628 ; 259 + 1629 ; 101 + 1630 ; 133 + 1631 ; 1722 + 1632 ; 138 + 1633 ; 173 + 1634 ; 180 + 1635 ; 83 + 1636 ; 93 + 1637 ; 237 + 1638 ; 228 + 1639 ; 109 + 1640 ; 282 + 1641 ; 2078 + 1642 ; 221 + 1643 ; 223 + 1644 ; 107 + 1645 ; 274 + 1646 ; 162 + 1647 ; 255 + 1648 ; 273 + 1649 ; 293 + 1650 ; 128 + 1651 ; 1808 + 1652 ; 141 + 1653 ; 170 + 1654 ; 110 + 1655 ; 256 + 1656 ; 241 + 1657 ; 285 + 1658 ; 220 + 1659 ; 215 + 1660 ; 97 + 1661 ; 2271 + 1662 ; 143 + 1663 ; 127 + 1664 ; 132 + 1665 ; 296 + 1666 ; 174 + 1667 ; 156 + 1668 ; 262 + 1669 ; 292 + 1670 ; 304 + 1671 ; 2220 + 1672 ; 128 + 1673 ; 78 + 1674 ; 207 + 1675 ; 72 + 1676 ; 300 + 1677 ; 166 + 1678 ; 307 + 1679 ; 75 + 1680 ; 146 + 1681 ; 2297 + 1682 ; 188 + 1683 ; 95 + 1684 ; 109 + 1685 ; 182 + 1686 ; 241 + 1687 ; 171 + 1688 ; 195 + 1689 ; 247 + 1690 ; 163 + 1691 ; 1775 + 1692 ; 215 + 1693 ; 303 + 1694 ; 199 + 1695 ; 182 + 1696 ; 74 + 1697 ; 248 + 1698 ; 266 + 1699 ; 291 + 1700 ; 267 + 1701 ; 2328 + 1702 ; 249 + 1703 ; 276 + 1704 ; 200 + 1705 ; 87 + 1706 ; 248 + 1707 ; 150 + 1708 ; 83 + 1709 ; 266 + 1710 ; 279 + 1711 ; 2131 + 1712 ; 226 + 1713 ; 108 + 1714 ; 116 + 1715 ; 179 + 1716 ; 209 + 1717 ; 170 + 1718 ; 105 + 1719 ; 156 + 1720 ; 89 + 1721 ; 2240 + 1722 ; 124 + 1723 ; 309 + 1724 ; 284 + 1725 ; 175 + 1726 ; 126 + 1727 ; 72 + 1728 ; 102 + 1729 ; 201 + 1730 ; 295 + 1731 ; 2152 + 1732 ; 201 + 1733 ; 271 + 1734 ; 184 + 1735 ; 128 + 1736 ; 249 + 1737 ; 277 + 1738 ; 223 + 1739 ; 140 + 1740 ; 112 + 1741 ; 1632 + 1742 ; 195 + 1743 ; 82 + 1744 ; 108 + 1745 ; 115 + 1746 ; 283 + 1747 ; 157 + 1748 ; 297 + 1749 ; 283 + 1750 ; 126 + 1751 ; 1846 + 1752 ; 132 + 1753 ; 84 + 1754 ; 82 + 1755 ; 172 + 1756 ; 188 + 1757 ; 234 + 1758 ; 109 + 1759 ; 289 + 1760 ; 122 + 1761 ; 2302 + 1762 ; 109 + 1763 ; 247 + 1764 ; 229 + 1765 ; 260 + 1766 ; 260 + 1767 ; 260 + 1768 ; 102 + 1769 ; 268 + 1770 ; 207 + 1771 ; 1879 + 1772 ; 130 + 1773 ; 112 + 1774 ; 152 + 1775 ; 252 + 1776 ; 305 + 1777 ; 193 + 1778 ; 76 + 1779 ; 138 + 1780 ; 152 + 1781 ; 2061 + 1782 ; 156 + 1783 ; 94 + 1784 ; 124 + 1785 ; 250 + 1786 ; 296 + 1787 ; 72 + 1788 ; 303 + 1789 ; 203 + 1790 ; 72 + 1791 ; 1663 + 1792 ; 259 + 1793 ; 288 + 1794 ; 174 + 1795 ; 109 + 1796 ; 295 + 1797 ; 240 + 1798 ; 196 + 1799 ; 205 + 1800 ; 231 + 1801 ; 1721 + 1802 ; 114 + 1803 ; 136 + 1804 ; 149 + 1805 ; 173 + 1806 ; 105 + 1807 ; 175 + 1808 ; 263 + 1809 ; 214 + 1810 ; 161 + 1811 ; 1652 + 1812 ; 217 + 1813 ; 226 + 1814 ; 129 + 1815 ; 217 + 1816 ; 117 + 1817 ; 100 + 1818 ; 305 + 1819 ; 253 + 1820 ; 147 + 1821 ; 1938 + 1822 ; 246 + 1823 ; 307 + 1824 ; 275 + 1825 ; 262 + 1826 ; 232 + 1827 ; 77 + 1828 ; 288 + 1829 ; 265 + 1830 ; 122 + 1831 ; 2365 + 1832 ; 220 + 1833 ; 151 + 1834 ; 214 + 1835 ; 307 + 1836 ; 95 + 1837 ; 289 + 1838 ; 187 + 1839 ; 164 + 1840 ; 245 + 1841 ; 2037 + 1842 ; 235 + 1843 ; 108 + 1844 ; 308 + 1845 ; 244 + 1846 ; 151 + 1847 ; 141 + 1848 ; 242 + 1849 ; 167 + 1850 ; 246 + 1851 ; 1686 + 1852 ; 206 + 1853 ; 233 + 1854 ; 231 + 1855 ; 198 + 1856 ; 89 + 1857 ; 250 + 1858 ; 83 + 1859 ; 284 + 1860 ; 116 + 1861 ; 1988 + 1862 ; 86 + 1863 ; 202 + 1864 ; 293 + 1865 ; 264 + 1866 ; 102 + 1867 ; 311 + 1868 ; 144 + 1869 ; 100 + 1870 ; 171 + 1871 ; 1957 + 1872 ; 112 + 1873 ; 189 + 1874 ; 80 + 1875 ; 266 + 1876 ; 309 + 1877 ; 292 + 1878 ; 171 + 1879 ; 138 + 1880 ; 249 + 1881 ; 2202 + 1882 ; 136 + 1883 ; 107 + 1884 ; 109 + 1885 ; 202 + 1886 ; 186 + 1887 ; 226 + 1888 ; 259 + 1889 ; 154 + 1890 ; 299 + 1891 ; 2380 + 1892 ; 256 + 1893 ; 124 + 1894 ; 72 + 1895 ; 268 + 1896 ; 124 + 1897 ; 305 + 1898 ; 228 + 1899 ; 290 + 1900 ; 220 + 1901 ; 2220 + 1902 ; 268 + 1903 ; 252 + 1904 ; 201 + 1905 ; 309 + 1906 ; 177 + 1907 ; 258 + 1908 ; 210 + 1909 ; 85 + 1910 ; 238 + 1911 ; 2050 + 1912 ; 257 + 1913 ; 292 + 1914 ; 196 + 1915 ; 187 + 1916 ; 300 + 1917 ; 195 + 1918 ; 87 + 1919 ; 224 + 1920 ; 146 + 1921 ; 2091 + 1922 ; 147 + 1923 ; 249 + 1924 ; 131 + 1925 ; 240 + 1926 ; 131 + 1927 ; 118 + 1928 ; 128 + 1929 ; 189 + 1930 ; 105 + 1931 ; 1946 + 1932 ; 282 + 1933 ; 112 + 1934 ; 225 + 1935 ; 193 + 1936 ; 103 + 1937 ; 276 + 1938 ; 272 + 1939 ; 266 + 1940 ; 155 + 1941 ; 1756 + 1942 ; 126 + 1943 ; 88 + 1944 ; 83 + 1945 ; 179 + 1946 ; 273 + 1947 ; 271 + 1948 ; 267 + 1949 ; 200 + 1950 ; 203 + 1951 ; 2261 + 1952 ; 265 + 1953 ; 175 + 1954 ; 122 + 1955 ; 96 + 1956 ; 244 + 1957 ; 303 + 1958 ; 226 + 1959 ; 187 + 1960 ; 287 + 1961 ; 1880 + 1962 ; 90 + 1963 ; 310 + 1964 ; 245 + 1965 ; 143 + 1966 ; 124 + 1967 ; 263 + 1968 ; 242 + 1969 ; 83 + 1970 ; 101 + 1971 ; 1733 + 1972 ; 119 + 1973 ; 133 + 1974 ; 110 + 1975 ; 258 + 1976 ; 297 + 1977 ; 277 + 1978 ; 78 + 1979 ; 195 + 1980 ; 274 + 1981 ; 2351 + 1982 ; 282 + 1983 ; 220 + 1984 ; 151 + 1985 ; 275 + 1986 ; 205 + 1987 ; 122 + 1988 ; 149 + 1989 ; 198 + 1990 ; 279 + 1991 ; 1679 + 1992 ; 135 + 1993 ; 217 + 1994 ; 93 + 1995 ; 265 + 1996 ; 104 + 1997 ; 179 + 1998 ; 168 + 1999 ; 304 + 2000 ; 158 + 2001 ; 2347 + 2002 ; 278 + 2003 ; 84 + 2004 ; 255 + 2005 ; 191 + 2006 ; 86 + 2007 ; 269 + 2008 ; 127 + 2009 ; 306 + 2010 ; 312 + 2011 ; 1694 + 2012 ; 89 + 2013 ; 251 + 2014 ; 231 + 2015 ; 170 + 2016 ; 125 + 2017 ; 267 + 2018 ; 234 + 2019 ; 140 + 2020 ; 117 + 2021 ; 2104 + 2022 ; 139 + 2023 ; 128 + 2024 ; 236 + 2025 ; 143 + 2026 ; 202 + 2027 ; 100 + 2028 ; 243 + 2029 ; 240 + 2030 ; 77 + 2031 ; 2386 + 2032 ; 241 + 2033 ; 241 + 2034 ; 150 + 2035 ; 281 + 2036 ; 288 + 2037 ; 107 + 2038 ; 165 + 2039 ; 140 + 2040 ; 245 + 2041 ; 2264 + 2042 ; 89 + 2043 ; 187 + 2044 ; 106 + 2045 ; 295 + 2046 ; 193 + 2047 ; 176 + 2048 ; 183 + 2049 ; 230 + 2050 ; 190 + 2051 ; 1701 + 2052 ; 159 + 2053 ; 278 + 2054 ; 226 + 2055 ; 81 + 2056 ; 232 + 2057 ; 162 + 2058 ; 130 + 2059 ; 80 + 2060 ; 256 + 2061 ; 2260 + 2062 ; 99 + 2063 ; 262 + 2064 ; 265 + 2065 ; 311 + 2066 ; 159 + 2067 ; 255 + 2068 ; 292 + 2069 ; 240 + 2070 ; 93 + 2071 ; 2326 + 2072 ; 287 + 2073 ; 206 + 2074 ; 131 + 2075 ; 77 + 2076 ; 209 + 2077 ; 173 + 2078 ; 287 + 2079 ; 287 + 2080 ; 192 + 2081 ; 2175 + 2082 ; 102 + 2083 ; 195 + 2084 ; 257 + 2085 ; 193 + 2086 ; 256 + 2087 ; 195 + 2088 ; 230 + 2089 ; 161 + 2090 ; 272 + 2091 ; 2394 + 2092 ; 216 + 2093 ; 282 + 2094 ; 236 + 2095 ; 307 + 2096 ; 275 + 2097 ; 295 + 2098 ; 271 + 2099 ; 232 + 2100 ; 233 + 2101 ; 1690 + 2102 ; 148 + 2103 ; 145 + 2104 ; 217 + 2105 ; 110 + 2106 ; 115 + 2107 ; 275 + 2108 ; 306 + 2109 ; 278 + 2110 ; 286 + 2111 ; 2293 + 2112 ; 310 + 2113 ; 223 + 2114 ; 190 + 2115 ; 128 + 2116 ; 231 + 2117 ; 112 + 2118 ; 122 + 2119 ; 237 + 2120 ; 183 + 2121 ; 2303 + 2122 ; 231 + 2123 ; 183 + 2124 ; 202 + 2125 ; 303 + 2126 ; 189 + 2127 ; 124 + 2128 ; 281 + 2129 ; 176 + 2130 ; 254 + 2131 ; 1650 + 2132 ; 148 + 2133 ; 160 + 2134 ; 154 + 2135 ; 221 + 2136 ; 193 + 2137 ; 303 + 2138 ; 214 + 2139 ; 151 + 2140 ; 125 + 2141 ; 1773 + 2142 ; 202 + 2143 ; 170 + 2144 ; 296 + 2145 ; 297 + 2146 ; 296 + 2147 ; 224 + 2148 ; 260 + 2149 ; 294 + 2150 ; 146 + 2151 ; 1623 + 2152 ; 157 + 2153 ; 99 + 2154 ; 213 + 2155 ; 83 + 2156 ; 130 + 2157 ; 285 + 2158 ; 81 + 2159 ; 277 + 2160 ; 290 + 2161 ; 1646 + 2162 ; 288 + 2163 ; 191 + 2164 ; 217 + 2165 ; 123 + 2166 ; 214 + 2167 ; 90 + 2168 ; 200 + 2169 ; 268 + 2170 ; 107 + 2171 ; 1859 + 2172 ; 250 + 2173 ; 299 + 2174 ; 282 + 2175 ; 298 + 2176 ; 82 + 2177 ; 114 + 2178 ; 252 + 2179 ; 249 + 2180 ; 193 + 2181 ; 1763 + 2182 ; 176 + 2183 ; 157 + 2184 ; 133 + 2185 ; 157 + 2186 ; 246 + 2187 ; 230 + 2188 ; 184 + 2189 ; 179 + 2190 ; 141 + 2191 ; 2041 + 2192 ; 126 + 2193 ; 131 + 2194 ; 239 + 2195 ; 303 + 2196 ; 269 + 2197 ; 272 + 2198 ; 103 + 2199 ; 299 + 2200 ; 88 + 2201 ; 2167 + 2202 ; 149 + 2203 ; 173 + 2204 ; 242 + 2205 ; 102 + 2206 ; 94 + 2207 ; 241 + 2208 ; 239 + 2209 ; 178 + 2210 ; 166 + 2211 ; 1955 + 2212 ; 300 + 2213 ; 258 + 2214 ; 119 + 2215 ; 155 + 2216 ; 134 + 2217 ; 267 + 2218 ; 80 + 2219 ; 297 + 2220 ; 231 + 2221 ; 1728 + 2222 ; 278 + 2223 ; 252 + 2224 ; 231 + 2225 ; 136 + 2226 ; 270 + 2227 ; 278 + 2228 ; 76 + 2229 ; 132 + 2230 ; 215 + 2231 ; 2181 + 2232 ; 114 + 2233 ; 249 + 2234 ; 278 + 2235 ; 209 + 2236 ; 96 + 2237 ; 221 + 2238 ; 116 + 2239 ; 192 + 2240 ; 224 + 2241 ; 1620 + 2242 ; 311 + 2243 ; 202 + 2244 ; 130 + 2245 ; 233 + 2246 ; 142 + 2247 ; 142 + 2248 ; 111 + 2249 ; 247 + 2250 ; 96 + 2251 ; 2292 + 2252 ; 146 + 2253 ; 249 + 2254 ; 255 + 2255 ; 198 + 2256 ; 234 + 2257 ; 189 + 2258 ; 201 + 2259 ; 139 + 2260 ; 126 + 2261 ; 2005 + 2262 ; 247 + 2263 ; 168 + 2264 ; 277 + 2265 ; 281 + 2266 ; 215 + 2267 ; 217 + 2268 ; 214 + 2269 ; 194 + 2270 ; 215 + 2271 ; 1618 + 2272 ; 188 + 2273 ; 129 + 2274 ; 155 + 2275 ; 147 + 2276 ; 207 + 2277 ; 291 + 2278 ; 259 + 2279 ; 81 + 2280 ; 247 + 2281 ; 1849 + 2282 ; 312 + 2283 ; 156 + 2284 ; 161 + 2285 ; 279 + 2286 ; 80 + 2287 ; 95 + 2288 ; 294 + 2289 ; 124 + 2290 ; 312 + 2291 ; 1689 + 2292 ; 200 + 2293 ; 243 + 2294 ; 201 + 2295 ; 224 + 2296 ; 156 + 2297 ; 198 + 2298 ; 179 + 2299 ; 230 + 2300 ; 108 + 2301 ; 1662 + 2302 ; 121 + 2303 ; 198 + 2304 ; 133 + 2305 ; 226 + 2306 ; 290 + 2307 ; 285 + 2308 ; 247 + 2309 ; 166 + 2310 ; 232 + 2311 ; 1903 + 2312 ; 99 + 2313 ; 242 + 2314 ; 87 + 2315 ; 183 + 2316 ; 234 + 2317 ; 122 + 2318 ; 284 + 2319 ; 118 + 2320 ; 256 + 2321 ; 2146 + 2322 ; 280 + 2323 ; 310 + 2324 ; 109 + 2325 ; 159 + 2326 ; 197 + 2327 ; 73 + 2328 ; 255 + 2329 ; 255 + 2330 ; 124 + 2331 ; 1713 + 2332 ; 126 + 2333 ; 188 + 2334 ; 155 + 2335 ; 217 + 2336 ; 120 + 2337 ; 75 + 2338 ; 263 + 2339 ; 83 + 2340 ; 277 + 2341 ; 1670 + 2342 ; 250 + 2343 ; 191 + 2344 ; 284 + 2345 ; 72 + 2346 ; 193 + 2347 ; 215 + 2348 ; 188 + 2349 ; 184 + 2350 ; 150 + 2351 ; 1810 + 2352 ; 257 + 2353 ; 161 + 2354 ; 245 + 2355 ; 256 + 2356 ; 301 + 2357 ; 87 + 2358 ; 194 + 2359 ; 136 + 2360 ; 254 + 2361 ; 2026 + 2362 ; 298 + 2363 ; 74 + 2364 ; 132 + 2365 ; 269 + 2366 ; 209 + 2367 ; 201 + 2368 ; 206 + 2369 ; 169 + 2370 ; 233 + 2371 ; 2307 + 2372 ; 299 + 2373 ; 273 + 2374 ; 221 + 2375 ; 281 + 2376 ; 173 + 2377 ; 141 + 2378 ; 144 + 2379 ; 297 + 2380 ; 143 + 2381 ; 2266 + 2382 ; 134 + 2383 ; 154 + 2384 ; 82 + 2385 ; 110 + 2386 ; 127 + 2387 ; 125 + 2388 ; 288 + 2389 ; 189 + 2390 ; 133 + 2391 ; 1708 + 2392 ; 102 + 2393 ; 100 + 2394 ; 289 + 2395 ; 107 + 2396 ; 144 + 2397 ; 306 + 2398 ; 174 + 2399 ; 197 + 2400 ; 113 + 2401 ; 1925 + 2402 ; 245 + 2403 ; 116 + 2404 ; 103 + 2405 ; 99 + 2406 ; 310 + 2407 ; 110 + 2408 ; 287 + 2409 ; 305 + 2410 ; 149 + 2411 ; 1951 + 2412 ; 269 + 2413 ; 181 + 2414 ; 94 + 2415 ; 145 + 2416 ; 96 + 2417 ; 154 + 2418 ; 257 + 2419 ; 211 + 2420 ; 303 + 2421 ; 2129 + 2422 ; 96 + 2423 ; 303 + 2424 ; 198 + 2425 ; 109 + 2426 ; 247 + 2427 ; 232 + 2428 ; 184 + 2429 ; 280 + 2430 ; 195 + 2431 ; 2402 + 2432 ; 188 + 2433 ; 85 + 2434 ; 118 + 2435 ; 154 + 2436 ; 228 + 2437 ; 121 + 2438 ; 151 + 2439 ; 240 + 2440 ; 300 + 2441 ; 2047 + 2442 ; 141 + 2443 ; 269 + 2444 ; 116 + 2445 ; 228 + 2446 ; 108 + 2447 ; 97 + 2448 ; 201 + 2449 ; 135 + 2450 ; 78 + 2451 ; 2306 + 2452 ; 289 + 2453 ; 208 + 2454 ; 146 + 2455 ; 149 + 2456 ; 122 + 2457 ; 277 + 2458 ; 260 + 2459 ; 243 + 2460 ; 199 + 2461 ; 1839 + 2462 ; 260 + 2463 ; 129 + 2464 ; 209 + 2465 ; 131 + 2466 ; 157 + 2467 ; 265 + 2468 ; 88 + 2469 ; 258 + 2470 ; 188 + 2471 ; 2077 + 2472 ; 167 + 2473 ; 299 + 2474 ; 151 + 2475 ; 300 + 2476 ; 139 + 2477 ; 150 + 2478 ; 274 + 2479 ; 134 + 2480 ; 115 + 2481 ; 1889 + 2482 ; 193 + 2483 ; 78 + 2484 ; 244 + 2485 ; 231 + 2486 ; 163 + 2487 ; 222 + 2488 ; 267 + 2489 ; 94 + 2490 ; 240 + 2491 ; 1710 + 2492 ; 129 + 2493 ; 289 + 2494 ; 275 + 2495 ; 233 + 2496 ; 275 + 2497 ; 158 + 2498 ; 300 + 2499 ; 135 + 2500 ; 133 + 2501 ; 2168 + 2502 ; 243 + 2503 ; 311 + 2504 ; 99 + 2505 ; 139 + 2506 ; 76 + 2507 ; 143 + 2508 ; 102 + 2509 ; 241 + 2510 ; 74 + 2511 ; 1971 + 2512 ; 288 + 2513 ; 164 + 2514 ; 89 + 2515 ; 193 + 2516 ; 164 + 2517 ; 98 + 2518 ; 239 + 2519 ; 244 + 2520 ; 105 + 2521 ; 1866 + 2522 ; 126 + 2523 ; 303 + 2524 ; 242 + 2525 ; 284 + 2526 ; 101 + 2527 ; 255 + 2528 ; 119 + 2529 ; 130 + 2530 ; 107 + 2531 ; 1649 + 2532 ; 227 + 2533 ; 223 + 2534 ; 244 + 2535 ; 270 + 2536 ; 208 + 2537 ; 299 + 2538 ; 243 + 2539 ; 161 + 2540 ; 264 + 2541 ; 2176 + 2542 ; 256 + 2543 ; 73 + 2544 ; 196 + 2545 ; 91 + 2546 ; 100 + 2547 ; 259 + 2548 ; 176 + 2549 ; 293 + 2550 ; 303 + 2551 ; 2350 + 2552 ; 113 + 2553 ; 295 + 2554 ; 274 + 2555 ; 126 + 2556 ; 165 + 2557 ; 152 + 2558 ; 170 + 2559 ; 144 + 2560 ; 131 + 2561 ; 1995 + 2562 ; 222 + 2563 ; 284 + 2564 ; 299 + 2565 ; 286 + 2566 ; 206 + 2567 ; 170 + 2568 ; 273 + 2569 ; 77 + 2570 ; 151 + 2571 ; 1774 + 2572 ; 287 + 2573 ; 116 + 2574 ; 238 + 2575 ; 298 + 2576 ; 227 + 2577 ; 149 + 2578 ; 233 + 2579 ; 180 + 2580 ; 279 + 2581 ; 1759 + 2582 ; 194 + 2583 ; 241 + 2584 ; 276 + 2585 ; 172 + 2586 ; 242 + 2587 ; 235 + 2588 ; 193 + 2589 ; 274 + 2590 ; 203 + 2591 ; 2405 + 2592 ; 87 + 2593 ; 171 + 2594 ; 131 + 2595 ; 256 + 2596 ; 115 + 2597 ; 76 + 2598 ; 177 + 2599 ; 190 + 2600 ; 279 + 2601 ; 1727 + 2602 ; 243 + 2603 ; 301 + 2604 ; 75 + 2605 ; 298 + 2606 ; 112 + 2607 ; 145 + 2608 ; 81 + 2609 ; 106 + 2610 ; 277 + 2611 ; 2355 + 2612 ; 89 + 2613 ; 154 + 2614 ; 304 + 2615 ; 150 + 2616 ; 113 + 2617 ; 311 + 2618 ; 217 + 2619 ; 173 + 2620 ; 267 + 2621 ; 2305 + 2622 ; 172 + 2623 ; 154 + 2624 ; 172 + 2625 ; 111 + 2626 ; 146 + 2627 ; 174 + 2628 ; 142 + 2629 ; 166 + 2630 ; 84 + 2631 ; 2013 + 2632 ; 240 + 2633 ; 204 + 2634 ; 221 + 2635 ; 72 + 2636 ; 109 + 2637 ; 234 + 2638 ; 129 + 2639 ; 220 + 2640 ; 203 + 2641 ; 2078 + 2642 ; 145 + 2643 ; 311 + 2644 ; 232 + 2645 ; 303 + 2646 ; 148 + 2647 ; 77 + 2648 ; 208 + 2649 ; 130 + 2650 ; 225 + 2651 ; 2336 + 2652 ; 163 + 2653 ; 92 + 2654 ; 212 + 2655 ; 275 + 2656 ; 117 + 2657 ; 122 + 2658 ; 121 + 2659 ; 270 + 2660 ; 222 + 2661 ; 2205 + 2662 ; 119 + 2663 ; 255 + 2664 ; 123 + 2665 ; 133 + 2666 ; 304 + 2667 ; 296 + 2668 ; 193 + 2669 ; 275 + 2670 ; 184 + 2671 ; 2189 + 2672 ; 265 + 2673 ; 142 + 2674 ; 216 + 2675 ; 89 + 2676 ; 245 + 2677 ; 213 + 2678 ; 225 + 2679 ; 177 + 2680 ; 74 + 2681 ; 2181 + 2682 ; 130 + 2683 ; 74 + 2684 ; 141 + 2685 ; 295 + 2686 ; 139 + 2687 ; 235 + 2688 ; 197 + 2689 ; 76 + 2690 ; 211 + 2691 ; 1719 + 2692 ; 114 + 2693 ; 194 + 2694 ; 137 + 2695 ; 131 + 2696 ; 156 + 2697 ; 139 + 2698 ; 134 + 2699 ; 152 + 2700 ; 280 + 2701 ; 1828 + 2702 ; 159 + 2703 ; 121 + 2704 ; 138 + 2705 ; 85 + 2706 ; 239 + 2707 ; 75 + 2708 ; 160 + 2709 ; 267 + 2710 ; 221 + 2711 ; 1816 + 2712 ; 205 + 2713 ; 279 + 2714 ; 175 + 2715 ; 274 + 2716 ; 171 + 2717 ; 118 + 2718 ; 169 + 2719 ; 122 + 2720 ; 300 + 2721 ; 1824 + 2722 ; 223 + 2723 ; 87 + 2724 ; 182 + 2725 ; 91 + 2726 ; 145 + 2727 ; 131 + 2728 ; 134 + 2729 ; 153 + 2730 ; 212 + 2731 ; 2156 + 2732 ; 264 + 2733 ; 276 + 2734 ; 262 + 2735 ; 123 + 2736 ; 234 + 2737 ; 288 + 2738 ; 282 + 2739 ; 169 + 2740 ; 160 + 2741 ; 2279 + 2742 ; 100 + 2743 ; 237 + 2744 ; 196 + 2745 ; 120 + 2746 ; 309 + 2747 ; 261 + 2748 ; 180 + 2749 ; 176 + 2750 ; 109 + 2751 ; 2167 + 2752 ; 238 + 2753 ; 246 + 2754 ; 143 + 2755 ; 224 + 2756 ; 276 + 2757 ; 249 + 2758 ; 241 + 2759 ; 105 + 2760 ; 94 + 2761 ; 2335 + 2762 ; 195 + 2763 ; 277 + 2764 ; 240 + 2765 ; 241 + 2766 ; 289 + 2767 ; 230 + 2768 ; 297 + 2769 ; 286 + 2770 ; 109 + 2771 ; 2060 + 2772 ; 155 + 2773 ; 302 + 2774 ; 205 + 2775 ; 175 + 2776 ; 161 + 2777 ; 78 + 2778 ; 189 + 2779 ; 149 + 2780 ; 252 + 2781 ; 2226 + 2782 ; 274 + 2783 ; 76 + 2784 ; 205 + 2785 ; 179 + 2786 ; 140 + 2787 ; 189 + 2788 ; 110 + 2789 ; 163 + 2790 ; 72 + 2791 ; 1831 + 2792 ; 194 + 2793 ; 215 + 2794 ; 232 + 2795 ; 119 + 2796 ; 180 + 2797 ; 298 + 2798 ; 160 + 2799 ; 218 + 2800 ; 114 + 2801 ; 2400 + 2802 ; 271 + 2803 ; 238 + 2804 ; 178 + 2805 ; 235 + 2806 ; 205 + 2807 ; 152 + 2808 ; 181 + 2809 ; 90 + 2810 ; 119 + 2811 ; 1923 + 2812 ; 256 + 2813 ; 112 + 2814 ; 181 + 2815 ; 148 + 2816 ; 290 + 2817 ; 233 + 2818 ; 253 + 2819 ; 119 + 2820 ; 119 + 2821 ; 1698 + 2822 ; 256 + 2823 ; 105 + 2824 ; 121 + 2825 ; 125 + 2826 ; 302 + 2827 ; 309 + 2828 ; 199 + 2829 ; 197 + 2830 ; 125 + 2831 ; 1702 + 2832 ; 251 + 2833 ; 89 + 2834 ; 222 + 2835 ; 85 + 2836 ; 214 + 2837 ; 120 + 2838 ; 116 + 2839 ; 178 + 2840 ; 260 + 2841 ; 2189 + 2842 ; 122 + 2843 ; 153 + 2844 ; 149 + 2845 ; 183 + 2846 ; 255 + 2847 ; 160 + 2848 ; 291 + 2849 ; 274 + 2850 ; 165 + 2851 ; 2267 + 2852 ; 177 + 2853 ; 167 + 2854 ; 193 + 2855 ; 79 + 2856 ; 190 + 2857 ; 202 + 2858 ; 248 + 2859 ; 299 + 2860 ; 268 + 2861 ; 1626 + 2862 ; 251 + 2863 ; 216 + 2864 ; 192 + 2865 ; 216 + 2866 ; 257 + 2867 ; 310 + 2868 ; 112 + 2869 ; 144 + 2870 ; 232 + 2871 ; 1647 + 2872 ; 101 + 2873 ; 118 + 2874 ; 271 + 2875 ; 241 + 2876 ; 257 + 2877 ; 237 + 2878 ; 142 + 2879 ; 195 + 2880 ; 231 + 2881 ; 2050 + 2882 ; 148 + 2883 ; 139 + 2884 ; 273 + 2885 ; 190 + 2886 ; 225 + 2887 ; 232 + 2888 ; 174 + 2889 ; 303 + 2890 ; 83 + 2891 ; 2280 + 2892 ; 99 + 2893 ; 108 + 2894 ; 184 + 2895 ; 140 + 2896 ; 96 + 2897 ; 288 + 2898 ; 89 + 2899 ; 124 + 2900 ; 257 + 2901 ; 2078 + 2902 ; 197 + 2903 ; 93 + 2904 ; 183 + 2905 ; 175 + 2906 ; 85 + 2907 ; 153 + 2908 ; 298 + 2909 ; 299 + 2910 ; 214 + 2911 ; 1872 + 2912 ; 279 + 2913 ; 220 + 2914 ; 254 + 2915 ; 196 + 2916 ; 189 + 2917 ; 168 + 2918 ; 170 + 2919 ; 162 + 2920 ; 166 + 2921 ; 1950 + 2922 ; 99 + 2923 ; 105 + 2924 ; 236 + 2925 ; 77 + 2926 ; 76 + 2927 ; 209 + 2928 ; 270 + 2929 ; 92 + 2930 ; 186 + 2931 ; 1625 + 2932 ; 228 + 2933 ; 137 + 2934 ; 294 + 2935 ; 114 + 2936 ; 307 + 2937 ; 163 + 2938 ; 264 + 2939 ; 230 + 2940 ; 171 + 2941 ; 1757 + 2942 ; 100 + 2943 ; 142 + 2944 ; 130 + 2945 ; 284 + 2946 ; 227 + 2947 ; 129 + 2948 ; 113 + 2949 ; 263 + 2950 ; 217 + 2951 ; 2221 + 2952 ; 173 + 2953 ; 274 + 2954 ; 202 + 2955 ; 260 + 2956 ; 191 + 2957 ; 94 + 2958 ; 248 + 2959 ; 312 + 2960 ; 290 + 2961 ; 1674 + 2962 ; 235 + 2963 ; 79 + 2964 ; 115 + 2965 ; 260 + 2966 ; 304 + 2967 ; 305 + 2968 ; 297 + 2969 ; 271 + 2970 ; 86 + 2971 ; 2249 + 2972 ; 132 + 2973 ; 146 + 2974 ; 205 + 2975 ; 240 + 2976 ; 283 + 2977 ; 117 + 2978 ; 97 + 2979 ; 200 + 2980 ; 114 + 2981 ; 1830 + 2982 ; 161 + 2983 ; 181 + 2984 ; 80 + 2985 ; 96 + 2986 ; 256 + 2987 ; 210 + 2988 ; 160 + 2989 ; 143 + 2990 ; 133 + 2991 ; 1900 + 2992 ; 177 + 2993 ; 176 + 2994 ; 86 + 2995 ; 78 + 2996 ; 153 + 2997 ; 277 + 2998 ; 187 + 2999 ; 295 + 3000 ; 291 + 3001 ; 2251 + 3002 ; 276 + 3003 ; 141 + 3004 ; 302 + 3005 ; 250 + 3006 ; 103 + 3007 ; 120 + 3008 ; 269 + 3009 ; 304 + 3010 ; 112 + 3011 ; 1996 + 3012 ; 234 + 3013 ; 99 + 3014 ; 230 + 3015 ; 109 + 3016 ; 239 + 3017 ; 253 + 3018 ; 308 + 3019 ; 215 + 3020 ; 287 + 3021 ; 2171 + 3022 ; 163 + 3023 ; 98 + 3024 ; 100 + 3025 ; 248 + 3026 ; 243 + 3027 ; 226 + 3028 ; 280 + 3029 ; 173 + 3030 ; 102 + 3031 ; 1803 + 3032 ; 133 + 3033 ; 293 + 3034 ; 101 + 3035 ; 129 + 3036 ; 100 + 3037 ; 304 + 3038 ; 183 + 3039 ; 149 + 3040 ; 120 + 3041 ; 2016 + 3042 ; 129 + 3043 ; 258 + 3044 ; 305 + 3045 ; 187 + 3046 ; 224 + 3047 ; 289 + 3048 ; 75 + 3049 ; 262 + 3050 ; 77 + 3051 ; 1944 + 3052 ; 237 + 3053 ; 159 + 3054 ; 78 + 3055 ; 81 + 3056 ; 124 + 3057 ; 304 + 3058 ; 114 + 3059 ; 180 + 3060 ; 248 + 3061 ; 1800 + 3062 ; 84 + 3063 ; 124 + 3064 ; 281 + 3065 ; 226 + 3066 ; 108 + 3067 ; 226 + 3068 ; 213 + 3069 ; 156 + 3070 ; 137 + 3071 ; 1901 + 3072 ; 309 + 3073 ; 232 + 3074 ; 139 + 3075 ; 203 + 3076 ; 220 + 3077 ; 77 + 3078 ; 216 + 3079 ; 138 + 3080 ; 78 + 3081 ; 1852 + 3082 ; 82 + 3083 ; 113 + 3084 ; 204 + 3085 ; 110 + 3086 ; 177 + 3087 ; 216 + 3088 ; 185 + 3089 ; 241 + 3090 ; 122 + 3091 ; 1864 + 3092 ; 106 + 3093 ; 194 + 3094 ; 303 + 3095 ; 171 + 3096 ; 231 + 3097 ; 179 + 3098 ; 148 + 3099 ; 190 + 3100 ; 195 + 3101 ; 1660 + 3102 ; 80 + 3103 ; 284 + 3104 ; 126 + 3105 ; 92 + 3106 ; 112 + 3107 ; 188 + 3108 ; 229 + 3109 ; 86 + 3110 ; 186 + 3111 ; 2025 + 3112 ; 270 + 3113 ; 237 + 3114 ; 169 + 3115 ; 250 + 3116 ; 79 + 3117 ; 312 + 3118 ; 144 + 3119 ; 286 + 3120 ; 85 + 3121 ; 2093 + 3122 ; 254 + 3123 ; 166 + 3124 ; 139 + 3125 ; 239 + 3126 ; 140 + 3127 ; 217 + 3128 ; 273 + 3129 ; 274 + 3130 ; 262 + 3131 ; 1985 + 3132 ; 129 + 3133 ; 266 + 3134 ; 138 + 3135 ; 160 + 3136 ; 122 + 3137 ; 165 + 3138 ; 274 + 3139 ; 292 + 3140 ; 306 + 3141 ; 2087 + 3142 ; 303 + 3143 ; 312 + 3144 ; 203 + 3145 ; 263 + 3146 ; 84 + 3147 ; 110 + 3148 ; 79 + 3149 ; 281 + 3150 ; 300 + 3151 ; 1892 + 3152 ; 227 + 3153 ; 297 + 3154 ; 225 + 3155 ; 305 + 3156 ; 230 + 3157 ; 305 + 3158 ; 185 + 3159 ; 142 + 3160 ; 129 + 3161 ; 2303 + 3162 ; 266 + 3163 ; 155 + 3164 ; 197 + 3165 ; 254 + 3166 ; 177 + 3167 ; 104 + 3168 ; 88 + 3169 ; 295 + 3170 ; 216 + 3171 ; 2338 + 3172 ; 283 + 3173 ; 144 + 3174 ; 260 + 3175 ; 221 + 3176 ; 89 + 3177 ; 139 + 3178 ; 303 + 3179 ; 162 + 3180 ; 204 + 3181 ; 1708 + 3182 ; 214 + 3183 ; 178 + 3184 ; 199 + 3185 ; 308 + 3186 ; 288 + 3187 ; 180 + 3188 ; 102 + 3189 ; 180 + 3190 ; 247 + 3191 ; 1990 + 3192 ; 258 + 3193 ; 245 + 3194 ; 154 + 3195 ; 244 + 3196 ; 74 + 3197 ; 189 + 3198 ; 284 + 3199 ; 122 + 3200 ; 305 + 3201 ; 1825 + 3202 ; 88 + 3203 ; 153 + 3204 ; 236 + 3205 ; 186 + 3206 ; 222 + 3207 ; 84 + 3208 ; 80 + 3209 ; 192 + 3210 ; 126 + 3211 ; 2314 + 3212 ; 219 + 3213 ; 242 + 3214 ; 160 + 3215 ; 75 + 3216 ; 305 + 3217 ; 252 + 3218 ; 310 + 3219 ; 303 + 3220 ; 275 + 3221 ; 1643 + 3222 ; 271 + 3223 ; 136 + 3224 ; 115 + 3225 ; 160 + 3226 ; 127 + 3227 ; 236 + 3228 ; 306 + 3229 ; 152 + 3230 ; 212 + 3231 ; 1951 + 3232 ; 185 + 3233 ; 291 + 3234 ; 136 + 3235 ; 120 + 3236 ; 74 + 3237 ; 134 + 3238 ; 303 + 3239 ; 171 + 3240 ; 83 + 3241 ; 1619 + 3242 ; 292 + 3243 ; 177 + 3244 ; 307 + 3245 ; 83 + 3246 ; 258 + 3247 ; 213 + 3248 ; 146 + 3249 ; 184 + 3250 ; 253 + 3251 ; 2119 + 3252 ; 246 + 3253 ; 122 + 3254 ; 142 + 3255 ; 188 + 3256 ; 211 + 3257 ; 122 + 3258 ; 91 + 3259 ; 176 + 3260 ; 218 + 3261 ; 1649 + 3262 ; 109 + 3263 ; 218 + 3264 ; 123 + 3265 ; 187 + 3266 ; 275 + 3267 ; 207 + 3268 ; 77 + 3269 ; 198 + 3270 ; 271 + 3271 ; 1751 + 3272 ; 157 + 3273 ; 98 + 3274 ; 298 + 3275 ; 236 + 3276 ; 247 + 3277 ; 100 + 3278 ; 114 + 3279 ; 244 + 3280 ; 193 + 3281 ; 1988 + 3282 ; 242 + 3283 ; 171 + 3284 ; 251 + 3285 ; 104 + 3286 ; 114 + 3287 ; 178 + 3288 ; 213 + 3289 ; 283 + 3290 ; 196 + 3291 ; 1633 + 3292 ; 208 + 3293 ; 230 + 3294 ; 292 + 3295 ; 83 + 3296 ; 72 + 3297 ; 137 + 3298 ; 116 + 3299 ; 306 + 3300 ; 128 + 3301 ; 1698 + 3302 ; 280 + 3303 ; 97 + 3304 ; 90 + 3305 ; 277 + 3306 ; 79 + 3307 ; 247 + 3308 ; 202 + 3309 ; 76 + 3310 ; 102 + 3311 ; 2386 + 3312 ; 134 + 3313 ; 94 + 3314 ; 194 + 3315 ; 99 + 3316 ; 307 + 3317 ; 211 + 3318 ; 179 + 3319 ; 116 + 3320 ; 127 + 3321 ; 1640 + 3322 ; 247 + 3323 ; 112 + 3324 ; 283 + 3325 ; 111 + 3326 ; 290 + 3327 ; 247 + 3328 ; 168 + 3329 ; 287 + 3330 ; 248 + 3331 ; 2137 + 3332 ; 244 + 3333 ; 295 + 3334 ; 132 + 3335 ; 160 + 3336 ; 82 + 3337 ; 295 + 3338 ; 304 + 3339 ; 101 + 3340 ; 235 + 3341 ; 1696 + 3342 ; 265 + 3343 ; 279 + 3344 ; 149 + 3345 ; 270 + 3346 ; 123 + 3347 ; 235 + 3348 ; 286 + 3349 ; 80 + 3350 ; 228 + 3351 ; 2405 + 3352 ; 228 + 3353 ; 217 + 3354 ; 90 + 3355 ; 72 + 3356 ; 73 + 3357 ; 102 + 3358 ; 145 + 3359 ; 180 + 3360 ; 288 + 3361 ; 2293 + 3362 ; 112 + 3363 ; 214 + 3364 ; 225 + 3365 ; 253 + 3366 ; 204 + 3367 ; 84 + 3368 ; 132 + 3369 ; 244 + 3370 ; 174 + 3371 ; 2290 + 3372 ; 185 + 3373 ; 130 + 3374 ; 152 + 3375 ; 276 + 3376 ; 236 + 3377 ; 254 + 3378 ; 249 + 3379 ; 238 + 3380 ; 138 + 3381 ; 2097 + 3382 ; 242 + 3383 ; 306 + 3384 ; 87 + 3385 ; 151 + 3386 ; 114 + 3387 ; 166 + 3388 ; 74 + 3389 ; 203 + 3390 ; 75 + 3391 ; 1734 + 3392 ; 86 + 3393 ; 258 + 3394 ; 293 + 3395 ; 264 + 3396 ; 154 + 3397 ; 246 + 3398 ; 151 + 3399 ; 272 + 3400 ; 161 + 3401 ; 1617 + 3402 ; 138 + 3403 ; 266 + 3404 ; 95 + 3405 ; 307 + 3406 ; 76 + 3407 ; 96 + 3408 ; 251 + 3409 ; 244 + 3410 ; 133 + 3411 ; 2018 + 3412 ; 78 + 3413 ; 238 + 3414 ; 143 + 3415 ; 80 + 3416 ; 177 + 3417 ; 151 + 3418 ; 129 + 3419 ; 120 + 3420 ; 280 + 3421 ; 1871 + 3422 ; 214 + 3423 ; 97 + 3424 ; 284 + 3425 ; 206 + 3426 ; 164 + 3427 ; 294 + 3428 ; 193 + 3429 ; 309 + 3430 ; 264 + 3431 ; 2325 + 3432 ; 260 + 3433 ; 140 + 3434 ; 219 + 3435 ; 263 + 3436 ; 143 + 3437 ; 221 + 3438 ; 210 + 3439 ; 264 + 3440 ; 84 + 3441 ; 2207 + 3442 ; 282 + 3443 ; 106 + 3444 ; 300 + 3445 ; 293 + 3446 ; 87 + 3447 ; 132 + 3448 ; 139 + 3449 ; 117 + 3450 ; 115 + 3451 ; 2000 + 3452 ; 157 + 3453 ; 206 + 3454 ; 123 + 3455 ; 210 + 3456 ; 94 + 3457 ; 208 + 3458 ; 277 + 3459 ; 180 + 3460 ; 161 + 3461 ; 2353 + 3462 ; 88 + 3463 ; 78 + 3464 ; 101 + 3465 ; 116 + 3466 ; 117 + 3467 ; 196 + 3468 ; 145 + 3469 ; 241 + 3470 ; 169 + 3471 ; 2331 + 3472 ; 136 + 3473 ; 101 + 3474 ; 286 + 3475 ; 252 + 3476 ; 273 + 3477 ; 204 + 3478 ; 188 + 3479 ; 238 + 3480 ; 225 + 3481 ; 2313 + 3482 ; 224 + 3483 ; 300 + 3484 ; 72 + 3485 ; 225 + 3486 ; 115 + 3487 ; 294 + 3488 ; 73 + 3489 ; 74 + 3490 ; 222 + 3491 ; 1911 + 3492 ; 165 + 3493 ; 222 + 3494 ; 271 + 3495 ; 94 + 3496 ; 204 + 3497 ; 290 + 3498 ; 117 + 3499 ; 113 + 3500 ; 270 + 3501 ; 1881 + 3502 ; 226 + 3503 ; 156 + 3504 ; 175 + 3505 ; 280 + 3506 ; 141 + 3507 ; 297 + 3508 ; 117 + 3509 ; 150 + 3510 ; 203 + 3511 ; 2100 + 3512 ; 74 + 3513 ; 241 + 3514 ; 219 + 3515 ; 99 + 3516 ; 270 + 3517 ; 197 + 3518 ; 222 + 3519 ; 231 + 3520 ; 161 + 3521 ; 2046 + 3522 ; 178 + 3523 ; 134 + 3524 ; 136 + 3525 ; 243 + 3526 ; 87 + 3527 ; 210 + 3528 ; 106 + 3529 ; 79 + 3530 ; 120 + 3531 ; 2056 + 3532 ; 256 + 3533 ; 119 + 3534 ; 298 + 3535 ; 281 + 3536 ; 280 + 3537 ; 270 + 3538 ; 292 + 3539 ; 114 + 3540 ; 95 + 3541 ; 2198 + 3542 ; 103 + 3543 ; 284 + 3544 ; 300 + 3545 ; 275 + 3546 ; 287 + 3547 ; 273 + 3548 ; 201 + 3549 ; 139 + 3550 ; 176 + 3551 ; 2074 + 3552 ; 216 + 3553 ; 246 + 3554 ; 170 + 3555 ; 133 + 3556 ; 273 + 3557 ; 102 + 3558 ; 209 + 3559 ; 312 + 3560 ; 163 + 3561 ; 2049 + 3562 ; 178 + 3563 ; 258 + 3564 ; 108 + 3565 ; 281 + 3566 ; 152 + 3567 ; 157 + 3568 ; 158 + 3569 ; 170 + 3570 ; 301 + 3571 ; 2002 + 3572 ; 259 + 3573 ; 192 + 3574 ; 91 + 3575 ; 79 + 3576 ; 302 + 3577 ; 181 + 3578 ; 269 + 3579 ; 260 + 3580 ; 100 + 3581 ; 2327 + 3582 ; 252 + 3583 ; 193 + 3584 ; 149 + 3585 ; 263 + 3586 ; 303 + 3587 ; 96 + 3588 ; 289 + 3589 ; 158 + 3590 ; 258 + 3591 ; 1872 + 3592 ; 110 + 3593 ; 74 + 3594 ; 236 + 3595 ; 160 + 3596 ; 127 + 3597 ; 86 + 3598 ; 86 + 3599 ; 251 + 3600 ; 260 + 3601 ; 1743 + 3602 ; 250 + 3603 ; 162 + 3604 ; 255 + 3605 ; 93 + 3606 ; 144 + 3607 ; 292 + 3608 ; 152 + 3609 ; 295 + 3610 ; 176 + 3611 ; 1926 + 3612 ; 211 + 3613 ; 142 + 3614 ; 135 + 3615 ; 164 + 3616 ; 246 + 3617 ; 290 + 3618 ; 263 + 3619 ; 222 + 3620 ; 114 + 3621 ; 1792 + 3622 ; 189 + 3623 ; 116 + 3624 ; 156 + 3625 ; 234 + 3626 ; 304 + 3627 ; 107 + 3628 ; 305 + 3629 ; 166 + 3630 ; 83 + 3631 ; 2403 + 3632 ; 283 + 3633 ; 106 + 3634 ; 111 + 3635 ; 127 + 3636 ; 286 + 3637 ; 203 + 3638 ; 198 + 3639 ; 263 + 3640 ; 255 + 3641 ; 2318 + 3642 ; 188 + 3643 ; 167 + 3644 ; 129 + 3645 ; 200 + 3646 ; 156 + 3647 ; 192 + 3648 ; 279 + 3649 ; 292 + 3650 ; 120 + 3651 ; 1647 + 3652 ; 279 + 3653 ; 288 + 3654 ; 141 + 3655 ; 285 + 3656 ; 289 + 3657 ; 273 + 3658 ; 121 + 3659 ; 302 + 3660 ; 130 + 3661 ; 1635 + 3662 ; 197 + 3663 ; 305 + 3664 ; 159 + 3665 ; 103 + 3666 ; 217 + 3667 ; 78 + 3668 ; 141 + 3669 ; 299 + 3670 ; 132 + 3671 ; 2130 + 3672 ; 247 + 3673 ; 226 + 3674 ; 104 + 3675 ; 294 + 3676 ; 86 + 3677 ; 175 + 3678 ; 95 + 3679 ; 209 + 3680 ; 124 + 3681 ; 2311 + 3682 ; 283 + 3683 ; 227 + 3684 ; 161 + 3685 ; 155 + 3686 ; 230 + 3687 ; 139 + 3688 ; 301 + 3689 ; 311 + 3690 ; 102 + 3691 ; 2217 + 3692 ; 277 + 3693 ; 184 + 3694 ; 291 + 3695 ; 237 + 3696 ; 72 + 3697 ; 144 + 3698 ; 281 + 3699 ; 263 + 3700 ; 233 + 3701 ; 1619 + 3702 ; 198 + 3703 ; 91 + 3704 ; 202 + 3705 ; 146 + 3706 ; 155 + 3707 ; 312 + 3708 ; 130 + 3709 ; 278 + 3710 ; 131 + 3711 ; 2071 + 3712 ; 101 + 3713 ; 82 + 3714 ; 254 + 3715 ; 270 + 3716 ; 131 + 3717 ; 150 + 3718 ; 154 + 3719 ; 90 + 3720 ; 145 + 3721 ; 2021 + 3722 ; 259 + 3723 ; 271 + 3724 ; 168 + 3725 ; 193 + 3726 ; 231 + 3727 ; 278 + 3728 ; 119 + 3729 ; 85 + 3730 ; 193 + 3731 ; 2118 + 3732 ; 128 + 3733 ; 101 + 3734 ; 278 + 3735 ; 181 + 3736 ; 231 + 3737 ; 226 + 3738 ; 239 + 3739 ; 162 + 3740 ; 249 + 3741 ; 1738 + 3742 ; 169 + 3743 ; 209 + 3744 ; 139 + 3745 ; 167 + 3746 ; 290 + 3747 ; 85 + 3748 ; 86 + 3749 ; 303 + 3750 ; 152 + 3751 ; 1744 + 3752 ; 111 + 3753 ; 263 + 3754 ; 86 + 3755 ; 241 + 3756 ; 74 + 3757 ; 297 + 3758 ; 77 + 3759 ; 281 + 3760 ; 168 + 3761 ; 1799 + 3762 ; 91 + 3763 ; 239 + 3764 ; 231 + 3765 ; 123 + 3766 ; 155 + 3767 ; 234 + 3768 ; 145 + 3769 ; 103 + 3770 ; 75 + 3771 ; 2226 + 3772 ; 226 + 3773 ; 283 + 3774 ; 146 + 3775 ; 206 + 3776 ; 266 + 3777 ; 231 + 3778 ; 205 + 3779 ; 128 + 3780 ; 236 + 3781 ; 2105 + 3782 ; 283 + 3783 ; 202 + 3784 ; 243 + 3785 ; 297 + 3786 ; 175 + 3787 ; 211 + 3788 ; 98 + 3789 ; 304 + 3790 ; 192 + 3791 ; 2025 + 3792 ; 268 + 3793 ; 80 + 3794 ; 311 + 3795 ; 136 + 3796 ; 208 + 3797 ; 250 + 3798 ; 170 + 3799 ; 102 + 3800 ; 196 + 3801 ; 2258 + 3802 ; 312 + 3803 ; 273 + 3804 ; 129 + 3805 ; 271 + 3806 ; 241 + 3807 ; 96 + 3808 ; 95 + 3809 ; 140 + 3810 ; 169 + 3811 ; 1639 + 3812 ; 187 + 3813 ; 84 + 3814 ; 121 + 3815 ; 286 + 3816 ; 154 + 3817 ; 290 + 3818 ; 197 + 3819 ; 164 + 3820 ; 287 + 3821 ; 1956 + 3822 ; 203 + 3823 ; 201 + 3824 ; 270 + 3825 ; 177 + 3826 ; 146 + 3827 ; 282 + 3828 ; 208 + 3829 ; 208 + 3830 ; 124 + 3831 ; 2223 + 3832 ; 306 + 3833 ; 230 + 3834 ; 224 + 3835 ; 296 + 3836 ; 300 + 3837 ; 226 + 3838 ; 292 + 3839 ; 230 + 3840 ; 224 + 3841 ; 1954 + 3842 ; 148 + 3843 ; 133 + 3844 ; 273 + 3845 ; 135 + 3846 ; 73 + 3847 ; 184 + 3848 ; 297 + 3849 ; 91 + 3850 ; 218 + 3851 ; 2401 + 3852 ; 303 + 3853 ; 214 + 3854 ; 156 + 3855 ; 152 + 3856 ; 191 + 3857 ; 133 + 3858 ; 217 + 3859 ; 187 + 3860 ; 243 + 3861 ; 1856 + 3862 ; 255 + 3863 ; 198 + 3864 ; 272 + 3865 ; 95 + 3866 ; 270 + 3867 ; 225 + 3868 ; 156 + 3869 ; 242 + 3870 ; 298 + 3871 ; 2330 + 3872 ; 291 + 3873 ; 100 + 3874 ; 256 + 3875 ; 219 + 3876 ; 97 + 3877 ; 150 + 3878 ; 155 + 3879 ; 288 + 3880 ; 105 + 3881 ; 2310 + 3882 ; 158 + 3883 ; 296 + 3884 ; 121 + 3885 ; 138 + 3886 ; 180 + 3887 ; 213 + 3888 ; 148 + 3889 ; 306 + 3890 ; 258 + 3891 ; 2190 + 3892 ; 157 + 3893 ; 118 + 3894 ; 108 + 3895 ; 85 + 3896 ; 218 + 3897 ; 91 + 3898 ; 98 + 3899 ; 242 + 3900 ; 129 + 3901 ; 2117 + 3902 ; 284 + 3903 ; 134 + 3904 ; 224 + 3905 ; 250 + 3906 ; 210 + 3907 ; 198 + 3908 ; 119 + 3909 ; 73 + 3910 ; 85 + 3911 ; 1934 + 3912 ; 297 + 3913 ; 243 + 3914 ; 156 + 3915 ; 305 + 3916 ; 194 + 3917 ; 104 + 3918 ; 275 + 3919 ; 88 + 3920 ; 132 + 3921 ; 2164 + 3922 ; 109 + 3923 ; 308 + 3924 ; 167 + 3925 ; 178 + 3926 ; 114 + 3927 ; 169 + 3928 ; 122 + 3929 ; 266 + 3930 ; 108 + 3931 ; 2403 + 3932 ; 228 + 3933 ; 229 + 3934 ; 106 + 3935 ; 301 + 3936 ; 297 + 3937 ; 207 + 3938 ; 189 + 3939 ; 270 + 3940 ; 280 + 3941 ; 1918 + 3942 ; 190 + 3943 ; 238 + 3944 ; 98 + 3945 ; 181 + 3946 ; 258 + 3947 ; 296 + 3948 ; 109 + 3949 ; 128 + 3950 ; 143 + 3951 ; 2353 + 3952 ; 96 + 3953 ; 301 + 3954 ; 136 + 3955 ; 112 + 3956 ; 289 + 3957 ; 102 + 3958 ; 272 + 3959 ; 182 + 3960 ; 189 + 3961 ; 1693 + 3962 ; 187 + 3963 ; 180 + 3964 ; 307 + 3965 ; 83 + 3966 ; 205 + 3967 ; 251 + 3968 ; 123 + 3969 ; 115 + 3970 ; 122 + 3971 ; 1949 + 3972 ; 283 + 3973 ; 260 + 3974 ; 110 + 3975 ; 165 + 3976 ; 211 + 3977 ; 194 + 3978 ; 239 + 3979 ; 198 + 3980 ; 96 + 3981 ; 1967 + 3982 ; 269 + 3983 ; 74 + 3984 ; 242 + 3985 ; 203 + 3986 ; 253 + 3987 ; 244 + 3988 ; 138 + 3989 ; 115 + 3990 ; 260 + 3991 ; 2331 + 3992 ; 141 + 3993 ; 201 + 3994 ; 75 + 3995 ; 226 + 3996 ; 263 + 3997 ; 111 + 3998 ; 124 + 3999 ; 111 + 4000 ; 86 + Last second: 74075 + Proof time target: 375 + Average proposal time: 17 + Average proof time: 374 + +logCount,time,lastVerifiedBlockId,numBlocks,blockFee,accProposedAt + !----------------------------- + 1;1;0;1;100000000;0 + 2;12;0;1;100000000;0 + 3;20;0;2;100000000;20 + 4;24;0;2;100000000;20 + 5;36;0;2;100000000;20 + 6;43;0;3;100000000;63 + 7;48;0;3;100000000;63 + 8;60;0;3;100000000;63 + 9;62;0;4;100000000;125 + 10;72;0;4;100000000;125 + 11;74;0;5;100000000;199 + 12;84;0;5;100000000;199 + 13;88;0;6;100000000;287 + 14;96;0;6;100000000;287 + 15;105;0;7;100000000;392 + 16;108;0;7;100000000;392 + 17;120;0;7;100000000;392 + 18;126;0;8;100000000;518 + 19;132;0;8;100000000;518 + 20;139;0;9;100000000;657 + 21;144;0;9;100000000;657 + 22;156;0;9;100000000;657 + 23;162;0;10;100000000;819 + 24;168;0;10;100000000;819 + 25;175;0;11;100000000;994 + 26;180;0;11;100000000;994 + 27;188;0;12;100000000;1182 + 28;192;0;12;100000000;1182 + 29;204;0;12;100000000;1182 + 30;204;0;13;100000000;1386 + 31;216;0;13;100000000;1386 + 32;219;0;14;100000000;1605 + 33;228;0;14;100000000;1605 + 34;240;0;14;100000000;1605 + 35;243;0;15;100000000;1848 + 36;252;0;15;100000000;1848 + 37;264;0;15;100000000;1848 + 38;267;0;16;100000000;2115 + 39;276;0;16;100000000;2115 + 40;280;0;17;100000000;2395 + 41;288;0;17;100000000;2395 + 42;292;0;18;100000000;2687 + 43;300;0;18;100000000;2687 + 44;311;0;19;100000000;2998 + 45;312;0;19;100000000;2998 + 46;324;0;19;100000000;2998 + 47;331;0;20;100000000;3329 + 48;336;0;20;100000000;3329 + 49;348;0;20;100000000;3329 + 50;351;0;21;100000000;3680 + 51;360;0;21;100000000;3680 + 52;367;0;22;100000000;4047 + 53;372;0;22;100000000;4047 + 54;384;0;22;100000000;4047 + 55;384;0;23;100000000;4431 + 56;396;0;23;100000000;4431 + 57;404;0;24;100000000;4835 + 58;408;0;24;100000000;4835 + 59;420;0;24;100000000;4835 + 60;428;0;25;100000000;5263 + 61;432;0;25;100000000;5263 + 62;444;0;25;100000000;5263 + 63;445;0;26;100000000;5708 + 64;456;0;26;100000000;5708 + 65;458;0;27;100000000;6166 + 66;468;0;27;100000000;6166 + 67;472;0;28;100000000;6638 + 68;480;0;28;100000000;6638 + 69;492;0;28;100000000;6638 + 70;492;0;29;100000000;7130 + 71;504;0;29;100000000;7130 + 72;509;0;30;100000000;7639 + 73;516;0;30;100000000;7639 + 74;528;0;30;100000000;7639 + 75;530;0;31;100000000;8169 + 76;540;0;31;100000000;8169 + 77;552;0;31;100000000;8169 + 78;552;0;32;100000000;8721 + 79;564;0;32;100000000;8721 + 80;573;0;33;100000000;9294 + 81;576;0;33;100000000;9294 + 82;588;0;33;100000000;9294 + 83;594;0;34;100000000;9888 + 84;600;0;34;100000000;9888 + 85;609;0;35;100000000;10497 + 86;612;0;35;100000000;10497 + 87;624;0;35;100000000;10497 + 88;629;0;36;100000000;11126 + 89;636;0;36;100000000;11126 + 90;642;0;37;100000000;11768 + 91;648;0;37;100000000;11768 + 92;660;0;37;100000000;11768 + 93;665;0;38;100000000;12433 + 94;672;0;38;100000000;12433 + 95;679;0;39;100000000;13112 + 96;684;0;39;100000000;13112 + 97;693;0;40;100000000;13805 + 98;696;0;40;100000000;13805 + 99;708;0;40;100000000;13805 + 100;711;0;41;100000000;14516 + 101;720;0;41;100000000;14516 + 102;724;0;42;100000000;15240 + 103;732;0;42;100000000;15240 + 104;737;0;43;100000000;15977 + 105;744;0;43;100000000;15977 + 106;753;0;44;100000000;16730 + 107;756;0;44;100000000;16730 + 108;768;0;44;100000000;16730 + 109;776;0;45;100000000;17506 + 110;780;0;45;100000000;17506 + 111;792;0;45;100000000;17506 + 112;795;0;46;100000000;18301 + 113;804;0;46;100000000;18301 + 114;814;0;47;100000000;19115 + 115;816;0;47;100000000;19115 + 116;827;0;48;100000000;19942 + 117;828;0;48;100000000;19942 + 118;840;0;48;100000000;19942 + 119;843;0;49;100000000;20785 + 120;852;0;49;100000000;20785 + 121;856;0;50;100000000;21641 + 122;864;0;50;100000000;21641 + 123;868;0;51;100000000;22509 + 124;876;0;51;100000000;22509 + 125;888;0;51;100000000;22509 + 126;890;0;52;100000000;23399 + 127;900;0;52;100000000;23399 + 128;903;0;53;100000000;24302 + 129;912;0;53;100000000;24302 + 130;921;0;54;100000000;25223 + 131;924;0;54;100000000;25223 + 132;933;0;55;100000000;26156 + 133;936;0;55;100000000;26156 + 134;948;0;55;100000000;26156 + 135;957;0;56;100000000;27113 + 136;960;0;56;100000000;27113 + 137;970;0;57;100000000;28083 + 138;972;0;57;100000000;28083 + 139;984;0;57;100000000;28083 + 140;984;0;58;100000000;29067 + 141;996;0;58;100000000;29067 + 142;1006;0;59;100000000;30073 + 143;1008;0;59;100000000;30073 + 144;1020;0;59;100000000;30073 + 145;1021;0;60;100000000;31094 + 146;1032;0;60;100000000;31094 + 147;1044;0;60;100000000;31094 + 148;1044;0;61;100000000;32138 + 149;1056;0;61;100000000;32138 + 150;1056;0;62;100000000;33194 + 151;1068;0;62;100000000;33194 + 152;1075;0;63;100000000;34269 + 153;1080;0;63;100000000;34269 + 154;1092;0;63;100000000;34269 + 155;1096;0;64;100000000;35365 + 156;1104;0;64;100000000;35365 + 157;1113;0;65;100000000;36478 + 158;1116;0;65;100000000;36478 + 159;1126;0;66;100000000;37604 + 160;1128;0;66;100000000;37604 + 161;1140;0;66;100000000;37604 + 162;1147;0;67;100000000;38751 + 163;1152;0;67;100000000;38751 + 164;1164;0;67;100000000;38751 + 165;1169;0;68;100000000;39920 + 166;1176;0;68;100000000;39920 + 167;1187;0;69;100000000;41107 + 168;1188;0;69;100000000;41107 + 169;1200;0;69;100000000;41107 + 170;1206;0;70;100000000;42313 + 171;1212;0;70;100000000;42313 + 172;1224;0;70;100000000;42313 + 173;1230;0;71;100000000;43543 + 174;1236;0;71;100000000;43543 + 175;1245;0;72;100000000;44788 + 176;1248;0;72;100000000;44788 + 177;1258;0;73;100000000;46046 + 178;1260;0;73;100000000;46046 + 179;1272;0;73;100000000;46046 + 180;1279;0;74;100000000;47325 + 181;1284;0;74;100000000;47325 + 182;1291;0;75;100000000;48616 + 183;1296;0;75;100000000;48616 + 184;1307;0;76;100000000;49923 + 185;1308;0;76;100000000;49923 + 186;1320;0;76;100000000;49923 + 187;1329;0;77;100000000;51252 + 188;1332;0;77;100000000;51252 + 189;1344;0;77;100000000;51252 + 190;1345;0;78;100000000;52597 + 191;1356;0;78;100000000;52597 + 192;1357;0;79;100000000;53954 + 193;1368;0;79;100000000;53954 + 194;1373;0;80;100000000;55327 + 195;1380;0;80;100000000;55327 + 196;1391;0;81;100000000;56718 + 197;1392;0;81;100000000;56718 + 198;1404;0;81;100000000;56718 + 199;1408;0;82;100000000;58126 + 200;1416;0;82;100000000;58126 + 201;1428;0;82;100000000;58126 + 202;1428;0;83;100000000;59554 + 203;1440;0;83;100000000;59554 + 204;1445;0;84;100000000;60999 + 205;1452;0;84;100000000;60999 + 206;1464;0;84;100000000;60999 + 207;1464;0;85;100000000;62463 + 208;1476;0;85;100000000;62463 + 209;1480;0;86;100000000;63943 + 210;1488;0;86;100000000;63943 + 211;1496;0;87;100000000;65439 + 212;1500;0;87;100000000;65439 + 213;1512;0;87;100000000;65439 + 214;1514;0;88;100000000;66953 + 215;1524;0;88;100000000;66953 + 216;1536;0;88;100000000;66953 + 217;1537;0;89;100000000;68490 + 218;1548;0;89;100000000;68490 + 219;1553;0;90;100000000;70043 + 220;1560;0;90;100000000;70043 + 221;1569;0;91;100000000;71612 + 222;1572;0;91;100000000;71612 + 223;1584;0;91;100000000;71612 + 224;1584;0;92;100000000;73196 + 225;1596;0;92;100000000;73196 + 226;1599;0;93;100000000;74795 + 227;1608;0;93;100000000;74795 + 228;1618;0;94;100000000;76413 + 229;1620;0;94;100000000;76413 + 230;1632;0;94;100000000;76413 + 231;1640;0;95;100000000;78053 + 232;1644;0;95;100000000;78053 + 233;1656;0;95;100000000;78053 + 234;1656;0;96;100000000;79709 + 235;1668;0;96;100000000;79709 + 236;1678;0;97;100000000;81387 + 237;1680;0;97;100000000;81387 + 238;1692;0;97;100000000;81387 + 239;1697;0;98;100000000;83084 + 240;1704;0;98;100000000;83084 + 241;1710;0;99;100000000;84794 + 242;1716;0;99;100000000;84794 + 243;1724;0;100;100000000;86518 + 244;1728;0;100;100000000;86518 + 245;1740;0;100;100000000;86518 + 246;1743;0;101;100000000;88261 + 247;1752;0;101;100000000;88261 + 248;1762;0;102;100000000;90023 + 249;1764;0;102;100000000;90023 + 250;1776;0;102;100000000;90023 + 251;1785;0;103;100000000;91808 + 252;1788;0;103;100000000;91808 + 253;1800;0;103;100000000;91808 + 254;1807;10;104;92185977;92621 + 255;1812;10;104;92185977;92621 + 256;1824;10;104;92185977;92621 + 257;1825;10;105;92185977;94446 + 258;1836;10;105;92185977;94446 + 259;1843;10;106;92185977;96289 + 260;1848;10;106;92185977;96289 + 261;1857;10;107;92185977;98146 + 262;1860;10;107;92185977;98146 + 263;1872;10;107;92185977;98146 + 264;1874;10;108;92185977;100020 + 265;1884;10;108;92185977;100020 + 266;1896;10;108;92185977;100020 + 267;1898;10;109;92185977;101918 + 268;1908;10;109;92185977;101918 + 269;1910;10;110;92185977;103828 + 270;1920;10;110;92185977;103828 + 271;1928;10;111;92185977;105756 + 272;1932;10;111;92185977;105756 + 273;1944;10;111;92185977;105756 + 274;1952;10;112;92185977;107708 + 275;1956;10;112;92185977;107708 + 276;1964;10;113;92185977;109672 + 277;1968;10;113;92185977;109672 + 278;1980;10;113;92185977;109672 + 279;1982;10;114;92185977;111654 + 280;1992;10;114;92185977;111654 + 281;2001;10;115;92185977;113655 + 282;2004;10;115;92185977;113655 + 283;2016;10;115;92185977;113655 + 284;2025;20;116;84265682;112994 + 285;2028;20;116;84265682;112994 + 286;2040;20;116;84265682;112994 + 287;2046;20;117;84265682;115040 + 288;2052;20;117;84265682;115040 + 289;2064;20;117;84265682;115040 + 290;2066;20;118;84265682;117106 + 291;2076;20;118;84265682;117106 + 292;2079;20;119;84265682;119185 + 293;2088;20;119;84265682;119185 + 294;2100;20;119;84265682;119185 + 295;2102;20;120;84265682;121287 + 296;2112;20;120;84265682;121287 + 297;2124;20;120;84265682;121287 + 298;2124;20;121;84265682;123411 + 299;2136;20;121;84265682;123411 + 300;2145;20;122;84265682;125556 + 301;2148;20;122;84265682;125556 + 302;2158;20;123;84265682;127714 + 303;2160;20;123;84265682;127714 + 304;2172;20;123;84265682;127714 + 305;2178;20;124;84265682;129892 + 306;2184;20;124;84265682;129892 + 307;2196;20;124;84265682;129892 + 308;2202;20;125;84265682;132094 + 309;2208;20;125;84265682;132094 + 310;2218;20;126;84265682;134312 + 311;2220;20;126;84265682;134312 + 312;2232;20;126;84265682;134312 + 313;2240;20;127;84265682;136552 + 314;2244;20;127;84265682;136552 + 315;2254;20;128;84265682;138806 + 316;2256;20;128;84265682;138806 + 317;2268;20;128;84265682;138806 + 318;2273;20;129;84265682;141079 + 319;2280;20;129;84265682;141079 + 320;2292;20;129;84265682;141079 + 321;2294;20;130;84265682;143373 + 322;2304;20;130;84265682;143373 + 323;2313;20;131;84265682;145686 + 324;2316;20;131;84265682;145686 + 325;2328;20;131;84265682;145686 + 326;2333;20;132;84265682;148019 + 327;2340;20;132;84265682;148019 + 328;2352;20;132;84265682;148019 + 329;2356;20;133;84265682;150375 + 330;2364;20;133;84265682;150375 + 331;2376;20;133;84265682;150375 + 332;2376;20;134;84265682;152751 + 333;2388;20;134;84265682;152751 + 334;2388;20;135;84265682;155139 + 335;2400;20;135;84265682;155139 + 336;2409;20;136;84265682;157548 + 337;2412;20;136;84265682;157548 + 338;2424;20;136;84265682;157548 + 339;2426;20;137;84265682;159974 + 340;2436;20;137;84265682;159974 + 341;2441;20;138;84265682;162415 + 342;2448;20;138;84265682;162415 + 343;2456;20;139;84265682;164871 + 344;2460;20;139;84265682;164871 + 345;2472;20;139;84265682;164871 + 346;2478;30;140;79889254;162860 + 347;2484;30;140;79889254;162860 + 348;2491;30;141;79889254;165351 + 349;2496;30;141;79889254;165351 + 350;2508;30;141;79889254;165351 + 351;2509;30;142;79889254;167860 + 352;2520;30;142;79889254;167860 + 353;2524;30;143;79889254;170384 + 354;2532;30;143;79889254;170384 + 355;2541;30;144;79889254;172925 + 356;2544;30;144;79889254;172925 + 357;2556;30;144;79889254;172925 + 358;2556;30;145;79889254;175481 + 359;2568;30;145;79889254;175481 + 360;2573;30;146;79889254;178054 + 361;2580;30;146;79889254;178054 + 362;2586;30;147;79889254;180640 + 363;2592;30;147;79889254;180640 + 364;2604;30;147;79889254;180640 + 365;2606;30;148;79889254;183246 + 366;2616;30;148;79889254;183246 + 367;2627;30;149;79889254;185873 + 368;2628;30;149;79889254;185873 + 369;2640;30;149;79889254;185873 + 370;2644;30;150;79889254;188517 + 371;2652;30;150;79889254;188517 + 372;2664;30;150;79889254;188517 + 373;2664;30;151;79889254;191181 + 374;2676;30;151;79889254;191181 + 375;2686;30;152;79889254;193867 + 376;2688;30;152;79889254;193867 + 377;2700;40;152;86528573;187520 + 378;2709;40;153;86528573;190229 + 379;2712;40;153;86528573;190229 + 380;2724;40;153;86528573;190229 + 381;2725;40;154;86528573;192954 + 382;2736;40;154;86528573;192954 + 383;2743;40;155;86528573;195697 + 384;2748;40;155;86528573;195697 + 385;2760;40;155;86528573;195697 + 386;2766;40;156;86528573;198463 + 387;2772;40;156;86528573;198463 + 388;2781;40;157;86528573;201244 + 389;2784;40;157;86528573;201244 + 390;2795;40;158;86528573;204039 + 391;2796;40;158;86528573;204039 + 392;2808;40;158;86528573;204039 + 393;2811;40;159;86528573;206850 + 394;2820;40;159;86528573;206850 + 395;2825;40;160;86528573;209675 + 396;2832;40;160;86528573;209675 + 397;2842;40;161;86528573;212517 + 398;2844;40;161;86528573;212517 + 399;2854;40;162;86528573;215371 + 400;2856;40;162;86528573;215371 + 401;2868;40;162;86528573;215371 + 402;2868;40;163;86528573;218239 + 403;2880;40;163;86528573;218239 + 404;2883;40;164;86528573;221122 + 405;2892;40;164;86528573;221122 + 406;2902;40;165;86528573;224024 + 407;2904;40;165;86528573;224024 + 408;2916;40;165;86528573;224024 + 409;2924;40;166;86528573;226948 + 410;2928;40;166;86528573;226948 + 411;2940;40;166;86528573;226948 + 412;2943;50;167;89565902;221898 + 413;2952;50;167;89565902;221898 + 414;2956;50;168;89565902;224854 + 415;2964;50;168;89565902;224854 + 416;2976;50;168;89565902;224854 + 417;2978;50;169;89565902;227832 + 418;2988;50;169;89565902;227832 + 419;3000;50;169;89565902;227832 + 420;3002;50;170;89565902;230834 + 421;3012;50;170;89565902;230834 + 422;3024;50;170;89565902;230834 + 423;3026;50;171;89565902;233860 + 424;3036;50;171;89565902;233860 + 425;3045;50;172;89565902;236905 + 426;3048;50;172;89565902;236905 + 427;3060;50;172;89565902;236905 + 428;3061;50;173;89565902;239966 + 429;3072;50;173;89565902;239966 + 430;3079;50;174;89565902;243045 + 431;3084;50;174;89565902;243045 + 432;3096;50;174;89565902;243045 + 433;3098;50;175;89565902;246143 + 434;3108;50;175;89565902;246143 + 435;3118;50;176;89565902;249261 + 436;3120;50;176;89565902;249261 + 437;3132;50;176;89565902;249261 + 438;3139;50;177;89565902;252400 + 439;3144;50;177;89565902;252400 + 440;3156;50;177;89565902;252400 + 441;3159;50;178;89565902;255559 + 442;3168;50;178;89565902;255559 + 443;3176;50;179;89565902;258735 + 444;3180;50;179;89565902;258735 + 445;3192;50;179;89565902;258735 + 446;3196;50;180;89565902;261931 + 447;3204;50;180;89565902;261931 + 448;3216;50;180;89565902;261931 + 449;3220;50;181;89565902;265151 + 450;3228;50;181;89565902;265151 + 451;3233;50;182;89565902;268384 + 452;3240;50;182;89565902;268384 + 453;3249;70;183;89297607;250599 + 454;3252;70;183;89297607;250599 + 455;3264;70;183;89297607;250599 + 456;3271;70;184;89297607;253870 + 457;3276;70;184;89297607;253870 + 458;3288;70;184;89297607;253870 + 459;3289;70;185;89297607;257159 + 460;3300;70;185;89297607;257159 + 461;3312;70;185;89297607;257159 + 462;3313;70;186;89297607;260472 + 463;3324;70;186;89297607;260472 + 464;3336;70;186;89297607;260472 + 465;3337;70;187;89297607;263809 + 466;3348;70;187;89297607;263809 + 467;3351;70;188;89297607;267160 + 468;3360;70;188;89297607;267160 + 469;3364;70;189;89297607;270524 + 470;3372;70;189;89297607;270524 + 471;3383;70;190;89297607;273907 + 472;3384;70;190;89297607;273907 + 473;3396;70;190;89297607;273907 + 474;3406;70;191;89297607;277313 + 475;3408;70;191;89297607;277313 + 476;3420;70;191;89297607;277313 + 477;3421;70;192;89297607;280734 + 478;3432;70;192;89297607;280734 + 479;3440;70;193;89297607;284174 + 480;3444;70;193;89297607;284174 + 481;3453;70;194;89297607;287627 + 482;3456;70;194;89297607;287627 + 483;3468;70;194;89297607;287627 + 484;3468;70;195;89297607;291095 + 485;3480;70;195;89297607;291095 + 486;3482;70;196;89297607;294577 + 487;3492;70;196;89297607;294577 + 488;3502;70;197;89297607;298079 + 489;3504;70;197;89297607;298079 + 490;3514;70;198;89297607;301593 + 491;3516;70;198;89297607;301593 + 492;3528;70;198;89297607;301593 + 493;3534;80;199;92972897;291952 + 494;3540;80;199;92972897;291952 + 495;3549;80;200;92972897;295501 + 496;3552;80;200;92972897;295501 + 497;3564;80;200;92972897;295501 + 498;3571;80;201;92972897;299072 + 499;3576;80;201;92972897;299072 + 500;3583;80;202;92972897;302655 + 501;3588;80;202;92972897;302655 + 502;3599;80;203;92972897;306254 + 503;3600;80;203;92972897;306254 + 504;3612;80;203;92972897;306254 + 505;3616;90;204;92632621;294976 + 506;3624;90;204;92632621;294976 + 507;3631;110;205;74662256;263469 + 508;3636;110;205;74662256;263469 + 509;3645;110;206;74662256;267114 + 510;3648;110;206;74662256;267114 + 511;3660;110;206;74662256;267114 + 512;3665;110;207;74662256;270779 + 513;3672;110;207;74662256;270779 + 514;3678;110;208;74662256;274457 + 515;3684;110;208;74662256;274457 + 516;3691;110;209;74662256;278148 + 517;3696;110;209;74662256;278148 + 518;3708;110;209;74662256;278148 + 519;3708;110;210;74662256;281856 + 520;3720;110;210;74662256;281856 + 521;3720;110;211;74662256;285576 + 522;3732;110;211;74662256;285576 + 523;3733;110;212;74662256;289309 + 524;3744;110;212;74662256;289309 + 525;3747;110;213;74662256;293056 + 526;3756;110;213;74662256;293056 + 527;3764;110;214;74662256;296820 + 528;3768;110;214;74662256;296820 + 529;3780;110;214;74662256;296820 + 530;3784;110;215;74662256;300604 + 531;3792;110;215;74662256;300604 + 532;3803;110;216;74662256;304407 + 533;3804;110;216;74662256;304407 + 534;3816;110;216;74662256;304407 + 535;3818;110;217;74662256;308225 + 536;3828;110;217;74662256;308225 + 537;3831;110;218;74662256;312056 + 538;3840;110;218;74662256;312056 + 539;3847;110;219;74662256;315903 + 540;3852;110;219;74662256;315903 + 541;3859;110;220;74662256;319762 + 542;3864;110;220;74662256;319762 + 543;3876;110;220;74662256;319762 + 544;3883;110;221;74662256;323645 + 545;3888;110;221;74662256;323645 + 546;3900;110;221;74662256;323645 + 547;3904;110;222;74662256;327549 + 548;3912;110;222;74662256;327549 + 549;3924;110;222;74662256;327549 + 550;3925;110;223;74662256;331474 + 551;3936;110;223;74662256;331474 + 552;3942;110;224;74662256;335416 + 553;3948;110;224;74662256;335416 + 554;3960;110;224;74662256;335416 + 555;3962;110;225;74662256;339378 + 556;3972;110;225;74662256;339378 + 557;3979;110;226;74662256;343357 + 558;3984;110;226;74662256;343357 + 559;3994;110;227;74662256;347351 + 560;3996;110;227;74662256;347351 + 561;4008;110;227;74662256;347351 + 562;4011;110;228;74662256;351362 + 563;4020;110;228;74662256;351362 + 564;4030;110;229;74662256;355392 + 565;4032;110;229;74662256;355392 + 566;4044;110;229;74662256;355392 + 567;4054;110;230;74662256;359446 + 568;4056;110;230;74662256;359446 + 569;4068;110;230;74662256;359446 + 570;4077;110;231;74662256;363523 + 571;4080;110;231;74662256;363523 + 572;4092;110;231;74662256;363523 + 573;4098;110;232;74662256;367621 + 574;4104;110;232;74662256;367621 + 575;4113;110;233;74662256;371734 + 576;4116;110;233;74662256;371734 + 577;4128;110;233;74662256;371734 + 578;4134;110;234;74662256;375868 + 579;4140;110;234;74662256;375868 + 580;4150;110;235;74662256;380018 + 581;4152;110;235;74662256;380018 + 582;4164;110;235;74662256;380018 + 583;4172;110;236;74662256;384190 + 584;4176;110;236;74662256;384190 + 585;4188;110;236;74662256;384190 + 586;4194;110;237;74662256;388384 + 587;4200;110;237;74662256;388384 + 588;4207;110;238;74662256;392591 + 589;4212;110;238;74662256;392591 + 590;4223;120;239;78242112;376473 + 591;4224;120;239;78242112;376473 + 592;4236;120;239;78242112;376473 + 593;4245;130;240;76603392;358443 + 594;4248;130;240;76603392;358443 + 595;4260;130;240;76603392;358443 + 596;4263;130;241;76603392;362706 + 597;4272;130;241;76603392;362706 + 598;4275;130;242;76603392;366981 + 599;4284;130;242;76603392;366981 + 600;4289;130;243;76603392;371270 + 601;4296;130;243;76603392;371270 + 602;4308;130;243;76603392;371270 + 603;4309;130;244;76603392;375579 + 604;4320;130;244;76603392;375579 + 605;4329;130;245;76603392;379908 + 606;4332;130;245;76603392;379908 + 607;4344;130;245;76603392;379908 + 608;4352;130;246;76603392;384260 + 609;4356;130;246;76603392;384260 + 610;4368;130;246;76603392;384260 + 611;4372;140;247;80370031;364478 + 612;4380;140;247;80370031;364478 + 613;4392;140;247;80370031;364478 + 614;4393;140;248;80370031;368871 + 615;4404;140;248;80370031;368871 + 616;4408;140;249;80370031;373279 + 617;4416;140;249;80370031;373279 + 618;4426;140;250;80370031;377705 + 619;4428;140;250;80370031;377705 + 620;4440;140;250;80370031;377705 + 621;4444;140;251;80370031;382149 + 622;4452;140;251;80370031;382149 + 623;4462;140;252;80370031;386611 + 624;4464;140;252;80370031;386611 + 625;4476;140;252;80370031;386611 + 626;4480;140;253;80370031;391091 + 627;4488;140;253;80370031;391091 + 628;4500;140;253;80370031;391091 + 629;4500;140;254;80370031;395591 + 630;4512;140;254;80370031;395591 + 631;4520;140;255;80370031;400111 + 632;4524;140;255;80370031;400111 + 633;4534;140;256;80370031;404645 + 634;4536;140;256;80370031;404645 + 635;4548;140;256;80370031;404645 + 636;4550;140;257;80370031;409195 + 637;4560;140;257;80370031;409195 + 638;4567;140;258;80370031;413762 + 639;4572;140;258;80370031;413762 + 640;4581;140;259;80370031;418343 + 641;4584;140;259;80370031;418343 + 642;4596;140;259;80370031;418343 + 643;4604;140;260;80370031;422947 + 644;4608;140;260;80370031;422947 + 645;4620;140;260;80370031;422947 + 646;4628;140;261;80370031;427575 + 647;4632;140;261;80370031;427575 + 648;4642;140;262;80370031;432217 + 649;4644;140;262;80370031;432217 + 650;4654;140;263;80370031;436871 + 651;4656;140;263;80370031;436871 + 652;4666;140;264;80370031;441537 + 653;4668;140;264;80370031;441537 + 654;4680;140;264;80370031;441537 + 655;4682;140;265;80370031;446219 + 656;4692;140;265;80370031;446219 + 657;4697;140;266;80370031;450916 + 658;4704;140;266;80370031;450916 + 659;4714;140;267;80370031;455630 + 660;4716;140;267;80370031;455630 + 661;4726;140;268;80370031;460356 + 662;4728;140;268;80370031;460356 + 663;4740;140;268;80370031;460356 + 664;4746;150;269;79649946;439272 + 665;4752;150;269;79649946;439272 + 666;4761;160;270;73857780;416350 + 667;4764;160;270;73857780;416350 + 668;4775;160;271;73857780;421125 + 669;4776;160;271;73857780;421125 + 670;4788;160;271;73857780;421125 + 671;4791;160;272;73857780;425916 + 672;4800;160;272;73857780;425916 + 673;4808;160;273;73857780;430724 + 674;4812;160;273;73857780;430724 + 675;4824;160;273;73857780;430724 + 676;4832;160;274;73857780;435556 + 677;4836;160;274;73857780;435556 + 678;4845;160;275;73857780;440401 + 679;4848;160;275;73857780;440401 + 680;4860;160;275;73857780;440401 + 681;4861;160;276;73857780;445262 + 682;4872;160;276;73857780;445262 + 683;4884;160;276;73857780;445262 + 684;4884;160;277;73857780;450146 + 685;4896;160;277;73857780;450146 + 686;4899;160;278;73857780;455045 + 687;4908;160;278;73857780;455045 + 688;4920;160;278;73857780;455045 + 689;4923;160;279;73857780;459968 + 690;4932;160;279;73857780;459968 + 691;4936;160;280;73857780;464904 + 692;4944;160;280;73857780;464904 + 693;4949;160;281;73857780;469853 + 694;4956;160;281;73857780;469853 + 695;4964;160;282;73857780;474817 + 696;4968;160;282;73857780;474817 + 697;4980;160;282;73857780;474817 + 698;4985;160;283;73857780;479802 + 699;4992;160;283;73857780;479802 + 700;5004;160;283;73857780;479802 + 701;5009;160;284;73857780;484811 + 702;5016;160;284;73857780;484811 + 703;5028;160;284;73857780;484811 + 704;5030;160;285;73857780;489841 + 705;5040;160;285;73857780;489841 + 706;5046;160;286;73857780;494887 + 707;5052;160;286;73857780;494887 + 708;5064;160;286;73857780;494887 + 709;5066;170;287;76552340;470617 + 710;5076;170;287;76552340;470617 + 711;5080;170;288;76552340;475697 + 712;5088;170;288;76552340;475697 + 713;5093;170;289;76552340;480790 + 714;5100;170;289;76552340;480790 + 715;5109;170;290;76552340;485899 + 716;5112;170;290;76552340;485899 + 717;5122;170;291;76552340;491021 + 718;5124;170;291;76552340;491021 + 719;5136;170;291;76552340;491021 + 720;5143;170;292;76552340;496164 + 721;5148;170;292;76552340;496164 + 722;5160;170;292;76552340;496164 + 723;5160;170;293;76552340;501324 + 724;5172;170;293;76552340;501324 + 725;5184;170;293;76552340;501324 + 726;5184;170;294;76552340;506508 + 727;5196;170;294;76552340;506508 + 728;5204;170;295;76552340;511712 + 729;5208;170;295;76552340;511712 + 730;5220;170;295;76552340;511712 + 731;5225;170;296;76552340;516937 + 732;5232;170;296;76552340;516937 + 733;5244;170;296;76552340;516937 + 734;5249;170;297;76552340;522186 + 735;5256;170;297;76552340;522186 + 736;5268;170;297;76552340;522186 + 737;5271;170;298;76552340;527457 + 738;5280;170;298;76552340;527457 + 739;5288;170;299;76552340;532745 + 740;5292;170;299;76552340;532745 + 741;5304;170;299;76552340;532745 + 742;5306;180;300;82734886;506760 + 743;5316;180;300;82734886;506760 + 744;5325;180;301;82734886;512085 + 745;5328;180;301;82734886;512085 + 746;5340;180;301;82734886;512085 + 747;5341;180;302;82734886;517426 + 748;5352;180;302;82734886;517426 + 749;5361;180;303;82734886;522787 + 750;5364;180;303;82734886;522787 + 751;5376;180;303;82734886;522787 + 752;5382;180;304;82734886;528169 + 753;5388;180;304;82734886;528169 + 754;5399;180;305;82734886;533568 + 755;5400;180;305;82734886;533568 + 756;5412;180;305;82734886;533568 + 757;5416;180;306;82734886;538984 + 758;5424;180;306;82734886;538984 + 759;5435;180;307;82734886;544419 + 760;5436;180;307;82734886;544419 + 761;5448;180;307;82734886;544419 + 762;5449;180;308;82734886;549868 + 763;5460;180;308;82734886;549868 + 764;5466;190;309;83971268;522138 + 765;5472;190;309;83971268;522138 + 766;5484;190;309;83971268;522138 + 767;5484;200;310;81056088;492688 + 768;5496;200;310;81056088;492688 + 769;5500;200;311;81056088;498188 + 770;5508;200;311;81056088;498188 + 771;5520;200;311;81056088;498188 + 772;5524;200;312;81056088;503712 + 773;5532;200;312;81056088;503712 + 774;5543;200;313;81056088;509255 + 775;5544;200;313;81056088;509255 + 776;5556;200;313;81056088;509255 + 777;5562;200;314;81056088;514817 + 778;5568;200;314;81056088;514817 + 779;5580;200;314;81056088;514817 + 780;5584;200;315;81056088;520401 + 781;5592;200;315;81056088;520401 + 782;5601;200;316;81056088;526002 + 783;5604;200;316;81056088;526002 + 784;5614;200;317;81056088;531616 + 785;5616;200;317;81056088;531616 + 786;5628;200;317;81056088;531616 + 787;5630;200;318;81056088;537246 + 788;5640;200;318;81056088;537246 + 789;5652;200;318;81056088;537246 + 790;5654;200;319;81056088;542900 + 791;5664;200;319;81056088;542900 + 792;5676;200;319;81056088;542900 + 793;5678;200;320;81056088;548578 + 794;5688;200;320;81056088;548578 + 795;5698;200;321;81056088;554276 + 796;5700;200;321;81056088;554276 + 797;5712;200;321;81056088;554276 + 798;5721;200;322;81056088;559997 + 799;5724;200;322;81056088;559997 + 800;5734;200;323;81056088;565731 + 801;5736;200;323;81056088;565731 + 802;5748;200;323;81056088;565731 + 803;5753;200;324;81056088;571484 + 804;5760;200;324;81056088;571484 + 805;5770;200;325;81056088;577254 + 806;5772;200;325;81056088;577254 + 807;5784;200;325;81056088;577254 + 808;5792;200;326;81056088;583046 + 809;5796;200;326;81056088;583046 + 810;5808;200;326;81056088;583046 + 811;5816;200;327;81056088;588862 + 812;5820;200;327;81056088;588862 + 813;5832;200;327;81056088;588862 + 814;5834;200;328;81056088;594696 + 815;5844;200;328;81056088;594696 + 816;5856;200;328;81056088;594696 + 817;5857;200;329;81056088;600553 + 818;5868;200;329;81056088;600553 + 819;5880;200;329;81056088;600553 + 820;5880;200;330;81056088;606433 + 821;5892;200;330;81056088;606433 + 822;5904;200;330;81056088;606433 + 823;5904;200;331;81056088;612337 + 824;5916;210;331;84392175;575801 + 825;5926;210;332;84392175;581727 + 826;5928;210;332;84392175;581727 + 827;5940;210;332;84392175;581727 + 828;5946;210;333;84392175;587673 + 829;5952;210;333;84392175;587673 + 830;5960;210;334;84392175;593633 + 831;5964;210;334;84392175;593633 + 832;5976;210;334;84392175;593633 + 833;5982;210;335;84392175;599615 + 834;5988;210;335;84392175;599615 + 835;5999;210;336;84392175;605614 + 836;6000;210;336;84392175;605614 + 837;6012;210;336;84392175;605614 + 838;6018;210;337;84392175;611632 + 839;6024;210;337;84392175;611632 + 840;6036;210;337;84392175;611632 + 841;6040;220;338;87485642;579603 + 842;6048;220;338;87485642;579603 + 843;6060;220;338;87485642;579603 + 844;6064;230;339;85524939;545789 + 845;6072;230;339;85524939;545789 + 846;6080;230;340;85524939;551869 + 847;6084;230;340;85524939;551869 + 848;6096;230;340;85524939;551869 + 849;6098;230;341;85524939;557967 + 850;6108;230;341;85524939;557967 + 851;6112;230;342;85524939;564079 + 852;6120;230;342;85524939;564079 + 853;6129;230;343;85524939;570208 + 854;6132;230;343;85524939;570208 + 855;6144;230;343;85524939;570208 + 856;6152;230;344;85524939;576360 + 857;6156;230;344;85524939;576360 + 858;6168;230;344;85524939;576360 + 859;6172;230;345;85524939;582532 + 860;6180;230;345;85524939;582532 + 861;6188;230;346;85524939;588720 + 862;6192;230;346;85524939;588720 + 863;6204;230;346;85524939;588720 + 864;6209;230;347;85524939;594929 + 865;6216;230;347;85524939;594929 + 866;6225;230;348;85524939;601154 + 867;6228;230;348;85524939;601154 + 868;6237;230;349;85524939;607391 + 869;6240;230;349;85524939;607391 + 870;6252;230;349;85524939;607391 + 871;6254;230;350;85524939;613645 + 872;6264;230;350;85524939;613645 + 873;6270;230;351;85524939;619915 + 874;6276;230;351;85524939;619915 + 875;6288;230;351;85524939;619915 + 876;6293;230;352;85524939;626208 + 877;6300;230;352;85524939;626208 + 878;6311;230;353;85524939;632519 + 879;6312;230;353;85524939;632519 + 880;6323;230;354;85524939;638842 + 881;6324;230;354;85524939;638842 + 882;6336;230;354;85524939;638842 + 883;6344;230;355;85524939;645186 + 884;6348;230;355;85524939;645186 + 885;6358;230;356;85524939;651544 + 886;6360;230;356;85524939;651544 + 887;6372;230;356;85524939;651544 + 888;6378;230;357;85524939;657922 + 889;6384;230;357;85524939;657922 + 890;6396;230;357;85524939;657922 + 891;6399;230;358;85524939;664321 + 892;6408;230;358;85524939;664321 + 893;6420;230;358;85524939;664321 + 894;6420;240;359;95215368;628942 + 895;6432;240;359;95215368;628942 + 896;6438;240;360;95215368;635380 + 897;6444;240;360;95215368;635380 + 898;6452;240;361;95215368;641832 + 899;6456;240;361;95215368;641832 + 900;6468;240;361;95215368;641832 + 901;6468;240;362;95215368;648300 + 902;6480;240;362;95215368;648300 + 903;6487;240;363;95215368;654787 + 904;6492;240;363;95215368;654787 + 905;6504;240;363;95215368;654787 + 906;6505;250;364;98246015;617695 + 907;6516;250;364;98246015;617695 + 908;6522;250;365;98246015;624217 + 909;6528;250;365;98246015;624217 + 910;6534;250;366;98246015;630751 + 911;6540;250;366;98246015;630751 + 912;6552;250;366;98246015;630751 + 913;6554;250;367;98246015;637305 + 914;6564;250;367;98246015;637305 + 915;6570;260;368;103317629;598449 + 916;6576;260;368;103317629;598449 + 917;6588;260;368;103317629;598449 + 918;6590;260;369;103317629;605039 + 919;6600;260;369;103317629;605039 + 920;6604;260;370;103317629;611643 + 921;6612;260;370;103317629;611643 + 922;6618;260;371;103317629;618261 + 923;6624;260;371;103317629;618261 + 924;6635;260;372;103317629;624896 + 925;6636;260;372;103317629;624896 + 926;6648;260;372;103317629;624896 + 927;6653;270;373;98017041;584486 + 928;6660;270;373;98017041;584486 + 929;6666;270;374;98017041;591152 + 930;6672;270;374;98017041;591152 + 931;6684;270;374;98017041;591152 + 932;6685;270;375;98017041;597837 + 933;6696;270;375;98017041;597837 + 934;6701;270;376;98017041;604538 + 935;6708;270;376;98017041;604538 + 936;6719;270;377;98017041;611257 + 937;6720;270;377;98017041;611257 + 938;6732;270;377;98017041;611257 + 939;6741;270;378;98017041;617998 + 940;6744;270;378;98017041;617998 + 941;6753;270;379;98017041;624751 + 942;6756;270;379;98017041;624751 + 943;6768;270;379;98017041;624751 + 944;6768;270;380;98017041;631519 + 945;6780;270;380;98017041;631519 + 946;6781;270;381;98017041;638300 + 947;6792;270;381;98017041;638300 + 948;6798;270;382;98017041;645098 + 949;6804;270;382;98017041;645098 + 950;6811;270;383;98017041;651909 + 951;6816;270;383;98017041;651909 + 952;6828;270;383;98017041;651909 + 953;6833;270;384;98017041;658742 + 954;6840;270;384;98017041;658742 + 955;6847;270;385;98017041;665589 + 956;6852;270;385;98017041;665589 + 957;6864;270;385;98017041;665589 + 958;6864;270;386;98017041;672453 + 959;6876;270;386;98017041;672453 + 960;6887;270;387;98017041;679340 + 961;6888;270;387;98017041;679340 + 962;6900;270;387;98017041;679340 + 963;6900;270;388;98017041;686240 + 964;6912;270;388;98017041;686240 + 965;6913;270;389;98017041;693153 + 966;6924;270;389;98017041;693153 + 967;6928;270;390;98017041;700081 + 968;6936;270;390;98017041;700081 + 969;6948;270;390;98017041;700081 + 970;6948;270;391;98017041;707029 + 971;6960;270;391;98017041;707029 + 972;6962;270;392;98017041;713991 + 973;6972;270;392;98017041;713991 + 974;6979;270;393;98017041;720970 + 975;6984;270;393;98017041;720970 + 976;6996;270;393;98017041;720970 + 977;6996;270;394;98017041;727966 + 978;7008;270;394;98017041;727966 + 979;7019;270;395;98017041;734985 + 980;7020;270;395;98017041;734985 + 981;7032;270;395;98017041;734985 + 982;7040;290;396;96589949;642793 + 983;7044;290;396;96589949;642793 + 984;7056;290;396;96589949;642793 + 985;7060;290;397;96589949;649853 + 986;7068;290;397;96589949;649853 + 987;7075;290;398;96589949;656928 + 988;7080;290;398;96589949;656928 + 989;7090;290;399;96589949;664018 + 990;7092;290;399;96589949;664018 + 991;7104;290;399;96589949;664018 + 992;7108;290;400;96589949;671126 + 993;7116;290;400;96589949;671126 + 994;7125;290;401;96589949;678251 + 995;7128;290;401;96589949;678251 + 996;7139;290;402;96589949;685390 + 997;7140;290;402;96589949;685390 + 998;7152;290;402;96589949;685390 + 999;7157;290;403;96589949;692547 + 1000;7164;290;403;96589949;692547 + 1001;7174;290;404;96589949;699721 + 1002;7176;290;404;96589949;699721 + 1003;7188;290;404;96589949;699721 + 1004;7194;290;405;96589949;706915 + 1005;7200;290;405;96589949;706915 + 1006;7211;290;406;96589949;714126 + 1007;7212;290;406;96589949;714126 + 1008;7224;290;406;96589949;714126 + 1009;7229;290;407;96589949;721355 + 1010;7236;290;407;96589949;721355 + 1011;7246;290;408;96589949;728601 + 1012;7248;290;408;96589949;728601 + 1013;7260;290;408;96589949;728601 + 1014;7266;290;409;96589949;735867 + 1015;7272;290;409;96589949;735867 + 1016;7284;290;409;96589949;735867 + 1017;7288;290;410;96589949;743155 + 1018;7296;290;410;96589949;743155 + 1019;7308;290;410;96589949;743155 + 1020;7310;290;411;96589949;750465 + 1021;7320;290;411;96589949;750465 + 1022;7332;290;411;96589949;750465 + 1023;7334;290;412;96589949;757799 + 1024;7344;290;412;96589949;757799 + 1025;7353;290;413;96589949;765152 + 1026;7356;290;413;96589949;765152 + 1027;7368;290;413;96589949;765152 + 1028;7372;290;414;96589949;772524 + 1029;7380;290;414;96589949;772524 + 1030;7384;290;415;96589949;779908 + 1031;7392;290;415;96589949;779908 + 1032;7404;290;415;96589949;779908 + 1033;7404;290;416;96589949;787312 + 1034;7416;290;416;96589949;787312 + 1035;7426;290;417;96589949;794738 + 1036;7428;290;417;96589949;794738 + 1037;7440;290;417;96589949;794738 + 1038;7441;290;418;96589949;802179 + 1039;7452;290;418;96589949;802179 + 1040;7460;300;419;102631136;757284 + 1041;7464;310;419;108669158;703051 + 1042;7476;310;419;108669158;703051 + 1043;7481;310;420;108669158;710532 + 1044;7488;310;420;108669158;710532 + 1045;7500;310;420;108669158;710532 + 1046;7502;310;421;108669158;718034 + 1047;7512;310;421;108669158;718034 + 1048;7522;320;422;105668625;669468 + 1049;7524;320;422;105668625;669468 + 1050;7535;320;423;105668625;677003 + 1051;7536;320;423;105668625;677003 + 1052;7548;320;423;105668625;677003 + 1053;7559;320;424;105668625;684562 + 1054;7560;320;424;105668625;684562 + 1055;7572;320;424;105668625;684562 + 1056;7581;320;425;105668625;692143 + 1057;7584;320;425;105668625;692143 + 1058;7593;320;426;105668625;699736 + 1059;7596;320;426;105668625;699736 + 1060;7608;320;426;105668625;699736 + 1061;7612;320;427;105668625;707348 + 1062;7620;320;427;105668625;707348 + 1063;7632;320;427;105668625;707348 + 1064;7633;320;428;105668625;714981 + 1065;7644;320;428;105668625;714981 + 1066;7650;320;429;105668625;722631 + 1067;7656;320;429;105668625;722631 + 1068;7668;320;429;105668625;722631 + 1069;7672;320;430;105668625;730303 + 1070;7680;320;430;105668625;730303 + 1071;7692;320;430;105668625;730303 + 1072;7692;320;431;105668625;737995 + 1073;7704;320;431;105668625;737995 + 1074;7716;320;431;105668625;737995 + 1075;7716;320;432;105668625;745711 + 1076;7728;320;432;105668625;745711 + 1077;7733;320;433;105668625;753444 + 1078;7740;320;433;105668625;753444 + 1079;7746;320;434;105668625;761190 + 1080;7752;320;434;105668625;761190 + 1081;7764;320;434;105668625;761190 + 1082;7769;340;435;106039114;650785 + 1083;7776;340;435;106039114;650785 + 1084;7788;340;435;106039114;650785 + 1085;7792;340;436;106039114;658577 + 1086;7800;340;436;106039114;658577 + 1087;7812;340;436;106039114;658577 + 1088;7813;340;437;106039114;666390 + 1089;7824;340;437;106039114;666390 + 1090;7834;340;438;106039114;674224 + 1091;7836;340;438;106039114;674224 + 1092;7848;340;438;106039114;674224 + 1093;7852;340;439;106039114;682076 + 1094;7860;340;439;106039114;682076 + 1095;7870;340;440;106039114;689946 + 1096;7872;340;440;106039114;689946 + 1097;7884;340;440;106039114;689946 + 1098;7886;340;441;106039114;697832 + 1099;7896;340;441;106039114;697832 + 1100;7908;340;441;106039114;697832 + 1101;7909;340;442;106039114;705741 + 1102;7920;340;442;106039114;705741 + 1103;7927;340;443;106039114;713668 + 1104;7932;340;443;106039114;713668 + 1105;7941;340;444;106039114;721609 + 1106;7944;340;444;106039114;721609 + 1107;7956;340;444;106039114;721609 + 1108;7960;340;445;106039114;729569 + 1109;7968;340;445;106039114;729569 + 1110;7978;340;446;106039114;737547 + 1111;7980;340;446;106039114;737547 + 1112;7990;340;447;106039114;745537 + 1113;7992;340;447;106039114;745537 + 1114;8003;340;448;106039114;753540 + 1115;8004;340;448;106039114;753540 + 1116;8016;340;448;106039114;753540 + 1117;8024;340;449;106039114;761564 + 1118;8028;340;449;106039114;761564 + 1119;8036;340;450;106039114;769600 + 1120;8040;340;450;106039114;769600 + 1121;8052;340;450;106039114;769600 + 1122;8055;340;451;106039114;777655 + 1123;8064;340;451;106039114;777655 + 1124;8076;340;451;106039114;777655 + 1125;8077;340;452;106039114;785732 + 1126;8088;340;452;106039114;785732 + 1127;8096;340;453;106039114;793828 + 1128;8100;340;453;106039114;793828 + 1129;8112;340;453;106039114;793828 + 1130;8118;340;454;106039114;801946 + 1131;8124;340;454;106039114;801946 + 1132;8136;340;454;106039114;801946 + 1133;8140;340;455;106039114;810086 + 1134;8148;340;455;106039114;810086 + 1135;8153;350;456;107158390;756291 + 1136;8160;350;456;107158390;756291 + 1137;8171;350;457;107158390;764462 + 1138;8172;350;457;107158390;764462 + 1139;8183;350;458;107158390;772645 + 1140;8184;350;458;107158390;772645 + 1141;8195;350;459;107158390;780840 + 1142;8196;350;459;107158390;780840 + 1143;8208;350;459;107158390;780840 + 1144;8217;350;460;107158390;789057 + 1145;8220;350;460;107158390;789057 + 1146;8232;350;460;107158390;789057 + 1147;8233;350;461;107158390;797290 + 1148;8244;350;461;107158390;797290 + 1149;8255;350;462;107158390;805545 + 1150;8256;350;462;107158390;805545 + 1151;8268;350;462;107158390;805545 + 1152;8274;350;463;107158390;813819 + 1153;8280;350;463;107158390;813819 + 1154;8286;350;464;107158390;822105 + 1155;8292;350;464;107158390;822105 + 1156;8304;350;464;107158390;822105 + 1157;8304;350;465;107158390;830409 + 1158;8316;350;465;107158390;830409 + 1159;8328;350;465;107158390;830409 + 1160;8328;350;466;107158390;838737 + 1161;8340;350;466;107158390;838737 + 1162;8349;350;467;107158390;847086 + 1163;8352;350;467;107158390;847086 + 1164;8364;350;467;107158390;847086 + 1165;8369;350;468;107158390;855455 + 1166;8376;350;468;107158390;855455 + 1167;8387;350;469;107158390;863842 + 1168;8388;350;469;107158390;863842 + 1169;8400;350;469;107158390;863842 + 1170;8407;350;470;107158390;872249 + 1171;8412;350;470;107158390;872249 + 1172;8424;350;470;107158390;872249 + 1173;8425;350;471;107158390;880674 + 1174;8436;350;471;107158390;880674 + 1175;8441;350;472;107158390;889115 + 1176;8448;350;472;107158390;889115 + 1177;8456;350;473;107158390;897571 + 1178;8460;350;473;107158390;897571 + 1179;8472;350;473;107158390;897571 + 1180;8479;350;474;107158390;906050 + 1181;8484;350;474;107158390;906050 + 1182;8496;350;474;107158390;906050 + 1183;8501;350;475;107158390;914551 + 1184;8508;350;475;107158390;914551 + 1185;8520;350;475;107158390;914551 + 1186;8520;350;476;107158390;923071 + 1187;8532;350;476;107158390;923071 + 1188;8533;350;477;107158390;931604 + 1189;8544;350;477;107158390;931604 + 1190;8554;350;478;107158390;940158 + 1191;8556;350;478;107158390;940158 + 1192;8568;350;478;107158390;940158 + 1193;8578;350;479;107158390;948736 + 1194;8580;350;479;107158390;948736 + 1195;8592;350;479;107158390;948736 + 1196;8602;350;480;107158390;957338 + 1197;8604;350;480;107158390;957338 + 1198;8616;350;480;107158390;957338 + 1199;8619;350;481;107158390;965957 + 1200;8628;350;481;107158390;965957 + 1201;8633;350;482;107158390;974590 + 1202;8640;350;482;107158390;974590 + 1203;8651;350;483;107158390;983241 + 1204;8652;350;483;107158390;983241 + 1205;8664;350;483;107158390;983241 + 1206;8668;360;484;114717741;928193 + 1207;8676;360;484;114717741;928193 + 1208;8688;360;484;114717741;928193 + 1209;8688;360;485;114717741;936881 + 1210;8700;360;485;114717741;936881 + 1211;8708;360;486;114717741;945589 + 1212;8712;360;486;114717741;945589 + 1213;8720;360;487;114717741;954309 + 1214;8724;360;487;114717741;954309 + 1215;8736;360;487;114717741;954309 + 1216;8739;360;488;114717741;963048 + 1217;8748;360;488;114717741;963048 + 1218;8757;360;489;114717741;971805 + 1219;8760;360;489;114717741;971805 + 1220;8771;360;490;114717741;980576 + 1221;8772;360;490;114717741;980576 + 1222;8784;360;490;114717741;980576 + 1223;8788;360;491;114717741;989364 + 1224;8796;360;491;114717741;989364 + 1225;8808;360;491;114717741;989364 + 1226;8811;360;492;114717741;998175 + 1227;8820;360;492;114717741;998175 + 1228;8831;360;493;114717741;1007006 + 1229;8832;360;493;114717741;1007006 + 1230;8844;360;493;114717741;1007006 + 1231;8846;360;494;114717741;1015852 + 1232;8856;380;494;107390818;883298 + 1233;8860;390;495;105001506;823429 + 1234;8868;400;495;97122657;752975 + 1235;8872;400;496;97122657;761847 + 1236;8880;400;496;97122657;761847 + 1237;8890;400;497;97122657;770737 + 1238;8892;400;497;97122657;770737 + 1239;8904;400;497;97122657;770737 + 1240;8913;400;498;97122657;779650 + 1241;8916;400;498;97122657;779650 + 1242;8928;400;498;97122657;779650 + 1243;8933;400;499;97122657;788583 + 1244;8940;400;499;97122657;788583 + 1245;8949;400;500;97122657;797532 + 1246;8952;400;500;97122657;797532 + 1247;8964;400;500;97122657;797532 + 1248;8968;400;501;97122657;806500 + 1249;8976;400;501;97122657;806500 + 1250;8988;400;501;97122657;806500 + 1251;8990;400;502;97122657;815490 + 1252;9000;400;502;97122657;815490 + 1253;9012;400;502;97122657;815490 + 1254;9014;400;503;97122657;824504 + 1255;9024;400;503;97122657;824504 + 1256;9036;400;503;97122657;824504 + 1257;9036;400;504;97122657;833540 + 1258;9048;400;504;97122657;833540 + 1259;9048;400;505;97122657;842588 + 1260;9060;400;505;97122657;842588 + 1261;9068;400;506;97122657;851656 + 1262;9072;400;506;97122657;851656 + 1263;9081;400;507;97122657;860737 + 1264;9084;400;507;97122657;860737 + 1265;9096;400;507;97122657;860737 + 1266;9104;400;508;97122657;869841 + 1267;9108;400;508;97122657;869841 + 1268;9120;400;508;97122657;869841 + 1269;9128;400;509;97122657;878969 + 1270;9132;400;509;97122657;878969 + 1271;9140;400;510;97122657;888109 + 1272;9144;400;510;97122657;888109 + 1273;9156;400;510;97122657;888109 + 1274;9160;400;511;97122657;897269 + 1275;9168;400;511;97122657;897269 + 1276;9175;400;512;97122657;906444 + 1277;9180;400;512;97122657;906444 + 1278;9189;400;513;97122657;915633 + 1279;9192;400;513;97122657;915633 + 1280;9204;400;513;97122657;915633 + 1281;9209;400;514;97122657;924842 + 1282;9216;400;514;97122657;924842 + 1283;9226;400;515;97122657;934068 + 1284;9228;400;515;97122657;934068 + 1285;9240;400;515;97122657;934068 + 1286;9249;400;516;97122657;943317 + 1287;9252;400;516;97122657;943317 + 1288;9264;400;516;97122657;943317 + 1289;9265;400;517;97122657;952582 + 1290;9276;400;517;97122657;952582 + 1291;9280;410;518;98754933;889648 + 1292;9288;410;518;98754933;889648 + 1293;9300;410;518;98754933;889648 + 1294;9304;420;519;91833273;824795 + 1295;9312;420;519;91833273;824795 + 1296;9324;420;519;91833273;824795 + 1297;9325;420;520;91833273;834120 + 1298;9336;420;520;91833273;834120 + 1299;9346;420;521;91833273;843466 + 1300;9348;420;521;91833273;843466 + 1301;9360;420;521;91833273;843466 + 1302;9370;420;522;91833273;852836 + 1303;9372;420;522;91833273;852836 + 1304;9384;420;522;91833273;852836 + 1305;9386;420;523;91833273;862222 + 1306;9396;420;523;91833273;862222 + 1307;9405;430;524;90149976;795578 + 1308;9408;430;524;90149976;795578 + 1309;9420;430;524;90149976;795578 + 1310;9429;430;525;90149976;805007 + 1311;9432;430;525;90149976;805007 + 1312;9444;430;525;90149976;805007 + 1313;9447;430;526;90149976;814454 + 1314;9456;430;526;90149976;814454 + 1315;9461;430;527;90149976;823915 + 1316;9468;430;527;90149976;823915 + 1317;9480;430;527;90149976;823915 + 1318;9482;430;528;90149976;833397 + 1319;9492;430;528;90149976;833397 + 1320;9496;430;529;90149976;842893 + 1321;9504;430;529;90149976;842893 + 1322;9516;430;529;90149976;842893 + 1323;9520;430;530;90149976;852413 + 1324;9528;430;530;90149976;852413 + 1325;9539;430;531;90149976;861952 + 1326;9540;430;531;90149976;861952 + 1327;9552;430;531;90149976;861952 + 1328;9560;430;532;90149976;871512 + 1329;9564;430;532;90149976;871512 + 1330;9576;430;532;90149976;871512 + 1331;9578;430;533;90149976;881090 + 1332;9588;430;533;90149976;881090 + 1333;9600;430;533;90149976;881090 + 1334;9601;430;534;90149976;890691 + 1335;9612;430;534;90149976;890691 + 1336;9620;430;535;90149976;900311 + 1337;9624;430;535;90149976;900311 + 1338;9636;430;535;90149976;900311 + 1339;9643;430;536;90149976;909954 + 1340;9648;430;536;90149976;909954 + 1341;9656;430;537;90149976;919610 + 1342;9660;430;537;90149976;919610 + 1343;9672;430;537;90149976;919610 + 1344;9672;430;538;90149976;929282 + 1345;9684;430;538;90149976;929282 + 1346;9695;430;539;90149976;938977 + 1347;9696;430;539;90149976;938977 + 1348;9708;430;539;90149976;938977 + 1349;9708;430;540;90149976;948685 + 1350;9720;430;540;90149976;948685 + 1351;9721;430;541;90149976;958406 + 1352;9732;430;541;90149976;958406 + 1353;9737;430;542;90149976;968143 + 1354;9744;430;542;90149976;968143 + 1355;9756;430;542;90149976;968143 + 1356;9757;430;543;90149976;977900 + 1357;9768;430;543;90149976;977900 + 1358;9773;430;544;90149976;987673 + 1359;9780;430;544;90149976;987673 + 1360;9790;430;545;90149976;997463 + 1361;9792;430;545;90149976;997463 + 1362;9804;430;545;90149976;997463 + 1363;9809;430;546;90149976;1007272 + 1364;9816;430;546;90149976;1007272 + 1365;9825;430;547;90149976;1017097 + 1366;9828;430;547;90149976;1017097 + 1367;9840;430;547;90149976;1017097 + 1368;9843;430;548;90149976;1026940 + 1369;9852;430;548;90149976;1026940 + 1370;9861;430;549;90149976;1036801 + 1371;9864;430;549;90149976;1036801 + 1372;9874;430;550;90149976;1046675 + 1373;9876;430;550;90149976;1046675 + 1374;9888;430;550;90149976;1046675 + 1375;9893;430;551;90149976;1056568 + 1376;9900;430;551;90149976;1056568 + 1377;9906;430;552;90149976;1066474 + 1378;9912;430;552;90149976;1066474 + 1379;9924;430;552;90149976;1066474 + 1380;9930;430;553;90149976;1076404 + 1381;9936;430;553;90149976;1076404 + 1382;9948;430;553;90149976;1076404 + 1383;9951;430;554;90149976;1086355 + 1384;9960;430;554;90149976;1086355 + 1385;9972;430;554;90149976;1086355 + 1386;9972;430;555;90149976;1096327 + 1387;9984;430;555;90149976;1096327 + 1388;9989;430;556;90149976;1106316 + 1389;9996;430;556;90149976;1106316 + 1390;10004;430;557;90149976;1116320 + 1391;10008;430;557;90149976;1116320 + 1392;10018;430;558;90149976;1126338 + 1393;10020;430;558;90149976;1126338 + 1394;10032;430;558;90149976;1126338 + 1395;10041;440;559;96960921;1058368 + 1396;10044;440;559;96960921;1058368 + 1397;10053;440;560;96960921;1068421 + 1398;10056;440;560;96960921;1068421 + 1399;10065;440;561;96960921;1078486 + 1400;10068;440;561;96960921;1078486 + 1401;10080;440;561;96960921;1078486 + 1402;10080;440;562;96960921;1088566 + 1403;10092;440;562;96960921;1088566 + 1404;10098;440;563;96960921;1098664 + 1405;10104;440;563;96960921;1098664 + 1406;10116;440;563;96960921;1098664 + 1407;10121;440;564;96960921;1108785 + 1408;10128;440;564;96960921;1108785 + 1409;10140;440;564;96960921;1108785 + 1410;10144;440;565;96960921;1118929 + 1411;10152;440;565;96960921;1118929 + 1412;10159;440;566;96960921;1129088 + 1413;10164;440;566;96960921;1129088 + 1414;10176;440;566;96960921;1129088 + 1415;10180;440;567;96960921;1139268 + 1416;10188;440;567;96960921;1139268 + 1417;10193;440;568;96960921;1149461 + 1418;10200;440;568;96960921;1149461 + 1419;10212;440;568;96960921;1149461 + 1420;10216;440;569;96960921;1159677 + 1421;10224;440;569;96960921;1159677 + 1422;10232;440;570;96960921;1169909 + 1423;10236;440;570;96960921;1169909 + 1424;10244;440;571;96960921;1180153 + 1425;10248;440;571;96960921;1180153 + 1426;10260;440;571;96960921;1180153 + 1427;10268;460;572;96380897;1029015 + 1428;10272;460;572;96380897;1029015 + 1429;10284;460;572;96380897;1029015 + 1430;10292;460;573;96380897;1039307 + 1431;10296;460;573;96380897;1039307 + 1432;10308;460;573;96380897;1039307 + 1433;10313;460;574;96380897;1049620 + 1434;10320;460;574;96380897;1049620 + 1435;10325;460;575;96380897;1059945 + 1436;10332;460;575;96380897;1059945 + 1437;10344;460;575;96380897;1059945 + 1438;10347;460;576;96380897;1070292 + 1439;10356;460;576;96380897;1070292 + 1440;10368;460;576;96380897;1070292 + 1441;10371;470;577;97057931;997279 + 1442;10380;470;577;97057931;997279 + 1443;10389;480;578;96880154;922385 + 1444;10392;480;578;96880154;922385 + 1445;10404;480;578;96880154;922385 + 1446;10406;480;579;96880154;932791 + 1447;10416;480;579;96880154;932791 + 1448;10423;480;580;96880154;943214 + 1449;10428;480;580;96880154;943214 + 1450;10440;480;580;96880154;943214 + 1451;10445;480;581;96880154;953659 + 1452;10452;480;581;96880154;953659 + 1453;10461;480;582;96880154;964120 + 1454;10464;480;582;96880154;964120 + 1455;10476;480;582;96880154;964120 + 1456;10483;480;583;96880154;974603 + 1457;10488;480;583;96880154;974603 + 1458;10496;480;584;96880154;985099 + 1459;10500;480;584;96880154;985099 + 1460;10512;480;584;96880154;985099 + 1461;10517;480;585;96880154;995616 + 1462;10524;480;585;96880154;995616 + 1463;10531;480;586;96880154;1006147 + 1464;10536;480;586;96880154;1006147 + 1465;10548;480;586;96880154;1006147 + 1466;10548;480;587;96880154;1016695 + 1467;10560;480;587;96880154;1016695 + 1468;10569;480;588;96880154;1027264 + 1469;10572;480;588;96880154;1027264 + 1470;10584;480;588;96880154;1027264 + 1471;10585;480;589;96880154;1037849 + 1472;10596;480;589;96880154;1037849 + 1473;10603;480;590;96880154;1048452 + 1474;10608;480;590;96880154;1048452 + 1475;10620;480;590;96880154;1048452 + 1476;10622;480;591;96880154;1059074 + 1477;10632;480;591;96880154;1059074 + 1478;10639;480;592;96880154;1069713 + 1479;10644;480;592;96880154;1069713 + 1480;10656;480;592;96880154;1069713 + 1481;10661;480;593;96880154;1080374 + 1482;10668;480;593;96880154;1080374 + 1483;10680;480;593;96880154;1080374 + 1484;10684;480;594;96880154;1091058 + 1485;10692;480;594;96880154;1091058 + 1486;10699;480;595;96880154;1101757 + 1487;10704;480;595;96880154;1101757 + 1488;10716;480;595;96880154;1101757 + 1489;10717;480;596;96880154;1112474 + 1490;10728;480;596;96880154;1112474 + 1491;10729;480;597;96880154;1123203 + 1492;10740;480;597;96880154;1123203 + 1493;10745;480;598;96880154;1133948 + 1494;10752;480;598;96880154;1133948 + 1495;10759;480;599;96880154;1144707 + 1496;10764;480;599;96880154;1144707 + 1497;10776;480;599;96880154;1144707 + 1498;10779;480;600;96880154;1155486 + 1499;10788;480;600;96880154;1155486 + 1500;10795;480;601;96880154;1166281 + 1501;10800;480;601;96880154;1166281 + 1502;10811;480;602;96880154;1177092 + 1503;10812;480;602;96880154;1177092 + 1504;10823;480;603;96880154;1187915 + 1505;10824;480;603;96880154;1187915 + 1506;10836;480;603;96880154;1187915 + 1507;10842;480;604;96880154;1198757 + 1508;10848;480;604;96880154;1198757 + 1509;10860;480;604;96880154;1198757 + 1510;10861;480;605;96880154;1209618 + 1511;10872;480;605;96880154;1209618 + 1512;10875;480;606;96880154;1220493 + 1513;10884;480;606;96880154;1220493 + 1514;10896;480;606;96880154;1220493 + 1515;10896;480;607;96880154;1231389 + 1516;10908;480;607;96880154;1231389 + 1517;10914;480;608;96880154;1242303 + 1518;10920;480;608;96880154;1242303 + 1519;10932;480;608;96880154;1242303 + 1520;10938;480;609;96880154;1253241 + 1521;10944;480;609;96880154;1253241 + 1522;10954;480;610;96880154;1264195 + 1523;10956;480;610;96880154;1264195 + 1524;10968;480;610;96880154;1264195 + 1525;10968;480;611;96880154;1275163 + 1526;10980;480;611;96880154;1275163 + 1527;10991;480;612;96880154;1286154 + 1528;10992;480;612;96880154;1286154 + 1529;11004;480;612;96880154;1286154 + 1530;11007;480;613;96880154;1297161 + 1531;11016;480;613;96880154;1297161 + 1532;11023;490;614;102682464;1221061 + 1533;11028;490;614;102682464;1221061 + 1534;11040;490;614;102682464;1221061 + 1535;11043;490;615;102682464;1232104 + 1536;11052;490;615;102682464;1232104 + 1537;11055;490;616;102682464;1243159 + 1538;11064;490;616;102682464;1243159 + 1539;11076;490;616;102682464;1243159 + 1540;11077;490;617;102682464;1254236 + 1541;11088;490;617;102682464;1254236 + 1542;11097;490;618;102682464;1265333 + 1543;11100;490;618;102682464;1265333 + 1544;11112;490;618;102682464;1265333 + 1545;11120;500;619;107426621;1187580 + 1546;11124;500;619;107426621;1187580 + 1547;11133;500;620;107426621;1198713 + 1548;11136;500;620;107426621;1198713 + 1549;11147;500;621;107426621;1209860 + 1550;11148;500;621;107426621;1209860 + 1551;11160;500;621;107426621;1209860 + 1552;11168;500;622;107426621;1221028 + 1553;11172;500;622;107426621;1221028 + 1554;11180;500;623;107426621;1232208 + 1555;11184;500;623;107426621;1232208 + 1556;11196;500;623;107426621;1232208 + 1557;11204;500;624;107426621;1243412 + 1558;11208;500;624;107426621;1243412 + 1559;11220;500;624;107426621;1243412 + 1560;11227;500;625;107426621;1254639 + 1561;11232;500;625;107426621;1254639 + 1562;11239;500;626;107426621;1265878 + 1563;11244;500;626;107426621;1265878 + 1564;11255;500;627;107426621;1277133 + 1565;11256;500;627;107426621;1277133 + 1566;11268;500;627;107426621;1277133 + 1567;11274;500;628;107426621;1288407 + 1568;11280;500;628;107426621;1288407 + 1569;11288;500;629;107426621;1299695 + 1570;11292;500;629;107426621;1299695 + 1571;11304;500;629;107426621;1299695 + 1572;11311;500;630;107426621;1311006 + 1573;11316;500;630;107426621;1311006 + 1574;11323;500;631;107426621;1322329 + 1575;11328;500;631;107426621;1322329 + 1576;11340;500;631;107426621;1322329 + 1577;11342;500;632;107426621;1333671 + 1578;11352;500;632;107426621;1333671 + 1579;11360;500;633;107426621;1345031 + 1580;11364;500;633;107426621;1345031 + 1581;11372;500;634;107426621;1356403 + 1582;11376;500;634;107426621;1356403 + 1583;11388;510;634;118073584;1265634 + 1584;11392;520;635;116393267;1184458 + 1585;11400;520;635;116393267;1184458 + 1586;11409;520;636;116393267;1195867 + 1587;11412;520;636;116393267;1195867 + 1588;11424;520;636;116393267;1195867 + 1589;11426;520;637;116393267;1207293 + 1590;11436;530;637;116781892;1112758 + 1591;11447;530;638;116781892;1124205 + 1592;11448;530;638;116781892;1124205 + 1593;11459;530;639;116781892;1135664 + 1594;11460;530;639;116781892;1135664 + 1595;11472;530;639;116781892;1135664 + 1596;11474;530;640;116781892;1147138 + 1597;11484;530;640;116781892;1147138 + 1598;11496;530;640;116781892;1147138 + 1599;11498;530;641;116781892;1158636 + 1600;11508;530;641;116781892;1158636 + 1601;11517;530;642;116781892;1170153 + 1602;11520;530;642;116781892;1170153 + 1603;11529;530;643;116781892;1181682 + 1604;11532;530;643;116781892;1181682 + 1605;11544;530;643;116781892;1181682 + 1606;11545;530;644;116781892;1193227 + 1607;11556;530;644;116781892;1193227 + 1608;11559;530;645;116781892;1204786 + 1609;11568;530;645;116781892;1204786 + 1610;11573;530;646;116781892;1216359 + 1611;11580;530;646;116781892;1216359 + 1612;11592;530;646;116781892;1216359 + 1613;11596;530;647;116781892;1227955 + 1614;11604;530;647;116781892;1227955 + 1615;11614;530;648;116781892;1239569 + 1616;11616;530;648;116781892;1239569 + 1617;11628;530;648;116781892;1239569 + 1618;11634;530;649;116781892;1251203 + 1619;11640;530;649;116781892;1251203 + 1620;11649;540;650;120921474;1166398 + 1621;11652;540;650;120921474;1166398 + 1622;11664;540;650;120921474;1166398 + 1623;11668;540;651;120921474;1178066 + 1624;11676;540;651;120921474;1178066 + 1625;11688;540;651;120921474;1178066 + 1626;11690;540;652;120921474;1189756 + 1627;11700;540;652;120921474;1189756 + 1628;11708;540;653;120921474;1201464 + 1629;11712;540;653;120921474;1201464 + 1630;11724;540;653;120921474;1201464 + 1631;11729;540;654;120921474;1213193 + 1632;11736;550;654;120559253;1115031 + 1633;11747;550;655;120559253;1126778 + 1634;11748;550;655;120559253;1126778 + 1635;11760;550;655;120559253;1126778 + 1636;11768;550;656;120559253;1138546 + 1637;11772;550;656;120559253;1138546 + 1638;11784;550;656;120559253;1138546 + 1639;11784;550;657;120559253;1150330 + 1640;11796;550;657;120559253;1150330 + 1641;11797;560;658;114870800;1062198 + 1642;11808;560;658;114870800;1062198 + 1643;11815;560;659;114870800;1074013 + 1644;11820;560;659;114870800;1074013 + 1645;11832;560;659;114870800;1074013 + 1646;11833;560;660;114870800;1085846 + 1647;11844;560;660;114870800;1085846 + 1648;11853;560;661;114870800;1097699 + 1649;11856;560;661;114870800;1097699 + 1650;11868;560;661;114870800;1097699 + 1651;11870;560;662;114870800;1109569 + 1652;11880;560;662;114870800;1109569 + 1653;11889;560;663;114870800;1121458 + 1654;11892;560;663;114870800;1121458 + 1655;11901;560;664;114870800;1133359 + 1656;11904;560;664;114870800;1133359 + 1657;11916;560;664;114870800;1133359 + 1658;11923;560;665;114870800;1145282 + 1659;11928;560;665;114870800;1145282 + 1660;11936;560;666;114870800;1157218 + 1661;11940;560;666;114870800;1157218 + 1662;11952;560;666;114870800;1157218 + 1663;11957;560;667;114870800;1169175 + 1664;11964;560;667;114870800;1169175 + 1665;11975;560;668;114870800;1181150 + 1666;11976;560;668;114870800;1181150 + 1667;11988;560;668;114870800;1181150 + 1668;11991;560;669;114870800;1193141 + 1669;12000;560;669;114870800;1193141 + 1670;12012;560;669;114870800;1193141 + 1671;12015;560;670;114870800;1205156 + 1672;12024;560;670;114870800;1205156 + 1673;12036;560;670;114870800;1205156 + 1674;12036;560;671;114870800;1217192 + 1675;12048;560;671;114870800;1217192 + 1676;12058;560;672;114870800;1229250 + 1677;12060;560;672;114870800;1229250 + 1678;12072;560;672;114870800;1229250 + 1679;12074;560;673;114870800;1241324 + 1680;12084;560;673;114870800;1241324 + 1681;12087;560;674;114870800;1253411 + 1682;12096;560;674;114870800;1253411 + 1683;12108;560;674;114870800;1253411 + 1684;12109;560;675;114870800;1265520 + 1685;12120;560;675;114870800;1265520 + 1686;12122;560;676;114870800;1277642 + 1687;12132;560;676;114870800;1277642 + 1688;12144;560;676;114870800;1277642 + 1689;12146;560;677;114870800;1289788 + 1690;12156;560;677;114870800;1289788 + 1691;12168;560;677;114870800;1289788 + 1692;12169;560;678;114870800;1301957 + 1693;12180;560;678;114870800;1301957 + 1694;12192;560;678;114870800;1301957 + 1695;12192;560;679;114870800;1314149 + 1696;12204;560;679;114870800;1314149 + 1697;12205;560;680;114870800;1326354 + 1698;12216;560;680;114870800;1326354 + 1699;12222;560;681;114870800;1338576 + 1700;12228;560;681;114870800;1338576 + 1701;12236;560;682;114870800;1350812 + 1702;12240;560;682;114870800;1350812 + 1703;12252;560;682;114870800;1350812 + 1704;12253;560;683;114870800;1363065 + 1705;12264;560;683;114870800;1363065 + 1706;12276;560;683;114870800;1363065 + 1707;12276;560;684;114870800;1375341 + 1708;12288;560;684;114870800;1375341 + 1709;12289;560;685;114870800;1387630 + 1710;12300;560;685;114870800;1387630 + 1711;12311;560;686;114870800;1399941 + 1712;12312;560;686;114870800;1399941 + 1713;12324;560;686;114870800;1399941 + 1714;12329;560;687;114870800;1412270 + 1715;12336;560;687;114870800;1412270 + 1716;12345;570;688;123858695;1322948 + 1717;12348;570;688;123858695;1322948 + 1718;12360;570;688;123858695;1322948 + 1719;12361;570;689;123858695;1335309 + 1720;12372;570;689;123858695;1335309 + 1721;12384;570;689;123858695;1335309 + 1722;12384;570;690;123858695;1347693 + 1723;12396;570;690;123858695;1347693 + 1724;12398;570;691;123858695;1360091 + 1725;12408;570;691;123858695;1360091 + 1726;12415;570;692;123858695;1372506 + 1727;12420;570;692;123858695;1372506 + 1728;12427;570;693;123858695;1384933 + 1729;12432;570;693;123858695;1384933 + 1730;12444;570;693;123858695;1384933 + 1731;12447;570;694;123858695;1397380 + 1732;12456;570;694;123858695;1397380 + 1733;12462;570;695;123858695;1409842 + 1734;12468;570;695;123858695;1409842 + 1735;12480;570;695;123858695;1409842 + 1736;12482;570;696;123858695;1422324 + 1737;12492;570;696;123858695;1422324 + 1738;12494;570;697;123858695;1434818 + 1739;12504;570;697;123858695;1434818 + 1740;12516;570;697;123858695;1434818 + 1741;12517;570;698;123858695;1447335 + 1742;12528;570;698;123858695;1447335 + 1743;12532;570;699;123858695;1459867 + 1744;12540;570;699;123858695;1459867 + 1745;12548;570;700;123858695;1472415 + 1746;12552;570;700;123858695;1472415 + 1747;12560;570;701;123858695;1484975 + 1748;12564;570;701;123858695;1484975 + 1749;12575;570;702;123858695;1497550 + 1750;12576;570;702;123858695;1497550 + 1751;12588;570;702;123858695;1497550 + 1752;12594;570;703;123858695;1510144 + 1753;12600;570;703;123858695;1510144 + 1754;12612;570;703;123858695;1510144 + 1755;12614;570;704;123858695;1522758 + 1756;12624;570;704;123858695;1522758 + 1757;12631;570;705;123858695;1535389 + 1758;12636;570;705;123858695;1535389 + 1759;12643;570;706;123858695;1548032 + 1760;12648;570;706;123858695;1548032 + 1761;12660;570;706;123858695;1548032 + 1762;12661;570;707;123858695;1560693 + 1763;12672;570;707;123858695;1560693 + 1764;12674;570;708;123858695;1573367 + 1765;12684;570;708;123858695;1573367 + 1766;12696;570;708;123858695;1573367 + 1767;12697;570;709;123858695;1586064 + 1768;12708;570;709;123858695;1586064 + 1769;12719;570;710;123858695;1598783 + 1770;12720;570;710;123858695;1598783 + 1771;12732;570;710;123858695;1598783 + 1772;12742;590;711;125124348;1402531 + 1773;12744;590;711;125124348;1402531 + 1774;12755;600;712;122708058;1308079 + 1775;12756;600;712;122708058;1308079 + 1776;12768;600;712;122708058;1308079 + 1777;12772;600;713;122708058;1320851 + 1778;12780;600;713;122708058;1320851 + 1779;12792;600;713;122708058;1320851 + 1780;12792;600;714;122708058;1333643 + 1781;12804;600;714;122708058;1333643 + 1782;12809;600;715;122708058;1346452 + 1783;12816;600;715;122708058;1346452 + 1784;12825;600;716;122708058;1359277 + 1785;12828;600;716;122708058;1359277 + 1786;12840;600;716;122708058;1359277 + 1787;12847;600;717;122708058;1372124 + 1788;12852;600;717;122708058;1372124 + 1789;12862;600;718;122708058;1384986 + 1790;12864;600;718;122708058;1384986 + 1791;12876;600;718;122708058;1384986 + 1792;12884;600;719;122708058;1397870 + 1793;12888;600;719;122708058;1397870 + 1794;12897;600;720;122708058;1410767 + 1795;12900;600;720;122708058;1410767 + 1796;12912;600;720;122708058;1410767 + 1797;12917;600;721;122708058;1423684 + 1798;12924;600;721;122708058;1423684 + 1799;12930;600;722;122708058;1436614 + 1800;12936;600;722;122708058;1436614 + 1801;12945;600;723;122708058;1449559 + 1802;12948;600;723;122708058;1449559 + 1803;12960;600;723;122708058;1449559 + 1804;12962;600;724;122708058;1462521 + 1805;12972;600;724;122708058;1462521 + 1806;12976;600;725;122708058;1475497 + 1807;12984;600;725;122708058;1475497 + 1808;12994;600;726;122708058;1488491 + 1809;12996;600;726;122708058;1488491 + 1810;13008;600;726;122708058;1488491 + 1811;13016;610;727;126255549;1392625 + 1812;13020;610;727;126255549;1392625 + 1813;13032;610;727;126255549;1392625 + 1814;13034;610;728;126255549;1405659 + 1815;13044;610;728;126255549;1405659 + 1816;13048;610;729;126255549;1418707 + 1817;13056;610;729;126255549;1418707 + 1818;13066;610;730;126255549;1431773 + 1819;13068;610;730;126255549;1431773 + 1820;13080;610;730;126255549;1431773 + 1821;13090;610;731;126255549;1444863 + 1822;13092;610;731;126255549;1444863 + 1823;13104;610;731;126255549;1444863 + 1824;13106;610;732;126255549;1457969 + 1825;13116;610;732;126255549;1457969 + 1826;13128;610;732;126255549;1457969 + 1827;13128;610;733;126255549;1471097 + 1828;13140;610;733;126255549;1471097 + 1829;13147;610;734;126255549;1484244 + 1830;13152;610;734;126255549;1484244 + 1831;13160;610;735;126255549;1497404 + 1832;13164;610;735;126255549;1497404 + 1833;13174;610;736;126255549;1510578 + 1834;13176;610;736;126255549;1510578 + 1835;13188;610;736;126255549;1510578 + 1836;13195;610;737;126255549;1523773 + 1837;13200;610;737;126255549;1523773 + 1838;13208;610;738;126255549;1536981 + 1839;13212;610;738;126255549;1536981 + 1840;13220;610;739;126255549;1550201 + 1841;13224;610;739;126255549;1550201 + 1842;13233;610;740;126255549;1563434 + 1843;13236;610;740;126255549;1563434 + 1844;13248;610;740;126255549;1563434 + 1845;13252;610;741;126255549;1576686 + 1846;13260;610;741;126255549;1576686 + 1847;13272;610;741;126255549;1576686 + 1848;13275;610;742;126255549;1589961 + 1849;13284;610;742;126255549;1589961 + 1850;13295;610;743;126255549;1603256 + 1851;13296;610;743;126255549;1603256 + 1852;13308;610;743;126255549;1603256 + 1853;13312;610;744;126255549;1616568 + 1854;13320;610;744;126255549;1616568 + 1855;13332;610;744;126255549;1616568 + 1856;13332;610;745;126255549;1629900 + 1857;13344;610;745;126255549;1629900 + 1858;13349;610;746;126255549;1643249 + 1859;13356;610;746;126255549;1643249 + 1860;13364;610;747;126255549;1656613 + 1861;13368;610;747;126255549;1656613 + 1862;13380;610;747;126255549;1656613 + 1863;13388;610;748;126255549;1670001 + 1864;13392;610;748;126255549;1670001 + 1865;13404;610;748;126255549;1670001 + 1866;13405;610;749;126255549;1683406 + 1867;13416;610;749;126255549;1683406 + 1868;13426;610;750;126255549;1696832 + 1869;13428;610;750;126255549;1696832 + 1870;13440;610;750;126255549;1696832 + 1871;13448;630;751;127396978;1487118 + 1872;13452;630;751;127396978;1487118 + 1873;13464;630;751;127396978;1487118 + 1874;13467;640;752;124065298;1386406 + 1875;13476;640;752;124065298;1386406 + 1876;13483;640;753;124065298;1399889 + 1877;13488;640;753;124065298;1399889 + 1878;13500;640;753;124065298;1399889 + 1879;13504;640;754;124065298;1413393 + 1880;13512;640;754;124065298;1413393 + 1881;13522;640;755;124065298;1426915 + 1882;13524;640;755;124065298;1426915 + 1883;13536;640;755;124065298;1426915 + 1884;13539;640;756;124065298;1440454 + 1885;13548;640;756;124065298;1440454 + 1886;13558;640;757;124065298;1454012 + 1887;13560;640;757;124065298;1454012 + 1888;13572;640;757;124065298;1454012 + 1889;13576;640;758;124065298;1467588 + 1890;13584;640;758;124065298;1467588 + 1891;13593;640;759;124065298;1481181 + 1892;13596;640;759;124065298;1481181 + 1893;13608;640;759;124065298;1481181 + 1894;13617;640;760;124065298;1494798 + 1895;13620;640;760;124065298;1494798 + 1896;13632;640;760;124065298;1494798 + 1897;13636;640;761;124065298;1508434 + 1898;13644;640;761;124065298;1508434 + 1899;13651;640;762;124065298;1522085 + 1900;13656;650;762;128741694;1406201 + 1901;13665;660;763;118586346;1302142 + 1902;13668;660;763;118586346;1302142 + 1903;13680;660;763;118586346;1302142 + 1904;13687;660;764;118586346;1315829 + 1905;13692;660;764;118586346;1315829 + 1906;13704;660;764;118586346;1315829 + 1907;13705;660;765;118586346;1329534 + 1908;13716;660;765;118586346;1329534 + 1909;13720;660;766;118586346;1343254 + 1910;13728;660;766;118586346;1343254 + 1911;13740;660;766;118586346;1343254 + 1912;13742;660;767;118586346;1356996 + 1913;13752;660;767;118586346;1356996 + 1914;13757;660;768;118586346;1370753 + 1915;13764;660;768;118586346;1370753 + 1916;13776;660;768;118586346;1370753 + 1917;13779;660;769;118586346;1384532 + 1918;13788;660;769;118586346;1384532 + 1919;13793;660;770;118586346;1398325 + 1920;13800;660;770;118586346;1398325 + 1921;13808;660;771;118586346;1412133 + 1922;13812;660;771;118586346;1412133 + 1923;13824;660;771;118586346;1412133 + 1924;13831;660;772;118586346;1425964 + 1925;13836;660;772;118586346;1425964 + 1926;13846;660;773;118586346;1439810 + 1927;13848;660;773;118586346;1439810 + 1928;13860;660;773;118586346;1439810 + 1929;13869;660;774;118586346;1453679 + 1930;13872;660;774;118586346;1453679 + 1931;13884;660;774;118586346;1453679 + 1932;13893;660;775;118586346;1467572 + 1933;13896;660;775;118586346;1467572 + 1934;13908;660;775;118586346;1467572 + 1935;13912;660;776;118586346;1481484 + 1936;13920;660;776;118586346;1481484 + 1937;13924;660;777;118586346;1495408 + 1938;13932;660;777;118586346;1495408 + 1939;13944;660;777;118586346;1495408 + 1940;13947;660;778;118586346;1509355 + 1941;13956;660;778;118586346;1509355 + 1942;13968;660;778;118586346;1509355 + 1943;13968;660;779;118586346;1523323 + 1944;13980;660;779;118586346;1523323 + 1945;13991;660;780;118586346;1537314 + 1946;13992;660;780;118586346;1537314 + 1947;14004;660;780;118586346;1537314 + 1948;14004;660;781;118586346;1551318 + 1949;14016;660;781;118586346;1551318 + 1950;14028;660;781;118586346;1551318 + 1951;14028;660;782;118586346;1565346 + 1952;14040;660;782;118586346;1565346 + 1953;14052;660;782;118586346;1565346 + 1954;14052;660;783;118586346;1579398 + 1955;14064;660;783;118586346;1579398 + 1956;14074;660;784;118586346;1593472 + 1957;14076;660;784;118586346;1593472 + 1958;14088;660;784;118586346;1593472 + 1959;14088;660;785;118586346;1607560 + 1960;14100;660;785;118586346;1607560 + 1961;14100;670;786;119200628;1502167 + 1962;14112;670;786;119200628;1502167 + 1963;14117;670;787;119200628;1516284 + 1964;14124;670;787;119200628;1516284 + 1965;14129;670;788;119200628;1530413 + 1966;14136;670;788;119200628;1530413 + 1967;14147;670;789;119200628;1544560 + 1968;14148;670;789;119200628;1544560 + 1969;14160;670;789;119200628;1544560 + 1970;14168;670;790;119200628;1558728 + 1971;14172;670;790;119200628;1558728 + 1972;14184;670;790;119200628;1558728 + 1973;14184;670;791;119200628;1572912 + 1974;14196;670;791;119200628;1572912 + 1975;14204;670;792;119200628;1587116 + 1976;14208;670;792;119200628;1587116 + 1977;14218;670;793;119200628;1601334 + 1978;14220;670;793;119200628;1601334 + 1979;14232;670;793;119200628;1601334 + 1980;14235;670;794;119200628;1615569 + 1981;14244;670;794;119200628;1615569 + 1982;14247;670;795;119200628;1629816 + 1983;14256;670;795;119200628;1629816 + 1984;14268;670;795;119200628;1629816 + 1985;14268;670;796;119200628;1644084 + 1986;14280;670;796;119200628;1644084 + 1987;14282;670;797;119200628;1658366 + 1988;14292;670;797;119200628;1658366 + 1989;14304;670;797;119200628;1658366 + 1990;14305;670;798;119200628;1672671 + 1991;14316;670;798;119200628;1672671 + 1992;14328;670;798;119200628;1672671 + 1993;14329;670;799;119200628;1687000 + 1994;14340;670;799;119200628;1687000 + 1995;14349;670;800;119200628;1701349 + 1996;14352;670;800;119200628;1701349 + 1997;14363;670;801;119200628;1715712 + 1998;14364;670;801;119200628;1715712 + 1999;14376;670;801;119200628;1715712 + 2000;14384;670;802;119200628;1730096 + 2001;14388;670;802;119200628;1730096 + 2002;14400;670;802;119200628;1730096 + 2003;14402;670;803;119200628;1744498 + 2004;14412;670;803;119200628;1744498 + 2005;14417;670;804;119200628;1758915 + 2006;14424;670;804;119200628;1758915 + 2007;14436;670;804;119200628;1758915 + 2008;14441;670;805;119200628;1773356 + 2009;14448;670;805;119200628;1773356 + 2010;14458;670;806;119200628;1787814 + 2011;14460;670;806;119200628;1787814 + 2012;14470;670;807;119200628;1802284 + 2013;14472;670;807;119200628;1802284 + 2014;14484;670;807;119200628;1802284 + 2015;14485;670;808;119200628;1816769 + 2016;14496;670;808;119200628;1816769 + 2017;14508;670;808;119200628;1816769 + 2018;14509;680;809;120740227;1709894 + 2019;14520;680;809;120740227;1709894 + 2020;14530;690;810;121507342;1601242 + 2021;14532;690;810;121507342;1601242 + 2022;14544;700;810;114316931;1476358 + 2023;14550;700;811;114316931;1490908 + 2024;14556;700;811;114316931;1490908 + 2025;14563;700;812;114316931;1505471 + 2026;14568;700;812;114316931;1505471 + 2027;14580;700;812;114316931;1505471 + 2028;14583;700;813;114316931;1520054 + 2029;14592;700;813;114316931;1520054 + 2030;14603;700;814;114316931;1534657 + 2031;14604;700;814;114316931;1534657 + 2032;14616;700;814;114316931;1534657 + 2033;14621;700;815;114316931;1549278 + 2034;14628;700;815;114316931;1549278 + 2035;14640;700;815;114316931;1549278 + 2036;14643;700;816;114316931;1563921 + 2037;14652;700;816;114316931;1563921 + 2038;14659;700;817;114316931;1578580 + 2039;14664;700;817;114316931;1578580 + 2040;14676;700;817;114316931;1578580 + 2041;14677;700;818;114316931;1593257 + 2042;14688;700;818;114316931;1593257 + 2043;14695;700;819;114316931;1607952 + 2044;14700;700;819;114316931;1607952 + 2045;14712;700;819;114316931;1607952 + 2046;14715;700;820;114316931;1622667 + 2047;14724;700;820;114316931;1622667 + 2048;14729;700;821;114316931;1637396 + 2049;14736;700;821;114316931;1637396 + 2050;14748;700;821;114316931;1637396 + 2051;14751;700;822;114316931;1652147 + 2052;14760;700;822;114316931;1652147 + 2053;14764;700;823;114316931;1666911 + 2054;14772;700;823;114316931;1666911 + 2055;14784;700;823;114316931;1666911 + 2056;14784;700;824;114316931;1681695 + 2057;14796;700;824;114316931;1681695 + 2058;14803;700;825;114316931;1696498 + 2059;14808;700;825;114316931;1696498 + 2060;14820;700;825;114316931;1696498 + 2061;14825;700;826;114316931;1711323 + 2062;14832;700;826;114316931;1711323 + 2063;14841;700;827;114316931;1726164 + 2064;14844;700;827;114316931;1726164 + 2065;14856;700;827;114316931;1726164 + 2066;14859;700;828;114316931;1741023 + 2067;14868;700;828;114316931;1741023 + 2068;14880;700;828;114316931;1741023 + 2069;14883;700;829;114316931;1755906 + 2070;14892;700;829;114316931;1755906 + 2071;14896;700;830;114316931;1770802 + 2072;14904;700;830;114316931;1770802 + 2073;14910;700;831;114316931;1785712 + 2074;14916;700;831;114316931;1785712 + 2075;14928;700;831;114316931;1785712 + 2076;14929;710;832;122055357;1674091 + 2077;14940;710;832;122055357;1674091 + 2078;14946;720;833;124023950;1560677 + 2079;14952;720;833;124023950;1560677 + 2080;14960;720;834;124023950;1575637 + 2081;14964;720;834;124023950;1575637 + 2082;14976;720;834;124023950;1575637 + 2083;14976;720;835;124023950;1590613 + 2084;14988;720;835;124023950;1590613 + 2085;14997;720;836;124023950;1605610 + 2086;15000;720;836;124023950;1605610 + 2087;15011;720;837;124023950;1620621 + 2088;15012;720;837;124023950;1620621 + 2089;15024;720;837;124023950;1620621 + 2090;15030;720;838;124023950;1635651 + 2091;15036;720;838;124023950;1635651 + 2092;15048;720;838;124023950;1635651 + 2093;15054;720;839;124023950;1650705 + 2094;15060;720;839;124023950;1650705 + 2095;15069;720;840;124023950;1665774 + 2096;15072;720;840;124023950;1665774 + 2097;15084;720;840;124023950;1665774 + 2098;15093;720;841;124023950;1680867 + 2099;15096;720;841;124023950;1680867 + 2100;15108;720;841;124023950;1680867 + 2101;15111;720;842;124023950;1695978 + 2102;15120;720;842;124023950;1695978 + 2103;15132;720;842;124023950;1695978 + 2104;15135;720;843;124023950;1711113 + 2105;15144;720;843;124023950;1711113 + 2106;15154;720;844;124023950;1726267 + 2107;15156;720;844;124023950;1726267 + 2108;15168;720;844;124023950;1726267 + 2109;15173;720;845;124023950;1741440 + 2110;15180;720;845;124023950;1741440 + 2111;15188;720;846;124023950;1756628 + 2112;15192;720;846;124023950;1756628 + 2113;15204;720;846;124023950;1756628 + 2114;15211;730;847;130883554;1641778 + 2115;15216;730;847;130883554;1641778 + 2116;15228;730;847;130883554;1641778 + 2117;15233;730;848;130883554;1657011 + 2118;15240;730;848;130883554;1657011 + 2119;15248;730;849;130883554;1672259 + 2120;15252;730;849;130883554;1672259 + 2121;15263;730;850;130883554;1687522 + 2122;15264;730;850;130883554;1687522 + 2123;15276;730;850;130883554;1687522 + 2124;15283;730;851;130883554;1702805 + 2125;15288;730;851;130883554;1702805 + 2126;15300;730;851;130883554;1702805 + 2127;15300;730;852;130883554;1718105 + 2128;15312;730;852;130883554;1718105 + 2129;15322;730;853;130883554;1733427 + 2130;15324;730;853;130883554;1733427 + 2131;15336;730;853;130883554;1733427 + 2132;15341;730;854;130883554;1748768 + 2133;15348;730;854;130883554;1748768 + 2134;15356;730;855;130883554;1764124 + 2135;15360;730;855;130883554;1764124 + 2136;15371;730;856;130883554;1779495 + 2137;15372;730;856;130883554;1779495 + 2138;15384;730;856;130883554;1779495 + 2139;15393;730;857;130883554;1794888 + 2140;15396;730;857;130883554;1794888 + 2141;15408;730;857;130883554;1794888 + 2142;15413;730;858;130883554;1810301 + 2143;15420;730;858;130883554;1810301 + 2144;15432;730;858;130883554;1810301 + 2145;15432;730;859;130883554;1825733 + 2146;15444;730;859;130883554;1825733 + 2147;15452;730;860;130883554;1841185 + 2148;15456;730;860;130883554;1841185 + 2149;15468;730;860;130883554;1841185 + 2150;15468;730;861;130883554;1856653 + 2151;15480;730;861;130883554;1856653 + 2152;15488;730;862;130883554;1872141 + 2153;15492;730;862;130883554;1872141 + 2154;15504;730;862;130883554;1872141 + 2155;15504;730;863;130883554;1887645 + 2156;15516;730;863;130883554;1887645 + 2157;15528;730;863;130883554;1887645 + 2158;15528;730;864;130883554;1903173 + 2159;15540;730;864;130883554;1903173 + 2160;15550;760;865;145010771;1517811 + 2161;15552;760;865;145010771;1517811 + 2162;15564;760;865;145010771;1517811 + 2163;15565;760;866;145010771;1533376 + 2164;15576;760;866;145010771;1533376 + 2165;15577;760;867;145010771;1548953 + 2166;15588;760;867;145010771;1548953 + 2167;15595;760;868;145010771;1564548 + 2168;15600;760;868;145010771;1564548 + 2169;15612;760;868;145010771;1564548 + 2170;15616;760;869;145010771;1580164 + 2171;15624;760;869;145010771;1580164 + 2172;15634;760;870;145010771;1595798 + 2173;15636;760;870;145010771;1595798 + 2174;15648;760;870;145010771;1595798 + 2175;15651;760;871;145010771;1611449 + 2176;15660;760;871;145010771;1611449 + 2177;15668;760;872;145010771;1627117 + 2178;15672;760;872;145010771;1627117 + 2179;15684;760;872;145010771;1627117 + 2180;15689;760;873;145010771;1642806 + 2181;15696;760;873;145010771;1642806 + 2182;15702;760;874;145010771;1658508 + 2183;15708;760;874;145010771;1658508 + 2184;15720;760;874;145010771;1658508 + 2185;15725;760;875;145010771;1674233 + 2186;15732;760;875;145010771;1674233 + 2187;15741;760;876;145010771;1689974 + 2188;15744;760;876;145010771;1689974 + 2189;15756;760;876;145010771;1689974 + 2190;15763;760;877;145010771;1705737 + 2191;15768;760;877;145010771;1705737 + 2192;15779;760;878;145010771;1721516 + 2193;15780;760;878;145010771;1721516 + 2194;15792;760;878;145010771;1721516 + 2195;15794;760;879;145010771;1737310 + 2196;15804;760;879;145010771;1737310 + 2197;15808;760;880;145010771;1753118 + 2198;15816;760;880;145010771;1753118 + 2199;15828;760;880;145010771;1753118 + 2200;15830;760;881;145010771;1768948 + 2201;15840;760;881;145010771;1768948 + 2202;15844;760;882;145010771;1784792 + 2203;15852;760;882;145010771;1784792 + 2204;15861;760;883;145010771;1800653 + 2205;15864;760;883;145010771;1800653 + 2206;15876;760;883;145010771;1800653 + 2207;15879;760;884;145010771;1816532 + 2208;15888;760;884;145010771;1816532 + 2209;15897;760;885;145010771;1832429 + 2210;15900;760;885;145010771;1832429 + 2211;15911;770;886;147940183;1711033 + 2212;15912;770;886;147940183;1711033 + 2213;15924;770;886;147940183;1711033 + 2214;15932;780;887;138214665;1587780 + 2215;15936;780;887;138214665;1587780 + 2216;15948;780;887;138214665;1587780 + 2217;15950;780;888;138214665;1603730 + 2218;15960;780;888;138214665;1603730 + 2219;15962;780;889;138214665;1619692 + 2220;15972;780;889;138214665;1619692 + 2221;15984;780;889;138214665;1619692 + 2222;15985;780;890;138214665;1635677 + 2223;15996;780;890;138214665;1635677 + 2224;16007;780;891;138214665;1651684 + 2225;16008;780;891;138214665;1651684 + 2226;16020;780;891;138214665;1651684 + 2227;16025;780;892;138214665;1667709 + 2228;16032;780;892;138214665;1667709 + 2229;16041;780;893;138214665;1683750 + 2230;16044;780;893;138214665;1683750 + 2231;16056;780;893;138214665;1683750 + 2232;16063;780;894;138214665;1699813 + 2233;16068;780;894;138214665;1699813 + 2234;16079;780;895;138214665;1715892 + 2235;16080;780;895;138214665;1715892 + 2236;16092;780;895;138214665;1715892 + 2237;16097;780;896;138214665;1731989 + 2238;16104;780;896;138214665;1731989 + 2239;16110;780;897;138214665;1748099 + 2240;16116;780;897;138214665;1748099 + 2241;16122;780;898;138214665;1764221 + 2242;16128;780;898;138214665;1764221 + 2243;16140;780;898;138214665;1764221 + 2244;16145;780;899;138214665;1780366 + 2245;16152;780;899;138214665;1780366 + 2246;16164;780;899;138214665;1780366 + 2247;16164;780;900;138214665;1796530 + 2248;16176;780;900;138214665;1796530 + 2249;16182;780;901;138214665;1812712 + 2250;16188;780;901;138214665;1812712 + 2251;16200;780;901;138214665;1812712 + 2252;16206;780;902;138214665;1828918 + 2253;16212;780;902;138214665;1828918 + 2254;16223;780;903;138214665;1845141 + 2255;16224;780;903;138214665;1845141 + 2256;16236;780;903;138214665;1845141 + 2257;16242;780;904;138214665;1861383 + 2258;16248;780;904;138214665;1861383 + 2259;16260;780;904;138214665;1861383 + 2260;16266;780;905;138214665;1877649 + 2261;16272;780;905;138214665;1877649 + 2262;16284;780;905;138214665;1877649 + 2263;16285;780;906;138214665;1893934 + 2264;16296;780;906;138214665;1893934 + 2265;16307;780;907;138214665;1910241 + 2266;16308;780;907;138214665;1910241 + 2267;16320;780;907;138214665;1910241 + 2268;16324;780;908;138214665;1926565 + 2269;16332;780;908;138214665;1926565 + 2270;16343;780;909;138214665;1942908 + 2271;16344;780;909;138214665;1942908 + 2272;16356;780;909;138214665;1942908 + 2273;16356;780;910;138214665;1959264 + 2274;16368;780;910;138214665;1959264 + 2275;16378;780;911;138214665;1975642 + 2276;16380;780;911;138214665;1975642 + 2277;16392;780;911;138214665;1975642 + 2278;16392;780;912;138214665;1992034 + 2279;16404;780;912;138214665;1992034 + 2280;16414;780;913;138214665;2008448 + 2281;16416;780;913;138214665;2008448 + 2282;16428;780;913;138214665;2008448 + 2283;16429;780;914;138214665;2024877 + 2284;16440;780;914;138214665;2024877 + 2285;16441;780;915;138214665;2041318 + 2286;16452;780;915;138214665;2041318 + 2287;16455;780;916;138214665;2057773 + 2288;16464;780;916;138214665;2057773 + 2289;16474;790;917;143591820;1933160 + 2290;16476;790;917;143591820;1933160 + 2291;16488;790;917;143591820;1933160 + 2292;16494;800;918;134689845;1806854 + 2293;16500;800;918;134689845;1806854 + 2294;16507;800;919;134689845;1823361 + 2295;16512;800;919;134689845;1823361 + 2296;16524;800;919;134689845;1823361 + 2297;16526;800;920;134689845;1839887 + 2298;16536;800;920;134689845;1839887 + 2299;16538;800;921;134689845;1856425 + 2300;16548;800;921;134689845;1856425 + 2301;16560;800;921;134689845;1856425 + 2302;16561;800;922;134689845;1872986 + 2303;16572;800;922;134689845;1872986 + 2304;16584;800;922;134689845;1872986 + 2305;16584;800;923;134689845;1889570 + 2306;16596;800;923;134689845;1889570 + 2307;16601;800;924;134689845;1906171 + 2308;16608;800;924;134689845;1906171 + 2309;16615;800;925;134689845;1922786 + 2310;16620;800;925;134689845;1922786 + 2311;16632;800;925;134689845;1922786 + 2312;16634;800;926;134689845;1939420 + 2313;16644;800;926;134689845;1939420 + 2314;16649;800;927;134689845;1956069 + 2315;16656;800;927;134689845;1956069 + 2316;16663;800;928;134689845;1972732 + 2317;16668;800;928;134689845;1972732 + 2318;16675;800;929;134689845;1989407 + 2319;16680;800;929;134689845;1989407 + 2320;16692;800;929;134689845;1989407 + 2321;16693;800;930;134689845;2006100 + 2322;16704;800;930;134689845;2006100 + 2323;16715;800;931;134689845;2022815 + 2324;16716;800;931;134689845;2022815 + 2325;16728;800;931;134689845;2022815 + 2326;16730;800;932;134689845;2039545 + 2327;16740;800;932;134689845;2039545 + 2328;16748;800;933;134689845;2056293 + 2329;16752;800;933;134689845;2056293 + 2330;16764;800;933;134689845;2056293 + 2331;16770;800;934;134689845;2073063 + 2332;16776;800;934;134689845;2073063 + 2333;16788;810;934;139580481;1928417 + 2334;16791;820;935;133549833;1798720 + 2335;16800;820;935;133549833;1798720 + 2336;16806;830;936;126951868;1667210 + 2337;16812;830;936;126951868;1667210 + 2338;16821;830;937;126951868;1684031 + 2339;16824;830;937;126951868;1684031 + 2340;16836;830;937;126951868;1684031 + 2341;16844;830;938;126951868;1700875 + 2342;16848;830;938;126951868;1700875 + 2343;16860;830;938;126951868;1700875 + 2344;16864;830;939;126951868;1717739 + 2345;16872;830;939;126951868;1717739 + 2346;16882;830;940;126951868;1734621 + 2347;16884;830;940;126951868;1734621 + 2348;16896;830;940;126951868;1734621 + 2349;16900;830;941;126951868;1751521 + 2350;16908;830;941;126951868;1751521 + 2351;16920;830;941;126951868;1751521 + 2352;16920;830;942;126951868;1768441 + 2353;16932;830;942;126951868;1768441 + 2354;16940;830;943;126951868;1785381 + 2355;16944;830;943;126951868;1785381 + 2356;16956;830;943;126951868;1785381 + 2357;16956;830;944;126951868;1802337 + 2358;16968;830;944;126951868;1802337 + 2359;16976;830;945;126951868;1819313 + 2360;16980;830;945;126951868;1819313 + 2361;16992;830;945;126951868;1819313 + 2362;16999;840;946;126171407;1686247 + 2363;17004;840;946;126171407;1686247 + 2364;17016;840;946;126171407;1686247 + 2365;17017;840;947;126171407;1703264 + 2366;17028;840;947;126171407;1703264 + 2367;17030;840;948;126171407;1720294 + 2368;17040;840;948;126171407;1720294 + 2369;17050;840;949;126171407;1737344 + 2370;17052;840;949;126171407;1737344 + 2371;17064;840;949;126171407;1737344 + 2372;17069;840;950;126171407;1754413 + 2373;17076;840;950;126171407;1754413 + 2374;17085;840;951;126171407;1771498 + 2375;17088;840;951;126171407;1771498 + 2376;17099;840;952;126171407;1788597 + 2377;17100;840;952;126171407;1788597 + 2378;17112;840;952;126171407;1788597 + 2379;17117;840;953;126171407;1805714 + 2380;17124;840;953;126171407;1805714 + 2381;17136;840;953;126171407;1805714 + 2382;17139;840;954;126171407;1822853 + 2383;17148;840;954;126171407;1822853 + 2384;17153;840;955;126171407;1840006 + 2385;17160;840;955;126171407;1840006 + 2386;17171;840;956;126171407;1857177 + 2387;17172;840;956;126171407;1857177 + 2388;17184;840;956;126171407;1857177 + 2389;17189;840;957;126171407;1874366 + 2390;17196;840;957;126171407;1874366 + 2391;17206;840;958;126171407;1891572 + 2392;17208;840;958;126171407;1891572 + 2393;17218;840;959;126171407;1908790 + 2394;17220;840;959;126171407;1908790 + 2395;17232;840;959;126171407;1908790 + 2396;17237;840;960;126171407;1926027 + 2397;17244;840;960;126171407;1926027 + 2398;17254;840;961;126171407;1943281 + 2399;17256;840;961;126171407;1943281 + 2400;17268;840;961;126171407;1943281 + 2401;17271;840;962;126171407;1960552 + 2402;17280;840;962;126171407;1960552 + 2403;17289;840;963;126171407;1977841 + 2404;17292;840;963;126171407;1977841 + 2405;17304;840;963;126171407;1977841 + 2406;17307;840;964;126171407;1995148 + 2407;17316;840;964;126171407;1995148 + 2408;17324;840;965;126171407;2012472 + 2409;17328;840;965;126171407;2012472 + 2410;17340;840;965;126171407;2012472 + 2411;17341;850;966;136497735;1877814 + 2412;17352;850;966;136497735;1877814 + 2413;17355;850;967;136497735;1895169 + 2414;17364;850;967;136497735;1895169 + 2415;17376;850;967;136497735;1895169 + 2416;17377;850;968;136497735;1912546 + 2417;17388;850;968;136497735;1912546 + 2418;17393;850;969;136497735;1929939 + 2419;17400;850;969;136497735;1929939 + 2420;17411;850;970;136497735;1947350 + 2421;17412;850;970;136497735;1947350 + 2422;17424;850;970;136497735;1947350 + 2423;17424;850;971;136497735;1964774 + 2424;17436;850;971;136497735;1964774 + 2425;17444;850;972;136497735;1982218 + 2426;17448;850;972;136497735;1982218 + 2427;17456;850;973;136497735;1999674 + 2428;17460;850;973;136497735;1999674 + 2429;17469;850;974;136497735;2017143 + 2430;17472;850;974;136497735;2017143 + 2431;17484;850;974;136497735;2017143 + 2432;17485;850;975;136497735;2034628 + 2433;17496;850;975;136497735;2034628 + 2434;17502;850;976;136497735;2052130 + 2435;17508;850;976;136497735;2052130 + 2436;17520;850;976;136497735;2052130 + 2437;17523;850;977;136497735;2069653 + 2438;17532;850;977;136497735;2069653 + 2439;17544;850;977;136497735;2069653 + 2440;17545;850;978;136497735;2087198 + 2441;17556;850;978;136497735;2087198 + 2442;17558;850;979;136497735;2104756 + 2443;17568;850;979;136497735;2104756 + 2444;17580;850;979;136497735;2104756 + 2445;17582;850;980;136497735;2122338 + 2446;17592;850;980;136497735;2122338 + 2447;17599;850;981;136497735;2139937 + 2448;17604;850;981;136497735;2139937 + 2449;17616;850;981;136497735;2139937 + 2450;17617;850;982;136497735;2157554 + 2451;17628;850;982;136497735;2157554 + 2452;17639;850;983;136497735;2175193 + 2453;17640;850;983;136497735;2175193 + 2454;17652;850;983;136497735;2175193 + 2455;17658;850;984;136497735;2192851 + 2456;17664;850;984;136497735;2192851 + 2457;17676;850;984;136497735;2192851 + 2458;17678;850;985;136497735;2210529 + 2459;17688;850;985;136497735;2210529 + 2460;17693;850;986;136497735;2228222 + 2461;17700;850;986;136497735;2228222 + 2462;17710;850;987;136497735;2245932 + 2463;17712;850;987;136497735;2245932 + 2464;17724;850;987;136497735;2245932 + 2465;17731;850;988;136497735;2263663 + 2466;17736;850;988;136497735;2263663 + 2467;17743;850;989;136497735;2281406 + 2468;17748;850;989;136497735;2281406 + 2469;17759;850;990;136497735;2299165 + 2470;17760;850;990;136497735;2299165 + 2471;17772;850;990;136497735;2299165 + 2472;17772;860;991;150878472;2163089 + 2473;17784;860;991;150878472;2163089 + 2474;17792;860;992;150878472;2180881 + 2475;17796;860;992;150878472;2180881 + 2476;17808;860;992;150878472;2180881 + 2477;17811;860;993;150878472;2198692 + 2478;17820;860;993;150878472;2198692 + 2479;17827;860;994;150878472;2216519 + 2480;17832;860;994;150878472;2216519 + 2481;17840;860;995;150878472;2234359 + 2482;17844;860;995;150878472;2234359 + 2483;17856;860;995;150878472;2234359 + 2484;17864;860;996;150878472;2252223 + 2485;17868;860;996;150878472;2252223 + 2486;17879;860;997;150878472;2270102 + 2487;17880;860;997;150878472;2270102 + 2488;17892;860;997;150878472;2270102 + 2489;17897;860;998;150878472;2287999 + 2490;17904;860;998;150878472;2287999 + 2491;17916;860;998;150878472;2287999 + 2492;17919;860;999;150878472;2305918 + 2493;17928;860;999;150878472;2305918 + 2494;17938;860;1000;150878472;2323856 + 2495;17940;860;1000;150878472;2323856 + 2496;17952;860;1000;150878472;2323856 + 2497;17953;860;1001;150878472;2341809 + 2498;17964;870;1001;158614177;2186101 + 2499;17976;870;1001;158614177;2186101 + 2500;17977;880;1002;160796784;2046579 + 2501;17988;880;1002;160796784;2046579 + 2502;17989;880;1003;160796784;2064568 + 2503;18000;880;1003;160796784;2064568 + 2504;18011;880;1004;160796784;2082579 + 2505;18012;880;1004;160796784;2082579 + 2506;18024;880;1004;160796784;2082579 + 2507;18029;880;1005;160796784;2100608 + 2508;18036;880;1005;160796784;2100608 + 2509;18045;880;1006;160796784;2118653 + 2510;18048;880;1006;160796784;2118653 + 2511;18058;880;1007;160796784;2136711 + 2512;18060;880;1007;160796784;2136711 + 2513;18070;880;1008;160796784;2154781 + 2514;18072;880;1008;160796784;2154781 + 2515;18084;880;1008;160796784;2154781 + 2516;18094;880;1009;160796784;2172875 + 2517;18096;880;1009;160796784;2172875 + 2518;18108;880;1009;160796784;2172875 + 2519;18113;880;1010;160796784;2190988 + 2520;18120;880;1010;160796784;2190988 + 2521;18132;880;1010;160796784;2190988 + 2522;18137;880;1011;160796784;2209125 + 2523;18144;880;1011;160796784;2209125 + 2524;18151;880;1012;160796784;2227276 + 2525;18156;880;1012;160796784;2227276 + 2526;18168;880;1012;160796784;2227276 + 2527;18175;880;1013;160796784;2245451 + 2528;18180;880;1013;160796784;2245451 + 2529;18190;880;1014;160796784;2263641 + 2530;18192;880;1014;160796784;2263641 + 2531;18204;880;1014;160796784;2263641 + 2532;18214;880;1015;160796784;2281855 + 2533;18216;880;1015;160796784;2281855 + 2534;18228;880;1015;160796784;2281855 + 2535;18237;880;1016;160796784;2300092 + 2536;18240;880;1016;160796784;2300092 + 2537;18252;880;1016;160796784;2300092 + 2538;18252;880;1017;160796784;2318344 + 2539;18264;880;1017;160796784;2318344 + 2540;18274;880;1018;160796784;2336618 + 2541;18276;880;1018;160796784;2336618 + 2542;18288;880;1018;160796784;2336618 + 2543;18295;880;1019;160796784;2354913 + 2544;18300;880;1019;160796784;2354913 + 2545;18312;890;1019;186259592;2195685 + 2546;18315;890;1020;186259592;2214000 + 2547;18324;890;1020;186259592;2214000 + 2548;18336;890;1020;186259592;2214000 + 2549;18336;890;1021;186259592;2232336 + 2550;18348;890;1021;186259592;2232336 + 2551;18350;890;1022;186259592;2250686 + 2552;18360;890;1022;186259592;2250686 + 2553;18372;890;1022;186259592;2250686 + 2554;18372;890;1023;186259592;2269058 + 2555;18384;890;1023;186259592;2269058 + 2556;18393;890;1024;186259592;2287451 + 2557;18396;890;1024;186259592;2287451 + 2558;18407;890;1025;186259592;2305858 + 2559;18408;890;1025;186259592;2305858 + 2560;18419;890;1026;186259592;2324277 + 2561;18420;890;1026;186259592;2324277 + 2562;18432;890;1026;186259592;2324277 + 2563;18440;890;1027;186259592;2342717 + 2564;18444;890;1027;186259592;2342717 + 2565;18453;890;1028;186259592;2361170 + 2566;18456;890;1028;186259592;2361170 + 2567;18468;890;1028;186259592;2361170 + 2568;18473;900;1029;198470675;2218615 + 2569;18480;910;1029;201839876;2055685 + 2570;18488;910;1030;201839876;2074173 + 2571;18492;910;1030;201839876;2074173 + 2572;18504;910;1030;201839876;2074173 + 2573;18505;910;1031;201839876;2092678 + 2574;18516;910;1031;201839876;2092678 + 2575;18519;910;1032;201839876;2111197 + 2576;18528;910;1032;201839876;2111197 + 2577;18538;910;1033;201839876;2129735 + 2578;18540;910;1033;201839876;2129735 + 2579;18552;910;1033;201839876;2129735 + 2580;18552;910;1034;201839876;2148287 + 2581;18564;910;1034;201839876;2148287 + 2582;18571;910;1035;201839876;2166858 + 2583;18576;910;1035;201839876;2166858 + 2584;18586;910;1036;201839876;2185444 + 2585;18588;910;1036;201839876;2185444 + 2586;18600;920;1036;202446305;2020774 + 2587;18608;920;1037;202446305;2039382 + 2588;18612;920;1037;202446305;2039382 + 2589;18621;920;1038;202446305;2058003 + 2590;18624;920;1038;202446305;2058003 + 2591;18636;920;1038;202446305;2058003 + 2592;18641;920;1039;202446305;2076644 + 2593;18648;920;1039;202446305;2076644 + 2594;18660;920;1039;202446305;2076644 + 2595;18664;920;1040;202446305;2095308 + 2596;18672;920;1040;202446305;2095308 + 2597;18677;920;1041;202446305;2113985 + 2598;18684;920;1041;202446305;2113985 + 2599;18692;920;1042;202446305;2132677 + 2600;18696;920;1042;202446305;2132677 + 2601;18705;920;1043;202446305;2151382 + 2602;18708;920;1043;202446305;2151382 + 2603;18720;930;1043;200699352;1984992 + 2604;18721;940;1044;191804129;1835557 + 2605;18732;940;1044;191804129;1835557 + 2606;18734;940;1045;191804129;1854291 + 2607;18744;940;1045;191804129;1854291 + 2608;18753;940;1046;191804129;1873044 + 2609;18756;940;1046;191804129;1873044 + 2610;18768;940;1046;191804129;1873044 + 2611;18771;940;1047;191804129;1891815 + 2612;18780;940;1047;191804129;1891815 + 2613;18783;940;1048;191804129;1910598 + 2614;18792;940;1048;191804129;1910598 + 2615;18797;940;1049;191804129;1929395 + 2616;18804;940;1049;191804129;1929395 + 2617;18812;940;1050;191804129;1948207 + 2618;18816;940;1050;191804129;1948207 + 2619;18826;940;1051;191804129;1967033 + 2620;18828;940;1051;191804129;1967033 + 2621;18840;940;1051;191804129;1967033 + 2622;18841;940;1052;191804129;1985874 + 2623;18852;940;1052;191804129;1985874 + 2624;18863;940;1053;191804129;2004737 + 2625;18864;940;1053;191804129;2004737 + 2626;18876;940;1053;191804129;2004737 + 2627;18880;940;1054;191804129;2023617 + 2628;18888;940;1054;191804129;2023617 + 2629;18894;940;1055;191804129;2042511 + 2630;18900;940;1055;191804129;2042511 + 2631;18907;940;1056;191804129;2061418 + 2632;18912;940;1056;191804129;2061418 + 2633;18924;950;1056;194119644;1891376 + 2634;18928;950;1057;194119644;1910304 + 2635;18936;950;1057;194119644;1910304 + 2636;18944;950;1058;194119644;1929248 + 2637;18948;950;1058;194119644;1929248 + 2638;18956;950;1059;194119644;1948204 + 2639;18960;950;1059;194119644;1948204 + 2640;18969;950;1060;194119644;1967173 + 2641;18972;950;1060;194119644;1967173 + 2642;18984;950;1060;194119644;1967173 + 2643;18991;950;1061;194119644;1986164 + 2644;18996;950;1061;194119644;1986164 + 2645;19008;950;1061;194119644;1986164 + 2646;19012;950;1062;194119644;2005176 + 2647;19020;950;1062;194119644;2005176 + 2648;19028;950;1063;194119644;2024204 + 2649;19032;950;1063;194119644;2024204 + 2650;19040;950;1064;194119644;2043244 + 2651;19044;950;1064;194119644;2043244 + 2652;19054;950;1065;194119644;2062298 + 2653;19056;950;1065;194119644;2062298 + 2654;19068;950;1065;194119644;2062298 + 2655;19076;950;1066;194119644;2081374 + 2656;19080;950;1066;194119644;2081374 + 2657;19092;950;1066;194119644;2081374 + 2658;19096;950;1067;194119644;2100470 + 2659;19104;950;1067;194119644;2100470 + 2660;19114;960;1068;188288374;1947801 + 2661;19116;960;1068;188288374;1947801 + 2662;19127;960;1069;188288374;1966928 + 2663;19128;960;1069;188288374;1966928 + 2664;19140;960;1069;188288374;1966928 + 2665;19148;960;1070;188288374;1986076 + 2666;19152;960;1070;188288374;1986076 + 2667;19164;960;1070;188288374;1986076 + 2668;19169;960;1071;188288374;2005245 + 2669;19176;960;1071;188288374;2005245 + 2670;19188;960;1071;188288374;2005245 + 2671;19190;960;1072;188288374;2024435 + 2672;19200;960;1072;188288374;2024435 + 2673;19210;960;1073;188288374;2043645 + 2674;19212;960;1073;188288374;2043645 + 2675;19224;960;1073;188288374;2043645 + 2676;19233;960;1074;188288374;2062878 + 2677;19236;960;1074;188288374;2062878 + 2678;19248;960;1074;188288374;2062878 + 2679;19249;960;1075;188288374;2082127 + 2680;19260;960;1075;188288374;2082127 + 2681;19265;960;1076;188288374;2101392 + 2682;19272;960;1076;188288374;2101392 + 2683;19283;960;1077;188288374;2120675 + 2684;19284;960;1077;188288374;2120675 + 2685;19296;960;1077;188288374;2120675 + 2686;19306;960;1078;188288374;2139981 + 2687;19308;960;1078;188288374;2139981 + 2688;19320;960;1078;188288374;2139981 + 2689;19327;960;1079;188288374;2159308 + 2690;19332;960;1079;188288374;2159308 + 2691;19343;960;1080;188288374;2178651 + 2692;19344;960;1080;188288374;2178651 + 2693;19356;960;1080;188288374;2178651 + 2694;19365;960;1081;188288374;2198016 + 2695;19368;960;1081;188288374;2198016 + 2696;19380;960;1081;188288374;2198016 + 2697;19383;960;1082;188288374;2217399 + 2698;19392;960;1082;188288374;2217399 + 2699;19402;960;1083;188288374;2236801 + 2700;19404;960;1083;188288374;2236801 + 2701;19416;960;1083;188288374;2236801 + 2702;19424;960;1084;188288374;2256225 + 2703;19428;960;1084;188288374;2256225 + 2704;19440;960;1084;188288374;2256225 + 2705;19440;960;1085;188288374;2275665 + 2706;19452;960;1085;188288374;2275665 + 2707;19456;960;1086;188288374;2295121 + 2708;19464;960;1086;188288374;2295121 + 2709;19474;960;1087;188288374;2314595 + 2710;19476;960;1087;188288374;2314595 + 2711;19488;960;1087;188288374;2314595 + 2712;19497;960;1088;188288374;2334092 + 2713;19500;960;1088;188288374;2334092 + 2714;19512;960;1088;188288374;2334092 + 2715;19517;960;1089;188288374;2353609 + 2716;19524;960;1089;188288374;2353609 + 2717;19532;960;1090;188288374;2373141 + 2718;19536;960;1090;188288374;2373141 + 2719;19548;960;1090;188288374;2373141 + 2720;19554;960;1091;188288374;2392695 + 2721;19560;960;1091;188288374;2392695 + 2722;19572;960;1091;188288374;2392695 + 2723;19572;960;1092;188288374;2412267 + 2724;19584;960;1092;188288374;2412267 + 2725;19590;960;1093;188288374;2431857 + 2726;19596;960;1093;188288374;2431857 + 2727;19608;960;1093;188288374;2431857 + 2728;19608;960;1094;188288374;2451465 + 2729;19620;960;1094;188288374;2451465 + 2730;19632;960;1094;188288374;2451465 + 2731;19632;960;1095;188288374;2471097 + 2732;19644;960;1095;188288374;2471097 + 2733;19649;960;1096;188288374;2490746 + 2734;19656;960;1096;188288374;2490746 + 2735;19668;960;1096;188288374;2490746 + 2736;19669;960;1097;188288374;2510415 + 2737;19680;960;1097;188288374;2510415 + 2738;19683;970;1098;192894105;2356606 + 2739;19692;970;1098;192894105;2356606 + 2740;19699;980;1099;191293333;2201142 + 2741;19704;980;1099;191293333;2201142 + 2742;19716;980;1099;191293333;2201142 + 2743;19723;990;1100;192156093;2043865 + 2744;19728;990;1100;192156093;2043865 + 2745;19739;1000;1101;178479668;1884884 + 2746;19740;1000;1101;178479668;1884884 + 2747;19752;1000;1101;178479668;1884884 + 2748;19757;1000;1102;178479668;1904641 + 2749;19764;1000;1102;178479668;1904641 + 2750;19776;1000;1102;178479668;1904641 + 2751;19777;1000;1103;178479668;1924418 + 2752;19788;1000;1103;178479668;1924418 + 2753;19794;1010;1104;167945808;1763689 + 2754;19800;1010;1104;167945808;1763689 + 2755;19812;1010;1104;167945808;1763689 + 2756;19813;1010;1105;167945808;1783502 + 2757;19824;1010;1105;167945808;1783502 + 2758;19836;1010;1105;167945808;1783502 + 2759;19837;1010;1106;167945808;1803339 + 2760;19848;1010;1106;167945808;1803339 + 2761;19854;1010;1107;167945808;1823193 + 2762;19860;1010;1107;167945808;1823193 + 2763;19872;1010;1107;167945808;1823193 + 2764;19876;1010;1108;167945808;1843069 + 2765;19884;1010;1108;167945808;1843069 + 2766;19892;1010;1109;167945808;1862961 + 2767;19896;1010;1109;167945808;1862961 + 2768;19908;1010;1109;167945808;1862961 + 2769;19911;1010;1110;167945808;1882872 + 2770;19920;1010;1110;167945808;1882872 + 2771;19932;1010;1110;167945808;1882872 + 2772;19934;1010;1111;167945808;1902806 + 2773;19944;1010;1111;167945808;1902806 + 2774;19953;1010;1112;167945808;1922759 + 2775;19956;1010;1112;167945808;1922759 + 2776;19968;1010;1112;167945808;1922759 + 2777;19970;1010;1113;167945808;1942729 + 2778;19980;1010;1113;167945808;1942729 + 2779;19992;1010;1113;167945808;1942729 + 2780;19994;1010;1114;167945808;1962723 + 2781;20004;1010;1114;167945808;1962723 + 2782;20008;1010;1115;167945808;1982731 + 2783;20016;1010;1115;167945808;1982731 + 2784;20020;1010;1116;167945808;2002751 + 2785;20028;1010;1116;167945808;2002751 + 2786;20032;1010;1117;167945808;2022783 + 2787;20040;1010;1117;167945808;2022783 + 2788;20052;1010;1117;167945808;2022783 + 2789;20053;1010;1118;167945808;2042836 + 2790;20064;1010;1118;167945808;2042836 + 2791;20075;1010;1119;167945808;2062911 + 2792;20076;1010;1119;167945808;2062911 + 2793;20088;1010;1119;167945808;2062911 + 2794;20094;1010;1120;167945808;2083005 + 2795;20100;1010;1120;167945808;2083005 + 2796;20108;1010;1121;167945808;2103113 + 2797;20112;1010;1121;167945808;2103113 + 2798;20122;1010;1122;167945808;2123235 + 2799;20124;1010;1122;167945808;2123235 + 2800;20136;1010;1122;167945808;2123235 + 2801;20142;1010;1123;167945808;2143377 + 2802;20148;1010;1123;167945808;2143377 + 2803;20155;1010;1124;167945808;2163532 + 2804;20160;1010;1124;167945808;2163532 + 2805;20171;1010;1125;167945808;2183703 + 2806;20172;1010;1125;167945808;2183703 + 2807;20184;1010;1125;167945808;2183703 + 2808;20195;1010;1126;167945808;2203898 + 2809;20196;1010;1126;167945808;2203898 + 2810;20208;1010;1126;167945808;2203898 + 2811;20209;1010;1127;167945808;2224107 + 2812;20220;1010;1127;167945808;2224107 + 2813;20232;1020;1127;162873641;2041668 + 2814;20232;1030;1128;159994807;1877600 + 2815;20244;1030;1128;159994807;1877600 + 2816;20249;1030;1129;159994807;1897849 + 2817;20256;1030;1129;159994807;1897849 + 2818;20262;1030;1130;159994807;1918111 + 2819;20268;1030;1130;159994807;1918111 + 2820;20280;1030;1130;159994807;1918111 + 2821;20283;1030;1131;159994807;1938394 + 2822;20292;1030;1131;159994807;1938394 + 2823;20304;1030;1131;159994807;1938394 + 2824;20305;1030;1132;159994807;1958699 + 2825;20316;1030;1132;159994807;1958699 + 2826;20327;1030;1133;159994807;1979026 + 2827;20328;1030;1133;159994807;1979026 + 2828;20340;1030;1133;159994807;1979026 + 2829;20346;1030;1134;159994807;1999372 + 2830;20352;1030;1134;159994807;1999372 + 2831;20364;1030;1134;159994807;1999372 + 2832;20368;1030;1135;159994807;2019740 + 2833;20376;1030;1135;159994807;2019740 + 2834;20388;1030;1135;159994807;2019740 + 2835;20391;1030;1136;159994807;2040131 + 2836;20400;1030;1136;159994807;2040131 + 2837;20410;1030;1137;159994807;2060541 + 2838;20412;1030;1137;159994807;2060541 + 2839;20424;1030;1137;159994807;2060541 + 2840;20433;1030;1138;159994807;2080974 + 2841;20436;1030;1138;159994807;2080974 + 2842;20448;1030;1138;159994807;2080974 + 2843;20453;1030;1139;159994807;2101427 + 2844;20460;1030;1139;159994807;2101427 + 2845;20472;1030;1139;159994807;2101427 + 2846;20477;1030;1140;159994807;2121904 + 2847;20484;1030;1140;159994807;2121904 + 2848;20495;1030;1141;159994807;2142399 + 2849;20496;1030;1141;159994807;2142399 + 2850;20508;1030;1141;159994807;2142399 + 2851;20517;1040;1142;159968143;1976939 + 2852;20520;1040;1142;159968143;1976939 + 2853;20532;1040;1142;159968143;1976939 + 2854;20539;1040;1143;159968143;1997478 + 2855;20544;1040;1143;159968143;1997478 + 2856;20553;1040;1144;159968143;2018031 + 2857;20556;1040;1144;159968143;2018031 + 2858;20568;1040;1144;159968143;2018031 + 2859;20575;1040;1145;159968143;2038606 + 2860;20580;1040;1145;159968143;2038606 + 2861;20592;1040;1145;159968143;2038606 + 2862;20595;1040;1146;159968143;2059201 + 2863;20604;1040;1146;159968143;2059201 + 2864;20611;1040;1147;159968143;2079812 + 2865;20616;1040;1147;159968143;2079812 + 2866;20628;1040;1147;159968143;2079812 + 2867;20631;1050;1148;150226080;1912849 + 2868;20640;1060;1148;143233289;1723676 + 2869;20652;1060;1148;143233289;1723676 + 2870;20654;1060;1149;143233289;1744330 + 2871;20664;1060;1149;143233289;1744330 + 2872;20676;1060;1149;143233289;1744330 + 2873;20677;1060;1150;143233289;1765007 + 2874;20688;1060;1150;143233289;1765007 + 2875;20696;1060;1151;143233289;1785703 + 2876;20700;1060;1151;143233289;1785703 + 2877;20708;1060;1152;143233289;1806411 + 2878;20712;1060;1152;143233289;1806411 + 2879;20722;1060;1153;143233289;1827133 + 2880;20724;1060;1153;143233289;1827133 + 2881;20736;1060;1153;143233289;1827133 + 2882;20745;1060;1154;143233289;1847878 + 2883;20748;1060;1154;143233289;1847878 + 2884;20760;1060;1154;143233289;1847878 + 2885;20760;1060;1155;143233289;1868638 + 2886;20772;1060;1155;143233289;1868638 + 2887;20779;1060;1156;143233289;1889417 + 2888;20784;1060;1156;143233289;1889417 + 2889;20796;1060;1156;143233289;1889417 + 2890;20802;1060;1157;143233289;1910219 + 2891;20808;1060;1157;143233289;1910219 + 2892;20817;1060;1158;143233289;1931036 + 2893;20820;1060;1158;143233289;1931036 + 2894;20830;1060;1159;143233289;1951866 + 2895;20832;1060;1159;143233289;1951866 + 2896;20844;1060;1159;143233289;1951866 + 2897;20852;1060;1160;143233289;1972718 + 2898;20856;1060;1160;143233289;1972718 + 2899;20868;1060;1160;143233289;1972718 + 2900;20873;1060;1161;143233289;1993591 + 2901;20880;1060;1161;143233289;1993591 + 2902;20892;1060;1161;143233289;1993591 + 2903;20896;1060;1162;143233289;2014487 + 2904;20904;1060;1162;143233289;2014487 + 2905;20916;1060;1162;143233289;2014487 + 2906;20920;1060;1163;143233289;2035407 + 2907;20928;1060;1163;143233289;2035407 + 2908;20934;1060;1164;143233289;2056341 + 2909;20940;1060;1164;143233289;2056341 + 2910;20948;1060;1165;143233289;2077289 + 2911;20952;1060;1165;143233289;2077289 + 2912;20964;1060;1165;143233289;2077289 + 2913;20969;1060;1166;143233289;2098258 + 2914;20976;1060;1166;143233289;2098258 + 2915;20983;1060;1167;143233289;2119241 + 2916;20988;1060;1167;143233289;2119241 + 2917;21000;1060;1167;143233289;2119241 + 2918;21000;1060;1168;143233289;2140241 + 2919;21012;1060;1168;143233289;2140241 + 2920;21024;1060;1168;143233289;2140241 + 2921;21024;1060;1169;143233289;2161265 + 2922;21036;1060;1169;143233289;2161265 + 2923;21043;1060;1170;143233289;2182308 + 2924;21048;1060;1170;143233289;2182308 + 2925;21058;1060;1171;143233289;2203366 + 2926;21060;1060;1171;143233289;2203366 + 2927;21072;1060;1171;143233289;2203366 + 2928;21082;1060;1172;143233289;2224448 + 2929;21084;1060;1172;143233289;2224448 + 2930;21096;1060;1172;143233289;2224448 + 2931;21103;1060;1173;143233289;2245551 + 2932;21108;1060;1173;143233289;2245551 + 2933;21115;1060;1174;143233289;2266666 + 2934;21120;1060;1174;143233289;2266666 + 2935;21128;1060;1175;143233289;2287794 + 2936;21132;1060;1175;143233289;2287794 + 2937;21144;1060;1175;143233289;2287794 + 2938;21146;1070;1176;137594097;2118076 + 2939;21156;1070;1176;137594097;2118076 + 2940;21168;1070;1176;137594097;2118076 + 2941;21170;1070;1177;137594097;2139246 + 2942;21180;1070;1177;137594097;2139246 + 2943;21192;1070;1177;137594097;2139246 + 2944;21192;1070;1178;137594097;2160438 + 2945;21204;1070;1178;137594097;2160438 + 2946;21209;1070;1179;137594097;2181647 + 2947;21216;1070;1179;137594097;2181647 + 2948;21228;1070;1179;137594097;2181647 + 2949;21233;1070;1180;137594097;2202880 + 2950;21240;1070;1180;137594097;2202880 + 2951;21252;1070;1180;137594097;2202880 + 2952;21252;1070;1181;137594097;2224132 + 2953;21264;1070;1181;137594097;2224132 + 2954;21264;1070;1182;137594097;2245396 + 2955;21276;1070;1182;137594097;2245396 + 2956;21277;1070;1183;137594097;2266673 + 2957;21288;1070;1183;137594097;2266673 + 2958;21291;1070;1184;137594097;2287964 + 2959;21300;1070;1184;137594097;2287964 + 2960;21311;1070;1185;137594097;2309275 + 2961;21312;1070;1185;137594097;2309275 + 2962;21324;1070;1185;137594097;2309275 + 2963;21332;1070;1186;137594097;2330607 + 2964;21336;1070;1186;137594097;2330607 + 2965;21348;1070;1186;137594097;2330607 + 2966;21354;1070;1187;137594097;2351961 + 2967;21360;1070;1187;137594097;2351961 + 2968;21372;1070;1187;137594097;2351961 + 2969;21377;1070;1188;137594097;2373338 + 2970;21384;1070;1188;137594097;2373338 + 2971;21396;1070;1188;137594097;2373338 + 2972;21398;1070;1189;137594097;2394736 + 2973;21408;1070;1189;137594097;2394736 + 2974;21415;1070;1190;137594097;2416151 + 2975;21420;1070;1190;137594097;2416151 + 2976;21432;1070;1190;137594097;2416151 + 2977;21437;1070;1191;137594097;2437588 + 2978;21444;1070;1191;137594097;2437588 + 2979;21451;1070;1192;137594097;2459039 + 2980;21456;1070;1192;137594097;2459039 + 2981;21468;1070;1192;137594097;2459039 + 2982;21469;1070;1193;137594097;2480508 + 2983;21480;1070;1193;137594097;2480508 + 2984;21488;1070;1194;137594097;2501996 + 2985;21492;1070;1194;137594097;2501996 + 2986;21501;1070;1195;137594097;2523497 + 2987;21504;1070;1195;137594097;2523497 + 2988;21516;1070;1195;137594097;2523497 + 2989;21519;1070;1196;137594097;2545016 + 2990;21528;1070;1196;137594097;2545016 + 2991;21537;1070;1197;137594097;2566553 + 2992;21540;1070;1197;137594097;2566553 + 2993;21552;1070;1197;137594097;2566553 + 2994;21557;1070;1198;137594097;2588110 + 2995;21564;1070;1198;137594097;2588110 + 2996;21576;1070;1198;137594097;2588110 + 2997;21576;1070;1199;137594097;2609686 + 2998;21588;1070;1199;137594097;2609686 + 2999;21598;1070;1200;137594097;2631284 + 3000;21600;1070;1200;137594097;2631284 + 3001;21612;1070;1200;137594097;2631284 + 3002;21612;1070;1201;137594097;2652896 + 3003;21624;1070;1201;137594097;2652896 + 3004;21629;1090;1202;153337497;2287075 + 3005;21636;1090;1202;153337497;2287075 + 3006;21644;1090;1203;153337497;2308719 + 3007;21648;1090;1203;153337497;2308719 + 3008;21660;1090;1203;153337497;2308719 + 3009;21664;1090;1204;153337497;2330383 + 3010;21672;1090;1204;153337497;2330383 + 3011;21678;1090;1205;153337497;2352061 + 3012;21684;1090;1205;153337497;2352061 + 3013;21696;1090;1205;153337497;2352061 + 3014;21698;1100;1206;155551162;2177195 + 3015;21708;1100;1206;155551162;2177195 + 3016;21716;1100;1207;155551162;2198911 + 3017;21720;1100;1207;155551162;2198911 + 3018;21732;1100;1207;155551162;2198911 + 3019;21737;1100;1208;155551162;2220648 + 3020;21744;1100;1208;155551162;2220648 + 3021;21756;1100;1208;155551162;2220648 + 3022;21761;1100;1209;155551162;2242409 + 3023;21768;1100;1209;155551162;2242409 + 3024;21778;1100;1210;155551162;2264187 + 3025;21780;1100;1210;155551162;2264187 + 3026;21792;1100;1210;155551162;2264187 + 3027;21802;1100;1211;155551162;2285989 + 3028;21804;1100;1211;155551162;2285989 + 3029;21816;1100;1211;155551162;2285989 + 3030;21819;1100;1212;155551162;2307808 + 3031;21828;1100;1212;155551162;2307808 + 3032;21831;1100;1213;155551162;2329639 + 3033;21840;1100;1213;155551162;2329639 + 3034;21847;1100;1214;155551162;2351486 + 3035;21852;1100;1214;155551162;2351486 + 3036;21861;1100;1215;155551162;2373347 + 3037;21864;1100;1215;155551162;2373347 + 3038;21876;1100;1215;155551162;2373347 + 3039;21878;1100;1216;155551162;2395225 + 3040;21888;1100;1216;155551162;2395225 + 3041;21900;1100;1216;155551162;2395225 + 3042;21901;1100;1217;155551162;2417126 + 3043;21912;1100;1217;155551162;2417126 + 3044;21913;1100;1218;155551162;2439039 + 3045;21924;1100;1218;155551162;2439039 + 3046;21935;1100;1219;155551162;2460974 + 3047;21936;1100;1219;155551162;2460974 + 3048;21948;1100;1219;155551162;2460974 + 3049;21954;1100;1220;155551162;2482928 + 3050;21960;1100;1220;155551162;2482928 + 3051;21970;1100;1221;155551162;2504898 + 3052;21972;1100;1221;155551162;2504898 + 3053;21984;1100;1221;155551162;2504898 + 3054;21988;1100;1222;155551162;2526886 + 3055;21996;1100;1222;155551162;2526886 + 3056;22007;1100;1223;155551162;2548893 + 3057;22008;1100;1223;155551162;2548893 + 3058;22020;1100;1223;155551162;2548893 + 3059;22024;1100;1224;155551162;2570917 + 3060;22032;1100;1224;155551162;2570917 + 3061;22039;1100;1225;155551162;2592956 + 3062;22044;1100;1225;155551162;2592956 + 3063;22056;1100;1225;155551162;2592956 + 3064;22056;1100;1226;155551162;2615012 + 3065;22068;1100;1226;155551162;2615012 + 3066;22069;1100;1227;155551162;2637081 + 3067;22080;1100;1227;155551162;2637081 + 3068;22089;1100;1228;155551162;2659170 + 3069;22092;1100;1228;155551162;2659170 + 3070;22104;1100;1228;155551162;2659170 + 3071;22105;1100;1229;155551162;2681275 + 3072;22116;1100;1229;155551162;2681275 + 3073;22122;1100;1230;155551162;2703397 + 3074;22128;1100;1230;155551162;2703397 + 3075;22134;1100;1231;155551162;2725531 + 3076;22140;1100;1231;155551162;2725531 + 3077;22152;1100;1231;155551162;2725531 + 3078;22153;1100;1232;155551162;2747684 + 3079;22164;1100;1232;155551162;2747684 + 3080;22175;1110;1233;163608224;2571414 + 3081;22176;1110;1233;163608224;2571414 + 3082;22188;1120;1233;157560266;2371107 + 3083;22197;1140;1234;143233289;1987279 + 3084;22200;1140;1234;143233289;1987279 + 3085;22212;1140;1234;143233289;1987279 + 3086;22216;1140;1235;143233289;2009495 + 3087;22224;1140;1235;143233289;2009495 + 3088;22236;1140;1235;143233289;2009495 + 3089;22238;1140;1236;143233289;2031733 + 3090;22248;1140;1236;143233289;2031733 + 3091;22258;1140;1237;143233289;2053991 + 3092;22260;1140;1237;143233289;2053991 + 3093;22272;1140;1237;143233289;2053991 + 3094;22281;1140;1238;143233289;2076272 + 3095;22284;1140;1238;143233289;2076272 + 3096;22293;1140;1239;143233289;2098565 + 3097;22296;1140;1239;143233289;2098565 + 3098;22308;1140;1239;143233289;2098565 + 3099;22315;1140;1240;143233289;2120880 + 3100;22320;1140;1240;143233289;2120880 + 3101;22329;1140;1241;143233289;2143209 + 3102;22332;1140;1241;143233289;2143209 + 3103;22342;1140;1242;143233289;2165551 + 3104;22344;1140;1242;143233289;2165551 + 3105;22356;1140;1242;143233289;2165551 + 3106;22361;1140;1243;143233289;2187912 + 3107;22368;1140;1243;143233289;2187912 + 3108;22380;1140;1243;143233289;2187912 + 3109;22385;1140;1244;143233289;2210297 + 3110;22392;1140;1244;143233289;2210297 + 3111;22404;1140;1244;143233289;2210297 + 3112;22404;1140;1245;143233289;2232701 + 3113;22416;1140;1245;143233289;2232701 + 3114;22425;1140;1246;143233289;2255126 + 3115;22428;1140;1246;143233289;2255126 + 3116;22440;1140;1246;143233289;2255126 + 3117;22442;1140;1247;143233289;2277568 + 3118;22452;1140;1247;143233289;2277568 + 3119;22464;1140;1247;143233289;2277568 + 3120;22464;1140;1248;143233289;2300032 + 3121;22476;1140;1248;143233289;2300032 + 3122;22480;1140;1249;143233289;2322512 + 3123;22488;1140;1249;143233289;2322512 + 3124;22492;1140;1250;143233289;2345004 + 3125;22500;1140;1250;143233289;2345004 + 3126;22505;1140;1251;143233289;2367509 + 3127;22512;1140;1251;143233289;2367509 + 3128;22522;1150;1252;145107477;2183983 + 3129;22524;1150;1252;145107477;2183983 + 3130;22535;1150;1253;145107477;2206518 + 3131;22536;1150;1253;145107477;2206518 + 3132;22548;1150;1253;145107477;2206518 + 3133;22557;1150;1254;145107477;2229075 + 3134;22560;1150;1254;145107477;2229075 + 3135;22570;1150;1255;145107477;2251645 + 3136;22572;1150;1255;145107477;2251645 + 3137;22584;1150;1255;145107477;2251645 + 3138;22589;1150;1256;145107477;2274234 + 3139;22596;1150;1256;145107477;2274234 + 3140;22606;1150;1257;145107477;2296840 + 3141;22608;1150;1257;145107477;2296840 + 3142;22618;1150;1258;145107477;2319458 + 3143;22620;1150;1258;145107477;2319458 + 3144;22632;1160;1258;147743061;2111570 + 3145;22641;1160;1259;147743061;2134211 + 3146;22644;1160;1259;147743061;2134211 + 3147;22656;1160;1259;147743061;2134211 + 3148;22665;1160;1260;147743061;2156876 + 3149;22668;1160;1260;147743061;2156876 + 3150;22677;1160;1261;147743061;2179553 + 3151;22680;1160;1261;147743061;2179553 + 3152;22692;1160;1261;147743061;2179553 + 3153;22696;1160;1262;147743061;2202249 + 3154;22704;1160;1262;147743061;2202249 + 3155;22716;1160;1262;147743061;2202249 + 3156;22720;1160;1263;147743061;2224969 + 3157;22728;1160;1263;147743061;2224969 + 3158;22735;1160;1264;147743061;2247704 + 3159;22740;1160;1264;147743061;2247704 + 3160;22752;1160;1264;147743061;2247704 + 3161;22758;1160;1265;147743061;2270462 + 3162;22764;1160;1265;147743061;2270462 + 3163;22773;1160;1266;147743061;2293235 + 3164;22776;1160;1266;147743061;2293235 + 3165;22788;1160;1266;147743061;2293235 + 3166;22794;1160;1267;147743061;2316029 + 3167;22800;1160;1267;147743061;2316029 + 3168;22812;1160;1267;147743061;2316029 + 3169;22814;1160;1268;147743061;2338843 + 3170;22824;1160;1268;147743061;2338843 + 3171;22836;1160;1268;147743061;2338843 + 3172;22836;1160;1269;147743061;2361679 + 3173;22848;1160;1269;147743061;2361679 + 3174;22848;1160;1270;147743061;2384527 + 3175;22860;1160;1270;147743061;2384527 + 3176;22872;1160;1270;147743061;2384527 + 3177;22872;1160;1271;147743061;2407399 + 3178;22884;1160;1271;147743061;2407399 + 3179;22894;1160;1272;147743061;2430293 + 3180;22896;1160;1272;147743061;2430293 + 3181;22908;1160;1272;147743061;2430293 + 3182;22914;1170;1273;144504121;2243432 + 3183;22920;1170;1273;144504121;2243432 + 3184;22932;1170;1273;144504121;2243432 + 3185;22935;1170;1274;144504121;2266367 + 3186;22944;1170;1274;144504121;2266367 + 3187;22949;1170;1275;144504121;2289316 + 3188;22956;1170;1275;144504121;2289316 + 3189;22965;1170;1276;144504121;2312281 + 3190;22968;1170;1276;144504121;2312281 + 3191;22980;1170;1276;144504121;2312281 + 3192;22986;1170;1277;144504121;2335267 + 3193;22992;1170;1277;144504121;2335267 + 3194;23001;1170;1278;144504121;2358268 + 3195;23004;1170;1278;144504121;2358268 + 3196;23016;1170;1278;144504121;2358268 + 3197;23016;1170;1279;144504121;2381284 + 3198;23028;1170;1279;144504121;2381284 + 3199;23032;1170;1280;144504121;2404316 + 3200;23040;1170;1280;144504121;2404316 + 3201;23046;1170;1281;144504121;2427362 + 3202;23052;1170;1281;144504121;2427362 + 3203;23064;1170;1281;144504121;2427362 + 3204;23070;1180;1282;139348040;2238802 + 3205;23076;1180;1282;139348040;2238802 + 3206;23088;1180;1282;139348040;2238802 + 3207;23090;1180;1283;139348040;2261892 + 3208;23100;1180;1283;139348040;2261892 + 3209;23112;1180;1283;139348040;2261892 + 3210;23112;1180;1284;139348040;2285004 + 3211;23124;1180;1284;139348040;2285004 + 3212;23124;1180;1285;139348040;2308128 + 3213;23136;1180;1285;139348040;2308128 + 3214;23141;1180;1286;139348040;2331269 + 3215;23148;1180;1286;139348040;2331269 + 3216;23160;1180;1286;139348040;2331269 + 3217;23164;1180;1287;139348040;2354433 + 3218;23172;1180;1287;139348040;2354433 + 3219;23184;1180;1287;139348040;2354433 + 3220;23185;1180;1288;139348040;2377618 + 3221;23196;1180;1288;139348040;2377618 + 3222;23197;1180;1289;139348040;2400815 + 3223;23208;1180;1289;139348040;2400815 + 3224;23219;1180;1290;139348040;2424034 + 3225;23220;1180;1290;139348040;2424034 + 3226;23232;1180;1290;139348040;2424034 + 3227;23236;1180;1291;139348040;2447270 + 3228;23244;1180;1291;139348040;2447270 + 3229;23253;1180;1292;139348040;2470523 + 3230;23256;1180;1292;139348040;2470523 + 3231;23266;1180;1293;139348040;2493789 + 3232;23268;1180;1293;139348040;2493789 + 3233;23280;1180;1293;139348040;2493789 + 3234;23288;1180;1294;139348040;2517077 + 3235;23292;1180;1294;139348040;2517077 + 3236;23300;1180;1295;139348040;2540377 + 3237;23304;1180;1295;139348040;2540377 + 3238;23314;1180;1296;139348040;2563691 + 3239;23316;1180;1296;139348040;2563691 + 3240;23328;1180;1296;139348040;2563691 + 3241;23335;1180;1297;139348040;2587026 + 3242;23340;1180;1297;139348040;2587026 + 3243;23347;1180;1298;139348040;2610373 + 3244;23352;1180;1298;139348040;2610373 + 3245;23364;1180;1298;139348040;2610373 + 3246;23365;1180;1299;139348040;2633738 + 3247;23376;1180;1299;139348040;2633738 + 3248;23379;1190;1300;138030502;2443661 + 3249;23388;1190;1300;138030502;2443661 + 3250;23400;1190;1300;138030502;2443661 + 3251;23403;1190;1301;138030502;2467064 + 3252;23412;1190;1301;138030502;2467064 + 3253;23424;1200;1301;126888408;2251756 + 3254;23427;1200;1302;126888408;2275183 + 3255;23436;1200;1302;126888408;2275183 + 3256;23448;1200;1302;126888408;2275183 + 3257;23448;1200;1303;126888408;2298631 + 3258;23460;1200;1303;126888408;2298631 + 3259;23466;1200;1304;126888408;2322097 + 3260;23472;1200;1304;126888408;2322097 + 3261;23481;1200;1305;126888408;2345578 + 3262;23484;1200;1305;126888408;2345578 + 3263;23496;1200;1305;126888408;2345578 + 3264;23503;1200;1306;126888408;2369081 + 3265;23508;1200;1306;126888408;2369081 + 3266;23520;1200;1306;126888408;2369081 + 3267;23522;1200;1307;126888408;2392603 + 3268;23532;1200;1307;126888408;2392603 + 3269;23539;1200;1308;126888408;2416142 + 3270;23544;1200;1308;126888408;2416142 + 3271;23551;1200;1309;126888408;2439693 + 3272;23556;1200;1309;126888408;2439693 + 3273;23568;1200;1309;126888408;2439693 + 3274;23571;1200;1310;126888408;2463264 + 3275;23580;1200;1310;126888408;2463264 + 3276;23585;1200;1311;126888408;2486849 + 3277;23592;1200;1311;126888408;2486849 + 3278;23604;1200;1311;126888408;2486849 + 3279;23606;1200;1312;126888408;2510455 + 3280;23616;1200;1312;126888408;2510455 + 3281;23619;1200;1313;126888408;2534074 + 3282;23628;1200;1313;126888408;2534074 + 3283;23640;1200;1313;126888408;2534074 + 3284;23640;1200;1314;126888408;2557714 + 3285;23652;1200;1314;126888408;2557714 + 3286;23661;1200;1315;126888408;2581375 + 3287;23664;1200;1315;126888408;2581375 + 3288;23676;1200;1315;126888408;2581375 + 3289;23683;1200;1316;126888408;2605058 + 3290;23688;1200;1316;126888408;2605058 + 3291;23700;1200;1316;126888408;2605058 + 3292;23705;1200;1317;126888408;2628763 + 3293;23712;1200;1317;126888408;2628763 + 3294;23718;1200;1318;126888408;2652481 + 3295;23724;1200;1318;126888408;2652481 + 3296;23732;1200;1319;126888408;2676213 + 3297;23736;1200;1319;126888408;2676213 + 3298;23747;1200;1320;126888408;2699960 + 3299;23748;1200;1320;126888408;2699960 + 3300;23760;1200;1320;126888408;2699960 + 3301;23766;1200;1321;126888408;2723726 + 3302;23772;1200;1321;126888408;2723726 + 3303;23784;1200;1321;126888408;2723726 + 3304;23786;1200;1322;126888408;2747512 + 3305;23796;1200;1322;126888408;2747512 + 3306;23798;1200;1323;126888408;2771310 + 3307;23808;1200;1323;126888408;2771310 + 3308;23810;1200;1324;126888408;2795120 + 3309;23820;1200;1324;126888408;2795120 + 3310;23828;1200;1325;126888408;2818948 + 3311;23832;1200;1325;126888408;2818948 + 3312;23840;1200;1326;126888408;2842788 + 3313;23844;1200;1326;126888408;2842788 + 3314;23855;1200;1327;126888408;2866643 + 3315;23856;1200;1327;126888408;2866643 + 3316;23868;1200;1327;126888408;2866643 + 3317;23875;1200;1328;126888408;2890518 + 3318;23880;1200;1328;126888408;2890518 + 3319;23892;1200;1328;126888408;2890518 + 3320;23898;1200;1329;126888408;2914416 + 3321;23904;1200;1329;126888408;2914416 + 3322;23914;1200;1330;126888408;2938330 + 3323;23916;1200;1330;126888408;2938330 + 3324;23928;1200;1330;126888408;2938330 + 3325;23938;1200;1331;126888408;2962268 + 3326;23940;1200;1331;126888408;2962268 + 3327;23952;1200;1331;126888408;2962268 + 3328;23955;1210;1332;134018076;2769116 + 3329;23964;1220;1332;122442478;2550207 + 3330;23973;1220;1333;122442478;2574180 + 3331;23976;1220;1333;122442478;2574180 + 3332;23988;1220;1333;122442478;2574180 + 3333;23988;1220;1334;122442478;2598168 + 3334;24000;1220;1334;122442478;2598168 + 3335;24000;1220;1335;122442478;2622168 + 3336;24012;1220;1335;122442478;2622168 + 3337;24012;1220;1336;122442478;2646180 + 3338;24024;1220;1336;122442478;2646180 + 3339;24025;1220;1337;122442478;2670205 + 3340;24036;1220;1337;122442478;2670205 + 3341;24048;1220;1337;122442478;2670205 + 3342;24049;1220;1338;122442478;2694254 + 3343;24060;1220;1338;122442478;2694254 + 3344;24068;1220;1339;122442478;2718322 + 3345;24072;1220;1339;122442478;2718322 + 3346;24084;1220;1339;122442478;2718322 + 3347;24086;1220;1340;122442478;2742408 + 3348;24096;1220;1340;122442478;2742408 + 3349;24108;1220;1340;122442478;2742408 + 3350;24108;1220;1341;122442478;2766516 + 3351;24120;1220;1341;122442478;2766516 + 3352;24131;1220;1342;122442478;2790647 + 3353;24132;1220;1342;122442478;2790647 + 3354;24144;1220;1342;122442478;2790647 + 3355;24146;1220;1343;122442478;2814793 + 3356;24156;1220;1343;122442478;2814793 + 3357;24168;1220;1343;122442478;2814793 + 3358;24170;1220;1344;122442478;2838963 + 3359;24180;1220;1344;122442478;2838963 + 3360;24183;1220;1345;122442478;2863146 + 3361;24192;1220;1345;122442478;2863146 + 3362;24202;1220;1346;122442478;2887348 + 3363;24204;1220;1346;122442478;2887348 + 3364;24216;1220;1346;122442478;2887348 + 3365;24218;1220;1347;122442478;2911566 + 3366;24228;1220;1347;122442478;2911566 + 3367;24230;1220;1348;122442478;2935796 + 3368;24240;1220;1348;122442478;2935796 + 3369;24248;1220;1349;122442478;2960044 + 3370;24252;1220;1349;122442478;2960044 + 3371;24264;1220;1349;122442478;2960044 + 3372;24269;1220;1350;122442478;2984313 + 3373;24276;1220;1350;122442478;2984313 + 3374;24283;1220;1351;122442478;3008596 + 3375;24288;1220;1351;122442478;3008596 + 3376;24300;1220;1351;122442478;3008596 + 3377;24303;1220;1352;122442478;3032899 + 3378;24312;1220;1352;122442478;3032899 + 3379;24320;1220;1353;122442478;3057219 + 3380;24324;1220;1353;122442478;3057219 + 3381;24336;1220;1353;122442478;3057219 + 3382;24342;1220;1354;122442478;3081561 + 3383;24348;1220;1354;122442478;3081561 + 3384;24357;1220;1355;122442478;3105918 + 3385;24360;1220;1355;122442478;3105918 + 3386;24372;1220;1355;122442478;3105918 + 3387;24380;1220;1356;122442478;3130298 + 3388;24384;1220;1356;122442478;3130298 + 3389;24396;1220;1356;122442478;3130298 + 3390;24403;1220;1357;122442478;3154701 + 3391;24408;1220;1357;122442478;3154701 + 3392;24419;1240;1358;127524439;2736032 + 3393;24420;1240;1358;127524439;2736032 + 3394;24432;1240;1358;127524439;2736032 + 3395;24434;1240;1359;127524439;2760466 + 3396;24444;1240;1359;127524439;2760466 + 3397;24455;1240;1360;127524439;2784921 + 3398;24456;1240;1360;127524439;2784921 + 3399;24468;1240;1360;127524439;2784921 + 3400;24477;1240;1361;127524439;2809398 + 3401;24480;1240;1361;127524439;2809398 + 3402;24492;1240;1361;127524439;2809398 + 3403;24500;1240;1362;127524439;2833898 + 3404;24504;1240;1362;127524439;2833898 + 3405;24516;1240;1362;127524439;2833898 + 3406;24518;1240;1363;127524439;2858416 + 3407;24528;1240;1363;127524439;2858416 + 3408;24531;1240;1364;127524439;2882947 + 3409;24540;1240;1364;127524439;2882947 + 3410;24544;1240;1365;127524439;2907491 + 3411;24552;1240;1365;127524439;2907491 + 3412;24558;1240;1366;127524439;2932049 + 3413;24564;1240;1366;127524439;2932049 + 3414;24576;1240;1366;127524439;2932049 + 3415;24581;1240;1367;127524439;2956630 + 3416;24588;1240;1367;127524439;2956630 + 3417;24597;1240;1368;127524439;2981227 + 3418;24600;1240;1368;127524439;2981227 + 3419;24611;1240;1369;127524439;3005838 + 3420;24612;1240;1369;127524439;3005838 + 3421;24624;1240;1369;127524439;3005838 + 3422;24631;1240;1370;127524439;3030469 + 3423;24636;1240;1370;127524439;3030469 + 3424;24648;1240;1370;127524439;3030469 + 3425;24651;1240;1371;127524439;3055120 + 3426;24660;1240;1371;127524439;3055120 + 3427;24663;1240;1372;127524439;3079783 + 3428;24672;1240;1372;127524439;3079783 + 3429;24683;1240;1373;127524439;3104466 + 3430;24684;1240;1373;127524439;3104466 + 3431;24696;1240;1373;127524439;3104466 + 3432;24705;1240;1374;127524439;3129171 + 3433;24708;1240;1374;127524439;3129171 + 3434;24720;1240;1374;127524439;3129171 + 3435;24729;1250;1375;132000805;2929600 + 3436;24732;1250;1375;132000805;2929600 + 3437;24744;1260;1375;139859921;2703620 + 3438;24753;1260;1376;139859921;2728373 + 3439;24756;1260;1376;139859921;2728373 + 3440;24768;1260;1376;139859921;2728373 + 3441;24769;1260;1377;139859921;2753142 + 3442;24780;1260;1377;139859921;2753142 + 3443;24787;1260;1378;139859921;2777929 + 3444;24792;1260;1378;139859921;2777929 + 3445;24803;1260;1379;139859921;2802732 + 3446;24804;1260;1379;139859921;2802732 + 3447;24816;1260;1379;139859921;2802732 + 3448;24819;1260;1380;139859921;2827551 + 3449;24828;1260;1380;139859921;2827551 + 3450;24839;1260;1381;139859921;2852390 + 3451;24840;1260;1381;139859921;2852390 + 3452;24851;1260;1382;139859921;2877241 + 3453;24852;1260;1382;139859921;2877241 + 3454;24864;1260;1382;139859921;2877241 + 3455;24869;1260;1383;139859921;2902110 + 3456;24876;1260;1383;139859921;2902110 + 3457;24882;1260;1384;139859921;2926992 + 3458;24888;1260;1384;139859921;2926992 + 3459;24900;1260;1384;139859921;2926992 + 3460;24902;1260;1385;139859921;2951894 + 3461;24912;1260;1385;139859921;2951894 + 3462;24914;1260;1386;139859921;2976808 + 3463;24924;1260;1386;139859921;2976808 + 3464;24933;1270;1387;144119290;2773895 + 3465;24936;1270;1387;144119290;2773895 + 3466;24948;1280;1387;140397080;2544157 + 3467;24952;1280;1388;140397080;2569109 + 3468;24960;1280;1388;140397080;2569109 + 3469;24971;1280;1389;140397080;2594080 + 3470;24972;1280;1389;140397080;2594080 + 3471;24984;1280;1389;140397080;2594080 + 3472;24986;1280;1390;140397080;2619066 + 3473;24996;1280;1390;140397080;2619066 + 3474;25006;1280;1391;140397080;2644072 + 3475;25008;1280;1391;140397080;2644072 + 3476;25020;1280;1391;140397080;2644072 + 3477;25024;1280;1392;140397080;2669096 + 3478;25032;1280;1392;140397080;2669096 + 3479;25044;1280;1392;140397080;2669096 + 3480;25047;1280;1393;140397080;2694143 + 3481;25056;1280;1393;140397080;2694143 + 3482;25068;1280;1393;140397080;2694143 + 3483;25070;1280;1394;140397080;2719213 + 3484;25080;1280;1394;140397080;2719213 + 3485;25085;1280;1395;140397080;2744298 + 3486;25092;1280;1395;140397080;2744298 + 3487;25103;1280;1396;140397080;2769401 + 3488;25104;1280;1396;140397080;2769401 + 3489;25116;1280;1396;140397080;2769401 + 3490;25116;1280;1397;140397080;2794517 + 3491;25128;1280;1397;140397080;2794517 + 3492;25135;1280;1398;140397080;2819652 + 3493;25140;1280;1398;140397080;2819652 + 3494;25152;1290;1398;133505324;2588114 + 3495;25158;1290;1399;133505324;2613272 + 3496;25164;1290;1399;133505324;2613272 + 3497;25173;1290;1400;133505324;2638445 + 3498;25176;1290;1400;133505324;2638445 + 3499;25188;1290;1400;133505324;2638445 + 3500;25195;1290;1401;133505324;2663640 + 3501;25200;1290;1401;133505324;2663640 + 3502;25209;1290;1402;133505324;2688849 + 3503;25212;1290;1402;133505324;2688849 + 3504;25224;1290;1402;133505324;2688849 + 3505;25225;1290;1403;133505324;2714074 + 3506;25236;1290;1403;133505324;2714074 + 3507;25238;1290;1404;133505324;2739312 + 3508;25248;1290;1404;133505324;2739312 + 3509;25260;1290;1404;133505324;2739312 + 3510;25262;1290;1405;133505324;2764574 + 3511;25272;1290;1405;133505324;2764574 + 3512;25281;1290;1406;133505324;2789855 + 3513;25284;1290;1406;133505324;2789855 + 3514;25296;1290;1406;133505324;2789855 + 3515;25300;1290;1407;133505324;2815155 + 3516;25308;1290;1407;133505324;2815155 + 3517;25312;1290;1408;133505324;2840467 + 3518;25320;1290;1408;133505324;2840467 + 3519;25332;1290;1408;133505324;2840467 + 3520;25335;1290;1409;133505324;2865802 + 3521;25344;1290;1409;133505324;2865802 + 3522;25356;1290;1409;133505324;2865802 + 3523;25356;1290;1410;133505324;2891158 + 3524;25368;1290;1410;133505324;2891158 + 3525;25375;1290;1411;133505324;2916533 + 3526;25380;1290;1411;133505324;2916533 + 3527;25392;1290;1411;133505324;2916533 + 3528;25399;1290;1412;133505324;2941932 + 3529;25404;1290;1412;133505324;2941932 + 3530;25416;1290;1412;133505324;2941932 + 3531;25419;1290;1413;133505324;2967351 + 3532;25428;1290;1413;133505324;2967351 + 3533;25435;1290;1414;133505324;2992786 + 3534;25440;1290;1414;133505324;2992786 + 3535;25452;1290;1414;133505324;2992786 + 3536;25459;1290;1415;133505324;3018245 + 3537;25464;1290;1415;133505324;3018245 + 3538;25475;1290;1416;133505324;3043720 + 3539;25476;1290;1416;133505324;3043720 + 3540;25488;1290;1416;133505324;3043720 + 3541;25497;1290;1417;133505324;3069217 + 3542;25500;1290;1417;133505324;3069217 + 3543;25512;1290;1417;133505324;3069217 + 3544;25520;1290;1418;133505324;3094737 + 3545;25524;1290;1418;133505324;3094737 + 3546;25532;1290;1419;133505324;3120269 + 3547;25536;1290;1419;133505324;3120269 + 3548;25548;1290;1419;133505324;3120269 + 3549;25551;1290;1420;133505324;3145820 + 3550;25560;1290;1420;133505324;3145820 + 3551;25571;1290;1421;133505324;3171391 + 3552;25572;1290;1421;133505324;3171391 + 3553;25583;1290;1422;133505324;3196974 + 3554;25584;1290;1422;133505324;3196974 + 3555;25596;1290;1422;133505324;3196974 + 3556;25604;1290;1423;133505324;3222578 + 3557;25608;1290;1423;133505324;3222578 + 3558;25620;1290;1423;133505324;3222578 + 3559;25622;1290;1424;133505324;3248200 + 3560;25632;1290;1424;133505324;3248200 + 3561;25644;1290;1424;133505324;3248200 + 3562;25645;1290;1425;133505324;3273845 + 3563;25656;1290;1425;133505324;3273845 + 3564;25660;1290;1426;133505324;3299505 + 3565;25668;1290;1426;133505324;3299505 + 3566;25677;1290;1427;133505324;3325182 + 3567;25680;1290;1427;133505324;3325182 + 3568;25692;1290;1427;133505324;3325182 + 3569;25692;1300;1428;146005071;3117624 + 3570;25704;1300;1428;146005071;3117624 + 3571;25705;1310;1429;141406873;2908236 + 3572;25716;1310;1429;141406873;2908236 + 3573;25720;1310;1430;141406873;2933956 + 3574;25728;1310;1430;141406873;2933956 + 3575;25734;1310;1431;141406873;2959690 + 3576;25740;1310;1431;141406873;2959690 + 3577;25752;1310;1431;141406873;2959690 + 3578;25758;1310;1432;141406873;2985448 + 3579;25764;1310;1432;141406873;2985448 + 3580;25776;1310;1432;141406873;2985448 + 3581;25780;1310;1433;141406873;3011228 + 3582;25788;1310;1433;141406873;3011228 + 3583;25798;1310;1434;141406873;3037026 + 3584;25800;1310;1434;141406873;3037026 + 3585;25812;1310;1434;141406873;3037026 + 3586;25813;1310;1435;141406873;3062839 + 3587;25824;1310;1435;141406873;3062839 + 3588;25827;1310;1436;141406873;3088666 + 3589;25836;1310;1436;141406873;3088666 + 3590;25843;1310;1437;141406873;3114509 + 3591;25848;1310;1437;141406873;3114509 + 3592;25860;1310;1437;141406873;3114509 + 3593;25866;1310;1438;141406873;3140375 + 3594;25872;1310;1438;141406873;3140375 + 3595;25884;1310;1438;141406873;3140375 + 3596;25887;1310;1439;141406873;3166262 + 3597;25896;1310;1439;141406873;3166262 + 3598;25899;1320;1440;153260848;2955284 + 3599;25908;1330;1440;148310496;2716742 + 3600;25912;1330;1441;148310496;2742654 + 3601;25920;1330;1441;148310496;2742654 + 3602;25926;1330;1442;148310496;2768580 + 3603;25932;1330;1442;148310496;2768580 + 3604;25943;1330;1443;148310496;2794523 + 3605;25944;1330;1443;148310496;2794523 + 3606;25956;1330;1443;148310496;2794523 + 3607;25960;1330;1444;148310496;2820483 + 3608;25968;1330;1444;148310496;2820483 + 3609;25973;1330;1445;148310496;2846456 + 3610;25980;1330;1445;148310496;2846456 + 3611;25991;1330;1446;148310496;2872447 + 3612;25992;1330;1446;148310496;2872447 + 3613;26004;1330;1446;148310496;2872447 + 3614;26008;1330;1447;148310496;2898455 + 3615;26016;1330;1447;148310496;2898455 + 3616;26021;1330;1448;148310496;2924476 + 3617;26028;1330;1448;148310496;2924476 + 3618;26035;1330;1449;148310496;2950511 + 3619;26040;1330;1449;148310496;2950511 + 3620;26049;1330;1450;148310496;2976560 + 3621;26052;1330;1450;148310496;2976560 + 3622;26064;1330;1450;148310496;2976560 + 3623;26064;1330;1451;148310496;3002624 + 3624;26076;1330;1451;148310496;3002624 + 3625;26079;1330;1452;148310496;3028703 + 3626;26088;1330;1452;148310496;3028703 + 3627;26096;1330;1453;148310496;3054799 + 3628;26100;1330;1453;148310496;3054799 + 3629;26112;1330;1453;148310496;3054799 + 3630;26118;1330;1454;148310496;3080917 + 3631;26124;1330;1454;148310496;3080917 + 3632;26136;1330;1454;148310496;3080917 + 3633;26136;1330;1455;148310496;3107053 + 3634;26148;1330;1455;148310496;3107053 + 3635;26152;1330;1456;148310496;3133205 + 3636;26160;1330;1456;148310496;3133205 + 3637;26172;1330;1456;148310496;3133205 + 3638;26172;1330;1457;148310496;3159377 + 3639;26184;1330;1457;148310496;3159377 + 3640;26194;1330;1458;148310496;3185571 + 3641;26196;1330;1458;148310496;3185571 + 3642;26208;1340;1458;144431887;2945307 + 3643;26212;1350;1459;140467296;2729439 + 3644;26220;1350;1459;140467296;2729439 + 3645;26224;1360;1460;138445215;2511773 + 3646;26232;1360;1460;138445215;2511773 + 3647;26244;1360;1460;138445215;2511773 + 3648;26245;1360;1461;138445215;2538018 + 3649;26256;1360;1461;138445215;2538018 + 3650;26266;1360;1462;138445215;2564284 + 3651;26268;1360;1462;138445215;2564284 + 3652;26280;1360;1462;138445215;2564284 + 3653;26283;1360;1463;138445215;2590567 + 3654;26292;1360;1463;138445215;2590567 + 3655;26304;1360;1463;138445215;2590567 + 3656;26305;1360;1464;138445215;2616872 + 3657;26316;1360;1464;138445215;2616872 + 3658;26322;1360;1465;138445215;2643194 + 3659;26328;1360;1465;138445215;2643194 + 3660;26340;1360;1465;138445215;2643194 + 3661;26341;1360;1466;138445215;2669535 + 3662;26352;1360;1466;138445215;2669535 + 3663;26363;1360;1467;138445215;2695898 + 3664;26364;1360;1467;138445215;2695898 + 3665;26376;1360;1467;138445215;2695898 + 3666;26380;1360;1468;138445215;2722278 + 3667;26388;1360;1468;138445215;2722278 + 3668;26396;1360;1469;138445215;2748674 + 3669;26400;1360;1469;138445215;2748674 + 3670;26409;1360;1470;138445215;2775083 + 3671;26412;1360;1470;138445215;2775083 + 3672;26424;1360;1470;138445215;2775083 + 3673;26428;1360;1471;138445215;2801511 + 3674;26436;1360;1471;138445215;2801511 + 3675;26446;1360;1472;138445215;2827957 + 3676;26448;1360;1472;138445215;2827957 + 3677;26458;1360;1473;138445215;2854415 + 3678;26460;1360;1473;138445215;2854415 + 3679;26472;1360;1473;138445215;2854415 + 3680;26474;1360;1474;138445215;2880889 + 3681;26484;1360;1474;138445215;2880889 + 3682;26489;1360;1475;138445215;2907378 + 3683;26496;1360;1475;138445215;2907378 + 3684;26508;1360;1475;138445215;2907378 + 3685;26510;1360;1476;138445215;2933888 + 3686;26520;1360;1476;138445215;2933888 + 3687;26522;1360;1477;138445215;2960410 + 3688;26532;1360;1477;138445215;2960410 + 3689;26544;1360;1477;138445215;2960410 + 3690;26544;1360;1478;138445215;2986954 + 3691;26556;1360;1478;138445215;2986954 + 3692;26566;1360;1479;138445215;3013520 + 3693;26568;1360;1479;138445215;3013520 + 3694;26580;1360;1479;138445215;3013520 + 3695;26589;1360;1480;138445215;3040109 + 3696;26592;1360;1480;138445215;3040109 + 3697;26601;1360;1481;138445215;3066710 + 3698;26604;1360;1481;138445215;3066710 + 3699;26616;1360;1481;138445215;3066710 + 3700;26617;1360;1482;138445215;3093327 + 3701;26628;1360;1482;138445215;3093327 + 3702;26637;1360;1483;138445215;3119964 + 3703;26640;1360;1483;138445215;3119964 + 3704;26652;1360;1483;138445215;3119964 + 3705;26652;1370;1484;137502398;2900894 + 3706;26664;1370;1484;137502398;2900894 + 3707;26674;1370;1485;137502398;2927568 + 3708;26676;1370;1485;137502398;2927568 + 3709;26688;1370;1485;137502398;2927568 + 3710;26697;1370;1486;137502398;2954265 + 3711;26700;1370;1486;137502398;2954265 + 3712;26712;1370;1486;137502398;2954265 + 3713;26720;1370;1487;137502398;2980985 + 3714;26724;1370;1487;137502398;2980985 + 3715;26736;1370;1487;137502398;2980985 + 3716;26736;1370;1488;137502398;3007721 + 3717;26748;1370;1488;137502398;3007721 + 3718;26754;1370;1489;137502398;3034475 + 3719;26760;1370;1489;137502398;3034475 + 3720;26770;1370;1490;137502398;3061245 + 3721;26772;1370;1490;137502398;3061245 + 3722;26783;1370;1491;137502398;3088028 + 3723;26784;1370;1491;137502398;3088028 + 3724;26796;1370;1491;137502398;3088028 + 3725;26801;1370;1492;137502398;3114829 + 3726;26808;1370;1492;137502398;3114829 + 3727;26820;1370;1492;137502398;3114829 + 3728;26821;1370;1493;137502398;3141650 + 3729;26832;1370;1493;137502398;3141650 + 3730;26839;1370;1494;137502398;3168489 + 3731;26844;1370;1494;137502398;3168489 + 3732;26856;1370;1494;137502398;3168489 + 3733;26860;1370;1495;137502398;3195349 + 3734;26868;1370;1495;137502398;3195349 + 3735;26875;1370;1496;137502398;3222224 + 3736;26880;1370;1496;137502398;3222224 + 3737;26892;1370;1496;137502398;3222224 + 3738;26895;1370;1497;137502398;3249119 + 3739;26904;1370;1497;137502398;3249119 + 3740;26915;1370;1498;137502398;3276034 + 3741;26916;1370;1498;137502398;3276034 + 3742;26928;1370;1498;137502398;3276034 + 3743;26932;1370;1499;137502398;3302966 + 3744;26940;1370;1499;137502398;3302966 + 3745;26948;1370;1500;137502398;3329914 + 3746;26952;1370;1500;137502398;3329914 + 3747;26962;1370;1501;137502398;3356876 + 3748;26964;1370;1501;137502398;3356876 + 3749;26976;1370;1501;137502398;3356876 + 3750;26985;1370;1502;137502398;3383861 + 3751;26988;1370;1502;137502398;3383861 + 3752;27000;1370;1502;137502398;3383861 + 3753;27001;1370;1503;137502398;3410862 + 3754;27012;1370;1503;137502398;3410862 + 3755;27018;1370;1504;137502398;3437880 + 3756;27024;1370;1504;137502398;3437880 + 3757;27036;1370;1504;137502398;3437880 + 3758;27038;1380;1505;148137568;3217368 + 3759;27048;1390;1505;142044638;2968102 + 3760;27051;1390;1506;142044638;2995153 + 3761;27060;1390;1506;142044638;2995153 + 3762;27072;1390;1506;142044638;2995153 + 3763;27073;1390;1507;142044638;3022226 + 3764;27084;1390;1507;142044638;3022226 + 3765;27086;1390;1508;142044638;3049312 + 3766;27096;1390;1508;142044638;3049312 + 3767;27105;1390;1509;142044638;3076417 + 3768;27108;1390;1509;142044638;3076417 + 3769;27120;1390;1509;142044638;3076417 + 3770;27121;1390;1510;142044638;3103538 + 3771;27132;1390;1510;142044638;3103538 + 3772;27144;1390;1510;142044638;3103538 + 3773;27145;1390;1511;142044638;3130683 + 3774;27156;1390;1511;142044638;3130683 + 3775;27159;1390;1512;142044638;3157842 + 3776;27168;1390;1512;142044638;3157842 + 3777;27174;1390;1513;142044638;3185016 + 3778;27180;1390;1513;142044638;3185016 + 3779;27192;1390;1513;142044638;3185016 + 3780;27194;1390;1514;142044638;3212210 + 3781;27204;1390;1514;142044638;3212210 + 3782;27209;1390;1515;142044638;3239419 + 3783;27216;1390;1515;142044638;3239419 + 3784;27221;1390;1516;142044638;3266640 + 3785;27228;1390;1516;142044638;3266640 + 3786;27240;1390;1516;142044638;3266640 + 3787;27242;1400;1517;138629932;3042776 + 3788;27252;1400;1517;138629932;3042776 + 3789;27255;1400;1518;138629932;3070031 + 3790;27264;1400;1518;138629932;3070031 + 3791;27276;1400;1518;138629932;3070031 + 3792;27276;1400;1519;138629932;3097307 + 3793;27288;1400;1519;138629932;3097307 + 3794;27293;1400;1520;138629932;3124600 + 3795;27300;1400;1520;138629932;3124600 + 3796;27307;1400;1521;138629932;3151907 + 3797;27312;1400;1521;138629932;3151907 + 3798;27320;1400;1522;138629932;3179227 + 3799;27324;1400;1522;138629932;3179227 + 3800;27335;1400;1523;138629932;3206562 + 3801;27336;1400;1523;138629932;3206562 + 3802;27348;1400;1523;138629932;3206562 + 3803;27354;1400;1524;138629932;3233916 + 3804;27360;1400;1524;138629932;3233916 + 3805;27372;1400;1524;138629932;3233916 + 3806;27376;1400;1525;138629932;3261292 + 3807;27384;1400;1525;138629932;3261292 + 3808;27395;1400;1526;138629932;3288687 + 3809;27396;1400;1526;138629932;3288687 + 3810;27408;1400;1526;138629932;3288687 + 3811;27412;1400;1527;138629932;3316099 + 3812;27420;1400;1527;138629932;3316099 + 3813;27425;1400;1528;138629932;3343524 + 3814;27432;1400;1528;138629932;3343524 + 3815;27444;1400;1528;138629932;3343524 + 3816;27447;1400;1529;138629932;3370971 + 3817;27456;1400;1529;138629932;3370971 + 3818;27465;1400;1530;138629932;3398436 + 3819;27468;1400;1530;138629932;3398436 + 3820;27480;1400;1530;138629932;3398436 + 3821;27487;1400;1531;138629932;3425923 + 3822;27492;1400;1531;138629932;3425923 + 3823;27504;1400;1531;138629932;3425923 + 3824;27507;1400;1532;138629932;3453430 + 3825;27516;1400;1532;138629932;3453430 + 3826;27528;1400;1532;138629932;3453430 + 3827;27531;1400;1533;138629932;3480961 + 3828;27540;1400;1533;138629932;3480961 + 3829;27552;1400;1533;138629932;3480961 + 3830;27553;1400;1534;138629932;3508514 + 3831;27564;1400;1534;138629932;3508514 + 3832;27570;1400;1535;138629932;3536084 + 3833;27576;1400;1535;138629932;3536084 + 3834;27588;1400;1535;138629932;3536084 + 3835;27591;1400;1536;138629932;3563675 + 3836;27600;1400;1536;138629932;3563675 + 3837;27608;1400;1537;138629932;3591283 + 3838;27612;1400;1537;138629932;3591283 + 3839;27623;1400;1538;138629932;3618906 + 3840;27624;1400;1538;138629932;3618906 + 3841;27636;1400;1538;138629932;3618906 + 3842;27636;1400;1539;138629932;3646542 + 3843;27648;1400;1539;138629932;3646542 + 3844;27658;1410;1540;146932705;3421307 + 3845;27660;1410;1540;146932705;3421307 + 3846;27672;1410;1540;146932705;3421307 + 3847;27681;1410;1541;146932705;3448988 + 3848;27684;1410;1541;146932705;3448988 + 3849;27696;1410;1541;146932705;3448988 + 3850;27705;1420;1542;146102441;3221835 + 3851;27708;1430;1542;141666356;2965193 + 3852;27720;1430;1542;141666356;2965193 + 3853;27728;1440;1543;134644956;2734538 + 3854;27732;1440;1543;134644956;2734538 + 3855;27744;1440;1543;134644956;2734538 + 3856;27747;1440;1544;134644956;2762285 + 3857;27756;1440;1544;134644956;2762285 + 3858;27759;1440;1545;134644956;2790044 + 3859;27768;1440;1545;134644956;2790044 + 3860;27780;1440;1545;134644956;2790044 + 3861;27780;1440;1546;134644956;2817824 + 3862;27792;1440;1546;134644956;2817824 + 3863;27803;1440;1547;134644956;2845627 + 3864;27804;1440;1547;134644956;2845627 + 3865;27816;1440;1547;134644956;2845627 + 3866;27819;1440;1548;134644956;2873446 + 3867;27828;1440;1548;134644956;2873446 + 3868;27840;1440;1548;134644956;2873446 + 3869;27843;1440;1549;134644956;2901289 + 3870;27852;1440;1549;134644956;2901289 + 3871;27864;1440;1549;134644956;2901289 + 3872;27864;1440;1550;134644956;2929153 + 3873;27876;1440;1550;134644956;2929153 + 3874;27885;1440;1551;134644956;2957038 + 3875;27888;1440;1551;134644956;2957038 + 3876;27897;1440;1552;134644956;2984935 + 3877;27900;1440;1552;134644956;2984935 + 3878;27910;1440;1553;134644956;3012845 + 3879;27912;1440;1553;134644956;3012845 + 3880;27922;1440;1554;134644956;3040767 + 3881;27924;1440;1554;134644956;3040767 + 3882;27936;1440;1554;134644956;3040767 + 3883;27938;1440;1555;134644956;3068705 + 3884;27948;1440;1555;134644956;3068705 + 3885;27955;1440;1556;134644956;3096660 + 3886;27960;1440;1556;134644956;3096660 + 3887;27972;1440;1556;134644956;3096660 + 3888;27978;1440;1557;134644956;3124638 + 3889;27984;1440;1557;134644956;3124638 + 3890;27996;1440;1557;134644956;3124638 + 3891;28001;1440;1558;134644956;3152639 + 3892;28008;1440;1558;134644956;3152639 + 3893;28018;1440;1559;134644956;3180657 + 3894;28020;1440;1559;134644956;3180657 + 3895;28032;1440;1559;134644956;3180657 + 3896;28042;1440;1560;134644956;3208699 + 3897;28044;1440;1560;134644956;3208699 + 3898;28056;1440;1560;134644956;3208699 + 3899;28060;1440;1561;134644956;3236759 + 3900;28068;1440;1561;134644956;3236759 + 3901;28080;1440;1561;134644956;3236759 + 3902;28083;1440;1562;134644956;3264842 + 3903;28092;1440;1562;134644956;3264842 + 3904;28098;1440;1563;134644956;3292940 + 3905;28104;1440;1563;134644956;3292940 + 3906;28115;1440;1564;134644956;3321055 + 3907;28116;1440;1564;134644956;3321055 + 3908;28128;1440;1564;134644956;3321055 + 3909;28138;1440;1565;134644956;3349193 + 3910;28140;1440;1565;134644956;3349193 + 3911;28152;1440;1565;134644956;3349193 + 3912;28159;1440;1566;134644956;3377352 + 3913;28164;1440;1566;134644956;3377352 + 3914;28176;1440;1566;134644956;3377352 + 3915;28179;1440;1567;134644956;3405531 + 3916;28188;1440;1567;134644956;3405531 + 3917;28200;1440;1567;134644956;3405531 + 3918;28202;1440;1568;134644956;3433733 + 3919;28212;1440;1568;134644956;3433733 + 3920;28221;1440;1569;134644956;3461954 + 3921;28224;1440;1569;134644956;3461954 + 3922;28236;1440;1569;134644956;3461954 + 3923;28244;1440;1570;134644956;3490198 + 3924;28248;1440;1570;134644956;3490198 + 3925;28260;1440;1570;134644956;3490198 + 3926;28264;1440;1571;134644956;3518462 + 3927;28272;1440;1571;134644956;3518462 + 3928;28277;1440;1572;134644956;3546739 + 3929;28284;1440;1572;134644956;3546739 + 3930;28293;1440;1573;134644956;3575032 + 3931;28296;1440;1573;134644956;3575032 + 3932;28308;1440;1573;134644956;3575032 + 3933;28314;1440;1574;134644956;3603346 + 3934;28320;1440;1574;134644956;3603346 + 3935;28328;1440;1575;134644956;3631674 + 3936;28332;1440;1575;134644956;3631674 + 3937;28340;1440;1576;134644956;3660014 + 3938;28344;1440;1576;134644956;3660014 + 3939;28356;1440;1576;134644956;3660014 + 3940;28357;1440;1577;134644956;3688371 + 3941;28368;1440;1577;134644956;3688371 + 3942;28379;1440;1578;134644956;3716750 + 3943;28380;1440;1578;134644956;3716750 + 3944;28392;1440;1578;134644956;3716750 + 3945;28392;1440;1579;134644956;3745142 + 3946;28404;1440;1579;134644956;3745142 + 3947;28408;1450;1580;140678155;3513580 + 3948;28416;1450;1580;140678155;3513580 + 3949;28420;1460;1581;145737641;3280372 + 3950;28428;1470;1581;144383751;3016879 + 3951;28436;1480;1582;138745505;2780116 + 3952;28440;1480;1582;138745505;2780116 + 3953;28450;1480;1583;138745505;2808566 + 3954;28452;1480;1583;138745505;2808566 + 3955;28463;1480;1584;138745505;2837029 + 3956;28464;1480;1584;138745505;2837029 + 3957;28476;1480;1584;138745505;2837029 + 3958;28485;1480;1585;138745505;2865514 + 3959;28488;1480;1585;138745505;2865514 + 3960;28500;1480;1585;138745505;2865514 + 3961;28506;1480;1586;138745505;2894020 + 3962;28512;1480;1586;138745505;2894020 + 3963;28524;1480;1586;138745505;2894020 + 3964;28526;1480;1587;138745505;2922546 + 3965;28536;1480;1587;138745505;2922546 + 3966;28542;1480;1588;138745505;2951088 + 3967;28548;1480;1588;138745505;2951088 + 3968;28555;1480;1589;138745505;2979643 + 3969;28560;1480;1589;138745505;2979643 + 3970;28572;1480;1589;138745505;2979643 + 3971;28579;1480;1590;138745505;3008222 + 3972;28584;1480;1590;138745505;3008222 + 3973;28595;1480;1591;138745505;3036817 + 3974;28596;1480;1591;138745505;3036817 + 3975;28608;1480;1591;138745505;3036817 + 3976;28612;1480;1592;138745505;3065429 + 3977;28620;1480;1592;138745505;3065429 + 3978;28624;1480;1593;138745505;3094053 + 3979;28632;1480;1593;138745505;3094053 + 3980;28639;1480;1594;138745505;3122692 + 3981;28644;1480;1594;138745505;3122692 + 3982;28656;1480;1594;138745505;3122692 + 3983;28657;1480;1595;138745505;3151349 + 3984;28668;1480;1595;138745505;3151349 + 3985;28680;1480;1595;138745505;3151349 + 3986;28680;1480;1596;138745505;3180029 + 3987;28692;1480;1596;138745505;3180029 + 3988;28703;1480;1597;138745505;3208732 + 3989;28704;1480;1597;138745505;3208732 + 3990;28716;1480;1597;138745505;3208732 + 3991;28720;1480;1598;138745505;3237452 + 3992;28728;1480;1598;138745505;3237452 + 3993;28740;1480;1598;138745505;3237452 + 3994;28741;1480;1599;138745505;3266193 + 3995;28752;1480;1599;138745505;3266193 + 3996;28758;1480;1600;138745505;3294951 + 3997;28764;1480;1600;138745505;3294951 + 3998;28775;1480;1601;138745505;3323726 + 3999;28776;1480;1601;138745505;3323726 + 4000;28788;1480;1601;138745505;3323726 + 4001;28793;1480;1602;138745505;3352519 + 4002;28800;1480;1602;138745505;3352519 + 4003;28811;1480;1603;138745505;3381330 + 4004;28812;1480;1603;138745505;3381330 + 4005;28823;1480;1604;138745505;3410153 + 4006;28824;1480;1604;138745505;3410153 + 4007;28836;1480;1604;138745505;3410153 + 4008;28844;1480;1605;138745505;3438997 + 4009;28848;1480;1605;138745505;3438997 + 4010;28860;1480;1605;138745505;3438997 + 4011;28868;1490;1606;144215401;3200825 + 4012;28872;1490;1606;144215401;3200825 + 4013;28883;1510;1607;132795191;2690237 + 4014;28884;1510;1607;132795191;2690237 + 4015;28896;1510;1607;132795191;2690237 + 4016;28901;1510;1608;132795191;2719138 + 4017;28908;1510;1608;132795191;2719138 + 4018;28916;1510;1609;132795191;2748054 + 4019;28920;1510;1609;132795191;2748054 + 4020;28932;1510;1609;132795191;2748054 + 4021;28935;1510;1610;132795191;2776989 + 4022;28944;1510;1610;132795191;2776989 + 4023;28953;1510;1611;132795191;2805942 + 4024;28956;1510;1611;132795191;2805942 + 4025;28968;1510;1611;132795191;2805942 + 4026;28975;1510;1612;132795191;2834917 + 4027;28980;1510;1612;132795191;2834917 + 4028;28992;1510;1612;132795191;2834917 + 4029;28996;1510;1613;132795191;2863913 + 4030;29004;1510;1613;132795191;2863913 + 4031;29014;1510;1614;132795191;2892927 + 4032;29016;1510;1614;132795191;2892927 + 4033;29028;1510;1614;132795191;2892927 + 4034;29032;1510;1615;132795191;2921959 + 4035;29040;1510;1615;132795191;2921959 + 4036;29047;1510;1616;132795191;2951006 + 4037;29052;1510;1616;132795191;2951006 + 4038;29064;1510;1616;132795191;2951006 + 4039;29069;1510;1617;132795191;2980075 + 4040;29076;1510;1617;132795191;2980075 + 4041;29088;1510;1617;132795191;2980075 + 4042;29090;1510;1618;132795191;3009165 + 4043;29100;1510;1618;132795191;3009165 + 4044;29107;1510;1619;132795191;3038272 + 4045;29112;1510;1619;132795191;3038272 + 4046;29124;1510;1619;132795191;3038272 + 4047;29124;1510;1620;132795191;3067396 + 4048;29136;1510;1620;132795191;3067396 + 4049;29136;1510;1621;132795191;3096532 + 4050;29148;1510;1621;132795191;3096532 + 4051;29154;1510;1622;132795191;3125686 + 4052;29160;1510;1622;132795191;3125686 + 4053;29166;1510;1623;132795191;3154852 + 4054;29172;1510;1623;132795191;3154852 + 4055;29184;1510;1623;132795191;3154852 + 4056;29188;1510;1624;132795191;3184040 + 4057;29196;1510;1624;132795191;3184040 + 4058;29203;1510;1625;132795191;3213243 + 4059;29208;1510;1625;132795191;3213243 + 4060;29219;1510;1626;132795191;3242462 + 4061;29220;1510;1626;132795191;3242462 + 4062;29231;1510;1627;132795191;3271693 + 4063;29232;1510;1627;132795191;3271693 + 4064;29244;1510;1627;132795191;3271693 + 4065;29251;1510;1628;132795191;3300944 + 4066;29256;1510;1628;132795191;3300944 + 4067;29268;1510;1628;132795191;3300944 + 4068;29273;1520;1629;132265071;3057887 + 4069;29280;1520;1629;132265071;3057887 + 4070;29292;1520;1629;132265071;3057887 + 4071;29293;1520;1630;132265071;3087180 + 4072;29304;1520;1630;132265071;3087180 + 4073;29316;1520;1630;132265071;3087180 + 4074;29317;1520;1631;132265071;3116497 + 4075;29328;1520;1631;132265071;3116497 + 4076;29337;1520;1632;132265071;3145834 + 4077;29340;1520;1632;132265071;3145834 + 4078;29352;1520;1632;132265071;3145834 + 4079;29355;1520;1633;132265071;3175189 + 4080;29364;1520;1633;132265071;3175189 + 4081;29376;1520;1633;132265071;3175189 + 4082;29378;1520;1634;132265071;3204567 + 4083;29388;1520;1634;132265071;3204567 + 4084;29394;1520;1635;132265071;3233961 + 4085;29400;1520;1635;132265071;3233961 + 4086;29412;1520;1635;132265071;3233961 + 4087;29416;1520;1636;132265071;3263377 + 4088;29424;1520;1636;132265071;3263377 + 4089;29434;1520;1637;132265071;3292811 + 4090;29436;1520;1637;132265071;3292811 + 4091;29447;1520;1638;132265071;3322258 + 4092;29448;1520;1638;132265071;3322258 + 4093;29460;1520;1638;132265071;3322258 + 4094;29467;1520;1639;132265071;3351725 + 4095;29472;1520;1639;132265071;3351725 + 4096;29484;1520;1639;132265071;3351725 + 4097;29488;1520;1640;132265071;3381213 + 4098;29496;1520;1640;132265071;3381213 + 4099;29501;1520;1641;132265071;3410714 + 4100;29508;1520;1641;132265071;3410714 + 4101;29520;1520;1641;132265071;3410714 + 4102;29522;1520;1642;132265071;3440236 + 4103;29532;1520;1642;132265071;3440236 + 4104;29543;1520;1643;132265071;3469779 + 4105;29544;1520;1643;132265071;3469779 + 4106;29556;1520;1643;132265071;3469779 + 4107;29562;1520;1644;132265071;3499341 + 4108;29568;1520;1644;132265071;3499341 + 4109;29574;1520;1645;132265071;3528915 + 4110;29580;1520;1645;132265071;3528915 + 4111;29592;1520;1645;132265071;3528915 + 4112;29597;1520;1646;132265071;3558512 + 4113;29604;1520;1646;132265071;3558512 + 4114;29612;1520;1647;132265071;3588124 + 4115;29616;1520;1647;132265071;3588124 + 4116;29628;1520;1647;132265071;3588124 + 4117;29632;1520;1648;132265071;3617756 + 4118;29640;1520;1648;132265071;3617756 + 4119;29650;1520;1649;132265071;3647406 + 4120;29652;1520;1649;132265071;3647406 + 4121;29664;1520;1649;132265071;3647406 + 4122;29672;1530;1650;139906549;3403062 + 4123;29676;1530;1650;139906549;3403062 + 4124;29684;1530;1651;139906549;3432746 + 4125;29688;1530;1651;139906549;3432746 + 4126;29700;1530;1651;139906549;3432746 + 4127;29703;1530;1652;139906549;3462449 + 4128;29712;1530;1652;139906549;3462449 + 4129;29717;1530;1653;139906549;3492166 + 4130;29724;1530;1653;139906549;3492166 + 4131;29736;1530;1653;139906549;3492166 + 4132;29737;1530;1654;139906549;3521903 + 4133;29748;1530;1654;139906549;3521903 + 4134;29753;1530;1655;139906549;3551656 + 4135;29760;1530;1655;139906549;3551656 + 4136;29770;1530;1656;139906549;3581426 + 4137;29772;1530;1656;139906549;3581426 + 4138;29783;1530;1657;139906549;3611209 + 4139;29784;1530;1657;139906549;3611209 + 4140;29796;1530;1657;139906549;3611209 + 4141;29807;1530;1658;139906549;3641016 + 4142;29808;1530;1658;139906549;3641016 + 4143;29820;1530;1658;139906549;3641016 + 4144;29829;1530;1659;139906549;3670845 + 4145;29832;1530;1659;139906549;3670845 + 4146;29844;1530;1659;139906549;3670845 + 4147;29844;1530;1660;139906549;3700689 + 4148;29856;1530;1660;139906549;3700689 + 4149;29868;1530;1660;139906549;3700689 + 4150;29868;1530;1661;139906549;3730557 + 4151;29880;1530;1661;139906549;3730557 + 4152;29891;1530;1662;139906549;3760448 + 4153;29892;1530;1662;139906549;3760448 + 4154;29904;1530;1662;139906549;3760448 + 4155;29907;1530;1663;139906549;3790355 + 4156;29916;1530;1663;139906549;3790355 + 4157;29920;1530;1664;139906549;3820275 + 4158;29928;1530;1664;139906549;3820275 + 4159;29939;1530;1665;139906549;3850214 + 4160;29940;1530;1665;139906549;3850214 + 4161;29952;1530;1665;139906549;3850214 + 4162;29956;1530;1666;139906549;3880170 + 4163;29964;1530;1666;139906549;3880170 + 4164;29976;1530;1666;139906549;3880170 + 4165;29977;1540;1667;161899325;3634189 + 4166;29988;1540;1667;161899325;3634189 + 4167;29996;1550;1668;159382667;3386252 + 4168;30000;1550;1668;159382667;3386252 + 4169;30012;1550;1668;159382667;3386252 + 4170;30020;1550;1669;159382667;3416272 + 4171;30024;1550;1669;159382667;3416272 + 4172;30032;1550;1670;159382667;3446304 + 4173;30036;1550;1670;159382667;3446304 + 4174;30046;1550;1671;159382667;3476350 + 4175;30048;1550;1671;159382667;3476350 + 4176;30060;1550;1671;159382667;3476350 + 4177;30067;1550;1672;159382667;3506417 + 4178;30072;1550;1672;159382667;3506417 + 4179;30084;1550;1672;159382667;3506417 + 4180;30084;1550;1673;159382667;3536501 + 4181;30096;1550;1673;159382667;3536501 + 4182;30106;1550;1674;159382667;3566607 + 4183;30108;1550;1674;159382667;3566607 + 4184;30120;1550;1674;159382667;3566607 + 4185;30127;1550;1675;159382667;3596734 + 4186;30132;1550;1675;159382667;3596734 + 4187;30143;1560;1676;168366198;3347156 + 4188;30144;1560;1676;168366198;3347156 + 4189;30155;1560;1677;168366198;3377311 + 4190;30156;1560;1677;168366198;3377311 + 4191;30168;1560;1677;168366198;3377311 + 4192;30170;1560;1678;168366198;3407481 + 4193;30180;1560;1678;168366198;3407481 + 4194;30185;1560;1679;168366198;3437666 + 4195;30192;1560;1679;168366198;3437666 + 4196;30204;1560;1679;168366198;3437666 + 4197;30205;1560;1680;168366198;3467871 + 4198;30216;1560;1680;168366198;3467871 + 4199;30224;1560;1681;168366198;3498095 + 4200;30228;1560;1681;168366198;3498095 + 4201;30240;1560;1681;168366198;3498095 + 4202;30245;1560;1682;168366198;3528340 + 4203;30252;1560;1682;168366198;3528340 + 4204;30261;1560;1683;168366198;3558601 + 4205;30264;1560;1683;168366198;3558601 + 4206;30274;1560;1684;168366198;3588875 + 4207;30276;1560;1684;168366198;3588875 + 4208;30286;1560;1685;168366198;3619161 + 4209;30288;1560;1685;168366198;3619161 + 4210;30300;1560;1685;168366198;3619161 + 4211;30302;1560;1686;168366198;3649463 + 4212;30312;1560;1686;168366198;3649463 + 4213;30315;1560;1687;168366198;3679778 + 4214;30324;1560;1687;168366198;3679778 + 4215;30335;1560;1688;168366198;3710113 + 4216;30336;1560;1688;168366198;3710113 + 4217;30348;1560;1688;168366198;3710113 + 4218;30349;1560;1689;168366198;3740462 + 4219;30360;1560;1689;168366198;3740462 + 4220;30370;1560;1690;168366198;3770832 + 4221;30372;1560;1690;168366198;3770832 + 4222;30384;1560;1690;168366198;3770832 + 4223;30394;1560;1691;168366198;3801226 + 4224;30396;1560;1691;168366198;3801226 + 4225;30408;1560;1691;168366198;3801226 + 4226;30416;1560;1692;168366198;3831642 + 4227;30420;1560;1692;168366198;3831642 + 4228;30432;1560;1692;168366198;3831642 + 4229;30436;1560;1693;168366198;3862078 + 4230;30444;1560;1693;168366198;3862078 + 4231;30456;1560;1693;168366198;3862078 + 4232;30456;1560;1694;168366198;3892534 + 4233;30468;1560;1694;168366198;3892534 + 4234;30469;1560;1695;168366198;3923003 + 4235;30480;1560;1695;168366198;3923003 + 4236;30488;1560;1696;168366198;3953491 + 4237;30492;1560;1696;168366198;3953491 + 4238;30500;1560;1697;168366198;3983991 + 4239;30504;1560;1697;168366198;3983991 + 4240;30516;1560;1697;168366198;3983991 + 4241;30517;1560;1698;168366198;4014508 + 4242;30528;1560;1698;168366198;4014508 + 4243;30531;1560;1699;168366198;4045039 + 4244;30540;1560;1699;168366198;4045039 + 4245;30547;1580;1700;179493924;3510375 + 4246;30552;1580;1700;179493924;3510375 + 4247;30562;1590;1701;172801123;3255800 + 4248;30564;1590;1701;172801123;3255800 + 4249;30576;1590;1701;172801123;3255800 + 4250;30583;1590;1702;172801123;3286383 + 4251;30588;1590;1702;172801123;3286383 + 4252;30595;1590;1703;172801123;3316978 + 4253;30600;1590;1703;172801123;3316978 + 4254;30609;1590;1704;172801123;3347587 + 4255;30612;1590;1704;172801123;3347587 + 4256;30624;1590;1704;172801123;3347587 + 4257;30627;1590;1705;172801123;3378214 + 4258;30636;1590;1705;172801123;3378214 + 4259;30646;1590;1706;172801123;3408860 + 4260;30648;1590;1706;172801123;3408860 + 4261;30660;1590;1706;172801123;3408860 + 4262;30666;1590;1707;172801123;3439526 + 4263;30672;1590;1707;172801123;3439526 + 4264;30684;1590;1707;172801123;3439526 + 4265;30686;1590;1708;172801123;3470212 + 4266;30696;1590;1708;172801123;3470212 + 4267;30708;1590;1708;172801123;3470212 + 4268;30708;1600;1709;175441916;3214011 + 4269;30720;1600;1709;175441916;3214011 + 4270;30725;1610;1710;157219255;2956009 + 4271;30732;1610;1710;157219255;2956009 + 4272;30744;1610;1710;157219255;2956009 + 4273;30746;1610;1711;157219255;2986755 + 4274;30756;1610;1711;157219255;2986755 + 4275;30768;1610;1711;157219255;2986755 + 4276;30769;1610;1712;157219255;3017524 + 4277;30780;1610;1712;157219255;3017524 + 4278;30782;1610;1713;157219255;3048306 + 4279;30792;1610;1713;157219255;3048306 + 4280;30800;1610;1714;157219255;3079106 + 4281;30804;1610;1714;157219255;3079106 + 4282;30813;1610;1715;157219255;3109919 + 4283;30816;1610;1715;157219255;3109919 + 4284;30828;1610;1715;157219255;3109919 + 4285;30828;1610;1716;157219255;3140747 + 4286;30840;1610;1716;157219255;3140747 + 4287;30843;1610;1717;157219255;3171590 + 4288;30852;1610;1717;157219255;3171590 + 4289;30863;1610;1718;157219255;3202453 + 4290;30864;1610;1718;157219255;3202453 + 4291;30876;1610;1718;157219255;3202453 + 4292;30884;1610;1719;157219255;3233337 + 4293;30888;1610;1719;157219255;3233337 + 4294;30900;1610;1719;157219255;3233337 + 4295;30900;1610;1720;157219255;3264237 + 4296;30912;1610;1720;157219255;3264237 + 4297;30919;1610;1721;157219255;3295156 + 4298;30924;1610;1721;157219255;3295156 + 4299;30936;1610;1721;157219255;3295156 + 4300;30942;1610;1722;157219255;3326098 + 4301;30948;1610;1722;157219255;3326098 + 4302;30960;1610;1722;157219255;3326098 + 4303;30961;1610;1723;157219255;3357059 + 4304;30972;1610;1723;157219255;3357059 + 4305;30977;1620;1724;155577089;3097446 + 4306;30984;1620;1724;155577089;3097446 + 4307;30992;1620;1725;155577089;3128438 + 4308;30996;1620;1725;155577089;3128438 + 4309;31008;1620;1725;155577089;3128438 + 4310;31012;1620;1726;155577089;3159450 + 4311;31020;1620;1726;155577089;3159450 + 4312;31032;1620;1726;155577089;3159450 + 4313;31034;1620;1727;155577089;3190484 + 4314;31044;1620;1727;155577089;3190484 + 4315;31047;1620;1728;155577089;3221531 + 4316;31056;1620;1728;155577089;3221531 + 4317;31061;1620;1729;155577089;3252592 + 4318;31068;1620;1729;155577089;3252592 + 4319;31080;1620;1729;155577089;3252592 + 4320;31084;1620;1730;155577089;3283676 + 4321;31092;1620;1730;155577089;3283676 + 4322;31101;1620;1731;155577089;3314777 + 4323;31104;1620;1731;155577089;3314777 + 4324;31116;1620;1731;155577089;3314777 + 4325;31125;1620;1732;155577089;3345902 + 4326;31128;1620;1732;155577089;3345902 + 4327;31139;1620;1733;155577089;3377041 + 4328;31140;1620;1733;155577089;3377041 + 4329;31152;1620;1733;155577089;3377041 + 4330;31153;1620;1734;155577089;3408194 + 4331;31164;1620;1734;155577089;3408194 + 4332;31165;1620;1735;155577089;3439359 + 4333;31176;1620;1735;155577089;3439359 + 4334;31188;1620;1735;155577089;3439359 + 4335;31188;1620;1736;155577089;3470547 + 4336;31200;1620;1736;155577089;3470547 + 4337;31212;1620;1736;155577089;3470547 + 4338;31212;1620;1737;155577089;3501759 + 4339;31224;1620;1737;155577089;3501759 + 4340;31236;1620;1737;155577089;3501759 + 4341;31236;1620;1738;155577089;3532995 + 4342;31248;1620;1738;155577089;3532995 + 4343;31256;1620;1739;155577089;3564251 + 4344;31260;1620;1739;155577089;3564251 + 4345;31272;1620;1739;155577089;3564251 + 4346;31278;1620;1740;155577089;3595529 + 4347;31284;1620;1740;155577089;3595529 + 4348;31291;1620;1741;155577089;3626820 + 4349;31296;1620;1741;155577089;3626820 + 4350;31308;1620;1741;155577089;3626820 + 4351;31310;1620;1742;155577089;3658130 + 4352;31320;1620;1742;155577089;3658130 + 4353;31332;1620;1742;155577089;3658130 + 4354;31334;1620;1743;155577089;3689464 + 4355;31344;1620;1743;155577089;3689464 + 4356;31347;1620;1744;155577089;3720811 + 4357;31356;1620;1744;155577089;3720811 + 4358;31363;1620;1745;155577089;3752174 + 4359;31368;1620;1745;155577089;3752174 + 4360;31380;1620;1745;155577089;3752174 + 4361;31385;1620;1746;155577089;3783559 + 4362;31392;1620;1746;155577089;3783559 + 4363;31398;1620;1747;155577089;3814957 + 4364;31404;1620;1747;155577089;3814957 + 4365;31411;1620;1748;155577089;3846368 + 4366;31416;1620;1748;155577089;3846368 + 4367;31428;1620;1748;155577089;3846368 + 4368;31433;1620;1749;155577089;3877801 + 4369;31440;1620;1749;155577089;3877801 + 4370;31452;1620;1749;155577089;3877801 + 4371;31452;1620;1750;155577089;3909253 + 4372;31464;1620;1750;155577089;3909253 + 4373;31464;1620;1751;155577089;3940717 + 4374;31476;1620;1751;155577089;3940717 + 4375;31477;1620;1752;155577089;3972194 + 4376;31488;1620;1752;155577089;3972194 + 4377;31500;1620;1752;155577089;3972194 + 4378;31500;1630;1753;167080326;3711399 + 4379;31512;1640;1753;153593273;3417182 + 4380;31515;1640;1754;153593273;3448697 + 4381;31524;1640;1754;153593273;3448697 + 4382;31536;1640;1754;153593273;3448697 + 4383;31537;1640;1755;153593273;3480234 + 4384;31548;1640;1755;153593273;3480234 + 4385;31552;1640;1756;153593273;3511786 + 4386;31560;1640;1756;153593273;3511786 + 4387;31564;1640;1757;153593273;3543350 + 4388;31572;1640;1757;153593273;3543350 + 4389;31580;1640;1758;153593273;3574930 + 4390;31584;1640;1758;153593273;3574930 + 4391;31596;1640;1758;153593273;3574930 + 4392;31597;1640;1759;153593273;3606527 + 4393;31608;1640;1759;153593273;3606527 + 4394;31612;1640;1760;153593273;3638139 + 4395;31620;1640;1760;153593273;3638139 + 4396;31626;1640;1761;153593273;3669765 + 4397;31632;1640;1761;153593273;3669765 + 4398;31644;1640;1761;153593273;3669765 + 4399;31650;1640;1762;153593273;3701415 + 4400;31656;1640;1762;153593273;3701415 + 4401;31662;1650;1763;160502260;3437029 + 4402;31668;1650;1763;160502260;3437029 + 4403;31676;1660;1764;155059362;3170894 + 4404;31680;1660;1764;155059362;3170894 + 4405;31692;1660;1764;155059362;3170894 + 4406;31695;1660;1765;155059362;3202589 + 4407;31704;1660;1765;155059362;3202589 + 4408;31716;1660;1765;155059362;3202589 + 4409;31716;1660;1766;155059362;3234305 + 4410;31728;1660;1766;155059362;3234305 + 4411;31735;1660;1767;155059362;3266040 + 4412;31740;1660;1767;155059362;3266040 + 4413;31748;1660;1768;155059362;3297788 + 4414;31752;1660;1768;155059362;3297788 + 4415;31764;1660;1768;155059362;3297788 + 4416;31771;1660;1769;155059362;3329559 + 4417;31776;1660;1769;155059362;3329559 + 4418;31788;1660;1769;155059362;3329559 + 4419;31789;1660;1770;155059362;3361348 + 4420;31800;1660;1770;155059362;3361348 + 4421;31812;1660;1770;155059362;3361348 + 4422;31812;1660;1771;155059362;3393160 + 4423;31824;1660;1771;155059362;3393160 + 4424;31830;1660;1772;155059362;3424990 + 4425;31836;1660;1772;155059362;3424990 + 4426;31848;1660;1772;155059362;3424990 + 4427;31853;1660;1773;155059362;3456843 + 4428;31860;1660;1773;155059362;3456843 + 4429;31866;1660;1774;155059362;3488709 + 4430;31872;1660;1774;155059362;3488709 + 4431;31883;1660;1775;155059362;3520592 + 4432;31884;1660;1775;155059362;3520592 + 4433;31896;1660;1775;155059362;3520592 + 4434;31904;1660;1776;155059362;3552496 + 4435;31908;1660;1776;155059362;3552496 + 4436;31920;1660;1776;155059362;3552496 + 4437;31925;1660;1777;155059362;3584421 + 4438;31932;1660;1777;155059362;3584421 + 4439;31944;1660;1777;155059362;3584421 + 4440;31947;1660;1778;155059362;3616368 + 4441;31956;1660;1778;155059362;3616368 + 4442;31968;1660;1778;155059362;3616368 + 4443;31970;1660;1779;155059362;3648338 + 4444;31980;1660;1779;155059362;3648338 + 4445;31984;1660;1780;155059362;3680322 + 4446;31992;1660;1780;155059362;3680322 + 4447;31998;1660;1781;155059362;3712320 + 4448;32004;1660;1781;155059362;3712320 + 4449;32016;1660;1781;155059362;3712320 + 4450;32020;1660;1782;155059362;3744340 + 4451;32028;1660;1782;155059362;3744340 + 4452;32039;1660;1783;155059362;3776379 + 4453;32040;1660;1783;155059362;3776379 + 4454;32051;1660;1784;155059362;3808430 + 4455;32052;1660;1784;155059362;3808430 + 4456;32064;1660;1784;155059362;3808430 + 4457;32074;1660;1785;155059362;3840504 + 4458;32076;1660;1785;155059362;3840504 + 4459;32088;1660;1785;155059362;3840504 + 4460;32093;1660;1786;155059362;3872597 + 4461;32100;1660;1786;155059362;3872597 + 4462;32108;1660;1787;155059362;3904705 + 4463;32112;1660;1787;155059362;3904705 + 4464;32124;1660;1787;155059362;3904705 + 4465;32129;1660;1788;155059362;3936834 + 4466;32136;1660;1788;155059362;3936834 + 4467;32148;1660;1788;155059362;3936834 + 4468;32153;1660;1789;155059362;3968987 + 4469;32160;1660;1789;155059362;3968987 + 4470;32170;1660;1790;155059362;4001157 + 4471;32172;1660;1790;155059362;4001157 + 4472;32184;1660;1790;155059362;4001157 + 4473;32192;1660;1791;155059362;4033349 + 4474;32196;1660;1791;155059362;4033349 + 4475;32208;1660;1791;155059362;4033349 + 4476;32209;1660;1792;155059362;4065558 + 4477;32220;1660;1792;155059362;4065558 + 4478;32223;1670;1793;165942502;3798097 + 4479;32232;1670;1793;165942502;3798097 + 4480;32237;1670;1794;165942502;3830334 + 4481;32244;1670;1794;165942502;3830334 + 4482;32255;1670;1795;165942502;3862589 + 4483;32256;1670;1795;165942502;3862589 + 4484;32268;1670;1795;165942502;3862589 + 4485;32271;1670;1796;165942502;3894860 + 4486;32280;1670;1796;165942502;3894860 + 4487;32290;1670;1797;165942502;3927150 + 4488;32292;1670;1797;165942502;3927150 + 4489;32302;1670;1798;165942502;3959452 + 4490;32304;1670;1798;165942502;3959452 + 4491;32315;1670;1799;165942502;3991767 + 4492;32316;1670;1799;165942502;3991767 + 4493;32328;1670;1799;165942502;3991767 + 4494;32331;1670;1800;165942502;4024098 + 4495;32340;1670;1800;165942502;4024098 + 4496;32343;1670;1801;165942502;4056441 + 4497;32352;1670;1801;165942502;4056441 + 4498;32362;1680;1802;164537969;3787337 + 4499;32364;1680;1802;164537969;3787337 + 4500;32375;1680;1803;164537969;3819712 + 4501;32376;1680;1803;164537969;3819712 + 4502;32388;1680;1803;164537969;3819712 + 4503;32395;1680;1804;164537969;3852107 + 4504;32400;1680;1804;164537969;3852107 + 4505;32412;1680;1804;164537969;3852107 + 4506;32419;1680;1805;164537969;3884526 + 4507;32424;1680;1805;164537969;3884526 + 4508;32436;1680;1805;164537969;3884526 + 4509;32438;1680;1806;164537969;3916964 + 4510;32448;1680;1806;164537969;3916964 + 4511;32452;1680;1807;164537969;3949416 + 4512;32460;1680;1807;164537969;3949416 + 4513;32472;1680;1807;164537969;3949416 + 4514;32475;1680;1808;164537969;3981891 + 4515;32484;1680;1808;164537969;3981891 + 4516;32488;1680;1809;164537969;4014379 + 4517;32496;1680;1809;164537969;4014379 + 4518;32508;1680;1809;164537969;4014379 + 4519;32512;1680;1810;164537969;4046891 + 4520;32520;1680;1810;164537969;4046891 + 4521;32532;1680;1810;164537969;4046891 + 4522;32536;1680;1811;164537969;4079427 + 4523;32544;1680;1811;164537969;4079427 + 4524;32552;1680;1812;164537969;4111979 + 4525;32556;1680;1812;164537969;4111979 + 4526;32568;1680;1812;164537969;4111979 + 4527;32569;1680;1813;164537969;4144548 + 4528;32580;1680;1813;164537969;4144548 + 4529;32592;1680;1813;164537969;4144548 + 4530;32593;1680;1814;164537969;4177141 + 4531;32604;1680;1814;164537969;4177141 + 4532;32616;1690;1814;168366198;3874010 + 4533;32616;1700;1815;170341973;3601704 + 4534;32628;1700;1815;170341973;3601704 + 4535;32634;1700;1816;170341973;3634338 + 4536;32640;1700;1816;170341973;3634338 + 4537;32652;1700;1816;170341973;3634338 + 4538;32652;1700;1817;170341973;3666990 + 4539;32664;1700;1817;170341973;3666990 + 4540;32667;1700;1818;170341973;3699657 + 4541;32676;1700;1818;170341973;3699657 + 4542;32679;1700;1819;170341973;3732336 + 4543;32688;1700;1819;170341973;3732336 + 4544;32693;1700;1820;170341973;3765029 + 4545;32700;1700;1820;170341973;3765029 + 4546;32708;1700;1821;170341973;3797737 + 4547;32712;1700;1821;170341973;3797737 + 4548;32724;1700;1821;170341973;3797737 + 4549;32726;1700;1822;170341973;3830463 + 4550;32736;1700;1822;170341973;3830463 + 4551;32743;1700;1823;170341973;3863206 + 4552;32748;1700;1823;170341973;3863206 + 4553;32760;1700;1823;170341973;3863206 + 4554;32766;1700;1824;170341973;3895972 + 4555;32772;1700;1824;170341973;3895972 + 4556;32780;1700;1825;170341973;3928752 + 4557;32784;1700;1825;170341973;3928752 + 4558;32796;1700;1825;170341973;3928752 + 4559;32804;1700;1826;170341973;3961556 + 4560;32808;1700;1826;170341973;3961556 + 4561;32818;1700;1827;170341973;3994374 + 4562;32820;1700;1827;170341973;3994374 + 4563;32832;1700;1827;170341973;3994374 + 4564;32838;1700;1828;170341973;4027212 + 4565;32844;1700;1828;170341973;4027212 + 4566;32856;1700;1828;170341973;4027212 + 4567;32861;1700;1829;170341973;4060073 + 4568;32868;1700;1829;170341973;4060073 + 4569;32880;1700;1829;170341973;4060073 + 4570;32885;1700;1830;170341973;4092958 + 4571;32892;1700;1830;170341973;4092958 + 4572;32902;1700;1831;170341973;4125860 + 4573;32904;1700;1831;170341973;4125860 + 4574;32916;1700;1831;170341973;4125860 + 4575;32923;1700;1832;170341973;4158783 + 4576;32928;1700;1832;170341973;4158783 + 4577;32940;1700;1832;170341973;4158783 + 4578;32942;1700;1833;170341973;4191725 + 4579;32952;1700;1833;170341973;4191725 + 4580;32958;1700;1834;170341973;4224683 + 4581;32964;1700;1834;170341973;4224683 + 4582;32976;1700;1834;170341973;4224683 + 4583;32977;1710;1835;182571405;3951069 + 4584;32988;1720;1835;174799807;3642668 + 4585;32993;1720;1836;174799807;3675661 + 4586;33000;1720;1836;174799807;3675661 + 4587;33005;1720;1837;174799807;3708666 + 4588;33012;1720;1837;174799807;3708666 + 4589;33024;1720;1837;174799807;3708666 + 4590;33028;1720;1838;174799807;3741694 + 4591;33036;1720;1838;174799807;3741694 + 4592;33046;1720;1839;174799807;3774740 + 4593;33048;1720;1839;174799807;3774740 + 4594;33060;1720;1839;174799807;3774740 + 4595;33064;1720;1840;174799807;3807804 + 4596;33072;1720;1840;174799807;3807804 + 4597;33084;1720;1840;174799807;3807804 + 4598;33088;1720;1841;174799807;3840892 + 4599;33096;1720;1841;174799807;3840892 + 4600;33101;1720;1842;174799807;3873993 + 4601;33108;1720;1842;174799807;3873993 + 4602;33115;1720;1843;174799807;3907108 + 4603;33120;1720;1843;174799807;3907108 + 4604;33131;1720;1844;174799807;3940239 + 4605;33132;1720;1844;174799807;3940239 + 4606;33144;1720;1844;174799807;3940239 + 4607;33151;1720;1845;174799807;3973390 + 4608;33156;1720;1845;174799807;3973390 + 4609;33166;1720;1846;174799807;4006556 + 4610;33168;1720;1846;174799807;4006556 + 4611;33180;1720;1846;174799807;4006556 + 4612;33182;1720;1847;174799807;4039738 + 4613;33192;1720;1847;174799807;4039738 + 4614;33204;1720;1847;174799807;4039738 + 4615;33204;1720;1848;174799807;4072942 + 4616;33216;1720;1848;174799807;4072942 + 4617;33226;1720;1849;174799807;4106168 + 4618;33228;1720;1849;174799807;4106168 + 4619;33240;1720;1849;174799807;4106168 + 4620;33248;1730;1850;180063222;3829205 + 4621;33252;1730;1850;180063222;3829205 + 4622;33264;1730;1850;180063222;3829205 + 4623;33267;1730;1851;180063222;3862472 + 4624;33276;1730;1851;180063222;3862472 + 4625;33286;1730;1852;180063222;3895758 + 4626;33288;1730;1852;180063222;3895758 + 4627;33300;1730;1852;180063222;3895758 + 4628;33300;1730;1853;180063222;3929058 + 4629;33312;1730;1853;180063222;3929058 + 4630;33312;1730;1854;180063222;3962370 + 4631;33324;1730;1854;180063222;3962370 + 4632;33331;1730;1855;180063222;3995701 + 4633;33336;1730;1855;180063222;3995701 + 4634;33348;1740;1855;185763562;3683658 + 4635;33349;1750;1856;171710175;3403110 + 4636;33360;1750;1856;171710175;3403110 + 4637;33362;1750;1857;171710175;3436472 + 4638;33372;1750;1857;171710175;3436472 + 4639;33384;1750;1857;171710175;3436472 + 4640;33384;1760;1858;158191769;3154296 + 4641;33396;1760;1858;158191769;3154296 + 4642;33401;1760;1859;158191769;3187697 + 4643;33408;1760;1859;158191769;3187697 + 4644;33416;1760;1860;158191769;3221113 + 4645;33420;1760;1860;158191769;3221113 + 4646;33432;1760;1860;158191769;3221113 + 4647;33440;1760;1861;158191769;3254553 + 4648;33444;1760;1861;158191769;3254553 + 4649;33456;1760;1861;158191769;3254553 + 4650;33458;1760;1862;158191769;3288011 + 4651;33468;1760;1862;158191769;3288011 + 4652;33471;1760;1863;158191769;3321482 + 4653;33480;1760;1863;158191769;3321482 + 4654;33483;1760;1864;158191769;3354965 + 4655;33492;1760;1864;158191769;3354965 + 4656;33504;1760;1864;158191769;3354965 + 4657;33507;1760;1865;158191769;3388472 + 4658;33516;1760;1865;158191769;3388472 + 4659;33520;1760;1866;158191769;3421992 + 4660;33528;1760;1866;158191769;3421992 + 4661;33539;1760;1867;158191769;3455531 + 4662;33540;1760;1867;158191769;3455531 + 4663;33551;1760;1868;158191769;3489082 + 4664;33552;1760;1868;158191769;3489082 + 4665;33563;1760;1869;158191769;3522645 + 4666;33564;1760;1869;158191769;3522645 + 4667;33576;1760;1869;158191769;3522645 + 4668;33582;1760;1870;158191769;3556227 + 4669;33588;1760;1870;158191769;3556227 + 4670;33600;1760;1870;158191769;3556227 + 4671;33604;1760;1871;158191769;3589831 + 4672;33612;1760;1871;158191769;3589831 + 4673;33619;1760;1872;158191769;3623450 + 4674;33624;1760;1872;158191769;3623450 + 4675;33636;1760;1872;158191769;3623450 + 4676;33637;1760;1873;158191769;3657087 + 4677;33648;1760;1873;158191769;3657087 + 4678;33660;1760;1873;158191769;3657087 + 4679;33661;1760;1874;158191769;3690748 + 4680;33672;1760;1874;158191769;3690748 + 4681;33681;1760;1875;158191769;3724429 + 4682;33684;1760;1875;158191769;3724429 + 4683;33696;1760;1875;158191769;3724429 + 4684;33699;1760;1876;158191769;3758128 + 4685;33708;1760;1876;158191769;3758128 + 4686;33720;1760;1876;158191769;3758128 + 4687;33722;1760;1877;158191769;3791850 + 4688;33732;1760;1877;158191769;3791850 + 4689;33737;1760;1878;158191769;3825587 + 4690;33744;1760;1878;158191769;3825587 + 4691;33750;1760;1879;158191769;3859337 + 4692;33756;1760;1879;158191769;3859337 + 4693;33768;1760;1879;158191769;3859337 + 4694;33774;1760;1880;158191769;3893111 + 4695;33780;1760;1880;158191769;3893111 + 4696;33787;1760;1881;158191769;3926898 + 4697;33792;1760;1881;158191769;3926898 + 4698;33804;1760;1881;158191769;3926898 + 4699;33805;1760;1882;158191769;3960703 + 4700;33816;1760;1882;158191769;3960703 + 4701;33825;1760;1883;158191769;3994528 + 4702;33828;1760;1883;158191769;3994528 + 4703;33840;1760;1883;158191769;3994528 + 4704;33841;1760;1884;158191769;4028369 + 4705;33852;1760;1884;158191769;4028369 + 4706;33861;1760;1885;158191769;4062230 + 4707;33864;1760;1885;158191769;4062230 + 4708;33876;1760;1885;158191769;4062230 + 4709;33881;1760;1886;158191769;4096111 + 4710;33888;1760;1886;158191769;4096111 + 4711;33900;1760;1886;158191769;4096111 + 4712;33900;1760;1887;158191769;4130011 + 4713;33912;1760;1887;158191769;4130011 + 4714;33922;1760;1888;158191769;4163933 + 4715;33924;1760;1888;158191769;4163933 + 4716;33936;1760;1888;158191769;4163933 + 4717;33939;1760;1889;158191769;4197872 + 4718;33948;1760;1889;158191769;4197872 + 4719;33954;1760;1890;158191769;4231826 + 4720;33960;1760;1890;158191769;4231826 + 4721;33972;1760;1890;158191769;4231826 + 4722;33974;1760;1891;158191769;4265800 + 4723;33984;1760;1891;158191769;4265800 + 4724;33988;1760;1892;158191769;4299788 + 4725;33996;1760;1892;158191769;4299788 + 4726;34008;1760;1892;158191769;4299788 + 4727;34012;1770;1893;171767421;4016546 + 4728;34020;1770;1893;171767421;4016546 + 4729;34026;1780;1894;161737506;3731412 + 4730;34032;1780;1894;161737506;3731412 + 4731;34042;1780;1895;161737506;3765454 + 4732;34044;1780;1895;161737506;3765454 + 4733;34056;1780;1895;161737506;3765454 + 4734;34060;1780;1896;161737506;3799514 + 4735;34068;1780;1896;161737506;3799514 + 4736;34075;1780;1897;161737506;3833589 + 4737;34080;1780;1897;161737506;3833589 + 4738;34089;1780;1898;161737506;3867678 + 4739;34092;1780;1898;161737506;3867678 + 4740;34102;1780;1899;161737506;3901780 + 4741;34104;1780;1899;161737506;3901780 + 4742;34116;1780;1899;161737506;3901780 + 4743;34124;1780;1900;161737506;3935904 + 4744;34128;1780;1900;161737506;3935904 + 4745;34140;1780;1900;161737506;3935904 + 4746;34142;1790;1901;158561314;3649017 + 4747;34152;1810;1901;142780434;3001789 + 4748;34160;1810;1902;142780434;3035949 + 4749;34164;1810;1902;142780434;3035949 + 4750;34175;1810;1903;142780434;3070124 + 4751;34176;1810;1903;142780434;3070124 + 4752;34188;1810;1903;142780434;3070124 + 4753;34188;1810;1904;142780434;3104312 + 4754;34200;1810;1904;142780434;3104312 + 4755;34212;1810;1904;142780434;3104312 + 4756;34212;1810;1905;142780434;3138524 + 4757;34224;1810;1905;142780434;3138524 + 4758;34225;1810;1906;142780434;3172749 + 4759;34236;1810;1906;142780434;3172749 + 4760;34246;1810;1907;142780434;3206995 + 4761;34248;1810;1907;142780434;3206995 + 4762;34260;1810;1907;142780434;3206995 + 4763;34269;1820;1908;133861813;2914901 + 4764;34272;1820;1908;133861813;2914901 + 4765;34282;1820;1909;133861813;2949183 + 4766;34284;1820;1909;133861813;2949183 + 4767;34296;1820;1909;133861813;2949183 + 4768;34298;1820;1910;133861813;2983481 + 4769;34308;1820;1910;133861813;2983481 + 4770;34313;1820;1911;133861813;3017794 + 4771;34320;1820;1911;133861813;3017794 + 4772;34332;1820;1911;133861813;3017794 + 4773;34334;1820;1912;133861813;3052128 + 4774;34344;1820;1912;133861813;3052128 + 4775;34353;1820;1913;133861813;3086481 + 4776;34356;1820;1913;133861813;3086481 + 4777;34368;1820;1913;133861813;3086481 + 4778;34373;1820;1914;133861813;3120854 + 4779;34380;1820;1914;133861813;3120854 + 4780;34392;1820;1914;133861813;3120854 + 4781;34396;1820;1915;133861813;3155250 + 4782;34404;1820;1915;133861813;3155250 + 4783;34413;1820;1916;133861813;3189663 + 4784;34416;1820;1916;133861813;3189663 + 4785;34425;1820;1917;133861813;3224088 + 4786;34428;1820;1917;133861813;3224088 + 4787;34440;1820;1917;133861813;3224088 + 4788;34441;1820;1918;133861813;3258529 + 4789;34452;1820;1918;133861813;3258529 + 4790;34464;1820;1918;133861813;3258529 + 4791;34465;1820;1919;133861813;3292994 + 4792;34476;1820;1919;133861813;3292994 + 4793;34479;1820;1920;133861813;3327473 + 4794;34488;1820;1920;133861813;3327473 + 4795;34500;1820;1920;133861813;3327473 + 4796;34502;1820;1921;133861813;3361975 + 4797;34512;1820;1921;133861813;3361975 + 4798;34519;1820;1922;133861813;3396494 + 4799;34524;1820;1922;133861813;3396494 + 4800;34536;1820;1922;133861813;3396494 + 4801;34538;1820;1923;133861813;3431032 + 4802;34548;1820;1923;133861813;3431032 + 4803;34554;1820;1924;133861813;3465586 + 4804;34560;1820;1924;133861813;3465586 + 4805;34572;1820;1924;133861813;3465586 + 4806;34575;1820;1925;133861813;3500161 + 4807;34584;1820;1925;133861813;3500161 + 4808;34595;1820;1926;133861813;3534756 + 4809;34596;1820;1926;133861813;3534756 + 4810;34608;1820;1926;133861813;3534756 + 4811;34613;1820;1927;133861813;3569369 + 4812;34620;1820;1927;133861813;3569369 + 4813;34630;1820;1928;133861813;3603999 + 4814;34632;1820;1928;133861813;3603999 + 4815;34644;1820;1928;133861813;3603999 + 4816;34651;1820;1929;133861813;3638650 + 4817;34656;1820;1929;133861813;3638650 + 4818;34665;1820;1930;133861813;3673315 + 4819;34668;1820;1930;133861813;3673315 + 4820;34680;1820;1930;133861813;3673315 + 4821;34686;1820;1931;133861813;3708001 + 4822;34692;1820;1931;133861813;3708001 + 4823;34701;1820;1932;133861813;3742702 + 4824;34704;1820;1932;133861813;3742702 + 4825;34716;1820;1932;133861813;3742702 + 4826;34724;1830;1933;139836613;3449303 + 4827;34728;1830;1933;139836613;3449303 + 4828;34740;1830;1933;139836613;3449303 + 4829;34745;1830;1934;139836613;3484048 + 4830;34752;1830;1934;139836613;3484048 + 4831;34763;1830;1935;139836613;3518811 + 4832;34764;1830;1935;139836613;3518811 + 4833;34776;1830;1935;139836613;3518811 + 4834;34784;1830;1936;139836613;3553595 + 4835;34788;1830;1936;139836613;3553595 + 4836;34798;1830;1937;139836613;3588393 + 4837;34800;1830;1937;139836613;3588393 + 4838;34810;1830;1938;139836613;3623203 + 4839;34812;1830;1938;139836613;3623203 + 4840;34824;1830;1938;139836613;3623203 + 4841;34832;1830;1939;139836613;3658035 + 4842;34836;1830;1939;139836613;3658035 + 4843;34848;1830;1939;139836613;3658035 + 4844;34854;1830;1940;139836613;3692889 + 4845;34860;1830;1940;139836613;3692889 + 4846;34872;1830;1940;139836613;3692889 + 4847;34873;1830;1941;139836613;3727762 + 4848;34884;1830;1941;139836613;3727762 + 4849;34889;1830;1942;139836613;3762651 + 4850;34896;1830;1942;139836613;3762651 + 4851;34906;1830;1943;139836613;3797557 + 4852;34908;1830;1943;139836613;3797557 + 4853;34919;1830;1944;139836613;3832476 + 4854;34920;1830;1944;139836613;3832476 + 4855;34932;1830;1944;139836613;3832476 + 4856;34932;1830;1945;139836613;3867408 + 4857;34944;1830;1945;139836613;3867408 + 4858;34948;1830;1946;139836613;3902356 + 4859;34956;1830;1946;139836613;3902356 + 4860;34967;1830;1947;139836613;3937323 + 4861;34968;1830;1947;139836613;3937323 + 4862;34980;1830;1947;139836613;3937323 + 4863;34987;1830;1948;139836613;3972310 + 4864;34992;1830;1948;139836613;3972310 + 4865;35004;1830;1948;139836613;3972310 + 4866;35009;1830;1949;139836613;4007319 + 4867;35016;1830;1949;139836613;4007319 + 4868;35025;1830;1950;139836613;4042344 + 4869;35028;1830;1950;139836613;4042344 + 4870;35040;1830;1950;139836613;4042344 + 4871;35042;1830;1951;139836613;4077386 + 4872;35052;1830;1951;139836613;4077386 + 4873;35056;1830;1952;139836613;4112442 + 4874;35064;1830;1952;139836613;4112442 + 4875;35076;1830;1952;139836613;4112442 + 4876;35077;1830;1953;139836613;4147519 + 4877;35088;1830;1953;139836613;4147519 + 4878;35090;1830;1954;139836613;4182609 + 4879;35100;1830;1954;139836613;4182609 + 4880;35112;1830;1954;139836613;4182609 + 4881;35113;1830;1955;139836613;4217722 + 4882;35124;1830;1955;139836613;4217722 + 4883;35133;1830;1956;139836613;4252855 + 4884;35136;1830;1956;139836613;4252855 + 4885;35145;1830;1957;139836613;4288000 + 4886;35148;1830;1957;139836613;4288000 + 4887;35160;1830;1957;139836613;4288000 + 4888;35162;1830;1958;139836613;4323162 + 4889;35172;1830;1958;139836613;4323162 + 4890;35179;1830;1959;139836613;4358341 + 4891;35184;1830;1959;139836613;4358341 + 4892;35196;1830;1959;139836613;4358341 + 4893;35200;1830;1960;139836613;4393541 + 4894;35208;1830;1960;139836613;4393541 + 4895;35220;1830;1960;139836613;4393541 + 4896;35223;1830;1961;139836613;4428764 + 4897;35232;1830;1961;139836613;4428764 + 4898;35237;1830;1962;139836613;4464001 + 4899;35244;1830;1962;139836613;4464001 + 4900;35253;1830;1963;139836613;4499254 + 4901;35256;1830;1963;139836613;4499254 + 4902;35268;1830;1963;139836613;4499254 + 4903;35271;1830;1964;139836613;4534525 + 4904;35280;1830;1964;139836613;4534525 + 4905;35288;1830;1965;139836613;4569813 + 4906;35292;1830;1965;139836613;4569813 + 4907;35303;1830;1966;139836613;4605116 + 4908;35304;1830;1966;139836613;4605116 + 4909;35316;1830;1966;139836613;4605116 + 4910;35326;1830;1967;139836613;4640442 + 4911;35328;1830;1967;139836613;4640442 + 4912;35338;1830;1968;139836613;4675780 + 4913;35340;1830;1968;139836613;4675780 + 4914;35351;1840;1969;151660028;4381107 + 4915;35352;1840;1969;151660028;4381107 + 4916;35364;1840;1969;151660028;4381107 + 4917;35366;1850;1970;154956023;4084682 + 4918;35376;1850;1970;154956023;4084682 + 4919;35388;1860;1970;145591976;3751101 + 4920;35389;1860;1971;145591976;3786490 + 4921;35400;1860;1971;145591976;3786490 + 4922;35407;1860;1972;145591976;3821897 + 4923;35412;1860;1972;145591976;3821897 + 4924;35424;1860;1972;145591976;3821897 + 4925;35427;1860;1973;145591976;3857324 + 4926;35436;1860;1973;145591976;3857324 + 4927;35440;1860;1974;145591976;3892764 + 4928;35448;1860;1974;145591976;3892764 + 4929;35460;1860;1974;145591976;3892764 + 4930;35464;1860;1975;145591976;3928228 + 4931;35472;1860;1975;145591976;3928228 + 4932;35480;1860;1976;145591976;3963708 + 4933;35484;1860;1976;145591976;3963708 + 4934;35496;1860;1976;145591976;3963708 + 4935;35502;1860;1977;145591976;3999210 + 4936;35508;1860;1977;145591976;3999210 + 4937;35520;1870;1977;143448300;3663932 + 4938;35520;1870;1978;143448300;3699452 + 4939;35532;1870;1978;143448300;3699452 + 4940;35541;1870;1979;143448300;3734993 + 4941;35544;1870;1979;143448300;3734993 + 4942;35556;1870;1979;143448300;3734993 + 4943;35561;1870;1980;143448300;3770554 + 4944;35568;1870;1980;143448300;3770554 + 4945;35573;1870;1981;143448300;3806127 + 4946;35580;1870;1981;143448300;3806127 + 4947;35585;1870;1982;143448300;3841712 + 4948;35592;1870;1982;143448300;3841712 + 4949;35597;1870;1983;143448300;3877309 + 4950;35604;1870;1983;143448300;3877309 + 4951;35616;1870;1983;143448300;3877309 + 4952;35620;1870;1984;143448300;3912929 + 4953;35628;1870;1984;143448300;3912929 + 4954;35640;1870;1984;143448300;3912929 + 4955;35643;1880;1985;143759441;3611505 + 4956;35652;1880;1985;143759441;3611505 + 4957;35662;1880;1986;143759441;3647167 + 4958;35664;1880;1986;143759441;3647167 + 4959;35674;1880;1987;143759441;3682841 + 4960;35676;1880;1987;143759441;3682841 + 4961;35688;1880;1987;143759441;3682841 + 4962;35697;1880;1988;143759441;3718538 + 4963;35700;1880;1988;143759441;3718538 + 4964;35712;1880;1988;143759441;3718538 + 4965;35720;1880;1989;143759441;3754258 + 4966;35724;1880;1989;143759441;3754258 + 4967;35732;1880;1990;143759441;3789990 + 4968;35736;1880;1990;143759441;3789990 + 4969;35748;1880;1990;143759441;3789990 + 4970;35754;1880;1991;143759441;3825744 + 4971;35760;1880;1991;143759441;3825744 + 4972;35766;1880;1992;143759441;3861510 + 4973;35772;1880;1992;143759441;3861510 + 4974;35783;1880;1993;143759441;3897293 + 4975;35784;1880;1993;143759441;3897293 + 4976;35796;1880;1993;143759441;3897293 + 4977;35804;1880;1994;143759441;3933097 + 4978;35808;1880;1994;143759441;3933097 + 4979;35820;1880;1994;143759441;3933097 + 4980;35827;1880;1995;143759441;3968924 + 4981;35832;1880;1995;143759441;3968924 + 4982;35841;1880;1996;143759441;4004765 + 4983;35844;1880;1996;143759441;4004765 + 4984;35856;1880;1996;143759441;4004765 + 4985;35857;1880;1997;143759441;4040622 + 4986;35868;1880;1997;143759441;4040622 + 4987;35871;1880;1998;143759441;4076493 + 4988;35880;1880;1998;143759441;4076493 + 4989;35892;1880;1998;143759441;4076493 + 4990;35892;1880;1999;143759441;4112385 + 4991;35904;1880;1999;143759441;4112385 + 4992;35916;1880;1999;143759441;4112385 + 4993;35916;1880;2000;143759441;4148301 + 4994;35928;1880;2000;143759441;4148301 + 4995;35933;1880;2001;143759441;4184234 + 4996;35940;1880;2001;143759441;4184234 + 4997;35949;1880;2002;143759441;4220183 + 4998;35952;1880;2002;143759441;4220183 + 4999;35964;1880;2002;143759441;4220183 + 5000;35964;1880;2003;143759441;4256147 + 5001;35976;1880;2003;143759441;4256147 + 5002;35977;1880;2004;143759441;4292124 + 5003;35988;1880;2004;143759441;4292124 + 5004;35993;1880;2005;143759441;4328117 + 5005;36000;1880;2005;143759441;4328117 + 5006;36010;1880;2006;143759441;4364127 + 5007;36012;1880;2006;143759441;4364127 + 5008;36024;1880;2006;143759441;4364127 + 5009;36027;1880;2007;143759441;4400154 + 5010;36036;1880;2007;143759441;4400154 + 5011;36047;1880;2008;143759441;4436201 + 5012;36048;1880;2008;143759441;4436201 + 5013;36060;1880;2008;143759441;4436201 + 5014;36071;1890;2009;146908218;4133370 + 5015;36072;1890;2009;146908218;4133370 + 5016;36084;1890;2009;146908218;4133370 + 5017;36087;1890;2010;146908218;4169457 + 5018;36096;1890;2010;146908218;4169457 + 5019;36108;1890;2010;146908218;4169457 + 5020;36110;1890;2011;146908218;4205567 + 5021;36120;1890;2011;146908218;4205567 + 5022;36129;1890;2012;146908218;4241696 + 5023;36132;1890;2012;146908218;4241696 + 5024;36141;1890;2013;146908218;4277837 + 5025;36144;1890;2013;146908218;4277837 + 5026;36156;1890;2013;146908218;4277837 + 5027;36162;1890;2014;146908218;4313999 + 5028;36168;1890;2014;146908218;4313999 + 5029;36176;1890;2015;146908218;4350175 + 5030;36180;1890;2015;146908218;4350175 + 5031;36189;1890;2016;146908218;4386364 + 5032;36192;1890;2016;146908218;4386364 + 5033;36204;1890;2016;146908218;4386364 + 5034;36212;1890;2017;146908218;4422576 + 5035;36216;1890;2017;146908218;4422576 + 5036;36228;1890;2017;146908218;4422576 + 5037;36234;1890;2018;146908218;4458810 + 5038;36240;1890;2018;146908218;4458810 + 5039;36252;1890;2018;146908218;4458810 + 5040;36255;1890;2019;146908218;4495065 + 5041;36264;1890;2019;146908218;4495065 + 5042;36276;1890;2019;146908218;4495065 + 5043;36276;1890;2020;146908218;4531341 + 5044;36288;1890;2020;146908218;4531341 + 5045;36294;1890;2021;146908218;4567635 + 5046;36300;1890;2021;146908218;4567635 + 5047;36312;1890;2021;146908218;4567635 + 5048;36316;1890;2022;146908218;4603951 + 5049;36324;1890;2022;146908218;4603951 + 5050;36336;1890;2022;146908218;4603951 + 5051;36340;1890;2023;146908218;4640291 + 5052;36348;1890;2023;146908218;4640291 + 5053;36353;1890;2024;146908218;4676644 + 5054;36360;1890;2024;146908218;4676644 + 5055;36370;1890;2025;146908218;4713014 + 5056;36372;1890;2025;146908218;4713014 + 5057;36384;1890;2025;146908218;4713014 + 5058;36393;1890;2026;146908218;4749407 + 5059;36396;1890;2026;146908218;4749407 + 5060;36408;1890;2026;146908218;4749407 + 5061;36413;1890;2027;146908218;4785820 + 5062;36420;1890;2027;146908218;4785820 + 5063;36432;1890;2027;146908218;4785820 + 5064;36434;1900;2028;160128191;4481594 + 5065;36444;1900;2028;160128191;4481594 + 5066;36447;1910;2029;173118216;4175673 + 5067;36456;1910;2029;173118216;4175673 + 5068;36463;1920;2030;178509417;3867955 + 5069;36468;1920;2030;178509417;3867955 + 5070;36478;1920;2031;178509417;3904433 + 5071;36480;1920;2031;178509417;3904433 + 5072;36492;1920;2031;178509417;3904433 + 5073;36500;1920;2032;178509417;3940933 + 5074;36504;1920;2032;178509417;3940933 + 5075;36516;1920;2032;178509417;3940933 + 5076;36524;1920;2033;178509417;3977457 + 5077;36528;1920;2033;178509417;3977457 + 5078;36538;1920;2034;178509417;4013995 + 5079;36540;1920;2034;178509417;4013995 + 5080;36552;1920;2034;178509417;4013995 + 5081;36556;1920;2035;178509417;4050551 + 5082;36564;1920;2035;178509417;4050551 + 5083;36575;1920;2036;178509417;4087126 + 5084;36576;1920;2036;178509417;4087126 + 5085;36587;1920;2037;178509417;4123713 + 5086;36588;1920;2037;178509417;4123713 + 5087;36600;1920;2037;178509417;4123713 + 5088;36605;1920;2038;178509417;4160318 + 5089;36612;1920;2038;178509417;4160318 + 5090;36618;1920;2039;178509417;4196936 + 5091;36624;1920;2039;178509417;4196936 + 5092;36633;1920;2040;178509417;4233569 + 5093;36636;1920;2040;178509417;4233569 + 5094;36648;1920;2040;178509417;4233569 + 5095;36648;1920;2041;178509417;4270217 + 5096;36660;1920;2041;178509417;4270217 + 5097;36671;1930;2042;172053939;3960862 + 5098;36672;1930;2042;172053939;3960862 + 5099;36684;1930;2042;172053939;3960862 + 5100;36694;1930;2043;172053939;3997556 + 5101;36696;1930;2043;172053939;3997556 + 5102;36708;1930;2043;172053939;3997556 + 5103;36709;1940;2044;174363353;3686381 + 5104;36720;1950;2044;165749016;3336757 + 5105;36730;1950;2045;165749016;3373487 + 5106;36732;1950;2045;165749016;3373487 + 5107;36744;1950;2045;165749016;3373487 + 5108;36751;1950;2046;165749016;3410238 + 5109;36756;1950;2046;165749016;3410238 + 5110;36764;1950;2047;165749016;3447002 + 5111;36768;1950;2047;165749016;3447002 + 5112;36780;1950;2047;165749016;3447002 + 5113;36781;1950;2048;165749016;3483783 + 5114;36792;1950;2048;165749016;3483783 + 5115;36804;1950;2048;165749016;3483783 + 5116;36804;1950;2049;165749016;3520587 + 5117;36816;1950;2049;165749016;3520587 + 5118;36818;1950;2050;165749016;3557405 + 5119;36828;1950;2050;165749016;3557405 + 5120;36831;1950;2051;165749016;3594236 + 5121;36840;1950;2051;165749016;3594236 + 5122;36850;1950;2052;165749016;3631086 + 5123;36852;1950;2052;165749016;3631086 + 5124;36864;1950;2052;165749016;3631086 + 5125;36871;1950;2053;165749016;3667957 + 5126;36876;1950;2053;165749016;3667957 + 5127;36888;1950;2053;165749016;3667957 + 5128;36892;1950;2054;165749016;3704849 + 5129;36900;1950;2054;165749016;3704849 + 5130;36908;1950;2055;165749016;3741757 + 5131;36912;1950;2055;165749016;3741757 + 5132;36922;1950;2056;165749016;3778679 + 5133;36924;1950;2056;165749016;3778679 + 5134;36936;1950;2056;165749016;3778679 + 5135;36938;1950;2057;165749016;3815617 + 5136;36948;1950;2057;165749016;3815617 + 5137;36959;1950;2058;165749016;3852576 + 5138;36960;1950;2058;165749016;3852576 + 5139;36972;1950;2058;165749016;3852576 + 5140;36982;1950;2059;165749016;3889558 + 5141;36984;1950;2059;165749016;3889558 + 5142;36996;1950;2059;165749016;3889558 + 5143;37006;1950;2060;165749016;3926564 + 5144;37008;1950;2060;165749016;3926564 + 5145;37020;1950;2060;165749016;3926564 + 5146;37028;1950;2061;165749016;3963592 + 5147;37032;1950;2061;165749016;3963592 + 5148;37044;1950;2061;165749016;3963592 + 5149;37050;1950;2062;165749016;4000642 + 5150;37056;1950;2062;165749016;4000642 + 5151;37068;1950;2062;165749016;4000642 + 5152;37072;1950;2063;165749016;4037714 + 5153;37080;1950;2063;165749016;4037714 + 5154;37084;1950;2064;165749016;4074798 + 5155;37092;1950;2064;165749016;4074798 + 5156;37102;1950;2065;165749016;4111900 + 5157;37104;1950;2065;165749016;4111900 + 5158;37114;1950;2066;165749016;4149014 + 5159;37116;1950;2066;165749016;4149014 + 5160;37128;1950;2066;165749016;4149014 + 5161;37132;1950;2067;165749016;4186146 + 5162;37140;1950;2067;165749016;4186146 + 5163;37149;1950;2068;165749016;4223295 + 5164;37152;1950;2068;165749016;4223295 + 5165;37164;1950;2068;165749016;4223295 + 5166;37170;1950;2069;165749016;4260465 + 5167;37176;1950;2069;165749016;4260465 + 5168;37185;1950;2070;165749016;4297650 + 5169;37188;1950;2070;165749016;4297650 + 5170;37200;1950;2070;165749016;4297650 + 5171;37207;1950;2071;165749016;4334857 + 5172;37212;1950;2071;165749016;4334857 + 5173;37224;1950;2071;165749016;4334857 + 5174;37225;1950;2072;165749016;4372082 + 5175;37236;1950;2072;165749016;4372082 + 5176;37247;1950;2073;165749016;4409329 + 5177;37248;1950;2073;165749016;4409329 + 5178;37259;1950;2074;165749016;4446588 + 5179;37260;1950;2074;165749016;4446588 + 5180;37272;1950;2074;165749016;4446588 + 5181;37274;1950;2075;165749016;4483862 + 5182;37284;1950;2075;165749016;4483862 + 5183;37286;1950;2076;165749016;4521148 + 5184;37296;1950;2076;165749016;4521148 + 5185;37302;1950;2077;165749016;4558450 + 5186;37308;1950;2077;165749016;4558450 + 5187;37320;1950;2077;165749016;4558450 + 5188;37322;1950;2078;165749016;4595772 + 5189;37332;1950;2078;165749016;4595772 + 5190;37336;1950;2079;165749016;4633108 + 5191;37344;1950;2079;165749016;4633108 + 5192;37354;1950;2080;165749016;4670462 + 5193;37356;1950;2080;165749016;4670462 + 5194;37368;1950;2080;165749016;4670462 + 5195;37368;1950;2081;165749016;4707830 + 5196;37380;1950;2081;165749016;4707830 + 5197;37386;1960;2082;177648703;4393838 + 5198;37392;1960;2082;177648703;4393838 + 5199;37399;1970;2083;169860021;4078115 + 5200;37404;1970;2083;169860021;4078115 + 5201;37411;1980;2084;162223448;3760611 + 5202;37416;1980;2084;162223448;3760611 + 5203;37427;1980;2085;162223448;3798038 + 5204;37428;1980;2085;162223448;3798038 + 5205;37440;1980;2085;162223448;3798038 + 5206;37445;1980;2086;162223448;3835483 + 5207;37452;1980;2086;162223448;3835483 + 5208;37464;1980;2086;162223448;3835483 + 5209;37467;1980;2087;162223448;3872950 + 5210;37476;1980;2087;162223448;3872950 + 5211;37480;1980;2088;162223448;3910430 + 5212;37488;1980;2088;162223448;3910430 + 5213;37500;1980;2088;162223448;3910430 + 5214;37503;1980;2089;162223448;3947933 + 5215;37512;1980;2089;162223448;3947933 + 5216;37522;1980;2090;162223448;3985455 + 5217;37524;1980;2090;162223448;3985455 + 5218;37536;1980;2090;162223448;3985455 + 5219;37542;1980;2091;162223448;4022997 + 5220;37548;1980;2091;162223448;4022997 + 5221;37558;1980;2092;162223448;4060555 + 5222;37560;1980;2092;162223448;4060555 + 5223;37572;1980;2092;162223448;4060555 + 5224;37577;1980;2093;162223448;4098132 + 5225;37584;1980;2093;162223448;4098132 + 5226;37596;1980;2093;162223448;4098132 + 5227;37601;1980;2094;162223448;4135733 + 5228;37608;1980;2094;162223448;4135733 + 5229;37618;1980;2095;162223448;4173351 + 5230;37620;1980;2095;162223448;4173351 + 5231;37632;1980;2095;162223448;4173351 + 5232;37641;1980;2096;162223448;4210992 + 5233;37644;1980;2096;162223448;4210992 + 5234;37654;1980;2097;162223448;4248646 + 5235;37656;1980;2097;162223448;4248646 + 5236;37668;1980;2097;162223448;4248646 + 5237;37672;1980;2098;162223448;4286318 + 5238;37680;1980;2098;162223448;4286318 + 5239;37692;1980;2098;162223448;4286318 + 5240;37692;1980;2099;162223448;4324010 + 5241;37704;1980;2099;162223448;4324010 + 5242;37715;1980;2100;162223448;4361725 + 5243;37716;1980;2100;162223448;4361725 + 5244;37728;1980;2100;162223448;4361725 + 5245;37730;1980;2101;162223448;4399455 + 5246;37740;1980;2101;162223448;4399455 + 5247;37752;1980;2101;162223448;4399455 + 5248;37752;1980;2102;162223448;4437207 + 5249;37764;1980;2102;162223448;4437207 + 5250;37764;1980;2103;162223448;4474971 + 5251;37776;1980;2103;162223448;4474971 + 5252;37784;1980;2104;162223448;4512755 + 5253;37788;1980;2104;162223448;4512755 + 5254;37797;1980;2105;162223448;4550552 + 5255;37800;1980;2105;162223448;4550552 + 5256;37812;1980;2105;162223448;4550552 + 5257;37820;1980;2106;162223448;4588372 + 5258;37824;1980;2106;162223448;4588372 + 5259;37833;1980;2107;162223448;4626205 + 5260;37836;1980;2107;162223448;4626205 + 5261;37847;1980;2108;162223448;4664052 + 5262;37848;1980;2108;162223448;4664052 + 5263;37860;1980;2108;162223448;4664052 + 5264;37863;1980;2109;162223448;4701915 + 5265;37872;1980;2109;162223448;4701915 + 5266;37883;1980;2110;162223448;4739798 + 5267;37884;1980;2110;162223448;4739798 + 5268;37895;1980;2111;162223448;4777693 + 5269;37896;1980;2111;162223448;4777693 + 5270;37907;1980;2112;162223448;4815600 + 5271;37908;1980;2112;162223448;4815600 + 5272;37920;1980;2112;162223448;4815600 + 5273;37931;1980;2113;162223448;4853531 + 5274;37932;1980;2113;162223448;4853531 + 5275;37944;1980;2113;162223448;4853531 + 5276;37951;1980;2114;162223448;4891482 + 5277;37956;1980;2114;162223448;4891482 + 5278;37968;1980;2114;162223448;4891482 + 5279;37973;1980;2115;162223448;4929455 + 5280;37980;1980;2115;162223448;4929455 + 5281;37992;1980;2115;162223448;4929455 + 5282;37992;1980;2116;162223448;4967447 + 5283;38004;1980;2116;162223448;4967447 + 5284;38015;2000;2117;163145323;4290288 + 5285;38016;2000;2117;163145323;4290288 + 5286;38028;2000;2117;163145323;4290288 + 5287;38036;2000;2118;163145323;4328324 + 5288;38040;2000;2118;163145323;4328324 + 5289;38052;2000;2118;163145323;4328324 + 5290;38057;2000;2119;163145323;4366381 + 5291;38064;2000;2119;163145323;4366381 + 5292;38076;2000;2119;163145323;4366381 + 5293;38081;2000;2120;163145323;4404462 + 5294;38088;2000;2120;163145323;4404462 + 5295;38097;2000;2121;163145323;4442559 + 5296;38100;2000;2121;163145323;4442559 + 5297;38112;2000;2121;163145323;4442559 + 5298;38118;2000;2122;163145323;4480677 + 5299;38124;2000;2122;163145323;4480677 + 5300;38136;2000;2122;163145323;4480677 + 5301;38140;2000;2123;163145323;4518817 + 5302;38148;2000;2123;163145323;4518817 + 5303;38153;2000;2124;163145323;4556970 + 5304;38160;2000;2124;163145323;4556970 + 5305;38166;2000;2125;163145323;4595136 + 5306;38172;2000;2125;163145323;4595136 + 5307;38184;2000;2125;163145323;4595136 + 5308;38186;2000;2126;163145323;4633322 + 5309;38196;2000;2126;163145323;4633322 + 5310;38199;2000;2127;163145323;4671521 + 5311;38208;2000;2127;163145323;4671521 + 5312;38214;2000;2128;163145323;4709735 + 5313;38220;2000;2128;163145323;4709735 + 5314;38227;2000;2129;163145323;4747962 + 5315;38232;2000;2129;163145323;4747962 + 5316;38239;2000;2130;163145323;4786201 + 5317;38244;2000;2130;163145323;4786201 + 5318;38254;2000;2131;163145323;4824455 + 5319;38256;2000;2131;163145323;4824455 + 5320;38268;2000;2131;163145323;4824455 + 5321;38275;2000;2132;163145323;4862730 + 5322;38280;2000;2132;163145323;4862730 + 5323;38287;2000;2133;163145323;4901017 + 5324;38292;2000;2133;163145323;4901017 + 5325;38303;2000;2134;163145323;4939320 + 5326;38304;2000;2134;163145323;4939320 + 5327;38315;2000;2135;163145323;4977635 + 5328;38316;2000;2135;163145323;4977635 + 5329;38328;2000;2135;163145323;4977635 + 5330;38337;2000;2136;163145323;5015972 + 5331;38340;2000;2136;163145323;5015972 + 5332;38352;2000;2136;163145323;5015972 + 5333;38353;2000;2137;163145323;5054325 + 5334;38364;2000;2137;163145323;5054325 + 5335;38369;2020;2138;165142382;4370391 + 5336;38376;2020;2138;165142382;4370391 + 5337;38388;2020;2138;165142382;4370391 + 5338;38389;2020;2139;165142382;4408780 + 5339;38400;2020;2139;165142382;4408780 + 5340;38409;2020;2140;165142382;4447189 + 5341;38412;2020;2140;165142382;4447189 + 5342;38424;2020;2140;165142382;4447189 + 5343;38432;2020;2141;165142382;4485621 + 5344;38436;2020;2141;165142382;4485621 + 5345;38448;2020;2141;165142382;4485621 + 5346;38448;2020;2142;165142382;4524069 + 5347;38460;2020;2142;165142382;4524069 + 5348;38466;2020;2143;165142382;4562535 + 5349;38472;2020;2143;165142382;4562535 + 5350;38482;2030;2144;161387455;4237010 + 5351;38484;2030;2144;161387455;4237010 + 5352;38496;2030;2144;161387455;4237010 + 5353;38505;2030;2145;161387455;4275515 + 5354;38508;2030;2145;161387455;4275515 + 5355;38520;2030;2145;161387455;4275515 + 5356;38528;2030;2146;161387455;4314043 + 5357;38532;2030;2146;161387455;4314043 + 5358;38542;2030;2147;161387455;4352585 + 5359;38544;2030;2147;161387455;4352585 + 5360;38556;2030;2147;161387455;4352585 + 5361;38561;2030;2148;161387455;4391146 + 5362;38568;2030;2148;161387455;4391146 + 5363;38580;2030;2148;161387455;4391146 + 5364;38581;2030;2149;161387455;4429727 + 5365;38592;2030;2149;161387455;4429727 + 5366;38598;2030;2150;161387455;4468325 + 5367;38604;2030;2150;161387455;4468325 + 5368;38610;2030;2151;161387455;4506935 + 5369;38616;2030;2151;161387455;4506935 + 5370;38622;2030;2152;161387455;4545557 + 5371;38628;2030;2152;161387455;4545557 + 5372;38634;2030;2153;161387455;4584191 + 5373;38640;2030;2153;161387455;4584191 + 5374;38647;2030;2154;161387455;4622838 + 5375;38652;2030;2154;161387455;4622838 + 5376;38659;2030;2155;161387455;4661497 + 5377;38664;2030;2155;161387455;4661497 + 5378;38676;2030;2155;161387455;4661497 + 5379;38677;2030;2156;161387455;4700174 + 5380;38688;2030;2156;161387455;4700174 + 5381;38695;2030;2157;161387455;4738869 + 5382;38700;2030;2157;161387455;4738869 + 5383;38712;2030;2157;161387455;4738869 + 5384;38717;2030;2158;161387455;4777586 + 5385;38724;2030;2158;161387455;4777586 + 5386;38734;2030;2159;161387455;4816320 + 5387;38736;2030;2159;161387455;4816320 + 5388;38748;2030;2159;161387455;4816320 + 5389;38748;2030;2160;161387455;4855068 + 5390;38760;2030;2160;161387455;4855068 + 5391;38766;2030;2161;161387455;4893834 + 5392;38772;2030;2161;161387455;4893834 + 5393;38784;2030;2161;161387455;4893834 + 5394;38788;2030;2162;161387455;4932622 + 5395;38796;2030;2162;161387455;4932622 + 5396;38808;2030;2162;161387455;4932622 + 5397;38809;2030;2163;161387455;4971431 + 5398;38820;2030;2163;161387455;4971431 + 5399;38828;2030;2164;161387455;5010259 + 5400;38832;2030;2164;161387455;5010259 + 5401;38843;2030;2165;161387455;5049102 + 5402;38844;2030;2165;161387455;5049102 + 5403;38856;2030;2165;161387455;5049102 + 5404;38865;2030;2166;161387455;5087967 + 5405;38868;2030;2166;161387455;5087967 + 5406;38880;2030;2166;161387455;5087967 + 5407;38888;2030;2167;161387455;5126855 + 5408;38892;2030;2167;161387455;5126855 + 5409;38904;2030;2167;161387455;5126855 + 5410;38910;2030;2168;161387455;5165765 + 5411;38916;2030;2168;161387455;5165765 + 5412;38922;2030;2169;161387455;5204687 + 5413;38928;2030;2169;161387455;5204687 + 5414;38939;2030;2170;161387455;5243626 + 5415;38940;2030;2170;161387455;5243626 + 5416;38952;2030;2170;161387455;5243626 + 5417;38954;2040;2171;175237353;4916796 + 5418;38964;2040;2171;175237353;4916796 + 5419;38971;2040;2172;175237353;4955767 + 5420;38976;2040;2172;175237353;4955767 + 5421;38988;2040;2172;175237353;4955767 + 5422;38991;2040;2173;175237353;4994758 + 5423;39000;2040;2173;175237353;4994758 + 5424;39004;2060;2174;167191750;4296853 + 5425;39012;2060;2174;167191750;4296853 + 5426;39024;2060;2174;167191750;4296853 + 5427;39027;2060;2175;167191750;4335880 + 5428;39036;2060;2175;167191750;4335880 + 5429;39043;2060;2176;167191750;4374923 + 5430;39048;2060;2176;167191750;4374923 + 5431;39060;2060;2176;167191750;4374923 + 5432;39063;2060;2177;167191750;4413986 + 5433;39072;2060;2177;167191750;4413986 + 5434;39084;2060;2177;167191750;4413986 + 5435;39086;2060;2178;167191750;4453072 + 5436;39096;2060;2178;167191750;4453072 + 5437;39098;2060;2179;167191750;4492170 + 5438;39108;2060;2179;167191750;4492170 + 5439;39111;2060;2180;167191750;4531281 + 5440;39120;2060;2180;167191750;4531281 + 5441;39124;2060;2181;167191750;4570405 + 5442;39132;2060;2181;167191750;4570405 + 5443;39138;2060;2182;167191750;4609543 + 5444;39144;2060;2182;167191750;4609543 + 5445;39156;2060;2182;167191750;4609543 + 5446;39159;2060;2183;167191750;4648702 + 5447;39168;2060;2183;167191750;4648702 + 5448;39172;2060;2184;167191750;4687874 + 5449;39180;2060;2184;167191750;4687874 + 5450;39187;2060;2185;167191750;4727061 + 5451;39192;2060;2185;167191750;4727061 + 5452;39204;2060;2185;167191750;4727061 + 5453;39207;2060;2186;167191750;4766268 + 5454;39216;2060;2186;167191750;4766268 + 5455;39228;2060;2186;167191750;4766268 + 5456;39229;2060;2187;167191750;4805497 + 5457;39240;2060;2187;167191750;4805497 + 5458;39241;2060;2188;167191750;4844738 + 5459;39252;2060;2188;167191750;4844738 + 5460;39264;2060;2188;167191750;4844738 + 5461;39265;2060;2189;167191750;4884003 + 5462;39276;2060;2189;167191750;4884003 + 5463;39283;2060;2190;167191750;4923286 + 5464;39288;2060;2190;167191750;4923286 + 5465;39296;2060;2191;167191750;4962582 + 5466;39300;2060;2191;167191750;4962582 + 5467;39312;2060;2191;167191750;4962582 + 5468;39319;2060;2192;167191750;5001901 + 5469;39324;2060;2192;167191750;5001901 + 5470;39336;2060;2192;167191750;5001901 + 5471;39337;2060;2193;167191750;5041238 + 5472;39348;2060;2193;167191750;5041238 + 5473;39358;2060;2194;167191750;5080596 + 5474;39360;2060;2194;167191750;5080596 + 5475;39372;2060;2194;167191750;5080596 + 5476;39376;2070;2195;181297868;4748707 + 5477;39384;2070;2195;181297868;4748707 + 5478;39396;2070;2195;181297868;4748707 + 5479;39398;2070;2196;181297868;4788105 + 5480;39408;2070;2196;181297868;4788105 + 5481;39419;2070;2197;181297868;4827524 + 5482;39420;2070;2197;181297868;4827524 + 5483;39432;2070;2197;181297868;4827524 + 5484;39435;2070;2198;181297868;4866959 + 5485;39444;2070;2198;181297868;4866959 + 5486;39449;2070;2199;181297868;4906408 + 5487;39456;2070;2199;181297868;4906408 + 5488;39468;2070;2199;181297868;4906408 + 5489;39469;2070;2200;181297868;4945877 + 5490;39480;2070;2200;181297868;4945877 + 5491;39491;2070;2201;181297868;4985368 + 5492;39492;2070;2201;181297868;4985368 + 5493;39504;2070;2201;181297868;4985368 + 5494;39507;2070;2202;181297868;5024875 + 5495;39516;2070;2202;181297868;5024875 + 5496;39528;2070;2202;181297868;5024875 + 5497;39531;2070;2203;181297868;5064406 + 5498;39540;2070;2203;181297868;5064406 + 5499;39552;2070;2203;181297868;5064406 + 5500;39552;2070;2204;181297868;5103958 + 5501;39564;2070;2204;181297868;5103958 + 5502;39576;2070;2204;181297868;5103958 + 5503;39576;2070;2205;181297868;5143534 + 5504;39588;2070;2205;181297868;5143534 + 5505;39590;2070;2206;181297868;5183124 + 5506;39600;2070;2206;181297868;5183124 + 5507;39609;2070;2207;181297868;5222733 + 5508;39612;2070;2207;181297868;5222733 + 5509;39624;2080;2207;194605550;4849760 + 5510;39628;2090;2208;204106386;4514806 + 5511;39636;2090;2208;204106386;4514806 + 5512;39644;2090;2209;204106386;4554450 + 5513;39648;2090;2209;204106386;4554450 + 5514;39660;2090;2209;204106386;4554450 + 5515;39666;2090;2210;204106386;4594116 + 5516;39672;2090;2210;204106386;4594116 + 5517;39680;2090;2211;204106386;4633796 + 5518;39684;2090;2211;204106386;4633796 + 5519;39696;2090;2211;204106386;4633796 + 5520;39698;2090;2212;204106386;4673494 + 5521;39708;2090;2212;204106386;4673494 + 5522;39716;2090;2213;204106386;4713210 + 5523;39720;2090;2213;204106386;4713210 + 5524;39732;2090;2213;204106386;4713210 + 5525;39735;2090;2214;204106386;4752945 + 5526;39744;2090;2214;204106386;4752945 + 5527;39756;2090;2214;204106386;4752945 + 5528;39757;2090;2215;204106386;4792702 + 5529;39768;2090;2215;204106386;4792702 + 5530;39770;2090;2216;204106386;4832472 + 5531;39780;2090;2216;204106386;4832472 + 5532;39787;2090;2217;204106386;4872259 + 5533;39792;2090;2217;204106386;4872259 + 5534;39802;2090;2218;204106386;4912061 + 5535;39804;2090;2218;204106386;4912061 + 5536;39816;2090;2218;204106386;4912061 + 5537;39816;2090;2219;204106386;4951877 + 5538;39828;2090;2219;204106386;4951877 + 5539;39840;2090;2219;204106386;4951877 + 5540;39840;2090;2220;204106386;4991717 + 5541;39852;2090;2220;204106386;4991717 + 5542;39859;2090;2221;204106386;5031576 + 5543;39864;2090;2221;204106386;5031576 + 5544;39876;2090;2221;204106386;5031576 + 5545;39881;2090;2222;204106386;5071457 + 5546;39888;2090;2222;204106386;5071457 + 5547;39897;2090;2223;204106386;5111354 + 5548;39900;2090;2223;204106386;5111354 + 5549;39912;2090;2223;204106386;5111354 + 5550;39916;2090;2224;204106386;5151270 + 5551;39924;2090;2224;204106386;5151270 + 5552;39935;2090;2225;204106386;5191205 + 5553;39936;2090;2225;204106386;5191205 + 5554;39948;2090;2225;204106386;5191205 + 5555;39948;2090;2226;204106386;5231153 + 5556;39960;2090;2226;204106386;5231153 + 5557;39967;2090;2227;204106386;5271120 + 5558;39972;2090;2227;204106386;5271120 + 5559;39984;2090;2227;204106386;5271120 + 5560;39986;2090;2228;204106386;5311106 + 5561;39996;2090;2228;204106386;5311106 + 5562;40001;2090;2229;204106386;5351107 + 5563;40008;2090;2229;204106386;5351107 + 5564;40017;2110;2230;233646205;4636428 + 5565;40020;2110;2230;233646205;4636428 + 5566;40032;2110;2230;233646205;4636428 + 5567;40039;2110;2231;233646205;4676467 + 5568;40044;2110;2231;233646205;4676467 + 5569;40056;2110;2231;233646205;4676467 + 5570;40061;2110;2232;233646205;4716528 + 5571;40068;2110;2232;233646205;4716528 + 5572;40080;2110;2232;233646205;4716528 + 5573;40080;2110;2233;233646205;4756608 + 5574;40092;2110;2233;233646205;4756608 + 5575;40104;2110;2233;233646205;4756608 + 5576;40104;2110;2234;233646205;4796712 + 5577;40116;2110;2234;233646205;4796712 + 5578;40122;2110;2235;233646205;4836834 + 5579;40128;2110;2235;233646205;4836834 + 5580;40138;2110;2236;233646205;4876972 + 5581;40140;2110;2236;233646205;4876972 + 5582;40152;2110;2236;233646205;4876972 + 5583;40160;2110;2237;233646205;4917132 + 5584;40164;2110;2237;233646205;4917132 + 5585;40172;2110;2238;233646205;4957304 + 5586;40176;2110;2238;233646205;4957304 + 5587;40188;2110;2238;233646205;4957304 + 5588;40193;2110;2239;233646205;4997497 + 5589;40200;2110;2239;233646205;4997497 + 5590;40211;2110;2240;233646205;5037708 + 5591;40212;2110;2240;233646205;5037708 + 5592;40224;2110;2240;233646205;5037708 + 5593;40230;2110;2241;233646205;5077938 + 5594;40236;2110;2241;233646205;5077938 + 5595;40246;2110;2242;233646205;5118184 + 5596;40248;2110;2242;233646205;5118184 + 5597;40260;2110;2242;233646205;5118184 + 5598;40263;2120;2243;244767315;4778407 + 5599;40272;2120;2243;244767315;4778407 + 5600;40282;2120;2244;244767315;4818689 + 5601;40284;2120;2244;244767315;4818689 + 5602;40296;2120;2244;244767315;4818689 + 5603;40303;2120;2245;244767315;4858992 + 5604;40308;2120;2245;244767315;4858992 + 5605;40320;2120;2245;244767315;4858992 + 5606;40322;2120;2246;244767315;4899314 + 5607;40332;2120;2246;244767315;4899314 + 5608;40339;2120;2247;244767315;4939653 + 5609;40344;2120;2247;244767315;4939653 + 5610;40356;2120;2247;244767315;4939653 + 5611;40358;2120;2248;244767315;4980011 + 5612;40368;2120;2248;244767315;4980011 + 5613;40380;2120;2248;244767315;4980011 + 5614;40381;2120;2249;244767315;5020392 + 5615;40392;2120;2249;244767315;5020392 + 5616;40401;2120;2250;244767315;5060793 + 5617;40404;2120;2250;244767315;5060793 + 5618;40416;2120;2250;244767315;5060793 + 5619;40416;2120;2251;244767315;5101209 + 5620;40428;2120;2251;244767315;5101209 + 5621;40429;2120;2252;244767315;5141638 + 5622;40440;2120;2252;244767315;5141638 + 5623;40447;2120;2253;244767315;5182085 + 5624;40452;2120;2253;244767315;5182085 + 5625;40464;2120;2253;244767315;5182085 + 5626;40465;2120;2254;244767315;5222550 + 5627;40476;2120;2254;244767315;5222550 + 5628;40484;2140;2255;247433376;4497669 + 5629;40488;2150;2255;256161480;4112348 + 5630;40500;2160;2255;235209050;3725449 + 5631;40505;2170;2256;219819779;3377208 + 5632;40512;2170;2256;219819779;3377208 + 5633;40520;2170;2257;219819779;3417728 + 5634;40524;2170;2257;219819779;3417728 + 5635;40536;2170;2257;219819779;3417728 + 5636;40542;2170;2258;219819779;3458270 + 5637;40548;2170;2258;219819779;3458270 + 5638;40560;2170;2258;219819779;3458270 + 5639;40560;2170;2259;219819779;3498830 + 5640;40572;2170;2259;219819779;3498830 + 5641;40578;2170;2260;219819779;3539408 + 5642;40584;2170;2260;219819779;3539408 + 5643;40596;2170;2260;219819779;3539408 + 5644;40602;2170;2261;219819779;3580010 + 5645;40608;2170;2261;219819779;3580010 + 5646;40620;2170;2261;219819779;3580010 + 5647;40624;2170;2262;219819779;3620634 + 5648;40632;2170;2262;219819779;3620634 + 5649;40644;2170;2262;219819779;3620634 + 5650;40647;2170;2263;219819779;3661281 + 5651;40656;2170;2263;219819779;3661281 + 5652;40665;2170;2264;219819779;3701946 + 5653;40668;2170;2264;219819779;3701946 + 5654;40680;2170;2264;219819779;3701946 + 5655;40686;2170;2265;219819779;3742632 + 5656;40692;2170;2265;219819779;3742632 + 5657;40698;2170;2266;219819779;3783330 + 5658;40704;2170;2266;219819779;3783330 + 5659;40716;2170;2266;219819779;3783330 + 5660;40716;2170;2267;219819779;3824046 + 5661;40728;2170;2267;219819779;3824046 + 5662;40729;2170;2268;219819779;3864775 + 5663;40740;2170;2268;219819779;3864775 + 5664;40746;2170;2269;219819779;3905521 + 5665;40752;2170;2269;219819779;3905521 + 5666;40764;2170;2269;219819779;3905521 + 5667;40764;2170;2270;219819779;3946285 + 5668;40776;2170;2270;219819779;3946285 + 5669;40787;2170;2271;219819779;3987072 + 5670;40788;2170;2271;219819779;3987072 + 5671;40800;2170;2271;219819779;3987072 + 5672;40806;2170;2272;219819779;4027878 + 5673;40812;2170;2272;219819779;4027878 + 5674;40819;2170;2273;219819779;4068697 + 5675;40824;2170;2273;219819779;4068697 + 5676;40836;2170;2273;219819779;4068697 + 5677;40841;2170;2274;219819779;4109538 + 5678;40848;2170;2274;219819779;4109538 + 5679;40860;2170;2274;219819779;4109538 + 5680;40864;2170;2275;219819779;4150402 + 5681;40872;2170;2275;219819779;4150402 + 5682;40880;2170;2276;219819779;4191282 + 5683;40884;2170;2276;219819779;4191282 + 5684;40896;2180;2276;224559647;3800764 + 5685;40901;2180;2277;224559647;3841665 + 5686;40908;2180;2277;224559647;3841665 + 5687;40913;2180;2278;224559647;3882578 + 5688;40920;2180;2278;224559647;3882578 + 5689;40925;2180;2279;224559647;3923503 + 5690;40932;2180;2279;224559647;3923503 + 5691;40944;2180;2279;224559647;3923503 + 5692;40946;2180;2280;224559647;3964449 + 5693;40956;2180;2280;224559647;3964449 + 5694;40968;2190;2280;210638071;3572272 + 5695;40968;2190;2281;210638071;3613240 + 5696;40980;2190;2281;210638071;3613240 + 5697;40988;2190;2282;210638071;3654228 + 5698;40992;2190;2282;210638071;3654228 + 5699;41004;2190;2282;210638071;3654228 + 5700;41012;2190;2283;210638071;3695240 + 5701;41016;2190;2283;210638071;3695240 + 5702;41028;2190;2283;210638071;3695240 + 5703;41035;2190;2284;210638071;3736275 + 5704;41040;2190;2284;210638071;3736275 + 5705;41049;2190;2285;210638071;3777324 + 5706;41052;2190;2285;210638071;3777324 + 5707;41064;2190;2285;210638071;3777324 + 5708;41068;2190;2286;210638071;3818392 + 5709;41076;2190;2286;210638071;3818392 + 5710;41081;2190;2287;210638071;3859473 + 5711;41088;2190;2287;210638071;3859473 + 5712;41100;2190;2287;210638071;3859473 + 5713;41105;2190;2288;210638071;3900578 + 5714;41112;2190;2288;210638071;3900578 + 5715;41118;2190;2289;210638071;3941696 + 5716;41124;2190;2289;210638071;3941696 + 5717;41135;2190;2290;210638071;3982831 + 5718;41136;2190;2290;210638071;3982831 + 5719;41148;2190;2290;210638071;3982831 + 5720;41159;2190;2291;210638071;4023990 + 5721;41160;2190;2291;210638071;4023990 + 5722;41172;2190;2291;210638071;4023990 + 5723;41176;2190;2292;210638071;4065166 + 5724;41184;2190;2292;210638071;4065166 + 5725;41195;2190;2293;210638071;4106361 + 5726;41196;2190;2293;210638071;4106361 + 5727;41208;2190;2293;210638071;4106361 + 5728;41209;2190;2294;210638071;4147570 + 5729;41220;2190;2294;210638071;4147570 + 5730;41221;2190;2295;210638071;4188791 + 5731;41232;2190;2295;210638071;4188791 + 5732;41235;2190;2296;210638071;4230026 + 5733;41244;2190;2296;210638071;4230026 + 5734;41256;2190;2296;210638071;4230026 + 5735;41256;2190;2297;210638071;4271282 + 5736;41268;2190;2297;210638071;4271282 + 5737;41277;2190;2298;210638071;4312559 + 5738;41280;2190;2298;210638071;4312559 + 5739;41292;2190;2298;210638071;4312559 + 5740;41298;2190;2299;210638071;4353857 + 5741;41304;2190;2299;210638071;4353857 + 5742;41316;2190;2299;210638071;4353857 + 5743;41322;2190;2300;210638071;4395179 + 5744;41328;2190;2300;210638071;4395179 + 5745;41338;2190;2301;210638071;4436517 + 5746;41340;2190;2301;210638071;4436517 + 5747;41352;2190;2301;210638071;4436517 + 5748;41353;2190;2302;210638071;4477870 + 5749;41364;2190;2302;210638071;4477870 + 5750;41375;2190;2303;210638071;4519245 + 5751;41376;2190;2303;210638071;4519245 + 5752;41388;2190;2303;210638071;4519245 + 5753;41395;2190;2304;210638071;4560640 + 5754;41400;2190;2304;210638071;4560640 + 5755;41411;2190;2305;210638071;4602051 + 5756;41412;2190;2305;210638071;4602051 + 5757;41424;2200;2305;214929061;4208000 + 5758;41435;2200;2306;214929061;4249435 + 5759;41436;2200;2306;214929061;4249435 + 5760;41448;2200;2306;214929061;4249435 + 5761;41451;2200;2307;214929061;4290886 + 5762;41460;2200;2307;214929061;4290886 + 5763;41472;2200;2307;214929061;4290886 + 5764;41474;2200;2308;214929061;4332360 + 5765;41484;2200;2308;214929061;4332360 + 5766;41493;2200;2309;214929061;4373853 + 5767;41496;2200;2309;214929061;4373853 + 5768;41508;2200;2309;214929061;4373853 + 5769;41517;2200;2310;214929061;4415370 + 5770;41520;2200;2310;214929061;4415370 + 5771;41532;2200;2310;214929061;4415370 + 5772;41532;2200;2311;214929061;4456902 + 5773;41544;2200;2311;214929061;4456902 + 5774;41545;2200;2312;214929061;4498447 + 5775;41556;2200;2312;214929061;4498447 + 5776;41568;2200;2312;214929061;4498447 + 5777;41568;2200;2313;214929061;4540015 + 5778;41580;2200;2313;214929061;4540015 + 5779;41581;2200;2314;214929061;4581596 + 5780;41592;2200;2314;214929061;4581596 + 5781;41596;2200;2315;214929061;4623192 + 5782;41604;2200;2315;214929061;4623192 + 5783;41616;2200;2315;214929061;4623192 + 5784;41620;2200;2316;214929061;4664812 + 5785;41628;2200;2316;214929061;4664812 + 5786;41637;2200;2317;214929061;4706449 + 5787;41640;2200;2317;214929061;4706449 + 5788;41652;2200;2317;214929061;4706449 + 5789;41656;2200;2318;214929061;4748105 + 5790;41664;2200;2318;214929061;4748105 + 5791;41671;2200;2319;214929061;4789776 + 5792;41676;2200;2319;214929061;4789776 + 5793;41688;2200;2319;214929061;4789776 + 5794;41691;2200;2320;214929061;4831467 + 5795;41700;2200;2320;214929061;4831467 + 5796;41712;2200;2320;214929061;4831467 + 5797;41712;2200;2321;214929061;4873179 + 5798;41724;2200;2321;214929061;4873179 + 5799;41727;2200;2322;214929061;4914906 + 5800;41736;2200;2322;214929061;4914906 + 5801;41747;2230;2323;211130134;3763303 + 5802;41748;2230;2323;211130134;3763303 + 5803;41760;2230;2323;211130134;3763303 + 5804;41764;2230;2324;211130134;3805067 + 5805;41772;2230;2324;211130134;3805067 + 5806;41784;2230;2324;211130134;3805067 + 5807;41786;2230;2325;211130134;3846853 + 5808;41796;2230;2325;211130134;3846853 + 5809;41804;2230;2326;211130134;3888657 + 5810;41808;2230;2326;211130134;3888657 + 5811;41820;2230;2326;211130134;3888657 + 5812;41825;2230;2327;211130134;3930482 + 5813;41832;2230;2327;211130134;3930482 + 5814;41844;2230;2327;211130134;3930482 + 5815;41844;2230;2328;211130134;3972326 + 5816;41856;2230;2328;211130134;3972326 + 5817;41856;2230;2329;211130134;4014182 + 5818;41868;2230;2329;211130134;4014182 + 5819;41868;2230;2330;211130134;4056050 + 5820;41880;2230;2330;211130134;4056050 + 5821;41888;2230;2331;211130134;4097938 + 5822;41892;2230;2331;211130134;4097938 + 5823;41904;2230;2331;211130134;4097938 + 5824;41908;2230;2332;211130134;4139846 + 5825;41916;2230;2332;211130134;4139846 + 5826;41928;2230;2332;211130134;4139846 + 5827;41931;2230;2333;211130134;4181777 + 5828;41940;2230;2333;211130134;4181777 + 5829;41946;2230;2334;211130134;4223723 + 5830;41952;2230;2334;211130134;4223723 + 5831;41961;2230;2335;211130134;4265684 + 5832;41964;2230;2335;211130134;4265684 + 5833;41973;2230;2336;211130134;4307657 + 5834;41976;2230;2336;211130134;4307657 + 5835;41988;2230;2336;211130134;4307657 + 5836;41992;2230;2337;211130134;4349649 + 5837;42000;2230;2337;211130134;4349649 + 5838;42008;2230;2338;211130134;4391657 + 5839;42012;2230;2338;211130134;4391657 + 5840;42024;2230;2338;211130134;4391657 + 5841;42028;2230;2339;211130134;4433685 + 5842;42036;2230;2339;211130134;4433685 + 5843;42043;2230;2340;211130134;4475728 + 5844;42048;2230;2340;211130134;4475728 + 5845;42060;2230;2340;211130134;4475728 + 5846;42067;2230;2341;211130134;4517795 + 5847;42072;2230;2341;211130134;4517795 + 5848;42084;2230;2341;211130134;4517795 + 5849;42087;2230;2342;211130134;4559882 + 5850;42096;2230;2342;211130134;4559882 + 5851;42108;2230;2342;211130134;4559882 + 5852;42110;2230;2343;211130134;4601992 + 5853;42120;2230;2343;211130134;4601992 + 5854;42122;2230;2344;211130134;4644114 + 5855;42132;2230;2344;211130134;4644114 + 5856;42144;2230;2344;211130134;4644114 + 5857;42144;2230;2345;211130134;4686258 + 5858;42156;2230;2345;211130134;4686258 + 5859;42160;2230;2346;211130134;4728418 + 5860;42168;2230;2346;211130134;4728418 + 5861;42178;2230;2347;211130134;4770596 + 5862;42180;2230;2347;211130134;4770596 + 5863;42192;2230;2347;211130134;4770596 + 5864;42197;2230;2348;211130134;4812793 + 5865;42204;2230;2348;211130134;4812793 + 5866;42216;2230;2348;211130134;4812793 + 5867;42216;2230;2349;211130134;4855009 + 5868;42228;2230;2349;211130134;4855009 + 5869;42229;2230;2350;211130134;4897238 + 5870;42240;2230;2350;211130134;4897238 + 5871;42244;2230;2351;211130134;4939482 + 5872;42252;2230;2351;211130134;4939482 + 5873;42264;2230;2351;211130134;4939482 + 5874;42266;2230;2352;211130134;4981748 + 5875;42276;2230;2352;211130134;4981748 + 5876;42282;2230;2353;211130134;5024030 + 5877;42288;2230;2353;211130134;5024030 + 5878;42299;2230;2354;211130134;5066329 + 5879;42300;2230;2354;211130134;5066329 + 5880;42311;2240;2355;215754537;4707169 + 5881;42312;2240;2355;215754537;4707169 + 5882;42324;2250;2355;197975118;4303858 + 5883;42330;2250;2356;197975118;4346188 + 5884;42336;2250;2356;197975118;4346188 + 5885;42342;2250;2357;197975118;4388530 + 5886;42348;2250;2357;197975118;4388530 + 5887;42360;2250;2357;197975118;4388530 + 5888;42365;2250;2358;197975118;4430895 + 5889;42372;2250;2358;197975118;4430895 + 5890;42379;2250;2359;197975118;4473274 + 5891;42384;2250;2359;197975118;4473274 + 5892;42395;2250;2360;197975118;4515669 + 5893;42396;2250;2360;197975118;4515669 + 5894;42408;2250;2360;197975118;4515669 + 5895;42412;2250;2361;197975118;4558081 + 5896;42420;2250;2361;197975118;4558081 + 5897;42432;2250;2361;197975118;4558081 + 5898;42434;2250;2362;197975118;4600515 + 5899;42444;2250;2362;197975118;4600515 + 5900;42454;2250;2363;197975118;4642969 + 5901;42456;2250;2363;197975118;4642969 + 5902;42468;2250;2363;197975118;4642969 + 5903;42473;2250;2364;197975118;4685442 + 5904;42480;2250;2364;197975118;4685442 + 5905;42492;2250;2364;197975118;4685442 + 5906;42496;2250;2365;197975118;4727938 + 5907;42504;2250;2365;197975118;4727938 + 5908;42511;2250;2366;197975118;4770449 + 5909;42516;2250;2366;197975118;4770449 + 5910;42528;2250;2366;197975118;4770449 + 5911;42532;2250;2367;197975118;4812981 + 5912;42540;2250;2367;197975118;4812981 + 5913;42546;2250;2368;197975118;4855527 + 5914;42552;2250;2368;197975118;4855527 + 5915;42560;2250;2369;197975118;4898087 + 5916;42564;2250;2369;197975118;4898087 + 5917;42576;2250;2369;197975118;4898087 + 5918;42580;2250;2370;197975118;4940667 + 5919;42588;2250;2370;197975118;4940667 + 5920;42596;2250;2371;197975118;4983263 + 5921;42600;2250;2371;197975118;4983263 + 5922;42612;2250;2371;197975118;4983263 + 5923;42615;2250;2372;197975118;5025878 + 5924;42624;2250;2372;197975118;5025878 + 5925;42631;2250;2373;197975118;5068509 + 5926;42636;2250;2373;197975118;5068509 + 5927;42648;2250;2373;197975118;5068509 + 5928;42654;2250;2374;197975118;5111163 + 5929;42660;2250;2374;197975118;5111163 + 5930;42672;2250;2374;197975118;5111163 + 5931;42674;2250;2375;197975118;5153837 + 5932;42684;2250;2375;197975118;5153837 + 5933;42686;2250;2376;197975118;5196523 + 5934;42696;2250;2376;197975118;5196523 + 5935;42704;2250;2377;197975118;5239227 + 5936;42708;2250;2377;197975118;5239227 + 5937;42720;2250;2377;197975118;5239227 + 5938;42728;2250;2378;197975118;5281955 + 5939;42732;2250;2378;197975118;5281955 + 5940;42744;2250;2378;197975118;5281955 + 5941;42748;2250;2379;197975118;5324703 + 5942;42756;2250;2379;197975118;5324703 + 5943;42768;2250;2379;197975118;5324703 + 5944;42770;2250;2380;197975118;5367473 + 5945;42780;2250;2380;197975118;5367473 + 5946;42784;2260;2381;207398354;5005125 + 5947;42792;2260;2381;207398354;5005125 + 5948;42804;2260;2381;207398354;5005125 + 5949;42805;2270;2382;217415012;4640868 + 5950;42816;2270;2382;217415012;4640868 + 5951;42827;2280;2383;202446305;4274832 + 5952;42828;2280;2383;202446305;4274832 + 5953;42840;2280;2383;202446305;4274832 + 5954;42848;2280;2384;202446305;4317680 + 5955;42852;2280;2384;202446305;4317680 + 5956;42860;2280;2385;202446305;4360540 + 5957;42864;2280;2385;202446305;4360540 + 5958;42876;2280;2385;202446305;4360540 + 5959;42879;2280;2386;202446305;4403419 + 5960;42888;2280;2386;202446305;4403419 + 5961;42900;2280;2386;202446305;4403419 + 5962;42902;2290;2387;199498761;4035571 + 5963;42912;2290;2387;199498761;4035571 + 5964;42923;2290;2388;199498761;4078494 + 5965;42924;2290;2388;199498761;4078494 + 5966;42936;2300;2388;189074545;3665967 + 5967;42939;2300;2389;189074545;3708906 + 5968;42948;2300;2389;189074545;3708906 + 5969;42955;2300;2390;189074545;3751861 + 5970;42960;2300;2390;189074545;3751861 + 5971;42972;2300;2390;189074545;3751861 + 5972;42974;2300;2391;189074545;3794835 + 5973;42984;2300;2391;189074545;3794835 + 5974;42988;2300;2392;189074545;3837823 + 5975;42996;2300;2392;189074545;3837823 + 5976;43008;2300;2392;189074545;3837823 + 5977;43010;2300;2393;189074545;3880833 + 5978;43020;2300;2393;189074545;3880833 + 5979;43031;2300;2394;189074545;3923864 + 5980;43032;2300;2394;189074545;3923864 + 5981;43044;2300;2394;189074545;3923864 + 5982;43046;2300;2395;189074545;3966910 + 5983;43056;2300;2395;189074545;3966910 + 5984;43059;2300;2396;189074545;4009969 + 5985;43068;2300;2396;189074545;4009969 + 5986;43075;2310;2397;183180992;3638608 + 5987;43080;2310;2397;183180992;3638608 + 5988;43087;2310;2398;183180992;3681695 + 5989;43092;2310;2398;183180992;3681695 + 5990;43104;2310;2398;183180992;3681695 + 5991;43105;2310;2399;183180992;3724800 + 5992;43116;2310;2399;183180992;3724800 + 5993;43117;2310;2400;183180992;3767917 + 5994;43128;2310;2400;183180992;3767917 + 5995;43136;2310;2401;183180992;3811053 + 5996;43140;2310;2401;183180992;3811053 + 5997;43152;2310;2401;183180992;3811053 + 5998;43159;2310;2402;183180992;3854212 + 5999;43164;2310;2402;183180992;3854212 + 6000;43176;2310;2402;183180992;3854212 + 6001;43176;2310;2403;183180992;3897388 + 6002;43188;2310;2403;183180992;3897388 + 6003;43188;2310;2404;183180992;3940576 + 6004;43200;2310;2404;183180992;3940576 + 6005;43206;2310;2405;183180992;3983782 + 6006;43212;2310;2405;183180992;3983782 + 6007;43222;2310;2406;183180992;4027004 + 6008;43224;2310;2406;183180992;4027004 + 6009;43236;2310;2406;183180992;4027004 + 6010;43240;2310;2407;183180992;4070244 + 6011;43248;2310;2407;183180992;4070244 + 6012;43255;2310;2408;183180992;4113499 + 6013;43260;2310;2408;183180992;4113499 + 6014;43272;2310;2408;183180992;4113499 + 6015;43274;2310;2409;183180992;4156773 + 6016;43284;2310;2409;183180992;4156773 + 6017;43289;2310;2410;183180992;4200062 + 6018;43296;2310;2410;183180992;4200062 + 6019;43302;2310;2411;183180992;4243364 + 6020;43308;2310;2411;183180992;4243364 + 6021;43320;2310;2411;183180992;4243364 + 6022;43320;2310;2412;183180992;4286684 + 6023;43332;2310;2412;183180992;4286684 + 6024;43343;2310;2413;183180992;4330027 + 6025;43344;2310;2413;183180992;4330027 + 6026;43356;2310;2413;183180992;4330027 + 6027;43359;2310;2414;183180992;4373386 + 6028;43368;2310;2414;183180992;4373386 + 6029;43371;2310;2415;183180992;4416757 + 6030;43380;2310;2415;183180992;4416757 + 6031;43388;2310;2416;183180992;4460145 + 6032;43392;2310;2416;183180992;4460145 + 6033;43404;2310;2416;183180992;4460145 + 6034;43406;2310;2417;183180992;4503551 + 6035;43416;2310;2417;183180992;4503551 + 6036;43420;2310;2418;183180992;4546971 + 6037;43428;2310;2418;183180992;4546971 + 6038;43432;2310;2419;183180992;4590403 + 6039;43440;2310;2419;183180992;4590403 + 6040;43452;2310;2419;183180992;4590403 + 6041;43456;2310;2420;183180992;4633859 + 6042;43464;2310;2420;183180992;4633859 + 6043;43471;2310;2421;183180992;4677330 + 6044;43476;2310;2421;183180992;4677330 + 6045;43487;2310;2422;183180992;4720817 + 6046;43488;2310;2422;183180992;4720817 + 6047;43500;2310;2422;183180992;4720817 + 6048;43509;2320;2423;176527150;4348049 + 6049;43512;2320;2423;176527150;4348049 + 6050;43524;2320;2423;176527150;4348049 + 6051;43530;2320;2424;176527150;4391579 + 6052;43536;2320;2424;176527150;4391579 + 6053;43543;2320;2425;176527150;4435122 + 6054;43548;2320;2425;176527150;4435122 + 6055;43557;2320;2426;176527150;4478679 + 6056;43560;2320;2426;176527150;4478679 + 6057;43572;2320;2426;176527150;4478679 + 6058;43572;2320;2427;176527150;4522251 + 6059;43584;2320;2427;176527150;4522251 + 6060;43585;2320;2428;176527150;4565836 + 6061;43596;2320;2428;176527150;4565836 + 6062;43602;2320;2429;176527150;4609438 + 6063;43608;2320;2429;176527150;4609438 + 6064;43617;2320;2430;176527150;4653055 + 6065;43620;2320;2430;176527150;4653055 + 6066;43632;2320;2430;176527150;4653055 + 6067;43632;2320;2431;176527150;4696687 + 6068;43644;2320;2431;176527150;4696687 + 6069;43652;2320;2432;176527150;4740339 + 6070;43656;2320;2432;176527150;4740339 + 6071;43668;2320;2432;176527150;4740339 + 6072;43674;2320;2433;176527150;4784013 + 6073;43680;2320;2433;176527150;4784013 + 6074;43692;2320;2433;176527150;4784013 + 6075;43692;2320;2434;176527150;4827705 + 6076;43704;2320;2434;176527150;4827705 + 6077;43704;2320;2435;176527150;4871409 + 6078;43716;2320;2435;176527150;4871409 + 6079;43728;2320;2435;176527150;4871409 + 6080;43728;2320;2436;176527150;4915137 + 6081;43740;2320;2436;176527150;4915137 + 6082;43741;2320;2437;176527150;4958878 + 6083;43752;2320;2437;176527150;4958878 + 6084;43762;2320;2438;176527150;5002640 + 6085;43764;2320;2438;176527150;5002640 + 6086;43776;2320;2438;176527150;5002640 + 6087;43785;2320;2439;176527150;5046425 + 6088;43788;2320;2439;176527150;5046425 + 6089;43800;2320;2439;176527150;5046425 + 6090;43803;2320;2440;176527150;5090228 + 6091;43812;2320;2440;176527150;5090228 + 6092;43819;2320;2441;176527150;5134047 + 6093;43824;2320;2441;176527150;5134047 + 6094;43836;2320;2441;176527150;5134047 + 6095;43838;2320;2442;176527150;5177885 + 6096;43848;2320;2442;176527150;5177885 + 6097;43860;2320;2442;176527150;5177885 + 6098;43862;2320;2443;176527150;5221747 + 6099;43872;2320;2443;176527150;5221747 + 6100;43884;2320;2443;176527150;5221747 + 6101;43884;2320;2444;176527150;5265631 + 6102;43896;2320;2444;176527150;5265631 + 6103;43899;2320;2445;176527150;5309530 + 6104;43908;2320;2445;176527150;5309530 + 6105;43913;2320;2446;176527150;5353443 + 6106;43920;2320;2446;176527150;5353443 + 6107;43932;2320;2446;176527150;5353443 + 6108;43933;2330;2447;181237445;4979267 + 6109;43944;2340;2447;165831911;4559410 + 6110;43951;2350;2448;156356922;4181674 + 6111;43956;2350;2448;156356922;4181674 + 6112;43966;2350;2449;156356922;4225640 + 6113;43968;2350;2449;156356922;4225640 + 6114;43980;2350;2449;156356922;4225640 + 6115;43980;2350;2450;156356922;4269620 + 6116;43992;2350;2450;156356922;4269620 + 6117;43998;2350;2451;156356922;4313618 + 6118;44004;2350;2451;156356922;4313618 + 6119;44016;2350;2451;156356922;4313618 + 6120;44020;2350;2452;156356922;4357638 + 6121;44028;2350;2452;156356922;4357638 + 6122;44040;2350;2452;156356922;4357638 + 6123;44040;2350;2453;156356922;4401678 + 6124;44052;2350;2453;156356922;4401678 + 6125;44061;2350;2454;156356922;4445739 + 6126;44064;2350;2454;156356922;4445739 + 6127;44076;2350;2454;156356922;4445739 + 6128;44084;2350;2455;156356922;4489823 + 6129;44088;2350;2455;156356922;4489823 + 6130;44100;2350;2455;156356922;4489823 + 6131;44102;2350;2456;156356922;4533925 + 6132;44112;2350;2456;156356922;4533925 + 6133;44120;2350;2457;156356922;4578045 + 6134;44124;2350;2457;156356922;4578045 + 6135;44136;2350;2457;156356922;4578045 + 6136;44139;2360;2458;155085207;4198803 + 6137;44148;2360;2458;155085207;4198803 + 6138;44155;2360;2459;155085207;4242958 + 6139;44160;2360;2459;155085207;4242958 + 6140;44169;2360;2460;155085207;4287127 + 6141;44172;2360;2460;155085207;4287127 + 6142;44184;2360;2460;155085207;4287127 + 6143;44184;2360;2461;155085207;4331311 + 6144;44196;2360;2461;155085207;4331311 + 6145;44199;2360;2462;155085207;4375510 + 6146;44208;2360;2462;155085207;4375510 + 6147;44219;2360;2463;155085207;4419729 + 6148;44220;2360;2463;155085207;4419729 + 6149;44232;2360;2463;155085207;4419729 + 6150;44237;2360;2464;155085207;4463966 + 6151;44244;2360;2464;155085207;4463966 + 6152;44251;2360;2465;155085207;4508217 + 6153;44256;2360;2465;155085207;4508217 + 6154;44268;2360;2465;155085207;4508217 + 6155;44269;2360;2466;155085207;4552486 + 6156;44280;2360;2466;155085207;4552486 + 6157;44287;2360;2467;155085207;4596773 + 6158;44292;2360;2467;155085207;4596773 + 6159;44299;2360;2468;155085207;4641072 + 6160;44304;2360;2468;155085207;4641072 + 6161;44316;2360;2468;155085207;4641072 + 6162;44322;2360;2469;155085207;4685394 + 6163;44328;2360;2469;155085207;4685394 + 6164;44340;2360;2469;155085207;4685394 + 6165;44342;2360;2470;155085207;4729736 + 6166;44352;2360;2470;155085207;4729736 + 6167;44363;2360;2471;155085207;4774099 + 6168;44364;2360;2471;155085207;4774099 + 6169;44376;2360;2471;155085207;4774099 + 6170;44382;2360;2472;155085207;4818481 + 6171;44388;2360;2472;155085207;4818481 + 6172;44400;2360;2472;155085207;4818481 + 6173;44400;2360;2473;155085207;4862881 + 6174;44412;2360;2473;155085207;4862881 + 6175;44423;2360;2474;155085207;4907304 + 6176;44424;2360;2474;155085207;4907304 + 6177;44435;2360;2475;155085207;4951739 + 6178;44436;2360;2475;155085207;4951739 + 6179;44448;2360;2475;155085207;4951739 + 6180;44458;2360;2476;155085207;4996197 + 6181;44460;2360;2476;155085207;4996197 + 6182;44472;2360;2476;155085207;4996197 + 6183;44474;2360;2477;155085207;5040671 + 6184;44484;2360;2477;155085207;5040671 + 6185;44488;2360;2478;155085207;5085159 + 6186;44496;2360;2478;155085207;5085159 + 6187;44508;2360;2478;155085207;5085159 + 6188;44509;2360;2479;155085207;5129668 + 6189;44520;2360;2479;155085207;5129668 + 6190;44525;2370;2480;156826697;4749011 + 6191;44532;2370;2480;156826697;4749011 + 6192;44541;2370;2481;156826697;4793552 + 6193;44544;2370;2481;156826697;4793552 + 6194;44556;2370;2481;156826697;4793552 + 6195;44564;2370;2482;156826697;4838116 + 6196;44568;2370;2482;156826697;4838116 + 6197;44580;2370;2482;156826697;4838116 + 6198;44580;2370;2483;156826697;4882696 + 6199;44592;2370;2483;156826697;4882696 + 6200;44596;2370;2484;156826697;4927292 + 6201;44604;2370;2484;156826697;4927292 + 6202;44611;2370;2485;156826697;4971903 + 6203;44616;2370;2485;156826697;4971903 + 6204;44628;2370;2485;156826697;4971903 + 6205;44629;2370;2486;156826697;5016532 + 6206;44640;2370;2486;156826697;5016532 + 6207;44644;2370;2487;156826697;5061176 + 6208;44652;2370;2487;156826697;5061176 + 6209;44664;2370;2487;156826697;5061176 + 6210;44667;2370;2488;156826697;5105843 + 6211;44676;2370;2488;156826697;5105843 + 6212;44683;2370;2489;156826697;5150526 + 6213;44688;2370;2489;156826697;5150526 + 6214;44697;2370;2490;156826697;5195223 + 6215;44700;2370;2490;156826697;5195223 + 6216;44712;2370;2490;156826697;5195223 + 6217;44712;2370;2491;156826697;5239935 + 6218;44724;2370;2491;156826697;5239935 + 6219;44733;2370;2492;156826697;5284668 + 6220;44736;2370;2492;156826697;5284668 + 6221;44748;2370;2492;156826697;5284668 + 6222;44753;2370;2493;156826697;5329421 + 6223;44760;2370;2493;156826697;5329421 + 6224;44766;2370;2494;156826697;5374187 + 6225;44772;2370;2494;156826697;5374187 + 6226;44784;2370;2494;156826697;5374187 + 6227;44787;2370;2495;156826697;5418974 + 6228;44796;2370;2495;156826697;5418974 + 6229;44805;2370;2496;156826697;5463779 + 6230;44808;2370;2496;156826697;5463779 + 6231;44820;2370;2496;156826697;5463779 + 6232;44821;2370;2497;156826697;5508600 + 6233;44832;2370;2497;156826697;5508600 + 6234;44843;2370;2498;156826697;5553443 + 6235;44844;2370;2498;156826697;5553443 + 6236;44856;2370;2498;156826697;5553443 + 6237;44857;2370;2499;156826697;5598300 + 6238;44868;2370;2499;156826697;5598300 + 6239;44880;2370;2499;156826697;5598300 + 6240;44881;2370;2500;156826697;5643181 + 6241;44892;2370;2500;156826697;5643181 + 6242;44897;2370;2501;156826697;5688078 + 6243;44904;2370;2501;156826697;5688078 + 6244;44915;2370;2502;156826697;5732993 + 6245;44916;2370;2502;156826697;5732993 + 6246;44928;2370;2502;156826697;5732993 + 6247;44935;2370;2503;156826697;5777928 + 6248;44940;2370;2503;156826697;5777928 + 6249;44949;2370;2504;156826697;5822877 + 6250;44952;2370;2504;156826697;5822877 + 6251;44964;2370;2504;156826697;5822877 + 6252;44964;2370;2505;156826697;5867841 + 6253;44976;2370;2505;156826697;5867841 + 6254;44978;2370;2506;156826697;5912819 + 6255;44988;2370;2506;156826697;5912819 + 6256;44990;2380;2507;171281435;5530815 + 6257;45000;2380;2507;171281435;5530815 + 6258;45003;2380;2508;171281435;5575818 + 6259;45012;2380;2508;171281435;5575818 + 6260;45019;2380;2509;171281435;5620837 + 6261;45024;2380;2509;171281435;5620837 + 6262;45036;2380;2509;171281435;5620837 + 6263;45039;2380;2510;171281435;5665876 + 6264;45048;2380;2510;171281435;5665876 + 6265;45060;2380;2510;171281435;5665876 + 6266;45060;2380;2511;171281435;5710936 + 6267;45072;2380;2511;171281435;5710936 + 6268;45073;2380;2512;171281435;5756009 + 6269;45084;2380;2512;171281435;5756009 + 6270;45085;2380;2513;171281435;5801094 + 6271;45096;2380;2513;171281435;5801094 + 6272;45106;2380;2514;171281435;5846200 + 6273;45108;2380;2514;171281435;5846200 + 6274;45120;2380;2514;171281435;5846200 + 6275;45129;2380;2515;171281435;5891329 + 6276;45132;2380;2515;171281435;5891329 + 6277;45144;2390;2515;167275367;5462417 + 6278;45153;2410;2516;151079777;4644605 + 6279;45156;2410;2516;151079777;4644605 + 6280;45168;2410;2516;151079777;4644605 + 6281;45169;2410;2517;151079777;4689774 + 6282;45180;2410;2517;151079777;4689774 + 6283;45188;2410;2518;151079777;4734962 + 6284;45192;2410;2518;151079777;4734962 + 6285;45204;2410;2518;151079777;4734962 + 6286;45208;2410;2519;151079777;4780170 + 6287;45216;2410;2519;151079777;4780170 + 6288;45228;2410;2519;151079777;4780170 + 6289;45232;2410;2520;151079777;4825402 + 6290;45240;2410;2520;151079777;4825402 + 6291;45247;2410;2521;151079777;4870649 + 6292;45252;2410;2521;151079777;4870649 + 6293;45264;2410;2521;151079777;4870649 + 6294;45265;2410;2522;151079777;4915914 + 6295;45276;2410;2522;151079777;4915914 + 6296;45286;2410;2523;151079777;4961200 + 6297;45288;2410;2523;151079777;4961200 + 6298;45300;2410;2523;151079777;4961200 + 6299;45304;2410;2524;151079777;5006504 + 6300;45312;2410;2524;151079777;5006504 + 6301;45321;2410;2525;151079777;5051825 + 6302;45324;2410;2525;151079777;5051825 + 6303;45336;2420;2525;148855300;4617859 + 6304;45339;2420;2526;148855300;4663198 + 6305;45348;2420;2526;148855300;4663198 + 6306;45353;2420;2527;148855300;4708551 + 6307;45360;2420;2527;148855300;4708551 + 6308;45372;2420;2527;148855300;4708551 + 6309;45374;2420;2528;148855300;4753925 + 6310;45384;2420;2528;148855300;4753925 + 6311;45394;2420;2529;148855300;4799319 + 6312;45396;2420;2529;148855300;4799319 + 6313;45408;2420;2529;148855300;4799319 + 6314;45415;2420;2530;148855300;4844734 + 6315;45420;2420;2530;148855300;4844734 + 6316;45431;2420;2531;148855300;4890165 + 6317;45432;2420;2531;148855300;4890165 + 6318;45444;2420;2531;148855300;4890165 + 6319;45455;2420;2532;148855300;4935620 + 6320;45456;2420;2532;148855300;4935620 + 6321;45468;2420;2532;148855300;4935620 + 6322;45474;2420;2533;148855300;4981094 + 6323;45480;2420;2533;148855300;4981094 + 6324;45492;2420;2533;148855300;4981094 + 6325;45497;2420;2534;148855300;5026591 + 6326;45504;2420;2534;148855300;5026591 + 6327;45510;2420;2535;148855300;5072101 + 6328;45516;2420;2535;148855300;5072101 + 6329;45523;2420;2536;148855300;5117624 + 6330;45528;2420;2536;148855300;5117624 + 6331;45535;2420;2537;148855300;5163159 + 6332;45540;2420;2537;148855300;5163159 + 6333;45551;2420;2538;148855300;5208710 + 6334;45552;2420;2538;148855300;5208710 + 6335;45564;2420;2538;148855300;5208710 + 6336;45565;2420;2539;148855300;5254275 + 6337;45576;2420;2539;148855300;5254275 + 6338;45587;2420;2540;148855300;5299862 + 6339;45588;2420;2540;148855300;5299862 + 6340;45600;2420;2540;148855300;5299862 + 6341;45605;2420;2541;148855300;5345467 + 6342;45612;2420;2541;148855300;5345467 + 6343;45624;2420;2541;148855300;5345467 + 6344;45629;2420;2542;148855300;5391096 + 6345;45636;2420;2542;148855300;5391096 + 6346;45648;2420;2542;148855300;5391096 + 6347;45649;2420;2543;148855300;5436745 + 6348;45660;2420;2543;148855300;5436745 + 6349;45663;2420;2544;148855300;5482408 + 6350;45672;2420;2544;148855300;5482408 + 6351;45684;2420;2544;148855300;5482408 + 6352;45687;2430;2545;154491852;5092461 + 6353;45696;2430;2545;154491852;5092461 + 6354;45708;2430;2545;154491852;5092461 + 6355;45709;2430;2546;154491852;5138170 + 6356;45720;2430;2546;154491852;5138170 + 6357;45723;2430;2547;154491852;5183893 + 6358;45732;2430;2547;154491852;5183893 + 6359;45737;2430;2548;154491852;5229630 + 6360;45744;2430;2548;154491852;5229630 + 6361;45753;2430;2549;154491852;5275383 + 6362;45756;2430;2549;154491852;5275383 + 6363;45766;2430;2550;154491852;5321149 + 6364;45768;2430;2550;154491852;5321149 + 6365;45779;2430;2551;154491852;5366928 + 6366;45780;2430;2551;154491852;5366928 + 6367;45792;2430;2551;154491852;5366928 + 6368;45792;2430;2552;154491852;5412720 + 6369;45804;2430;2552;154491852;5412720 + 6370;45810;2430;2553;154491852;5458530 + 6371;45816;2430;2553;154491852;5458530 + 6372;45828;2430;2553;154491852;5458530 + 6373;45832;2430;2554;154491852;5504362 + 6374;45840;2430;2554;154491852;5504362 + 6375;45849;2430;2555;154491852;5550211 + 6376;45852;2430;2555;154491852;5550211 + 6377;45864;2430;2555;154491852;5550211 + 6378;45872;2430;2556;154491852;5596083 + 6379;45876;2430;2556;154491852;5596083 + 6380;45884;2430;2557;154491852;5641967 + 6381;45888;2430;2557;154491852;5641967 + 6382;45898;2430;2558;154491852;5687865 + 6383;45900;2430;2558;154491852;5687865 + 6384;45911;2430;2559;154491852;5733776 + 6385;45912;2430;2559;154491852;5733776 + 6386;45924;2430;2559;154491852;5733776 + 6387;45930;2430;2560;154491852;5779706 + 6388;45936;2430;2560;154491852;5779706 + 6389;45948;2430;2560;154491852;5779706 + 6390;45953;2430;2561;154491852;5825659 + 6391;45960;2430;2561;154491852;5825659 + 6392;45972;2430;2561;154491852;5825659 + 6393;45975;2430;2562;154491852;5871634 + 6394;45984;2430;2562;154491852;5871634 + 6395;45991;2430;2563;154491852;5917625 + 6396;45996;2430;2563;154491852;5917625 + 6397;46004;2430;2564;154491852;5963629 + 6398;46008;2430;2564;154491852;5963629 + 6399;46020;2430;2564;154491852;5963629 + 6400;46024;2430;2565;154491852;6009653 + 6401;46032;2430;2565;154491852;6009653 + 6402;46044;2430;2565;154491852;6009653 + 6403;46045;2430;2566;154491852;6055698 + 6404;46056;2430;2566;154491852;6055698 + 6405;46067;2430;2567;154491852;6101765 + 6406;46068;2430;2567;154491852;6101765 + 6407;46080;2430;2567;154491852;6101765 + 6408;46083;2430;2568;154491852;6147848 + 6409;46092;2430;2568;154491852;6147848 + 6410;46103;2430;2569;154491852;6193951 + 6411;46104;2430;2569;154491852;6193951 + 6412;46116;2430;2569;154491852;6193951 + 6413;46117;2440;2570;160716406;5802708 + 6414;46128;2450;2570;152115691;5363484 + 6415;46130;2450;2571;152115691;5409614 + 6416;46140;2450;2571;152115691;5409614 + 6417;46152;2450;2571;152115691;5409614 + 6418;46152;2450;2572;152115691;5455766 + 6419;46164;2450;2572;152115691;5455766 + 6420;46164;2450;2573;152115691;5501930 + 6421;46176;2450;2573;152115691;5501930 + 6422;46186;2450;2574;152115691;5548116 + 6423;46188;2450;2574;152115691;5548116 + 6424;46200;2450;2574;152115691;5548116 + 6425;46208;2450;2575;152115691;5594324 + 6426;46212;2450;2575;152115691;5594324 + 6427;46220;2450;2576;152115691;5640544 + 6428;46224;2450;2576;152115691;5640544 + 6429;46236;2450;2576;152115691;5640544 + 6430;46237;2450;2577;152115691;5686781 + 6431;46248;2450;2577;152115691;5686781 + 6432;46249;2450;2578;152115691;5733030 + 6433;46260;2450;2578;152115691;5733030 + 6434;46272;2450;2578;152115691;5733030 + 6435;46272;2450;2579;152115691;5779302 + 6436;46284;2450;2579;152115691;5779302 + 6437;46289;2450;2580;152115691;5825591 + 6438;46296;2450;2580;152115691;5825591 + 6439;46303;2450;2581;152115691;5871894 + 6440;46308;2450;2581;152115691;5871894 + 6441;46320;2450;2581;152115691;5871894 + 6442;46327;2450;2582;152115691;5918221 + 6443;46332;2450;2582;152115691;5918221 + 6444;46344;2450;2582;152115691;5918221 + 6445;46346;2450;2583;152115691;5964567 + 6446;46356;2450;2583;152115691;5964567 + 6447;46365;2450;2584;152115691;6010932 + 6448;46368;2450;2584;152115691;6010932 + 6449;46380;2450;2584;152115691;6010932 + 6450;46385;2450;2585;152115691;6057317 + 6451;46392;2450;2585;152115691;6057317 + 6452;46404;2460;2585;163935768;5616243 + 6453;46405;2470;2586;157875701;5219860 + 6454;46416;2470;2586;157875701;5219860 + 6455;46427;2470;2587;157875701;5266287 + 6456;46428;2470;2587;157875701;5266287 + 6457;46440;2470;2587;157875701;5266287 + 6458;46447;2470;2588;157875701;5312734 + 6459;46452;2470;2588;157875701;5312734 + 6460;46464;2470;2588;157875701;5312734 + 6461;46468;2470;2589;157875701;5359202 + 6462;46476;2470;2589;157875701;5359202 + 6463;46480;2470;2590;157875701;5405682 + 6464;46488;2470;2590;157875701;5405682 + 6465;46493;2470;2591;157875701;5452175 + 6466;46500;2470;2591;157875701;5452175 + 6467;46508;2470;2592;157875701;5498683 + 6468;46512;2470;2592;157875701;5498683 + 6469;46523;2480;2593;159356106;5100571 + 6470;46524;2480;2593;159356106;5100571 + 6471;46536;2480;2593;159356106;5100571 + 6472;46547;2500;2594;153056636;4252592 + 6473;46548;2500;2594;153056636;4252592 + 6474;46560;2500;2594;153056636;4252592 + 6475;46563;2500;2595;153056636;4299155 + 6476;46572;2500;2595;153056636;4299155 + 6477;46584;2500;2595;153056636;4299155 + 6478;46585;2500;2596;153056636;4345740 + 6479;46596;2500;2596;153056636;4345740 + 6480;46600;2500;2597;153056636;4392340 + 6481;46608;2500;2597;153056636;4392340 + 6482;46617;2500;2598;153056636;4438957 + 6483;46620;2500;2598;153056636;4438957 + 6484;46632;2500;2598;153056636;4438957 + 6485;46632;2500;2599;153056636;4485589 + 6486;46644;2500;2599;153056636;4485589 + 6487;46651;2500;2600;153056636;4532240 + 6488;46656;2500;2600;153056636;4532240 + 6489;46666;2500;2601;153056636;4578906 + 6490;46668;2500;2601;153056636;4578906 + 6491;46680;2500;2601;153056636;4578906 + 6492;46681;2500;2602;153056636;4625587 + 6493;46692;2500;2602;153056636;4625587 + 6494;46693;2500;2603;153056636;4672280 + 6495;46704;2500;2603;153056636;4672280 + 6496;46706;2500;2604;153056636;4718986 + 6497;46716;2500;2604;153056636;4718986 + 6498;46721;2500;2605;153056636;4765707 + 6499;46728;2500;2605;153056636;4765707 + 6500;46734;2500;2606;153056636;4812441 + 6501;46740;2500;2606;153056636;4812441 + 6502;46752;2500;2606;153056636;4812441 + 6503;46757;2500;2607;153056636;4859198 + 6504;46764;2500;2607;153056636;4859198 + 6505;46773;2500;2608;153056636;4905971 + 6506;46776;2500;2608;153056636;4905971 + 6507;46788;2500;2608;153056636;4905971 + 6508;46797;2500;2609;153056636;4952768 + 6509;46800;2500;2609;153056636;4952768 + 6510;46812;2500;2609;153056636;4952768 + 6511;46814;2500;2610;153056636;4999582 + 6512;46824;2500;2610;153056636;4999582 + 6513;46836;2500;2610;153056636;4999582 + 6514;46838;2500;2611;153056636;5046420 + 6515;46848;2500;2611;153056636;5046420 + 6516;46860;2500;2611;153056636;5046420 + 6517;46861;2500;2612;153056636;5093281 + 6518;46872;2500;2612;153056636;5093281 + 6519;46882;2500;2613;153056636;5140163 + 6520;46884;2500;2613;153056636;5140163 + 6521;46896;2500;2613;153056636;5140163 + 6522;46898;2500;2614;153056636;5187061 + 6523;46908;2500;2614;153056636;5187061 + 6524;46920;2500;2614;153056636;5187061 + 6525;46920;2500;2615;153056636;5233981 + 6526;46932;2500;2615;153056636;5233981 + 6527;46933;2500;2616;153056636;5280914 + 6528;46944;2500;2616;153056636;5280914 + 6529;46956;2500;2616;153056636;5280914 + 6530;46956;2500;2617;153056636;5327870 + 6531;46968;2500;2617;153056636;5327870 + 6532;46975;2500;2618;153056636;5374845 + 6533;46980;2500;2618;153056636;5374845 + 6534;46988;2500;2619;153056636;5421833 + 6535;46992;2500;2619;153056636;5421833 + 6536;47004;2500;2619;153056636;5421833 + 6537;47004;2500;2620;153056636;5468837 + 6538;47016;2500;2620;153056636;5468837 + 6539;47016;2500;2621;153056636;5515853 + 6540;47028;2500;2621;153056636;5515853 + 6541;47029;2500;2622;153056636;5562882 + 6542;47040;2500;2622;153056636;5562882 + 6543;47045;2500;2623;153056636;5609927 + 6544;47052;2500;2623;153056636;5609927 + 6545;47064;2500;2623;153056636;5609927 + 6546;47064;2500;2624;153056636;5656991 + 6547;47076;2500;2624;153056636;5656991 + 6548;47077;2500;2625;153056636;5704068 + 6549;47088;2500;2625;153056636;5704068 + 6550;47090;2500;2626;153056636;5751158 + 6551;47100;2500;2626;153056636;5751158 + 6552;47106;2500;2627;153056636;5798264 + 6553;47112;2500;2627;153056636;5798264 + 6554;47122;2500;2628;153056636;5845386 + 6555;47124;2500;2628;153056636;5845386 + 6556;47136;2500;2628;153056636;5845386 + 6557;47146;2510;2629;149178169;5442680 + 6558;47148;2510;2629;149178169;5442680 + 6559;47160;2510;2629;149178169;5442680 + 6560;47162;2520;2630;144407817;5038252 + 6561;47172;2520;2630;144407817;5038252 + 6562;47176;2520;2631;144407817;5085428 + 6563;47184;2520;2631;144407817;5085428 + 6564;47196;2520;2631;144407817;5085428 + 6565;47200;2530;2632;139278384;4679146 + 6566;47208;2540;2632;140163279;4223844 + 6567;47220;2540;2632;140163279;4223844 + 6568;47224;2540;2633;140163279;4271068 + 6569;47232;2540;2633;140163279;4271068 + 6570;47238;2540;2634;140163279;4318306 + 6571;47244;2540;2634;140163279;4318306 + 6572;47253;2540;2635;140163279;4365559 + 6573;47256;2540;2635;140163279;4365559 + 6574;47268;2540;2635;140163279;4365559 + 6575;47276;2540;2636;140163279;4412835 + 6576;47280;2540;2636;140163279;4412835 + 6577;47292;2540;2636;140163279;4412835 + 6578;47299;2540;2637;140163279;4460134 + 6579;47304;2540;2637;140163279;4460134 + 6580;47316;2540;2637;140163279;4460134 + 6581;47323;2540;2638;140163279;4507457 + 6582;47328;2540;2638;140163279;4507457 + 6583;47335;2540;2639;140163279;4554792 + 6584;47340;2540;2639;140163279;4554792 + 6585;47348;2540;2640;140163279;4602140 + 6586;47352;2540;2640;140163279;4602140 + 6587;47364;2540;2640;140163279;4602140 + 6588;47371;2540;2641;140163279;4649511 + 6589;47376;2540;2641;140163279;4649511 + 6590;47388;2540;2641;140163279;4649511 + 6591;47390;2540;2642;140163279;4696901 + 6592;47400;2540;2642;140163279;4696901 + 6593;47409;2540;2643;140163279;4744310 + 6594;47412;2540;2643;140163279;4744310 + 6595;47424;2540;2643;140163279;4744310 + 6596;47428;2540;2644;140163279;4791738 + 6597;47436;2540;2644;140163279;4791738 + 6598;47448;2540;2644;140163279;4791738 + 6599;47452;2540;2645;140163279;4839190 + 6600;47460;2540;2645;140163279;4839190 + 6601;47469;2540;2646;140163279;4886659 + 6602;47472;2540;2646;140163279;4886659 + 6603;47484;2540;2646;140163279;4886659 + 6604;47490;2540;2647;140163279;4934149 + 6605;47496;2540;2647;140163279;4934149 + 6606;47502;2540;2648;140163279;4981651 + 6607;47508;2540;2648;140163279;4981651 + 6608;47520;2540;2648;140163279;4981651 + 6609;47522;2540;2649;140163279;5029173 + 6610;47532;2540;2649;140163279;5029173 + 6611;47544;2540;2649;140163279;5029173 + 6612;47544;2540;2650;140163279;5076717 + 6613;47556;2540;2650;140163279;5076717 + 6614;47566;2540;2651;140163279;5124283 + 6615;47568;2540;2651;140163279;5124283 + 6616;47580;2540;2651;140163279;5124283 + 6617;47580;2540;2652;140163279;5171863 + 6618;47592;2540;2652;140163279;5171863 + 6619;47598;2540;2653;140163279;5219461 + 6620;47604;2540;2653;140163279;5219461 + 6621;47616;2540;2653;140163279;5219461 + 6622;47620;2540;2654;140163279;5267081 + 6623;47628;2540;2654;140163279;5267081 + 6624;47632;2540;2655;140163279;5314713 + 6625;47640;2540;2655;140163279;5314713 + 6626;47646;2540;2656;140163279;5362359 + 6627;47652;2540;2656;140163279;5362359 + 6628;47664;2540;2656;140163279;5362359 + 6629;47665;2540;2657;140163279;5410024 + 6630;47676;2540;2657;140163279;5410024 + 6631;47682;2540;2658;140163279;5457706 + 6632;47688;2540;2658;140163279;5457706 + 6633;47695;2540;2659;140163279;5505401 + 6634;47700;2540;2659;140163279;5505401 + 6635;47712;2540;2659;140163279;5505401 + 6636;47719;2540;2660;140163279;5553120 + 6637;47724;2540;2660;140163279;5553120 + 6638;47732;2540;2661;140163279;5600852 + 6639;47736;2540;2661;140163279;5600852 + 6640;47747;2540;2662;140163279;5648599 + 6641;47748;2540;2662;140163279;5648599 + 6642;47760;2540;2662;140163279;5648599 + 6643;47769;2540;2663;140163279;5696368 + 6644;47772;2540;2663;140163279;5696368 + 6645;47784;2540;2663;140163279;5696368 + 6646;47786;2540;2664;140163279;5744154 + 6647;47796;2540;2664;140163279;5744154 + 6648;47800;2540;2665;140163279;5791954 + 6649;47808;2540;2665;140163279;5791954 + 6650;47820;2540;2665;140163279;5791954 + 6651;47821;2540;2666;140163279;5839775 + 6652;47832;2540;2666;140163279;5839775 + 6653;47844;2540;2666;140163279;5839775 + 6654;47844;2540;2667;140163279;5887619 + 6655;47856;2540;2667;140163279;5887619 + 6656;47860;2540;2668;140163279;5935479 + 6657;47868;2540;2668;140163279;5935479 + 6658;47880;2540;2668;140163279;5935479 + 6659;47882;2550;2669;144263481;5526266 + 6660;47892;2550;2669;144263481;5526266 + 6661;47904;2550;2669;144263481;5526266 + 6662;47904;2550;2670;144263481;5574170 + 6663;47916;2550;2670;144263481;5574170 + 6664;47921;2550;2671;144263481;5622091 + 6665;47928;2550;2671;144263481;5622091 + 6666;47940;2550;2671;144263481;5622091 + 6667;47943;2550;2672;144263481;5670034 + 6668;47952;2550;2672;144263481;5670034 + 6669;47955;2550;2673;144263481;5717989 + 6670;47964;2550;2673;144263481;5717989 + 6671;47967;2550;2674;144263481;5765956 + 6672;47976;2550;2674;144263481;5765956 + 6673;47988;2550;2674;144263481;5765956 + 6674;47989;2550;2675;144263481;5813945 + 6675;48000;2550;2675;144263481;5813945 + 6676;48006;2550;2676;144263481;5861951 + 6677;48012;2550;2676;144263481;5861951 + 6678;48020;2550;2677;144263481;5909971 + 6679;48024;2550;2677;144263481;5909971 + 6680;48036;2550;2677;144263481;5909971 + 6681;48041;2550;2678;144263481;5958012 + 6682;48048;2550;2678;144263481;5958012 + 6683;48059;2550;2679;144263481;6006071 + 6684;48060;2550;2679;144263481;6006071 + 6685;48072;2550;2679;144263481;6006071 + 6686;48077;2550;2680;144263481;6054148 + 6687;48084;2550;2680;144263481;6054148 + 6688;48091;2550;2681;144263481;6102239 + 6689;48096;2550;2681;144263481;6102239 + 6690;48104;2550;2682;144263481;6150343 + 6691;48108;2550;2682;144263481;6150343 + 6692;48116;2550;2683;144263481;6198459 + 6693;48120;2550;2683;144263481;6198459 + 6694;48132;2550;2683;144263481;6198459 + 6695;48140;2550;2684;144263481;6246599 + 6696;48144;2550;2684;144263481;6246599 + 6697;48152;2550;2685;144263481;6294751 + 6698;48156;2550;2685;144263481;6294751 + 6699;48168;2550;2685;144263481;6294751 + 6700;48169;2550;2686;144263481;6342920 + 6701;48180;2550;2686;144263481;6342920 + 6702;48190;2550;2687;144263481;6391110 + 6703;48192;2550;2687;144263481;6391110 + 6704;48202;2560;2688;148409403;5980581 + 6705;48204;2560;2688;148409403;5980581 + 6706;48216;2580;2688;154569117;5057762 + 6707;48220;2590;2689;155577089;4641839 + 6708;48228;2590;2689;155577089;4641839 + 6709;48240;2590;2689;155577089;4641839 + 6710;48243;2590;2690;155577089;4690082 + 6711;48252;2590;2690;155577089;4690082 + 6712;48261;2590;2691;155577089;4738343 + 6713;48264;2590;2691;155577089;4738343 + 6714;48276;2590;2691;155577089;4738343 + 6715;48285;2590;2692;155577089;4786628 + 6716;48288;2590;2692;155577089;4786628 + 6717;48297;2590;2693;155577089;4834925 + 6718;48300;2590;2693;155577089;4834925 + 6719;48312;2590;2693;155577089;4834925 + 6720;48321;2590;2694;155577089;4883246 + 6721;48324;2590;2694;155577089;4883246 + 6722;48336;2590;2694;155577089;4883246 + 6723;48337;2590;2695;155577089;4931583 + 6724;48348;2590;2695;155577089;4931583 + 6725;48358;2590;2696;155577089;4979941 + 6726;48360;2590;2696;155577089;4979941 + 6727;48371;2590;2697;155577089;5028312 + 6728;48372;2590;2697;155577089;5028312 + 6729;48384;2590;2697;155577089;5028312 + 6730;48393;2590;2698;155577089;5076705 + 6731;48396;2590;2698;155577089;5076705 + 6732;48408;2590;2698;155577089;5076705 + 6733;48410;2590;2699;155577089;5125115 + 6734;48420;2590;2699;155577089;5125115 + 6735;48423;2590;2700;155577089;5173538 + 6736;48432;2590;2700;155577089;5173538 + 6737;48438;2590;2701;155577089;5221976 + 6738;48444;2590;2701;155577089;5221976 + 6739;48456;2590;2701;155577089;5221976 + 6740;48462;2590;2702;155577089;5270438 + 6741;48468;2590;2702;155577089;5270438 + 6742;48480;2590;2702;155577089;5270438 + 6743;48481;2590;2703;155577089;5318919 + 6744;48492;2590;2703;155577089;5318919 + 6745;48496;2590;2704;155577089;5367415 + 6746;48504;2590;2704;155577089;5367415 + 6747;48514;2590;2705;155577089;5415929 + 6748;48516;2590;2705;155577089;5415929 + 6749;48528;2590;2705;155577089;5415929 + 6750;48532;2590;2706;155577089;5464461 + 6751;48540;2590;2706;155577089;5464461 + 6752;48552;2590;2706;155577089;5464461 + 6753;48553;2590;2707;155577089;5513014 + 6754;48564;2590;2707;155577089;5513014 + 6755;48567;2590;2708;155577089;5561581 + 6756;48576;2590;2708;155577089;5561581 + 6757;48585;2590;2709;155577089;5610166 + 6758;48588;2590;2709;155577089;5610166 + 6759;48600;2590;2709;155577089;5610166 + 6760;48604;2590;2710;155577089;5658770 + 6761;48612;2590;2710;155577089;5658770 + 6762;48624;2590;2710;155577089;5658770 + 6763;48624;2590;2711;155577089;5707394 + 6764;48636;2590;2711;155577089;5707394 + 6765;48639;2590;2712;155577089;5756033 + 6766;48648;2590;2712;155577089;5756033 + 6767;48653;2590;2713;155577089;5804686 + 6768;48660;2590;2713;155577089;5804686 + 6769;48665;2590;2714;155577089;5853351 + 6770;48672;2590;2714;155577089;5853351 + 6771;48677;2590;2715;155577089;5902028 + 6772;48684;2590;2715;155577089;5902028 + 6773;48691;2590;2716;155577089;5950719 + 6774;48696;2590;2716;155577089;5950719 + 6775;48704;2590;2717;155577089;5999423 + 6776;48708;2590;2717;155577089;5999423 + 6777;48720;2590;2717;155577089;5999423 + 6778;48726;2590;2718;155577089;6048149 + 6779;48732;2590;2718;155577089;6048149 + 6780;48739;2590;2719;155577089;6096888 + 6781;48744;2590;2719;155577089;6096888 + 6782;48756;2590;2719;155577089;6096888 + 6783;48759;2590;2720;155577089;6145647 + 6784;48768;2590;2720;155577089;6145647 + 6785;48780;2590;2720;155577089;6145647 + 6786;48782;2590;2721;155577089;6194429 + 6787;48792;2590;2721;155577089;6194429 + 6788;48795;2590;2722;155577089;6243224 + 6789;48804;2590;2722;155577089;6243224 + 6790;48810;2590;2723;155577089;6292034 + 6791;48816;2590;2723;155577089;6292034 + 6792;48828;2590;2723;155577089;6292034 + 6793;48830;2590;2724;155577089;6340864 + 6794;48840;2590;2724;155577089;6340864 + 6795;48852;2590;2724;155577089;6340864 + 6796;48854;2590;2725;155577089;6389718 + 6797;48864;2590;2725;155577089;6389718 + 6798;48866;2590;2726;155577089;6438584 + 6799;48876;2590;2726;155577089;6438584 + 6800;48888;2590;2726;155577089;6438584 + 6801;48888;2590;2727;155577089;6487472 + 6802;48900;2590;2727;155577089;6487472 + 6803;48900;2590;2728;155577089;6536372 + 6804;48912;2590;2728;155577089;6536372 + 6805;48924;2590;2728;155577089;6536372 + 6806;48924;2590;2729;155577089;6585296 + 6807;48936;2590;2729;155577089;6585296 + 6808;48943;2590;2730;155577089;6634239 + 6809;48948;2590;2730;155577089;6634239 + 6810;48960;2590;2730;155577089;6634239 + 6811;48963;2590;2731;155577089;6683202 + 6812;48972;2590;2731;155577089;6683202 + 6813;48981;2600;2732;159170299;6266291 + 6814;48984;2600;2732;159170299;6266291 + 6815;48996;2600;2732;159170299;6266291 + 6816;48999;2610;2733;149277654;5847776 + 6817;49008;2610;2733;149277654;5847776 + 6818;49020;2610;2733;149277654;5847776 + 6819;49020;2610;2734;149277654;5896796 + 6820;49032;2610;2734;149277654;5896796 + 6821;49036;2610;2735;149277654;5945832 + 6822;49044;2610;2735;149277654;5945832 + 6823;49056;2610;2735;149277654;5945832 + 6824;49059;2610;2736;149277654;5994891 + 6825;49068;2610;2736;149277654;5994891 + 6826;49080;2610;2736;149277654;5994891 + 6827;49080;2610;2737;149277654;6043971 + 6828;49092;2610;2737;149277654;6043971 + 6829;49099;2610;2738;149277654;6093070 + 6830;49104;2610;2738;149277654;6093070 + 6831;49116;2610;2738;149277654;6093070 + 6832;49120;2610;2739;149277654;6142190 + 6833;49128;2610;2739;149277654;6142190 + 6834;49140;2610;2739;149277654;6142190 + 6835;49140;2610;2740;149277654;6191330 + 6836;49152;2610;2740;149277654;6191330 + 6837;49163;2610;2741;149277654;6240493 + 6838;49164;2610;2741;149277654;6240493 + 6839;49176;2610;2741;149277654;6240493 + 6840;49181;2610;2742;149277654;6289674 + 6841;49188;2610;2742;149277654;6289674 + 6842;49200;2610;2742;149277654;6289674 + 6843;49202;2610;2743;149277654;6338876 + 6844;49212;2610;2743;149277654;6338876 + 6845;49218;2610;2744;149277654;6388094 + 6846;49224;2610;2744;149277654;6388094 + 6847;49236;2610;2744;149277654;6388094 + 6848;49240;2610;2745;149277654;6437334 + 6849;49248;2610;2745;149277654;6437334 + 6850;49253;2610;2746;149277654;6486587 + 6851;49260;2610;2746;149277654;6486587 + 6852;49271;2610;2747;149277654;6535858 + 6853;49272;2610;2747;149277654;6535858 + 6854;49284;2610;2747;149277654;6535858 + 6855;49286;2620;2748;159117251;6115711 + 6856;49296;2620;2748;159117251;6115711 + 6857;49305;2620;2749;159117251;6165016 + 6858;49308;2620;2749;159117251;6165016 + 6859;49320;2620;2749;159117251;6165016 + 6860;49329;2620;2750;159117251;6214345 + 6861;49332;2620;2750;159117251;6214345 + 6862;49344;2620;2750;159117251;6214345 + 6863;49350;2620;2751;159117251;6263695 + 6864;49356;2620;2751;159117251;6263695 + 6865;49368;2620;2751;159117251;6263695 + 6866;49373;2620;2752;159117251;6313068 + 6867;49380;2620;2752;159117251;6313068 + 6868;49392;2620;2752;159117251;6313068 + 6869;49396;2630;2753;155862575;5891447 + 6870;49404;2640;2753;153158708;5418580 + 6871;49410;2640;2754;153158708;5467990 + 6872;49416;2640;2754;153158708;5467990 + 6873;49426;2640;2755;153158708;5517416 + 6874;49428;2640;2755;153158708;5517416 + 6875;49440;2640;2755;153158708;5517416 + 6876;49450;2640;2756;153158708;5566866 + 6877;49452;2640;2756;153158708;5566866 + 6878;49464;2640;2756;153158708;5566866 + 6879;49470;2640;2757;153158708;5616336 + 6880;49476;2640;2757;153158708;5616336 + 6881;49488;2640;2757;153158708;5616336 + 6882;49488;2640;2758;153158708;5665824 + 6883;49500;2640;2758;153158708;5665824 + 6884;49508;2640;2759;153158708;5715332 + 6885;49512;2640;2759;153158708;5715332 + 6886;49524;2640;2759;153158708;5715332 + 6887;49529;2650;2760;155914538;5290089 + 6888;49536;2650;2760;155914538;5290089 + 6889;49548;2650;2760;155914538;5290089 + 6890;49550;2650;2761;155914538;5339639 + 6891;49560;2650;2761;155914538;5339639 + 6892;49563;2650;2762;155914538;5389202 + 6893;49572;2650;2762;155914538;5389202 + 6894;49577;2650;2763;155914538;5438779 + 6895;49584;2650;2763;155914538;5438779 + 6896;49596;2650;2763;155914538;5438779 + 6897;49596;2650;2764;155914538;5488375 + 6898;49608;2650;2764;155914538;5488375 + 6899;49619;2650;2765;155914538;5537994 + 6900;49620;2650;2765;155914538;5537994 + 6901;49631;2650;2766;155914538;5587625 + 6902;49632;2650;2766;155914538;5587625 + 6903;49644;2650;2766;155914538;5587625 + 6904;49649;2650;2767;155914538;5637274 + 6905;49656;2650;2767;155914538;5637274 + 6906;49662;2650;2768;155914538;5686936 + 6907;49668;2650;2768;155914538;5686936 + 6908;49678;2650;2769;155914538;5736614 + 6909;49680;2650;2769;155914538;5736614 + 6910;49692;2650;2769;155914538;5736614 + 6911;49694;2650;2770;155914538;5786308 + 6912;49704;2650;2770;155914538;5786308 + 6913;49707;2650;2771;155914538;5836015 + 6914;49716;2650;2771;155914538;5836015 + 6915;49721;2650;2772;155914538;5885736 + 6916;49728;2650;2772;155914538;5885736 + 6917;49733;2650;2773;155914538;5935469 + 6918;49740;2650;2773;155914538;5935469 + 6919;49745;2650;2774;155914538;5985214 + 6920;49752;2650;2774;155914538;5985214 + 6921;49760;2650;2775;155914538;6034974 + 6922;49764;2650;2775;155914538;6034974 + 6923;49776;2650;2775;155914538;6034974 + 6924;49784;2650;2776;155914538;6084758 + 6925;49788;2650;2776;155914538;6084758 + 6926;49800;2650;2776;155914538;6084758 + 6927;49802;2650;2777;155914538;6134560 + 6928;49812;2650;2777;155914538;6134560 + 6929;49817;2650;2778;155914538;6184377 + 6930;49824;2650;2778;155914538;6184377 + 6931;49836;2650;2778;155914538;6184377 + 6932;49837;2650;2779;155914538;6234214 + 6933;49848;2650;2779;155914538;6234214 + 6934;49860;2650;2779;155914538;6234214 + 6935;49860;2650;2780;155914538;6284074 + 6936;49872;2650;2780;155914538;6284074 + 6937;49881;2650;2781;155914538;6333955 + 6938;49884;2650;2781;155914538;6333955 + 6939;49896;2650;2781;155914538;6333955 + 6940;49903;2650;2782;155914538;6383858 + 6941;49908;2650;2782;155914538;6383858 + 6942;49919;2650;2783;155914538;6433777 + 6943;49920;2650;2783;155914538;6433777 + 6944;49932;2650;2783;155914538;6433777 + 6945;49941;2650;2784;155914538;6483718 + 6946;49944;2650;2784;155914538;6483718 + 6947;49954;2650;2785;155914538;6533672 + 6948;49956;2650;2785;155914538;6533672 + 6949;49967;2650;2786;155914538;6583639 + 6950;49968;2650;2786;155914538;6583639 + 6951;49980;2650;2786;155914538;6583639 + 6952;49987;2660;2787;160662843;6157057 + 6953;49992;2660;2787;160662843;6157057 + 6954;50004;2660;2787;160662843;6157057 + 6955;50004;2660;2788;160662843;6207061 + 6956;50016;2660;2788;160662843;6207061 + 6957;50021;2670;2789;169944972;5778748 + 6958;50028;2670;2789;169944972;5778748 + 6959;50038;2670;2790;169944972;5828786 + 6960;50040;2670;2790;169944972;5828786 + 6961;50052;2670;2790;169944972;5828786 + 6962;50061;2670;2791;169944972;5878847 + 6963;50064;2670;2791;169944972;5878847 + 6964;50075;2670;2792;169944972;5928922 + 6965;50076;2670;2792;169944972;5928922 + 6966;50088;2670;2792;169944972;5928922 + 6967;50088;2670;2793;169944972;5979010 + 6968;50100;2670;2793;169944972;5979010 + 6969;50108;2670;2794;169944972;6029118 + 6970;50112;2670;2794;169944972;6029118 + 6971;50123;2670;2795;169944972;6079241 + 6972;50124;2670;2795;169944972;6079241 + 6973;50136;2670;2795;169944972;6079241 + 6974;50143;2670;2796;169944972;6129384 + 6975;50148;2670;2796;169944972;6129384 + 6976;50155;2670;2797;169944972;6179539 + 6977;50160;2670;2797;169944972;6179539 + 6978;50172;2670;2797;169944972;6179539 + 6979;50179;2670;2798;169944972;6229718 + 6980;50184;2670;2798;169944972;6229718 + 6981;50196;2680;2798;172369660;5749570 + 6982;50199;2680;2799;172369660;5799769 + 6983;50208;2680;2799;172369660;5799769 + 6984;50220;2680;2799;172369660;5799769 + 6985;50220;2680;2800;172369660;5849989 + 6986;50232;2680;2800;172369660;5849989 + 6987;50236;2680;2801;172369660;5900225 + 6988;50244;2680;2801;172369660;5900225 + 6989;50256;2680;2801;172369660;5900225 + 6990;50257;2680;2802;172369660;5950482 + 6991;50268;2680;2802;172369660;5950482 + 6992;50280;2680;2802;172369660;5950482 + 6993;50281;2680;2803;172369660;6000763 + 6994;50292;2680;2803;172369660;6000763 + 6995;50295;2680;2804;172369660;6051058 + 6996;50304;2680;2804;172369660;6051058 + 6997;50316;2680;2804;172369660;6051058 + 6998;50316;2680;2805;172369660;6101374 + 6999;50328;2680;2805;172369660;6101374 + 7000;50330;2680;2806;172369660;6151704 + 7001;50340;2680;2806;172369660;6151704 + 7002;50346;2690;2807;170341973;5720253 + 7003;50352;2700;2807;154286000;5236620 + 7004;50364;2710;2807;142970935;4751202 + 7005;50366;2710;2808;142970935;4801568 + 7006;50376;2710;2808;142970935;4801568 + 7007;50388;2710;2808;142970935;4801568 + 7008;50389;2710;2809;142970935;4851957 + 7009;50400;2710;2809;142970935;4851957 + 7010;50406;2710;2810;142970935;4902363 + 7011;50412;2710;2810;142970935;4902363 + 7012;50421;2710;2811;142970935;4952784 + 7013;50424;2710;2811;142970935;4952784 + 7014;50436;2710;2811;142970935;4952784 + 7015;50438;2710;2812;142970935;5003222 + 7016;50448;2710;2812;142970935;5003222 + 7017;50453;2710;2813;142970935;5053675 + 7018;50460;2710;2813;142970935;5053675 + 7019;50472;2710;2813;142970935;5053675 + 7020;50477;2710;2814;142970935;5104152 + 7021;50484;2710;2814;142970935;5104152 + 7022;50496;2710;2814;142970935;5104152 + 7023;50499;2710;2815;142970935;5154651 + 7024;50508;2710;2815;142970935;5154651 + 7025;50511;2710;2816;142970935;5205162 + 7026;50520;2720;2816;140116566;4718127 + 7027;50526;2720;2817;140116566;4768653 + 7028;50532;2720;2817;140116566;4768653 + 7029;50544;2720;2817;140116566;4768653 + 7030;50550;2720;2818;140116566;4819203 + 7031;50556;2720;2818;140116566;4819203 + 7032;50565;2720;2819;140116566;4869768 + 7033;50568;2720;2819;140116566;4869768 + 7034;50580;2720;2819;140116566;4869768 + 7035;50584;2720;2820;140116566;4920352 + 7036;50592;2720;2820;140116566;4920352 + 7037;50598;2720;2821;140116566;4970950 + 7038;50604;2720;2821;140116566;4970950 + 7039;50616;2720;2821;140116566;4970950 + 7040;50620;2720;2822;140116566;5021570 + 7041;50628;2720;2822;140116566;5021570 + 7042;50634;2720;2823;140116566;5072204 + 7043;50640;2720;2823;140116566;5072204 + 7044;50652;2720;2823;140116566;5072204 + 7045;50656;2720;2824;140116566;5122860 + 7046;50664;2720;2824;140116566;5122860 + 7047;50674;2720;2825;140116566;5173534 + 7048;50676;2720;2825;140116566;5173534 + 7049;50688;2730;2825;127460693;4684761 + 7050;50690;2730;2826;127460693;4735451 + 7051;50700;2730;2826;127460693;4735451 + 7052;50709;2730;2827;127460693;4786160 + 7053;50712;2730;2827;127460693;4786160 + 7054;50724;2730;2827;127460693;4786160 + 7055;50726;2730;2828;127460693;4836886 + 7056;50736;2730;2828;127460693;4836886 + 7057;50741;2730;2829;127460693;4887627 + 7058;50748;2730;2829;127460693;4887627 + 7059;50755;2730;2830;127460693;4938382 + 7060;50760;2730;2830;127460693;4938382 + 7061;50772;2730;2830;127460693;4938382 + 7062;50772;2730;2831;127460693;4989154 + 7063;50784;2730;2831;127460693;4989154 + 7064;50790;2730;2832;127460693;5039944 + 7065;50796;2730;2832;127460693;5039944 + 7066;50802;2730;2833;127460693;5090746 + 7067;50808;2730;2833;127460693;5090746 + 7068;50818;2730;2834;127460693;5141564 + 7069;50820;2730;2834;127460693;5141564 + 7070;50832;2730;2834;127460693;5141564 + 7071;50835;2730;2835;127460693;5192399 + 7072;50844;2730;2835;127460693;5192399 + 7073;50855;2730;2836;127460693;5243254 + 7074;50856;2730;2836;127460693;5243254 + 7075;50868;2730;2836;127460693;5243254 + 7076;50875;2730;2837;127460693;5294129 + 7077;50880;2730;2837;127460693;5294129 + 7078;50888;2730;2838;127460693;5345017 + 7079;50892;2730;2838;127460693;5345017 + 7080;50904;2730;2838;127460693;5345017 + 7081;50912;2730;2839;127460693;5395929 + 7082;50916;2730;2839;127460693;5395929 + 7083;50924;2730;2840;127460693;5446853 + 7084;50928;2730;2840;127460693;5446853 + 7085;50937;2730;2841;127460693;5497790 + 7086;50940;2730;2841;127460693;5497790 + 7087;50952;2730;2841;127460693;5497790 + 7088;50958;2730;2842;127460693;5548748 + 7089;50964;2730;2842;127460693;5548748 + 7090;50974;2730;2843;127460693;5599722 + 7091;50976;2730;2843;127460693;5599722 + 7092;50988;2730;2843;127460693;5599722 + 7093;50998;2730;2844;127460693;5650720 + 7094;51000;2730;2844;127460693;5650720 + 7095;51012;2730;2844;127460693;5650720 + 7096;51020;2730;2845;127460693;5701740 + 7097;51024;2730;2845;127460693;5701740 + 7098;51036;2730;2845;127460693;5701740 + 7099;51043;2730;2846;127460693;5752783 + 7100;51048;2730;2846;127460693;5752783 + 7101;51055;2730;2847;127460693;5803838 + 7102;51060;2730;2847;127460693;5803838 + 7103;51072;2730;2847;127460693;5803838 + 7104;51072;2730;2848;127460693;5854910 + 7105;51084;2730;2848;127460693;5854910 + 7106;51084;2730;2849;127460693;5905994 + 7107;51096;2730;2849;127460693;5905994 + 7108;51104;2730;2850;127460693;5957098 + 7109;51108;2730;2850;127460693;5957098 + 7110;51120;2730;2850;127460693;5957098 + 7111;51127;2730;2851;127460693;6008225 + 7112;51132;2730;2851;127460693;6008225 + 7113;51144;2730;2851;127460693;6008225 + 7114;51146;2730;2852;127460693;6059371 + 7115;51156;2730;2852;127460693;6059371 + 7116;51161;2730;2853;127460693;6110532 + 7117;51168;2730;2853;127460693;6110532 + 7118;51176;2730;2854;127460693;6161708 + 7119;51180;2730;2854;127460693;6161708 + 7120;51192;2730;2854;127460693;6161708 + 7121;51196;2730;2855;127460693;6212904 + 7122;51204;2740;2855;137708806;5722207 + 7123;51214;2740;2856;137708806;5773421 + 7124;51216;2740;2856;137708806;5773421 + 7125;51228;2740;2856;137708806;5773421 + 7126;51238;2740;2857;137708806;5824659 + 7127;51240;2740;2857;137708806;5824659 + 7128;51252;2740;2857;137708806;5824659 + 7129;51261;2740;2858;137708806;5875920 + 7130;51264;2740;2858;137708806;5875920 + 7131;51276;2740;2858;137708806;5875920 + 7132;51282;2740;2859;137708806;5927202 + 7133;51288;2740;2859;137708806;5927202 + 7134;51300;2740;2859;137708806;5927202 + 7135;51303;2740;2860;137708806;5978505 + 7136;51312;2740;2860;137708806;5978505 + 7137;51324;2740;2860;137708806;5978505 + 7138;51327;2740;2861;137708806;6029832 + 7139;51336;2740;2861;137708806;6029832 + 7140;51345;2740;2862;137708806;6081177 + 7141;51348;2740;2862;137708806;6081177 + 7142;51360;2740;2862;137708806;6081177 + 7143;51362;2740;2863;137708806;6132539 + 7144;51372;2740;2863;137708806;6132539 + 7145;51374;2740;2864;137708806;6183913 + 7146;51384;2740;2864;137708806;6183913 + 7147;51389;2740;2865;137708806;6235302 + 7148;51396;2740;2865;137708806;6235302 + 7149;51408;2740;2865;137708806;6235302 + 7150;51412;2740;2866;137708806;6286714 + 7151;51420;2740;2866;137708806;6286714 + 7152;51425;2740;2867;137708806;6338139 + 7153;51432;2740;2867;137708806;6338139 + 7154;51444;2740;2867;137708806;6338139 + 7155;51444;2740;2868;137708806;6389583 + 7156;51456;2740;2868;137708806;6389583 + 7157;51459;2740;2869;137708806;6441042 + 7158;51468;2740;2869;137708806;6441042 + 7159;51478;2740;2870;137708806;6492520 + 7160;51480;2740;2870;137708806;6492520 + 7161;51492;2740;2870;137708806;6492520 + 7162;51492;2740;2871;137708806;6544012 + 7163;51504;2740;2871;137708806;6544012 + 7164;51505;2740;2872;137708806;6595517 + 7165;51516;2740;2872;137708806;6595517 + 7166;51523;2750;2873;142780434;6154405 + 7167;51528;2750;2873;142780434;6154405 + 7168;51536;2750;2874;142780434;6205941 + 7169;51540;2750;2874;142780434;6205941 + 7170;51551;2750;2875;142780434;6257492 + 7171;51552;2750;2875;142780434;6257492 + 7172;51564;2750;2875;142780434;6257492 + 7173;51565;2750;2876;142780434;6309057 + 7174;51576;2750;2876;142780434;6309057 + 7175;51588;2750;2876;142780434;6309057 + 7176;51588;2750;2877;142780434;6360645 + 7177;51600;2750;2877;142780434;6360645 + 7178;51605;2760;2878;148434140;5917650 + 7179;51612;2760;2878;148434140;5917650 + 7180;51623;2760;2879;148434140;5969273 + 7181;51624;2760;2879;148434140;5969273 + 7182;51636;2760;2879;148434140;5969273 + 7183;51640;2760;2880;148434140;6020913 + 7184;51648;2760;2880;148434140;6020913 + 7185;51660;2760;2880;148434140;6020913 + 7186;51661;2760;2881;148434140;6072574 + 7187;51672;2760;2881;148434140;6072574 + 7188;51684;2760;2881;148434140;6072574 + 7189;51684;2760;2882;148434140;6124258 + 7190;51696;2760;2882;148434140;6124258 + 7191;51703;2760;2883;148434140;6175961 + 7192;51708;2760;2883;148434140;6175961 + 7193;51720;2760;2883;148434140;6175961 + 7194;51721;2760;2884;148434140;6227682 + 7195;51732;2760;2884;148434140;6227682 + 7196;51739;2760;2885;148434140;6279421 + 7197;51744;2760;2885;148434140;6279421 + 7198;51756;2760;2885;148434140;6279421 + 7199;51758;2760;2886;148434140;6331179 + 7200;51768;2760;2886;148434140;6331179 + 7201;51780;2760;2886;148434140;6331179 + 7202;51782;2760;2887;148434140;6382961 + 7203;51792;2760;2887;148434140;6382961 + 7204;51799;2760;2888;148434140;6434760 + 7205;51804;2760;2888;148434140;6434760 + 7206;51816;2760;2888;148434140;6434760 + 7207;51820;2760;2889;148434140;6486580 + 7208;51828;2760;2889;148434140;6486580 + 7209;51840;2760;2889;148434140;6486580 + 7210;51842;2760;2890;148434140;6538422 + 7211;51852;2760;2890;148434140;6538422 + 7212;51862;2760;2891;148434140;6590284 + 7213;51864;2760;2891;148434140;6590284 + 7214;51876;2760;2891;148434140;6590284 + 7215;51878;2760;2892;148434140;6642162 + 7216;51888;2760;2892;148434140;6642162 + 7217;51897;2760;2893;148434140;6694059 + 7218;51900;2760;2893;148434140;6694059 + 7219;51910;2760;2894;148434140;6745969 + 7220;51912;2760;2894;148434140;6745969 + 7221;51924;2760;2894;148434140;6745969 + 7222;51933;2760;2895;148434140;6797902 + 7223;51936;2760;2895;148434140;6797902 + 7224;51948;2760;2895;148434140;6797902 + 7225;51948;2760;2896;148434140;6849850 + 7226;51960;2760;2896;148434140;6849850 + 7227;51966;2770;2897;168169885;6405440 + 7228;51972;2770;2897;168169885;6405440 + 7229;51978;2780;2898;167498549;5959478 + 7230;51984;2780;2898;167498549;5959478 + 7231;51993;2780;2899;167498549;6011471 + 7232;51996;2780;2899;167498549;6011471 + 7233;52008;2780;2899;167498549;6011471 + 7234;52015;2780;2900;167498549;6063486 + 7235;52020;2780;2900;167498549;6063486 + 7236;52030;2780;2901;167498549;6115516 + 7237;52032;2780;2901;167498549;6115516 + 7238;52044;2780;2901;167498549;6115516 + 7239;52052;2780;2902;167498549;6167568 + 7240;52056;2780;2902;167498549;6167568 + 7241;52068;2780;2902;167498549;6167568 + 7242;52073;2780;2903;167498549;6219641 + 7243;52080;2780;2903;167498549;6219641 + 7244;52089;2780;2904;167498549;6271730 + 7245;52092;2780;2904;167498549;6271730 + 7246;52104;2780;2904;167498549;6271730 + 7247;52110;2780;2905;167498549;6323840 + 7248;52116;2780;2905;167498549;6323840 + 7249;52127;2780;2906;167498549;6375967 + 7250;52128;2780;2906;167498549;6375967 + 7251;52140;2780;2906;167498549;6375967 + 7252;52151;2780;2907;167498549;6428118 + 7253;52152;2780;2907;167498549;6428118 + 7254;52164;2780;2907;167498549;6428118 + 7255;52174;2780;2908;167498549;6480292 + 7256;52176;2780;2908;167498549;6480292 + 7257;52188;2780;2908;167498549;6480292 + 7258;52196;2790;2909;164291347;6032693 + 7259;52200;2790;2909;164291347;6032693 + 7260;52212;2790;2909;164291347;6032693 + 7261;52218;2800;2910;159196829;5583385 + 7262;52224;2800;2910;159196829;5583385 + 7263;52236;2800;2910;159196829;5583385 + 7264;52241;2800;2911;159196829;5635626 + 7265;52248;2800;2911;159196829;5635626 + 7266;52260;2800;2911;159196829;5635626 + 7267;52265;2800;2912;159196829;5687891 + 7268;52272;2800;2912;159196829;5687891 + 7269;52279;2800;2913;159196829;5740170 + 7270;52284;2800;2913;159196829;5740170 + 7271;52294;2800;2914;159196829;5792464 + 7272;52296;2800;2914;159196829;5792464 + 7273;52308;2800;2914;159196829;5792464 + 7274;52313;2800;2915;159196829;5844777 + 7275;52320;2800;2915;159196829;5844777 + 7276;52327;2800;2916;159196829;5897104 + 7277;52332;2800;2916;159196829;5897104 + 7278;52344;2800;2916;159196829;5897104 + 7279;52351;2800;2917;159196829;5949455 + 7280;52356;2800;2917;159196829;5949455 + 7281;52368;2800;2917;159196829;5949455 + 7282;52368;2800;2918;159196829;6001823 + 7283;52380;2800;2918;159196829;6001823 + 7284;52385;2800;2919;159196829;6054208 + 7285;52392;2800;2919;159196829;6054208 + 7286;52400;2800;2920;159196829;6106608 + 7287;52404;2800;2920;159196829;6106608 + 7288;52416;2800;2920;159196829;6106608 + 7289;52424;2800;2921;159196829;6159032 + 7290;52428;2800;2921;159196829;6159032 + 7291;52436;2800;2922;159196829;6211468 + 7292;52440;2800;2922;159196829;6211468 + 7293;52452;2800;2922;159196829;6211468 + 7294;52459;2800;2923;159196829;6263927 + 7295;52464;2800;2923;159196829;6263927 + 7296;52476;2800;2923;159196829;6263927 + 7297;52477;2800;2924;159196829;6316404 + 7298;52488;2800;2924;159196829;6316404 + 7299;52489;2800;2925;159196829;6368893 + 7300;52500;2800;2925;159196829;6368893 + 7301;52512;2800;2925;159196829;6368893 + 7302;52512;2800;2926;159196829;6421405 + 7303;52524;2800;2926;159196829;6421405 + 7304;52524;2800;2927;159196829;6473929 + 7305;52536;2800;2927;159196829;6473929 + 7306;52548;2800;2927;159196829;6473929 + 7307;52548;2800;2928;159196829;6526477 + 7308;52560;2800;2928;159196829;6526477 + 7309;52570;2800;2929;159196829;6579047 + 7310;52572;2800;2929;159196829;6579047 + 7311;52584;2800;2929;159196829;6579047 + 7312;52588;2800;2930;159196829;6631635 + 7313;52596;2800;2930;159196829;6631635 + 7314;52607;2800;2931;159196829;6684242 + 7315;52608;2800;2931;159196829;6684242 + 7316;52620;2800;2931;159196829;6684242 + 7317;52624;2800;2932;159196829;6736866 + 7318;52632;2800;2932;159196829;6736866 + 7319;52642;2800;2933;159196829;6789508 + 7320;52644;2800;2933;159196829;6789508 + 7321;52656;2800;2933;159196829;6789508 + 7322;52664;2800;2934;159196829;6842172 + 7323;52668;2800;2934;159196829;6842172 + 7324;52678;2800;2935;159196829;6894850 + 7325;52680;2800;2935;159196829;6894850 + 7326;52692;2800;2935;159196829;6894850 + 7327;52693;2800;2936;159196829;6947543 + 7328;52704;2800;2936;159196829;6947543 + 7329;52715;2800;2937;159196829;7000258 + 7330;52716;2800;2937;159196829;7000258 + 7331;52728;2810;2937;167889836;6496851 + 7332;52728;2820;2938;164675141;6044378 + 7333;52740;2820;2938;164675141;6044378 + 7334;52750;2830;2939;156304812;5590151 + 7335;52752;2830;2939;156304812;5590151 + 7336;52764;2840;2939;143496124;5081515 + 7337;52770;2840;2940;143496124;5134285 + 7338;52776;2840;2940;143496124;5134285 + 7339;52788;2840;2940;143496124;5134285 + 7340;52794;2840;2941;143496124;5187079 + 7341;52800;2840;2941;143496124;5187079 + 7342;52812;2840;2941;143496124;5187079 + 7343;52818;2840;2942;143496124;5239897 + 7344;52824;2840;2942;143496124;5239897 + 7345;52836;2840;2942;143496124;5239897 + 7346;52836;2840;2943;143496124;5292733 + 7347;52848;2840;2943;143496124;5292733 + 7348;52855;2840;2944;143496124;5345588 + 7349;52860;2840;2944;143496124;5345588 + 7350;52872;2840;2944;143496124;5345588 + 7351;52872;2840;2945;143496124;5398460 + 7352;52884;2840;2945;143496124;5398460 + 7353;52886;2840;2946;143496124;5451346 + 7354;52896;2840;2946;143496124;5451346 + 7355;52905;2840;2947;143496124;5504251 + 7356;52908;2840;2947;143496124;5504251 + 7357;52920;2840;2947;143496124;5504251 + 7358;52921;2840;2948;143496124;5557172 + 7359;52932;2840;2948;143496124;5557172 + 7360;52942;2840;2949;143496124;5610114 + 7361;52944;2840;2949;143496124;5610114 + 7362;52956;2840;2949;143496124;5610114 + 7363;52966;2840;2950;143496124;5663080 + 7364;52968;2840;2950;143496124;5663080 + 7365;52980;2840;2950;143496124;5663080 + 7366;52988;2840;2951;143496124;5716068 + 7367;52992;2840;2951;143496124;5716068 + 7368;53003;2840;2952;143496124;5769071 + 7369;53004;2840;2952;143496124;5769071 + 7370;53016;2840;2952;143496124;5769071 + 7371;53017;2840;2953;143496124;5822088 + 7372;53028;2840;2953;143496124;5822088 + 7373;53039;2840;2954;143496124;5875127 + 7374;53040;2840;2954;143496124;5875127 + 7375;53052;2840;2954;143496124;5875127 + 7376;53062;2840;2955;143496124;5928189 + 7377;53064;2840;2955;143496124;5928189 + 7378;53076;2840;2955;143496124;5928189 + 7379;53084;2840;2956;143496124;5981273 + 7380;53088;2840;2956;143496124;5981273 + 7381;53096;2840;2957;143496124;6034369 + 7382;53100;2840;2957;143496124;6034369 + 7383;53112;2840;2957;143496124;6034369 + 7384;53119;2840;2958;143496124;6087488 + 7385;53124;2840;2958;143496124;6087488 + 7386;53135;2840;2959;143496124;6140623 + 7387;53136;2840;2959;143496124;6140623 + 7388;53147;2840;2960;143496124;6193770 + 7389;53148;2840;2960;143496124;6193770 + 7390;53160;2840;2960;143496124;6193770 + 7391;53162;2840;2961;143496124;6246932 + 7392;53172;2840;2961;143496124;6246932 + 7393;53184;2840;2961;143496124;6246932 + 7394;53185;2840;2962;143496124;6300117 + 7395;53196;2840;2962;143496124;6300117 + 7396;53204;2840;2963;143496124;6353321 + 7397;53208;2840;2963;143496124;6353321 + 7398;53220;2850;2963;148137568;5842886 + 7399;53226;2850;2964;148137568;5896112 + 7400;53232;2850;2964;148137568;5896112 + 7401;53244;2850;2964;148137568;5896112 + 7402;53248;2850;2965;148137568;5949360 + 7403;53256;2850;2965;148137568;5949360 + 7404;53266;2850;2966;148137568;6002626 + 7405;53268;2850;2966;148137568;6002626 + 7406;53279;2850;2967;148137568;6055905 + 7407;53280;2850;2967;148137568;6055905 + 7408;53291;2850;2968;148137568;6109196 + 7409;53292;2850;2968;148137568;6109196 + 7410;53304;2850;2968;148137568;6109196 + 7411;53311;2850;2969;148137568;6162507 + 7412;53316;2850;2969;148137568;6162507 + 7413;53325;2850;2970;148137568;6215832 + 7414;53328;2850;2970;148137568;6215832 + 7415;53340;2850;2970;148137568;6215832 + 7416;53349;2850;2971;148137568;6269181 + 7417;53352;2850;2971;148137568;6269181 + 7418;53364;2850;2971;148137568;6269181 + 7419;53366;2850;2972;148137568;6322547 + 7420;53376;2850;2972;148137568;6322547 + 7421;53385;2850;2973;148137568;6375932 + 7422;53388;2850;2973;148137568;6375932 + 7423;53400;2850;2973;148137568;6375932 + 7424;53405;2850;2974;148137568;6429337 + 7425;53412;2850;2974;148137568;6429337 + 7426;53424;2850;2974;148137568;6429337 + 7427;53424;2850;2975;148137568;6482761 + 7428;53436;2850;2975;148137568;6482761 + 7429;53443;2850;2976;148137568;6536204 + 7430;53448;2850;2976;148137568;6536204 + 7431;53460;2850;2976;148137568;6536204 + 7432;53466;2850;2977;148137568;6589670 + 7433;53472;2850;2977;148137568;6589670 + 7434;53481;2860;2978;156774431;6130847 + 7435;53484;2860;2978;156774431;6130847 + 7436;53494;2870;2979;151786464;5670161 + 7437;53496;2870;2979;151786464;5670161 + 7438;53508;2870;2979;151786464;5670161 + 7439;53511;2880;2980;144143312;5207875 + 7440;53520;2880;2980;144143312;5207875 + 7441;53524;2880;2981;144143312;5261399 + 7442;53532;2880;2981;144143312;5261399 + 7443;53537;2880;2982;144143312;5314936 + 7444;53544;2880;2982;144143312;5314936 + 7445;53556;2880;2982;144143312;5314936 + 7446;53557;2880;2983;144143312;5368493 + 7447;53568;2880;2983;144143312;5368493 + 7448;53578;2880;2984;144143312;5422071 + 7449;53580;2880;2984;144143312;5422071 + 7450;53591;2880;2985;144143312;5475662 + 7451;53592;2880;2985;144143312;5475662 + 7452;53604;2880;2985;144143312;5475662 + 7453;53609;2880;2986;144143312;5529271 + 7454;53616;2880;2986;144143312;5529271 + 7455;53622;2880;2987;144143312;5582893 + 7456;53628;2880;2987;144143312;5582893 + 7457;53640;2880;2987;144143312;5582893 + 7458;53641;2880;2988;144143312;5636534 + 7459;53652;2880;2988;144143312;5636534 + 7460;53654;2880;2989;144143312;5690188 + 7461;53664;2880;2989;144143312;5690188 + 7462;53676;2880;2989;144143312;5690188 + 7463;53676;2880;2990;144143312;5743864 + 7464;53688;2880;2990;144143312;5743864 + 7465;53690;2880;2991;144143312;5797554 + 7466;53700;2880;2991;144143312;5797554 + 7467;53712;2880;2991;144143312;5797554 + 7468;53714;2880;2992;144143312;5851268 + 7469;53724;2880;2992;144143312;5851268 + 7470;53732;2880;2993;144143312;5905000 + 7471;53736;2880;2993;144143312;5905000 + 7472;53748;2880;2993;144143312;5905000 + 7473;53755;2880;2994;144143312;5958755 + 7474;53760;2880;2994;144143312;5958755 + 7475;53769;2880;2995;144143312;6012524 + 7476;53772;2880;2995;144143312;6012524 + 7477;53784;2880;2995;144143312;6012524 + 7478;53793;2880;2996;144143312;6066317 + 7479;53796;2880;2996;144143312;6066317 + 7480;53808;2880;2996;144143312;6066317 + 7481;53814;2890;2997;145761932;5602421 + 7482;53820;2890;2997;145761932;5602421 + 7483;53832;2890;2997;145761932;5602421 + 7484;53837;2890;2998;145761932;5656258 + 7485;53844;2890;2998;145761932;5656258 + 7486;53854;2890;2999;145761932;5710112 + 7487;53856;2890;2999;145761932;5710112 + 7488;53868;2890;2999;145761932;5710112 + 7489;53873;2890;3000;145761932;5763985 + 7490;53880;2890;3000;145761932;5763985 + 7491;53887;2890;3001;145761932;5817872 + 7492;53892;2890;3001;145761932;5817872 + 7493;53903;2890;3002;145761932;5871775 + 7494;53904;2890;3002;145761932;5871775 + 7495;53916;2890;3002;145761932;5871775 + 7496;53920;2890;3003;145761932;5925695 + 7497;53928;2890;3003;145761932;5925695 + 7498;53935;2890;3004;145761932;5979630 + 7499;53940;2890;3004;145761932;5979630 + 7500;53952;2890;3004;145761932;5979630 + 7501;53955;2890;3005;145761932;6033585 + 7502;53964;2890;3005;145761932;6033585 + 7503;53972;2890;3006;145761932;6087557 + 7504;53976;2890;3006;145761932;6087557 + 7505;53986;2890;3007;145761932;6141543 + 7506;53988;2890;3007;145761932;6141543 + 7507;53999;2890;3008;145761932;6195542 + 7508;54000;2890;3008;145761932;6195542 + 7509;54012;2890;3008;145761932;6195542 + 7510;54014;2890;3009;145761932;6249556 + 7511;54024;2890;3009;145761932;6249556 + 7512;54031;2890;3010;145761932;6303587 + 7513;54036;2890;3010;145761932;6303587 + 7514;54045;2890;3011;145761932;6357632 + 7515;54048;2890;3011;145761932;6357632 + 7516;54060;2890;3011;145761932;6357632 + 7517;54066;2890;3012;145761932;6411698 + 7518;54072;2890;3012;145761932;6411698 + 7519;54082;2890;3013;145761932;6465780 + 7520;54084;2890;3013;145761932;6465780 + 7521;54096;2890;3013;145761932;6465780 + 7522;54100;2890;3014;145761932;6519880 + 7523;54108;2890;3014;145761932;6519880 + 7524;54116;2890;3015;145761932;6573996 + 7525;54120;2890;3015;145761932;6573996 + 7526;54132;2890;3015;145761932;6573996 + 7527;54133;2890;3016;145761932;6628129 + 7528;54144;2890;3016;145761932;6628129 + 7529;54147;2890;3017;145761932;6682276 + 7530;54156;2890;3017;145761932;6682276 + 7531;54168;2890;3017;145761932;6682276 + 7532;54168;2890;3018;145761932;6736444 + 7533;54180;2890;3018;145761932;6736444 + 7534;54188;2890;3019;145761932;6790632 + 7535;54192;2890;3019;145761932;6790632 + 7536;54202;2890;3020;145761932;6844834 + 7537;54204;2890;3020;145761932;6844834 + 7538;54216;2890;3020;145761932;6844834 + 7539;54216;2890;3021;145761932;6899050 + 7540;54228;2900;3021;143711530;6379502 + 7541;54237;2910;3022;144311577;5912308 + 7542;54240;2910;3022;144311577;5912308 + 7543;54252;2920;3022;142542665;5388902 + 7544;54259;2920;3023;142542665;5443161 + 7545;54264;2920;3023;142542665;5443161 + 7546;54276;2920;3023;142542665;5443161 + 7547;54279;2920;3024;142542665;5497440 + 7548;54288;2920;3024;142542665;5497440 + 7549;54300;2920;3024;142542665;5497440 + 7550;54303;2920;3025;142542665;5551743 + 7551;54312;2920;3025;142542665;5551743 + 7552;54315;2920;3026;142542665;5606058 + 7553;54324;2920;3026;142542665;5606058 + 7554;54336;2920;3026;142542665;5606058 + 7555;54336;2920;3027;142542665;5660394 + 7556;54348;2920;3027;142542665;5660394 + 7557;54360;2920;3027;142542665;5660394 + 7558;54360;2920;3028;142542665;5714754 + 7559;54372;2920;3028;142542665;5714754 + 7560;54372;2920;3029;142542665;5769126 + 7561;54384;2920;3029;142542665;5769126 + 7562;54394;2920;3030;142542665;5823520 + 7563;54396;2920;3030;142542665;5823520 + 7564;54406;2920;3031;142542665;5877926 + 7565;54408;2920;3031;142542665;5877926 + 7566;54420;2920;3031;142542665;5877926 + 7567;54428;2920;3032;142542665;5932354 + 7568;54432;2920;3032;142542665;5932354 + 7569;54444;2920;3032;142542665;5932354 + 7570;54452;2930;3033;132243029;5461596 + 7571;54456;2930;3033;132243029;5461596 + 7572;54468;2930;3033;132243029;5461596 + 7573;54471;2940;3034;127545695;4989009 + 7574;54480;2940;3034;127545695;4989009 + 7575;54490;2940;3035;127545695;5043499 + 7576;54492;2940;3035;127545695;5043499 + 7577;54504;2940;3035;127545695;5043499 + 7578;54510;2940;3036;127545695;5098009 + 7579;54516;2940;3036;127545695;5098009 + 7580;54528;2940;3036;127545695;5098009 + 7581;54528;2940;3037;127545695;5152537 + 7582;54540;2940;3037;127545695;5152537 + 7583;54540;2940;3038;127545695;5207077 + 7584;54552;2940;3038;127545695;5207077 + 7585;54555;2940;3039;127545695;5261632 + 7586;54564;2940;3039;127545695;5261632 + 7587;54572;2940;3040;127545695;5316204 + 7588;54576;2940;3040;127545695;5316204 + 7589;54588;2940;3040;127545695;5316204 + 7590;54591;2940;3041;127545695;5370795 + 7591;54600;2940;3041;127545695;5370795 + 7592;54607;2940;3042;127545695;5425402 + 7593;54612;2940;3042;127545695;5425402 + 7594;54624;2940;3042;127545695;5425402 + 7595;54629;2940;3043;127545695;5480031 + 7596;54636;2940;3043;127545695;5480031 + 7597;54648;2950;3043;119558767;4951042 + 7598;54649;2950;3044;119558767;5005691 + 7599;54660;2950;3044;119558767;5005691 + 7600;54671;2950;3045;119558767;5060362 + 7601;54672;2950;3045;119558767;5060362 + 7602;54684;2950;3045;119558767;5060362 + 7603;54684;2950;3046;119558767;5115046 + 7604;54696;2950;3046;119558767;5115046 + 7605;54705;2950;3047;119558767;5169751 + 7606;54708;2950;3047;119558767;5169751 + 7607;54720;2950;3047;119558767;5169751 + 7608;54726;2950;3048;119558767;5224477 + 7609;54732;2950;3048;119558767;5224477 + 7610;54743;2950;3049;119558767;5279220 + 7611;54744;2950;3049;119558767;5279220 + 7612;54756;2950;3049;119558767;5279220 + 7613;54764;2950;3050;119558767;5333984 + 7614;54768;2950;3050;119558767;5333984 + 7615;54780;2950;3050;119558767;5333984 + 7616;54785;2950;3051;119558767;5388769 + 7617;54792;2950;3051;119558767;5388769 + 7618;54804;2950;3051;119558767;5388769 + 7619;54809;2950;3052;119558767;5443578 + 7620;54816;2950;3052;119558767;5443578 + 7621;54828;2950;3052;119558767;5443578 + 7622;54833;2950;3053;119558767;5498411 + 7623;54840;2950;3053;119558767;5498411 + 7624;54851;2950;3054;119558767;5553262 + 7625;54852;2950;3054;119558767;5553262 + 7626;54864;2950;3054;119558767;5553262 + 7627;54868;2950;3055;119558767;5608130 + 7628;54876;2950;3055;119558767;5608130 + 7629;54887;2950;3056;119558767;5663017 + 7630;54888;2950;3056;119558767;5663017 + 7631;54900;2950;3056;119558767;5663017 + 7632;54906;2950;3057;119558767;5717923 + 7633;54912;2950;3057;119558767;5717923 + 7634;54924;2950;3057;119558767;5717923 + 7635;54929;2950;3058;119558767;5772852 + 7636;54936;2950;3058;119558767;5772852 + 7637;54946;2950;3059;119558767;5827798 + 7638;54948;2950;3059;119558767;5827798 + 7639;54960;2950;3059;119558767;5827798 + 7640;54970;2950;3060;119558767;5882768 + 7641;54972;2950;3060;119558767;5882768 + 7642;54984;2950;3060;119558767;5882768 + 7643;54988;2950;3061;119558767;5937756 + 7644;54996;2950;3061;119558767;5937756 + 7645;55005;2950;3062;119558767;5992761 + 7646;55008;2950;3062;119558767;5992761 + 7647;55020;2950;3062;119558767;5992761 + 7648;55027;2950;3063;119558767;6047788 + 7649;55032;2950;3063;119558767;6047788 + 7650;55044;2950;3063;119558767;6047788 + 7651;55049;2950;3064;119558767;6102837 + 7652;55056;2950;3064;119558767;6102837 + 7653;55063;2950;3065;119558767;6157900 + 7654;55068;2950;3065;119558767;6157900 + 7655;55080;2950;3065;119558767;6157900 + 7656;55085;2950;3066;119558767;6212985 + 7657;55092;2950;3066;119558767;6212985 + 7658;55098;2950;3067;119558767;6268083 + 7659;55104;2950;3067;119558767;6268083 + 7660;55116;2950;3067;119558767;6268083 + 7661;55118;2950;3068;119558767;6323201 + 7662;55128;2950;3068;119558767;6323201 + 7663;55137;2950;3069;119558767;6378338 + 7664;55140;2950;3069;119558767;6378338 + 7665;55152;2950;3069;119558767;6378338 + 7666;55156;2950;3070;119558767;6433494 + 7667;55164;2950;3070;119558767;6433494 + 7668;55176;2950;3070;119558767;6433494 + 7669;55176;2950;3071;119558767;6488670 + 7670;55188;2950;3071;119558767;6488670 + 7671;55189;2950;3072;119558767;6543859 + 7672;55200;2950;3072;119558767;6543859 + 7673;55212;2950;3072;119558767;6543859 + 7674;55213;2950;3073;119558767;6599072 + 7675;55224;2950;3073;119558767;6599072 + 7676;55227;2950;3074;119558767;6654299 + 7677;55236;2950;3074;119558767;6654299 + 7678;55246;2950;3075;119558767;6709545 + 7679;55248;2950;3075;119558767;6709545 + 7680;55260;2950;3075;119558767;6709545 + 7681;55265;2950;3076;119558767;6764810 + 7682;55272;2950;3076;119558767;6764810 + 7683;55278;2950;3077;119558767;6820088 + 7684;55284;2950;3077;119558767;6820088 + 7685;55292;2960;3078;130274187;6344516 + 7686;55296;2960;3078;130274187;6344516 + 7687;55304;2970;3079;127609483;5867136 + 7688;55308;2970;3079;127609483;5867136 + 7689;55320;2970;3079;127609483;5867136 + 7690;55323;2970;3080;127609483;5922459 + 7691;55332;2970;3080;127609483;5922459 + 7692;55336;2970;3081;127609483;5977795 + 7693;55344;2970;3081;127609483;5977795 + 7694;55356;2970;3081;127609483;5977795 + 7695;55360;2970;3082;127609483;6033155 + 7696;55368;2970;3082;127609483;6033155 + 7697;55377;2970;3083;127609483;6088532 + 7698;55380;2970;3083;127609483;6088532 + 7699;55392;2970;3083;127609483;6088532 + 7700;55396;2970;3084;127609483;6143928 + 7701;55404;2970;3084;127609483;6143928 + 7702;55414;2970;3085;127609483;6199342 + 7703;55416;2970;3085;127609483;6199342 + 7704;55428;2970;3085;127609483;6199342 + 7705;55429;2970;3086;127609483;6254771 + 7706;55440;2970;3086;127609483;6254771 + 7707;55443;2970;3087;127609483;6310214 + 7708;55452;2970;3087;127609483;6310214 + 7709;55464;2970;3087;127609483;6310214 + 7710;55466;2970;3088;127609483;6365680 + 7711;55476;2970;3088;127609483;6365680 + 7712;55485;2970;3089;127609483;6421165 + 7713;55488;2970;3089;127609483;6421165 + 7714;55498;2970;3090;127609483;6476663 + 7715;55500;2970;3090;127609483;6476663 + 7716;55512;2970;3090;127609483;6476663 + 7717;55512;2970;3091;127609483;6532175 + 7718;55524;2970;3091;127609483;6532175 + 7719;55535;2970;3092;127609483;6587710 + 7720;55536;2970;3092;127609483;6587710 + 7721;55548;2970;3092;127609483;6587710 + 7722;55555;2970;3093;127609483;6643265 + 7723;55560;2970;3093;127609483;6643265 + 7724;55572;2970;3093;127609483;6643265 + 7725;55574;2970;3094;127609483;6698839 + 7726;55584;2970;3094;127609483;6698839 + 7727;55593;2970;3095;127609483;6754432 + 7728;55596;2970;3095;127609483;6754432 + 7729;55605;2970;3096;127609483;6810037 + 7730;55608;2970;3096;127609483;6810037 + 7731;55620;2970;3096;127609483;6810037 + 7732;55629;2970;3097;127609483;6865666 + 7733;55632;2970;3097;127609483;6865666 + 7734;55644;2970;3097;127609483;6865666 + 7735;55652;2970;3098;127609483;6921318 + 7736;55656;2970;3098;127609483;6921318 + 7737;55665;2970;3099;127609483;6976983 + 7738;55668;2970;3099;127609483;6976983 + 7739;55680;2970;3099;127609483;6976983 + 7740;55689;2990;3100;118053907;5962018 + 7741;55692;2990;3100;118053907;5962018 + 7742;55702;3000;3101;115523583;5479692 + 7743;55704;3000;3101;115523583;5479692 + 7744;55716;3000;3101;115523583;5479692 + 7745;55716;3000;3102;115523583;5535408 + 7746;55728;3000;3102;115523583;5535408 + 7747;55728;3000;3103;115523583;5591136 + 7748;55740;3000;3103;115523583;5591136 + 7749;55747;3000;3104;115523583;5646883 + 7750;55752;3000;3104;115523583;5646883 + 7751;55763;3000;3105;115523583;5702646 + 7752;55764;3000;3105;115523583;5702646 + 7753;55776;3000;3105;115523583;5702646 + 7754;55783;3000;3106;115523583;5758429 + 7755;55788;3000;3106;115523583;5758429 + 7756;55800;3000;3106;115523583;5758429 + 7757;55803;3000;3107;115523583;5814232 + 7758;55812;3000;3107;115523583;5814232 + 7759;55817;3000;3108;115523583;5870049 + 7760;55824;3000;3108;115523583;5870049 + 7761;55836;3000;3108;115523583;5870049 + 7762;55840;3000;3109;115523583;5925889 + 7763;55848;3000;3109;115523583;5925889 + 7764;55857;3000;3110;115523583;5981746 + 7765;55860;3000;3110;115523583;5981746 + 7766;55870;3000;3111;115523583;6037616 + 7767;55872;3000;3111;115523583;6037616 + 7768;55884;3000;3111;115523583;6037616 + 7769;55893;3000;3112;115523583;6093509 + 7770;55896;3000;3112;115523583;6093509 + 7771;55908;3000;3112;115523583;6093509 + 7772;55915;3000;3113;115523583;6149424 + 7773;55920;3000;3113;115523583;6149424 + 7774;55927;3000;3114;115523583;6205351 + 7775;55932;3000;3114;115523583;6205351 + 7776;55944;3000;3114;115523583;6205351 + 7777;55948;3000;3115;115523583;6261299 + 7778;55956;3000;3115;115523583;6261299 + 7779;55961;3000;3116;115523583;6317260 + 7780;55968;3000;3116;115523583;6317260 + 7781;55980;3000;3116;115523583;6317260 + 7782;55985;3000;3117;115523583;6373245 + 7783;55992;3000;3117;115523583;6373245 + 7784;56004;3000;3117;115523583;6373245 + 7785;56005;3000;3118;115523583;6429250 + 7786;56016;3000;3118;115523583;6429250 + 7787;56028;3000;3118;115523583;6429250 + 7788;56029;3000;3119;115523583;6485279 + 7789;56040;3000;3119;115523583;6485279 + 7790;56044;3000;3120;115523583;6541323 + 7791;56052;3000;3120;115523583;6541323 + 7792;56060;3000;3121;115523583;6597383 + 7793;56064;3000;3121;115523583;6597383 + 7794;56072;3000;3122;115523583;6653455 + 7795;56076;3000;3122;115523583;6653455 + 7796;56088;3000;3122;115523583;6653455 + 7797;56092;3000;3123;115523583;6709547 + 7798;56100;3000;3123;115523583;6709547 + 7799;56112;3000;3123;115523583;6709547 + 7800;56116;3000;3124;115523583;6765663 + 7801;56124;3000;3124;115523583;6765663 + 7802;56136;3000;3124;115523583;6765663 + 7803;56140;3000;3125;115523583;6821803 + 7804;56148;3000;3125;115523583;6821803 + 7805;56158;3000;3126;115523583;6877961 + 7806;56160;3000;3126;115523583;6877961 + 7807;56172;3000;3126;115523583;6877961 + 7808;56177;3000;3127;115523583;6934138 + 7809;56184;3000;3127;115523583;6934138 + 7810;56191;3000;3128;115523583;6990329 + 7811;56196;3000;3128;115523583;6990329 + 7812;56207;3000;3129;115523583;7046536 + 7813;56208;3000;3129;115523583;7046536 + 7814;56220;3000;3129;115523583;7046536 + 7815;56220;3010;3130;123035716;6562996 + 7816;56232;3020;3130;127630753;6021578 + 7817;56235;3020;3131;127630753;6077813 + 7818;56244;3020;3131;127630753;6077813 + 7819;56248;3020;3132;127630753;6134061 + 7820;56256;3020;3132;127630753;6134061 + 7821;56261;3020;3133;127630753;6190322 + 7822;56268;3020;3133;127630753;6190322 + 7823;56280;3020;3133;127630753;6190322 + 7824;56281;3020;3134;127630753;6246603 + 7825;56292;3020;3134;127630753;6246603 + 7826;56302;3020;3135;127630753;6302905 + 7827;56304;3020;3135;127630753;6302905 + 7828;56316;3020;3135;127630753;6302905 + 7829;56323;3020;3136;127630753;6359228 + 7830;56328;3020;3136;127630753;6359228 + 7831;56340;3020;3136;127630753;6359228 + 7832;56345;3020;3137;127630753;6415573 + 7833;56352;3020;3137;127630753;6415573 + 7834;56364;3020;3137;127630753;6415573 + 7835;56369;3020;3138;127630753;6471942 + 7836;56376;3020;3138;127630753;6471942 + 7837;56384;3020;3139;127630753;6528326 + 7838;56388;3020;3139;127630753;6528326 + 7839;56398;3020;3140;127630753;6584724 + 7840;56400;3020;3140;127630753;6584724 + 7841;56412;3020;3140;127630753;6584724 + 7842;56416;3020;3141;127630753;6641140 + 7843;56424;3020;3141;127630753;6641140 + 7844;56429;3020;3142;127630753;6697569 + 7845;56436;3020;3142;127630753;6697569 + 7846;56448;3020;3142;127630753;6697569 + 7847;56449;3020;3143;127630753;6754018 + 7848;56460;3020;3143;127630753;6754018 + 7849;56461;3020;3144;127630753;6810479 + 7850;56472;3020;3144;127630753;6810479 + 7851;56477;3030;3145;128784615;6323695 + 7852;56484;3040;3145;119778159;5778558 + 7853;56496;3040;3145;119778159;5778558 + 7854;56501;3040;3146;119778159;5835059 + 7855;56508;3040;3146;119778159;5835059 + 7856;56516;3040;3147;119778159;5891575 + 7857;56520;3040;3147;119778159;5891575 + 7858;56532;3040;3147;119778159;5891575 + 7859;56538;3040;3148;119778159;5948113 + 7860;56544;3040;3148;119778159;5948113 + 7861;56552;3040;3149;119778159;6004665 + 7862;56556;3040;3149;119778159;6004665 + 7863;56567;3040;3150;119778159;6061232 + 7864;56568;3040;3150;119778159;6061232 + 7865;56580;3040;3150;119778159;6061232 + 7866;56582;3040;3151;119778159;6117814 + 7867;56592;3040;3151;119778159;6117814 + 7868;56604;3040;3151;119778159;6117814 + 7869;56604;3040;3152;119778159;6174418 + 7870;56616;3040;3152;119778159;6174418 + 7871;56625;3040;3153;119778159;6231043 + 7872;56628;3040;3153;119778159;6231043 + 7873;56640;3040;3153;119778159;6231043 + 7874;56645;3040;3154;119778159;6287688 + 7875;56652;3040;3154;119778159;6287688 + 7876;56664;3040;3154;119778159;6287688 + 7877;56668;3040;3155;119778159;6344356 + 7878;56676;3040;3155;119778159;6344356 + 7879;56688;3040;3155;119778159;6344356 + 7880;56689;3050;3156;121224155;5854082 + 7881;56700;3050;3156;121224155;5854082 + 7882;56711;3050;3157;121224155;5910793 + 7883;56712;3050;3157;121224155;5910793 + 7884;56724;3050;3157;121224155;5910793 + 7885;56727;3050;3158;121224155;5967520 + 7886;56736;3050;3158;121224155;5967520 + 7887;56745;3050;3159;121224155;6024265 + 7888;56748;3050;3159;121224155;6024265 + 7889;56760;3050;3159;121224155;6024265 + 7890;56763;3050;3160;121224155;6081028 + 7891;56772;3050;3160;121224155;6081028 + 7892;56784;3050;3160;121224155;6081028 + 7893;56785;3050;3161;121224155;6137813 + 7894;56796;3050;3161;121224155;6137813 + 7895;56800;3050;3162;121224155;6194613 + 7896;56808;3050;3162;121224155;6194613 + 7897;56813;3060;3163;115677717;5702439 + 7898;56820;3060;3163;115677717;5702439 + 7899;56832;3060;3163;115677717;5702439 + 7900;56832;3060;3164;115677717;5759271 + 7901;56844;3060;3164;115677717;5759271 + 7902;56854;3060;3165;115677717;5816125 + 7903;56856;3060;3165;115677717;5816125 + 7904;56866;3070;3166;108307531;5322077 + 7905;56868;3070;3166;108307531;5322077 + 7906;56880;3070;3166;108307531;5322077 + 7907;56889;3070;3167;108307531;5378966 + 7908;56892;3070;3167;108307531;5378966 + 7909;56903;3070;3168;108307531;5435869 + 7910;56904;3070;3168;108307531;5435869 + 7911;56916;3070;3168;108307531;5435869 + 7912;56926;3070;3169;108307531;5492795 + 7913;56928;3070;3169;108307531;5492795 + 7914;56940;3070;3169;108307531;5492795 + 7915;56946;3070;3170;108307531;5549741 + 7916;56952;3070;3170;108307531;5549741 + 7917;56961;3070;3171;108307531;5606702 + 7918;56964;3070;3171;108307531;5606702 + 7919;56976;3070;3171;108307531;5606702 + 7920;56984;3070;3172;108307531;5663686 + 7921;56988;3070;3172;108307531;5663686 + 7922;57000;3070;3172;108307531;5663686 + 7923;57003;3070;3173;108307531;5720689 + 7924;57012;3070;3173;108307531;5720689 + 7925;57020;3070;3174;108307531;5777709 + 7926;57024;3070;3174;108307531;5777709 + 7927;57036;3070;3174;108307531;5777709 + 7928;57041;3070;3175;108307531;5834750 + 7929;57048;3070;3175;108307531;5834750 + 7930;57053;3070;3176;108307531;5891803 + 7931;57060;3070;3176;108307531;5891803 + 7932;57072;3070;3176;108307531;5891803 + 7933;57074;3070;3177;108307531;5948877 + 7934;57084;3070;3177;108307531;5948877 + 7935;57090;3070;3178;108307531;6005967 + 7936;57096;3070;3178;108307531;6005967 + 7937;57108;3070;3178;108307531;6005967 + 7938;57113;3070;3179;108307531;6063080 + 7939;57120;3070;3179;108307531;6063080 + 7940;57126;3070;3180;108307531;6120206 + 7941;57132;3070;3180;108307531;6120206 + 7942;57141;3070;3181;108307531;6177347 + 7943;57144;3070;3181;108307531;6177347 + 7944;57156;3070;3181;108307531;6177347 + 7945;57162;3080;3182;104112775;5681836 + 7946;57168;3080;3182;104112775;5681836 + 7947;57176;3080;3183;104112775;5739012 + 7948;57180;3080;3183;104112775;5739012 + 7949;57192;3080;3183;104112775;5739012 + 7950;57197;3080;3184;104112775;5796209 + 7951;57204;3080;3184;104112775;5796209 + 7952;57215;3080;3185;104112775;5853424 + 7953;57216;3080;3185;104112775;5853424 + 7954;57228;3080;3185;104112775;5853424 + 7955;57232;3080;3186;104112775;5910656 + 7956;57240;3080;3186;104112775;5910656 + 7957;57252;3080;3186;104112775;5910656 + 7958;57252;3080;3187;104112775;5967908 + 7959;57264;3080;3187;104112775;5967908 + 7960;57273;3090;3188;96622151;5470801 + 7961;57276;3090;3188;96622151;5470801 + 7962;57286;3090;3189;96622151;5528087 + 7963;57288;3090;3189;96622151;5528087 + 7964;57300;3090;3189;96622151;5528087 + 7965;57309;3090;3190;96622151;5585396 + 7966;57312;3090;3190;96622151;5585396 + 7967;57324;3090;3190;96622151;5585396 + 7968;57329;3090;3191;96622151;5642725 + 7969;57336;3090;3191;96622151;5642725 + 7970;57341;3090;3192;96622151;5700066 + 7971;57348;3090;3192;96622151;5700066 + 7972;57360;3090;3192;96622151;5700066 + 7973;57361;3090;3193;96622151;5757427 + 7974;57372;3090;3193;96622151;5757427 + 7975;57384;3090;3193;96622151;5757427 + 7976;57384;3090;3194;96622151;5814811 + 7977;57396;3090;3194;96622151;5814811 + 7978;57408;3090;3194;96622151;5814811 + 7979;57408;3090;3195;96622151;5872219 + 7980;57420;3090;3195;96622151;5872219 + 7981;57427;3090;3196;96622151;5929646 + 7982;57432;3090;3196;96622151;5929646 + 7983;57441;3090;3197;96622151;5987087 + 7984;57444;3090;3197;96622151;5987087 + 7985;57456;3090;3197;96622151;5987087 + 7986;57459;3100;3198;93938598;5488347 + 7987;57468;3100;3198;93938598;5488347 + 7988;57472;3110;3199;83496776;4987895 + 7989;57480;3110;3199;83496776;4987895 + 7990;57492;3110;3199;83496776;4987895 + 7991;57493;3110;3200;83496776;5045388 + 7992;57504;3110;3200;83496776;5045388 + 7993;57516;3110;3200;83496776;5045388 + 7994;57516;3110;3201;83496776;5102904 + 7995;57528;3110;3201;83496776;5102904 + 7996;57533;3110;3202;83496776;5160437 + 7997;57540;3110;3202;83496776;5160437 + 7998;57552;3110;3202;83496776;5160437 + 7999;57555;3110;3203;83496776;5217992 + 8000;57564;3110;3203;83496776;5217992 + 8001;57573;3110;3204;83496776;5275565 + 8002;57576;3110;3204;83496776;5275565 + 8003;57585;3110;3205;83496776;5333150 + 8004;57588;3110;3205;83496776;5333150 + 8005;57600;3110;3205;83496776;5333150 + 8006;57602;3110;3206;83496776;5390752 + 8007;57612;3110;3206;83496776;5390752 + 8008;57620;3110;3207;83496776;5448372 + 8009;57624;3110;3207;83496776;5448372 + 8010;57633;3110;3208;83496776;5506005 + 8011;57636;3110;3208;83496776;5506005 + 8012;57648;3110;3208;83496776;5506005 + 8013;57657;3110;3209;83496776;5563662 + 8014;57660;3110;3209;83496776;5563662 + 8015;57672;3110;3209;83496776;5563662 + 8016;57677;3110;3210;83496776;5621339 + 8017;57684;3110;3210;83496776;5621339 + 8018;57696;3110;3210;83496776;5621339 + 8019;57700;3110;3211;83496776;5679039 + 8020;57708;3110;3211;83496776;5679039 + 8021;57718;3110;3212;83496776;5736757 + 8022;57720;3110;3212;83496776;5736757 + 8023;57731;3110;3213;83496776;5794488 + 8024;57732;3110;3213;83496776;5794488 + 8025;57743;3110;3214;83496776;5852231 + 8026;57744;3110;3214;83496776;5852231 + 8027;57756;3110;3214;83496776;5852231 + 8028;57756;3110;3215;83496776;5909987 + 8029;57768;3110;3215;83496776;5909987 + 8030;57768;3110;3216;83496776;5967755 + 8031;57780;3110;3216;83496776;5967755 + 8032;57782;3110;3217;83496776;6025537 + 8033;57792;3110;3217;83496776;6025537 + 8034;57803;3110;3218;83496776;6083340 + 8035;57804;3110;3218;83496776;6083340 + 8036;57816;3110;3218;83496776;6083340 + 8037;57820;3110;3219;83496776;6141160 + 8038;57828;3110;3219;83496776;6141160 + 8039;57840;3110;3219;83496776;6141160 + 8040;57840;3110;3220;83496776;6199000 + 8041;57852;3110;3220;83496776;6199000 + 8042;57859;3110;3221;83496776;6256859 + 8043;57864;3110;3221;83496776;6256859 + 8044;57876;3110;3221;83496776;6256859 + 8045;57877;3110;3222;83496776;6314736 + 8046;57888;3110;3222;83496776;6314736 + 8047;57894;3110;3223;83496776;6372630 + 8048;57900;3110;3223;83496776;6372630 + 8049;57912;3110;3223;83496776;6372630 + 8050;57918;3110;3224;83496776;6430548 + 8051;57924;3110;3224;83496776;6430548 + 8052;57934;3110;3225;83496776;6488482 + 8053;57936;3110;3225;83496776;6488482 + 8054;57948;3110;3225;83496776;6488482 + 8055;57955;3110;3226;83496776;6546437 + 8056;57960;3110;3226;83496776;6546437 + 8057;57972;3110;3226;83496776;6546437 + 8058;57975;3110;3227;83496776;6604412 + 8059;57984;3110;3227;83496776;6604412 + 8060;57991;3120;3228;84999158;6102636 + 8061;57996;3120;3228;84999158;6102636 + 8062;58008;3120;3228;84999158;6102636 + 8063;58009;3120;3229;84999158;6160645 + 8064;58020;3120;3229;84999158;6160645 + 8065;58021;3120;3230;84999158;6218666 + 8066;58032;3120;3230;84999158;6218666 + 8067;58040;3120;3231;84999158;6276706 + 8068;58044;3120;3231;84999158;6276706 + 8069;58056;3120;3231;84999158;6276706 + 8070;58057;3120;3232;84999158;6334763 + 8071;58068;3120;3232;84999158;6334763 + 8072;58079;3120;3233;84999158;6392842 + 8073;58080;3120;3233;84999158;6392842 + 8074;58092;3120;3233;84999158;6392842 + 8075;58102;3120;3234;84999158;6450944 + 8076;58104;3120;3234;84999158;6450944 + 8077;58116;3120;3234;84999158;6450944 + 8078;58125;3120;3235;84999158;6509069 + 8079;58128;3120;3235;84999158;6509069 + 8080;58140;3120;3235;84999158;6509069 + 8081;58147;3120;3236;84999158;6567216 + 8082;58152;3120;3236;84999158;6567216 + 8083;58164;3120;3236;84999158;6567216 + 8084;58168;3120;3237;84999158;6625384 + 8085;58176;3120;3237;84999158;6625384 + 8086;58182;3120;3238;84999158;6683566 + 8087;58188;3120;3238;84999158;6683566 + 8088;58200;3120;3238;84999158;6683566 + 8089;58204;3120;3239;84999158;6741770 + 8090;58212;3120;3239;84999158;6741770 + 8091;58220;3120;3240;84999158;6799990 + 8092;58224;3120;3240;84999158;6799990 + 8093;58236;3130;3240;89461469;6238382 + 8094;58236;3130;3241;89461469;6296618 + 8095;58248;3130;3241;89461469;6296618 + 8096;58249;3130;3242;89461469;6354867 + 8097;58260;3130;3242;89461469;6354867 + 8098;58262;3130;3243;89461469;6413129 + 8099;58272;3130;3243;89461469;6413129 + 8100;58281;3130;3244;89461469;6471410 + 8101;58284;3130;3244;89461469;6471410 + 8102;58294;3140;3245;90768111;5966377 + 8103;58296;3140;3245;90768111;5966377 + 8104;58306;3140;3246;90768111;6024683 + 8105;58308;3140;3246;90768111;6024683 + 8106;58320;3140;3246;90768111;6024683 + 8107;58329;3140;3247;90768111;6083012 + 8108;58332;3140;3247;90768111;6083012 + 8109;58343;3140;3248;90768111;6141355 + 8110;58344;3140;3248;90768111;6141355 + 8111;58356;3140;3248;90768111;6141355 + 8112;58358;3140;3249;90768111;6199713 + 8113;58368;3140;3249;90768111;6199713 + 8114;58375;3140;3250;90768111;6258088 + 8115;58380;3140;3250;90768111;6258088 + 8116;58392;3140;3250;90768111;6258088 + 8117;58393;3140;3251;90768111;6316481 + 8118;58404;3140;3251;90768111;6316481 + 8119;58408;3140;3252;90768111;6374889 + 8120;58416;3140;3252;90768111;6374889 + 8121;58428;3140;3252;90768111;6374889 + 8122;58430;3140;3253;90768111;6433319 + 8123;58440;3140;3253;90768111;6433319 + 8124;58452;3140;3253;90768111;6433319 + 8125;58453;3140;3254;90768111;6491772 + 8126;58464;3140;3254;90768111;6491772 + 8127;58469;3140;3255;90768111;6550241 + 8128;58476;3140;3255;90768111;6550241 + 8129;58487;3140;3256;90768111;6608728 + 8130;58488;3140;3256;90768111;6608728 + 8131;58500;3140;3256;90768111;6608728 + 8132;58511;3140;3257;90768111;6667239 + 8133;58512;3140;3257;90768111;6667239 + 8134;58523;3140;3258;90768111;6725762 + 8135;58524;3140;3258;90768111;6725762 + 8136;58536;3140;3258;90768111;6725762 + 8137;58545;3140;3259;90768111;6784307 + 8138;58548;3140;3259;90768111;6784307 + 8139;58559;3140;3260;90768111;6842866 + 8140;58560;3140;3260;90768111;6842866 + 8141;58572;3140;3260;90768111;6842866 + 8142;58572;3140;3261;90768111;6901438 + 8143;58584;3140;3261;90768111;6901438 + 8144;58585;3150;3262;94977627;6394951 + 8145;58596;3160;3262;97984374;5827989 + 8146;58606;3160;3263;97984374;5886595 + 8147;58608;3160;3263;97984374;5886595 + 8148;58620;3160;3263;97984374;5886595 + 8149;58625;3160;3264;97984374;5945220 + 8150;58632;3160;3264;97984374;5945220 + 8151;58644;3160;3264;97984374;5945220 + 8152;58649;3160;3265;97984374;6003869 + 8153;58656;3160;3265;97984374;6003869 + 8154;58662;3160;3266;97984374;6062531 + 8155;58668;3160;3266;97984374;6062531 + 8156;58680;3160;3266;97984374;6062531 + 8157;58681;3160;3267;97984374;6121212 + 8158;58692;3160;3267;97984374;6121212 + 8159;58697;3160;3268;97984374;6179909 + 8160;58704;3160;3268;97984374;6179909 + 8161;58709;3160;3269;97984374;6238618 + 8162;58716;3160;3269;97984374;6238618 + 8163;58724;3160;3270;97984374;6297342 + 8164;58728;3160;3270;97984374;6297342 + 8165;58740;3160;3270;97984374;6297342 + 8166;58748;3160;3271;97984374;6356090 + 8167;58752;3160;3271;97984374;6356090 + 8168;58761;3160;3272;97984374;6414851 + 8169;58764;3160;3272;97984374;6414851 + 8170;58776;3160;3272;97984374;6414851 + 8171;58782;3160;3273;97984374;6473633 + 8172;58788;3160;3273;97984374;6473633 + 8173;58800;3160;3273;97984374;6473633 + 8174;58801;3160;3274;97984374;6532434 + 8175;58812;3160;3274;97984374;6532434 + 8176;58816;3160;3275;97984374;6591250 + 8177;58824;3160;3275;97984374;6591250 + 8178;58830;3160;3276;97984374;6650080 + 8179;58836;3160;3276;97984374;6650080 + 8180;58847;3160;3277;97984374;6708927 + 8181;58848;3160;3277;97984374;6708927 + 8182;58860;3160;3277;97984374;6708927 + 8183;58868;3160;3278;97984374;6767795 + 8184;58872;3160;3278;97984374;6767795 + 8185;58884;3160;3278;97984374;6767795 + 8186;58886;3160;3279;97984374;6826681 + 8187;58896;3160;3279;97984374;6826681 + 8188;58906;3160;3280;97984374;6885587 + 8189;58908;3160;3280;97984374;6885587 + 8190;58920;3160;3280;97984374;6885587 + 8191;58920;3160;3281;97984374;6944507 + 8192;58932;3160;3281;97984374;6944507 + 8193;58944;3160;3281;97984374;6944507 + 8194;58944;3160;3282;97984374;7003451 + 8195;58956;3160;3282;97984374;7003451 + 8196;58966;3160;3283;97984374;7062417 + 8197;58968;3160;3283;97984374;7062417 + 8198;58980;3160;3283;97984374;7062417 + 8199;58980;3160;3284;97984374;7121397 + 8200;58992;3160;3284;97984374;7121397 + 8201;58999;3160;3285;97984374;7180396 + 8202;59004;3160;3285;97984374;7180396 + 8203;59016;3160;3285;97984374;7180396 + 8204;59017;3160;3286;97984374;7239413 + 8205;59028;3160;3286;97984374;7239413 + 8206;59038;3160;3287;97984374;7298451 + 8207;59040;3160;3287;97984374;7298451 + 8208;59052;3160;3287;97984374;7298451 + 8209;59053;3160;3288;97984374;7357504 + 8210;59064;3160;3288;97984374;7357504 + 8211;59076;3160;3288;97984374;7357504 + 8212;59077;3160;3289;97984374;7416581 + 8213;59088;3160;3289;97984374;7416581 + 8214;59092;3160;3290;97984374;7475673 + 8215;59100;3160;3290;97984374;7475673 + 8216;59109;3160;3291;97984374;7534782 + 8217;59112;3160;3291;97984374;7534782 + 8218;59124;3160;3291;97984374;7534782 + 8219;59129;3160;3292;97984374;7593911 + 8220;59136;3160;3292;97984374;7593911 + 8221;59142;3160;3293;97984374;7653053 + 8222;59148;3160;3293;97984374;7653053 + 8223;59160;3160;3293;97984374;7653053 + 8224;59163;3170;3294;103094017;7143426 + 8225;59172;3170;3294;103094017;7143426 + 8226;59184;3170;3294;103094017;7143426 + 8227;59185;3170;3295;103094017;7202611 + 8228;59196;3170;3295;103094017;7202611 + 8229;59198;3170;3296;103094017;7261809 + 8230;59208;3170;3296;103094017;7261809 + 8231;59215;3170;3297;103094017;7321024 + 8232;59220;3170;3297;103094017;7321024 + 8233;59232;3170;3297;103094017;7321024 + 8234;59238;3170;3298;103094017;7380262 + 8235;59244;3170;3298;103094017;7380262 + 8236;59256;3170;3298;103094017;7380262 + 8237;59256;3170;3299;103094017;7439518 + 8238;59268;3170;3299;103094017;7439518 + 8239;59276;3170;3300;103094017;7498794 + 8240;59280;3170;3300;103094017;7498794 + 8241;59292;3170;3300;103094017;7498794 + 8242;59298;3170;3301;103094017;7558092 + 8243;59304;3170;3301;103094017;7558092 + 8244;59316;3170;3301;103094017;7558092 + 8245;59317;3170;3302;103094017;7617409 + 8246;59328;3170;3302;103094017;7617409 + 8247;59339;3170;3303;103094017;7676748 + 8248;59340;3170;3303;103094017;7676748 + 8249;59352;3170;3303;103094017;7676748 + 8250;59352;3170;3304;103094017;7736100 + 8251;59364;3170;3304;103094017;7736100 + 8252;59375;3170;3305;103094017;7795475 + 8253;59376;3170;3305;103094017;7795475 + 8254;59388;3170;3305;103094017;7795475 + 8255;59398;3190;3306;107426621;6711797 + 8256;59400;3190;3306;107426621;6711797 + 8257;59412;3190;3306;107426621;6711797 + 8258;59420;3200;3307;109505490;6196915 + 8259;59424;3200;3307;109505490;6196915 + 8260;59436;3210;3307;99780691;5620780 + 8261;59441;3210;3308;99780691;5680221 + 8262;59448;3210;3308;99780691;5680221 + 8263;59457;3210;3309;99780691;5739678 + 8264;59460;3210;3309;99780691;5739678 + 8265;59472;3210;3309;99780691;5739678 + 8266;59479;3210;3310;99780691;5799157 + 8267;59484;3210;3310;99780691;5799157 + 8268;59496;3210;3310;99780691;5799157 + 8269;59498;3210;3311;99780691;5858655 + 8270;59508;3210;3311;99780691;5858655 + 8271;59510;3210;3312;99780691;5918165 + 8272;59520;3210;3312;99780691;5918165 + 8273;59524;3210;3313;99780691;5977689 + 8274;59532;3210;3313;99780691;5977689 + 8275;59544;3210;3313;99780691;5977689 + 8276;59546;3210;3314;99780691;6037235 + 8277;59556;3210;3314;99780691;6037235 + 8278;59564;3210;3315;99780691;6096799 + 8279;59568;3210;3315;99780691;6096799 + 8280;59580;3210;3315;99780691;6096799 + 8281;59584;3210;3316;99780691;6156383 + 8282;59592;3210;3316;99780691;6156383 + 8283;59604;3210;3316;99780691;6156383 + 8284;59605;3210;3317;99780691;6215988 + 8285;59616;3210;3317;99780691;6215988 + 8286;59627;3210;3318;99780691;6275615 + 8287;59628;3210;3318;99780691;6275615 + 8288;59640;3210;3318;99780691;6275615 + 8289;59644;3210;3319;99780691;6335259 + 8290;59652;3210;3319;99780691;6335259 + 8291;59663;3210;3320;99780691;6394922 + 8292;59664;3210;3320;99780691;6394922 + 8293;59675;3210;3321;99780691;6454597 + 8294;59676;3210;3321;99780691;6454597 + 8295;59688;3210;3321;99780691;6454597 + 8296;59688;3210;3322;99780691;6514285 + 8297;59700;3210;3322;99780691;6514285 + 8298;59706;3210;3323;99780691;6573991 + 8299;59712;3210;3323;99780691;6573991 + 8300;59724;3210;3323;99780691;6573991 + 8301;59725;3210;3324;99780691;6633716 + 8302;59736;3210;3324;99780691;6633716 + 8303;59739;3210;3325;99780691;6693455 + 8304;59748;3210;3325;99780691;6693455 + 8305;59760;3210;3325;99780691;6693455 + 8306;59761;3210;3326;99780691;6753216 + 8307;59772;3210;3326;99780691;6753216 + 8308;59775;3210;3327;99780691;6812991 + 8309;59784;3210;3327;99780691;6812991 + 8310;59796;3210;3327;99780691;6812991 + 8311;59798;3210;3328;99780691;6872789 + 8312;59808;3210;3328;99780691;6872789 + 8313;59815;3210;3329;99780691;6932604 + 8314;59820;3210;3329;99780691;6932604 + 8315;59827;3210;3330;99780691;6992431 + 8316;59832;3210;3330;99780691;6992431 + 8317;59844;3210;3330;99780691;6992431 + 8318;59850;3210;3331;99780691;7052281 + 8319;59856;3210;3331;99780691;7052281 + 8320;59868;3210;3331;99780691;7052281 + 8321;59869;3210;3332;99780691;7112150 + 8322;59880;3210;3332;99780691;7112150 + 8323;59881;3210;3333;99780691;7172031 + 8324;59892;3210;3333;99780691;7172031 + 8325;59904;3210;3333;99780691;7172031 + 8326;59904;3210;3334;99780691;7231935 + 8327;59916;3210;3334;99780691;7231935 + 8328;59924;3210;3335;99780691;7291859 + 8329;59928;3210;3335;99780691;7291859 + 8330;59940;3210;3335;99780691;7291859 + 8331;59943;3210;3336;99780691;7351802 + 8332;59952;3210;3336;99780691;7351802 + 8333;59964;3210;3336;99780691;7351802 + 8334;59966;3210;3337;99780691;7411768 + 8335;59976;3210;3337;99780691;7411768 + 8336;59987;3210;3338;99780691;7471755 + 8337;59988;3210;3338;99780691;7471755 + 8338;60000;3210;3338;99780691;7471755 + 8339;60004;3210;3339;99780691;7531759 + 8340;60012;3210;3339;99780691;7531759 + 8341;60024;3210;3339;99780691;7531759 + 8342;60028;3210;3340;99780691;7591787 + 8343;60036;3210;3340;99780691;7591787 + 8344;60048;3210;3340;99780691;7591787 + 8345;60049;3210;3341;99780691;7651836 + 8346;60060;3210;3341;99780691;7651836 + 8347;60061;3210;3342;99780691;7711897 + 8348;60072;3210;3342;99780691;7711897 + 8349;60080;3210;3343;99780691;7771977 + 8350;60084;3210;3343;99780691;7771977 + 8351;60096;3210;3343;99780691;7771977 + 8352;60104;3240;3344;99963790;6093127 + 8353;60108;3240;3344;99963790;6093127 + 8354;60117;3250;3345;96396962;5570054 + 8355;60120;3250;3345;96396962;5570054 + 8356;60132;3250;3345;96396962;5570054 + 8357;60138;3250;3346;96396962;5630192 + 8358;60144;3250;3346;96396962;5630192 + 8359;60156;3250;3346;96396962;5630192 + 8360;60161;3250;3347;96396962;5690353 + 8361;60168;3250;3347;96396962;5690353 + 8362;60180;3250;3347;96396962;5690353 + 8363;60185;3250;3348;96396962;5750538 + 8364;60192;3250;3348;96396962;5750538 + 8365;60204;3250;3348;96396962;5750538 + 8366;60206;3250;3349;96396962;5810744 + 8367;60216;3250;3349;96396962;5810744 + 8368;60228;3250;3349;96396962;5810744 + 8369;60229;3250;3350;96396962;5870973 + 8370;60240;3250;3350;96396962;5870973 + 8371;60243;3250;3351;96396962;5931216 + 8372;60252;3250;3351;96396962;5931216 + 8373;60259;3250;3352;96396962;5991475 + 8374;60264;3250;3352;96396962;5991475 + 8375;60273;3250;3353;96396962;6051748 + 8376;60276;3250;3353;96396962;6051748 + 8377;60288;3250;3353;96396962;6051748 + 8378;60297;3250;3354;96396962;6112045 + 8379;60300;3250;3354;96396962;6112045 + 8380;60312;3250;3354;96396962;6112045 + 8381;60313;3250;3355;96396962;6172358 + 8382;60324;3250;3355;96396962;6172358 + 8383;60336;3250;3355;96396962;6172358 + 8384;60337;3250;3356;96396962;6232695 + 8385;60348;3250;3356;96396962;6232695 + 8386;60360;3250;3356;96396962;6232695 + 8387;60361;3250;3357;96396962;6293056 + 8388;60372;3250;3357;96396962;6293056 + 8389;60381;3250;3358;96396962;6353437 + 8390;60384;3250;3358;96396962;6353437 + 8391;60396;3250;3358;96396962;6353437 + 8392;60400;3250;3359;96396962;6413837 + 8393;60408;3250;3359;96396962;6413837 + 8394;60418;3250;3360;96396962;6474255 + 8395;60420;3250;3360;96396962;6474255 + 8396;60432;3250;3360;96396962;6474255 + 8397;60441;3250;3361;96396962;6534696 + 8398;60444;3250;3361;96396962;6534696 + 8399;60456;3250;3361;96396962;6534696 + 8400;60465;3250;3362;96396962;6595161 + 8401;60468;3250;3362;96396962;6595161 + 8402;60478;3250;3363;96396962;6655639 + 8403;60480;3250;3363;96396962;6655639 + 8404;60491;3250;3364;96396962;6716130 + 8405;60492;3250;3364;96396962;6716130 + 8406;60504;3250;3364;96396962;6716130 + 8407;60511;3250;3365;96396962;6776641 + 8408;60516;3250;3365;96396962;6776641 + 8409;60528;3250;3365;96396962;6776641 + 8410;60531;3250;3366;96396962;6837172 + 8411;60540;3250;3366;96396962;6837172 + 8412;60549;3250;3367;96396962;6897721 + 8413;60552;3250;3367;96396962;6897721 + 8414;60564;3250;3367;96396962;6897721 + 8415;60565;3250;3368;96396962;6958286 + 8416;60576;3250;3368;96396962;6958286 + 8417;60586;3250;3369;96396962;7018872 + 8418;60588;3250;3369;96396962;7018872 + 8419;60600;3270;3369;87938821;5847229 + 8420;60603;3280;3370;83482861;5319415 + 8421;60612;3280;3370;83482861;5319415 + 8422;60623;3280;3371;83482861;5380038 + 8423;60624;3280;3371;83482861;5380038 + 8424;60636;3280;3371;83482861;5380038 + 8425;60644;3280;3372;83482861;5440682 + 8426;60648;3280;3372;83482861;5440682 + 8427;60660;3280;3372;83482861;5440682 + 8428;60660;3280;3373;83482861;5501342 + 8429;60672;3280;3373;83482861;5501342 + 8430;60674;3280;3374;83482861;5562016 + 8431;60684;3280;3374;83482861;5562016 + 8432;60695;3280;3375;83482861;5622711 + 8433;60696;3280;3375;83482861;5622711 + 8434;60708;3280;3375;83482861;5622711 + 8435;60719;3280;3376;83482861;5683430 + 8436;60720;3280;3376;83482861;5683430 + 8437;60732;3280;3376;83482861;5683430 + 8438;60734;3280;3377;83482861;5744164 + 8439;60744;3280;3377;83482861;5744164 + 8440;60750;3280;3378;83482861;5804914 + 8441;60756;3280;3378;83482861;5804914 + 8442;60768;3280;3378;83482861;5804914 + 8443;60768;3280;3379;83482861;5865682 + 8444;60780;3280;3379;83482861;5865682 + 8445;60787;3280;3380;83482861;5926469 + 8446;60792;3280;3380;83482861;5926469 + 8447;60799;3280;3381;83482861;5987268 + 8448;60804;3280;3381;83482861;5987268 + 8449;60816;3280;3381;83482861;5987268 + 8450;60817;3280;3382;83482861;6048085 + 8451;60828;3280;3382;83482861;6048085 + 8452;60833;3280;3383;83482861;6108918 + 8453;60840;3280;3383;83482861;6108918 + 8454;60845;3280;3384;83482861;6169763 + 8455;60852;3280;3384;83482861;6169763 + 8456;60857;3280;3385;83482861;6230620 + 8457;60864;3280;3385;83482861;6230620 + 8458;60876;3280;3385;83482861;6230620 + 8459;60876;3280;3386;83482861;6291496 + 8460;60888;3280;3386;83482861;6291496 + 8461;60889;3280;3387;83482861;6352385 + 8462;60900;3280;3387;83482861;6352385 + 8463;60901;3280;3388;83482861;6413286 + 8464;60912;3280;3388;83482861;6413286 + 8465;60922;3280;3389;83482861;6474208 + 8466;60924;3280;3389;83482861;6474208 + 8467;60936;3280;3389;83482861;6474208 + 8468;60938;3280;3390;83482861;6535146 + 8469;60948;3280;3390;83482861;6535146 + 8470;60955;3280;3391;83482861;6596101 + 8471;60960;3280;3391;83482861;6596101 + 8472;60968;3280;3392;83482861;6657069 + 8473;60972;3280;3392;83482861;6657069 + 8474;60984;3280;3392;83482861;6657069 + 8475;60992;3290;3393;83343839;6127786 + 8476;60996;3300;3393;76107084;5535686 + 8477;61008;3300;3393;76107084;5535686 + 8478;61011;3300;3394;76107084;5596697 + 8479;61020;3300;3394;76107084;5596697 + 8480;61023;3300;3395;76107084;5657720 + 8481;61032;3300;3395;76107084;5657720 + 8482;61044;3300;3395;76107084;5657720 + 8483;61047;3300;3396;76107084;5718767 + 8484;61056;3300;3396;76107084;5718767 + 8485;61064;3300;3397;76107084;5779831 + 8486;61068;3300;3397;76107084;5779831 + 8487;61080;3310;3397;68841587;5185755 + 8488;61087;3310;3398;68841587;5246842 + 8489;61092;3310;3398;68841587;5246842 + 8490;61099;3310;3399;68841587;5307941 + 8491;61104;3310;3399;68841587;5307941 + 8492;61116;3310;3399;68841587;5307941 + 8493;61119;3310;3400;68841587;5369060 + 8494;61128;3310;3400;68841587;5369060 + 8495;61133;3310;3401;68841587;5430193 + 8496;61140;3310;3401;68841587;5430193 + 8497;61152;3310;3401;68841587;5430193 + 8498;61156;3310;3402;68841587;5491349 + 8499;61164;3310;3402;68841587;5491349 + 8500;61176;3310;3402;68841587;5491349 + 8501;61180;3310;3403;68841587;5552529 + 8502;61188;3310;3403;68841587;5552529 + 8503;61197;3310;3404;68841587;5613726 + 8504;61200;3310;3404;68841587;5613726 + 8505;61211;3310;3405;68841587;5674937 + 8506;61212;3310;3405;68841587;5674937 + 8507;61224;3310;3405;68841587;5674937 + 8508;61231;3310;3406;68841587;5736168 + 8509;61236;3310;3406;68841587;5736168 + 8510;61248;3310;3406;68841587;5736168 + 8511;61249;3310;3407;68841587;5797417 + 8512;61260;3310;3407;68841587;5797417 + 8513;61266;3310;3408;68841587;5858683 + 8514;61272;3310;3408;68841587;5858683 + 8515;61284;3310;3408;68841587;5858683 + 8516;61290;3310;3409;68841587;5919973 + 8517;61296;3310;3409;68841587;5919973 + 8518;61302;3310;3410;68841587;5981275 + 8519;61308;3310;3410;68841587;5981275 + 8520;61320;3310;3410;68841587;5981275 + 8521;61322;3310;3411;68841587;6042597 + 8522;61332;3310;3411;68841587;6042597 + 8523;61344;3310;3411;68841587;6042597 + 8524;61344;3310;3412;68841587;6103941 + 8525;61356;3310;3412;68841587;6103941 + 8526;61359;3310;3413;68841587;6165300 + 8527;61368;3310;3413;68841587;6165300 + 8528;61372;3310;3414;68841587;6226672 + 8529;61380;3310;3414;68841587;6226672 + 8530;61386;3310;3415;68841587;6288058 + 8531;61392;3310;3415;68841587;6288058 + 8532;61403;3310;3416;68841587;6349461 + 8533;61404;3310;3416;68841587;6349461 + 8534;61416;3310;3416;68841587;6349461 + 8535;61416;3310;3417;68841587;6410877 + 8536;61428;3310;3417;68841587;6410877 + 8537;61437;3310;3418;68841587;6472314 + 8538;61440;3310;3418;68841587;6472314 + 8539;61452;3310;3418;68841587;6472314 + 8540;61459;3310;3419;68841587;6533773 + 8541;61464;3310;3419;68841587;6533773 + 8542;61471;3310;3420;68841587;6595244 + 8543;61476;3310;3420;68841587;6595244 + 8544;61488;3310;3420;68841587;6595244 + 8545;61495;3310;3421;68841587;6656739 + 8546;61500;3310;3421;68841587;6656739 + 8547;61512;3310;3421;68841587;6656739 + 8548;61512;3310;3422;68841587;6718251 + 8549;61524;3310;3422;68841587;6718251 + 8550;61535;3310;3423;68841587;6779786 + 8551;61536;3310;3423;68841587;6779786 + 8552;61548;3310;3423;68841587;6779786 + 8553;61548;3310;3424;68841587;6841334 + 8554;61560;3310;3424;68841587;6841334 + 8555;61571;3310;3425;68841587;6902905 + 8556;61572;3310;3425;68841587;6902905 + 8557;61584;3310;3425;68841587;6902905 + 8558;61592;3310;3426;68841587;6964497 + 8559;61596;3310;3426;68841587;6964497 + 8560;61606;3310;3427;68841587;7026103 + 8561;61608;3310;3427;68841587;7026103 + 8562;61620;3310;3427;68841587;7026103 + 8563;61630;3310;3428;68841587;7087733 + 8564;61632;3310;3428;68841587;7087733 + 8565;61644;3310;3428;68841587;7087733 + 8566;61648;3310;3429;68841587;7149381 + 8567;61656;3310;3429;68841587;7149381 + 8568;61661;3310;3430;68841587;7211042 + 8569;61668;3310;3430;68841587;7211042 + 8570;61680;3310;3430;68841587;7211042 + 8571;61682;3310;3431;68841587;7272724 + 8572;61692;3310;3431;68841587;7272724 + 8573;61701;3310;3432;68841587;7334425 + 8574;61704;3310;3432;68841587;7334425 + 8575;61713;3310;3433;68841587;7396138 + 8576;61716;3310;3433;68841587;7396138 + 8577;61728;3310;3433;68841587;7396138 + 8578;61736;3310;3434;68841587;7457874 + 8579;61740;3310;3434;68841587;7457874 + 8580;61748;3310;3435;68841587;7519622 + 8581;61752;3310;3435;68841587;7519622 + 8582;61762;3310;3436;68841587;7581384 + 8583;61764;3310;3436;68841587;7581384 + 8584;61774;3310;3437;68841587;7643158 + 8585;61776;3310;3437;68841587;7643158 + 8586;61788;3310;3437;68841587;7643158 + 8587;61790;3310;3438;68841587;7704948 + 8588;61800;3310;3438;68841587;7704948 + 8589;61802;3310;3439;68841587;7766750 + 8590;61812;3310;3439;68841587;7766750 + 8591;61821;3310;3440;68841587;7828571 + 8592;61824;3310;3440;68841587;7828571 + 8593;61835;3310;3441;68841587;7890406 + 8594;61836;3310;3441;68841587;7890406 + 8595;61848;3310;3441;68841587;7890406 + 8596;61852;3310;3442;68841587;7952258 + 8597;61860;3310;3442;68841587;7952258 + 8598;61870;3310;3443;68841587;8014128 + 8599;61872;3310;3443;68841587;8014128 + 8600;61884;3310;3443;68841587;8014128 + 8601;61887;3310;3444;68841587;8076015 + 8602;61896;3310;3444;68841587;8076015 + 8603;61899;3310;3445;68841587;8137914 + 8604;61908;3310;3445;68841587;8137914 + 8605;61920;3310;3445;68841587;8137914 + 8606;61921;3310;3446;68841587;8199835 + 8607;61932;3310;3446;68841587;8199835 + 8608;61935;3310;3447;68841587;8261770 + 8609;61944;3310;3447;68841587;8261770 + 8610;61950;3310;3448;68841587;8323720 + 8611;61956;3310;3448;68841587;8323720 + 8612;61968;3320;3448;69963571;7727778 + 8613;61974;3330;3449;68612497;7192068 + 8614;61980;3330;3449;68612497;7192068 + 8615;61990;3330;3450;68612497;7254058 + 8616;61992;3330;3450;68612497;7254058 + 8617;62004;3330;3450;68612497;7254058 + 8618;62007;3330;3451;68612497;7316065 + 8619;62016;3330;3451;68612497;7316065 + 8620;62024;3330;3452;68612497;7378089 + 8621;62028;3330;3452;68612497;7378089 + 8622;62040;3330;3452;68612497;7378089 + 8623;62040;3330;3453;68612497;7440129 + 8624;62052;3330;3453;68612497;7440129 + 8625;62052;3330;3454;68612497;7502181 + 8626;62064;3330;3454;68612497;7502181 + 8627;62071;3340;3455;71353140;6964697 + 8628;62076;3340;3455;71353140;6964697 + 8629;62088;3350;3455;69719126;6363173 + 8630;62095;3350;3456;69719126;6425268 + 8631;62100;3350;3456;69719126;6425268 + 8632;62112;3350;3456;69719126;6425268 + 8633;62119;3350;3457;69719126;6487387 + 8634;62124;3350;3457;69719126;6487387 + 8635;62135;3350;3458;69719126;6549522 + 8636;62136;3350;3458;69719126;6549522 + 8637;62148;3350;3458;69719126;6549522 + 8638;62159;3350;3459;69719126;6611681 + 8639;62160;3350;3459;69719126;6611681 + 8640;62172;3350;3459;69719126;6611681 + 8641;62174;3350;3460;69719126;6673855 + 8642;62184;3350;3460;69719126;6673855 + 8643;62186;3350;3461;69719126;6736041 + 8644;62196;3350;3461;69719126;6736041 + 8645;62207;3350;3462;69719126;6798248 + 8646;62208;3350;3462;69719126;6798248 + 8647;62220;3350;3462;69719126;6798248 + 8648;62226;3350;3463;69719126;6860474 + 8649;62232;3350;3463;69719126;6860474 + 8650;62241;3350;3464;69719126;6922715 + 8651;62244;3350;3464;69719126;6922715 + 8652;62256;3350;3464;69719126;6922715 + 8653;62265;3350;3465;69719126;6984980 + 8654;62268;3350;3465;69719126;6984980 + 8655;62280;3350;3465;69719126;6984980 + 8656;62281;3350;3466;69719126;7047261 + 8657;62292;3350;3466;69719126;7047261 + 8658;62296;3350;3467;69719126;7109557 + 8659;62304;3350;3467;69719126;7109557 + 8660;62316;3350;3467;69719126;7109557 + 8661;62317;3350;3468;69719126;7171874 + 8662;62328;3350;3468;69719126;7171874 + 8663;62340;3350;3468;69719126;7171874 + 8664;62341;3350;3469;69719126;7234215 + 8665;62352;3350;3469;69719126;7234215 + 8666;62358;3350;3470;69719126;7296573 + 8667;62364;3350;3470;69719126;7296573 + 8668;62375;3350;3471;69719126;7358948 + 8669;62376;3350;3471;69719126;7358948 + 8670;62388;3350;3471;69719126;7358948 + 8671;62393;3350;3472;69719126;7421341 + 8672;62400;3350;3472;69719126;7421341 + 8673;62410;3350;3473;69719126;7483751 + 8674;62412;3350;3473;69719126;7483751 + 8675;62424;3350;3473;69719126;7483751 + 8676;62431;3350;3474;69719126;7546182 + 8677;62436;3350;3474;69719126;7546182 + 8678;62448;3350;3474;69719126;7546182 + 8679;62448;3350;3475;69719126;7608630 + 8680;62460;3350;3475;69719126;7608630 + 8681;62464;3350;3476;69719126;7671094 + 8682;62472;3350;3476;69719126;7671094 + 8683;62480;3350;3477;69719126;7733574 + 8684;62484;3350;3477;69719126;7733574 + 8685;62496;3350;3477;69719126;7733574 + 8686;62497;3350;3478;69719126;7796071 + 8687;62508;3350;3478;69719126;7796071 + 8688;62513;3350;3479;69719126;7858584 + 8689;62520;3350;3479;69719126;7858584 + 8690;62532;3350;3479;69719126;7858584 + 8691;62536;3350;3480;69719126;7921120 + 8692;62544;3350;3480;69719126;7921120 + 8693;62551;3350;3481;69719126;7983671 + 8694;62556;3350;3481;69719126;7983671 + 8695;62568;3350;3481;69719126;7983671 + 8696;62570;3350;3482;69719126;8046241 + 8697;62580;3350;3482;69719126;8046241 + 8698;62591;3350;3483;69719126;8108832 + 8699;62592;3350;3483;69719126;8108832 + 8700;62604;3350;3483;69719126;8108832 + 8701;62611;3350;3484;69719126;8171443 + 8702;62616;3350;3484;69719126;8171443 + 8703;62623;3350;3485;69719126;8234066 + 8704;62628;3350;3485;69719126;8234066 + 8705;62639;3350;3486;69719126;8296705 + 8706;62640;3350;3486;69719126;8296705 + 8707;62652;3350;3486;69719126;8296705 + 8708;62655;3350;3487;69719126;8359360 + 8709;62664;3350;3487;69719126;8359360 + 8710;62673;3350;3488;69719126;8422033 + 8711;62676;3350;3488;69719126;8422033 + 8712;62688;3350;3488;69719126;8422033 + 8713;62694;3350;3489;69719126;8484727 + 8714;62700;3350;3489;69719126;8484727 + 8715;62712;3350;3489;69719126;8484727 + 8716;62712;3350;3490;69719126;8547439 + 8717;62724;3350;3490;69719126;8547439 + 8718;62732;3360;3491;70302546;8006691 + 8719;62736;3360;3491;70302546;8006691 + 8720;62748;3360;3491;70302546;8006691 + 8721;62751;3360;3492;70302546;8069442 + 8722;62760;3360;3492;70302546;8069442 + 8723;62764;3360;3493;70302546;8132206 + 8724;62772;3360;3493;70302546;8132206 + 8725;62780;3360;3494;70302546;8194986 + 8726;62784;3360;3494;70302546;8194986 + 8727;62796;3360;3494;70302546;8194986 + 8728;62804;3360;3495;70302546;8257790 + 8729;62808;3360;3495;70302546;8257790 + 8730;62820;3360;3495;70302546;8257790 + 8731;62823;3370;3496;72503973;7715211 + 8732;62832;3370;3496;72503973;7715211 + 8733;62842;3370;3497;72503973;7778053 + 8734;62844;3370;3497;72503973;7778053 + 8735;62856;3370;3497;72503973;7778053 + 8736;62856;3370;3498;72503973;7840909 + 8737;62868;3370;3498;72503973;7840909 + 8738;62874;3370;3499;72503973;7903783 + 8739;62880;3370;3499;72503973;7903783 + 8740;62886;3370;3500;72503973;7966669 + 8741;62892;3370;3500;72503973;7966669 + 8742;62904;3370;3500;72503973;7966669 + 8743;62905;3370;3501;72503973;8029574 + 8744;62916;3370;3501;72503973;8029574 + 8745;62928;3370;3501;72503973;8029574 + 8746;62929;3370;3502;72503973;8092503 + 8747;62940;3370;3502;72503973;8092503 + 8748;62948;3370;3503;72503973;8155451 + 8749;62952;3370;3503;72503973;8155451 + 8750;62960;3370;3504;72503973;8218411 + 8751;62964;3370;3504;72503973;8218411 + 8752;62974;3370;3505;72503973;8281385 + 8753;62976;3370;3505;72503973;8281385 + 8754;62988;3370;3505;72503973;8281385 + 8755;62994;3380;3506;77476502;7737149 + 8756;63000;3390;3506;74500663;7128316 + 8757;63012;3400;3506;72891693;6517773 + 8758;63015;3410;3507;66762487;5968384 + 8759;63024;3410;3507;66762487;5968384 + 8760;63029;3410;3508;66762487;6031413 + 8761;63036;3410;3508;66762487;6031413 + 8762;63042;3410;3509;66762487;6094455 + 8763;63048;3410;3509;66762487;6094455 + 8764;63059;3410;3510;66762487;6157514 + 8765;63060;3410;3510;66762487;6157514 + 8766;63072;3410;3510;66762487;6157514 + 8767;63076;3410;3511;66762487;6220590 + 8768;63084;3410;3511;66762487;6220590 + 8769;63095;3410;3512;66762487;6283685 + 8770;63096;3410;3512;66762487;6283685 + 8771;63108;3410;3512;66762487;6283685 + 8772;63111;3410;3513;66762487;6346796 + 8773;63120;3410;3513;66762487;6346796 + 8774;63123;3410;3514;66762487;6409919 + 8775;63132;3410;3514;66762487;6409919 + 8776;63137;3410;3515;66762487;6473056 + 8777;63144;3410;3515;66762487;6473056 + 8778;63155;3410;3516;66762487;6536211 + 8779;63156;3410;3516;66762487;6536211 + 8780;63168;3410;3516;66762487;6536211 + 8781;63178;3410;3517;66762487;6599389 + 8782;63180;3410;3517;66762487;6599389 + 8783;63192;3410;3517;66762487;6599389 + 8784;63195;3410;3518;66762487;6662584 + 8785;63204;3410;3518;66762487;6662584 + 8786;63214;3410;3519;66762487;6725798 + 8787;63216;3410;3519;66762487;6725798 + 8788;63226;3410;3520;66762487;6789024 + 8789;63228;3410;3520;66762487;6789024 + 8790;63240;3410;3520;66762487;6789024 + 8791;63247;3410;3521;66762487;6852271 + 8792;63252;3410;3521;66762487;6852271 + 8793;63264;3410;3521;66762487;6852271 + 8794;63267;3410;3522;66762487;6915538 + 8795;63276;3410;3522;66762487;6915538 + 8796;63288;3410;3522;66762487;6915538 + 8797;63291;3410;3523;66762487;6978829 + 8798;63300;3410;3523;66762487;6978829 + 8799;63312;3410;3523;66762487;6978829 + 8800;63313;3410;3524;66762487;7042142 + 8801;63324;3410;3524;66762487;7042142 + 8802;63330;3410;3525;66762487;7105472 + 8803;63336;3410;3525;66762487;7105472 + 8804;63348;3410;3525;66762487;7105472 + 8805;63353;3410;3526;66762487;7168825 + 8806;63360;3410;3526;66762487;7168825 + 8807;63372;3410;3526;66762487;7168825 + 8808;63374;3410;3527;66762487;7232199 + 8809;63384;3410;3527;66762487;7232199 + 8810;63387;3410;3528;66762487;7295586 + 8811;63396;3410;3528;66762487;7295586 + 8812;63407;3410;3529;66762487;7358993 + 8813;63408;3410;3529;66762487;7358993 + 8814;63420;3410;3529;66762487;7358993 + 8815;63430;3420;3530;63126544;6808281 + 8816;63432;3420;3530;63126544;6808281 + 8817;63444;3420;3530;63126544;6808281 + 8818;63451;3430;3531;64681465;6255747 + 8819;63456;3430;3531;64681465;6255747 + 8820;63468;3430;3531;64681465;6255747 + 8821;63471;3430;3532;64681465;6319218 + 8822;63480;3430;3532;64681465;6319218 + 8823;63490;3430;3533;64681465;6382708 + 8824;63492;3430;3533;64681465;6382708 + 8825;63504;3430;3533;64681465;6382708 + 8826;63509;3430;3534;64681465;6446217 + 8827;63516;3430;3534;64681465;6446217 + 8828;63525;3430;3535;64681465;6509742 + 8829;63528;3430;3535;64681465;6509742 + 8830;63540;3430;3535;64681465;6509742 + 8831;63543;3430;3536;64681465;6573285 + 8832;63552;3430;3536;64681465;6573285 + 8833;63557;3430;3537;64681465;6636842 + 8834;63564;3430;3537;64681465;6636842 + 8835;63576;3430;3537;64681465;6636842 + 8836;63576;3430;3538;64681465;6700418 + 8837;63588;3430;3538;64681465;6700418 + 8838;63596;3430;3539;64681465;6764014 + 8839;63600;3430;3539;64681465;6764014 + 8840;63612;3430;3539;64681465;6764014 + 8841;63620;3430;3540;64681465;6827634 + 8842;63624;3430;3540;64681465;6827634 + 8843;63636;3430;3540;64681465;6827634 + 8844;63640;3430;3541;64681465;6891274 + 8845;63648;3430;3541;64681465;6891274 + 8846;63652;3430;3542;64681465;6954926 + 8847;63660;3430;3542;64681465;6954926 + 8848;63672;3430;3542;64681465;6954926 + 8849;63673;3430;3543;64681465;7018599 + 8850;63684;3430;3543;64681465;7018599 + 8851;63694;3430;3544;64681465;7082293 + 8852;63696;3430;3544;64681465;7082293 + 8853;63708;3430;3544;64681465;7082293 + 8854;63708;3430;3545;64681465;7146001 + 8855;63720;3430;3545;64681465;7146001 + 8856;63724;3430;3546;64681465;7209725 + 8857;63732;3430;3546;64681465;7209725 + 8858;63738;3430;3547;64681465;7273463 + 8859;63744;3430;3547;64681465;7273463 + 8860;63756;3430;3547;64681465;7273463 + 8861;63758;3430;3548;64681465;7337221 + 8862;63768;3430;3548;64681465;7337221 + 8863;63772;3430;3549;64681465;7400993 + 8864;63780;3430;3549;64681465;7400993 + 8865;63790;3430;3550;64681465;7464783 + 8866;63792;3430;3550;64681465;7464783 + 8867;63804;3430;3550;64681465;7464783 + 8868;63806;3430;3551;64681465;7528589 + 8869;63816;3430;3551;64681465;7528589 + 8870;63826;3430;3552;64681465;7592415 + 8871;63828;3430;3552;64681465;7592415 + 8872;63840;3430;3552;64681465;7592415 + 8873;63844;3430;3553;64681465;7656259 + 8874;63852;3430;3553;64681465;7656259 + 8875;63862;3430;3554;64681465;7720121 + 8876;63864;3430;3554;64681465;7720121 + 8877;63876;3430;3554;64681465;7720121 + 8878;63878;3430;3555;64681465;7783999 + 8879;63888;3430;3555;64681465;7783999 + 8880;63900;3430;3555;64681465;7783999 + 8881;63901;3430;3556;64681465;7847900 + 8882;63912;3430;3556;64681465;7847900 + 8883;63919;3430;3557;64681465;7911819 + 8884;63924;3430;3557;64681465;7911819 + 8885;63935;3430;3558;64681465;7975754 + 8886;63936;3430;3558;64681465;7975754 + 8887;63948;3430;3558;64681465;7975754 + 8888;63959;3430;3559;64681465;8039713 + 8889;63960;3430;3559;64681465;8039713 + 8890;63972;3430;3559;64681465;8039713 + 8891;63979;3430;3560;64681465;8103692 + 8892;63984;3430;3560;64681465;8103692 + 8893;63992;3430;3561;64681465;8167684 + 8894;63996;3430;3561;64681465;8167684 + 8895;64008;3430;3561;64681465;8167684 + 8896;64014;3430;3562;64681465;8231698 + 8897;64020;3430;3562;64681465;8231698 + 8898;64032;3430;3562;64681465;8231698 + 8899;64038;3430;3563;64681465;8295736 + 8900;64044;3430;3563;64681465;8295736 + 8901;64056;3430;3563;64681465;8295736 + 8902;64061;3430;3564;64681465;8359797 + 8903;64068;3430;3564;64681465;8359797 + 8904;64080;3430;3564;64681465;8359797 + 8905;64083;3430;3565;64681465;8423880 + 8906;64092;3430;3565;64681465;8423880 + 8907;64104;3430;3565;64681465;8423880 + 8908;64106;3440;3566;68898979;7870304 + 8909;64116;3440;3566;68898979;7870304 + 8910;64122;3450;3567;69221259;7315141 + 8911;64128;3450;3567;69221259;7315141 + 8912;64135;3460;3568;67692452;6758221 + 8913;64140;3460;3568;67692452;6758221 + 8914;64148;3460;3569;67692452;6822369 + 8915;64152;3460;3569;67692452;6822369 + 8916;64161;3460;3570;67692452;6886530 + 8917;64164;3460;3570;67692452;6886530 + 8918;64176;3460;3570;67692452;6886530 + 8919;64185;3460;3571;67692452;6950715 + 8920;64188;3460;3571;67692452;6950715 + 8921;64197;3460;3572;67692452;7014912 + 8922;64200;3460;3572;67692452;7014912 + 8923;64212;3460;3572;67692452;7014912 + 8924;64215;3460;3573;67692452;7079127 + 8925;64224;3460;3573;67692452;7079127 + 8926;64234;3460;3574;67692452;7143361 + 8927;64236;3460;3574;67692452;7143361 + 8928;64248;3460;3574;67692452;7143361 + 8929;64248;3460;3575;67692452;7207609 + 8930;64260;3460;3575;67692452;7207609 + 8931;64261;3460;3576;67692452;7271870 + 8932;64272;3460;3576;67692452;7271870 + 8933;64283;3460;3577;67692452;7336153 + 8934;64284;3460;3577;67692452;7336153 + 8935;64296;3460;3577;67692452;7336153 + 8936;64307;3460;3578;67692452;7400460 + 8937;64308;3460;3578;67692452;7400460 + 8938;64320;3460;3578;67692452;7400460 + 8939;64325;3460;3579;67692452;7464785 + 8940;64332;3460;3579;67692452;7464785 + 8941;64342;3460;3580;67692452;7529127 + 8942;64344;3460;3580;67692452;7529127 + 8943;64354;3460;3581;67692452;7593481 + 8944;64356;3460;3581;67692452;7593481 + 8945;64368;3460;3581;67692452;7593481 + 8946;64374;3460;3582;67692452;7657855 + 8947;64380;3460;3582;67692452;7657855 + 8948;64389;3460;3583;67692452;7722244 + 8949;64392;3460;3583;67692452;7722244 + 8950;64404;3460;3583;67692452;7722244 + 8951;64409;3460;3584;67692452;7786653 + 8952;64416;3460;3584;67692452;7786653 + 8953;64428;3460;3584;67692452;7786653 + 8954;64433;3460;3585;67692452;7851086 + 8955;64440;3460;3585;67692452;7851086 + 8956;64452;3460;3585;67692452;7851086 + 8957;64453;3460;3586;67692452;7915539 + 8958;64464;3460;3586;67692452;7915539 + 8959;64471;3460;3587;67692452;7980010 + 8960;64476;3460;3587;67692452;7980010 + 8961;64488;3460;3587;67692452;7980010 + 8962;64489;3460;3588;67692452;8044499 + 8963;64500;3460;3588;67692452;8044499 + 8964;64505;3460;3589;67692452;8109004 + 8965;64512;3460;3589;67692452;8109004 + 8966;64524;3460;3589;67692452;8109004 + 8967;64524;3460;3590;67692452;8173528 + 8968;64536;3460;3590;67692452;8173528 + 8969;64542;3460;3591;67692452;8238070 + 8970;64548;3460;3591;67692452;8238070 + 8971;64560;3460;3591;67692452;8238070 + 8972;64565;3460;3592;67692452;8302635 + 8973;64572;3460;3592;67692452;8302635 + 8974;64584;3460;3592;67692452;8302635 + 8975;64584;3460;3593;67692452;8367219 + 8976;64596;3460;3593;67692452;8367219 + 8977;64596;3460;3594;67692452;8431815 + 8978;64608;3460;3594;67692452;8431815 + 8979;64613;3460;3595;67692452;8496428 + 8980;64620;3460;3595;67692452;8496428 + 8981;64632;3460;3595;67692452;8496428 + 8982;64636;3470;3596;66065148;7938157 + 8983;64644;3470;3596;66065148;7938157 + 8984;64656;3470;3596;66065148;7938157 + 8985;64658;3470;3597;66065148;8002815 + 8986;64668;3470;3597;66065148;8002815 + 8987;64671;3470;3598;66065148;8067486 + 8988;64680;3470;3598;66065148;8067486 + 8989;64685;3470;3599;66065148;8132171 + 8990;64692;3470;3599;66065148;8132171 + 8991;64704;3470;3599;66065148;8132171 + 8992;64705;3470;3600;66065148;8196876 + 8993;64716;3470;3600;66065148;8196876 + 8994;64721;3470;3601;66065148;8261597 + 8995;64728;3470;3601;66065148;8261597 + 8996;64738;3470;3602;66065148;8326335 + 8997;64740;3470;3602;66065148;8326335 + 8998;64752;3470;3602;66065148;8326335 + 8999;64752;3470;3603;66065148;8391087 + 9000;64764;3470;3603;66065148;8391087 + 9001;64771;3470;3604;66065148;8455858 + 9002;64776;3470;3604;66065148;8455858 + 9003;64788;3480;3604;71615249;7831135 + 9004;64788;3480;3605;71615249;7895923 + 9005;64800;3480;3605;71615249;7895923 + 9006;64800;3480;3606;71615249;7960723 + 9007;64812;3480;3606;71615249;7960723 + 9008;64813;3480;3607;71615249;8025536 + 9009;64824;3480;3607;71615249;8025536 + 9010;64829;3480;3608;71615249;8090365 + 9011;64836;3480;3608;71615249;8090365 + 9012;64846;3480;3609;71615249;8155211 + 9013;64848;3480;3609;71615249;8155211 + 9014;64860;3480;3609;71615249;8155211 + 9015;64869;3480;3610;71615249;8220080 + 9016;64872;3480;3610;71615249;8220080 + 9017;64884;3480;3610;71615249;8220080 + 9018;64885;3480;3611;71615249;8284965 + 9019;64896;3480;3611;71615249;8284965 + 9020;64907;3480;3612;71615249;8349872 + 9021;64908;3480;3612;71615249;8349872 + 9022;64920;3480;3612;71615249;8349872 + 9023;64927;3480;3613;71615249;8414799 + 9024;64932;3480;3613;71615249;8414799 + 9025;64940;3480;3614;71615249;8479739 + 9026;64944;3480;3614;71615249;8479739 + 9027;64956;3480;3614;71615249;8479739 + 9028;64960;3510;3615;70961775;6659888 + 9029;64968;3510;3615;70961775;6659888 + 9030;64980;3510;3615;70961775;6659888 + 9031;64982;3510;3616;70961775;6724870 + 9032;64992;3510;3616;70961775;6724870 + 9033;65001;3510;3617;70961775;6789871 + 9034;65004;3510;3617;70961775;6789871 + 9035;65014;3510;3618;70961775;6854885 + 9036;65016;3510;3618;70961775;6854885 + 9037;65027;3510;3619;70961775;6919912 + 9038;65028;3510;3619;70961775;6919912 + 9039;65040;3510;3619;70961775;6919912 + 9040;65042;3510;3620;70961775;6984954 + 9041;65052;3510;3620;70961775;6984954 + 9042;65064;3510;3620;70961775;6984954 + 9043;65066;3510;3621;70961775;7050020 + 9044;65076;3510;3621;70961775;7050020 + 9045;65079;3510;3622;70961775;7115099 + 9046;65088;3510;3622;70961775;7115099 + 9047;65100;3510;3622;70961775;7115099 + 9048;65100;3510;3623;70961775;7180199 + 9049;65112;3510;3623;70961775;7180199 + 9050;65124;3510;3623;70961775;7180199 + 9051;65124;3510;3624;70961775;7245323 + 9052;65136;3510;3624;70961775;7245323 + 9053;65138;3510;3625;70961775;7310461 + 9054;65148;3510;3625;70961775;7310461 + 9055;65155;3510;3626;70961775;7375616 + 9056;65160;3510;3626;70961775;7375616 + 9057;65167;3510;3627;70961775;7440783 + 9058;65172;3510;3627;70961775;7440783 + 9059;65179;3510;3628;70961775;7505962 + 9060;65184;3510;3628;70961775;7505962 + 9061;65196;3510;3628;70961775;7505962 + 9062;65203;3510;3629;70961775;7571165 + 9063;65208;3510;3629;70961775;7571165 + 9064;65220;3510;3629;70961775;7571165 + 9065;65227;3510;3630;70961775;7636392 + 9066;65232;3510;3630;70961775;7636392 + 9067;65244;3510;3630;70961775;7636392 + 9068;65247;3510;3631;70961775;7701639 + 9069;65256;3510;3631;70961775;7701639 + 9070;65266;3520;3632;71722752;7135224 + 9071;65268;3520;3632;71722752;7135224 + 9072;65278;3520;3633;71722752;7200502 + 9073;65280;3520;3633;71722752;7200502 + 9074;65292;3520;3633;71722752;7200502 + 9075;65294;3520;3634;71722752;7265796 + 9076;65304;3520;3634;71722752;7265796 + 9077;65310;3520;3635;71722752;7331106 + 9078;65316;3520;3635;71722752;7331106 + 9079;65328;3520;3635;71722752;7331106 + 9080;65328;3520;3636;71722752;7396434 + 9081;65340;3520;3636;71722752;7396434 + 9082;65349;3520;3637;71722752;7461783 + 9083;65352;3520;3637;71722752;7461783 + 9084;65363;3520;3638;71722752;7527146 + 9085;65364;3520;3638;71722752;7527146 + 9086;65376;3520;3638;71722752;7527146 + 9087;65386;3530;3639;66974237;6958929 + 9088;65388;3530;3639;66974237;6958929 + 9089;65399;3530;3640;66974237;7024328 + 9090;65400;3530;3640;66974237;7024328 + 9091;65412;3530;3640;66974237;7024328 + 9092;65418;3530;3641;66974237;7089746 + 9093;65424;3530;3641;66974237;7089746 + 9094;65436;3530;3641;66974237;7089746 + 9095;65436;3530;3642;66974237;7155182 + 9096;65448;3530;3642;66974237;7155182 + 9097;65453;3530;3643;66974237;7220635 + 9098;65460;3530;3643;66974237;7220635 + 9099;65465;3530;3644;66974237;7286100 + 9100;65472;3530;3644;66974237;7286100 + 9101;65484;3530;3644;66974237;7286100 + 9102;65489;3530;3645;66974237;7351589 + 9103;65496;3530;3645;66974237;7351589 + 9104;65508;3530;3645;66974237;7351589 + 9105;65510;3530;3646;66974237;7417099 + 9106;65520;3530;3646;66974237;7417099 + 9107;65526;3530;3647;66974237;7482625 + 9108;65532;3530;3647;66974237;7482625 + 9109;65544;3530;3647;66974237;7482625 + 9110;65549;3530;3648;66974237;7548174 + 9111;65556;3530;3648;66974237;7548174 + 9112;65566;3530;3649;66974237;7613740 + 9113;65568;3530;3649;66974237;7613740 + 9114;65580;3530;3649;66974237;7613740 + 9115;65580;3530;3650;66974237;7679320 + 9116;65592;3530;3650;66974237;7679320 + 9117;65598;3540;3651;70537279;7109391 + 9118;65604;3540;3651;70537279;7109391 + 9119;65614;3540;3652;70537279;7175005 + 9120;65616;3540;3652;70537279;7175005 + 9121;65628;3540;3652;70537279;7175005 + 9122;65632;3540;3653;70537279;7240637 + 9123;65640;3540;3653;70537279;7240637 + 9124;65650;3540;3654;70537279;7306287 + 9125;65652;3540;3654;70537279;7306287 + 9126;65663;3540;3655;70537279;7371950 + 9127;65664;3540;3655;70537279;7371950 + 9128;65676;3540;3655;70537279;7371950 + 9129;65683;3540;3656;70537279;7437633 + 9130;65688;3540;3656;70537279;7437633 + 9131;65700;3540;3656;70537279;7437633 + 9132;65701;3540;3657;70537279;7503334 + 9133;65712;3540;3657;70537279;7503334 + 9134;65718;3540;3658;70537279;7569052 + 9135;65724;3540;3658;70537279;7569052 + 9136;65733;3540;3659;70537279;7634785 + 9137;65736;3540;3659;70537279;7634785 + 9138;65745;3540;3660;70537279;7700530 + 9139;65748;3540;3660;70537279;7700530 + 9140;65760;3540;3660;70537279;7700530 + 9141;65766;3540;3661;70537279;7766296 + 9142;65772;3540;3661;70537279;7766296 + 9143;65784;3540;3661;70537279;7766296 + 9144;65788;3540;3662;70537279;7832084 + 9145;65796;3540;3662;70537279;7832084 + 9146;65805;3540;3663;70537279;7897889 + 9147;65808;3540;3663;70537279;7897889 + 9148;65820;3540;3663;70537279;7897889 + 9149;65826;3540;3664;70537279;7963715 + 9150;65832;3540;3664;70537279;7963715 + 9151;65839;3540;3665;70537279;8029554 + 9152;65844;3540;3665;70537279;8029554 + 9153;65856;3540;3665;70537279;8029554 + 9154;65862;3540;3666;70537279;8095416 + 9155;65868;3540;3666;70537279;8095416 + 9156;65880;3540;3666;70537279;8095416 + 9157;65880;3540;3667;70537279;8161296 + 9158;65892;3540;3667;70537279;8161296 + 9159;65904;3540;3667;70537279;8161296 + 9160;65904;3540;3668;70537279;8227200 + 9161;65916;3550;3668;76488573;7589885 + 9162;65926;3550;3669;76488573;7655811 + 9163;65928;3550;3669;76488573;7655811 + 9164;65940;3550;3669;76488573;7655811 + 9165;65944;3550;3670;76488573;7721755 + 9166;65952;3550;3670;76488573;7721755 + 9167;65964;3550;3670;76488573;7721755 + 9168;65965;3560;3671;78398753;7148625 + 9169;65976;3560;3671;78398753;7148625 + 9170;65984;3560;3672;78398753;7214609 + 9171;65988;3560;3672;78398753;7214609 + 9172;66000;3560;3672;78398753;7214609 + 9173;66001;3560;3673;78398753;7280610 + 9174;66012;3560;3673;78398753;7280610 + 9175;66024;3560;3673;78398753;7280610 + 9176;66025;3560;3674;78398753;7346635 + 9177;66036;3560;3674;78398753;7346635 + 9178;66043;3560;3675;78398753;7412678 + 9179;66048;3560;3675;78398753;7412678 + 9180;66058;3560;3676;78398753;7478736 + 9181;66060;3560;3676;78398753;7478736 + 9182;66072;3560;3676;78398753;7478736 + 9183;66078;3560;3677;78398753;7544814 + 9184;66084;3560;3677;78398753;7544814 + 9185;66096;3560;3677;78398753;7544814 + 9186;66099;3560;3678;78398753;7610913 + 9187;66108;3560;3678;78398753;7610913 + 9188;66113;3560;3679;78398753;7677026 + 9189;66120;3560;3679;78398753;7677026 + 9190;66132;3570;3679;79213073;7035973 + 9191;66135;3570;3680;79213073;7102108 + 9192;66144;3570;3680;79213073;7102108 + 9193;66147;3570;3681;79213073;7168255 + 9194;66156;3570;3681;79213073;7168255 + 9195;66163;3570;3682;79213073;7234418 + 9196;66168;3570;3682;79213073;7234418 + 9197;66175;3570;3683;79213073;7300593 + 9198;66180;3570;3683;79213073;7300593 + 9199;66192;3570;3683;79213073;7300593 + 9200;66198;3570;3684;79213073;7366791 + 9201;66204;3570;3684;79213073;7366791 + 9202;66216;3570;3684;79213073;7366791 + 9203;66220;3570;3685;79213073;7433011 + 9204;66228;3570;3685;79213073;7433011 + 9205;66237;3570;3686;79213073;7499248 + 9206;66240;3570;3686;79213073;7499248 + 9207;66252;3570;3686;79213073;7499248 + 9208;66253;3570;3687;79213073;7565501 + 9209;66264;3570;3687;79213073;7565501 + 9210;66265;3580;3688;79015288;6989000 + 9211;66276;3580;3688;79015288;6989000 + 9212;66287;3580;3689;79015288;7055287 + 9213;66288;3580;3689;79015288;7055287 + 9214;66300;3580;3689;79015288;7055287 + 9215;66309;3580;3690;79015288;7121596 + 9216;66312;3580;3690;79015288;7121596 + 9217;66324;3580;3690;79015288;7121596 + 9218;66324;3580;3691;79015288;7187920 + 9219;66336;3580;3691;79015288;7187920 + 9220;66348;3580;3691;79015288;7187920 + 9221;66348;3580;3692;79015288;7254268 + 9222;66360;3580;3692;79015288;7254268 + 9223;66367;3580;3693;79015288;7320635 + 9224;66372;3580;3693;79015288;7320635 + 9225;66384;3580;3693;79015288;7320635 + 9226;66388;3580;3694;79015288;7387023 + 9227;66396;3580;3694;79015288;7387023 + 9228;66408;3580;3694;79015288;7387023 + 9229;66411;3580;3695;79015288;7453434 + 9230;66420;3580;3695;79015288;7453434 + 9231;66428;3580;3696;79015288;7519862 + 9232;66432;3580;3696;79015288;7519862 + 9233;66443;3580;3697;79015288;7586305 + 9234;66444;3580;3697;79015288;7586305 + 9235;66456;3580;3697;79015288;7586305 + 9236;66461;3580;3698;79015288;7652766 + 9237;66468;3580;3698;79015288;7652766 + 9238;66480;3580;3698;79015288;7652766 + 9239;66483;3580;3699;79015288;7719249 + 9240;66492;3580;3699;79015288;7719249 + 9241;66503;3580;3700;79015288;7785752 + 9242;66504;3580;3700;79015288;7785752 + 9243;66516;3580;3700;79015288;7785752 + 9244;66526;3580;3701;79015288;7852278 + 9245;66528;3580;3701;79015288;7852278 + 9246;66540;3580;3701;79015288;7852278 + 9247;66546;3580;3702;79015288;7918824 + 9248;66552;3580;3702;79015288;7918824 + 9249;66561;3580;3703;79015288;7985385 + 9250;66564;3580;3703;79015288;7985385 + 9251;66576;3580;3703;79015288;7985385 + 9252;66580;3580;3704;79015288;8051965 + 9253;66588;3580;3704;79015288;8051965 + 9254;66599;3580;3705;79015288;8118564 + 9255;66600;3580;3705;79015288;8118564 + 9256;66612;3580;3705;79015288;8118564 + 9257;66613;3580;3706;79015288;8185177 + 9258;66624;3580;3706;79015288;8185177 + 9259;66627;3580;3707;79015288;8251804 + 9260;66636;3580;3707;79015288;8251804 + 9261;66648;3580;3707;79015288;8251804 + 9262;66648;3580;3708;79015288;8318452 + 9263;66660;3580;3708;79015288;8318452 + 9264;66669;3580;3709;79015288;8385121 + 9265;66672;3580;3709;79015288;8385121 + 9266;66684;3580;3709;79015288;8385121 + 9267;66687;3580;3710;79015288;8451808 + 9268;66696;3580;3710;79015288;8451808 + 9269;66703;3580;3711;79015288;8518511 + 9270;66708;3580;3711;79015288;8518511 + 9271;66717;3580;3712;79015288;8585228 + 9272;66720;3580;3712;79015288;8585228 + 9273;66732;3580;3712;79015288;8585228 + 9274;66739;3580;3713;79015288;8651967 + 9275;66744;3580;3713;79015288;8651967 + 9276;66756;3580;3713;79015288;8651967 + 9277;66757;3580;3714;79015288;8718724 + 9278;66768;3600;3714;79676500;7427701 + 9279;66773;3610;3715;77218677;6846383 + 9280;66780;3610;3715;77218677;6846383 + 9281;66789;3610;3716;77218677;6913172 + 9282;66792;3610;3716;77218677;6913172 + 9283;66804;3610;3716;77218677;6913172 + 9284;66807;3610;3717;77218677;6979979 + 9285;66816;3610;3717;77218677;6979979 + 9286;66825;3610;3718;77218677;7046804 + 9287;66828;3610;3718;77218677;7046804 + 9288;66840;3610;3718;77218677;7046804 + 9289;66841;3610;3719;77218677;7113645 + 9290;66852;3610;3719;77218677;7113645 + 9291;66858;3610;3720;77218677;7180503 + 9292;66864;3610;3720;77218677;7180503 + 9293;66876;3610;3720;77218677;7180503 + 9294;66878;3610;3721;77218677;7247381 + 9295;66888;3610;3721;77218677;7247381 + 9296;66900;3610;3721;77218677;7247381 + 9297;66901;3620;3722;76743960;6664416 + 9298;66912;3620;3722;76743960;6664416 + 9299;66915;3620;3723;76743960;6731331 + 9300;66924;3620;3723;76743960;6731331 + 9301;66927;3620;3724;76743960;6798258 + 9302;66936;3620;3724;76743960;6798258 + 9303;66944;3630;3725;73025451;6213583 + 9304;66948;3630;3725;73025451;6213583 + 9305;66956;3630;3726;73025451;6280539 + 9306;66960;3630;3726;73025451;6280539 + 9307;66972;3630;3726;73025451;6280539 + 9308;66978;3630;3727;73025451;6347517 + 9309;66984;3630;3727;73025451;6347517 + 9310;66995;3630;3728;73025451;6414512 + 9311;66996;3630;3728;73025451;6414512 + 9312;67007;3630;3729;73025451;6481519 + 9313;67008;3630;3729;73025451;6481519 + 9314;67020;3630;3729;73025451;6481519 + 9315;67026;3630;3730;73025451;6548545 + 9316;67032;3630;3730;73025451;6548545 + 9317;67038;3630;3731;73025451;6615583 + 9318;67044;3630;3731;73025451;6615583 + 9319;67056;3630;3731;73025451;6615583 + 9320;67057;3630;3732;73025451;6682640 + 9321;67068;3630;3732;73025451;6682640 + 9322;67077;3630;3733;73025451;6749717 + 9323;67080;3630;3733;73025451;6749717 + 9324;67092;3630;3733;73025451;6749717 + 9325;67101;3630;3734;73025451;6816818 + 9326;67104;3630;3734;73025451;6816818 + 9327;67116;3630;3734;73025451;6816818 + 9328;67125;3630;3735;73025451;6883943 + 9329;67128;3630;3735;73025451;6883943 + 9330;67140;3630;3735;73025451;6883943 + 9331;67145;3630;3736;73025451;6951088 + 9332;67152;3630;3736;73025451;6951088 + 9333;67157;3630;3737;73025451;7018245 + 9334;67164;3630;3737;73025451;7018245 + 9335;67169;3630;3738;73025451;7085414 + 9336;67176;3630;3738;73025451;7085414 + 9337;67186;3630;3739;73025451;7152600 + 9338;67188;3630;3739;73025451;7152600 + 9339;67200;3630;3739;73025451;7152600 + 9340;67206;3630;3740;73025451;7219806 + 9341;67212;3630;3740;73025451;7219806 + 9342;67218;3630;3741;73025451;7287024 + 9343;67224;3630;3741;73025451;7287024 + 9344;67236;3630;3741;73025451;7287024 + 9345;67236;3630;3742;73025451;7354260 + 9346;67248;3630;3742;73025451;7354260 + 9347;67249;3630;3743;73025451;7421509 + 9348;67260;3630;3743;73025451;7421509 + 9349;67265;3630;3744;73025451;7488774 + 9350;67272;3630;3744;73025451;7488774 + 9351;67284;3630;3744;73025451;7488774 + 9352;67289;3630;3745;73025451;7556063 + 9353;67296;3630;3745;73025451;7556063 + 9354;67308;3630;3745;73025451;7556063 + 9355;67310;3630;3746;73025451;7623373 + 9356;67320;3630;3746;73025451;7623373 + 9357;67323;3630;3747;73025451;7690696 + 9358;67332;3630;3747;73025451;7690696 + 9359;67344;3630;3747;73025451;7690696 + 9360;67345;3630;3748;73025451;7758041 + 9361;67356;3630;3748;73025451;7758041 + 9362;67358;3630;3749;73025451;7825399 + 9363;67368;3630;3749;73025451;7825399 + 9364;67374;3630;3750;73025451;7892773 + 9365;67380;3630;3750;73025451;7892773 + 9366;67392;3630;3750;73025451;7892773 + 9367;67394;3630;3751;73025451;7960167 + 9368;67404;3630;3751;73025451;7960167 + 9369;67407;3630;3752;73025451;8027574 + 9370;67416;3630;3752;73025451;8027574 + 9371;67420;3630;3753;73025451;8094994 + 9372;67428;3630;3753;73025451;8094994 + 9373;67440;3630;3753;73025451;8094994 + 9374;67440;3630;3754;73025451;8162434 + 9375;67452;3630;3754;73025451;8162434 + 9376;67457;3630;3755;73025451;8229891 + 9377;67464;3630;3755;73025451;8229891 + 9378;67474;3630;3756;73025451;8297365 + 9379;67476;3630;3756;73025451;8297365 + 9380;67487;3630;3757;73025451;8364852 + 9381;67488;3630;3757;73025451;8364852 + 9382;67500;3630;3757;73025451;8364852 + 9383;67502;3630;3758;73025451;8432354 + 9384;67512;3630;3758;73025451;8432354 + 9385;67522;3630;3759;73025451;8499876 + 9386;67524;3630;3759;73025451;8499876 + 9387;67536;3630;3759;73025451;8499876 + 9388;67546;3630;3760;73025451;8567422 + 9389;67548;3630;3760;73025451;8567422 + 9390;67560;3630;3760;73025451;8567422 + 9391;67565;3630;3761;73025451;8634987 + 9392;67572;3630;3761;73025451;8634987 + 9393;67584;3630;3761;73025451;8634987 + 9394;67587;3630;3762;73025451;8702574 + 9395;67596;3630;3762;73025451;8702574 + 9396;67600;3630;3763;73025451;8770174 + 9397;67608;3630;3763;73025451;8770174 + 9398;67620;3630;3763;73025451;8770174 + 9399;67623;3630;3764;73025451;8837797 + 9400;67632;3630;3764;73025451;8837797 + 9401;67640;3630;3765;73025451;8905437 + 9402;67644;3630;3765;73025451;8905437 + 9403;67652;3630;3766;73025451;8973089 + 9404;67656;3630;3766;73025451;8973089 + 9405;67665;3630;3767;73025451;9040754 + 9406;67668;3630;3767;73025451;9040754 + 9407;67680;3630;3767;73025451;9040754 + 9408;67686;3630;3768;73025451;9108440 + 9409;67692;3630;3768;73025451;9108440 + 9410;67704;3630;3768;73025451;9108440 + 9411;67706;3630;3769;73025451;9176146 + 9412;67716;3630;3769;73025451;9176146 + 9413;67728;3630;3769;73025451;9176146 + 9414;67729;3640;3770;79173477;8590484 + 9415;67740;3640;3770;79173477;8590484 + 9416;67744;3640;3771;79173477;8658228 + 9417;67752;3640;3771;79173477;8658228 + 9418;67764;3640;3771;79173477;8658228 + 9419;67766;3640;3772;79173477;8725994 + 9420;67776;3640;3772;79173477;8725994 + 9421;67788;3640;3772;79173477;8725994 + 9422;67789;3640;3773;79173477;8793783 + 9423;67800;3640;3773;79173477;8793783 + 9424;67806;3640;3774;79173477;8861589 + 9425;67812;3640;3774;79173477;8861589 + 9426;67822;3670;3775;76731170;6958595 + 9427;67824;3670;3775;76731170;6958595 + 9428;67835;3670;3776;76731170;7026430 + 9429;67836;3670;3776;76731170;7026430 + 9430;67848;3670;3776;76731170;7026430 + 9431;67853;3670;3777;76731170;7094283 + 9432;67860;3670;3777;76731170;7094283 + 9433;67872;3670;3777;76731170;7094283 + 9434;67873;3670;3778;76731170;7162156 + 9435;67884;3670;3778;76731170;7162156 + 9436;67894;3670;3779;76731170;7230050 + 9437;67896;3670;3779;76731170;7230050 + 9438;67906;3670;3780;76731170;7297956 + 9439;67908;3670;3780;76731170;7297956 + 9440;67920;3670;3780;76731170;7297956 + 9441;67928;3670;3781;76731170;7365884 + 9442;67932;3670;3781;76731170;7365884 + 9443;67944;3670;3781;76731170;7365884 + 9444;67948;3670;3782;76731170;7433832 + 9445;67956;3670;3782;76731170;7433832 + 9446;67965;3670;3783;76731170;7501797 + 9447;67968;3670;3783;76731170;7501797 + 9448;67977;3670;3784;76731170;7569774 + 9449;67980;3670;3784;76731170;7569774 + 9450;67992;3670;3784;76731170;7569774 + 9451;67999;3670;3785;76731170;7637773 + 9452;68004;3670;3785;76731170;7637773 + 9453;68011;3670;3786;76731170;7705784 + 9454;68016;3670;3786;76731170;7705784 + 9455;68028;3670;3786;76731170;7705784 + 9456;68034;3670;3787;76731170;7773818 + 9457;68040;3670;3787;76731170;7773818 + 9458;68052;3670;3787;76731170;7773818 + 9459;68056;3670;3788;76731170;7841874 + 9460;68064;3670;3788;76731170;7841874 + 9461;68076;3670;3788;76731170;7841874 + 9462;68077;3670;3789;76731170;7909951 + 9463;68088;3670;3789;76731170;7909951 + 9464;68095;3670;3790;76731170;7978046 + 9465;68100;3670;3790;76731170;7978046 + 9466;68112;3670;3790;76731170;7978046 + 9467;68115;3670;3791;76731170;8046161 + 9468;68124;3670;3791;76731170;8046161 + 9469;68128;3670;3792;76731170;8114289 + 9470;68136;3670;3792;76731170;8114289 + 9471;68148;3670;3792;76731170;8114289 + 9472;68150;3670;3793;76731170;8182439 + 9473;68160;3670;3793;76731170;8182439 + 9474;68167;3670;3794;76731170;8250606 + 9475;68172;3670;3794;76731170;8250606 + 9476;68182;3680;3795;75967683;7658105 + 9477;68184;3680;3795;75967683;7658105 + 9478;68196;3680;3795;75967683;7658105 + 9479;68198;3680;3796;75967683;7726303 + 9480;68208;3680;3796;75967683;7726303 + 9481;68220;3680;3796;75967683;7726303 + 9482;68220;3680;3797;75967683;7794523 + 9483;68232;3680;3797;75967683;7794523 + 9484;68240;3680;3798;75967683;7862763 + 9485;68244;3680;3798;75967683;7862763 + 9486;68256;3680;3798;75967683;7862763 + 9487;68264;3680;3799;75967683;7931027 + 9488;68268;3680;3799;75967683;7931027 + 9489;68280;3680;3799;75967683;7931027 + 9490;68281;3680;3800;75967683;7999308 + 9491;68292;3680;3800;75967683;7999308 + 9492;68304;3680;3800;75967683;7999308 + 9493;68305;3680;3801;75967683;8067613 + 9494;68316;3680;3801;75967683;8067613 + 9495;68317;3680;3802;75967683;8135930 + 9496;68328;3680;3802;75967683;8135930 + 9497;68337;3680;3803;75967683;8204267 + 9498;68340;3680;3803;75967683;8204267 + 9499;68352;3680;3803;75967683;8204267 + 9500;68357;3680;3804;75967683;8272624 + 9501;68364;3680;3804;75967683;8272624 + 9502;68376;3680;3804;75967683;8272624 + 9503;68376;3680;3805;75967683;8341000 + 9504;68388;3680;3805;75967683;8341000 + 9505;68389;3680;3806;75967683;8409389 + 9506;68400;3680;3806;75967683;8409389 + 9507;68404;3680;3807;75967683;8477793 + 9508;68412;3680;3807;75967683;8477793 + 9509;68424;3680;3807;75967683;8477793 + 9510;68427;3680;3808;75967683;8546220 + 9511;68436;3680;3808;75967683;8546220 + 9512;68448;3680;3808;75967683;8546220 + 9513;68451;3680;3809;75967683;8614671 + 9514;68460;3680;3809;75967683;8614671 + 9515;68472;3680;3809;75967683;8614671 + 9516;68474;3680;3810;75967683;8683145 + 9517;68484;3680;3810;75967683;8683145 + 9518;68496;3680;3810;75967683;8683145 + 9519;68497;3680;3811;75967683;8751642 + 9520;68508;3680;3811;75967683;8751642 + 9521;68517;3680;3812;75967683;8820159 + 9522;68520;3680;3812;75967683;8820159 + 9523;68532;3680;3812;75967683;8820159 + 9524;68541;3690;3813;82157764;8226269 + 9525;68544;3690;3813;82157764;8226269 + 9526;68553;3690;3814;82157764;8294822 + 9527;68556;3690;3814;82157764;8294822 + 9528;68568;3690;3814;82157764;8294822 + 9529;68569;3690;3815;82157764;8363391 + 9530;68580;3690;3815;82157764;8363391 + 9531;68592;3690;3815;82157764;8363391 + 9532;68593;3690;3816;82157764;8431984 + 9533;68604;3690;3816;82157764;8431984 + 9534;68608;3690;3817;82157764;8500592 + 9535;68616;3690;3817;82157764;8500592 + 9536;68628;3690;3817;82157764;8500592 + 9537;68631;3710;3818;81625471;7238632 + 9538;68640;3710;3818;81625471;7238632 + 9539;68649;3710;3819;81625471;7307281 + 9540;68652;3710;3819;81625471;7307281 + 9541;68664;3710;3819;81625471;7307281 + 9542;68667;3710;3820;81625471;7375948 + 9543;68676;3710;3820;81625471;7375948 + 9544;68683;3710;3821;81625471;7444631 + 9545;68688;3710;3821;81625471;7444631 + 9546;68700;3710;3821;81625471;7444631 + 9547;68702;3710;3822;81625471;7513333 + 9548;68712;3710;3822;81625471;7513333 + 9549;68724;3710;3822;81625471;7513333 + 9550;68724;3710;3823;81625471;7582057 + 9551;68736;3710;3823;81625471;7582057 + 9552;68739;3710;3824;81625471;7650796 + 9553;68748;3710;3824;81625471;7650796 + 9554;68751;3710;3825;81625471;7719547 + 9555;68760;3710;3825;81625471;7719547 + 9556;68764;3710;3826;81625471;7788311 + 9557;68772;3710;3826;81625471;7788311 + 9558;68778;3710;3827;81625471;7857089 + 9559;68784;3710;3827;81625471;7857089 + 9560;68796;3710;3827;81625471;7857089 + 9561;68797;3710;3828;81625471;7925886 + 9562;68808;3710;3828;81625471;7925886 + 9563;68820;3710;3828;81625471;7925886 + 9564;68820;3710;3829;81625471;7994706 + 9565;68832;3710;3829;81625471;7994706 + 9566;68838;3710;3830;81625471;8063544 + 9567;68844;3710;3830;81625471;8063544 + 9568;68856;3710;3830;81625471;8063544 + 9569;68858;3720;3831;77618672;7464418 + 9570;68868;3720;3831;77618672;7464418 + 9571;68880;3720;3831;77618672;7464418 + 9572;68882;3720;3832;77618672;7533300 + 9573;68892;3720;3832;77618672;7533300 + 9574;68895;3720;3833;77618672;7602195 + 9575;68904;3720;3833;77618672;7602195 + 9576;68910;3720;3834;77618672;7671105 + 9577;68916;3720;3834;77618672;7671105 + 9578;68924;3720;3835;77618672;7740029 + 9579;68928;3720;3835;77618672;7740029 + 9580;68940;3720;3835;77618672;7740029 + 9581;68940;3720;3836;77618672;7808969 + 9582;68952;3720;3836;77618672;7808969 + 9583;68960;3720;3837;77618672;7877929 + 9584;68964;3720;3837;77618672;7877929 + 9585;68973;3720;3838;77618672;7946902 + 9586;68976;3720;3838;77618672;7946902 + 9587;68986;3730;3839;78503354;7346201 + 9588;68988;3730;3839;78503354;7346201 + 9589;69000;3730;3839;78503354;7346201 + 9590;69004;3730;3840;78503354;7415205 + 9591;69012;3730;3840;78503354;7415205 + 9592;69020;3730;3841;78503354;7484225 + 9593;69024;3730;3841;78503354;7484225 + 9594;69036;3730;3841;78503354;7484225 + 9595;69036;3730;3842;78503354;7553261 + 9596;69048;3730;3842;78503354;7553261 + 9597;69054;3730;3843;78503354;7622315 + 9598;69060;3730;3843;78503354;7622315 + 9599;69069;3730;3844;78503354;7691384 + 9600;69072;3730;3844;78503354;7691384 + 9601;69084;3730;3844;78503354;7691384 + 9602;69086;3730;3845;78503354;7760470 + 9603;69096;3730;3845;78503354;7760470 + 9604;69098;3730;3846;78503354;7829568 + 9605;69108;3730;3846;78503354;7829568 + 9606;69120;3730;3846;78503354;7829568 + 9607;69120;3730;3847;78503354;7898688 + 9608;69132;3730;3847;78503354;7898688 + 9609;69137;3730;3848;78503354;7967825 + 9610;69144;3730;3848;78503354;7967825 + 9611;69153;3730;3849;78503354;8036978 + 9612;69156;3730;3849;78503354;8036978 + 9613;69166;3730;3850;78503354;8106144 + 9614;69168;3730;3850;78503354;8106144 + 9615;69180;3730;3850;78503354;8106144 + 9616;69190;3730;3851;78503354;8175334 + 9617;69192;3730;3851;78503354;8175334 + 9618;69204;3730;3851;78503354;8175334 + 9619;69212;3730;3852;78503354;8244546 + 9620;69216;3730;3852;78503354;8244546 + 9621;69227;3730;3853;78503354;8313773 + 9622;69228;3730;3853;78503354;8313773 + 9623;69240;3740;3853;80665262;7642332 + 9624;69245;3760;3854;70361156;6363614 + 9625;69252;3760;3854;70361156;6363614 + 9626;69264;3760;3854;70361156;6363614 + 9627;69268;3760;3855;70361156;6432882 + 9628;69276;3760;3855;70361156;6432882 + 9629;69281;3760;3856;70361156;6502163 + 9630;69288;3760;3856;70361156;6502163 + 9631;69299;3760;3857;70361156;6571462 + 9632;69300;3760;3857;70361156;6571462 + 9633;69312;3760;3857;70361156;6571462 + 9634;69315;3760;3858;70361156;6640777 + 9635;69324;3760;3858;70361156;6640777 + 9636;69336;3760;3858;70361156;6640777 + 9637;69336;3760;3859;70361156;6710113 + 9638;69348;3760;3859;70361156;6710113 + 9639;69354;3760;3860;70361156;6779467 + 9640;69360;3760;3860;70361156;6779467 + 9641;69372;3760;3860;70361156;6779467 + 9642;69378;3760;3861;70361156;6848845 + 9643;69384;3760;3861;70361156;6848845 + 9644;69392;3760;3862;70361156;6918237 + 9645;69396;3760;3862;70361156;6918237 + 9646;69408;3760;3862;70361156;6918237 + 9647;69416;3760;3863;70361156;6987653 + 9648;69420;3760;3863;70361156;6987653 + 9649;69432;3760;3863;70361156;6987653 + 9650;69433;3760;3864;70361156;7057086 + 9651;69444;3760;3864;70361156;7057086 + 9652;69452;3770;3865;64144693;6449906 + 9653;69456;3770;3865;64144693;6449906 + 9654;69466;3770;3866;64144693;6519372 + 9655;69468;3770;3866;64144693;6519372 + 9656;69480;3770;3866;64144693;6519372 + 9657;69485;3770;3867;64144693;6588857 + 9658;69492;3770;3867;64144693;6588857 + 9659;69502;3770;3868;64144693;6658359 + 9660;69504;3770;3868;64144693;6658359 + 9661;69516;3770;3868;64144693;6658359 + 9662;69521;3770;3869;64144693;6727880 + 9663;69528;3770;3869;64144693;6727880 + 9664;69534;3770;3870;64144693;6797414 + 9665;69540;3770;3870;64144693;6797414 + 9666;69552;3770;3870;64144693;6797414 + 9667;69556;3770;3871;64144693;6866970 + 9668;69564;3770;3871;64144693;6866970 + 9669;69576;3770;3871;64144693;6866970 + 9670;69579;3770;3872;64144693;6936549 + 9671;69588;3770;3872;64144693;6936549 + 9672;69598;3770;3873;64144693;7006147 + 9673;69600;3770;3873;64144693;7006147 + 9674;69612;3770;3873;64144693;7006147 + 9675;69615;3770;3874;64144693;7075762 + 9676;69624;3770;3874;64144693;7075762 + 9677;69636;3770;3874;64144693;7075762 + 9678;69638;3770;3875;64144693;7145400 + 9679;69648;3770;3875;64144693;7145400 + 9680;69660;3770;3875;64144693;7145400 + 9681;69660;3770;3876;64144693;7215060 + 9682;69672;3770;3876;64144693;7215060 + 9683;69684;3770;3876;64144693;7215060 + 9684;69684;3770;3877;64144693;7284744 + 9685;69696;3770;3877;64144693;7284744 + 9686;69699;3770;3878;64144693;7354443 + 9687;69708;3770;3878;64144693;7354443 + 9688;69715;3770;3879;64144693;7424158 + 9689;69720;3770;3879;64144693;7424158 + 9690;69732;3770;3879;64144693;7424158 + 9691;69734;3770;3880;64144693;7493892 + 9692;69744;3770;3880;64144693;7493892 + 9693;69751;3770;3881;64144693;7563643 + 9694;69756;3770;3881;64144693;7563643 + 9695;69768;3770;3881;64144693;7563643 + 9696;69772;3770;3882;64144693;7633415 + 9697;69780;3770;3882;64144693;7633415 + 9698;69791;3770;3883;64144693;7703206 + 9699;69792;3770;3883;64144693;7703206 + 9700;69804;3770;3883;64144693;7703206 + 9701;69806;3770;3884;64144693;7773012 + 9702;69816;3770;3884;64144693;7773012 + 9703;69822;3770;3885;64144693;7842834 + 9704;69828;3770;3885;64144693;7842834 + 9705;69834;3770;3886;64144693;7912668 + 9706;69840;3770;3886;64144693;7912668 + 9707;69852;3770;3886;64144693;7912668 + 9708;69853;3770;3887;64144693;7982521 + 9709;69864;3770;3887;64144693;7982521 + 9710;69873;3770;3888;64144693;8052394 + 9711;69876;3770;3888;64144693;8052394 + 9712;69888;3770;3888;64144693;8052394 + 9713;69888;3770;3889;64144693;8122282 + 9714;69900;3770;3889;64144693;8122282 + 9715;69904;3770;3890;64144693;8192186 + 9716;69912;3770;3890;64144693;8192186 + 9717;69924;3770;3890;64144693;8192186 + 9718;69926;3770;3891;64144693;8262112 + 9719;69936;3770;3891;64144693;8262112 + 9720;69948;3770;3891;64144693;8262112 + 9721;69949;3770;3892;64144693;8332061 + 9722;69960;3770;3892;64144693;8332061 + 9723;69972;3770;3892;64144693;8332061 + 9724;69972;3770;3893;64144693;8402033 + 9725;69984;3770;3893;64144693;8402033 + 9726;69992;3770;3894;64144693;8472025 + 9727;69996;3770;3894;64144693;8472025 + 9728;70008;3770;3894;64144693;8472025 + 9729;70014;3770;3895;64144693;8542039 + 9730;70020;3770;3895;64144693;8542039 + 9731;70026;3770;3896;64144693;8612065 + 9732;70032;3770;3896;64144693;8612065 + 9733;70039;3770;3897;64144693;8682104 + 9734;70044;3770;3897;64144693;8682104 + 9735;70052;3780;3898;68601062;8073684 + 9736;70056;3780;3898;68601062;8073684 + 9737;70068;3780;3898;68601062;8073684 + 9738;70068;3780;3899;68601062;8143752 + 9739;70080;3780;3899;68601062;8143752 + 9740;70084;3780;3900;68601062;8213836 + 9741;70092;3780;3900;68601062;8213836 + 9742;70101;3780;3901;68601062;8283937 + 9743;70104;3780;3901;68601062;8283937 + 9744;70114;3790;3902;72843115;7673774 + 9745;70116;3790;3902;72843115;7673774 + 9746;70128;3790;3902;72843115;7673774 + 9747;70129;3790;3903;72843115;7743903 + 9748;70140;3790;3903;72843115;7743903 + 9749;70152;3790;3903;72843115;7743903 + 9750;70153;3790;3904;72843115;7814056 + 9751;70164;3790;3904;72843115;7814056 + 9752;70175;3790;3905;72843115;7884231 + 9753;70176;3790;3905;72843115;7884231 + 9754;70188;3790;3905;72843115;7884231 + 9755;70188;3790;3906;72843115;7954419 + 9756;70200;3790;3906;72843115;7954419 + 9757;70210;3790;3907;72843115;8024629 + 9758;70212;3790;3907;72843115;8024629 + 9759;70224;3790;3907;72843115;8024629 + 9760;70227;3800;3908;72794569;7412721 + 9761;70236;3800;3908;72794569;7412721 + 9762;70248;3800;3908;72794569;7412721 + 9763;70250;3800;3909;72794569;7482971 + 9764;70260;3800;3909;72794569;7482971 + 9765;70272;3800;3909;72794569;7482971 + 9766;70274;3800;3910;72794569;7553245 + 9767;70284;3800;3910;72794569;7553245 + 9768;70290;3800;3911;72794569;7623535 + 9769;70296;3800;3911;72794569;7623535 + 9770;70307;3800;3912;72794569;7693842 + 9771;70308;3800;3912;72794569;7693842 + 9772;70320;3800;3912;72794569;7693842 + 9773;70322;3800;3913;72794569;7764164 + 9774;70332;3800;3913;72794569;7764164 + 9775;70336;3800;3914;72794569;7834500 + 9776;70344;3800;3914;72794569;7834500 + 9777;70355;3800;3915;72794569;7904855 + 9778;70356;3800;3915;72794569;7904855 + 9779;70368;3800;3915;72794569;7904855 + 9780;70379;3800;3916;72794569;7975234 + 9781;70380;3800;3916;72794569;7975234 + 9782;70392;3800;3916;72794569;7975234 + 9783;70400;3800;3917;72794569;8045634 + 9784;70404;3800;3917;72794569;8045634 + 9785;70416;3800;3917;72794569;8045634 + 9786;70417;3800;3918;72794569;8116051 + 9787;70428;3800;3918;72794569;8116051 + 9788;70438;3800;3919;72794569;8186489 + 9789;70440;3800;3919;72794569;8186489 + 9790;70452;3800;3919;72794569;8186489 + 9791;70459;3800;3920;72794569;8256948 + 9792;70464;3800;3920;72794569;8256948 + 9793;70475;3800;3921;72794569;8327423 + 9794;70476;3800;3921;72794569;8327423 + 9795;70488;3800;3921;72794569;8327423 + 9796;70491;3800;3922;72794569;8397914 + 9797;70500;3800;3922;72794569;8397914 + 9798;70512;3800;3922;72794569;8397914 + 9799;70514;3800;3923;72794569;8468428 + 9800;70524;3800;3923;72794569;8468428 + 9801;70534;3800;3924;72794569;8538962 + 9802;70536;3800;3924;72794569;8538962 + 9803;70548;3800;3924;72794569;8538962 + 9804;70556;3800;3925;72794569;8609518 + 9805;70560;3800;3925;72794569;8609518 + 9806;70572;3800;3925;72794569;8609518 + 9807;70572;3800;3926;72794569;8680090 + 9808;70584;3800;3926;72794569;8680090 + 9809;70586;3800;3927;72794569;8750676 + 9810;70596;3800;3927;72794569;8750676 + 9811;70602;3800;3928;72794569;8821278 + 9812;70608;3800;3928;72794569;8821278 + 9813;70620;3800;3928;72794569;8821278 + 9814;70624;3800;3929;72794569;8891902 + 9815;70632;3800;3929;72794569;8891902 + 9816;70641;3810;3930;75689644;8278514 + 9817;70644;3810;3930;75689644;8278514 + 9818;70656;3810;3930;75689644;8278514 + 9819;70658;3820;3931;71507906;7663161 + 9820;70668;3820;3931;71507906;7663161 + 9821;70680;3820;3931;71507906;7663161 + 9822;70681;3820;3932;71507906;7733842 + 9823;70692;3820;3932;71507906;7733842 + 9824;70696;3820;3933;71507906;7804538 + 9825;70704;3820;3933;71507906;7804538 + 9826;70715;3820;3934;71507906;7875253 + 9827;70716;3820;3934;71507906;7875253 + 9828;70728;3830;3934;71806477;7187482 + 9829;70739;3830;3935;71806477;7258221 + 9830;70740;3830;3935;71806477;7258221 + 9831;70752;3830;3935;71806477;7258221 + 9832;70757;3830;3936;71806477;7328978 + 9833;70764;3830;3936;71806477;7328978 + 9834;70774;3830;3937;71806477;7399752 + 9835;70776;3830;3937;71806477;7399752 + 9836;70788;3830;3937;71806477;7399752 + 9837;70797;3830;3938;71806477;7470549 + 9838;70800;3830;3938;71806477;7470549 + 9839;70812;3830;3938;71806477;7470549 + 9840;70814;3830;3939;71806477;7541363 + 9841;70824;3830;3939;71806477;7541363 + 9842;70827;3830;3940;71806477;7612190 + 9843;70836;3830;3940;71806477;7612190 + 9844;70848;3830;3940;71806477;7612190 + 9845;70849;3830;3941;71806477;7683039 + 9846;70860;3830;3941;71806477;7683039 + 9847;70867;3830;3942;71806477;7753906 + 9848;70872;3830;3942;71806477;7753906 + 9849;70884;3830;3942;71806477;7753906 + 9850;70886;3830;3943;71806477;7824792 + 9851;70896;3830;3943;71806477;7824792 + 9852;70905;3830;3944;71806477;7895697 + 9853;70908;3830;3944;71806477;7895697 + 9854;70918;3830;3945;71806477;7966615 + 9855;70920;3830;3945;71806477;7966615 + 9856;70932;3830;3945;71806477;7966615 + 9857;70936;3830;3946;71806477;8037551 + 9858;70944;3830;3946;71806477;8037551 + 9859;70952;3830;3947;71806477;8108503 + 9860;70956;3830;3947;71806477;8108503 + 9861;70964;3830;3948;71806477;8179467 + 9862;70968;3830;3948;71806477;8179467 + 9863;70980;3830;3948;71806477;8179467 + 9864;70988;3830;3949;71806477;8250455 + 9865;70992;3830;3949;71806477;8250455 + 9866;71004;3830;3949;71806477;8250455 + 9867;71004;3830;3950;71806477;8321459 + 9868;71016;3830;3950;71806477;8321459 + 9869;71016;3830;3951;71806477;8392475 + 9870;71028;3830;3951;71806477;8392475 + 9871;71028;3830;3952;71806477;8463503 + 9872;71040;3830;3952;71806477;8463503 + 9873;71043;3830;3953;71806477;8534546 + 9874;71052;3830;3953;71806477;8534546 + 9875;71061;3830;3954;71806477;8605607 + 9876;71064;3830;3954;71806477;8605607 + 9877;71076;3830;3954;71806477;8605607 + 9878;71085;3830;3955;71806477;8676692 + 9879;71088;3830;3955;71806477;8676692 + 9880;71100;3830;3955;71806477;8676692 + 9881;71107;3830;3956;71806477;8747799 + 9882;71112;3830;3956;71806477;8747799 + 9883;71121;3830;3957;71806477;8818920 + 9884;71124;3830;3957;71806477;8818920 + 9885;71136;3830;3957;71806477;8818920 + 9886;71145;3830;3958;71806477;8890065 + 9887;71148;3830;3958;71806477;8890065 + 9888;71157;3830;3959;71806477;8961222 + 9889;71160;3830;3959;71806477;8961222 + 9890;71172;3830;3959;71806477;8961222 + 9891;71176;3840;3960;82061970;8342904 + 9892;71184;3840;3960;82061970;8342904 + 9893;71194;3850;3961;78791728;7722989 + 9894;71196;3850;3961;78791728;7722989 + 9895;71207;3850;3962;78791728;7794196 + 9896;71208;3850;3962;78791728;7794196 + 9897;71220;3850;3962;78791728;7794196 + 9898;71223;3850;3963;78791728;7865419 + 9899;71232;3850;3963;78791728;7865419 + 9900;71244;3850;3963;78791728;7865419 + 9901;71244;3850;3964;78791728;7936663 + 9902;71256;3850;3964;78791728;7936663 + 9903;71256;3850;3965;78791728;8007919 + 9904;71268;3850;3965;78791728;8007919 + 9905;71279;3850;3966;78791728;8079198 + 9906;71280;3850;3966;78791728;8079198 + 9907;71292;3850;3966;78791728;8079198 + 9908;71300;3850;3967;78791728;8150498 + 9909;71304;3850;3967;78791728;8150498 + 9910;71316;3850;3967;78791728;8150498 + 9911;71324;3850;3968;78791728;8221822 + 9912;71328;3850;3968;78791728;8221822 + 9913;71340;3850;3968;78791728;8221822 + 9914;71341;3850;3969;78791728;8293163 + 9915;71352;3850;3969;78791728;8293163 + 9916;71359;3850;3970;78791728;8364522 + 9917;71364;3850;3970;78791728;8364522 + 9918;71376;3850;3970;78791728;8364522 + 9919;71382;3850;3971;78791728;8435904 + 9920;71388;3850;3971;78791728;8435904 + 9921;71400;3850;3971;78791728;8435904 + 9922;71402;3850;3972;78791728;8507306 + 9923;71412;3850;3972;78791728;8507306 + 9924;71414;3850;3973;78791728;8578720 + 9925;71424;3850;3973;78791728;8578720 + 9926;71426;3850;3974;78791728;8650146 + 9927;71436;3850;3974;78791728;8650146 + 9928;71447;3850;3975;78791728;8721593 + 9929;71448;3850;3975;78791728;8721593 + 9930;71460;3850;3975;78791728;8721593 + 9931;71461;3850;3976;78791728;8793054 + 9932;71472;3850;3976;78791728;8793054 + 9933;71476;3850;3977;78791728;8864530 + 9934;71484;3850;3977;78791728;8864530 + 9935;71494;3850;3978;78791728;8936024 + 9936;71496;3850;3978;78791728;8936024 + 9937;71508;3850;3978;78791728;8936024 + 9938;71510;3850;3979;78791728;9007534 + 9939;71520;3850;3979;78791728;9007534 + 9940;71523;3850;3980;78791728;9079057 + 9941;71532;3850;3980;78791728;9079057 + 9942;71542;3850;3981;78791728;9150599 + 9943;71544;3850;3981;78791728;9150599 + 9944;71556;3850;3981;78791728;9150599 + 9945;71563;3850;3982;78791728;9222162 + 9946;71568;3850;3982;78791728;9222162 + 9947;71575;3850;3983;78791728;9293737 + 9948;71580;3850;3983;78791728;9293737 + 9949;71590;3850;3984;78791728;9365327 + 9950;71592;3850;3984;78791728;9365327 + 9951;71604;3850;3984;78791728;9365327 + 9952;71612;3850;3985;78791728;9436939 + 9953;71616;3850;3985;78791728;9436939 + 9954;71628;3850;3985;78791728;9436939 + 9955;71632;3850;3986;78791728;9508571 + 9956;71640;3850;3986;78791728;9508571 + 9957;71652;3850;3986;78791728;9508571 + 9958;71652;3850;3987;78791728;9580223 + 9959;71664;3850;3987;78791728;9580223 + 9960;71671;3850;3988;78791728;9651894 + 9961;71676;3850;3988;78791728;9651894 + 9962;71688;3870;3988;86557421;8264222 + 9963;71690;3870;3989;86557421;8335912 + 9964;71700;3870;3989;86557421;8335912 + 9965;71704;3870;3990;86557421;8407616 + 9966;71712;3870;3990;86557421;8407616 + 9967;71724;3870;3990;86557421;8407616 + 9968;71728;3870;3991;86557421;8479344 + 9969;71736;3870;3991;86557421;8479344 + 9970;71745;3870;3992;86557421;8551089 + 9971;71748;3870;3992;86557421;8551089 + 9972;71760;3870;3992;86557421;8551089 + 9973;71763;3870;3993;86557421;8622852 + 9974;71772;3870;3993;86557421;8622852 + 9975;71784;3870;3993;86557421;8622852 + 9976;71784;3870;3994;86557421;8694636 + 9977;71796;3870;3994;86557421;8694636 + 9978;71806;3870;3995;86557421;8766442 + 9979;71808;3870;3995;86557421;8766442 + 9980;71820;3870;3995;86557421;8766442 + 9981;71822;3870;3996;86557421;8838264 + 9982;71832;3870;3996;86557421;8838264 + 9983;71842;3870;3997;86557421;8910106 + 9984;71844;3870;3997;86557421;8910106 + 9985;71856;3870;3997;86557421;8910106 + 9986;71864;3870;3998;86557421;8981970 + 9987;71868;3870;3998;86557421;8981970 + 9988;71879;3870;3999;86557421;9053849 + 9989;71880;3870;3999;86557421;9053849 + 9990;71892;3870;3999;86557421;9053849 + 9991;71897;3870;4000;86557421;9125746 + 9992;71904;3870;4000;86557421;9125746 + 9993;71909;3870;4001;86557421;9197655 + 9994;71916;3870;4001;86557421;9197655 + 9995;71928;3870;4001;86557421;9197655 + 9996;71940;3870;4001;86557421;9197655 + 9997;71952;3870;4001;86557421;9197655 + 9998;71964;3870;4001;86557421;9197655 + 9999;71976;3880;4001;90104913;8500982 + 10000;71988;3880;4001;90104913;8500982 + 10001;72000;3880;4001;90104913;8500982 + 10002;72012;3880;4001;90104913;8500982 + 10003;72024;3880;4001;90104913;8500982 + 10004;72036;3880;4001;90104913;8500982 + 10005;72048;3880;4001;90104913;8500982 + 10006;72060;3880;4001;90104913;8500982 + 10007;72072;3880;4001;90104913;8500982 + 10008;72084;3880;4001;90104913;8500982 + 10009;72096;3880;4001;90104913;8500982 + 10010;72108;3880;4001;90104913;8500982 + 10011;72120;3880;4001;90104913;8500982 + 10012;72132;3880;4001;90104913;8500982 + 10013;72144;3880;4001;90104913;8500982 + 10014;72156;3880;4001;90104913;8500982 + 10015;72168;3880;4001;90104913;8500982 + 10016;72180;3880;4001;90104913;8500982 + 10017;72192;3880;4001;90104913;8500982 + 10018;72204;3880;4001;90104913;8500982 + 10019;72216;3880;4001;90104913;8500982 + 10020;72228;3880;4001;90104913;8500982 + 10021;72240;3890;4001;95964150;7802513 + 10022;72252;3900;4001;91071176;7102216 + 10023;72264;3900;4001;91071176;7102216 + 10024;72276;3900;4001;91071176;7102216 + 10025;72288;3900;4001;91071176;7102216 + 10026;72300;3900;4001;91071176;7102216 + 10027;72312;3900;4001;91071176;7102216 + 10028;72324;3900;4001;91071176;7102216 + 10029;72336;3900;4001;91071176;7102216 + 10030;72348;3900;4001;91071176;7102216 + 10031;72360;3900;4001;91071176;7102216 + 10032;72372;3900;4001;91071176;7102216 + 10033;72384;3900;4001;91071176;7102216 + 10034;72396;3900;4001;91071176;7102216 + 10035;72408;3900;4001;91071176;7102216 + 10036;72420;3900;4001;91071176;7102216 + 10037;72432;3900;4001;91071176;7102216 + 10038;72444;3900;4001;91071176;7102216 + 10039;72456;3900;4001;91071176;7102216 + 10040;72468;3900;4001;91071176;7102216 + 10041;72480;3900;4001;91071176;7102216 + 10042;72492;3900;4001;91071176;7102216 + 10043;72504;3900;4001;91071176;7102216 + 10044;72516;3900;4001;91071176;7102216 + 10045;72528;3900;4001;91071176;7102216 + 10046;72540;3900;4001;91071176;7102216 + 10047;72552;3900;4001;91071176;7102216 + 10048;72564;3900;4001;91071176;7102216 + 10049;72576;3900;4001;91071176;7102216 + 10050;72588;3900;4001;91071176;7102216 + 10051;72600;3900;4001;91071176;7102216 + 10052;72612;3900;4001;91071176;7102216 + 10053;72624;3900;4001;91071176;7102216 + 10054;72636;3900;4001;91071176;7102216 + 10055;72648;3900;4001;91071176;7102216 + 10056;72660;3910;4001;90225133;6400206 + 10057;72672;3910;4001;90225133;6400206 + 10058;72684;3910;4001;90225133;6400206 + 10059;72696;3910;4001;90225133;6400206 + 10060;72708;3910;4001;90225133;6400206 + 10061;72720;3910;4001;90225133;6400206 + 10062;72732;3910;4001;90225133;6400206 + 10063;72744;3910;4001;90225133;6400206 + 10064;72756;3910;4001;90225133;6400206 + 10065;72768;3910;4001;90225133;6400206 + 10066;72780;3910;4001;90225133;6400206 + 10067;72792;3920;4001;89894913;5696318 + 10068;72804;3920;4001;89894913;5696318 + 10069;72816;3920;4001;89894913;5696318 + 10070;72828;3920;4001;89894913;5696318 + 10071;72840;3920;4001;89894913;5696318 + 10072;72852;3920;4001;89894913;5696318 + 10073;72864;3920;4001;89894913;5696318 + 10074;72876;3920;4001;89894913;5696318 + 10075;72888;3920;4001;89894913;5696318 + 10076;72900;3920;4001;89894913;5696318 + 10077;72912;3930;4001;89223223;4990540 + 10078;72924;3930;4001;89223223;4990540 + 10079;72936;3930;4001;89223223;4990540 + 10080;72948;3930;4001;89223223;4990540 + 10081;72960;3930;4001;89223223;4990540 + 10082;72972;3930;4001;89223223;4990540 + 10083;72984;3930;4001;89223223;4990540 + 10084;72996;3930;4001;89223223;4990540 + 10085;73008;3930;4001;89223223;4990540 + 10086;73020;3930;4001;89223223;4990540 + 10087;73032;3930;4001;89223223;4990540 + 10088;73044;3930;4001;89223223;4990540 + 10089;73056;3930;4001;89223223;4990540 + 10090;73068;3930;4001;89223223;4990540 + 10091;73080;3930;4001;89223223;4990540 + 10092;73092;3930;4001;89223223;4990540 + 10093;73104;3930;4001;89223223;4990540 + 10094;73116;3930;4001;89223223;4990540 + 10095;73128;3930;4001;89223223;4990540 + 10096;73140;3930;4001;89223223;4990540 + 10097;73152;3930;4001;89223223;4990540 + 10098;73164;3930;4001;89223223;4990540 + 10099;73176;3930;4001;89223223;4990540 + 10100;73188;3930;4001;89223223;4990540 + 10101;73200;3930;4001;89223223;4990540 + 10102;73212;3930;4001;89223223;4990540 + 10103;73224;3930;4001;89223223;4990540 + 10104;73236;3930;4001;89223223;4990540 + 10105;73248;3930;4001;89223223;4990540 + 10106;73260;3930;4001;89223223;4990540 + 10107;73272;3930;4001;89223223;4990540 + 10108;73284;3930;4001;89223223;4990540 + 10109;73296;3930;4001;89223223;4990540 + 10110;73308;3930;4001;89223223;4990540 + 10111;73320;3930;4001;89223223;4990540 + 10112;73332;3930;4001;89223223;4990540 + 10113;73344;3930;4001;89223223;4990540 + 10114;73356;3940;4001;101271803;4282891 + 10115;73368;3940;4001;101271803;4282891 + 10116;73380;3940;4001;101271803;4282891 + 10117;73392;3950;4001;98098756;3573455 + 10118;73404;3950;4001;98098756;3573455 + 10119;73416;3950;4001;98098756;3573455 + 10120;73428;3950;4001;98098756;3573455 + 10121;73440;3950;4001;98098756;3573455 + 10122;73452;3950;4001;98098756;3573455 + 10123;73464;3950;4001;98098756;3573455 + 10124;73476;3950;4001;98098756;3573455 + 10125;73488;3950;4001;98098756;3573455 + 10126;73500;3950;4001;98098756;3573455 + 10127;73512;3950;4001;98098756;3573455 + 10128;73524;3950;4001;98098756;3573455 + 10129;73536;3960;4001;102819466;2862338 + 10130;73548;3960;4001;102819466;2862338 + 10131;73560;3960;4001;102819466;2862338 + 10132;73572;3960;4001;102819466;2862338 + 10133;73584;3960;4001;102819466;2862338 + 10134;73596;3960;4001;102819466;2862338 + 10135;73608;3960;4001;102819466;2862338 + 10136;73620;3960;4001;102819466;2862338 + 10137;73632;3960;4001;102819466;2862338 + 10138;73644;3960;4001;102819466;2862338 + 10139;73656;3960;4001;102819466;2862338 + 10140;73668;3960;4001;102819466;2862338 + 10141;73680;3960;4001;102819466;2862338 + 10142;73692;3960;4001;102819466;2862338 + 10143;73704;3960;4001;102819466;2862338 + 10144;73716;3960;4001;102819466;2862338 + 10145;73728;3960;4001;102819466;2862338 + 10146;73740;3960;4001;102819466;2862338 + 10147;73752;3960;4001;102819466;2862338 + 10148;73764;3960;4001;102819466;2862338 + 10149;73776;3960;4001;102819466;2862338 + 10150;73788;3960;4001;102819466;2862338 + 10151;73800;3960;4001;102819466;2862338 + 10152;73812;3960;4001;102819466;2862338 + 10153;73824;3960;4001;102819466;2862338 + 10154;73836;3960;4001;102819466;2862338 + 10155;73848;3960;4001;102819466;2862338 + 10156;73860;3960;4001;102819466;2862338 + 10157;73872;3960;4001;102819466;2862338 + 10158;73884;3960;4001;102819466;2862338 + 10159;73896;3960;4001;102819466;2862338 + 10160;73908;3960;4001;102819466;2862338 + 10161;73920;3960;4001;102819466;2862338 + 10162;73932;3960;4001;102819466;2862338 + 10163;73944;3960;4001;102819466;2862338 + 10164;73956;3960;4001;102819466;2862338 + 10165;73968;3960;4001;102819466;2862338 + 10166;73980;3960;4001;102819466;2862338 + 10167;73992;3960;4001;102819466;2862338 + 10168;74004;3960;4001;102819466;2862338 + 10169;74016;3960;4001;102819466;2862338 + 10170;74028;3960;4001;102819466;2862338 + 10171;74040;3960;4001;102819466;2862338 + 10172;74052;3960;4001;102819466;2862338 + 10173;74064;3960;4001;102819466;2862338 + 10174;74076;3960;4001;102819466;2862338 + -----------------------------! + +Test result: ok. 1 passed; 0 failed; finished in 8.16s +| contracts/L1/TaikoToken.sol:TaikoToken contract | | | | | | +|-------------------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1203248 | 6042 | | | | | +| Function Name | min | avg | median | max | # calls | +| burn | 10388 | 10388 | 10388 | 10388 | 1 | +| init | 161878 | 161878 | 161878 | 161878 | 1 | +| mint | 48066 | 48066 | 48066 | 48066 | 1 | +| transfer | 30008 | 30008 | 30008 | 30008 | 1 | + + +| contracts/common/AddressManager.sol:AddressManager contract | | | | | | +|-------------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 268706 | 1374 | | | | | +| Function Name | min | avg | median | max | # calls | +| getAddress | 538 | 539 | 538 | 2538 | 8006 | +| init | 48211 | 48211 | 48211 | 48211 | 1 | +| setAddress | 3073 | 20991 | 24973 | 24973 | 11 | + + +| contracts/signal/SignalService.sol:SignalService contract | | | | | | +|-----------------------------------------------------------|-----------------|-------|--------|-------|---------| +| Deployment Cost | Deployment Size | | | | | +| 1561631 | 7832 | | | | | +| Function Name | min | avg | median | max | # calls | +| init | 92994 | 92994 | 92994 | 92994 | 1 | + + +| test/LibLn.sol:LibLn contract | | | | | | +|-------------------------------|-----------------|------|--------|------|---------| +| Deployment Cost | Deployment Size | | | | | +| 227894 | 1196 | | | | | +| Function Name | min | avg | median | max | # calls | +| calcInitProofTimeIssued | 1626 | 1626 | 1626 | 1626 | 1 | + + +| test/TaikoL1.sim.sol:TaikoL1_b contract | | | | | | +|-----------------------------------------|-----------------|--------|--------|--------|---------| +| Deployment Cost | Deployment Size | | | | | +| 3481693 | 17421 | | | | | +| Function Name | min | avg | median | max | # calls | +| depositTaikoToken | 40114 | 40114 | 40114 | 40114 | 1 | +| getBlockFee | 464 | 464 | 464 | 464 | 1 | +| getConfig | 2546 | 2546 | 2546 | 2546 | 1 | +| getStateVariables | 2251 | 2251 | 2251 | 10251 | 14175 | +| getVerifierName | 494 | 494 | 494 | 494 | 2 | +| init | 230235 | 230235 | 230235 | 230235 | 1 | +| proposeBlock | 25391 | 50606 | 25391 | 207866 | 4000 | +| proveBlock | 17096 | 49111 | 19043 | 199112 | 4000 | +| resolve(bytes32,bool)(address) | 2007 | 2009 | 2007 | 8507 | 4002 | +| resolve(uint256,bytes32,bool)(address) | 1964 | 1965 | 1964 | 3964 | 4002 | + + + diff --git a/packages/protocol/simulation/plots/1682692028_blockfee_with_time.png b/packages/protocol/simulation/plots/1682692028_blockfee_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..c447278abb0742cdd886841a8abd74aac125285b GIT binary patch literal 46120 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 CT6FgS literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682692028_proof_time_per_block.png b/packages/protocol/simulation/plots/1682692028_proof_time_per_block.png new file mode 100644 index 0000000000000000000000000000000000000000..ba615b547ce5591aed0d1343058bebaa917913df GIT binary patch literal 64544 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 q*)x(~1*6jpkIT5uy^Iju(XR*}laY_mL4 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 F{|{!LS2F+r literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682692255_blockfee_with_time.png b/packages/protocol/simulation/plots/1682692255_blockfee_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..43e70ddd1f63ccf93432a786ce9d0f63af90f10b GIT binary patch literal 59117 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 literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682692255_proof_time_per_block.png b/packages/protocol/simulation/plots/1682692255_proof_time_per_block.png new file mode 100644 index 0000000000000000000000000000000000000000..556746b15a6c072def359f0381d81d208f973c56 GIT binary patch literal 64434 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 ZrfIDm`D`W2yq$p`=4K=9>st25{|2`@G?xGX literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682692255_prop_and_verified_blocks_with_time.png b/packages/protocol/simulation/plots/1682692255_prop_and_verified_blocks_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..39ee753a7285b96e220be1b335e25157839f94bc GIT binary patch literal 61187 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 literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682760421_prop_and_verified_blocks_with_time.png b/packages/protocol/simulation/plots/1682760421_prop_and_verified_blocks_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..a9afa650db719ad2f375a7972ad843f72b59300a GIT binary patch literal 61149 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�)H;XTM-j;F+%jd~{lqd7qhszyNffjk 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 literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682760720_blockfee_with_time.png b/packages/protocol/simulation/plots/1682760720_blockfee_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..33a1aa04c8f187b986b57d12ee4feb7b44caaadf GIT binary patch literal 60250 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 literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682760720_proof_time_per_block.png b/packages/protocol/simulation/plots/1682760720_proof_time_per_block.png new file mode 100644 index 0000000000000000000000000000000000000000..adf5d8a081931cd9662929c800b8c1f648ae3d60 GIT binary patch literal 51433 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 I`{dPs0ObMK$p8QV literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682760720_prop_and_verified_blocks_with_time.png b/packages/protocol/simulation/plots/1682760720_prop_and_verified_blocks_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..b4980d31b08595a3699831734161bc34c65ef6b7 GIT binary patch literal 61331 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 G{eJ*JW}^cD literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682761401_blockfee_with_time.png b/packages/protocol/simulation/plots/1682761401_blockfee_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..c07aa40f4ec3dfe77230bba0400aa8c06698ba00 GIT binary patch literal 33443 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 z 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 literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682761401_prop_and_verified_blocks_with_time.png b/packages/protocol/simulation/plots/1682761401_prop_and_verified_blocks_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..8814cdc5c6dcaf9f46b09a87cf8b02f44b0ab569 GIT binary patch literal 60943 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%0DXfbnQfoUUJxVHAcrt&(?FIha=`VMGv08!pc|f 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 Ht6u*N5u&ut literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682761622_blockfee_with_time.png b/packages/protocol/simulation/plots/1682761622_blockfee_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..3c344a3bebaef88c44a07b8750f75112790cd074 GIT binary patch literal 50183 zcmb@ubyQYc^fvk;64EG0H-faNNQ1P2Ad-?2N_RI(x4;2Z8Wd?n>Fy9Eq`OO6y6@bc z^L@W@zdP>z>pF(xaPWQiUVE)MpZPq`Tx$nERglBSp~OLYgPh#9BPV7@+Iu`5%gZ}-~p1#I8fnxmkkHLM` ze}DLjgSRaG?;kZEw50z&igPRV8u8yh&(Sa){`(F`y^q4bpESZC?+O0*qj@NFp?^Oa zMf&1@U-S||oE3`g)2B}i92}j$e$pdX_{z@B&Aqj?^~K>%kbDH%#G{X&KIt!1#=1oB zH~)IV@b5=RMcED3f{O4~RDScOY6a)zaf&>2zci#-V8gNWYGqNQWJxjEaM1kQt(WU0 zhnG(@Dg{+!rN<-ce<{YzuCD7fjSP(Z`k8int#0mOre`y7i+SS;WwEJG)E&9sd)1^V zh4&XmV|!25Ct0i*C^~!brSV zwX*P9i`()FY6OdTDZattiqb9hA#qj_N-saYntnKZ&FJMz-c;pm)|k!(yT|-*d_I0; z=G3ksB27^B3yl90%KFEOc`+g}^ldA{q0s{Cb&Ir@7U%kRlAFaFPH-pHnj254m^D?Vc?@J9bdp=eD zk-~Hl#k)-XR=Q(rt7S5sVmbjKuSt1#=h8w<1)mGHcYKdJ_5RTLJ)2{Dd7tSc z^QZcbmMbL*L#?YRH3Z#{l2JZ&ix>Xa5)@55HcqDMB3Y6?Jji^R`Es_5$E)e*H-28n z2^E!G^`FH&sQXT@?y)$2@OyK5DSv0zBbQZ|;vl4BEd6I9|6=Nsi+jtbZpNV{X*aXG zpYeX`CaK;&qRN`e6w@Bpo}S%ce9y|xi8FNGCa-TF#ngddsW$qbo^e{3CcD+#H zXUldea(f|whgkcL2Ct~-4H^Ok0@iCPx5s^XW3_P4v+l~o#SqQs(xk5r%6GqacLvt@)^xYUMALV;1Z*Sx9 z<$(Z}Pu?zP@$$%}*L;_3UmZ{!s%^)LOrFQ?n~Z$>WHcJ!N=0;X>pG3@`irj2OQ;R) za^J9iJXlYBC4HrP*Lt3uRj@y5&c}u^%isP9k)gn?@XGqJn(TE+%D~i!@4PXJ}@sy*KE%UVqE|rYX=3Uo3c8MWoF^o)#~qRH63rTQz|k ztK5$)$UkAS2ZE(-P!&p!{_OYlv3* znZ;Fh47J8!E>@ctKhZqOE`&Qy#T8E}bj5TJr{XWrQHf*j1XyZx^?hxMN@Xu~?yirM zXpvdAM9O*hm)8dJ(;74^W02o-C6BNWc*AO|NJM=#OzE2}L#i7J^`bjOwEScfzSB?A zc8^v{)(rD{l7?Sm9`)Mu3aoen9Z7&L74xU~)*k1Wr@2R~H5RI_6|V1ktS;gF!QGlZ zMqksc#2uhgY5S){`OAK83Cc%FFZ>ef^wvI>O12h;tDtMS%QEBI`Z}-6uNQYMriir2 ztXg6X)u(^Ygb?@1rRwIog*Y~g1-0y_lrgQ@ktb>=_U|8?{aXKNg`z(-87R2)UY^Bu zyhTUzCr;JX0CU#DnWhwR6;A%W=j=}06Tu0_R*YPN_{p&%y?fyWvW24yOACfOgbBQ6 zgEte$-LCfP_eQsgukW*AMoA7L?yc|O((76ScVC%HQ9)Tw7pKgzf7^>ij+X3G{ z)jtyWc7pd^^=2Ril`%cQj&R&s{XmR*6a=Uc*YD|YHtYIt(X0k^tpc8=tY@D?3}_AtC)>I{2@?b2Y%EOlTD=f%xy@&5YaiutullTp z_?N)tmF_;$zVYuBXzU}ar?opl6=c3VLytKkF^({X1-zNuY6ft}u3JmRj;bduWLmcO~*PnakP1f=pOSy{%GLNNf*TQ$w$zAS@52@(?DJ|d$*lS8P%KhiI?w+%ia!m$|ky%Nx#H1+&%DSw_3^6mT?RNDERLQRX^437dL1vZ z3J3^IuO)vQuJPd4J=;=UJ9FeoZWfiuAPC>;8rnquNnrPcLB#u*I{&1&^-FgkTU_C) zXTPjPUDjMKjqO^YVaV?CUYTh&|$x+R}+afM3*XaaJ~I!9Omwu zHVmw;+LENlH1Gi7_eMAOT#Oy$D zqk{iwwFmXt>P-bJ(O^iN%PNHRJ&FP8ulhc;cl~H>Cb-6H+acZW`S6I6hpr-Q&wgkw zL1(JIcZ8U(^n&PGyu8Yq_C$>V|GDr!U9>^;^x9%rCJ%oLLRH+c+}Ct#sZPAcuuv`+ zH`0bi{8CuzVF;OfDFN0_-oB4sOD^!PJtBAFnF^OHqidMxqk-xyU0CMEHd^#z_mbb; zD-sG$1l%;$e%0e54z3xv$Kk48>g$@dxJWD(b%sig73bASBwz}S;hS9G_bl;07;>&I zxR*T&wVhVm+ovO!g(H)cgycmRm3>dOmi?~RXMPyv7tao-@hUsQ_onZ+_IFx+2r;wP ze+(=>9KY6rRQIQBU#?|vpNvU+Z=Jukwd<2q?i7oHE!BSx=`{SJ%OrRQYOsCeyZL*XTDQEg(H z>*0@H#}biT^_%xIGRl0(es8U@z>i^f>gkUWK`fNbt04*m1*OC(Lf~-(>NZ76Ps=f4 zS4|4zWc+0%xZ~$$(?VU`_s70C7q>xGoB>|YY+QGR>UHlyIOU$h=_i%Us2#ZGh%yX_2CKxLQP!$_pV8T81*Nu)k-^Cz~+=DtE$tr zUO8yo)!eiE^p5}7>+aR`t38_&Udw-E$*46vQ3+ndez;iNsZZ+eEuSe^TWD3|12idL z-i1t`UJ4e^0EE1?8HPM%($fi9O%GV&rri z7RR9B9mZDvS}39SF%i(EL-TVz4L(m&G2MOM)11SGhF&yV!Z{K&Q6@fg1n7cRm|hrL z2l{1Q_Ba@HUKS{4IxbiVUHf5S@vaOFnWeP`^@a7#aOXOAvRvc5*2E-x`j`$9Dw^Jd zjNXNC?vOo^VD~q7s=8lHW1;uLq$4*({%-x*mOQv{Y~z^IZGbh`-~3*4INe5wy2)P~ z=yCTllW|z{Tzi{_s3#wgy;N1}nLB5Ff#MP@F{UDmcOeRp&=n@zeDPzPmvU+om@7iR zq0q{_z&CAKEr#sjwE+H6Y#k2?o@SUkJQ|* zU(L97Lzo+thHJRlTQj5HLb$@VGJJR@i(J!i2}cwoy(t~hTpV%*FLwDe^fzA+Ix9No zy|2I|E@Rvp%qyFQDaa2kooy(=S{AD2Kp`0=9(IN{c|PfKadLp*q?9?K{*iGfultEb zzljRElo;)sxr7Lgdp#wp+!>M?L==?4?2ft9a|?8Hrl-oM$1R12Cy{l$K&T~!H|3as z5F<5H**gVK)miP5o1!(>2e`%+}ra4=J2DM_#+-|DN%e#G_Cy!7=VaCj?$=`9urmlUP;3)#Qw}L#VRtK7kM z+W)0XMXO7jrTzJKdSf~YWmiGX!BTktl^ct!Cm#-wTZB=?c~;_0tsP?)&=zEoYY^Mc z*oOEdr^H9*5?h=OR~^X;{@k#lhW zMm5VcJ2SnUI{a{YW`V(P%+4yr#%t%tle|L@3`~z(sEk(;l0SUOPxo7_v!=Ds@{fz( zXmiW$)|fE2upqbMb=@->7qP#VP&?&!?`$;H;J(bq&mZS@Bl=tps+>tTUzhHY4OrdZ zvGx(GlaTRjGdEY(hY5y<2s0Y>KO=h^ml#mcR0UBx_xXx=+QwtY?cQIJ)5~i?fY2_- zE;(F}699Vq%~c6KWe;A*gkD34kZPZLnp5bg4bNso>Rb9||F(z8-#|X}yJyo%e(+08 zO+`Hxe;!huC=#Z3mzH~jTjO9)NW^QGoX5#aX`6cc+xw)beC%Ze1kMLeiVo)uN*XVr zM9R-mgazXDVc~a}`zAW8nD$I_T8CnQs>Wz37}TGjGY2YUiG7BP!n9)4yC3EwE+5~%KZ zI$S?eWQ0|Tw|a?(jt7CR)%1Mw-5L7gl_5-2kF$jy^_YwN(zZHOi5WEo?1%r*HL8!tTP-{xWH5-!wzmMN!mK4%84t?`kYdXI;_T@SDRV?z|<6_3`#tQe!n*@jv7(h!g=$*IQBIv%xc(P;XlJVVfHJY=)r4TPeW+C%=*(*f$ zq9jReCx%vU&Cf9armOAC1gZ;9x2{k@ti`-%%C-oyv$sREm~^j5y)k%G~F7 z#SYOQ&p;CM>Th3`5y&PnIyKCGmhx#9v89eabfcj_v=blPA^^b@g1?(e`78Xj){@ms zZ<1VyRbSwRNEk@hu=o73N@v!6b@-*+qh>v}9>_!hco{B*tDYw5(H`GcunfadMJ&)9awXVABmO5G0xygzr#w6?APCE+P*t(<1^*@lbt7t}i~}5)lE< zvcN~CBME~anYi!a%Pw0JthpS{rKx#l$A!z20u}p zpDrp^*G+r2T$p6+hi^@7U!bttq6<>0XklP7N!J}w*s&4UMK$SnpJg$oE-fq~^f}r| zN6e0*uKSoqa71t`Z#kII`~2yu?VPaJBpRzR>n=^7x{zlF0kFpVaD}(;6q!|{ z+N+{~KFTf)33Hswwb0&by-q=Sr9wO6d&wtZJYoEmkLByYtRd;9=Lcg#OhIUDWph$D z-SlDsiZTO;^X`1eL56Jbd~>gj-`XqV(49utn;fhT@{(7=N_UbN(ks z6C+^Bt!b7%E*kf(qibHu6<0siaf|pJ4Cp`Csl==Np*%iu=fg6<+Ui-Dp>uVAB%47$a@PNCi@}bx(Hr!X+5kSgs(J1`IK_SRDR`YSFSDOWf;ksszY3 zf}3dcbU~+4~YeK#VkETw?%ZCCOGAVZZJ>J=rvRAw+URID0*DC#a z)R$|G15KonOmrC&K2B!dC#fGK2?OCvc_(f(#}VtH1=iTYU)V8JC1Vtx*qrS;7XR+U zQ8Y-Q=Mcq}5~ECC)*r~!qp~>mx&}#;4tT09=!5~QmNg}Nr1Q!04CPR&HD+BusdsSw zh)SjZFIUIOBM#dA#{uyXYCo~xd0-`!vXQOxv3mR`Y9owkb{QX0IL=Hk6R6t*xP?S!kJpzzX70`(Q%uYm@i zla?W1zI-c-q5c&Ov3i`pYJQr6?pLtrrFz!y*7)(pXVbIlz;mjQAI0)Ags6d~@>sHS zo+O>5UPl*odGD7(K-P+>h6%XbitEz}ucx&I(GGtzAf(lH_tE4TY-}%-{k_)kKqc;0 zs#aR_vUK987Y_IUD)P8_#9704HgzX;ipY-r19+yvBXT)i<`p|#kwP_+<@?5fm;G>M9)X_?VeW16=EebWRmIul7gN?JTi*}WnW->v=<1Uxg5z=pxg<>QGO>2FqPPldZv{YkpgSFSUbhqwadlRy^4zYcDI+=hVbkwVK zr--%v>FC@B&P}4v$A0(GdX3q58gJ=EHBID(h~&3|pFPF)%He@uNz}b`#SAvuQs;6% zVEuGET`rpCOPX}0e8~Io@MEaMRuyQN;W6Blsrt9~$4@qCQ8V944u)#T@9Mvu73OE> zeDo*b4EjR^`NDqg@tX{Syoly(|Jk8>st4l-j+i*Q#B{7%Y#`{&Ga;jC_hEkL3Ur9j5JQ+pOJTH3#^uyi%(~}4anL9pz4rv#RbZa= z*sCapcL(EyzA?U`SVBV=<;-+rO5B%~Ko(dOkV|Y-=|D2l18;QUdiz#ly4& z2+Us$C% zeLV`%rl3ftri8~qV**)LtAZ$;?p$K`OBE*co0I* z90r7shm<-DfhvUf&}uLdL8>CkdQW*MD*B)F<*S?+C8wp2*y7$P?-VFELoxg>Z(hq;VL^Gv$Cx44^RA) zIKgAKIdDK6@Tczzl=5Ko1DMm#^6v**a#IteOJyk4q#YLrtW&Ya^`<^SuihUqH(TXo zmoAUB_XV5(P<2}>l34W1Zp^0#o^k9eUb=7fe84)(P^yxRE?9+#9jwkJ!RyyhDS z=w0fOYhX9cfaRw5`8?;aS~T1{By5QyYeL@5n7O&I^WPcqNLQ&#|-_#jpU8!DcmASwg8gt z8kIA=HnAWXFWp)rO_i)KVz#%6(GD z)Xd!lEax>oq;4sO#wAcIMBV6FUr?fuveH{FWvDG`ODcDdx&d+4Lml0~C@HRHtgN>#3wctpWi}zp?D6VvIFY#;|-o&iaxBf z)_o+hw1JJYmL;pKkq`oHg4tn~W}&|$dabN`O3kCRWoQigh|vqJ{%s9)m32m+7h*Hi zd*&Bd+)5t*vn?W(-`2n9T>xHp_TKU{PlcJ+tjf{Pz!%Wwy`T7i`lHQep*vzUA_nfp zLKWie2?zfCXhpKzZ!W+FUKQVwEN1MtG(n$cxoSvWcYm1~MtFU-tK--*ZYHWH#w&W^(Y4%n? zZD#Lxph+b9BcObsuK`}YVb7#>FYEw#TH*9ENvFjsvEp^Nx_7~#BOOsCTL9R}4`PV= zt(ECQ#fUIR?ik%7)49hr><1DmE1c!xWNnJH<`(K^(uRviVaT4_oCgxhdrfDxoSNsaLF03ThDsno!{)EJavcb-*kb zu5%Lyo5I#=O3Ak2yW*TO8u#*A`1uQ^ALfEbG|C<^Wk#;&3cSn+j>aD6g|(+rHQvEIvLy1TpQZ=OMxgR;xs7vz*by-+&i4y~pN{=%W} zvaYP(7Mi)qyzMQ_s&(YrCEtlq7m~Jo^J7|3plu=?uI!jAKrv*W;_uC+AP}R3%LH=2 zy|Y7kg9JD9O=wl<{8JJF2w4 z6@Kq*?17We4OSLJCF}R+DPfy(PUx?x4-ksV?%xN&X=ujbQbJ*@yUm%9@-K;Uo53c zj*w;!tl_)E9cjNQJUNUhoRHa&-w_WOFNG<8Wy)ypCc_L`Ij`Hu(yqGwM)C~_S<&iC zK=9Y(DoohC2Zmpa7if3A3+q0<(FQ3hQoT)t@SA7yS0V5NKzBBP-2Ev0f!%iQpgn*I zSz#3u60hSeRzS(1eP2J((hv7U(Da-8;j@T)0t?neH+A|NF?dko$DCT%Twha1(uvC2 z8GJP;p31tlBKyWnMnk1MSIx?an^xQ{Z&)C|FP#AKX24Wt;1(f(xGHy>Wrt=`zDrkW z%h(sY-;WliSa|4^(j>>4to@pDqsh`GGv1OX-F)s0`(lvo8tZzdg|_{DNLLHIAyAvr z&Fk1mBMq89e3}B{br&MEa$>TDW$q8f#37rpbBO(xpDsMufQ>L)1Y50fGFl{U0c^DP z&Js31U#y*2(izY-BU=&Tyi2Kp_eY0cR4^?)iXi6ZWLLqybfUH{^S z?e%8WJnik><#%v!lFolsg6sx>&bbUsmYPScBzcM2%a1ell&?b?N;P*)7>-^SPNoWJ zkL!Gao+Ff92H1YX-#yu!Nq0|z4BVCSKwEJ0B-CW%(!*z0ySh8&)|xaPzEFhb(&uf( z8!1(gQ%1%{9J*S*_wcv2j-`+hBM%70Q(MU4irgSa)vJPIJJNd><ktwmU{<$`=X=3pXJ_r zV$kqx$hR-E@w#yBsF!Mu2K93&w;g@(9c%`teW!A}H5_Qj*+3Hwv1#9u-HcQwbFU@Y zFue-RYGbDqiQ$D?z^dmWt>vLT=~aGmrv>oL+G4%#=_g8 zBDc3%rA|e*jlqFeJDuV)=|c@E=rlpKWCBA5>Q{~cP1Ipo1ZYBA1;mov+mo+;zPE(g&856-*Z_D z3}#Mnl^V+4Xx^}a77HLu8_er~ZVc3g`5lhZD)8Pywmg>)qy)+i5@&@y+jxY*1}$); zubg#pI3R|e0kTH|^l?xvSvVw-e%F?ujiYl**7FRKoqHx@D0lCPP^!;QNA| zk?||0eSJ>wV!^`o0pa>~q=Q6wX%+gJ#m1%r#T!J?1~E2!&8nwDd+NJhRb}ZMC7Iol zGaLJ)=fBKnTNywSomvdBrH z&TmN){M;`lnqY4R$yDU?mFMpSU04c|sxuu&Xp?DOZ1&I$=x_>Ow){gHR6&=qUx{vh zd3Ni#DaezE<0v29Z?h75+l;eLmjSU~Ec_GuKtVq4lx6euCF|&}InxoB2E} z;R1$&BS&nKLzN+S>YDIM#^Dv#cR<`!3t8V3@ zK)1;_3P6AqwQYZz{Pjp0=uHp!N=OrSe;?WYbpy6N(y!P(ek03C21CeGI!7KHuFA5f?i;XOs-+c!%Adzd@M)QQXI%cni-Qxxwr*hr zNgPh}`0&!R(ZZ-8@;xExXZ)T}KgtkwJDd-c=kE=>e@{md4<{VO$@3)K}v{W&F-B+o7AIcIE+>@S&lE2NlCB!tJP>VbTtsz%XRttW}xf- zK8v1rDF@mZ-sTYTK@f+kcFbpU@|++-A;M%ln->;}E!z)@4K|rGnKb00?D6#q_e#UY z*(*?Oojk-B-BFT!xnQLAv;uo94D-gQir;L7&39YJ^FzIrislb79w~+AajkdEOwZG= zFp|?;#|JxDW@rjJa)v-VkgXfYmM?JIuyZK{~3ut5w0dm=18yYTgBW1ZxpSToeC04Yc=gkx^i}xxibH-euy)r6nlvyt@8`F#vMa^*wn`B)$3BC z?2Fd8Q~~?ig51diM+&_%c(4|8A$1x;)ld3bvy3 zT3d*>TueN!(UUZgXGAPi@Hq%Z9C`{-_IrBED7sC#MnG-SCXhtfkwA1ooc`N77S+O&bmwThNU#??c zL@nzY-c{%OcYpU_uVWTBeRywS@nK&3U==Lh|T^K3pimS|~z-jvyM(2OCxB zxlcLxL)&+=&4V!I1>G*}p+W>?HJy5dj)b;L;wXifIEmATkTsiI~n&wx;du^Ts=QXJ%ZJ2^Yx*tZ8L+ z{FOB$_@S*_Z{SDxC9Rx2>obO!P%NfsnHx85=+FH2&l=84@2&foEbbZc-q#rEi1*)H zlQH0vbG)o-$h+{h!vonI*yAm=ee}C~&#Oyas!kHa*$@nrSYFJ*}_ke3U~y z6-v)t{PYZO!w~O6g|t~1ChfO;P6j*b4iDPv1i&&D(>#uv>?9)Ox@GiKkWq@}eCL)K ze<8j)p}L>Wm8SiaQe-Pj7-bjQ0t2pyLiB?y-MXWe1gKm09^U6~wSH>)461J3#i5q% zV0?nHwZXyH335T@Wd&M$aZKpOf9nshPyZT#Rzng3$!i%}#sGT*kQ{&69Vb-95Zcz4 z9r4VPGgJHCdxck;EM03NzU$(afzXf68O#lVJyNS8CEEJ4X&C-kDvY$+qmO0hu$L36L#3B|^>~jO4)P5Tk&XUqgjsuRyW9 zLPkcWvYQpes;~GqSpG48AaYcp-3)$(O-44CxEIj=q3Dg3%&%X+-p0nhTzU2PBF{E{{MLT;{W}k&wJ>+PhSf;{;u!s zCDzr|g@X)F;3S8SJWJDPi8okdDEV;s%=+sK>&`=BIn*^PAF7!)1>kEGn?!v|kdT%(vO~^)5EDlg{YVz28pu@- zge014i!6dm?ruy_x$mz@Ox1dFO^EQZDkR>QkU+c6qZ{`2Ezx6sXrK&#LF2ccZ2tH# zhPf|SEkESP4|xG0Afn*?~!4 zCO*4b9ya{$uK6IIR+*Km`}s^$U~hqru#2l}LsJuaiTO|~nVtv3dsbm#syoJA(hnYB zCnhB+RoK0hPZpsV85t28Q_I)n`;jPk4K+PChyGqZps@D%(e~kMbgZ6QPxtbwstoN4 zyXC&mgjN%kpGp&}oHq@&rW>~Q_X9#haX;`|M@&>XukM|H{QP+?Mo~;+;d|`N+FBT_ z%iPIk9ZaG6kG@n1^ySbQHq^K~ zIlE@R*7IbxCr!#^vRY7EN2kc31t;8ctv~zP{`y#;TqG?UfnJtcJ|*gBTWTb%C@n2* zP*|8WEX>Tz%ID%F0e%f{JRZXidsNWTfQ#F2%S)$rHHham?yn3*q6 zc^=T<;Na}K=|Loggp$H}A$GoJ&z`;g=by^}0DgX#PfvHcA3T2Clwe)U_TGAXwq<#$ zPCS5+E+R3J+G4z%SSkRoVY0@(_p>5wxy#oo>nXF=yKB~u{mr;L;M=!58*nlOX8dNH zG8n1nXD4&JD}Cg`PMp67^Fv{DFJ>D3v2k&mx{`!TN*#OCWi-mHXq?uDU%%{(Lsl-F zlJ62d9yPz+{Da-)UUX!*w{PG6Vli^N*nEfpRzHO?b+XbC*K({>2BtJq{{1CqXJ?Da zY6^5Lg62}ov90eMg(f<6u;J(8{LJ?B(6)M~OW5Ss$14OhLVn$1CwRQPyc*>;45;an zA>Af*Jx~9`Lzlyo6OLr><6YC{*4Ej*Aw6|@_k#&%Bm=7V2DJ{inh1$$X(Mhtj+?H# zIB$A?$Cz2CS4v8X*JAiq^~pvR`JGpIWk+>lME!Fx#fNCk*8Nj3)vM|RVAGHBq0Fe*03j4LZjA0P&SPG^6{seN zGcifoiLkMM~x>pE3=z@zu$0|TnajUb>@#pgq%L(@^pZ$nQNr{A1ONU7dIk4-D zQ+2k8Xr#vL5UCPfkz{x!dv6C zKDzbiPa`}xX0fV@@Z@%ogx1ps4gGR`q9!8$J?DbIENP$bM^dG#d{E!xR zEk{Wp%;gY(nxDT6T{dSPSRvnB^}-=G~qLj*+@)GgfI=4)E z=<#Sp$eo-T&)3}#Hf8`Owzju>hiPqz1f<5RoC#4R40T`rEOery0B8sSv0!=)k9Suz zhv-O1K5iGm3^3ffMFemhBVVXhRxoSZYhG9rz*Bp8333S=2d6Rk8tdD)Z+(Vz-Jks0 zfJHt$J~p!qWiNVM!B$>go^|#_L{yZRnws;7Dzr~EGOEsbleR#w&Z@tT4Qga9c~9q; z-Cc*fR^#N>b!Yc5@hOeAb|6xDU(};KPPf}M>byh&PPcmH==344quEJ_qdoySnpud~ zYn^QgwS{Fz;Q!)uhw%7dGZIkg#mcWw*x1-U85vB2dC!?BZv7Y-AVsEsd#dP9`uu5yNVpSO&%NhBZA*z;(Rkml{Yx&sFEik2E$mHXJQBMGE@c z#KbU|jcF)oQZRTF3a~}i%S#LvJtK?7^LXVm`K=cyJ9~RqT}{TXIIga)D4*iuyQq4= zY$*9}qyh;VMn<0VPJQ4r?@u;|LuA}Km8p;8xevG7=(g9(rVQXl0$!&Al}_s+lze8> zP->TdeG1ilSz2z^pM{3n+S`*ED$ptEI%ve@L7}K=XdJsfKY=P}JKs+HF*EZ~&a(67 zq^byaj&6;RW~oK+lZ1Qvr-$2+^um|~)Hhu(;4-h7dFf!&L~&gGyb# zF7B}W6tH1>NY7g}f&b2(Ybz@&m}M0Z+c))UMQYFXwdNNWb3~Khy~Dnby_F>7*cd{} zK}1IO*-^~W?O-GP^wfj%`B&-No=|LI3$K~5jh_2DU!u4-Eu^39vuDvC-G%9^$w1g0 z9enG~AYOO~q&OmCVs$XT$os+zw=6m6dkz%p zo9y*hu3Q12MBkXG3S?8xycsdE0bC0S=-suEYu44Us`fdLJoL&nDD7DNIT>Tv4fJn&}%|6I+%WD{ggZ>gmg0%~xB;cC}! zvm#Rg$mGRwX$4%IZF;+Gw~%ea!#B0HVMRqn4VPKdjh0&GVh_}v{=tO{1_t0$8T@$1 z>oVg{wsp8|m?-Q_(A(Qv?zH}4aBp{Yh!A1fNC6KD!bZRVSz7>De^@~__M`MPsleGj zMe!EMLL6&r>k=G$0MPA?s!fB9@rrV{J@!iHO#(SNIRw(6q%;6B+*p$5m;UzZ=NHpH z76eI5debog*?S80>I}GYZ>D(eQ#fr-h67DB=+9CzfoS{H*JnG|if=JdNeZBioJoB+ z_(WQ|xi2pYwkUO?wL7m3r>4Y4zkbj+Ei#iIA6`59`Vtz2F$feCKL3_E4%w;; zW$*~ro#eB~H5ySj6)`|T*B38R$2&S6(vp+kq`PPFZgi#0&dzQgm|Rk|*V(ZhV1}zd z4(U9whnVgUe2iUJXHRr>Lk{5gHm=EgMex2U4&DXrEq(2e6B` zk>tFR8=IRv&JGU$U}0c%ob0c2OjSCXM{R1EndO{jM2baYVPbx#p`lqo9*#%j%l%bn zm$6byU=mOr2P=Po1p1!9XU^j6=olN%p{_9bMPKS@z9VL#sHiB!HAgLmiw*SiYfnl{ zoR4K!jV?3olRZB>nCi5*v)i@e2h>b6va9&sepBUD2WYgL8-V7GKs{_%2f0cl9AS~C zH#Z}pkj()FDtB0ko-JBlHc=_irU0Ok0#)_n=qjR$gMut5tIA_!0k~uUSs_6XsS>_p zWMp&`Gw@olzV4Wy@4rX=AKW3hsvZE3Faxvzi8s_tv8j5Yt_)-@kSl+Lb~XnQBiPs2 z)MUFoEAt~sm<(nUou0bQb>-I$L<=5lOf zH3wgFIa-Jx$c&^GybAPF#>$Etsq&7igA6Pzm@pZVF#KEQgPeCQhKW#LZ0BTuq=?h$ z>+9Rt+e-l|Y)?2(r70u{EqV$5E8Ope|Bqb%5-R-nX2k!uw-r#g)P%8tpt7*w{2t2z z-D-H%z+Y1!%D;WV4uGEV)~%=OYw|`EP^#qNQ|#&m7XSGMQL#ZGA(A#WUqJc3xX)vc zT;Tp8E2my)i}BK{MkZ=&h`*@I2Mz;gAdy6FT4~%E!kCg|3bR={odCN(uR zq9sF1mKuDq5PUNm%)6qe2fy&m!~O5Y6|rtzU0quT2Z42U;vepszJby~&(4k$92`u! zB<}i$8S45K0GP{{FTeQy4_kX@r?QAH=+L8`B_^mN@ZGFupKxlA7OBEJVb0n>P=tfO zLVx@ARUisYKt;Y-O$dRJf|w>Kgwph8$RQ(gVzQ~|be88($W{_dB6gcG|swTIG)4y;9^+J!fc^ZA=7 zCb>%}gkQnjk(wD$B1L>{%>slIb#iht3PndpCm<}`1miwGKS%ih0?$E7eDL6b4_FGQ zX`mBrAO(sXSJlF3gs(%DYy@pbvg(0UXVB}0f95;zmOowo8zs+WCD2m!o8ASrljwRK zz2wv?#Y1hajojhXsU!g*-q;dKHn3P@zeJ!}X2m5Kh*XEDxVQj-+~&46CNPY2Djj+& zy7Zd@7z6~!p>8Xybd*#$ty6*riL7A9E|^>*E?f6`yZ<@?D?2+oU|{)!WG}C%Sn;~n z4zEK2Z60;>GXcxvLeyrT^J#9}C%~7Mg+&&XuUsWo=-@9wKuX(Qludd0!ZLZC?Wuzf z8clskN?Ixd)7zTjeI5+-D-He%Ej@YsSnB?LltQ9F+WtEi%2FWCKR)o``eNcgOK5}g zTzD_a(eUpJU3L?y^$S3{t-2;PO3n-rj3tWrQ@sPW?igp**!g;Fbso z2&8J3m}xFu!N-qXGfDmRKN$^c3X_OVR9VggAz^B2x;#{vGFnaNv4wV>OVjVlHI^4Z zxv}x_TYkL1vklC?sjG_s^5_suCtlY-MgoF@X+Xap$jdi_-redF-h2?pr{8!Pm|TYS zRIPx`w9lyR@ALwls&se^P^9#W-6@eU7>0ZIu0#21;wY?sv-mT?ur-Wgd8~{lM3OTTP}PeEj(P&d^JsDJlo`+}5Bg~AR+ z_w5fV5)!|&lY_Z$-C|O6t>H84>*0u%spoa{$sif(c2h$G+MQQFkdk!i(xt6Q_f1pn z1F%Gqy@X(uA!Qv*%kWVV$dQwS&9-9GKBTBJ@bVHvxG(plp`V_fqEMo4yY=vKUiW901!aH7#h5C6b+gstg{Oc6JD~V;g4N4Vce@;qG9p<{TnD*-D2RP(#2&sj*1*f3pv-Ij}TbKUf(W6aE zOA9%B^6&+FbmsJEM-#nLp2fGWu1@fS9NdLA4*?ps zE%ja;$Phz_%?FB#h}tUYiU&vonUrp~@EsA}P_$pRs$B&E_qVV|UGgU7S_TaZ?|4EW z7D85ZZMX=1@Ap8TfHgc#k=vfx+Gq(bQn|n{?g76~T25|NTh7VpUb471cLh+c=Rdl| z(Y?IBpZs;zKGyqKNg&2Mv=D4(8ZoLb&QHh%?U=2mYV&O;!PrCyCt}13Ijse)kCh>1 zl|wDBry`=leyOpqPuVsbj0`qi96(O5^F#Cp51vjEUMbSnf)vcdL$AaT6cl8DA`ZHt zX}rSz|Dx>8!>R1Tw_)238KcaE6opXA9JWv)BvXd1gd}r_j9VchLjy8yGLI$0&YTbt zJ3=z^nCHwgyw}b1{J!^nkK_I0`zJ^2eXn(|d#!6Yuk*a_9|R|J#N!oA$jHc~Sa+lo zeD|taH`6r}o&%^;&nGDOja36+Qo+P0q*LBud6$)ykr}GM%|s+5P?nyAN)bsMR>j^SU2!0E}Y(#AAb6O6GAqaaB7>wi& z+z|pP!E{h0fPY_sV3+>r(I=2gpS|^-1W>-($sg~8H^tymG$+X)Iyp-Hx9zA^uU)GF z#|>FK1*AI&fDQohWx(`ENFX15ufx`}*7MN{L6%2GM}f*lhSWNsQqU=r3A;Q}?=E8Q z+tvPWyHGnn5BtLB1qZsj0Iin|*Q$w^t|_vPvS(t@ep?5&z?}x^0rvLD{wXo~*HZ=g z^$nPMAh*090XBwG84#(H9=!+(%B1<%v6zuT!?9~Z`!^uQ{o!t_IT8~8+z%lmH{U-2 zU^SI#|46<)a@7f$-1GfI-0}?h@jqV#4CR0OV7TJ{{y}UXT(M~X&Uly2_HXdNYkWmE zx^?}&4I2NlKlJ~6ki`v-OWwi6z4m_;J$&zihMUQxxpob@sNrU9hvku}MY11EKku{_ z?m;K6<@(sggZTvR58YUllH%`ZZ*}_6>OiI6)@s1l{i`t^T)L=^etzMI|1ul$afa1{Tg2Q`R<9&KZH?RYCgBqf`LsDyJn0jEfwu~=($3l@3~5P^q6|d zS$LEe%#p1Y)S{$ACMS0ESBZvnWhx5$`sLmDF$95P*uQ5Bqu8j-1FEPyTEr&ZEXTAS{A8`%r|2+!Dkta`Z$7NryYbBBYE|v5m z5`OC9O{7<+vS(ldg$$R-kr|vVka|~^bcyn{=#lI3_hTiHbHn!EC8#{i>M196GN`&0 zc62KqA(v;{U%1&h5-I+168-M z5y|{~?c9d@*yurZ868n0yEG`E!xX<$S2DG%75t z*6w@}`rw;%2ls}2laCT{q7p$*>)^&B$EK(z!@@3Kqrgc!6W2X9vGbC-&(Srt|nyvNdz5uaIJ10Cr!q32i-vmeddvqJeaP;203XN$S`j zI~lJ+eW&j5lu9>=mpM{l4~x zn%&?m?gISjK9S(I2!Ashs_{dDS^I$s>+vYCbZpm>MCR+0bDo&K3v}vMfsI5?Gs)au za9aT>$pf^doM%+L_+4_a25P1gZAslydyp^v_-Li&1$bVjaj8hv?v_o(#z@GmLW|(H z#_&We_Zb-nB67S1}>NgRiLIKE;)}OaA)K9c^MeAm)@2= z$+wP>3PY-9$X+lc!ncTkw?QLCq*^QcXchy$@nS0nH}??*1%;-I@DC&a2XR8-$B#_w zNeaHEe*)o_4AJ_q|1)2kk@Y`;y3`ARqDN{2sNDhFI}g>~zAEqD%$XQjHxUSMnW6!i z;c(rAEvQmhcYYEvfRVI!F{M1GPoMVp_s1K4yoY?0UD7@j(m9*>ZU`X5xfP z2NcCM-y9y;HC0t@la!Q{&@La?Ya#98&tbppUxybeC@<$Hvyli6a6z^7 z0(elL)mKLipEEQ}d6GXxKtf}oujWKy3%KHBXATRJQ$Qup7N`$Eh^PUmmxScxl~AO@ zKi--^O%fyJ#EZl@+&&v9@2!>35M?bbRPWt|npBh*8{AUVJDUhXZ>is}TRi886?Sla zL6kmG_!I=p$aNt4`jMv2Vp8Tp`M-w*K_MYJErSq;Ap-+os|?W|k`T}KeL6HqJCTOQMtP0vv=g_g@B2mc_d=+)IF!**=`fWwr_ zs`c>-tWNsUia))}8R!9`Uap2M#*6Uen`aY#&pFvz!qBx@K0NbkP08SID zdUZN&eQp-#vlCiQ_u#kHusie<27IE9dXK#`C2dHK^44ma$-*?~=2M#>6O*cbdhwl{% z3T^WJZAW4*JVSyMNSLgZXem$Rxz;5=j4#34FA`bYCpn--rh|-{^&_EN*tl zDm7j?2*;KTl~~;Nee!=}Y0>PT0fwmqcr;Wi*L0Z`*_oC9eq-MhMt(k6>y7|72W@wco>j(^rH)l8)7^f$^Tm)b+QEH25b-S`v1xc6fO@`FtV-^W-XA%$(k(*uTBT0~koAt!9aXFT+w$5V0u$}E3ds2Up9jMUeR ze#MkOs=+Hp*@Ne^K4_!cU^PWm_GQmuq;c#r4^w9*s;}DNt%PCwKxNHqf!aAfb=+%4 z0No0avn+n#o*N*NQ`aL3=^q;K;W$jmAkvvb-NAk7hW>i&OUsT*$qd}z(#ox8hJ&{kC?_hkgY4}%%?57kE*LTOxGCKm4fabY*nFP zdE~uu0D^Icgq}4mhoG}o%|{#t&eZ*|!s8T>MZQwo2^GDTUS{=kS1{btHz#X%+to3} z4{Dv}coSR0f*Q~KyU%QspNI&~VG9dPP?`xZHHBJj^pES#|2TQ4BmJc?7=)j z>y04IWY;@Sx7E+R&zECmAH5!E`>r=|51vWmncRO2ULmH3$!2CmB$4I#8DkVygaSf0 z`@IEUzT3=rFHybnrs(nYh@i&M|HjRFVj7!8KEdsK$i(Dl21nW1)2D}HVMjDh{&zXr z&iD6(nN|va*JD?UfA%F#g~Ic zB;*z&(S;*}_m)6J%&n3#0*7-1p>`OOK(&_V|89u)T@dCrOwQZQ6}dWzQa*ybPV6Ac z6-!)kF(Wx2DXvGP7NSOBjo-u}IaKaZgtW&H=>+7y6DKeavLD8ZQl=9iq>_eHcNgxMcS1`UAm; z1Z?3W2qQ@j&eg3t5-TC5d){9j+|L~EEx{OLM4Jlhs66!br{teqVu&Q$PhyoDv;k$A z9)0{c-6mXs)j2{+`wkD0@WHIDscHE9jIy%Fzh?V=F-|1x-0fJj$8dG<`7(m64C&qu zg~dHV(c$6tv7B!$he%0rU3s*(PcvwrjPI)iZPoF+b4phoQiP%-X0N^SldN6_D&LW)|9uL!Jeb}J+ z_z+p{P;JF-l~u3xfM~m~-!*u7y`3VYsHNQ(@&D|?#D-^PLLh#92kZ=^B!rx~u;4H~ z4kwz48(p><6wZ=QO|ddUEJj~3z?8meLqn-O_F{-WjES(HqK0Xzv;OEc99xVq4UE?+` zC3T%4m9)QA#+Rj73SZXKPSrLnS_cqsvfQ0+k@{qWXmw;wN^R-vKg2|Nd{G~41I z!2#zNDl~QAK#QfxgM|d~vX0BIg068u+^8%PZI19*KA2NLWjYX$Uyh1Us64{Gp;0Il z|NRq?wklr7e%NUKP&qRm;iG5Jc8Za$FfAuPYkJnien8jv5+B*(5^8Jpf>%#g7Un5A<`qBY z9zVJ)dwt+oe)aC}#YaqEa|);?PWoS**(q@-dJM3Mw4&$Y9#AXfSJfJveonyjv# zvNXqlf=m9je3fS@ef#DCKndp)XKupiGw>Yy{Tno|)Bnt4(lltV2ksld0{J1iEZ^ z`AwZ@_2F*gQmO(KlZ*$4B@9^Hu^Z%cx8_$)FHUmv%aU(6QB%@Whc zh@QEF>0aa1X>NWMc&Ah6Guy`}_Mzs)S1)O9i^Avkvu+E)*vk>pLX+8gb{OaNkwQ*l zeYJ`r*ccNx&Fo%hKi!uv;o}$f~|CP0Jl8f2f41FxNz+LZ^ru_tsVYd!bMb9C+lz3EUP+ij#GQ%-#b!+3lN&D*Vbim`w&-|k89Ni1Mjk*v5N)t zm-`WK45zRYzZ*i3-kn!;$i>rhYU|O0e$v-oV~^@n*uLTqACG0P|JGd9-vH<&Yd@S6 zJMA3UU5ov_yc~c_EqjGOH7CGX@y!F%)<|Mhs;|)5Gx`;mbbG1SP&ZDOA_x+jLl+%H z`X0HG4Y(^wI}A^7sPzsS#J3{rRlo1_EU2nUB3tVV5Fg;9qk)X8PJ(?4vEI`#p6R zu3);a7-OuE{Q(hq^bLJ|W)t0YgrSRSCo&#;SJD6J6vwVeRcl!F6pfo>9E_t=>xW_8fN7 zNbZKrqJFb#kIQ{V_|EX=F`j zryfIloCnezkMfrzw}HF(@I{YnL{P5rBMHZ0QhIKOsi+9?o3u8+$&XwRcfwXxeY39g zP@ND^Ewv?g`QD5M^Y*%wI_as&Z51+?r3>JM*5}YbI10S0VRsSoGbf&M$-zVH61wtH zanyaEPF7~pd0bW24P0VfxtnQFz_q(M!L6HTq$lPLs1d@H2{2MozPJ8OsP;U*wYBEm z)dq#O^F0zalOy@;nGIn~R~!pWu`=NgehHo-a*?|VbCd9E>63pfWG5EW9yRE*@2}6o zmpX{{OXI;F;f3+CQrB{3u;ru~nyN{?S;ri=2~)qXC|jIlC5D(mtrID<+`W4jDL6uD z<>bYSj4+KaP)r2b2CvvNy`0zRieZpKXjiMTF+9fUYBe5oxZ4ZCiIgwai>GQv!X zT_4IB1WZDA-A^c?%YLotWcc&U4Wo23@q>kWZs#&f^m6NDWz`4cj-B?OUr<)IWQ8pV zOi6QCd-sjS6Y@JNI_{pHqY(Rm)I;gUjfk|ktIFxAWoEsFe2z=JSNTiye0M3gS6(@u zUmLt3ekMUKr^3z-+xLQjXg3zKTzfH~bKC3AXHqj0N^Os_Kab$i)X$CNJ76SJLp+_( z9yjQ3d@7uOyqbj%=PrmJ>@hS-Fz`--MDh&z%3XrbjtsC*si3+9zU2aI2odz1b=JC1a4mZa25r`v#o4c%RNwKI(57(h~J|5o7G2=5r6%_OH-zIKX zQeCt^t2_Pgd^R>l!x6#@LI4}ny`nbPUoJTS{5tBA(4dwlsLGXdmhW9$^#)7{^c(ZC z!>_%%y6UlS^4py5@;a`Zx$%*onEQ6?k6q-i`Qx(wHNTRdp1Z@wqZ|4)RJ+x4Rq(xY z#>zr;0R@h{GrO;2EsZ%Obh#V`a@ia=#TGjafYN?=Ld#%h?*y+PAowA}z;n6v;cme16;RsL zEqgU8rzJfIf)_m4jUSHM-K|Mg#n|Q&UCS1&((oi3n^t%|p`omB6gE>2+P=)al< zzaS$ewN=1}RB}q#(qG={$oMAGEm}d+5}y_C)-SV)^BE1?nyOVE@sjf(c}k(q-CNG` ztC+g6OQTcMsn898 zkZ7~jgW~|Qll$)Wr{62@-=Evq*tmsPQMS;}#Yc0E(?pGwC0>fu94u5hyog)MnQ53E z$^Wgfw=~+$K&;+1lH%*j*1H_jSE#~j$Vnd-uAesN4qZZN4$&PyI>6!-alxr-{JY(`s>$?g*| zlZ7Jfs{@nH1i$Ig-=y==x2aBMhxo?L_rKsK)=NwtBmP}CSSVbW$nb5WSL(f@tV@Ns zCr~rs5XuM;@7}(BJNfIwNhrYn0L#G&|jy)}g^>ucwfMLe=97iN31IL@w{eAp&y(cpwErBNn$Yth8-81JG&brfoJiM{-U1wSE}v+g|8nz ze0$(|CGeq#HT5L7&lwY!AD#8sZLY-?M!|+~ZtAZ$(U?4=>E@$o4{fHE6v!|ry)VB{ zUy^v9q7@-J{b^gCFGVaAh1CKQ8OXPk($wB8uJt;YgFNhhZ;3Ear){Rv86rPfQ%%}* zlPc_v{1oNSoQx_OC85dRFdaIj?4Q|5&t4vK@csa$=0g{}dZXxo z5%An^*k^CY4eAkw1lZu`V@bDykJS#{EVZZ1=(y=R_Waz!KTY@S_@|N`-=DSnj2R@! z%X-MhE_evo48s*avnSH!y^UCdxBpn~MBQeelp)6!mzgA!63dDme=xS{0jcojx=hIQ zh$$x$zv#bUa*->x?`H?r2g20`4%O1|GwxcwW&w?Bf4IMr%ksDbr=QqzDCw}?zrW9eKwxrN(r?7uTIAXxB9D(f$>=USV zm@$DqS5Oeo;%Xvbc*LAy#r!LdAT@PSC!yDbdrO~KkJ}lKn-2d}F67|5_Vyfo%(PYC zXH<;T2aCBPvJuVAzv}^CZqae+%HO;1Zb!rrL>@qw8+4g``gQGrM=lplIf{nQ!!poJ zZv6r6V#VWS5)xp0d_`oc2>Fztr)lqLmy?zJ7OGj~ z(JBdL-%Y;aXT&V2-aEb9LdtX-EW2QIXrl6uDIZ8X6lLq< zq+(K6|NMD5us}?6!|wvSfsNZI)#Cl1r;4*`xhx%mR=P1&$XqI!fG4#axwj7DrD_N3!NU@;~DvnDK=qIba5d_*EHI)1}P{^Q40V+AC!xc7z1<2=Zq%%Et6h-zir=0kx(Zw_h*Rt2Amw74tE;}GTM z*ekciQ4k1+OAAcJ)jvX?c*WC7tFr>}5Aseur$WIV*ji=^3nIGY$;aZ(59d}@1Yh@=b6M$FN zoyMZ%cu64{zHz**;THNgBlleA0z+Df-EdSqzPY-+`G9XI;*dxwNrsJM%h6 zVoQKc^mbIB^Xb!gPq)$hY7f`3xjbXPBMLvg%EX-wi1n*5m^NDjE2&UNw5aLV+qH~yXmRC`zKPJWrxQPk34B1g}5P;3lSOqmM^)MoYY^7=a`85@%& zf7YH-V6FxIsUp0p_Vyf_)IL$cv3${nMFbazFWF62pV7^ap}9!`P^F{NP&v19cNnY;|<*YK2l*` z-j7F>-X^0G`Xz+5F6F&`bqpM`V^0Me1fXVR>38r#@r;Rko6f^!M&diY|4e07fP`|l z?PPDdaHx?CurN+-D}-_i%o0goTcy5N_5|(>6l+2dKn#`rHGD?_2+SapG(>_diL9)e zK-yY6NFC%x;FUSrY~N5rb(B-1*)BT?^$8+AJ~a;20uGW6`Mz<2dN&7JTYm06-nv89 z?_p?zVJS6dmpBCE6c$tZhCAmdmdansUI<1=SfYWDM~nh(HZxy_N)QLcU7mC2h?n!= z);6|mAWIl7N$)snU7H=TN_=!ZFTXlco@oWogLfDlDOPn&XrSYV8cf?u6t<&PY3YKL z<#U(QQPM$49VxACn##J*k%t7>8G^I|%`yeBY7!h&#_s~NdgGs0TF{o1S4^N&vAzy( z%1G`qqaBaS7wVg4|8e_vI?bd-WiC`?+|QELczsRCfv7P5%NIY;tyDwZ9WY!|8brO6 zc-5?zW?fy z*2cc7@1NLL)|~@b6!Y%Nw<#8p!`)HSBlb-=h!Renig~o+fz;?>93a>tlJRt{q%c{x zd4vZKTnYb=RsGoDOj}?ccrXGFM;W*k4OEjO-sWTv;8sd4LmUNK;AG8ot@K+owOz0D zxQt=(WMF)>DdxDqwYW8-A}Vx=^H&M2`-0qZMKm-vsKuF*f&%~f=MmP{;BP@AwiRM{ zg!ykH-eaOu6Aq4{{1P_ZE>>UO^`<{A}Kfgn@~Nbo2U5Fs`oigg-ixeAhbbib@Esbdda8baZP$+u+YOErO;h3e=NjFfPu%GVlms&}dW7?+@+X7gLp; z5!L!@uBwWJHqECF28Ak3^(dGDC6MPcb%2l)UVXviwfLC=JZqYvDthaCTBfu92kdoacRDD^9}#0)+{+l(eH8`Ud&_?srb7NX_MD;{#sDj6$nv)3Pbb!f zdU8ZY{V4GyZ|XYW%-Vq7x4fWGXF)jPA1s=V7Eh^1omGVY2os^W{U9u?X6SRRUE+i9 z4{N{pv0d=*<&!4wXFO?|BY!)o?b?+ry?K@C=x_1rmM@iwlL^`WK*h4l8f$-DZAm$ zI+D@!$A$a49?_KX2XJ3dDb`-y-154zvcn0yfvFVh8xrR6Z}EgWT;kg-&#D!dWXYpE zx-ArRy7K&ip3n9M>&Es-76~J2d!KSnka+k1w z>>uBiqELGjE3O0JO7FWit2*Lwxm^4!ek7}>ndJ68OOulE-6{zM1iI3XAK!H7?TK<8 z53uo>I0}ptvdS1zG+LUKQ`=Ct9oI@#=6X(_#mzi`O$iD_on*HlR7njfCR@qJ`T=0n z22AQ41=D2G#o4!x`~g;NxKGY$d!pHUEK%}RNkN%0;N4t6t6Mo?2LS=4@nvOZy}p`v zLL@IYnbt4b1WcS)AxpsaHJRiJ1o{*T0g1-eL)Qp*|f5QNl zB^6PS?-n>%J`J)3B5m5!kdT$Cjr9s&?q8K0_XkZgyHMk7r&r9GxH5x=&~`_8FEhfvwexO23s-i71Q(m zwZH`$YGg2r&3ClP5}8M#FxRjDSl)kbQ=UyP-x1Jd)k3scc!Up9s13nTHndY1S$lO_ z3lXc3U|>fe>Jp24_fmZKb~#UlW#$g?IF+0}bB&NFsU;=%D%4!V_x67}3tN|Ie*bdSPs7%hM?z4gHaUe^7 zXZ9r!k=yS=+_f^-%YtyNpvestNz6GjQXt-a#cArsF0s1wX3RLS(DS&w_}+wCoBeS~ zYo-gB*WdoadBmX_Y@+3p7`zpH0YfhPWrXQoXLXU4rE5`DmIy)hLjZ)W1%VX83Pe=C zK)b4=;PxUZ-`k5sMgif8<*@$INL9eiOVpF96G|l=w~C10u`3(r&)LQP*`?qnaj3H1 zUhCS}kPuzhyXRUFg8 z#-s}s?R1a#OCm!ANT7ZIZY=Pd*g zB}3$mP#E(~K0Sdx0E{`ul`VL}M(oRj6q<2huN&NE%gX{*7$N0Z%Q4OsFKUnzlmz%eM~t9%@)3lPWJZXi7ochzDZeJ0Q$&%zkWx7i#+Mh|_V) zhe8jRJ0Rz*e=MzRaRwqZ@4($T&f|XNZUH3F254jRZ92B$cd+yH>y@g?%B{>*Ws;%c z6DA=UEI(IbJ|RUQ{qM()z38~IPhFL)X^cF{w?6pOk!Iv@r{7bWi2v%|G6HKn!=t=%nqnnaB`k%U3+a&bJ5Ms%*9PdEH$J&zdIsM$i$&H{nByH zNdAxaC^NWQnj$p|bSN_Qn#JteU8N#Ups>e$_Krr<-oZ%Lfb9BuVIK&!ug6}b1kF@u zkDeTaqdozGlF(x*C_KD-D;_3s7lis(Y=pGm8nl}e9r{V@7LK~PA(V^n-+|pSms`1h z*~txfP3>*(q+W`*p*2*pbSO5KuBw+_Rx@xo*|{*7(y&TgIsP4|IleZ_wm23Y>*=7I zM|Jkron48@&e4KWCRRy%PGGJEgKCe%y9ZH2>-GcfGYmE@hqs)vq++UC6PY4tM0QSTu%qeB|+5n2k7}dVx8uL)C*pM)0ZZ*FTR)n(%*QAImLUI ztZ`_2E#Y9?cyF=0w-(^4a1h9iK(`W5t#wHkfE1KV!RPGTHIV7oH~xtQA)!#%+ta)! z&)8#pmo<_-cK4or92$@tK6>1)Z!Pjsmyf2SQW>GU;E1yF;nE{qugTdygp|K~_ap9_ z#lvh=B_6}7q-b%CW&MZ(<0E}b3z8gt%8ozFF9uC{v0@hjX3{kRK0e9J)@|CJI}r!l z@&rhmj`3fwf#SR4NFAjvbjN6%C<2fOr0n&e0%PnzHXe`*;@+nzpVIELZ`aEq<&ZeD z0IBZvglrlez7OWl90%s7I`SmFjGngttncs8@$l^ww2V+yJDP8(c-lC1>$v`gZ&w7) zG>?6;L#q}T5PnUs;4jO^6r776phg=EON1>hY|Pl5fN%p&BFB51Zjsj@Z+GJS1oA@A z^`Q=12Sj|IPwj^u87db32EyDY8_Gid=u*r-HN*7tT|Ld`jXT~T6H-` zFn8>FNwHPe|(a?zkUek$y#%geM(t|-M+puJHW zme{h9AnLi7Q_#NWbEfvYe?={u&+MUj7s4ih_6bLCdo7WH#y1#x==|ZFgz|STZvLNB zCLHgch&&IuFi@!W4%PzOaY<7X)16;C7eSAI>^xfhqR~Y6X-mY3c9D7BPF#N59%zFN zfk<2fxSt)lix>&;78+MK6s1q>>g2GBSsV_eVY~Z;nITdUaukumHIcrkdvmD%2>KIM z%)Y*0m)wWR?)1yx%)=t`oSjhLqFGvRn{M>Yk_=4?(vU<)@%KrlJ^`^ylgZ0hkkhhe}xo_#K#C!L}t14Eh6*dR&&YveYlxl42|E~(s|<$%R#AY0MTj@bXr6~~8jswDWG!ntrHD$ z@#sr*2`x`i32Hb*V!-t5gW%*5t~1eNLnNG1_)F2n$+^jwFWn1ulrtwk=UrymdoxDZ z|934)PV|VBhpzV!Ve>@V3zlz3jB89+XB!rZ^6L7*61S?hKjwwD)^%5{e$Ad9|=#jz3{X@aBk-`0fR7BB%{~3}lIs;>t?P z-%7gdG4GyKIiCiuo#Se@b(B^~J+p^xWM|=%JZZ?kp~Y8Cvnaa13?e(qj?m*VE3}iP z4%FQuBACwXT9tpMtotOGo}EBd`gjlZI`}P(rgf~(9UGW2|N1k@d6}R1@wDUA%VE2Z z0kr&fK-zj#Mc*Und}zhM6gA(63ZxVN{->$rSM36=p)f*26#Q1{S?k)FefcmQ6{*al zi}NxtTu)D}YdF{CdUBHA#mB;RnwM@H>$V<%z~F~BXy9u!V-S;?>Q z+LU>vCp9|bxJ;^7Wwa>z^JiRAl8;@{IBj}u5*kJkqmz|A5g)hZDR%NpQS<5E|2CE` z<9Wut?T_>_8lQ={`PtlfefK-()u|4XAhgwmej$@md)mL_=TY^XV|2cQ9kQ*JQJUr?p!s!}Vi zQyv;p+)=pNwe6{-AF}_@G81;V)>_;3L*Sr!q2YEtEdF!WmYp4qQabO; zB@bAcgr>ISyG?X^hbGUMO#Cys7oWmN*ByANn^|!3cbKA8sbR`Xfr{m3-9LY>mwOfF z5~PMbzS8wC_v}B+`SFu*J%XY^e*9EdvR0$M_x07QgGQuVm7eV{bez6k(PnZ1cg=AU zZ+zjrG8A_!d{tH3r<8RsjZ;nf`K4p!d&tSbegUC3B_-xv+=pZ!EeMbQUi@jfd=HxZ zykDYn%0sV39ky3v z9$pnOJmO8kS3Ew*QD}r5HkA)iuyPi8c~3wZKiyG>vu`pdb{A0Wt}Dz{9?AV4a~^D) zYVXXPFz50$<@(cH9P$rdJND-vhei#|HgpIxLU&&iTy{Ulh$HTNIiY#1=6f9GVWDI7 zJ&g`7h1&!6@9?A)TK=(s?uPzfoJhVjRGmA7HtfMKgjxD< zWwIiU%H=~n)z(~ZZEU451Q8u~ubxI+Wg^^b~~W#LJ5X(zvO6gw&GP6m*`Dm#?++zWh)-R{U7@4Q}7u z-CItiTR8=43n9x>ziafob1l_}nnjD-s24AdD4*gZcS)psaXlE@mvx9xe_1&-MEKB3 zZ5tE1EG}-hzh!j^008fQg0{@zX^XU5od(hFx87(GCOHMr31r^uxdEtv&zay zvKQU#2TZQN_V$6U7rLXiPY8lAS8pTayNuMp6jFv+dO@4kGd`$Tmf_1e8{@1 z(f?rZVsaO|Hf+&hg1a`Mz(~=dgZx)f(;1CU_rB7&xRt7pABSau#EP@&b}{IycU_;M zSeZhv%n9|mIsMq55ojYUpsr|fx$o`?-u8NSU=nkCbxsTrlH&(*q8;;Z|ETijb2yEE z{6#<477a;j?Pdiq6dhRB$*6Js8ZK=*?!?mCuY)#mNx&5+8KqeHVD9(r&6{<$#&3bW zr2(cUp6gT@;+=s>6oTaTALtpZKiVHBX21DU1vBrAh<(G?2W$%@{uxsnT5b!lZurgf zBAh}q@pXw_-{f&|s*N4DVcmOoS9g0Z40Q<)A7#(pW&gX1&Ng6a)i(XP`MZANdBLa5 zbwre+8$77@=~L|2j&sV7Bo=21YNt39+pzJR83-Kno=BKIU?-W(&+6ykl<+Rz}uU&|_4eW^$qp z4WL1^j4O`vSn4wLJ-Fm`7zmv#ORpVcFS`!ce5aCuaO8{9W6zeDm%{3+vc=9;!$!UC zth!r8wgQ|3e9`FT33bnqrHeMYr2ET$g~rW!0+`!YzvYJS;?8Q4Vf%*qO0_;If#!N_ zbR;ZbBvJp2tg$p}Tz2M}{x+LIuKRtrq&nl=%OpuQ##r!1;-C@y-qyiXMonQ4MDs@a zv1aOL9V8eJkEW=!t>b)L<6rLRmv!a|nQ$x6nGo=^mZcBV-aC&EDGtjEfmPr?O92Xr zqqH2P0|V*UtEy!Ltt62{L!eoPB%C;>soQQYvc5nezoYwj@Vkc88)NO}<#hx771Z!r zh$vOT=#P_Q5Spa6>Bw2enTU8-g4#%1b#)5uwf1(NOMUBxca_w5V7le_IMtxdHdmoW zPfyL>?&*~kkBu8K{JX*#S`?Z|`uc6~bAHgE6(XMc{n&}Nj(f@fkagzj66(nl|K8uE z9(hJJ;R+9KKT<_|fZ5uqrLK9#P4(s}ww$J*QPP_C&@yOHi-0&f+NPIfU#A&+s!}xZ za=s%OWK^I0EUYqS#gPjKOgUeRl-I4+q4u2!5);G4iU)kNQ4N25x|!h4@T*WoMuU^} zz0PT~*=W$3vR%OW?lFn*+F7xlXh%9ZH?jwz{uEUEhg{=77B+0(Q@DX0R|AcQm+6_ZfipMY^g3^f@jh_;u#qyB)9fa^;q%<1G``!qAiP* zf5teaBpwj10_!5r?%mQ<yVAI6dQV_g-bm(MR#9T z_Rc@omP_8K?e~wc0V?TxSD}cPDe-In1iv?PoX~6{Eh7xG9;dbKJL96gFo4~Y`+Jw3 zUH0Y(e0QL@S5mETqae}o8;2e=$Moc7l-H7Fc!O0r&i+oc zbE3SQy4$Kv(CzNcDW2Vg$_jr)4RI%DG_$CL@vBT1MBr3NE^Ks$!u{CloDj`6Klw1= zujhjX2`Cy4{=UTX=ooSJ>Ipy}>+>3C-Z|VJzR5^IF|_5%Bd$kCdMn@}?zL+o9bO=M z&JnK~3#eD)E#PfVG+WfV&49VL=F^k&$@R86*+af086)?h@j5tz%$3MyKbvmkM zRoMea>cb>He>J=lQ%{W#(g9?~%6q-GlL)gKPsws}#QWWiHB{sDnO%&e9r&*pvmP?Px>Wi+4?=aO? zeMqf<6-k)Ub>$MJZ94JPkiSzMASG+RU>DTZ%|z5w>d(~v=A`}Y4LV&*bgSr<#pA7& z*F0jp;1>mt|MPGxP{#vOox5kdjv{o(dY!19ol-~bG!K!7yu3EL@e7};_sEYP6IbBp zl1UAIioTKj*d(*%a&B&Vc*bQ4V(0-z>`dN zYh^Cl_v#l$*oe4JAMS2TRFypXpi^*Htk^C_KZoCce#K=q!j$mDw6bjONX=Dc%joI# zYLooI1;34isVT}s6dWa0EVmg&QW~$Fz(=pJx{Kw7(hPfiV;t6ftn|#NL{9e}QZ1k2 zd9=5?pulsH(S64ikCh!81;lW7r`E1>x!nl5^`Jf0bnQ*=TshsyTXNJTcPb* z7NpyCF!T*wjDg&$k>S7@L9ba$GsLo6Lw}+hY0n*HW!P_(=1)$%e`2}@x+P{r5|H+E zy5ZG^d3Mf|#ApMF@I9fv;*aMvI_lQLCUATy?KPi4e?yIsE34!cdty3uq4=3m=3PT2 z^OjA)2{sCAd%c{nMrPv5yj|6rVF>U$!JlOoEiKZQm7=%EEY066m`C&O4>76 zEnBo>KsMSHXuSX<&}RFB0;Z{jP^@xr^GQjLvf@m?J}7yc+A*y-jpDvM>&z(s#Fp`* z3j-Ckv1afQwM$z^xT!i2Lw50e>dWsU^On@mR*}rfCL~CWqLT^)p&;tMOor|BT%hd! zE%7{2?ikXZB3qxy-XNc*$iZQI&FFbLEJXOUhAaAh1FNq>1x+XZi#h?p~Z_~x-`4)tUFhfh>qyh%IRosSx8 zR+m(+gH{c-tBb<`EnhD1zw%ev7ve^nERpBF=p|RqA_WjofMR<9gN6$~5GAh?6?CyHrS$zPD zmZG+#e`e>lryCbm&-K0UHl+p6dH+L~FY~^8f}=Sf^ydmN3$8Kb6l*r$q)%3H!sMa# z6#ss_vudZERWEZT`^iZu94}SSEpoJS(49jTH!RNZ`b%Th7Q%NDWi2XH=i?Ww^2%G? z+j@FV#sBTAZ0o^19Z|=)J=qW{AauWR&?uNJA(6nBVzsl?UA?yHU0+|XrmE^BY-M3_D8(IPk@bDYPwxfUz>PA3K_HF}pPZG&_jl1u z_Ip!gL-_jMW6H^@&6(S2bG>OPyw(jgp5?#OHEwpK?5NKNskvydmp&`6NKf5hoCP`Huk}Mu1NLOP$Em` z->K8q&CFTqEWICxYpK(GcD9{ozm*X>o`mt(;F2z%9AvYKPX-@8nMa_p?NPc9e<7Zd&XNe~W69JMLiB!~S z`gyb4!N=OEMX!Zl;>Ef|?zOJA%C-}n)(AJhY+u4foWx&^fN|uOTP}F~ohw}hR%#9i z>!y243joeG9P{MYh)sps z(|w;l+HA%NF%PJ| z`IYgXYcZO0AMjz$#0^wcdLQmTrgd%S@81Oi=J=xZ*;*!MWOcQ z#9j&9VeVsTRjDe>AULSl) z!J!%$Hia$p5)-hyR|H>V`yUe|p@Dvwz z?lR^`G8DbApn}S`oG@L2BCvph!tLHthi)jbV0+co)m^)>Zq`6(QBza936j9orqfC8 z$I&v0rGQ>ue{2VjH7$ncBmVRmXX8XVXeH9((t0yzACc4hg#WA;#9 zY3hoLfROs{;+&C3ZHu#;4#RCW;;7?h{$SL^q`7UUw?11BT*|`NRC@grl#rhB*SE!( z1hcUuj;8=vM?2DGXLZeWB4JHns8+EWv)!62Ee&^Y5%ES zQ`R-xR~l~Tq>B>;z0vZxDgew$jiwx$)E-y`srq_Vt3>Oko2?1+tHQ?m1NC$y^w@0b z$;7tPOK#L29%TvhzxgWHVm-Z+^>OWl(0 z+?JH+Mv72bvQw#yWt1#st%NAa9%Cz&N~NsXRYb&8_FF6zpVZG%ALlvdO;u_1f@w7+G zRnwu`&M9oQcVWo#1&n^4ysd1i8cN|{>4J0k1s_a|sC8XMD9g4?Z{MjkMqTdef>+Qj zc{8F$b{!+L)c*YzDc1tGB!;kPBa{L`5R+w{CICl<8r5^fN@WOS&*lwQ=+jlpk7o0aNwHXeKa^_4$*D|dzyw06v`|}Q6>x;?4 zc&B%`OLFqTIWoP_nbnN;^BvR^-3-GDBJAZ{|26t>M^3-e)^MZR-vb;qSTBj9XbLAoH%j=K7XtVFwjeFwXSXAH#=(v_}ALpLU ziUD57g4SoFFq!{7dJ;ru=Q>6gG@KvX+;Gewq#K=fG`USjMRP3QyM1eJYZ__c^=aGC zi)mf=Lc8~42)F9OMPi3{w(B)&s3?_P!UN_DF>e@i-{-#v=jQZ~ch-4(5od!JyY&>p z*4{GDmtIGZ$uC<%`L`M8WqMMC_LO$rz1yB}pi`6a*xCQNT7c&_nwD1QkCecTk1Yxj zmUurF;rp{aw?2{Go@IH@bY-a*PR=?Esc68EK+Xg5xud#b5k#{=n@ntPvW$N1Mk6nx zrn_^erDs8D5O$FiL>|Be3OZ^1Tg6A3z|l(+l8=Vh_^(&uZ^+Br*2Z>mhcC2t7FF~U z{!(@89S}^n--g!uw(L3kn-C(CE%SJLI~Q-}VfsxFab8R0$`3ah`%9b9I{xqLiyrTu zNdA`_k$90K>%j_P&i}JZaSVbXX3rZuj$tQT=3j_U^k4HbWbDSZ#Z%7p%VC6=kZeUT zsAe=Z7p%x3O4J9I@CLWfosnj-W&-yMH#R2*hIS9Fp8{pmFV(fG!HSJ29V+KR&e%>& z(0!Ut$i>;WXNC8p3q6k|4_3UAG;ms7Zl)i$Kz+bYcIT3H8FJY&W`9GEpDtV>222f3 zrN`Ww`blQm^eh$C)JN0Q4u1%D6q3`;xV9JYnZFJw~U zJ|G%Q@C&XTS`dG}?tMG|m?8f!=V+m7sgI-QOB(cM9DcBe*zs*zje46rtVe$&CH7%> zEcAMuG_Osf`4L0eM_)z#^Q>!d1Fh+ziv`>`iYBFO7)+M|;_`UmWA{P>j_{d#h^!E7 zo%@RKDB1TX*Dt)9b^scR#Nyh1vZ=DQo>{X}Meim1jU|;Cm$}72#87S4eSheJ`CD7; zBSsJZBNgIrFz8n??P1n^hl0m~_0yM|6-iIHv+_U5+bFdS`z4ra7RXN`xKELGYv<@)iWlAwx&nP`)LF2 zMCV}FZwyVb-vxH z^F5*ON5ppAyB8?&UDTi8Vz5!k3iWN0TMk5|f54($v2gt2w;H)Ip0>;#KK+6bjyA+j zUlu?NbN(_C2zk$q>$>CQD8~3|w5!u1{r%`m+i%1UhuyWji_LcJ1LcVui+TMS0-OKk z){gAAFE_I*HEwQATw?@bu@;6|M@|B?eyVQOJS!d3c=Z@RVk8rBe=;>BcQr;uiQ3fE zsfe|Tun3J2B@5kLIO%BLe*4gAL;f>54ZSxmVHo{mK|_hk)j!&Za=J&ax#fA|$M73u zOfDE}^g8EMgP|~IaYi-|^6H_m+UeM&a5jcrnjd{mEC_{LwqwrA=Vfl&Q>rv_BHF~U z8dtGvw3uICRr(IRa(CO@DE+1~YAEzvU8H_M!D7QM^3ZaHr>jA}tgJC5^BNDX>&eqU zBRSD;ovPK%+j>0{IN0jb?z4P{PlmT#v5nLNyF>;mYq2 zf;KF{zwcU9BA$7nh75;oMpNa&?HNK`;CLXfP-c(+k@BXnM4&dF<(Hnia^#1dw4kJC zV`#EM_<`XI$)RqByu%eDku#6quJ|v3J|pIY3TXcsn{}7ti$Kcp9F_kK@B*f^>kMp}(x9OoqWqI}_xSJZRyk;v8hazMh9dE&K6o-@BQLOv<-&g?&OMm@_0X zJ5+O9dC@9@7)8O`&kU(7O^!Jg6V44LD=#_KF4@eC6&AV8_E3q>BCpuhTcTSWQQ=Zn9h0$CI&a;~e+s<=Vh!!HT5IO=e8N}`?k z?zzVGn<`m8r${X$yaR0+x$zc({6l;K)1}#;&}kZFj=+FRAm0&HuwK%?*ezzXpYw=y zdQd0Wy(jJ)k2drPEU&M2esoyp z%jIJYN7G8z&;PdkM!sIVX|Z`ZCMgmv7G$(P+y(j=Y`j%W8$s4vk}>Ut5(?l@fu6$? zS9i2WFm&FAF$?O$%x~)sa)(%3_y{HYa_hf}(b+!n__@uyXW=WK19c22>7Pn{7tGZV zPr7_C`fUTgs^9Y~kc#v0^2vH7V-P=x*=p9ok z>W{0GG1=aJ+qfd&+EUBLNa!wt9u+}WY|WLZN6A!tXp@}Ckb!Rw&0M}`ce@@z)$dKI zOEf09M`7kjqRMNTL2huLIzLCzmrlp_dsHR}&;HFN`M`fn014qxUQ)?T{M+0bWls04VSMrv8e$K!ZgzSG**YOQj z{HMxa+#XAwL(4_VH-E}y*RjeIUR85xTm|{Rw^l@AH@oV zr$mNGL+3cs6Zv=GoCQiq&&uyT+W1+jMo~z$-xH?~$0gL8+wyWz4Du9dgciJqqBj=p z6O%I)Hrh~Lw)+8SHt9}293M%1fJW;*T)i752A1HzCl|&ybQ*pZbuJL9i4`6)q>w^P z-$KcqF1)_RPaxA_(tJ%!SS>u+KQ~hia}=e%vsRyJy5z*DB!tKLfZojW@%`w!pD>swScUYTmNo5FL5x}_{dXv*{ZUb9L%l|uCD*XIpcN5Du zlb7J<8u|W&fcEyM_XXo0#pLFi=6cu8ku|O*m4@Rn!A(16Xt)2O_B^Tn3qigRI&w!%7m&==YJwpZ-NTho1Gp z5Hde23Lsgq&~MsW$>Q0yVXxL2o&-8Bj4z{#p5Eof!~&oW{~NxHpMEg@u@v_^er;PE zwUCv^79_*UsgBnpxIqVwyG~*;mJCGi-dEd0)j~9HDd(L9)@XRQ6vdA1u0X zZV6A~Y$GK5Gqm~H#^GQ9^y*{q4BC&#Sv-Cx1@O|(mYQYzONA3_;5b6isI`%0jp73ht+> zxv#^*F;DIFxb$*yV92I!CRJUeezi&7l;h71J>Gg?UjxGzu0`^NITssjP&1uzRv{~w zbcRau{J)6=)+*P(6O@n@lvJSgUP`94mUIQu6zEgC4OA>rb^FT88B_AEuB+ktoHoM0 z=~4HV0@Ek}ei{L3$fJi3JKkL=@eCzEq9j!8ssI&eJ|utw2a3=wtzmazc^pOHuN(-8 zVx8IjWMSo=B0e|?NYyZ3TXA8AOes~@224F-YBzd!ehH8|M;-n zoZbL2hl?|UL)AoOB4zk`8%D2DHAr*n*2*qudAkO6WY2LxpXtm#78Ocnr?_XH1whor ziaM5gTsNTADnV&3B&q-Wbeo6A+HA$%<86krqr%vD|EiLGj+S4}lU*dHoE$18CBVR9 zH4ld=Fcr{)b|WJpl=ch~!SkUW!f6V)-|`{F-)1!v%H1X*NLf4<7Z+zJf?ZawHiKBi znv}fEi4ax*^I3`UFW$wKTMXRMp;Do%3)gA-G_|0X5J#|UIScf-VXQO+g3q{BiS__P zNMb?)6-b^;%*@`+WD&7g&^JH~?gSDQ{7>3o)j1$}ODxYc zwLE_O4)93bIa|}OGx~TEQG5rNT!8qa$~mWZ@A=qD*%5nPbOpE7!~(Cw}z9uDrigp8!;Q0E}}D>ZFQkobmuD zUI=KE45C78&QCGfvYACt}R75Un60_|H90H&Y*6 zM~g8IoZ~3f^6PI&%vec3g6)DX=Vypob8G)=AH6LQ=MoLERI*DL^HpiLo&{K4u!)ZI z`WuyF=+8x!;?jpFb?v`~{S6Z9XX7IKfw4*Y zNe=wl7v2F+CmT2C)3LY;{(rOU*tKdQrT(3$&f7d21{_Hf39*OM{26J~8du%&X)in$)(ytPsy~b}<6bvKDrf8n6 z1y>_Rd~o6;nVwh0+|gd`|2$;b9~)#>HKm;t5|FA9K){|K&h#Gm$)<4j#r6&um2Eu% zK0{UK6cl`8gZD_y;Pv)3pjo6lK;w#M4{A}~T?pLx9gnY*<}{A{-Tt>y!Q=>d+THl- zQcMNLF@7JJxuTdIF?UaJm@%Z1`^E%|A17;EzN>ci4C|>7+#_88cS*uswcc4e=|NNb zG6GZm$5Z~?2Fk$_^)Mm*dX{Ki5Y{m(eY%#w*&s-PA&g0WK}@x3Tkz{sqAF=W>Ov|n`f53;M&eZn9N{I&3 z7en_^A!Kko@z$F4cF)Xo{vX!r+rU8StQf*2tE%QY;RjpLh8Cvr_XYi8E0j?a6P?z! zs~cdeAjsACFfHg0Y(^pNE(He;Az3LS9A{-WiQgz878+v*Jcz}ezncP7RN;om zO+{z(1rT1NRYNCYWUW`4Amzgca(ziKnL-cU@=G^=8>iXH$jGPE-`Gg{)~=*PIgx*i zj}Bf;j@|7u!|^Q;7IcdpFU z&L~2<`!0=2N(=v@uzZetR^qAHz!~9|EMd4X5+`#OseK%kndFv--fR%=U|0RKE$@v< zksV6r6z{tSa0&8C3ZeqmPol!f!GVx@XP$DIqE}t1Gnx@AsaOP11i`MKV!*0Iq(eIH zY|~Vt%E>{5mA=GW?wc55E06u|4bJ0ZegAvn6PHfbv+e1=oK5h+lh^-KRo!~DRE{$n zH?q9Xd~g9Rfa`jt44x|dzQV^PsX2AfgL=ke6zo8>{)I^*ETzwUF#L3%_V{>`<1pvC z>^+wszoj>wf1n{JCkG`NDF73dmynQfMoj)lVv?AU44H+~xYu+C$)^=+E>Sii2mu`Q`uNC6`Y)BD~3mPsLeT zTJ9K$<2-${oV>8+POg`y4ZSZym8=TN6N;)Im~uu^dNT=Lau!Y#t*>1>|&0w#i4OanZw7I$2^77?ZYm6BzQ2b$N01mRpF@m)O2h?YQg!4wt+$l-To1d;_ zfuT7iR=08wi2DAF+lR(Ig=dn0&FCC3teuVDXWsq#v`}k`YU7N7w`Pi(M_ils)IoKx zek&k~!U3PXwS&WS83Cx{)ZBiEmtE~R-qh5Dn{QSu^P`}#VdXbS1yJ~>c;Envb3HK4 z1^`+KHVoL#^PTV^2lnng2CQXPPz!f&UM;6C0}xybpd66XOB0hvV6!Yj^%JiA+|1`W z>g!mAefv&f1V#jH702TTHmiiAU!*^A#o<7nA$ESV(VMo+Y z2Ac#1;4t(_9iS7cCV;E8ijJFd7+^qD`-rM)D-hv%KYH}&2NZ>y!vw7o>o&&vDL~qG z2+DLdV)d3^T&NB#3jTGQ-^{@w9cI-0)0DIo*uPhuLMG(SSy^5AOF*DiC1TaI3&?Z* zAgz_C4>mC@`O?E#;cIV!b@LE=!GP`3rbXFJTn2h?z|yKt1OD z)FkS2=w4AKCP#oLEsyimlq0T>JO(R2tio73Fx5)yGN6Ey0AOGPp>S&drn0hkeZnH* z2v9-3$t*8<%nf(FzPt-^9!uG z#?ouVHo%k|1irr?9QrgjsC09KQn=!KUEjc)jYA!0P|-kj5Ee+A4ndXU(FXC7 zK$@LQQz($17KiDt&z=w#7IuN-Z@0&X$Ftb$c_>p;RahheG`|@Lfs?@l?Gv zdl5Si^V7IKEEF+2MG$WTLPS^D6aqv@#a*Vfm6h9SR>#wd!{96%dJ0a8xXZNI!6y>x zN5HkXNmB)8$oROpk%Acvy{ZukIa;S2hz@>Fb^d2YFXq6+ z{R3c{e(;Go{Q8RuE7|a@0kbO9|auH}9>zr1N;Q)|Q&v+I}9$OMeBs&0FF6T zP*`lqDbMrsTN?BuRF(VT1)p|yTH-;-NF2U=7Z5dJnM8r5)lMVh?d8$wvui?Daj@6Q zKvrx|RQRa1WaF4YhkP>-K~4iME-pPa!G72<1)cj8t%Cl%m+J$GiHRP-tOij&za9v~ zqsq|$CzqI-I$7qux`w?*O8SqRD7ftH4%){AjkW=o>=ab%flQbL(VR!-xemg_uF5wT zGFhxH?Fx`O50&m`!^3O!*Qhe)0Kp6y7@aENa{{!Xx-6W~`GMkVz|o_&Cr_RX8BcMCCf{#QE*|FK*{WS_ zmv#ltcieu%_KrJGvrR25Y$1n6Q8yTpY%+j+*cu1|`qD!Ri_!LFp1F?Ifx%t|;p>%v zJv~}x;o3N>d)k_*b~mEh{zlbFV4J)xdhmQU?4jzP6`nmNz=PZmyO+2zHdR*~kOqX) z(6dd<3SlWJEL81I{!k@!L!oX$eEe(qtkAd+p==RFo2yVz4$#rbmt9;$cI_&J9cpHw zx0C>16H`)9Bz}&rL+jAgyn5f?9%3Rb&CQ(?d0F(bV&Fk8w%-auhYWOq;E-iq{r&xU zalktH_1?YNGE|uU0C@XJpa%~qg6x|v$QmiAsi}dH@(rN29|JdizMv~EZU-<>{;jL1?61#%-u>8?rE`<*hoDfZUKSvG0H2&ALKh%iiVU31A$q~W zWDal%u#3BL{$x|?fTrCICf*I84jRODrcGhIgF&vh!lblf!R0rJ4r^*{RfnHdW5iT6 zfGTrdV%ZgFb@zd=*ea>r{f~%93dn{RIXO9h)z^M)Xh>zVhS=)h?yEw*_Jhew&LFMd zq}@0I8&6e0OnFg)dmPyAi^E|1d2t{OVd%U8ecsH;DYL1i#m_6~e#B0|K|OHrpqf+MPwgyNU2ay7jF93dcU#Um@D&)zT0W6L=q}ueAT}wWEA19Op=2%*9@A-w~ zy7h1Goa@LnYmI1FmwuivO$b&F3*a)bEV4-s33OXc1}^nmo%w4-UqqBf;` z{c04SnRx?D8fCxf-os$Y0meX^=IB<~rrv0+v460Bni8EuZ4eDIs}7`@g@)F^4CGc( zU&S~K4{`>zncsg>|7LO3xI}znqAP5)R@i;lIp489m2a7!LV#<^9FY6WLBvjU=EelW zz~DJTp97R2ffAYQ5)Ys0xcODw#mqRB{>N616yTiY!sma$bJ@Q4zK~RLi%OmD6^fL$ zfBrsnI<>2o=!7ZSSgxq!t2BZLNV2%g<1GPu!I7qd_9-Cg1Nkkeo@;m9%w2s8Sv5AS7uk5=lKK76jgbAuvZdV4=+e zuyQ%K`rcEfgQw6_R6#C)kg0-_k~u)6hR~}h{fE)lKh5QpK z11AI4Vmv%U3ANT}u<>$m(7`-i^DM{ZxpAY|DRl0n()ss>L*Y!XTuLuYBH*9D1L|lZ z4w%>`bK=o(0_;=(Rv|}IR*(YIh)i(7tnKV3d%~m;#OlePv6$*B$-7nykN50&buVO* zI&7Dml5zkAj2+3c%=Z;w;a1W;EWnrm02^5pgpc1X?v56c;@B3%sA=WemCFDki_S~; zeRO}DWC1uEJv}BffXSDT^VbyQ9E@=sd87BhJB}TD@j@IMfX-J|RE(Dezs?Z&!_Gp! zC-EBCRwB6kKNKU>_PvQoNw}XJ=M6A&y1~K)C6YTg+NcPl1*kCrf4oGLB?xQQdVrYFOry&J2qjr7Xl%u4;gy<1GI+zUx zzSUYLDCGiRqqnQM_2C)`#9ww^W{AnXd-pgS3bIz;eEfI>v}s=%0X9`JtSR1gcWy-5 zjuYg+Y6w%Y1VA`cSiusY31H-3ayEjxy7dzYYu1O0py@+EL^`%`(0hQ~uN%OT0%-l# z1l@(l07_R3G`uJ{v(ZSg&jy08$5G~B4a^tISnCS3CTYT9v-K=r0O7MX$1IlZ_HA5{IcYNlub^$4}7GzwnLgA jeExq#U;bwzK^q1q%{Xz1H literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682761622_proof_time_per_block.png b/packages/protocol/simulation/plots/1682761622_proof_time_per_block.png new file mode 100644 index 0000000000000000000000000000000000000000..c821643aa39567794d5a36cbd6defafba172baaf GIT binary patch literal 50214 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�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 literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682761622_prop_and_verified_blocks_with_time.png b/packages/protocol/simulation/plots/1682761622_prop_and_verified_blocks_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..9496de4a1a11ab2416e0dfc2e96c24aa59fe803d GIT binary patch literal 61079 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

-x(wMBhlB_&99 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 literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682761795_blockfee_with_time.png b/packages/protocol/simulation/plots/1682761795_blockfee_with_time.png new file mode 100644 index 0000000000000000000000000000000000000000..6c68bbba5f5f2fb58cb967ffaa9416f48cf61927 GIT binary patch literal 53028 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 G5C03xqKQlZ literal 0 HcmV?d00001 diff --git a/packages/protocol/simulation/plots/1682761795_proof_time_per_block.png b/packages/protocol/simulation/plots/1682761795_proof_time_per_block.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ab3d8684d7dc1d4c70489b604389deb902c9cc GIT binary patch literal 50285 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 uint256[] arrivalIdxOfBlockIds) + private _proofTimeToBlockIndexes; + // Pre-calculate propose and prove timestamp + uint64[] blocksProposedTimestamp = new uint64[](blocksToSimulate); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + + bytes32[] parentHashes = new bytes32[](blocksToSimulate); + bytes32[] blockHashes = new bytes32[](blocksToSimulate); + bytes32[] signalRoots = new bytes32[](blocksToSimulate); + uint32[] parentGasUsed = new uint32[](blocksToSimulate); + uint32[] gasUsed = new uint32[](blocksToSimulate); + uint32[] gasLimits = new uint32[](blocksToSimulate); function deployTaikoL1() internal override returns (TaikoL1 taikoL1) { taikoL1 = new TaikoL1_b(); } function setUp() public override { - uint16 proofTimeTarget = 200; // Approx. value which close to what is in the simulation + uint16 proofTimeTarget = PROOF_TIME_TARGET; // Approx. value which close to what is in the simulation initProofTimeIssued = LibLn.calcInitProofTimeIssued( feeBase, @@ -55,114 +100,727 @@ contract TaikoL1Simulation is TaikoL1TestBase { ); TaikoL1TestBase.setUp(); + registerAddress(L1.getVerifierName(100), address(new Verifier())); } - function testGeneratingManyRandomBlocks() external { + // A real world scenario + function xtestGeneratingManyRandomBlocksNonConsecutive() external { uint256 time = block.timestamp; + assertEq(time, 1); depositTaikoToken(Alice, 1E6 * 1E8, 10000 ether); - bytes32 parentHash = GENESIS_BLOCK_HASH; - uint32 parentGasUsed; + TaikoData.BlockMetadata[] memory metas = new TaikoData.BlockMetadata[]( + blocksToSimulate + ); - printVariableHeaders(); - printVariables(); + // Determine every timestamp of the block we want to simulate + console2.log("BlockId, ProofTime"); + for (uint256 i = 0; i < blocksToSimulate; i++) { + newRandomWithoutSalt = uint256( + keccak256( + abi.encodePacked( + block.difficulty, + msg.sender, + block.timestamp, + i, + newRandomWithoutSalt, + salt + ) + ) + ); + blocksProposedTimestamp[i] = uint64( + pickRandomNumber( + newRandomWithoutSalt, + nextBlockTime, + (minDiffToBlockPropTime + 1) + ) + ); + nextBlockTime = blocksProposedTimestamp[i] + minDiffToBlockPropTime; - // Every 1000 blocks take about 40 seconds - // TODO(daniel|dani): change this to 10000 - uint256 blocksToSimulate = 100; - uint256 avgBlockTime = 10 seconds; + // Avg. calculation + if (lastTimestampProp > 0) { + totalDiffsProp += + blocksProposedTimestamp[i] - + lastTimestampProp; + } - for (uint256 blockId = 1; blockId < blocksToSimulate; blockId++) { - uint256 newRandomWithoutSalt = uint256( - keccak256(abi.encodePacked(time, msg.sender, block.timestamp)) + lastTimestampProp = blocksProposedTimestamp[i]; + // We need this info to extract / export !! + //console2.log("Time of PROPOSAL is:", blocksProposedTimestamp[i]); + salt = uint256( + keccak256( + abi.encodePacked( + nextBlockTime, + salt, + i, + newRandomWithoutSalt + ) + ) ); - time += pickRandomNumber( - newRandomWithoutSalt, - avgBlockTime, - (avgBlockTime * 2 - avgBlockTime + 1) + uint64 proofTimePerBlockI = uint64( + pickRandomNumber( + newRandomWithoutSalt, + (nextBlockTime + startBlockProposeTime), + (upperDevToBlockProveTime + 1) + ) ); - //Regenerate salt every time used at pickRandomNumber - salt = uint256(keccak256(abi.encodePacked(time, salt))); - while ((time / 12) * 12 > block.timestamp) { - vm.warp(block.timestamp + 12); - vm.roll(block.number + 1); + if (proofTimePerBlockI > maxTime) { + maxTime = proofTimePerBlockI; } - uint32 gasLimit = uint32( - pickRandomNumber( - newRandomWithoutSalt, - 100E3, - (3000000 - 100000 + 1) + if (lastTimestampProve > 0) { + totalDiffsProve += proofTimePerBlockI - lastTimestampProp; + } + lastTimestampProve = proofTimePerBlockI; + // It is possible that proof for block N+1 comes before N, so we need to keep track of that. Because + // the proofs per block is related to propose of that same block (index). + _proofTimeToBlockIndexes[proofTimePerBlockI].push(i); + + // We need this info to extract / export !! + console2.log(i + 1, ";", proofTimePerBlockI - lastTimestampProp); + salt = uint256( + keccak256(abi.encodePacked(proofTimePerBlockI, salt)) + ); + } + + uint256 proposedIndex; + + console2.log("Last second:", maxTime); + console2.log("Proof time target:", PROOF_TIME_TARGET); + console2.log( + "Average proposal time: ", + totalDiffsProp / blocksToSimulate + ); + console2.log( + "Average proof time: ", + totalDiffsProve / blocksToSimulate + ); + printVariableHeaders(); + //It is a divider / marker for the parser + console2.log("!-----------------------------"); + printVariables(); + // This is a way we can de-couple proposing from proving + for ( + uint256 secondsElapsed = 0; + secondsElapsed <= maxTime; + secondsElapsed++ + ) { + newRandomWithoutSalt = uint256( + keccak256( + abi.encodePacked( + newRandomWithoutSalt, + block.difficulty, + secondsElapsed, + msg.sender, + block.timestamp, + salt + ) ) - ); // 100K to 30M - salt = uint256(keccak256(abi.encodePacked(gasLimit, salt))); + ); + + // We are proposing here + if ( + secondsElapsed == blocksProposedTimestamp[proposedIndex] && + proposedIndex < blocksToSimulate + ) { + //console2.log("FOR CYCLE: Time of PROPOSAL is:", blocksProposedTimestamp[proposedIndex]); + uint32 gasLimit = uint32( + pickRandomNumber( + newRandomWithoutSalt, + 100E3, + (3000000 - 100000 + 1) + ) + ); // 100K to 30M + salt = uint256(keccak256(abi.encodePacked(gasLimit, salt))); - uint32 gasUsed = uint32( + if (proposedIndex == 0) { + parentGasUsed[proposedIndex] = 0; + parentHashes[proposedIndex] = GENESIS_BLOCK_HASH; + } else { + parentGasUsed[proposedIndex] = gasUsed[proposedIndex - 1]; + parentHashes[proposedIndex] = blockHashes[ + proposedIndex - 1 + ]; + } + + gasUsed[proposedIndex] = uint32( + pickRandomNumber( + newRandomWithoutSalt, + (gasLimit / 2), + ((gasLimit / 2) + 1) + ) + ); + salt = uint256(keccak256(abi.encodePacked(gasUsed, salt))); + + uint24 txListSize = uint24( + pickRandomNumber( + newRandomWithoutSalt, + 1, + conf.maxBytesPerTxList + ) //Actually (conf.maxBytesPerTxList-1)+1 but that's the same + ); + salt = uint256(keccak256(abi.encodePacked(txListSize, salt))); + + blockHashes[proposedIndex] = bytes32( + pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + ); + salt = uint256( + keccak256( + abi.encodePacked(blockHashes[proposedIndex], salt) + ) + ); + + signalRoots[proposedIndex] = bytes32( + pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + ); + salt = uint256( + keccak256( + abi.encodePacked(signalRoots[proposedIndex], salt) + ) + ); + + metas[proposedIndex] = proposeBlock( + Alice, + gasLimit, + txListSize + ); + + if (proposedIndex < blocksToSimulate - 1) proposedIndex++; + + printVariables(); + } + + // We are proving here + if (_proofTimeToBlockIndexes[secondsElapsed].length > 0) { + //console2.log("Duplicates check"); + for ( + uint256 i; + i < _proofTimeToBlockIndexes[secondsElapsed].length; + i++ + ) { + uint256 blockId = _proofTimeToBlockIndexes[secondsElapsed][ + i + ]; + + proveBlock( + Bob, + metas[blockId], + parentHashes[blockId], + parentGasUsed[blockId], + gasUsed[blockId], + blockHashes[blockId], + signalRoots[blockId], + false + ); + } + } + + // Increment time with 1 seconds + vm.warp(block.timestamp + 1); + //Log every 12 sec + if (block.timestamp % 12 == 0) { + printVariables(); + } + } + console2.log("-----------------------------!"); + } + + // 90% slow proofs (around 30 mins or so) and 10% (around 1-5 mins ) + function xtest_90percent_slow_10percent_quick() external { + uint256 time = block.timestamp; + + uint256 startBlockProposeTime_quick = 60 seconds; // For the 10% where it is 'quick' + uint256 upperDevToBlockProveTime_quick = 240 seconds; // For the 10% where it is quick + + assertEq(time, 1); + + depositTaikoToken(Alice, 1E6 * 1E8, 10000 ether); + + TaikoData.BlockMetadata[] memory metas = new TaikoData.BlockMetadata[]( + blocksToSimulate + ); + + // Determine every timestamp of the block we want to simulate + console2.log("BlockId, ProofTime"); + for (uint256 i = 0; i < blocksToSimulate; i++) { + newRandomWithoutSalt = uint256( + keccak256( + abi.encodePacked( + block.difficulty, + msg.sender, + block.timestamp, + i, + newRandomWithoutSalt, + salt + ) + ) + ); + blocksProposedTimestamp[i] = uint64( pickRandomNumber( newRandomWithoutSalt, - (gasLimit / 2), - ((gasLimit / 2) + 1) + nextBlockTime, + (minDiffToBlockPropTime + 1) + ) + ); + nextBlockTime = blocksProposedTimestamp[i] + minDiffToBlockPropTime; + + // Avg. calculation + if (lastTimestampProp > 0) { + totalDiffsProp += + blocksProposedTimestamp[i] - + lastTimestampProp; + } + + lastTimestampProp = blocksProposedTimestamp[i]; + // We need this info to extract / export !! + //console2.log("Time of PROPOSAL is:", blocksProposedTimestamp[i]); + salt = uint256( + keccak256( + abi.encodePacked( + nextBlockTime, + salt, + i, + newRandomWithoutSalt + ) + ) + ); + uint64 proofTimePerBlockI; + if (i % 10 == 0) { + // A very quick proof this case + proofTimePerBlockI = uint64( + pickRandomNumber( + newRandomWithoutSalt, + (nextBlockTime + startBlockProposeTime_quick), + (upperDevToBlockProveTime_quick + 1) + ) + ); + + if (proofTimePerBlockI > maxTime) { + maxTime = proofTimePerBlockI; + } + } else { + proofTimePerBlockI = uint64( + pickRandomNumber( + newRandomWithoutSalt, + (nextBlockTime + startBlockProposeTime), + (upperDevToBlockProveTime + 1) + ) + ); + + if (proofTimePerBlockI > maxTime) { + maxTime = proofTimePerBlockI; + } + } + + if (lastTimestampProve > 0) { + totalDiffsProve += proofTimePerBlockI - lastTimestampProp; + } + lastTimestampProve = proofTimePerBlockI; + // It is possible that proof for block N+1 comes before N, so we need to keep track of that. Because + // the proofs per block is related to propose of that same block (index). + _proofTimeToBlockIndexes[proofTimePerBlockI].push(i); + + // We need this info to extract / export !! + console2.log(i + 1, ";", proofTimePerBlockI - lastTimestampProp); + salt = uint256( + keccak256(abi.encodePacked(proofTimePerBlockI, salt)) + ); + } + + uint256 proposedIndex; + + console2.log("Last second:", maxTime); + console2.log("Proof time target:", PROOF_TIME_TARGET); + console2.log( + "Average proposal time: ", + totalDiffsProp / blocksToSimulate + ); + console2.log( + "Average proof time: ", + totalDiffsProve / blocksToSimulate + ); + printVariableHeaders(); + //It is a divider / marker for the parser + console2.log("!-----------------------------"); + printVariables(); + // This is a way we can de-couple proposing from proving + for ( + uint256 secondsElapsed = 0; + secondsElapsed <= maxTime; + secondsElapsed++ + ) { + newRandomWithoutSalt = uint256( + keccak256( + abi.encodePacked( + newRandomWithoutSalt, + block.difficulty, + secondsElapsed, + msg.sender, + block.timestamp, + salt + ) ) ); - salt = uint256(keccak256(abi.encodePacked(gasUsed, salt))); - uint24 txListSize = uint24( + // We are proposing here + if ( + secondsElapsed == blocksProposedTimestamp[proposedIndex] && + proposedIndex < blocksToSimulate + ) { + //console2.log("FOR CYCLE: Time of PROPOSAL is:", blocksProposedTimestamp[proposedIndex]); + uint32 gasLimit = uint32( + pickRandomNumber( + newRandomWithoutSalt, + 100E3, + (3000000 - 100000 + 1) + ) + ); // 100K to 30M + salt = uint256(keccak256(abi.encodePacked(gasLimit, salt))); + + if (proposedIndex == 0) { + parentGasUsed[proposedIndex] = 0; + parentHashes[proposedIndex] = GENESIS_BLOCK_HASH; + } else { + parentGasUsed[proposedIndex] = gasUsed[proposedIndex - 1]; + parentHashes[proposedIndex] = blockHashes[ + proposedIndex - 1 + ]; + } + + gasUsed[proposedIndex] = uint32( + pickRandomNumber( + newRandomWithoutSalt, + (gasLimit / 2), + ((gasLimit / 2) + 1) + ) + ); + salt = uint256(keccak256(abi.encodePacked(gasUsed, salt))); + + uint24 txListSize = uint24( + pickRandomNumber( + newRandomWithoutSalt, + 1, + conf.maxBytesPerTxList + ) //Actually (conf.maxBytesPerTxList-1)+1 but that's the same + ); + salt = uint256(keccak256(abi.encodePacked(txListSize, salt))); + + blockHashes[proposedIndex] = bytes32( + pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + ); + salt = uint256( + keccak256( + abi.encodePacked(blockHashes[proposedIndex], salt) + ) + ); + + signalRoots[proposedIndex] = bytes32( + pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + ); + salt = uint256( + keccak256( + abi.encodePacked(signalRoots[proposedIndex], salt) + ) + ); + + metas[proposedIndex] = proposeBlock( + Alice, + gasLimit, + txListSize + ); + + if (proposedIndex < blocksToSimulate - 1) proposedIndex++; + + printVariables(); + } + + // We are proving here + if (_proofTimeToBlockIndexes[secondsElapsed].length > 0) { + //console2.log("Duplicates check"); + for ( + uint256 i; + i < _proofTimeToBlockIndexes[secondsElapsed].length; + i++ + ) { + uint256 blockId = _proofTimeToBlockIndexes[secondsElapsed][ + i + ]; + + proveBlock( + Bob, + metas[blockId], + parentHashes[blockId], + parentGasUsed[blockId], + gasUsed[blockId], + blockHashes[blockId], + signalRoots[blockId], + false + ); + } + } + + // Increment time with 1 seconds + vm.warp(block.timestamp + 1); + //Log every 12 sec + if (block.timestamp % 12 == 0) { + printVariables(); + } + } + console2.log("-----------------------------!"); + } + + // 90% slow proofs (around 30 mins or so) and 10% (around 1-5 mins ) + function test_90percent_quick_10percent_slow() external { + uint256 time = block.timestamp; + uint256 startBlockProposeTime_quick = 60 seconds; // For the 10% where it is 'quick' + uint256 upperDevToBlockProveTime_quick = 240 seconds; // For the 10% where it is quick + + assertEq(time, 1); + + depositTaikoToken(Alice, 1E6 * 1E8, 10000 ether); + + TaikoData.BlockMetadata[] memory metas = new TaikoData.BlockMetadata[]( + blocksToSimulate + ); + + // Determine every timestamp of the block we want to simulate + console2.log("BlockId, ProofTime"); + for (uint256 i = 0; i < blocksToSimulate; i++) { + newRandomWithoutSalt = uint256( + keccak256( + abi.encodePacked( + block.difficulty, + msg.sender, + block.timestamp, + i, + newRandomWithoutSalt, + salt + ) + ) + ); + blocksProposedTimestamp[i] = uint64( pickRandomNumber( newRandomWithoutSalt, - 1, - conf.maxBytesPerTxList - ) //Actually (conf.maxBytesPerTxList-1)+1 but that's the same + nextBlockTime, + (minDiffToBlockPropTime + 1) + ) ); - salt = uint256(keccak256(abi.encodePacked(txListSize, salt))); + nextBlockTime = blocksProposedTimestamp[i] + minDiffToBlockPropTime; + + // Avg. calculation + if (lastTimestampProp > 0) { + totalDiffsProp += + blocksProposedTimestamp[i] - + lastTimestampProp; + } - bytes32 blockHash = bytes32( - pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + lastTimestampProp = blocksProposedTimestamp[i]; + // We need this info to extract / export !! + //console2.log("Time of PROPOSAL is:", blocksProposedTimestamp[i]); + salt = uint256( + keccak256( + abi.encodePacked( + nextBlockTime, + salt, + i, + newRandomWithoutSalt + ) + ) ); - salt = uint256(keccak256(abi.encodePacked(blockHash, salt))); - bytes32 signalRoot = bytes32( - pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + uint64 proofTimePerBlockI; + if (i % 10 == 0) { + // 10% 'slow proofs' + proofTimePerBlockI = uint64( + pickRandomNumber( + newRandomWithoutSalt, + (nextBlockTime + startBlockProposeTime), + (upperDevToBlockProveTime + 1) + ) + ); + + if (proofTimePerBlockI > maxTime) { + maxTime = proofTimePerBlockI; + } + } else { + // A very quick proof this case + proofTimePerBlockI = uint64( + pickRandomNumber( + newRandomWithoutSalt, + (nextBlockTime + startBlockProposeTime_quick), + (upperDevToBlockProveTime_quick + 1) + ) + ); + + if (proofTimePerBlockI > maxTime) { + maxTime = proofTimePerBlockI; + } + } + + if (proofTimePerBlockI > maxTime) { + maxTime = proofTimePerBlockI; + } + + if (lastTimestampProve > 0) { + totalDiffsProve += proofTimePerBlockI - lastTimestampProp; + } + lastTimestampProve = proofTimePerBlockI; + // It is possible that proof for block N+1 comes before N, so we need to keep track of that. Because + // the proofs per block is related to propose of that same block (index). + _proofTimeToBlockIndexes[proofTimePerBlockI].push(i); + + // We need this info to extract / export !! + console2.log(i + 1, ";", proofTimePerBlockI - lastTimestampProp); + salt = uint256( + keccak256(abi.encodePacked(proofTimePerBlockI, salt)) ); - salt = uint256(keccak256(abi.encodePacked(signalRoot, salt))); + } - TaikoData.BlockMetadata memory meta = proposeBlock( - Alice, - gasLimit, - txListSize + uint256 proposedIndex; + + console2.log("Last second:", maxTime); + console2.log("Proof time target:", PROOF_TIME_TARGET); + console2.log( + "Average proposal time: ", + totalDiffsProp / blocksToSimulate + ); + console2.log( + "Average proof time: ", + totalDiffsProve / blocksToSimulate + ); + printVariableHeaders(); + //It is a divider / marker for the parser + console2.log("!-----------------------------"); + printVariables(); + // This is a way we can de-couple proposing from proving + for ( + uint256 secondsElapsed = 0; + secondsElapsed <= maxTime; + secondsElapsed++ + ) { + newRandomWithoutSalt = uint256( + keccak256( + abi.encodePacked( + newRandomWithoutSalt, + block.difficulty, + secondsElapsed, + msg.sender, + block.timestamp, + salt + ) + ) ); - // Here we need to have some time elapsed between propose and prove - // Realistically lets make it somewhere 160-240 sec, it is realistic - // for a testnet. - uint256 proveTimeCnt = pickRandomNumber(newRandomWithoutSalt, 8, 5); + // We are proposing here + if ( + secondsElapsed == blocksProposedTimestamp[proposedIndex] && + proposedIndex < blocksToSimulate + ) { + //console2.log("FOR CYCLE: Time of PROPOSAL is:", blocksProposedTimestamp[proposedIndex]); + uint32 gasLimit = uint32( + pickRandomNumber( + newRandomWithoutSalt, + 100E3, + (3000000 - 100000 + 1) + ) + ); // 100K to 30M + salt = uint256(keccak256(abi.encodePacked(gasLimit, salt))); - salt = uint256(keccak256(abi.encodePacked(proveTimeCnt, salt))); - //console2.log("salt:", salt); + if (proposedIndex == 0) { + parentGasUsed[proposedIndex] = 0; + parentHashes[proposedIndex] = GENESIS_BLOCK_HASH; + } else { + parentGasUsed[proposedIndex] = gasUsed[proposedIndex - 1]; + parentHashes[proposedIndex] = blockHashes[ + proposedIndex - 1 + ]; + } - mine(proveTimeCnt); + gasUsed[proposedIndex] = uint32( + pickRandomNumber( + newRandomWithoutSalt, + (gasLimit / 2), + ((gasLimit / 2) + 1) + ) + ); + salt = uint256(keccak256(abi.encodePacked(gasUsed, salt))); - proveBlock( - Bob, - meta, - parentHash, - parentGasUsed, - gasUsed, - blockHash, - signalRoot, - false - ); - printVariables(); + uint24 txListSize = uint24( + pickRandomNumber( + newRandomWithoutSalt, + 1, + conf.maxBytesPerTxList + ) //Actually (conf.maxBytesPerTxList-1)+1 but that's the same + ); + salt = uint256(keccak256(abi.encodePacked(txListSize, salt))); + + blockHashes[proposedIndex] = bytes32( + pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + ); + salt = uint256( + keccak256( + abi.encodePacked(blockHashes[proposedIndex], salt) + ) + ); + + signalRoots[proposedIndex] = bytes32( + pickRandomNumber(newRandomWithoutSalt, 0, type(uint256).max) + ); + salt = uint256( + keccak256( + abi.encodePacked(signalRoots[proposedIndex], salt) + ) + ); - parentHash = blockHash; - parentGasUsed = gasUsed; + metas[proposedIndex] = proposeBlock( + Alice, + gasLimit, + txListSize + ); + + if (proposedIndex < blocksToSimulate - 1) proposedIndex++; + + printVariables(); + } + + // We are proving here + if (_proofTimeToBlockIndexes[secondsElapsed].length > 0) { + //console2.log("Duplicates check"); + for ( + uint256 i; + i < _proofTimeToBlockIndexes[secondsElapsed].length; + i++ + ) { + uint256 blockId = _proofTimeToBlockIndexes[secondsElapsed][ + i + ]; + + proveBlock( + Bob, + metas[blockId], + parentHashes[blockId], + parentGasUsed[blockId], + gasUsed[blockId], + blockHashes[blockId], + signalRoots[blockId], + false + ); + } + } + + // Increment time with 1 seconds + vm.warp(block.timestamp + 1); + //Log every 12 sec + if (block.timestamp % 12 == 0) { + printVariables(); + } } - console2.log("-----------------------------"); - console2.log("avgBlockTime:", avgBlockTime); + console2.log("-----------------------------!"); } // TODO(daniel|dani): log enough state variables for analysis. @@ -183,15 +841,15 @@ contract TaikoL1Simulation is TaikoL1TestBase { TaikoData.StateVariables memory vars = L1.getStateVariables(); string memory str = string.concat( Strings.toString(logCount++), - ",", + ";", Strings.toString(block.timestamp), - ",", + ";", Strings.toString(vars.lastVerifiedBlockId), - ",", + ";", Strings.toString(vars.numBlocks), - ",", + ";", Strings.toString(vars.blockFee), - ",", + ";", Strings.toString(vars.accProposedAt) ); console2.log(str); From 85708065a7945e87e995a102b4de16c68d593c3c Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Tue, 2 May 2023 13:31:26 +0800 Subject: [PATCH 25/34] Update packages/protocol/test/Taiko1559Params.t.sol Co-authored-by: dave | d1onys1us <13951458+d1onys1us@users.noreply.github.com> --- packages/protocol/test/Taiko1559Params.t.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/test/Taiko1559Params.t.sol b/packages/protocol/test/Taiko1559Params.t.sol index f83865533f9..3bb143538e0 100644 --- a/packages/protocol/test/Taiko1559Params.t.sol +++ b/packages/protocol/test/Taiko1559Params.t.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: UNLICENSED +// SPDX-License-Identifier: MIT pragma solidity ^0.8.18; import {Test} from "forge-std/Test.sol"; From 76a43d3440986999cfb7cfc1e49dcc152971586f Mon Sep 17 00:00:00 2001 From: dave | d1onys1us <13951458+d1onys1us@users.noreply.github.com> Date: Tue, 2 May 2023 22:22:49 +0900 Subject: [PATCH 26/34] fix(repo): replace xchainsync to valid capwords style and choose clarity over brevity (#13689) --- .../Transactions/Transaction.svelte | 4 +- .../{IXchainSync.ts => ICrossChainSync.ts} | 6 +- .../bridge-ui/src/proof/ProofService.spec.ts | 2 +- packages/bridge-ui/src/proof/ProofService.ts | 4 +- .../eventindexer/contracts/taikol1/TaikoL1.go | 102 ++--- packages/protocol/contracts/L1/TaikoL1.sol | 13 +- .../contracts/L1/libs/LibVerifying.sol | 8 +- packages/protocol/contracts/L2/TaikoL2.sol | 10 +- .../contracts/bridge/libs/LibBridgeStatus.sol | 7 +- .../{IXchainSync.sol => ICrossChainSync.sol} | 10 +- .../contracts/signal/SignalService.sol | 6 +- .../contracts/test/bridge/TestHeaderSync.sol | 12 +- packages/protocol/test/Bridge.t.sol | 22 +- packages/protocol/test/SignalService.t.sol | 26 +- packages/protocol/test/TaikoL1.t.sol | 20 +- ...{IXchainSync.json => ICrossChainSync.json} | 6 +- packages/relayer/TaikoL1.json | 6 +- packages/relayer/abigen.sh | 4 +- .../icrosschainsync/ICrossChainSync.go | 389 ++++++++++++++++++ .../contracts/ixchainsync/IXchainSync.go | 389 ------------------ packages/relayer/contracts/taikol1/TaikoL1.go | 100 ++--- packages/relayer/contracts/taikol2/TaikoL2.go | 102 ++--- packages/relayer/header_syncer.go | 2 +- packages/relayer/indexer/service.go | 4 +- packages/relayer/message/process_message.go | 2 +- packages/relayer/message/processor_test.go | 22 +- .../relayer/message/wait_header_synced.go | 6 +- packages/relayer/mock/header_syncer.go | 2 +- .../status-page/src/constants/abi/TaikoL1.ts | 6 +- .../src/utils/getLatestSyncedHeader.ts | 2 +- .../src/utils/watchHeaderSynced.ts | 9 +- .../contract-documentation/L1/TaikoL1.md | 8 +- .../contract-documentation/L2/TaikoL2.md | 8 +- .../{IXchainSync.md => ICrossChainSync.md} | 16 +- 34 files changed, 677 insertions(+), 658 deletions(-) rename packages/bridge-ui/src/constants/abi/{IXchainSync.ts => ICrossChainSync.ts} (91%) rename packages/protocol/contracts/common/{IXchainSync.sol => ICrossChainSync.sol} (83%) rename packages/relayer/{IXchainSync.json => ICrossChainSync.json} (90%) create mode 100644 packages/relayer/contracts/icrosschainsync/ICrossChainSync.go delete mode 100644 packages/relayer/contracts/ixchainsync/IXchainSync.go rename packages/website/pages/docs/reference/contract-documentation/common/{IXchainSync.md => ICrossChainSync.md} (76%) diff --git a/packages/bridge-ui/src/components/Transactions/Transaction.svelte b/packages/bridge-ui/src/components/Transactions/Transaction.svelte index 6abc5ce8c8b..6c9b25d579a 100644 --- a/packages/bridge-ui/src/components/Transactions/Transaction.svelte +++ b/packages/bridge-ui/src/components/Transactions/Transaction.svelte @@ -13,7 +13,7 @@ import { LottiePlayer } from '@lottiefiles/svelte-lottie-player'; import { errorToast, successToast } from '../Toast.svelte'; - import HeaderSyncABI from '../../constants/abi/IXchainSync'; + import HeaderSyncABI from '../../constants/abi/ICrossChainSync'; import BridgeABI from '../../constants/abi/Bridge'; import ButtonWithTooltip from '../ButtonWithTooltip.svelte'; import TokenVaultABI from '../../constants/abi/TokenVault'; @@ -180,7 +180,7 @@ providers[chains[transaction.toChainId].id], ); - const latestSyncedHeader = await contract.getXchainBlockHash(0); + const latestSyncedHeader = await contract.getCrossChainBlockHash(0); const srcBlock = await providers[ chains[transaction.fromChainId].id ].getBlock(latestSyncedHeader); diff --git a/packages/bridge-ui/src/constants/abi/IXchainSync.ts b/packages/bridge-ui/src/constants/abi/ICrossChainSync.ts similarity index 91% rename from packages/bridge-ui/src/constants/abi/IXchainSync.ts rename to packages/bridge-ui/src/constants/abi/ICrossChainSync.ts index 86468508928..6c721344260 100644 --- a/packages/bridge-ui/src/constants/abi/IXchainSync.ts +++ b/packages/bridge-ui/src/constants/abi/ICrossChainSync.ts @@ -21,7 +21,7 @@ export default [ type: 'bytes32', }, ], - name: 'XchainSynced', + name: 'CrossChainSynced', type: 'event', }, { @@ -32,7 +32,7 @@ export default [ type: 'uint256', }, ], - name: 'getXchainBlockHash', + name: 'getCrossChainBlockHash', outputs: [ { internalType: 'bytes32', @@ -51,7 +51,7 @@ export default [ type: 'uint256', }, ], - name: 'getXchainSignalRoot', + name: 'getCrossChainSignalRoot', outputs: [ { internalType: 'bytes32', diff --git a/packages/bridge-ui/src/proof/ProofService.spec.ts b/packages/bridge-ui/src/proof/ProofService.spec.ts index d24bf1f4461..cab7c3da7bf 100644 --- a/packages/bridge-ui/src/proof/ProofService.spec.ts +++ b/packages/bridge-ui/src/proof/ProofService.spec.ts @@ -7,7 +7,7 @@ const mockProvider = { }; const mockContract = { - getXchainBlockHash: jest.fn(), + getCrossChainBlockHash: jest.fn(), }; jest.mock('ethers', () => ({ diff --git a/packages/bridge-ui/src/proof/ProofService.ts b/packages/bridge-ui/src/proof/ProofService.ts index 4fc62d8ab71..d560aba3f26 100644 --- a/packages/bridge-ui/src/proof/ProofService.ts +++ b/packages/bridge-ui/src/proof/ProofService.ts @@ -1,6 +1,6 @@ import { Contract, ethers } from 'ethers'; import { RLP } from 'ethers/lib/utils.js'; -import HeaderSyncABI from '../constants/abi/IXchainSync'; +import HeaderSyncABI from '../constants/abi/ICrossChainSync'; import type { Block, BlockHeader } from '../domain/block'; import type { Prover, @@ -36,7 +36,7 @@ export class ProofService implements Prover { contract: ethers.Contract, provider: ethers.providers.StaticJsonRpcProvider, ): Promise<{ block: Block; blockHeader: BlockHeader }> { - const latestSyncedHeader = await contract.getXchainBlockHash(0); + const latestSyncedHeader = await contract.getCrossChainBlockHash(0); const block: Block = await provider.send('eth_getBlockByHash', [ latestSyncedHeader, diff --git a/packages/eventindexer/contracts/taikol1/TaikoL1.go b/packages/eventindexer/contracts/taikol1/TaikoL1.go index 7f5b3a16a0f..e9be7137fdb 100644 --- a/packages/eventindexer/contracts/taikol1/TaikoL1.go +++ b/packages/eventindexer/contracts/taikol1/TaikoL1.go @@ -102,7 +102,7 @@ type TaikoDataStateVariables struct { // TaikoL1MetaData contains all meta data concerning the TaikoL1 contract. var TaikoL1MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"L1_1559_X_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_1559_Y_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_ETHER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_ETH_DEPOSIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_L21559_PARAMS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit\",\"name\":\"deposit\",\"type\":\"tuple\"}],\"name\":\"EthDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"XchainSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositEtherToL2\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getBlock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_proposedAt\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ringBufferSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"txListCacheExpiry\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofCooldownPeriod\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"maxEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"minEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeTarget\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"adjustmentQuotient\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"relaySignalRoot\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableSoloProposer\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"parentGasUsed\",\"type\":\"uint32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"gasUsed\",\"type\":\"uint32\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEthDeposits\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTaikoTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"id\",\"type\":\"uint16\"}],\"name\":\"getVerifierName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getXchainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getXchainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_initBasefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_initProofTimeIssued\",\"type\":\"uint64\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"}],\"name\":\"proposeBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"staticRefs\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved71\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved72\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved91\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", + ABI: "[{\"inputs\":[],\"name\":\"L1_1559_X_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_1559_Y_SCALE_TOO_LARGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ALREADY_PROVEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_BLOCK_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_CONTRACT_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L1_EVIDENCE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_FORK_CHOICE_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_ETHER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INSUFFICIENT_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_CONFIG\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_ETH_DEPOSIT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_EVIDENCE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_L21559_PARAMS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PARAM\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_INVALID_PROOF\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_ORACLE_PROVER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_NOT_SOLO_PROPOSER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_ORACLE_DISABLED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TOO_MANY_BLOCKS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_HASH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_NOT_EXIST\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L1_TX_LIST_RANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"name\":\"BlockProposed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"}],\"name\":\"BlockProven\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"BlockVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"indexed\":false,\"internalType\":\"structTaikoData.EthDeposit\",\"name\":\"deposit\",\"type\":\"tuple\"}],\"name\":\"EthDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"CrossChainSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositEtherToL2\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getBlock\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_metaHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_deposit\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_proposedAt\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockFee\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumProposedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ringBufferSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxNumVerifiedBlocks\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxVerificationsPerTx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockMaxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTransactionsPerBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxBytesPerTxList\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minTxGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"txListCacheExpiry\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofCooldownPeriod\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maxEthDepositsPerBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint96\",\"name\":\"maxEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"minEthDepositAmount\",\"type\":\"uint96\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeTarget\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"adjustmentQuotient\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"relaySignalRoot\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"enableSoloProposer\",\"type\":\"bool\"}],\"internalType\":\"structTaikoData.Config\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"parentGasUsed\",\"type\":\"uint32\"}],\"name\":\"getForkChoice\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"prover\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"gasUsed\",\"type\":\"uint32\"}],\"internalType\":\"structTaikoData.ForkChoice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"provenAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proposedAt\",\"type\":\"uint64\"}],\"name\":\"getProofReward\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateVariables\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEthDeposits\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoData.StateVariables\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getTaikoTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"id\",\"type\":\"uint16\"}],\"name\":\"getVerifierName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getCrossChainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"}],\"name\":\"getCrossChainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_genesisBlockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_initBasefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_initProofTimeIssued\",\"type\":\"uint64\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"txList\",\"type\":\"bytes\"}],\"name\":\"proposeBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"id\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"mixHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"depositsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"txListHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"txListByteStart\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"txListByteEnd\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"cacheTxListInfo\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"treasure\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"}],\"internalType\":\"structTaikoData.EthDeposit[]\",\"name\":\"depositsProcessed\",\"type\":\"tuple[]\"}],\"internalType\":\"structTaikoData.BlockMetadata\",\"name\":\"meta\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"proveBlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"state\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"staticRefs\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"genesisHeight\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"genesisTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved71\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved72\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accProposedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"accBlockFees\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numBlocks\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEthDepositToProcess\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"proofTimeIssued\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastVerifiedBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"__reserved91\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxBlocks\",\"type\":\"uint256\"}],\"name\":\"verifyBlocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTaikoToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]", } // TaikoL1ABI is the input ABI used to generate the binding from. @@ -554,12 +554,12 @@ func (_TaikoL1 *TaikoL1CallerSession) GetVerifierName(id uint16) (string, error) return _TaikoL1.Contract.GetVerifierName(&_TaikoL1.CallOpts, id) } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1Caller) GetXchainBlockHash(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { +// Solidity: function getCrossChainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Caller) GetCrossChainBlockHash(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getXchainBlockHash", blockId) + err := _TaikoL1.contract.Call(opts, &out, "getCrossChainBlockHash", blockId) if err != nil { return *new([32]byte), err @@ -571,26 +571,26 @@ func (_TaikoL1 *TaikoL1Caller) GetXchainBlockHash(opts *bind.CallOpts, blockId * } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1Session) GetXchainBlockHash(blockId *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetXchainBlockHash(&_TaikoL1.CallOpts, blockId) +// Solidity: function getCrossChainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Session) GetCrossChainBlockHash(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetCrossChainBlockHash(&_TaikoL1.CallOpts, blockId) } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1CallerSession) GetXchainBlockHash(blockId *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetXchainBlockHash(&_TaikoL1.CallOpts, blockId) +// Solidity: function getCrossChainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1CallerSession) GetCrossChainBlockHash(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetCrossChainBlockHash(&_TaikoL1.CallOpts, blockId) } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1Caller) GetXchainSignalRoot(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { +// Solidity: function getCrossChainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Caller) GetCrossChainSignalRoot(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getXchainSignalRoot", blockId) + err := _TaikoL1.contract.Call(opts, &out, "getCrossChainSignalRoot", blockId) if err != nil { return *new([32]byte), err @@ -602,18 +602,18 @@ func (_TaikoL1 *TaikoL1Caller) GetXchainSignalRoot(opts *bind.CallOpts, blockId } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1Session) GetXchainSignalRoot(blockId *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetXchainSignalRoot(&_TaikoL1.CallOpts, blockId) +// Solidity: function getCrossChainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Session) GetCrossChainSignalRoot(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetCrossChainSignalRoot(&_TaikoL1.CallOpts, blockId) } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1CallerSession) GetXchainSignalRoot(blockId *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetXchainSignalRoot(&_TaikoL1.CallOpts, blockId) +// Solidity: function getCrossChainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1CallerSession) GetCrossChainSignalRoot(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetCrossChainSignalRoot(&_TaikoL1.CallOpts, blockId) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. @@ -1878,9 +1878,9 @@ func (_TaikoL1 *TaikoL1Filterer) ParseOwnershipTransferred(log types.Log) (*Taik return event, nil } -// TaikoL1XchainSyncedIterator is returned from FilterXchainSynced and is used to iterate over the raw logs and unpacked data for XchainSynced events raised by the TaikoL1 contract. -type TaikoL1XchainSyncedIterator struct { - Event *TaikoL1XchainSynced // Event containing the contract specifics and raw log +// TaikoL1CrossChainSyncedIterator is returned from FilterCrossChainSynced and is used to iterate over the raw logs and unpacked data for CrossChainSynced events raised by the TaikoL1 contract. +type TaikoL1CrossChainSyncedIterator struct { + Event *TaikoL1CrossChainSynced // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1894,7 +1894,7 @@ type TaikoL1XchainSyncedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1XchainSyncedIterator) Next() bool { +func (it *TaikoL1CrossChainSyncedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1903,7 +1903,7 @@ func (it *TaikoL1XchainSyncedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1XchainSynced) + it.Event = new(TaikoL1CrossChainSynced) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1918,7 +1918,7 @@ func (it *TaikoL1XchainSyncedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1XchainSynced) + it.Event = new(TaikoL1CrossChainSynced) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1934,53 +1934,53 @@ func (it *TaikoL1XchainSyncedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1XchainSyncedIterator) Error() error { +func (it *TaikoL1CrossChainSyncedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1XchainSyncedIterator) Close() error { +func (it *TaikoL1CrossChainSyncedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1XchainSynced represents a XchainSynced event raised by the TaikoL1 contract. -type TaikoL1XchainSynced struct { +// TaikoL1CrossChainSynced represents a CrossChainSynced event raised by the TaikoL1 contract. +type TaikoL1CrossChainSynced struct { SrcHeight *big.Int BlockHash [32]byte SignalRoot [32]byte Raw types.Log // Blockchain specific contextual infos } -// FilterXchainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// FilterCrossChainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) FilterXchainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL1XchainSyncedIterator, error) { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) FilterCrossChainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL1CrossChainSyncedIterator, error) { var srcHeightRule []interface{} for _, srcHeightItem := range srcHeight { srcHeightRule = append(srcHeightRule, srcHeightItem) } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "XchainSynced", srcHeightRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "CrossChainSynced", srcHeightRule) if err != nil { return nil, err } - return &TaikoL1XchainSyncedIterator{contract: _TaikoL1.contract, event: "XchainSynced", logs: logs, sub: sub}, nil + return &TaikoL1CrossChainSyncedIterator{contract: _TaikoL1.contract, event: "CrossChainSynced", logs: logs, sub: sub}, nil } -// WatchXchainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// WatchCrossChainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1XchainSynced, srcHeight []*big.Int) (event.Subscription, error) { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) WatchCrossChainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1CrossChainSynced, srcHeight []*big.Int) (event.Subscription, error) { var srcHeightRule []interface{} for _, srcHeightItem := range srcHeight { srcHeightRule = append(srcHeightRule, srcHeightItem) } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "XchainSynced", srcHeightRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "CrossChainSynced", srcHeightRule) if err != nil { return nil, err } @@ -1990,8 +1990,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink ch select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1XchainSynced) - if err := _TaikoL1.contract.UnpackLog(event, "XchainSynced", log); err != nil { + event := new(TaikoL1CrossChainSynced) + if err := _TaikoL1.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { return err } event.Raw = log @@ -2012,12 +2012,12 @@ func (_TaikoL1 *TaikoL1Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink ch }), nil } -// ParseXchainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// ParseCrossChainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) ParseXchainSynced(log types.Log) (*TaikoL1XchainSynced, error) { - event := new(TaikoL1XchainSynced) - if err := _TaikoL1.contract.UnpackLog(event, "XchainSynced", log); err != nil { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) ParseCrossChainSynced(log types.Log) (*TaikoL1CrossChainSynced, error) { + event := new(TaikoL1CrossChainSynced) + if err := _TaikoL1.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { return nil, err } event.Raw = log diff --git a/packages/protocol/contracts/L1/TaikoL1.sol b/packages/protocol/contracts/L1/TaikoL1.sol index d8b91dd62e7..2bb78cbe6a9 100644 --- a/packages/protocol/contracts/L1/TaikoL1.sol +++ b/packages/protocol/contracts/L1/TaikoL1.sol @@ -8,7 +8,7 @@ pragma solidity ^0.8.18; import {AddressResolver} from "../common/AddressResolver.sol"; import {EssentialContract} from "../common/EssentialContract.sol"; -import {IXchainSync} from "../common/IXchainSync.sol"; +import {ICrossChainSync} from "../common/ICrossChainSync.sol"; import {LibEthDepositing} from "./libs/LibEthDepositing.sol"; import {LibTokenomics} from "./libs/LibTokenomics.sol"; import {LibProposing} from "./libs/LibProposing.sol"; @@ -20,7 +20,12 @@ import {TaikoErrors} from "./TaikoErrors.sol"; import {TaikoData} from "./TaikoData.sol"; import {TaikoEvents} from "./TaikoEvents.sol"; -contract TaikoL1 is EssentialContract, IXchainSync, TaikoEvents, TaikoErrors { +contract TaikoL1 is + EssentialContract, + ICrossChainSync, + TaikoEvents, + TaikoErrors +{ using LibUtils for TaikoData.State; TaikoData.State public state; @@ -204,7 +209,7 @@ contract TaikoL1 is EssentialContract, IXchainSync, TaikoEvents, TaikoErrors { }); } - function getXchainBlockHash( + function getCrossChainBlockHash( uint256 blockId ) public view override returns (bytes32) { (bool found, TaikoData.Block storage blk) = LibUtils.getL2ChainData({ @@ -218,7 +223,7 @@ contract TaikoL1 is EssentialContract, IXchainSync, TaikoEvents, TaikoErrors { : bytes32(0); } - function getXchainSignalRoot( + function getCrossChainSignalRoot( uint256 blockId ) public view override returns (bytes32) { (bool found, TaikoData.Block storage blk) = LibUtils.getL2ChainData({ diff --git a/packages/protocol/contracts/L1/libs/LibVerifying.sol b/packages/protocol/contracts/L1/libs/LibVerifying.sol index 33c9e1b1f81..f8818422f4d 100644 --- a/packages/protocol/contracts/L1/libs/LibVerifying.sol +++ b/packages/protocol/contracts/L1/libs/LibVerifying.sol @@ -21,7 +21,7 @@ library LibVerifying { event BlockVerified(uint256 indexed id, bytes32 blockHash); - event XchainSynced( + event CrossChainSynced( uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot @@ -142,7 +142,11 @@ library LibVerifying { ISignalService(resolver.resolve("signal_service", false)) .sendSignal(signalRoot); } - emit XchainSynced(state.lastVerifiedBlockId, blockHash, signalRoot); + emit CrossChainSynced( + state.lastVerifiedBlockId, + blockHash, + signalRoot + ); } } diff --git a/packages/protocol/contracts/L2/TaikoL2.sol b/packages/protocol/contracts/L2/TaikoL2.sol index 660dc3de69e..4f873028e99 100644 --- a/packages/protocol/contracts/L2/TaikoL2.sol +++ b/packages/protocol/contracts/L2/TaikoL2.sol @@ -7,7 +7,7 @@ pragma solidity ^0.8.18; import {EssentialContract} from "../common/EssentialContract.sol"; -import {IXchainSync} from "../common/IXchainSync.sol"; +import {ICrossChainSync} from "../common/ICrossChainSync.sol"; import {LibL2Consts} from "./LibL2Consts.sol"; import {LibMath} from "../libs/LibMath.sol"; import {Lib1559Math} from "../libs/Lib1559Math.sol"; @@ -16,7 +16,7 @@ import { SafeCastUpgradeable } from "@openzeppelin/contracts-upgradeable/utils/math/SafeCastUpgradeable.sol"; -contract TaikoL2 is EssentialContract, TaikoL2Signer, IXchainSync { +contract TaikoL2 is EssentialContract, TaikoL2Signer, ICrossChainSync { using SafeCastUpgradeable for uint256; using LibMath for uint256; @@ -178,7 +178,7 @@ contract TaikoL2 is EssentialContract, TaikoL2Signer, IXchainSync { latestSyncedL1Height = l1Height; _l1VerifiedBlocks[l1Height] = VerifiedBlock(l1Hash, l1SignalRoot); - emit XchainSynced(l1Height, l1Hash, l1SignalRoot); + emit CrossChainSynced(l1Height, l1Hash, l1SignalRoot); // Check EIP-1559 basefee uint256 basefee; @@ -225,14 +225,14 @@ contract TaikoL2 is EssentialContract, TaikoL2Signer, IXchainSync { (_basefee, ) = _calcBasefee(timeSinceParent, gasLimit, parentGasUsed); } - function getXchainBlockHash( + function getCrossChainBlockHash( uint256 number ) public view override returns (bytes32) { uint256 _number = number == 0 ? latestSyncedL1Height : number; return _l1VerifiedBlocks[_number].blockHash; } - function getXchainSignalRoot( + function getCrossChainSignalRoot( uint256 number ) public view override returns (bytes32) { uint256 _number = number == 0 ? latestSyncedL1Height : number; diff --git a/packages/protocol/contracts/bridge/libs/LibBridgeStatus.sol b/packages/protocol/contracts/bridge/libs/LibBridgeStatus.sol index c6a91d29b47..13f6baa5b61 100644 --- a/packages/protocol/contracts/bridge/libs/LibBridgeStatus.sol +++ b/packages/protocol/contracts/bridge/libs/LibBridgeStatus.sol @@ -8,7 +8,7 @@ pragma solidity ^0.8.18; import {AddressResolver} from "../../common/AddressResolver.sol"; import {BlockHeader, LibBlockHeader} from "../../libs/LibBlockHeader.sol"; -import {IXchainSync} from "../../common/IXchainSync.sol"; +import {ICrossChainSync} from "../../common/ICrossChainSync.sol"; import {LibBridgeData} from "./LibBridgeData.sol"; import {LibTrieProof} from "../../libs/LibTrieProof.sol"; @@ -76,8 +76,9 @@ library LibBridgeStatus { (LibBridgeData.StatusProof) ); - bytes32 syncedHeaderHash = IXchainSync(resolver.resolve("taiko", false)) - .getXchainBlockHash(sp.header.height); + bytes32 syncedHeaderHash = ICrossChainSync( + resolver.resolve("taiko", false) + ).getCrossChainBlockHash(sp.header.height); if ( syncedHeaderHash == 0 || diff --git a/packages/protocol/contracts/common/IXchainSync.sol b/packages/protocol/contracts/common/ICrossChainSync.sol similarity index 83% rename from packages/protocol/contracts/common/IXchainSync.sol rename to packages/protocol/contracts/common/ICrossChainSync.sol index 26a21e375da..6afef836b07 100644 --- a/packages/protocol/contracts/common/IXchainSync.sol +++ b/packages/protocol/contracts/common/ICrossChainSync.sol @@ -11,8 +11,8 @@ pragma solidity ^0.8.18; * the methods needed to access the block hashes of the other chain. */ -interface IXchainSync { - event XchainSynced( +interface ICrossChainSync { + event CrossChainSynced( uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot @@ -23,7 +23,9 @@ interface IXchainSync { * @param number The block number. Use 0 for the latest block. * @return The cross-chain block hash. */ - function getXchainBlockHash(uint256 number) external view returns (bytes32); + function getCrossChainBlockHash( + uint256 number + ) external view returns (bytes32); /** * @notice Returns the cross-chain signal service storage root at the given @@ -31,7 +33,7 @@ interface IXchainSync { * @param number The block number. Use 0 for the latest block. * @return The cross-chain signal service storage root. */ - function getXchainSignalRoot( + function getCrossChainSignalRoot( uint256 number ) external view returns (bytes32); } diff --git a/packages/protocol/contracts/signal/SignalService.sol b/packages/protocol/contracts/signal/SignalService.sol index 9c1525fafa2..28b4adab653 100644 --- a/packages/protocol/contracts/signal/SignalService.sol +++ b/packages/protocol/contracts/signal/SignalService.sol @@ -8,7 +8,7 @@ pragma solidity ^0.8.18; import {EssentialContract} from "../common/EssentialContract.sol"; import {ISignalService} from "./ISignalService.sol"; -import {IXchainSync} from "../common/IXchainSync.sol"; +import {ICrossChainSync} from "../common/ICrossChainSync.sol"; import {LibSecureMerkleTrie} from "../thirdparty/LibSecureMerkleTrie.sol"; contract SignalService is ISignalService, EssentialContract { @@ -70,8 +70,8 @@ contract SignalService is ISignalService, EssentialContract { SignalProof memory sp = abi.decode(proof, (SignalProof)); // Resolve the TaikoL1 or TaikoL2 contract if on Ethereum or Taiko. - bytes32 syncedSignalRoot = IXchainSync(resolve("taiko", false)) - .getXchainSignalRoot(sp.height); + bytes32 syncedSignalRoot = ICrossChainSync(resolve("taiko", false)) + .getCrossChainSignalRoot(sp.height); return LibSecureMerkleTrie.verifyInclusionProof( diff --git a/packages/protocol/contracts/test/bridge/TestHeaderSync.sol b/packages/protocol/contracts/test/bridge/TestHeaderSync.sol index 22916ccf4d1..2bfcd5f4d87 100644 --- a/packages/protocol/contracts/test/bridge/TestHeaderSync.sol +++ b/packages/protocol/contracts/test/bridge/TestHeaderSync.sol @@ -6,27 +6,27 @@ pragma solidity ^0.8.18; -import {IXchainSync} from "../../common/IXchainSync.sol"; +import {ICrossChainSync} from "../../common/ICrossChainSync.sol"; // TODO(roger): remove this file. If you need extra functionality in // the Bridge contract, create a TestBridge.sol contract instead. -contract TestXchainSync is IXchainSync { +contract TestCrossChainSync is ICrossChainSync { bytes32 private _blockHash; bytes32 private _signalRoot; - function setXchainBlockHeader(bytes32 blockHash) external { + function setCrossChainBlockHeader(bytes32 blockHash) external { _blockHash = blockHash; } - function setXchainSignalRoot(bytes32 signalRoot) external { + function setCrossChainSignalRoot(bytes32 signalRoot) external { _signalRoot = signalRoot; } - function getXchainBlockHash(uint256) external view returns (bytes32) { + function getCrossChainBlockHash(uint256) external view returns (bytes32) { return _blockHash; } - function getXchainSignalRoot(uint256) external view returns (bytes32) { + function getCrossChainSignalRoot(uint256) external view returns (bytes32) { return _signalRoot; } } diff --git a/packages/protocol/test/Bridge.t.sol b/packages/protocol/test/Bridge.t.sol index 8c8d10c8a4c..6200eb9d214 100644 --- a/packages/protocol/test/Bridge.t.sol +++ b/packages/protocol/test/Bridge.t.sol @@ -9,7 +9,7 @@ import {console2} from "forge-std/console2.sol"; import {LibBridgeStatus} from "../contracts/bridge/libs/LibBridgeStatus.sol"; import {SignalService} from "../contracts/signal/SignalService.sol"; import {Test} from "forge-std/Test.sol"; -import {IXchainSync} from "../contracts/common/IXchainSync.sol"; +import {ICrossChainSync} from "../contracts/common/ICrossChainSync.sol"; contract BadReceiver { receive() external payable { @@ -25,23 +25,23 @@ contract BadReceiver { } } -contract PrankXchainSync is IXchainSync { +contract PrankCrossChainSync is ICrossChainSync { bytes32 private _blockHash; bytes32 private _signalRoot; - function setXchainBlockHeader(bytes32 blockHash) external { + function setCrossChainBlockHeader(bytes32 blockHash) external { _blockHash = blockHash; } - function setXchainSignalRoot(bytes32 signalRoot) external { + function setCrossChainSignalRoot(bytes32 signalRoot) external { _signalRoot = signalRoot; } - function getXchainBlockHash(uint256) external view returns (bytes32) { + function getCrossChainBlockHash(uint256) external view returns (bytes32) { return _blockHash; } - function getXchainSignalRoot(uint256) external view returns (bytes32) { + function getCrossChainSignalRoot(uint256) external view returns (bytes32) { return _signalRoot; } } @@ -53,7 +53,7 @@ contract BridgeTest is Test { Bridge destChainBridge; EtherVault etherVault; SignalService signalService; - PrankXchainSync xChainSync; + PrankCrossChainSync crossChainSync; uint256 destChainId = 19389; address public constant Alice = 0x10020FCb72e27650651B05eD2CEcA493bC807Ba4; @@ -78,7 +78,7 @@ contract BridgeTest is Test { etherVault = new EtherVault(); etherVault.init(address(addressManager)); - xChainSync = new PrankXchainSync(); + crossChainSync = new PrankCrossChainSync(); addressManager.setAddress( block.chainid, @@ -350,7 +350,7 @@ contract BridgeTest is Test { badReceiver = new BadReceiver(); uint256 dest = 1337; - addressManager.setAddress(dest, "taiko", address(xChainSync)); + addressManager.setAddress(dest, "taiko", address(crossChainSync)); addressManager.setAddress( 1336, @@ -372,11 +372,11 @@ contract BridgeTest is Test { address(signalService) ); - xChainSync.setXchainBlockHeader( + crossChainSync.setCrossChainBlockHeader( 0xd5f5d8ac6bc37139c97389b00e9cf53e89c153ad8a5fc765ffe9f44ea9f3d31e ); - xChainSync.setXchainSignalRoot( + crossChainSync.setCrossChainSignalRoot( 0x631b214fb030d82847224f0b3d3b906a6764dded176ad3c7262630204867ba85 ); diff --git a/packages/protocol/test/SignalService.t.sol b/packages/protocol/test/SignalService.t.sol index 17963cb59db..93ef244103c 100644 --- a/packages/protocol/test/SignalService.t.sol +++ b/packages/protocol/test/SignalService.t.sol @@ -10,25 +10,25 @@ import {console2} from "forge-std/console2.sol"; import {FreeMintERC20} from "../contracts/test/erc20/FreeMintERC20.sol"; import {SignalService} from "../contracts/signal/SignalService.sol"; import {Test} from "forge-std/Test.sol"; -import {IXchainSync} from "../contracts/common/IXchainSync.sol"; +import {ICrossChainSync} from "../contracts/common/ICrossChainSync.sol"; -contract PrankXchainSync is IXchainSync { +contract PrankCrossChainSync is ICrossChainSync { bytes32 private _blockHash; bytes32 private _signalRoot; - function setXchainBlockHeader(bytes32 blockHash) external { + function setCrossChainBlockHeader(bytes32 blockHash) external { _blockHash = blockHash; } - function setXchainSignalRoot(bytes32 signalRoot) external { + function setCrossChainSignalRoot(bytes32 signalRoot) external { _signalRoot = signalRoot; } - function getXchainBlockHash(uint256) external view returns (bytes32) { + function getCrossChainBlockHash(uint256) external view returns (bytes32) { return _blockHash; } - function getXchainSignalRoot(uint256) external view returns (bytes32) { + function getCrossChainSignalRoot(uint256) external view returns (bytes32) { return _signalRoot; } } @@ -38,7 +38,7 @@ contract TestSignalService is Test { SignalService signalService; SignalService destSignalService; - PrankXchainSync xChainSync; + PrankCrossChainSync crossChainSync; uint256 destChainId = 7; address public constant Alice = 0x10020FCb72e27650651B05eD2CEcA493bC807Ba4; @@ -59,7 +59,7 @@ contract TestSignalService is Test { destSignalService = new SignalService(); destSignalService.init(address(addressManager)); - xChainSync = new PrankXchainSync(); + crossChainSync = new PrankCrossChainSync(); addressManager.setAddress( block.chainid, @@ -79,7 +79,11 @@ contract TestSignalService is Test { address(signalService) ); - addressManager.setAddress(destChainId, "taiko", address(xChainSync)); + addressManager.setAddress( + destChainId, + "taiko", + address(crossChainSync) + ); vm.stopPrank(); } @@ -168,10 +172,10 @@ contract TestSignalService is Test { bytes memory proof = hex"0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003e0d5c45a5c0fabac05a887ad983965a225214df2cecd77adc216d3b1172866b1e91dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493470000000000000000000000000000000000000000000000000000000000000000cba38a70215ae3eeba2e97f9b6c3c804541484202953760c1cfe734df6dfce7cf7f7ed1e57a053e1c79765d6b76305193cae04261538400724837787437e621c9e6a8ea258a11278cf2e54d0e4845843837a1da42483ebe1dddf3eed1d33088b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000099c8ac000000000000000000000000000000000000000000000000000000000000ac7500000000000000000000000000000000000000000000000000000000644311c100000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000164c61e700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061d883010a1a846765746888676f312e31382e38856c696e757800000000000000def5020e30ddc20e32151adb608a5d8367d817a707ae8d520c98ac13de04bce35f95ef795a9c4fd13d3e5daf713525521043125bde66aa71eed7ca715f05c720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbf8d9b8b3f8b18080a04fc5f13ab2f9ba0c2da88b0151ab0e7cf4d85d08cca45ccd923c6ab76323eb28a02b70a98baa2507beffe8c266006cae52064dccf4fd1998af774ab3399029b38380808080a07394a09684ef3b2c87e9e2a753eb4ac78e2047b980e16d2e2133aee78946370d8080a0f4984a11f61a2921456141df88de6e1a710d28681b91af794c5a721e47839cd7a00f6329feca1549bd3bf7ab9a2e474bde37cb4f81366fca1dfdd9257c7305b5b880808080a3e2a037a8317247f2d3e645fa68570a9ae97a73b5568fe0578b90197316c654138997010000000000"; - xChainSync.setXchainBlockHeader( + crossChainSync.setCrossChainBlockHeader( 0x986278442ae7469dbd55f478348b4547c399004c93325b18ed995d2bc008f98d ); - xChainSync.setXchainSignalRoot( + crossChainSync.setCrossChainSignalRoot( 0x58900f5366437923bb250887d359d828a1a89e1837f9369f75c3e1bb238b854f ); diff --git a/packages/protocol/test/TaikoL1.t.sol b/packages/protocol/test/TaikoL1.t.sol index 26ea0f93fb0..81524b9335c 100644 --- a/packages/protocol/test/TaikoL1.t.sol +++ b/packages/protocol/test/TaikoL1.t.sol @@ -234,18 +234,18 @@ contract TaikoL1Test is TaikoL1TestBase { console2.log("maxEthDepositsPerBlock:", count); } - /// @dev getXchainBlockHash tests - function test_getXchainBlockHash0() external { - bytes32 genHash = L1.getXchainBlockHash(0); + /// @dev getCrossChainBlockHash tests + function test_getCrossChainBlockHash0() external { + bytes32 genHash = L1.getCrossChainBlockHash(0); assertEq(GENESIS_BLOCK_HASH, genHash); // Not yet avail. - genHash = L1.getXchainBlockHash(1); + genHash = L1.getCrossChainBlockHash(1); assertEq(bytes32(0), genHash); } - /// @dev getXchainSignalRoot tests - function test_getXchainSignalRoot() external { + /// @dev getCrossChainSignalRoot tests + function test_getCrossChainSignalRoot() external { uint256 iterationCnt = 10; // Declare here so that block prop/prove/verif. can be used in 1 place TaikoData.BlockMetadata memory meta; @@ -278,7 +278,7 @@ contract TaikoL1Test is TaikoL1TestBase { verifyBlock(Carol, 1); // Querying written blockhash - bytes32 genHash = L1.getXchainBlockHash(blockId); + bytes32 genHash = L1.getCrossChainBlockHash(blockId); assertEq(blockHash, genHash); mine(5); @@ -289,14 +289,14 @@ contract TaikoL1Test is TaikoL1TestBase { uint256 queriedBlockId = 1; bytes32 expectedSR = bytes32(1E9 + queriedBlockId); - assertEq(expectedSR, L1.getXchainSignalRoot(queriedBlockId)); + assertEq(expectedSR, L1.getCrossChainSignalRoot(queriedBlockId)); // 2nd queriedBlockId = 2; expectedSR = bytes32(1E9 + queriedBlockId); - assertEq(expectedSR, L1.getXchainSignalRoot(queriedBlockId)); + assertEq(expectedSR, L1.getCrossChainSignalRoot(queriedBlockId)); // Not found - assertEq(bytes32(0), L1.getXchainSignalRoot((iterationCnt + 1))); + assertEq(bytes32(0), L1.getCrossChainSignalRoot((iterationCnt + 1))); } } diff --git a/packages/relayer/IXchainSync.json b/packages/relayer/ICrossChainSync.json similarity index 90% rename from packages/relayer/IXchainSync.json rename to packages/relayer/ICrossChainSync.json index 67d717a6c08..49faa3030ff 100644 --- a/packages/relayer/IXchainSync.json +++ b/packages/relayer/ICrossChainSync.json @@ -21,7 +21,7 @@ "type": "bytes32" } ], - "name": "XchainSynced", + "name": "CrossChainSynced", "type": "event" }, { @@ -32,7 +32,7 @@ "type": "uint256" } ], - "name": "getXchainBlockHash", + "name": "getCrossChainBlockHash", "outputs": [ { "internalType": "bytes32", @@ -51,7 +51,7 @@ "type": "uint256" } ], - "name": "getXchainSignalRoot", + "name": "getCrossChainSignalRoot", "outputs": [ { "internalType": "bytes32", diff --git a/packages/relayer/TaikoL1.json b/packages/relayer/TaikoL1.json index cec0b5af49a..6c6e2de9ba2 100644 --- a/packages/relayer/TaikoL1.json +++ b/packages/relayer/TaikoL1.json @@ -489,7 +489,7 @@ "type": "bytes32" } ], - "name": "XchainSynced", + "name": "CrossChainSynced", "type": "event" }, { @@ -873,7 +873,7 @@ "type": "uint256" } ], - "name": "getXchainBlockHash", + "name": "getCrossChainBlockHash", "outputs": [ { "internalType": "bytes32", @@ -892,7 +892,7 @@ "type": "uint256" } ], - "name": "getXchainSignalRoot", + "name": "getCrossChainSignalRoot", "outputs": [ { "internalType": "bytes32", diff --git a/packages/relayer/abigen.sh b/packages/relayer/abigen.sh index 9b1918aa35e..ca5ce182391 100755 --- a/packages/relayer/abigen.sh +++ b/packages/relayer/abigen.sh @@ -5,9 +5,9 @@ if [ ! -d "../protocol/artifacts" ]; then exit 1 fi -paths=("bridge/TokenVault.sol" "bridge/Bridge.sol" "common/IXchainSync.sol" "L2/TaikoL2.sol" "L1/TaikoL1.sol") +paths=("bridge/TokenVault.sol" "bridge/Bridge.sol" "common/ICrossChainSync.sol" "L2/TaikoL2.sol" "L1/TaikoL1.sol") -names=("TokenVault" "Bridge" "IXchainSync" "TaikoL2" "TaikoL1") +names=("TokenVault" "Bridge" "ICrossChainSync" "TaikoL2" "TaikoL1") for (( i = 0; i < ${#paths[@]}; ++i )); do diff --git a/packages/relayer/contracts/icrosschainsync/ICrossChainSync.go b/packages/relayer/contracts/icrosschainsync/ICrossChainSync.go new file mode 100644 index 00000000000..d2ec96ffe66 --- /dev/null +++ b/packages/relayer/contracts/icrosschainsync/ICrossChainSync.go @@ -0,0 +1,389 @@ +// Code generated - DO NOT EDIT. +// This file is a generated binding and any manual changes will be lost. + +package icrosschainsync + +import ( + "errors" + "math/big" + "strings" + + ethereum "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/event" +) + +// Reference imports to suppress errors if they are not otherwise used. +var ( + _ = errors.New + _ = big.NewInt + _ = strings.NewReader + _ = ethereum.NotFound + _ = bind.Bind + _ = common.Big1 + _ = types.BloomLookup + _ = event.NewSubscription + _ = abi.ConvertType +) + +// ICrossChainSyncMetaData contains all meta data concerning the ICrossChainSync contract. +var ICrossChainSyncMetaData = &bind.MetaData{ + ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"CrossChainSynced\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getCrossChainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getCrossChainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", +} + +// ICrossChainSyncABI is the input ABI used to generate the binding from. +// Deprecated: Use ICrossChainSyncMetaData.ABI instead. +var ICrossChainSyncABI = ICrossChainSyncMetaData.ABI + +// ICrossChainSync is an auto generated Go binding around an Ethereum contract. +type ICrossChainSync struct { + ICrossChainSyncCaller // Read-only binding to the contract + ICrossChainSyncTransactor // Write-only binding to the contract + ICrossChainSyncFilterer // Log filterer for contract events +} + +// ICrossChainSyncCaller is an auto generated read-only Go binding around an Ethereum contract. +type ICrossChainSyncCaller struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ICrossChainSyncTransactor is an auto generated write-only Go binding around an Ethereum contract. +type ICrossChainSyncTransactor struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ICrossChainSyncFilterer is an auto generated log filtering Go binding around an Ethereum contract events. +type ICrossChainSyncFilterer struct { + contract *bind.BoundContract // Generic contract wrapper for the low level calls +} + +// ICrossChainSyncSession is an auto generated Go binding around an Ethereum contract, +// with pre-set call and transact options. +type ICrossChainSyncSession struct { + Contract *ICrossChainSync // Generic contract binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ICrossChainSyncCallerSession is an auto generated read-only Go binding around an Ethereum contract, +// with pre-set call options. +type ICrossChainSyncCallerSession struct { + Contract *ICrossChainSyncCaller // Generic contract caller binding to set the session for + CallOpts bind.CallOpts // Call options to use throughout this session +} + +// ICrossChainSyncTransactorSession is an auto generated write-only Go binding around an Ethereum contract, +// with pre-set transact options. +type ICrossChainSyncTransactorSession struct { + Contract *ICrossChainSyncTransactor // Generic contract transactor binding to set the session for + TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session +} + +// ICrossChainSyncRaw is an auto generated low-level Go binding around an Ethereum contract. +type ICrossChainSyncRaw struct { + Contract *ICrossChainSync // Generic contract binding to access the raw methods on +} + +// ICrossChainSyncCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. +type ICrossChainSyncCallerRaw struct { + Contract *ICrossChainSyncCaller // Generic read-only contract binding to access the raw methods on +} + +// ICrossChainSyncTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. +type ICrossChainSyncTransactorRaw struct { + Contract *ICrossChainSyncTransactor // Generic write-only contract binding to access the raw methods on +} + +// NewICrossChainSync creates a new instance of ICrossChainSync, bound to a specific deployed contract. +func NewICrossChainSync(address common.Address, backend bind.ContractBackend) (*ICrossChainSync, error) { + contract, err := bindICrossChainSync(address, backend, backend, backend) + if err != nil { + return nil, err + } + return &ICrossChainSync{ICrossChainSyncCaller: ICrossChainSyncCaller{contract: contract}, ICrossChainSyncTransactor: ICrossChainSyncTransactor{contract: contract}, ICrossChainSyncFilterer: ICrossChainSyncFilterer{contract: contract}}, nil +} + +// NewICrossChainSyncCaller creates a new read-only instance of ICrossChainSync, bound to a specific deployed contract. +func NewICrossChainSyncCaller(address common.Address, caller bind.ContractCaller) (*ICrossChainSyncCaller, error) { + contract, err := bindICrossChainSync(address, caller, nil, nil) + if err != nil { + return nil, err + } + return &ICrossChainSyncCaller{contract: contract}, nil +} + +// NewICrossChainSyncTransactor creates a new write-only instance of ICrossChainSync, bound to a specific deployed contract. +func NewICrossChainSyncTransactor(address common.Address, transactor bind.ContractTransactor) (*ICrossChainSyncTransactor, error) { + contract, err := bindICrossChainSync(address, nil, transactor, nil) + if err != nil { + return nil, err + } + return &ICrossChainSyncTransactor{contract: contract}, nil +} + +// NewICrossChainSyncFilterer creates a new log filterer instance of ICrossChainSync, bound to a specific deployed contract. +func NewICrossChainSyncFilterer(address common.Address, filterer bind.ContractFilterer) (*ICrossChainSyncFilterer, error) { + contract, err := bindICrossChainSync(address, nil, nil, filterer) + if err != nil { + return nil, err + } + return &ICrossChainSyncFilterer{contract: contract}, nil +} + +// bindICrossChainSync binds a generic wrapper to an already deployed contract. +func bindICrossChainSync(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { + parsed, err := ICrossChainSyncMetaData.GetAbi() + if err != nil { + return nil, err + } + return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ICrossChainSync *ICrossChainSyncRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ICrossChainSync.Contract.ICrossChainSyncCaller.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ICrossChainSync *ICrossChainSyncRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ICrossChainSync.Contract.ICrossChainSyncTransactor.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ICrossChainSync *ICrossChainSyncRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ICrossChainSync.Contract.ICrossChainSyncTransactor.contract.Transact(opts, method, params...) +} + +// Call invokes the (constant) contract method with params as input values and +// sets the output to result. The result type might be a single field for simple +// returns, a slice of interfaces for anonymous returns and a struct for named +// returns. +func (_ICrossChainSync *ICrossChainSyncCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { + return _ICrossChainSync.Contract.contract.Call(opts, result, method, params...) +} + +// Transfer initiates a plain transaction to move funds to the contract, calling +// its default method if one is available. +func (_ICrossChainSync *ICrossChainSyncTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { + return _ICrossChainSync.Contract.contract.Transfer(opts) +} + +// Transact invokes the (paid) contract method with params as input values. +func (_ICrossChainSync *ICrossChainSyncTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { + return _ICrossChainSync.Contract.contract.Transact(opts, method, params...) +} + +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// +// Solidity: function getCrossChainBlockHash(uint256 number) view returns(bytes32) +func (_ICrossChainSync *ICrossChainSyncCaller) GetCrossChainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { + var out []interface{} + err := _ICrossChainSync.contract.Call(opts, &out, "getCrossChainBlockHash", number) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// +// Solidity: function getCrossChainBlockHash(uint256 number) view returns(bytes32) +func (_ICrossChainSync *ICrossChainSyncSession) GetCrossChainBlockHash(number *big.Int) ([32]byte, error) { + return _ICrossChainSync.Contract.GetCrossChainBlockHash(&_ICrossChainSync.CallOpts, number) +} + +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// +// Solidity: function getCrossChainBlockHash(uint256 number) view returns(bytes32) +func (_ICrossChainSync *ICrossChainSyncCallerSession) GetCrossChainBlockHash(number *big.Int) ([32]byte, error) { + return _ICrossChainSync.Contract.GetCrossChainBlockHash(&_ICrossChainSync.CallOpts, number) +} + +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// +// Solidity: function getCrossChainSignalRoot(uint256 number) view returns(bytes32) +func (_ICrossChainSync *ICrossChainSyncCaller) GetCrossChainSignalRoot(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { + var out []interface{} + err := _ICrossChainSync.contract.Call(opts, &out, "getCrossChainSignalRoot", number) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// +// Solidity: function getCrossChainSignalRoot(uint256 number) view returns(bytes32) +func (_ICrossChainSync *ICrossChainSyncSession) GetCrossChainSignalRoot(number *big.Int) ([32]byte, error) { + return _ICrossChainSync.Contract.GetCrossChainSignalRoot(&_ICrossChainSync.CallOpts, number) +} + +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// +// Solidity: function getCrossChainSignalRoot(uint256 number) view returns(bytes32) +func (_ICrossChainSync *ICrossChainSyncCallerSession) GetCrossChainSignalRoot(number *big.Int) ([32]byte, error) { + return _ICrossChainSync.Contract.GetCrossChainSignalRoot(&_ICrossChainSync.CallOpts, number) +} + +// ICrossChainSyncCrossChainSyncedIterator is returned from FilterCrossChainSynced and is used to iterate over the raw logs and unpacked data for CrossChainSynced events raised by the ICrossChainSync contract. +type ICrossChainSyncCrossChainSyncedIterator struct { + Event *ICrossChainSyncCrossChainSynced // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *ICrossChainSyncCrossChainSyncedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(ICrossChainSyncCrossChainSynced) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(ICrossChainSyncCrossChainSynced) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *ICrossChainSyncCrossChainSyncedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *ICrossChainSyncCrossChainSyncedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// ICrossChainSyncCrossChainSynced represents a CrossChainSynced event raised by the ICrossChainSync contract. +type ICrossChainSyncCrossChainSynced struct { + SrcHeight *big.Int + BlockHash [32]byte + SignalRoot [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterCrossChainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_ICrossChainSync *ICrossChainSyncFilterer) FilterCrossChainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*ICrossChainSyncCrossChainSyncedIterator, error) { + + var srcHeightRule []interface{} + for _, srcHeightItem := range srcHeight { + srcHeightRule = append(srcHeightRule, srcHeightItem) + } + + logs, sub, err := _ICrossChainSync.contract.FilterLogs(opts, "CrossChainSynced", srcHeightRule) + if err != nil { + return nil, err + } + return &ICrossChainSyncCrossChainSyncedIterator{contract: _ICrossChainSync.contract, event: "CrossChainSynced", logs: logs, sub: sub}, nil +} + +// WatchCrossChainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_ICrossChainSync *ICrossChainSyncFilterer) WatchCrossChainSynced(opts *bind.WatchOpts, sink chan<- *ICrossChainSyncCrossChainSynced, srcHeight []*big.Int) (event.Subscription, error) { + + var srcHeightRule []interface{} + for _, srcHeightItem := range srcHeight { + srcHeightRule = append(srcHeightRule, srcHeightItem) + } + + logs, sub, err := _ICrossChainSync.contract.WatchLogs(opts, "CrossChainSynced", srcHeightRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(ICrossChainSyncCrossChainSynced) + if err := _ICrossChainSync.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseCrossChainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_ICrossChainSync *ICrossChainSyncFilterer) ParseCrossChainSynced(log types.Log) (*ICrossChainSyncCrossChainSynced, error) { + event := new(ICrossChainSyncCrossChainSynced) + if err := _ICrossChainSync.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/packages/relayer/contracts/ixchainsync/IXchainSync.go b/packages/relayer/contracts/ixchainsync/IXchainSync.go deleted file mode 100644 index d6b36d27399..00000000000 --- a/packages/relayer/contracts/ixchainsync/IXchainSync.go +++ /dev/null @@ -1,389 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package ixchainsync - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IXchainSyncMetaData contains all meta data concerning the IXchainSync contract. -var IXchainSyncMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"XchainSynced\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getXchainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getXchainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", -} - -// IXchainSyncABI is the input ABI used to generate the binding from. -// Deprecated: Use IXchainSyncMetaData.ABI instead. -var IXchainSyncABI = IXchainSyncMetaData.ABI - -// IXchainSync is an auto generated Go binding around an Ethereum contract. -type IXchainSync struct { - IXchainSyncCaller // Read-only binding to the contract - IXchainSyncTransactor // Write-only binding to the contract - IXchainSyncFilterer // Log filterer for contract events -} - -// IXchainSyncCaller is an auto generated read-only Go binding around an Ethereum contract. -type IXchainSyncCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IXchainSyncTransactor is an auto generated write-only Go binding around an Ethereum contract. -type IXchainSyncTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IXchainSyncFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IXchainSyncFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IXchainSyncSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IXchainSyncSession struct { - Contract *IXchainSync // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IXchainSyncCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IXchainSyncCallerSession struct { - Contract *IXchainSyncCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IXchainSyncTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IXchainSyncTransactorSession struct { - Contract *IXchainSyncTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IXchainSyncRaw is an auto generated low-level Go binding around an Ethereum contract. -type IXchainSyncRaw struct { - Contract *IXchainSync // Generic contract binding to access the raw methods on -} - -// IXchainSyncCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IXchainSyncCallerRaw struct { - Contract *IXchainSyncCaller // Generic read-only contract binding to access the raw methods on -} - -// IXchainSyncTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IXchainSyncTransactorRaw struct { - Contract *IXchainSyncTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewIXchainSync creates a new instance of IXchainSync, bound to a specific deployed contract. -func NewIXchainSync(address common.Address, backend bind.ContractBackend) (*IXchainSync, error) { - contract, err := bindIXchainSync(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IXchainSync{IXchainSyncCaller: IXchainSyncCaller{contract: contract}, IXchainSyncTransactor: IXchainSyncTransactor{contract: contract}, IXchainSyncFilterer: IXchainSyncFilterer{contract: contract}}, nil -} - -// NewIXchainSyncCaller creates a new read-only instance of IXchainSync, bound to a specific deployed contract. -func NewIXchainSyncCaller(address common.Address, caller bind.ContractCaller) (*IXchainSyncCaller, error) { - contract, err := bindIXchainSync(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IXchainSyncCaller{contract: contract}, nil -} - -// NewIXchainSyncTransactor creates a new write-only instance of IXchainSync, bound to a specific deployed contract. -func NewIXchainSyncTransactor(address common.Address, transactor bind.ContractTransactor) (*IXchainSyncTransactor, error) { - contract, err := bindIXchainSync(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IXchainSyncTransactor{contract: contract}, nil -} - -// NewIXchainSyncFilterer creates a new log filterer instance of IXchainSync, bound to a specific deployed contract. -func NewIXchainSyncFilterer(address common.Address, filterer bind.ContractFilterer) (*IXchainSyncFilterer, error) { - contract, err := bindIXchainSync(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IXchainSyncFilterer{contract: contract}, nil -} - -// bindIXchainSync binds a generic wrapper to an already deployed contract. -func bindIXchainSync(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IXchainSyncMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IXchainSync *IXchainSyncRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IXchainSync.Contract.IXchainSyncCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IXchainSync *IXchainSyncRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IXchainSync.Contract.IXchainSyncTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IXchainSync *IXchainSyncRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IXchainSync.Contract.IXchainSyncTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IXchainSync *IXchainSyncCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IXchainSync.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IXchainSync *IXchainSyncTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IXchainSync.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IXchainSync *IXchainSyncTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IXchainSync.Contract.contract.Transact(opts, method, params...) -} - -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. -// -// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) -func (_IXchainSync *IXchainSyncCaller) GetXchainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { - var out []interface{} - err := _IXchainSync.contract.Call(opts, &out, "getXchainBlockHash", number) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. -// -// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) -func (_IXchainSync *IXchainSyncSession) GetXchainBlockHash(number *big.Int) ([32]byte, error) { - return _IXchainSync.Contract.GetXchainBlockHash(&_IXchainSync.CallOpts, number) -} - -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. -// -// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) -func (_IXchainSync *IXchainSyncCallerSession) GetXchainBlockHash(number *big.Int) ([32]byte, error) { - return _IXchainSync.Contract.GetXchainBlockHash(&_IXchainSync.CallOpts, number) -} - -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. -// -// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) -func (_IXchainSync *IXchainSyncCaller) GetXchainSignalRoot(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { - var out []interface{} - err := _IXchainSync.contract.Call(opts, &out, "getXchainSignalRoot", number) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. -// -// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) -func (_IXchainSync *IXchainSyncSession) GetXchainSignalRoot(number *big.Int) ([32]byte, error) { - return _IXchainSync.Contract.GetXchainSignalRoot(&_IXchainSync.CallOpts, number) -} - -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. -// -// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) -func (_IXchainSync *IXchainSyncCallerSession) GetXchainSignalRoot(number *big.Int) ([32]byte, error) { - return _IXchainSync.Contract.GetXchainSignalRoot(&_IXchainSync.CallOpts, number) -} - -// IXchainSyncXchainSyncedIterator is returned from FilterXchainSynced and is used to iterate over the raw logs and unpacked data for XchainSynced events raised by the IXchainSync contract. -type IXchainSyncXchainSyncedIterator struct { - Event *IXchainSyncXchainSynced // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IXchainSyncXchainSyncedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IXchainSyncXchainSynced) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IXchainSyncXchainSynced) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IXchainSyncXchainSyncedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IXchainSyncXchainSyncedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IXchainSyncXchainSynced represents a XchainSynced event raised by the IXchainSync contract. -type IXchainSyncXchainSynced struct { - SrcHeight *big.Int - BlockHash [32]byte - SignalRoot [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterXchainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. -// -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_IXchainSync *IXchainSyncFilterer) FilterXchainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*IXchainSyncXchainSyncedIterator, error) { - - var srcHeightRule []interface{} - for _, srcHeightItem := range srcHeight { - srcHeightRule = append(srcHeightRule, srcHeightItem) - } - - logs, sub, err := _IXchainSync.contract.FilterLogs(opts, "XchainSynced", srcHeightRule) - if err != nil { - return nil, err - } - return &IXchainSyncXchainSyncedIterator{contract: _IXchainSync.contract, event: "XchainSynced", logs: logs, sub: sub}, nil -} - -// WatchXchainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. -// -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_IXchainSync *IXchainSyncFilterer) WatchXchainSynced(opts *bind.WatchOpts, sink chan<- *IXchainSyncXchainSynced, srcHeight []*big.Int) (event.Subscription, error) { - - var srcHeightRule []interface{} - for _, srcHeightItem := range srcHeight { - srcHeightRule = append(srcHeightRule, srcHeightItem) - } - - logs, sub, err := _IXchainSync.contract.WatchLogs(opts, "XchainSynced", srcHeightRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IXchainSyncXchainSynced) - if err := _IXchainSync.contract.UnpackLog(event, "XchainSynced", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseXchainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. -// -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_IXchainSync *IXchainSyncFilterer) ParseXchainSynced(log types.Log) (*IXchainSyncXchainSynced, error) { - event := new(IXchainSyncXchainSynced) - if err := _IXchainSync.contract.UnpackLog(event, "XchainSynced", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/packages/relayer/contracts/taikol1/TaikoL1.go b/packages/relayer/contracts/taikol1/TaikoL1.go index d4a556d4734..652fb3fa736 100644 --- a/packages/relayer/contracts/taikol1/TaikoL1.go +++ b/packages/relayer/contracts/taikol1/TaikoL1.go @@ -554,12 +554,12 @@ func (_TaikoL1 *TaikoL1CallerSession) GetVerifierName(id uint16) (string, error) return _TaikoL1.Contract.GetVerifierName(&_TaikoL1.CallOpts, id) } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1Caller) GetXchainBlockHash(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { +// Solidity: function getCrossChainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Caller) GetCrossChainBlockHash(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getXchainBlockHash", blockId) + err := _TaikoL1.contract.Call(opts, &out, "getCrossChainBlockHash", blockId) if err != nil { return *new([32]byte), err @@ -571,26 +571,26 @@ func (_TaikoL1 *TaikoL1Caller) GetXchainBlockHash(opts *bind.CallOpts, blockId * } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1Session) GetXchainBlockHash(blockId *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetXchainBlockHash(&_TaikoL1.CallOpts, blockId) +// Solidity: function getCrossChainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Session) GetCrossChainBlockHash(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetCrossChainBlockHash(&_TaikoL1.CallOpts, blockId) } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1CallerSession) GetXchainBlockHash(blockId *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetXchainBlockHash(&_TaikoL1.CallOpts, blockId) +// Solidity: function getCrossChainBlockHash(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1CallerSession) GetCrossChainBlockHash(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetCrossChainBlockHash(&_TaikoL1.CallOpts, blockId) } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1Caller) GetXchainSignalRoot(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { +// Solidity: function getCrossChainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Caller) GetCrossChainSignalRoot(opts *bind.CallOpts, blockId *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL1.contract.Call(opts, &out, "getXchainSignalRoot", blockId) + err := _TaikoL1.contract.Call(opts, &out, "getCrossChainSignalRoot", blockId) if err != nil { return *new([32]byte), err @@ -602,18 +602,18 @@ func (_TaikoL1 *TaikoL1Caller) GetXchainSignalRoot(opts *bind.CallOpts, blockId } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1Session) GetXchainSignalRoot(blockId *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetXchainSignalRoot(&_TaikoL1.CallOpts, blockId) +// Solidity: function getCrossChainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1Session) GetCrossChainSignalRoot(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetCrossChainSignalRoot(&_TaikoL1.CallOpts, blockId) } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 blockId) view returns(bytes32) -func (_TaikoL1 *TaikoL1CallerSession) GetXchainSignalRoot(blockId *big.Int) ([32]byte, error) { - return _TaikoL1.Contract.GetXchainSignalRoot(&_TaikoL1.CallOpts, blockId) +// Solidity: function getCrossChainSignalRoot(uint256 blockId) view returns(bytes32) +func (_TaikoL1 *TaikoL1CallerSession) GetCrossChainSignalRoot(blockId *big.Int) ([32]byte, error) { + return _TaikoL1.Contract.GetCrossChainSignalRoot(&_TaikoL1.CallOpts, blockId) } // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. @@ -1878,9 +1878,9 @@ func (_TaikoL1 *TaikoL1Filterer) ParseOwnershipTransferred(log types.Log) (*Taik return event, nil } -// TaikoL1XchainSyncedIterator is returned from FilterXchainSynced and is used to iterate over the raw logs and unpacked data for XchainSynced events raised by the TaikoL1 contract. -type TaikoL1XchainSyncedIterator struct { - Event *TaikoL1XchainSynced // Event containing the contract specifics and raw log +// TaikoL1CrossChainSyncedIterator is returned from FilterCrossChainSynced and is used to iterate over the raw logs and unpacked data for CrossChainSynced events raised by the TaikoL1 contract. +type TaikoL1CrossChainSyncedIterator struct { + Event *TaikoL1CrossChainSynced // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1894,7 +1894,7 @@ type TaikoL1XchainSyncedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL1XchainSyncedIterator) Next() bool { +func (it *TaikoL1CrossChainSyncedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1903,7 +1903,7 @@ func (it *TaikoL1XchainSyncedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL1XchainSynced) + it.Event = new(TaikoL1CrossChainSynced) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1918,7 +1918,7 @@ func (it *TaikoL1XchainSyncedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL1XchainSynced) + it.Event = new(TaikoL1CrossChainSynced) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1934,53 +1934,53 @@ func (it *TaikoL1XchainSyncedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL1XchainSyncedIterator) Error() error { +func (it *TaikoL1CrossChainSyncedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL1XchainSyncedIterator) Close() error { +func (it *TaikoL1CrossChainSyncedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL1XchainSynced represents a XchainSynced event raised by the TaikoL1 contract. -type TaikoL1XchainSynced struct { +// TaikoL1CrossChainSynced represents a CrossChainSynced event raised by the TaikoL1 contract. +type TaikoL1CrossChainSynced struct { SrcHeight *big.Int BlockHash [32]byte SignalRoot [32]byte Raw types.Log // Blockchain specific contextual infos } -// FilterXchainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// FilterCrossChainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) FilterXchainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL1XchainSyncedIterator, error) { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) FilterCrossChainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL1CrossChainSyncedIterator, error) { var srcHeightRule []interface{} for _, srcHeightItem := range srcHeight { srcHeightRule = append(srcHeightRule, srcHeightItem) } - logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "XchainSynced", srcHeightRule) + logs, sub, err := _TaikoL1.contract.FilterLogs(opts, "CrossChainSynced", srcHeightRule) if err != nil { return nil, err } - return &TaikoL1XchainSyncedIterator{contract: _TaikoL1.contract, event: "XchainSynced", logs: logs, sub: sub}, nil + return &TaikoL1CrossChainSyncedIterator{contract: _TaikoL1.contract, event: "CrossChainSynced", logs: logs, sub: sub}, nil } -// WatchXchainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// WatchCrossChainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1XchainSynced, srcHeight []*big.Int) (event.Subscription, error) { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) WatchCrossChainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL1CrossChainSynced, srcHeight []*big.Int) (event.Subscription, error) { var srcHeightRule []interface{} for _, srcHeightItem := range srcHeight { srcHeightRule = append(srcHeightRule, srcHeightItem) } - logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "XchainSynced", srcHeightRule) + logs, sub, err := _TaikoL1.contract.WatchLogs(opts, "CrossChainSynced", srcHeightRule) if err != nil { return nil, err } @@ -1990,8 +1990,8 @@ func (_TaikoL1 *TaikoL1Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink ch select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL1XchainSynced) - if err := _TaikoL1.contract.UnpackLog(event, "XchainSynced", log); err != nil { + event := new(TaikoL1CrossChainSynced) + if err := _TaikoL1.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { return err } event.Raw = log @@ -2012,12 +2012,12 @@ func (_TaikoL1 *TaikoL1Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink ch }), nil } -// ParseXchainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// ParseCrossChainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL1 *TaikoL1Filterer) ParseXchainSynced(log types.Log) (*TaikoL1XchainSynced, error) { - event := new(TaikoL1XchainSynced) - if err := _TaikoL1.contract.UnpackLog(event, "XchainSynced", log); err != nil { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL1 *TaikoL1Filterer) ParseCrossChainSynced(log types.Log) (*TaikoL1CrossChainSynced, error) { + event := new(TaikoL1CrossChainSynced) + if err := _TaikoL1.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { return nil, err } event.Raw = log diff --git a/packages/relayer/contracts/taikol2/TaikoL2.go b/packages/relayer/contracts/taikol2/TaikoL2.go index 2628be06054..4e4d2a1e850 100644 --- a/packages/relayer/contracts/taikol2/TaikoL2.go +++ b/packages/relayer/contracts/taikol2/TaikoL2.go @@ -40,7 +40,7 @@ type TaikoL2EIP1559Params struct { // TaikoL2MetaData contains all meta data concerning the TaikoL2 contract. var TaikoL2MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"L2_BASEFEE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_1559_PARAMS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_CHAIN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_GOLDEN_TOUCH_K\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_SENDER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L2_PUBLIC_INPUT_HASH_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_TOO_LATE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"M1559_OUT_OF_STOCK\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"M1559_OUT_OF_STOCK\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"M1559_UNEXPECTED_CHANGE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"M1559_UNEXPECTED_CHANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"number\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"gaslimit\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"prevrandao\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"chainid\",\"type\":\"uint32\"}],\"name\":\"Anchored\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"XchainSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"GOLDEN_TOUCH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOLDEN_TOUCH_PRIVATEKEY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"__reserved1\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"l1SignalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"parentGasUsed\",\"type\":\"uint64\"}],\"name\":\"anchor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasExcess\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasIssuedPerSecond\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"timeSinceParent\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"parentGasUsed\",\"type\":\"uint64\"}],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getXchainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getXchainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasIssuedPerSecond\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasExcessMax\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTarget\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"ratio2x1x\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoL2.EIP1559Params\",\"name\":\"_param1559\",\"type\":\"tuple\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestSyncedL1Height\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"parentTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publicInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"k\",\"type\":\"uint8\"}],\"name\":\"signAnchor\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"r\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xscale\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"yscale\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"L2_BASEFEE_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_1559_PARAMS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_CHAIN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_GOLDEN_TOUCH_K\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_INVALID_SENDER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actual\",\"type\":\"bytes32\"}],\"name\":\"L2_PUBLIC_INPUT_HASH_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"L2_TOO_LATE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"M1559_OUT_OF_STOCK\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"M1559_OUT_OF_STOCK\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"M1559_UNEXPECTED_CHANGE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"actual\",\"type\":\"uint64\"}],\"name\":\"M1559_UNEXPECTED_CHANGE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_DENIED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESOLVER_INVALID_ADDR\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"number\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"gaslimit\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"parentHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"prevrandao\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"chainid\",\"type\":\"uint32\"}],\"name\":\"Anchored\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"srcHeight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"signalRoot\",\"type\":\"bytes32\"}],\"name\":\"CrossChainSynced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"GOLDEN_TOUCH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GOLDEN_TOUCH_PRIVATEKEY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"__reserved1\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"addressManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"l1Hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"l1SignalRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"l1Height\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"parentGasUsed\",\"type\":\"uint64\"}],\"name\":\"anchor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasExcess\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasIssuedPerSecond\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"timeSinceParent\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"parentGasUsed\",\"type\":\"uint64\"}],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getCrossChainBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"}],\"name\":\"getCrossChainSignalRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"basefee\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasIssuedPerSecond\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasExcessMax\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTarget\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"ratio2x1x\",\"type\":\"uint64\"}],\"internalType\":\"structTaikoL2.EIP1559Params\",\"name\":\"_param1559\",\"type\":\"tuple\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestSyncedL1Height\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"parentTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"publicInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"allowZeroAddress\",\"type\":\"bool\"}],\"name\":\"resolve\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"k\",\"type\":\"uint8\"}],\"name\":\"signAnchor\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"r\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"xscale\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"yscale\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", } // TaikoL2ABI is the input ABI used to generate the binding from. @@ -437,12 +437,12 @@ func (_TaikoL2 *TaikoL2CallerSession) GetBlockHash(number *big.Int) ([32]byte, e return _TaikoL2.Contract.GetBlockHash(&_TaikoL2.CallOpts, number) } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2Caller) GetXchainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { +// Solidity: function getCrossChainBlockHash(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2Caller) GetCrossChainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL2.contract.Call(opts, &out, "getXchainBlockHash", number) + err := _TaikoL2.contract.Call(opts, &out, "getCrossChainBlockHash", number) if err != nil { return *new([32]byte), err @@ -454,26 +454,26 @@ func (_TaikoL2 *TaikoL2Caller) GetXchainBlockHash(opts *bind.CallOpts, number *b } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2Session) GetXchainBlockHash(number *big.Int) ([32]byte, error) { - return _TaikoL2.Contract.GetXchainBlockHash(&_TaikoL2.CallOpts, number) +// Solidity: function getCrossChainBlockHash(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2Session) GetCrossChainBlockHash(number *big.Int) ([32]byte, error) { + return _TaikoL2.Contract.GetCrossChainBlockHash(&_TaikoL2.CallOpts, number) } -// GetXchainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. +// GetCrossChainBlockHash is a free data retrieval call binding the contract method 0xa4e6775f. // -// Solidity: function getXchainBlockHash(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2CallerSession) GetXchainBlockHash(number *big.Int) ([32]byte, error) { - return _TaikoL2.Contract.GetXchainBlockHash(&_TaikoL2.CallOpts, number) +// Solidity: function getCrossChainBlockHash(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2CallerSession) GetCrossChainBlockHash(number *big.Int) ([32]byte, error) { + return _TaikoL2.Contract.GetCrossChainBlockHash(&_TaikoL2.CallOpts, number) } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2Caller) GetXchainSignalRoot(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { +// Solidity: function getCrossChainSignalRoot(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2Caller) GetCrossChainSignalRoot(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { var out []interface{} - err := _TaikoL2.contract.Call(opts, &out, "getXchainSignalRoot", number) + err := _TaikoL2.contract.Call(opts, &out, "getCrossChainSignalRoot", number) if err != nil { return *new([32]byte), err @@ -485,18 +485,18 @@ func (_TaikoL2 *TaikoL2Caller) GetXchainSignalRoot(opts *bind.CallOpts, number * } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2Session) GetXchainSignalRoot(number *big.Int) ([32]byte, error) { - return _TaikoL2.Contract.GetXchainSignalRoot(&_TaikoL2.CallOpts, number) +// Solidity: function getCrossChainSignalRoot(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2Session) GetCrossChainSignalRoot(number *big.Int) ([32]byte, error) { + return _TaikoL2.Contract.GetCrossChainSignalRoot(&_TaikoL2.CallOpts, number) } -// GetXchainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. +// GetCrossChainSignalRoot is a free data retrieval call binding the contract method 0x609bbd06. // -// Solidity: function getXchainSignalRoot(uint256 number) view returns(bytes32) -func (_TaikoL2 *TaikoL2CallerSession) GetXchainSignalRoot(number *big.Int) ([32]byte, error) { - return _TaikoL2.Contract.GetXchainSignalRoot(&_TaikoL2.CallOpts, number) +// Solidity: function getCrossChainSignalRoot(uint256 number) view returns(bytes32) +func (_TaikoL2 *TaikoL2CallerSession) GetCrossChainSignalRoot(number *big.Int) ([32]byte, error) { + return _TaikoL2.Contract.GetCrossChainSignalRoot(&_TaikoL2.CallOpts, number) } // LatestSyncedL1Height is a free data retrieval call binding the contract method 0xc7b96908. @@ -1309,9 +1309,9 @@ func (_TaikoL2 *TaikoL2Filterer) ParseOwnershipTransferred(log types.Log) (*Taik return event, nil } -// TaikoL2XchainSyncedIterator is returned from FilterXchainSynced and is used to iterate over the raw logs and unpacked data for XchainSynced events raised by the TaikoL2 contract. -type TaikoL2XchainSyncedIterator struct { - Event *TaikoL2XchainSynced // Event containing the contract specifics and raw log +// TaikoL2CrossChainSyncedIterator is returned from FilterCrossChainSynced and is used to iterate over the raw logs and unpacked data for CrossChainSynced events raised by the TaikoL2 contract. +type TaikoL2CrossChainSyncedIterator struct { + Event *TaikoL2CrossChainSynced // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data @@ -1325,7 +1325,7 @@ type TaikoL2XchainSyncedIterator struct { // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. -func (it *TaikoL2XchainSyncedIterator) Next() bool { +func (it *TaikoL2CrossChainSyncedIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false @@ -1334,7 +1334,7 @@ func (it *TaikoL2XchainSyncedIterator) Next() bool { if it.done { select { case log := <-it.logs: - it.Event = new(TaikoL2XchainSynced) + it.Event = new(TaikoL2CrossChainSynced) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1349,7 +1349,7 @@ func (it *TaikoL2XchainSyncedIterator) Next() bool { // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: - it.Event = new(TaikoL2XchainSynced) + it.Event = new(TaikoL2CrossChainSynced) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false @@ -1365,53 +1365,53 @@ func (it *TaikoL2XchainSyncedIterator) Next() bool { } // Error returns any retrieval or parsing error occurred during filtering. -func (it *TaikoL2XchainSyncedIterator) Error() error { +func (it *TaikoL2CrossChainSyncedIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. -func (it *TaikoL2XchainSyncedIterator) Close() error { +func (it *TaikoL2CrossChainSyncedIterator) Close() error { it.sub.Unsubscribe() return nil } -// TaikoL2XchainSynced represents a XchainSynced event raised by the TaikoL2 contract. -type TaikoL2XchainSynced struct { +// TaikoL2CrossChainSynced represents a CrossChainSynced event raised by the TaikoL2 contract. +type TaikoL2CrossChainSynced struct { SrcHeight *big.Int BlockHash [32]byte SignalRoot [32]byte Raw types.Log // Blockchain specific contextual infos } -// FilterXchainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// FilterCrossChainSynced is a free log retrieval operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL2 *TaikoL2Filterer) FilterXchainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL2XchainSyncedIterator, error) { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL2 *TaikoL2Filterer) FilterCrossChainSynced(opts *bind.FilterOpts, srcHeight []*big.Int) (*TaikoL2CrossChainSyncedIterator, error) { var srcHeightRule []interface{} for _, srcHeightItem := range srcHeight { srcHeightRule = append(srcHeightRule, srcHeightItem) } - logs, sub, err := _TaikoL2.contract.FilterLogs(opts, "XchainSynced", srcHeightRule) + logs, sub, err := _TaikoL2.contract.FilterLogs(opts, "CrossChainSynced", srcHeightRule) if err != nil { return nil, err } - return &TaikoL2XchainSyncedIterator{contract: _TaikoL2.contract, event: "XchainSynced", logs: logs, sub: sub}, nil + return &TaikoL2CrossChainSyncedIterator{contract: _TaikoL2.contract, event: "CrossChainSynced", logs: logs, sub: sub}, nil } -// WatchXchainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// WatchCrossChainSynced is a free log subscription operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL2 *TaikoL2Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL2XchainSynced, srcHeight []*big.Int) (event.Subscription, error) { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL2 *TaikoL2Filterer) WatchCrossChainSynced(opts *bind.WatchOpts, sink chan<- *TaikoL2CrossChainSynced, srcHeight []*big.Int) (event.Subscription, error) { var srcHeightRule []interface{} for _, srcHeightItem := range srcHeight { srcHeightRule = append(srcHeightRule, srcHeightItem) } - logs, sub, err := _TaikoL2.contract.WatchLogs(opts, "XchainSynced", srcHeightRule) + logs, sub, err := _TaikoL2.contract.WatchLogs(opts, "CrossChainSynced", srcHeightRule) if err != nil { return nil, err } @@ -1421,8 +1421,8 @@ func (_TaikoL2 *TaikoL2Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink ch select { case log := <-logs: // New log arrived, parse the event and forward to the user - event := new(TaikoL2XchainSynced) - if err := _TaikoL2.contract.UnpackLog(event, "XchainSynced", log); err != nil { + event := new(TaikoL2CrossChainSynced) + if err := _TaikoL2.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { return err } event.Raw = log @@ -1443,12 +1443,12 @@ func (_TaikoL2 *TaikoL2Filterer) WatchXchainSynced(opts *bind.WatchOpts, sink ch }), nil } -// ParseXchainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. +// ParseCrossChainSynced is a log parse operation binding the contract event 0xc7edd3d480c294297f3924d0ffab64074e7fb22e004ea492d5dd691fa1fc99c0. // -// Solidity: event XchainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) -func (_TaikoL2 *TaikoL2Filterer) ParseXchainSynced(log types.Log) (*TaikoL2XchainSynced, error) { - event := new(TaikoL2XchainSynced) - if err := _TaikoL2.contract.UnpackLog(event, "XchainSynced", log); err != nil { +// Solidity: event CrossChainSynced(uint256 indexed srcHeight, bytes32 blockHash, bytes32 signalRoot) +func (_TaikoL2 *TaikoL2Filterer) ParseCrossChainSynced(log types.Log) (*TaikoL2CrossChainSynced, error) { + event := new(TaikoL2CrossChainSynced) + if err := _TaikoL2.contract.UnpackLog(event, "CrossChainSynced", log); err != nil { return nil, err } event.Raw = log diff --git a/packages/relayer/header_syncer.go b/packages/relayer/header_syncer.go index 66210e9dc38..73f7c51cf72 100644 --- a/packages/relayer/header_syncer.go +++ b/packages/relayer/header_syncer.go @@ -7,5 +7,5 @@ import ( ) type HeaderSyncer interface { - GetXchainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) + GetCrossChainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) } diff --git a/packages/relayer/indexer/service.go b/packages/relayer/indexer/service.go index 99adee651fa..c7206925278 100644 --- a/packages/relayer/indexer/service.go +++ b/packages/relayer/indexer/service.go @@ -15,7 +15,7 @@ import ( "github.com/ethereum/go-ethereum/rpc" "github.com/taikoxyz/taiko-mono/packages/relayer" "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/bridge" - "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/ixchainsync" + "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/icrosschainsync" "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/taikol1" "github.com/taikoxyz/taiko-mono/packages/relayer/message" "github.com/taikoxyz/taiko-mono/packages/relayer/proof" @@ -137,7 +137,7 @@ func NewService(opts NewServiceOpts) (*Service, error) { return nil, errors.Wrap(err, "proof.New") } - destHeaderSyncer, err := ixchainsync.NewIXchainSync(opts.DestTaikoAddress, opts.DestEthClient) + destHeaderSyncer, err := icrosschainsync.NewICrossChainSync(opts.DestTaikoAddress, opts.DestEthClient) if err != nil { return nil, errors.Wrap(err, "contracts.NewTaikoL2") } diff --git a/packages/relayer/message/process_message.go b/packages/relayer/message/process_message.go index 0c0397dd10a..7a389732528 100644 --- a/packages/relayer/message/process_message.go +++ b/packages/relayer/message/process_message.go @@ -42,7 +42,7 @@ func (p *Processor) ProcessMessage( // get latest synced header since not every header is synced from L1 => L2, // and later blocks still have the storage trie proof from previous blocks. - latestSyncedHeader, err := p.destHeaderSyncer.GetXchainBlockHash(&bind.CallOpts{}, big.NewInt(0)) + latestSyncedHeader, err := p.destHeaderSyncer.GetCrossChainBlockHash(&bind.CallOpts{}, big.NewInt(0)) if err != nil { return errors.Wrap(err, "taiko.GetSyncedHeader") } diff --git a/packages/relayer/message/processor_test.go b/packages/relayer/message/processor_test.go index cff682d2952..d8becaa1b5f 100644 --- a/packages/relayer/message/processor_test.go +++ b/packages/relayer/message/processor_test.go @@ -10,7 +10,7 @@ import ( "github.com/ethereum/go-ethereum/rpc" "github.com/taikoxyz/taiko-mono/packages/relayer" "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/bridge" - "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/ixchainsync" + "github.com/taikoxyz/taiko-mono/packages/relayer/contracts/icrosschainsync" "github.com/taikoxyz/taiko-mono/packages/relayer/mock" "github.com/taikoxyz/taiko-mono/packages/relayer/proof" "github.com/taikoxyz/taiko-mono/packages/relayer/repo" @@ -57,7 +57,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -73,7 +73,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, Confirmations: 1, }, relayer.ErrInvalidConfirmationsTimeoutInSeconds, @@ -88,7 +88,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, ConfirmationsTimeoutInSeconds: 900, }, relayer.ErrInvalidConfirmations, @@ -102,7 +102,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -118,7 +118,7 @@ func Test_NewProcessor(t *testing.T) { DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, Confirmations: 1, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, ConfirmationsTimeoutInSeconds: 900, }, relayer.ErrNoProver, @@ -133,7 +133,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -148,7 +148,7 @@ func Test_NewProcessor(t *testing.T) { DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -163,7 +163,7 @@ func Test_NewProcessor(t *testing.T) { SrcETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -178,7 +178,7 @@ func Test_NewProcessor(t *testing.T) { SrcETHClient: ðclient.Client{}, DestETHClient: ðclient.Client{}, EventRepo: &repo.EventRepository{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, @@ -193,7 +193,7 @@ func Test_NewProcessor(t *testing.T) { SrcETHClient: ðclient.Client{}, DestETHClient: ðclient.Client{}, DestBridge: &bridge.Bridge{}, - DestHeaderSyncer: &ixchainsync.IXchainSync{}, + DestHeaderSyncer: &icrosschainsync.ICrossChainSync{}, Confirmations: 1, ConfirmationsTimeoutInSeconds: 900, }, diff --git a/packages/relayer/message/wait_header_synced.go b/packages/relayer/message/wait_header_synced.go index b9c91de7796..ca4d15b1c3b 100644 --- a/packages/relayer/message/wait_header_synced.go +++ b/packages/relayer/message/wait_header_synced.go @@ -29,14 +29,14 @@ func (p *Processor) waitHeaderSynced(ctx context.Context, event *bridge.BridgeMe ) // get latest synced header since not every header is synced from L1 => L2, // and later blocks still have the storage trie proof from previous blocks. - latestSyncedHeader, err := p.destHeaderSyncer.GetXchainBlockHash(&bind.CallOpts{}, big.NewInt(0)) + latestSyncedHeader, err := p.destHeaderSyncer.GetCrossChainBlockHash(&bind.CallOpts{}, big.NewInt(0)) if err != nil { - return errors.Wrap(err, "p.destHeaderSyncer.GetXchainBlockHash") + return errors.Wrap(err, "p.destHeaderSyncer.GetCrossChainBlockHash") } header, err := p.srcEthClient.HeaderByHash(ctx, latestSyncedHeader) if err != nil { - return errors.Wrap(err, "p.destHeaderSyncer.GetXchainBlockHash") + return errors.Wrap(err, "p.destHeaderSyncer.GetCrossChainBlockHash") } // header is caught up and processible diff --git a/packages/relayer/mock/header_syncer.go b/packages/relayer/mock/header_syncer.go index 5944b85d86f..bc837ddd9af 100644 --- a/packages/relayer/mock/header_syncer.go +++ b/packages/relayer/mock/header_syncer.go @@ -13,7 +13,7 @@ type HeaderSyncer struct { Fail bool } -func (h *HeaderSyncer) GetXchainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { +func (h *HeaderSyncer) GetCrossChainBlockHash(opts *bind.CallOpts, number *big.Int) ([32]byte, error) { if h.Fail { return [32]byte{}, errors.New("fail") } diff --git a/packages/status-page/src/constants/abi/TaikoL1.ts b/packages/status-page/src/constants/abi/TaikoL1.ts index ed2b84a494b..78a40adfbe0 100644 --- a/packages/status-page/src/constants/abi/TaikoL1.ts +++ b/packages/status-page/src/constants/abi/TaikoL1.ts @@ -373,7 +373,7 @@ export default [ type: "bytes32", }, ], - name: "XchainSynced", + name: "CrossChainSynced", type: "event", }, { @@ -757,7 +757,7 @@ export default [ type: "uint256", }, ], - name: "getXchainBlockHash", + name: "getCrossChainBlockHash", outputs: [ { internalType: "bytes32", @@ -776,7 +776,7 @@ export default [ type: "uint256", }, ], - name: "getXchainSignalRoot", + name: "getCrossChainSignalRoot", outputs: [ { internalType: "bytes32", diff --git a/packages/status-page/src/utils/getLatestSyncedHeader.ts b/packages/status-page/src/utils/getLatestSyncedHeader.ts index b62be97eef9..b818cbbba2d 100644 --- a/packages/status-page/src/utils/getLatestSyncedHeader.ts +++ b/packages/status-page/src/utils/getLatestSyncedHeader.ts @@ -6,5 +6,5 @@ export const getLatestSyncedHeader = async ( contractAddress: string ): Promise => { const contract: Contract = new Contract(contractAddress, TaikoL1, provider); - return await contract.getXchainBlockHash(0); + return await contract.getCrossChainBlockHash(0); }; diff --git a/packages/status-page/src/utils/watchHeaderSynced.ts b/packages/status-page/src/utils/watchHeaderSynced.ts index 4699f626fe2..d96baa41086 100644 --- a/packages/status-page/src/utils/watchHeaderSynced.ts +++ b/packages/status-page/src/utils/watchHeaderSynced.ts @@ -7,7 +7,10 @@ export const watchHeaderSynced = async ( onEvent: (value: string | number | boolean) => void ) => { const contract: Contract = new Contract(taikoL1Address, TaikoL1, provider); - contract.on("XchainSynced", (lastVerifiedBlockId, blockHash, signalRoot) => { - onEvent(blockHash); - }); + contract.on( + "CrossChainSynced", + (lastVerifiedBlockId, blockHash, signalRoot) => { + onEvent(blockHash); + } + ); }; diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md index 449856b7192..ddce9b971fa 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md @@ -126,16 +126,16 @@ function getBlock(uint256 blockId) public view returns (bytes32 _metaHash, uint2 function getForkChoice(uint256 blockId, bytes32 parentHash, uint32 parentGasUsed) public view returns (struct TaikoData.ForkChoice) ``` -### getXchainBlockHash +### getCrossChainBlockHash ```solidity -function getXchainBlockHash(uint256 blockId) public view returns (bytes32) +function getCrossChainBlockHash(uint256 blockId) public view returns (bytes32) ``` -### getXchainSignalRoot +### getCrossChainSignalRoot ```solidity -function getXchainSignalRoot(uint256 blockId) public view returns (bytes32) +function getCrossChainSignalRoot(uint256 blockId) public view returns (bytes32) ``` ### getStateVariables diff --git a/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2.md b/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2.md index d704cb740d0..0035c217cd9 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2.md +++ b/packages/website/pages/docs/reference/contract-documentation/L2/TaikoL2.md @@ -167,10 +167,10 @@ This transaction shall be the first transaction in every L2 block. function getBasefee(uint32 timeSinceParent, uint64 gasLimit, uint64 parentGasUsed) public view returns (uint256 _basefee) ``` -### getXchainBlockHash +### getCrossChainBlockHash ```solidity -function getXchainBlockHash(uint256 number) public view returns (bytes32) +function getCrossChainBlockHash(uint256 number) public view returns (bytes32) ``` Returns the cross-chain block hash at the given block number. @@ -187,10 +187,10 @@ Returns the cross-chain block hash at the given block number. | ---- | ------- | --------------------------- | | [0] | bytes32 | The cross-chain block hash. | -### getXchainSignalRoot +### getCrossChainSignalRoot ```solidity -function getXchainSignalRoot(uint256 number) public view returns (bytes32) +function getCrossChainSignalRoot(uint256 number) public view returns (bytes32) ``` Returns the cross-chain signal service storage root at the given diff --git a/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md b/packages/website/pages/docs/reference/contract-documentation/common/ICrossChainSync.md similarity index 76% rename from packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md rename to packages/website/pages/docs/reference/contract-documentation/common/ICrossChainSync.md index f704bb9afec..b1c8ee28a16 100644 --- a/packages/website/pages/docs/reference/contract-documentation/common/IXchainSync.md +++ b/packages/website/pages/docs/reference/contract-documentation/common/ICrossChainSync.md @@ -1,22 +1,22 @@ --- -title: IXchainSync +title: ICrossChainSync --- -## IXchainSync +## ICrossChainSync Interface implemented by both the TaikoL1 and TaikoL2 contracts. It exposes the methods needed to access the block hashes of the other chain. -### XchainSynced +### CrossChainSynced ```solidity -event XchainSynced(uint256 srcHeight, bytes32 blockHash, bytes32 signalRoot) +event CrossChainSynced(uint256 srcHeight, bytes32 blockHash, bytes32 signalRoot) ``` -### getXchainBlockHash +### getCrossChainBlockHash ```solidity -function getXchainBlockHash(uint256 number) external view returns (bytes32) +function getCrossChainBlockHash(uint256 number) external view returns (bytes32) ``` Returns the cross-chain block hash at the given block number. @@ -33,10 +33,10 @@ Returns the cross-chain block hash at the given block number. | ---- | ------- | --------------------------- | | [0] | bytes32 | The cross-chain block hash. | -### getXchainSignalRoot +### getCrossChainSignalRoot ```solidity -function getXchainSignalRoot(uint256 number) external view returns (bytes32) +function getCrossChainSignalRoot(uint256 number) external view returns (bytes32) ``` Returns the cross-chain signal service storage root at the given From 9636c64e71c3272ab8054da373aee9becda05737 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Wed, 3 May 2023 09:27:42 +0800 Subject: [PATCH 27/34] Update packages/protocol/contracts/L1/TaikoL1.sol Co-authored-by: Brecht Devos --- packages/protocol/contracts/L1/TaikoL1.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L1/TaikoL1.sol b/packages/protocol/contracts/L1/TaikoL1.sol index 2bb78cbe6a9..73c6ab7b017 100644 --- a/packages/protocol/contracts/L1/TaikoL1.sol +++ b/packages/protocol/contracts/L1/TaikoL1.sol @@ -41,7 +41,7 @@ contract TaikoL1 is * @param _addressManager The AddressManager address. * @param _genesisBlockHash The block hash of the genesis block. * @param _initBlockFee Initial (reasonable) block fee value. - * @param _initProofTimeIssued Initial proof time which keeps the inflow/outflow in balance + * @param _initProofTimeIssued Initial proof time issued corresponding with the initial block fee. */ function init( address _addressManager, From 1fe7078b07584bfd9a133d8209dfd6c260bfa29f Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Wed, 3 May 2023 09:27:50 +0800 Subject: [PATCH 28/34] Update packages/protocol/contracts/L1/libs/LibProving.sol Co-authored-by: Brecht Devos --- packages/protocol/contracts/L1/libs/LibProving.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index 0c290323679..5b5e3e24af5 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -77,7 +77,7 @@ library LibProving { s := mload(add(data, 64)) } - // clear the proof before hasing evidence + // clear the proof before hashing evidence evidence.verifierId = 0; evidence.proof = new bytes(0); From 758a162038b473c33d5a4e2313381e1ee7f20c39 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Wed, 3 May 2023 09:27:57 +0800 Subject: [PATCH 29/34] Update packages/protocol/contracts/L1/libs/LibTokenomics.sol Co-authored-by: Brecht Devos --- packages/protocol/contracts/L1/libs/LibTokenomics.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L1/libs/LibTokenomics.sol b/packages/protocol/contracts/L1/libs/LibTokenomics.sol index aa5ad830eee..0f908992076 100644 --- a/packages/protocol/contracts/L1/libs/LibTokenomics.sol +++ b/packages/protocol/contracts/L1/libs/LibTokenomics.sol @@ -59,7 +59,7 @@ library LibTokenomics { * * @param state The actual state data * @param proofTime The actual proof time - * @return reward Amount of reward given - if blocked is proved and verified + * @return reward The reward given for the block proof */ function getProofReward( TaikoData.State storage state, From fb877edcc9b6f4bea9bc7bb98cf31fc259bb496f Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Wed, 3 May 2023 09:28:04 +0800 Subject: [PATCH 30/34] Update packages/protocol/contracts/L2/TaikoL2.sol Co-authored-by: Brecht Devos --- packages/protocol/contracts/L2/TaikoL2.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L2/TaikoL2.sol b/packages/protocol/contracts/L2/TaikoL2.sol index 4f873028e99..55f8715fefc 100644 --- a/packages/protocol/contracts/L2/TaikoL2.sol +++ b/packages/protocol/contracts/L2/TaikoL2.sol @@ -191,7 +191,7 @@ contract TaikoL2 is EssentialContract, TaikoL2Signer, ICrossChainSync { } // On L2, basefee is not burnt, but sent to a treasure instead. - // The circuits will need to verify the basefee recipient is the deginated + // The circuits will need to verify the basefee recipient is the designated // address. if (block.basefee != basefee) revert L2_BASEFEE_MISMATCH(uint64(basefee), uint64(block.basefee)); From 3b1fd498dd9fc60010d5e716b92e6e52b999aafb Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Wed, 3 May 2023 09:28:42 +0800 Subject: [PATCH 31/34] Update packages/protocol/contracts/L1/TaikoL1.sol Co-authored-by: Brecht Devos --- packages/protocol/contracts/L1/TaikoL1.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L1/TaikoL1.sol b/packages/protocol/contracts/L1/TaikoL1.sol index 73c6ab7b017..fbfc8ae2e8d 100644 --- a/packages/protocol/contracts/L1/TaikoL1.sol +++ b/packages/protocol/contracts/L1/TaikoL1.sol @@ -98,7 +98,7 @@ contract TaikoL1 is * * @param blockId The index of the block to prove. This is also used * to select the right implementation version. - * @param input An abi-encoded TaikoData.ValidBlockEvidence object. + * @param input An abi-encoded TaikoData.BlockEvidence object. */ function proveBlock( uint256 blockId, From 029ba8c8735455fa21e11781f625f5bd0d852fc5 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Wed, 3 May 2023 09:30:40 +0800 Subject: [PATCH 32/34] feat(protocol): prevent oracle prover overriding the same proof (#13681) Co-authored-by: adaki2004 Co-authored-by: Dani <51912515+adaki2004@users.noreply.github.com> --- .../protocol/contracts/L1/TaikoErrors.sol | 1 + .../protocol/contracts/L1/libs/LibProving.sol | 7 + .../contracts/L1/libs/LibVerifying.sol | 14 +- packages/protocol/package.json | 4 +- packages/protocol/test/TaikoL1.sim.sol | 2 +- packages/protocol/test/TaikoL1Oracle.t.sol | 184 +++++++++++++++++- .../contract-documentation/L1/TaikoErrors.md | 6 + 7 files changed, 210 insertions(+), 8 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoErrors.sol b/packages/protocol/contracts/L1/TaikoErrors.sol index 7849251178c..ab056969a94 100644 --- a/packages/protocol/contracts/L1/TaikoErrors.sol +++ b/packages/protocol/contracts/L1/TaikoErrors.sol @@ -21,6 +21,7 @@ abstract contract TaikoErrors { error L1_INVALID_PROOF(); error L1_NOT_ORACLE_PROVER(); error L1_ORACLE_DISABLED(); + error L1_SAME_PROOF(); error L1_TOO_MANY_BLOCKS(); error L1_TX_LIST_NOT_EXIST(); error L1_TX_LIST_HASH(); diff --git a/packages/protocol/contracts/L1/libs/LibProving.sol b/packages/protocol/contracts/L1/libs/LibProving.sol index 5b5e3e24af5..59cd86ea299 100644 --- a/packages/protocol/contracts/L1/libs/LibProving.sol +++ b/packages/protocol/contracts/L1/libs/LibProving.sol @@ -30,6 +30,7 @@ library LibProving { error L1_INVALID_EVIDENCE(); error L1_ORACLE_DISABLED(); error L1_NOT_ORACLE_PROVER(); + error L1_SAME_PROOF(); function proveBlock( TaikoData.State storage state, @@ -130,6 +131,12 @@ library LibProving { } } else if (isOracleProof) { fc = blk.forkChoices[fcId]; + + if ( + fc.blockHash == evidence.blockHash && + fc.signalRoot == evidence.signalRoot && + fc.gasUsed == evidence.gasUsed + ) revert L1_SAME_PROOF(); } else { revert L1_ALREADY_PROVEN(); } diff --git a/packages/protocol/contracts/L1/libs/LibVerifying.sol b/packages/protocol/contracts/L1/libs/LibVerifying.sol index f8818422f4d..94afe5807c8 100644 --- a/packages/protocol/contracts/L1/libs/LibVerifying.sol +++ b/packages/protocol/contracts/L1/libs/LibVerifying.sol @@ -97,6 +97,8 @@ library LibVerifying { ++i; } + address oracleProver = resolver.resolve("oracle_prover", true); + while (i < state.numBlocks && processed < maxBlocks) { blk = state.blocks[i % config.ringBufferSize]; assert(blk.blockId == i); @@ -107,10 +109,14 @@ library LibVerifying { TaikoData.ForkChoice storage fc = blk.forkChoices[fcId]; - if ( - fc.prover == address(0) || // oracle proof - block.timestamp < fc.provenAt + config.proofCooldownPeriod // too young - ) break; + if (fc.prover == address(0)) break; + + uint256 proofCooldownPeriod = oracleProver == address(0) || + fc.prover == oracleProver + ? 0 + : config.proofCooldownPeriod; + + if (block.timestamp < fc.provenAt + proofCooldownPeriod) break; blockHash = fc.blockHash; gasUsed = fc.gasUsed; diff --git a/packages/protocol/package.json b/packages/protocol/package.json index 28166db202e..feda0086f1a 100644 --- a/packages/protocol/package.json +++ b/packages/protocol/package.json @@ -14,8 +14,8 @@ "test": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.t.sol", "snapshot": "forge snapshot --match-path test/**/*.t.sol", "test:coverage": "forge coverage --report lcov", - "test:sim": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000", - "test:sim_export": "pnpm test:sim > simulation/exports/simulation_data_$(date +%s).txt", + "sim": "forge test -vvv --gas-report --fuzz-seed $(date +%s) --match-path test/**/*.sim.sol --block-gas-limit 3000000000000000000", + "sim:export": "pnpm test:sim > simulation/exports/simulation_data_$(date +%s).txt", "generate:genesis": "ts-node ./utils/generate_genesis/main.ts", "test:genesis": "./test/genesis/generate_genesis.test.sh", "deploy:foundry": "./script/download_solc.sh && ./script/test_deploy_on_l1.sh", diff --git a/packages/protocol/test/TaikoL1.sim.sol b/packages/protocol/test/TaikoL1.sim.sol index 39de2d2a0e8..7acf183d533 100644 --- a/packages/protocol/test/TaikoL1.sim.sol +++ b/packages/protocol/test/TaikoL1.sim.sol @@ -15,7 +15,7 @@ import {LibLn} from "./LibLn.sol"; uint16 constant PROOF_TIME_TARGET = 375; //sec. Approx mainnet scenario /// @dev Warning: this test will take 7-10 minutes and require 1GB memory. -/// `pnpm test:sim` +/// `pnpm sim` contract TaikoL1_b is TaikoL1 { function getConfig() public diff --git a/packages/protocol/test/TaikoL1Oracle.t.sol b/packages/protocol/test/TaikoL1Oracle.t.sol index 92e9510cb73..4d6c30ad59e 100644 --- a/packages/protocol/test/TaikoL1Oracle.t.sol +++ b/packages/protocol/test/TaikoL1Oracle.t.sol @@ -7,6 +7,7 @@ import {AddressManager} from "../contracts/common/AddressManager.sol"; import {LibUtils} from "../contracts/L1/libs/LibUtils.sol"; import {TaikoConfig} from "../contracts/L1/TaikoConfig.sol"; import {TaikoData} from "../contracts/L1/TaikoData.sol"; +import {TaikoErrors} from "../contracts/L1/TaikoErrors.sol"; import {TaikoL1} from "../contracts/L1/TaikoL1.sol"; import {TaikoToken} from "../contracts/L1/TaikoToken.sol"; import {SignalService} from "../contracts/signal/SignalService.sol"; @@ -101,7 +102,7 @@ contract TaikoL1OracleTest is TaikoL1TestBase { assertEq(fc.gasUsed, 40000); } - function testOracleProverCanAlwaysOverwrite() external { + function testOracleProverCanAlwaysOverwriteIfNotSameProof() external { depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); @@ -230,6 +231,69 @@ contract TaikoL1OracleTest is TaikoL1TestBase { } } + function testOracleProverCannotOverwriteIfSameProof() external { + registerAddress("oracle_prover", Carol); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint256 blockId = 1; + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + + for (uint i = 0; i < 5; ++i) { + uint32 parentGasUsed = uint32(10000 + i); + + // Bob proves the block + proveBlock( + Bob, + meta, + parentHash, + parentGasUsed, + 10001, + bytes32(uint256(0x11)), + bytes32(uint256(0x12)), + false + ); + + TaikoData.ForkChoice memory fc = L1.getForkChoice( + blockId, + parentHash, + parentGasUsed + ); + + if (i == 0) { + assertFalse(fc.key == 0); + } else { + assertEq(fc.key, 0); + } + assertEq(fc.blockHash, bytes32(uint256(0x11))); + assertEq(fc.signalRoot, bytes32(uint256(0x12))); + assertEq(fc.provenAt, block.timestamp); + assertEq(fc.prover, Bob); + assertEq(fc.gasUsed, 10001); + + // Carol - who is oracle prover - cannot override with same proof + vm.warp(block.timestamp + 10 seconds); + vm.expectRevert(TaikoErrors.L1_SAME_PROOF.selector); + proveBlock( + Carol, + meta, + parentHash, + parentGasUsed, + 10001, + bytes32(uint256(0x11)), + bytes32(uint256(0x12)), + true + ); + } + } + /// @dev Test we can propose, prove, then verify more blocks than 'maxNumProposedBlocks' function test_cooldown_more_blocks_than_ring_buffer_size() external { depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); @@ -291,4 +355,122 @@ contract TaikoL1OracleTest is TaikoL1TestBase { } printVariables(""); } + + /// @dev Test we can verify without cooling time if the oracle prover is set to address (0) + function test_if_oracle_is_address_zero_cooldown_is_zero() external { + registerAddress("oracle_prover", address(0)); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint32 parentGasUsed = 0; + uint32 gasUsed = 1000000; + + for ( + uint256 blockId = 1; + blockId < conf.maxNumProposedBlocks * 10; + blockId++ + ) { + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + printVariables("after propose"); + mine(1); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + parentGasUsed, + gasUsed, + blockHash, + signalRoot, + false + ); + + uint256 lastVerifiedBlockId = L1 + .getStateVariables() + .lastVerifiedBlockId; + + vm.warp(block.timestamp + 1 seconds); + verifyBlock(Carol, 1); + + // Check if shortly after proving (+verify) the last verify is not the same anymore + // no need to have a cooldown period + uint256 lastVerifiedBlockIdNow = L1 + .getStateVariables() + .lastVerifiedBlockId; + + assertFalse(lastVerifiedBlockIdNow == lastVerifiedBlockId); + + parentHash = blockHash; + parentGasUsed = gasUsed; + } + printVariables(""); + } + + /// @dev Test we can verify without cooling time if provers is oracle + function test_if_fk_prover_is_oracle_prover_cooldown_is_zero() external { + registerAddress("oracle_prover", Bob); + + depositTaikoToken(Alice, 1E6 * 1E8, 100 ether); + depositTaikoToken(Bob, 1E6 * 1E8, 100 ether); + depositTaikoToken(Carol, 1E6 * 1E8, 100 ether); + + bytes32 parentHash = GENESIS_BLOCK_HASH; + uint32 parentGasUsed = 0; + uint32 gasUsed = 1000000; + + for ( + uint256 blockId = 1; + blockId < conf.maxNumProposedBlocks * 10; + blockId++ + ) { + TaikoData.BlockMetadata memory meta = proposeBlock( + Alice, + 1000000, + 1024 + ); + printVariables("after propose"); + mine(1); + + bytes32 blockHash = bytes32(1E10 + blockId); + bytes32 signalRoot = bytes32(1E9 + blockId); + proveBlock( + Bob, + meta, + parentHash, + parentGasUsed, + gasUsed, + blockHash, + signalRoot, + false + ); + + uint256 lastVerifiedBlockId = L1 + .getStateVariables() + .lastVerifiedBlockId; + + vm.warp(block.timestamp + 1 seconds); + verifyBlock(Carol, 1); + + // Check if shortly after proving (+verify) the last verify is not the same anymore + // no need to have a cooldown period + uint256 lastVerifiedBlockIdNow = L1 + .getStateVariables() + .lastVerifiedBlockId; + + assertFalse(lastVerifiedBlockIdNow == lastVerifiedBlockId); + + parentHash = blockHash; + parentGasUsed = gasUsed; + } + printVariables(""); + } } diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md index 213bad94c97..e0878497b70 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoErrors.md @@ -82,6 +82,12 @@ error L1_NOT_ORACLE_PROVER() error L1_ORACLE_DISABLED() ``` +### L1_SAME_PROOF + +```solidity +error L1_SAME_PROOF() +``` + ### L1_TOO_MANY_BLOCKS ```solidity From bd203f39ac8ffea65114045af87ca18b7191f219 Mon Sep 17 00:00:00 2001 From: Daniel Wang <99078276+dantaik@users.noreply.github.com> Date: Wed, 3 May 2023 09:40:24 +0800 Subject: [PATCH 33/34] Update packages/protocol/contracts/L1/libs/LibTokenomics.sol Co-authored-by: Brecht Devos --- packages/protocol/contracts/L1/libs/LibTokenomics.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/protocol/contracts/L1/libs/LibTokenomics.sol b/packages/protocol/contracts/L1/libs/LibTokenomics.sol index 0f908992076..e267788c7e6 100644 --- a/packages/protocol/contracts/L1/libs/LibTokenomics.sol +++ b/packages/protocol/contracts/L1/libs/LibTokenomics.sol @@ -55,7 +55,7 @@ library LibTokenomics { } /** - * Update the block reward for proofs + * Get the block reward for a proof * * @param state The actual state data * @param proofTime The actual proof time From f8c17979b9ff593218ddc1dbf7d84dcc40bb66f2 Mon Sep 17 00:00:00 2001 From: Daniel Wang Date: Wed, 3 May 2023 10:04:33 +0800 Subject: [PATCH 34/34] cleanup --- packages/protocol/contracts/L1/TaikoData.sol | 1 - packages/protocol/contracts/L1/TaikoL1.sol | 11 ++--------- packages/protocol/contracts/L1/TaikoToken.sol | 2 +- .../contracts/L1/libs/LibProposing.sol | 1 - .../contract-documentation/L1/TaikoData.md | 1 - .../contract-documentation/L1/TaikoL1.md | 19 +++++++++---------- 6 files changed, 12 insertions(+), 23 deletions(-) diff --git a/packages/protocol/contracts/L1/TaikoData.sol b/packages/protocol/contracts/L1/TaikoData.sol index 5f084bb9fdc..c6bae412292 100644 --- a/packages/protocol/contracts/L1/TaikoData.sol +++ b/packages/protocol/contracts/L1/TaikoData.sol @@ -103,7 +103,6 @@ library TaikoData { mapping(uint256 forkChoiceId => ForkChoice) forkChoices; uint64 blockId; uint64 proposedAt; - uint64 deposit; uint24 nextForkChoiceId; uint24 verifiedForkChoiceId; bytes32 metaHash; diff --git a/packages/protocol/contracts/L1/TaikoL1.sol b/packages/protocol/contracts/L1/TaikoL1.sol index fbfc8ae2e8d..bc03dc84282 100644 --- a/packages/protocol/contracts/L1/TaikoL1.sol +++ b/packages/protocol/contracts/L1/TaikoL1.sol @@ -93,8 +93,7 @@ contract TaikoL1 is } /** - * Prove a block is valid with a zero-knowledge proof, a transaction - * merkel proof, and a receipt merkel proof. + * Prove a block with a zero-knowledge proof. * * @param blockId The index of the block to prove. This is also used * to select the right implementation version. @@ -176,12 +175,7 @@ contract TaikoL1 is ) public view - returns ( - bytes32 _metaHash, - uint256 _deposit, - address _proposer, - uint64 _proposedAt - ) + returns (bytes32 _metaHash, address _proposer, uint64 _proposedAt) { TaikoData.Block storage blk = LibProposing.getBlock({ state: state, @@ -189,7 +183,6 @@ contract TaikoL1 is blockId: blockId }); _metaHash = blk.metaHash; - _deposit = blk.deposit; _proposer = blk.proposer; _proposedAt = blk.proposedAt; } diff --git a/packages/protocol/contracts/L1/TaikoToken.sol b/packages/protocol/contracts/L1/TaikoToken.sol index 8a0d4d1c44e..e4b14611350 100644 --- a/packages/protocol/contracts/L1/TaikoToken.sol +++ b/packages/protocol/contracts/L1/TaikoToken.sol @@ -59,7 +59,7 @@ contract TaikoToken is EssentialContract, ERC20Upgradeable, IMintableERC20 { ERC20Upgradeable.__ERC20_init({ name_: _name, symbol_: _symbol, - decimals_: 8 + decimals_: 18 }); for (uint256 i = 0; i < _premintRecipients.length; ++i) { diff --git a/packages/protocol/contracts/L1/libs/LibProposing.sol b/packages/protocol/contracts/L1/libs/LibProposing.sol index 682e5eec968..7f94240d380 100644 --- a/packages/protocol/contracts/L1/libs/LibProposing.sol +++ b/packages/protocol/contracts/L1/libs/LibProposing.sol @@ -84,7 +84,6 @@ library LibProposing { blk.blockId = state.numBlocks; blk.proposedAt = meta.timestamp; - blk.deposit = 0; blk.nextForkChoiceId = 1; blk.verifiedForkChoiceId = 0; blk.metaHash = LibUtils.hashMetadata(meta); diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md index 5907f61073d..46b35902382 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoData.md @@ -119,7 +119,6 @@ struct Block { mapping(uint256 => struct TaikoData.ForkChoice) forkChoices; uint64 blockId; uint64 proposedAt; - uint64 deposit; uint24 nextForkChoiceId; uint24 verifiedForkChoiceId; bytes32 metaHash; diff --git a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md index ddce9b971fa..1f5cdf3a51e 100644 --- a/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md +++ b/packages/website/pages/docs/reference/contract-documentation/L1/TaikoL1.md @@ -26,12 +26,12 @@ Initialize the rollup. #### Parameters -| Name | Type | Description | -| --------------------- | ------- | ------------------------------------------------------------ | -| \_addressManager | address | The AddressManager address. | -| \_genesisBlockHash | bytes32 | The block hash of the genesis block. | -| \_initBlockFee | uint64 | Initial (reasonable) block fee value. | -| \_initProofTimeIssued | uint64 | Initial proof time which keeps the inflow/outflow in balance | +| Name | Type | Description | +| --------------------- | ------- | ------------------------------------------------------------------- | +| \_addressManager | address | The AddressManager address. | +| \_genesisBlockHash | bytes32 | The block hash of the genesis block. | +| \_initBlockFee | uint64 | Initial (reasonable) block fee value. | +| \_initProofTimeIssued | uint64 | Initial proof time issued corresponding with the initial block fee. | ### proposeBlock @@ -54,15 +54,14 @@ Propose a Taiko L2 block. function proveBlock(uint256 blockId, bytes input) external ``` -Prove a block is valid with a zero-knowledge proof, a transaction -merkel proof, and a receipt merkel proof. +Prove a block with a zero-knowledge proof. #### Parameters | Name | Type | Description | | ------- | ------- | ---------------------------------------------------------------------------------------------- | | blockId | uint256 | The index of the block to prove. This is also used to select the right implementation version. | -| input | bytes | An abi-encoded TaikoData.ValidBlockEvidence object. | +| input | bytes | An abi-encoded TaikoData.BlockEvidence object. | ### verifyBlocks @@ -117,7 +116,7 @@ function getProofReward(uint64 provenAt, uint64 proposedAt) public view returns ### getBlock ```solidity -function getBlock(uint256 blockId) public view returns (bytes32 _metaHash, uint256 _deposit, address _proposer, uint64 _proposedAt) +function getBlock(uint256 blockId) public view returns (bytes32 _metaHash, address _proposer, uint64 _proposedAt) ``` ### getForkChoice