diff --git a/.github/scripts/resolve_dockerfile.py b/.github/scripts/resolve_dockerfile.py new file mode 100644 index 0000000..4b06921 --- /dev/null +++ b/.github/scripts/resolve_dockerfile.py @@ -0,0 +1,49 @@ +import sys +import os +import requests + +from ersilia_pack.parsers import DockerfileInstallParser, YAMLInstallParser + +REPO_PATH = os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../..")) +PY_VERSION_MAP = { + '3.8': 'py38', + '3.9': 'py39', + '3.10': 'py310', + '3.11': 'py311', + '3.12': 'py312' +} +model_id = sys.argv[1] +def resolve_parser(): + if os.path.exists(os.path.abspath(os.path.join(REPO_PATH, "Dockerfile"))): + return DockerfileInstallParser(file_dir=REPO_PATH) + elif os.path.exists(os.path.join(REPO_PATH, "install.yml")): + return YAMLInstallParser(file_dir=REPO_PATH) + else: + raise ValueError("No install file found") + +def resolve_python_version(parser): + return parser._get_python_version() + +def read_dockerfile(parser): + commands = parser._get_commands() + has_conda = parser._has_conda(commands) + if has_conda: + file_url = "https://raw.githubusercontent.com/ersilia-os/ersilia/master/dockerfiles/dockerize-ersiliapack/model/Dockerfile.conda" + else: + file_url = "https://raw.githubusercontent.com/ersilia-os/ersilia/master/dockerfiles/dockerize-ersiliapack/model/Dockerfile.pip" + response = requests.get(file_url) + return response.text + +def write_version_and_model_id(file_content, python_version): + python_version = PY_VERSION_MAP[python_version] + file_content = file_content.replace("eos_identifier", model_id) + lines = file_content.split("\n") + lines[0] = lines[0].replace("VERSION", python_version) + with open(os.path.join(REPO_PATH, "../", "Dockerfile"), "w") as f: + f.write("\n".join(lines)) + +if __name__ == "__main__": + parser = resolve_parser() + python_version = resolve_python_version(parser) + dockerfile = read_dockerfile(parser) + write_version_and_model_id(dockerfile, python_version) \ No newline at end of file diff --git a/.github/scripts/verify_model_outcome.py b/.github/scripts/verify_model_outcome.py new file mode 100644 index 0000000..5021e81 --- /dev/null +++ b/.github/scripts/verify_model_outcome.py @@ -0,0 +1,27 @@ +import csv + +def check_non_null_outcomes_in_output_csv(csv_file_path): + with open(csv_file_path, 'r') as csv_file: + csv_reader = csv.reader(csv_file) + header = next(csv_reader) + row = next(csv_reader) + for val in row[2:]: # Skip the first two columns (Inchikey and input) + if val not in ['', None]: # Returns if even one outcome is not null + return False + return True + +if __name__ == '__main__': + # Read file path from command line + import sys + if len(sys.argv) < 2: + print('Usage: python verify_model_output.py ') + exit(1) + + output_csv_file = sys.argv[1] + + if check_non_null_outcomes_in_output_csv(output_csv_file): + # If there are null outcomes, exit with status code 1 + print('All outcomes are null') + else: + print('Some outcomes are not null') + diff --git a/.github/workflows/json-check.yml b/.github/workflows/json-check.yml new file mode 100644 index 0000000..22cd701 --- /dev/null +++ b/.github/workflows/json-check.yml @@ -0,0 +1,18 @@ +name: json syntax check + +on: + push: + paths: + - "**.json" + pull_request: + +jobs: + json-test: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # pin@v3.5.2 + + - name: json syntax check + id: json-yaml-validate + uses: GrantBirki/json-yaml-validate@87b2d309a02f4942c5e602183eeea11008a640f9 # pin@v1.4.0 diff --git a/.github/workflows/post-model-upload.yml b/.github/workflows/post-model-upload.yml new file mode 100644 index 0000000..d33c69f --- /dev/null +++ b/.github/workflows/post-model-upload.yml @@ -0,0 +1,194 @@ +name: Post Model Upload actions + +on: + workflow_run: + workflows: ["Upload model to DockerHub"] + types: + - completed + +jobs: + post-model-upload: + if: ${{ github.repository != 'ersilia-os/eos-template' }} + runs-on: ubuntu-latest + steps: + + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Download arch.txt + uses: actions/download-artifact@v4 + with: + name: arch + path: . + run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Check metadata file + id: checkMetadata + continue-on-error: true + run: | + if [[ ! -f metadata.yml ]]; then + echo "metadata.yml file not found" + exit 1 + fi + + - name: Update Metadata YAML file with DockerHub info + id: updateMetadataYAML + if: steps.checkMetadata.outcome == 'success' + run: | + python3 -c " + import yaml + with open('metadata.yml', 'r') as f: + data = yaml.safe_load(f) + print(data) + with open('arch.txt', 'r') as f: + arch = f.read().rstrip() + arch = arch.split(',') + data['DockerHub'] = 'https://hub.docker.com/r/ersiliaos/{0}'.format(data['Identifier']) + data['Docker Architecture'] = arch + with open('metadata.yml', 'w') as f: + yaml.dump(data, f, default_flow_style=False, sort_keys=False) + " + rm arch.txt + + - name: Update Metadata JSON file with DockerHub info + id: updateMetadataJSON + if: steps.checkMetadata.outcome == 'failure' + run: | + python3 -c " + import json + with open('metadata.json', 'r') as f: + data = json.load(f) + print(data) + with open('arch.txt', 'r') as f: + arch = f.read().rstrip() + arch = arch.split(',') + data['DockerHub'] = 'https://hub.docker.com/r/ersiliaos/{0}'.format(data['Identifier']) + data['Docker Architecture'] = arch + with open('metadata.json', 'w') as f: + json.dump(data, f, indent=4) + " + rm arch.txt + + + - name: Commit and push changes done to the Metadata file + uses: actions-js/push@156f2b10c3aa000c44dbe75ea7018f32ae999772 # pin@v1.4 + with: + author_name: "ersilia-bot" + author_email: "ersilia-bot@users.noreply.github.com" + message: "updating metadata [skip ci]" + repository: "ersilia-os/${{ github.event.repository.name }}" + github_token: ${{ secrets.GITHUB_TOKEN }} + amend: true + force: true + + # Setup conda + - name: Setup conda + id: setupConda + uses: conda-incubator/setup-miniconda@v3 + with: + auto-update-conda: true + python-version: "3.10.10" + + # Install ersilia + - name: Install dependencies in Conda environment + id: installDependenciesInConda + run: | + conda install gh -c conda-forge + python -m pip install git+https://github.com/ersilia-os/ersilia.git + + - name: Update metadata to AirTable + id: update-metadata-to-airtable + env: + USER_NAME: ${{ github.repository_owner }} + BRANCH: "main" + REPO_NAME: ${{ github.event.repository.name }} + AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }} + run: | + source activate + pip install requests pyairtable + echo "Updating metadata to AirTable looking at owner: $USER_NAME" + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/airtableops.py + python3 airtableops.py airtable-update --user $USER_NAME --repo $REPO_NAME --branch $BRANCH --api-key $AIRTABLE_API_KEY + rm airtableops.py + + - name: sync metadata to S3 JSON + id: sync-metadata-to-s3 + env: + AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + run: | + source activate + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/convert_airtable_to_json.py + pip install boto3 requests pyairtable + python convert_airtable_to_json.py $AIRTABLE_API_KEY $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY + rm convert_airtable_to_json.py + + - name: Update README file + id: update-readme-file + env: + MODEL_ID: ${{ github.event.repository.name }} + run: | + echo "Updating README file with AirTable metadata for model: $MODEL_ID" + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/airtableops.py + python3 airtableops.py readme-update --repo $MODEL_ID --path . + rm airtableops.py + less README.md + + - name: Commit and push changes done to the README file + uses: actions-js/push@156f2b10c3aa000c44dbe75ea7018f32ae999772 # pin@v1.4 + with: + author_name: "ersilia-bot" + author_email: "ersilia-bot@users.noreply.github.com" + message: "updating readme [skip ci]" + repository: "ersilia-os/${{ github.event.repository.name }}" + github_token: ${{ secrets.GITHUB_TOKEN }} + amend: true + force: true + + - name: Docker Hub Description + uses: peter-evans/dockerhub-description@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + repository: ersiliaos/${{ github.event.repository.name }} + short-description: "Ersilia Model Hub Identifier: ${{ github.event.repository.name }}" + + # Create an issue within the repository to track that this model is ready for testing + + - name: Shuffle assignees + id: shuffle + run: | + export assignees=$(echo "${{ vars.assignees }}" | awk 'BEGIN {FS=","}; {srand();split($0,a,FS); print a[int(rand()*NF+1)]}') + echo "$assignees" >> $GITHUB_STEP_SUMMARY + echo "shuffled_assignee=$assignees" >> $GITHUB_OUTPUT + echo "shuffled_assignee=$assignees" >> $GITHUB_ENV + + - name: Check for existing issue + id: check_existing_test_issue + run: | + gh auth login --with-token <<< ${{ secrets.GITHUB_TOKEN }} + issue_number=$(gh issue list --limit 100 --search "${{ vars.test_issue_title }}" --json number --jq '.[0].number') + echo "::set-output name=issue_number::$issue_number" + + - name: Create a Test issue + uses: actions-ecosystem/action-create-issue@b63bc2bbacb6a838dfe4a9f70da6665ae0962a49 + id: create_test_issue + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + title: ${{ vars.TEST_ISSUE_TITLE }} + assignees: | + ${{ steps.shuffle.outputs.shuffled_assignee }} + body: | + This model is a new incorporation to the Ersilia Model Hub or it has been modified. If you are assigned to this issue, please try it out and ensure everything works! + To test a model, first clone it in your local system (ideally, from dockerhub) using the CLI commands: + ``` + ersilia -v fetch eosxxxx --from_dockerhub + ersilia serve eosxxxx + ersilia test + ``` + The test command will automatically check that the model can handle null outputs and whether it produces consistent results. Please copy here the result of the test command. If it passes, simply close the issue as completed. If it fails, please detail at which step and whether you have taken any steps to solve it. Please tag the original model contributor and one of Ersilia's maintainers for support. + labels: | + test + if: steps.check_existing_test_issue.outputs.issue_number == '' diff --git a/.github/workflows/post2slack.yml b/.github/workflows/post2slack.yml new file mode 100644 index 0000000..9a77592 --- /dev/null +++ b/.github/workflows/post2slack.yml @@ -0,0 +1,17 @@ +name: Send Slack message +on: + issues: + types: [opened] + +jobs: + slack: + runs-on: ubuntu-latest + steps: + - name: post slack + uses: slackapi/slack-github-action@v1.23.0 + env: + SLACK_BOT_TOKEN: ${{ secrets.SLACK_TOKEN }} + with: + slack-message: | + "new issue: https://github.com/${{ github.repository }}/issues/${{ github.event.issue.number }} created." + channel-id: ${{ secrets.SLACK_CHANNEL_TESTER }} diff --git a/.github/workflows/test-model-image.yml b/.github/workflows/test-model-image.yml new file mode 100644 index 0000000..0872bd7 --- /dev/null +++ b/.github/workflows/test-model-image.yml @@ -0,0 +1,101 @@ +# Workflow to test the model image on both Ubuntu and MacOS platforms +# This workflow is triggered when the workflow to upload the model to DockerHub is completed +name: Test model image + +on: + workflow_run: + workflows: ["Upload model to DockerHub"] + types: + - completed + +jobs: + test-image: + if: ${{ github.repository != 'ersilia-os/eos-template' && github.event.workflow_run.conclusion == 'success' }} + strategy: + matrix: + platform: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.platform }} + defaults: + run: + shell: bash -el {0} + + steps: + - uses: actions/setup-python@5.3.0 + with: + python-version: "3.12" + + # Checkout ersilia so we can run the testing playground + - name: Checkout ersilia + uses: actions/checkout@v4.2.2 + with: + repository: ersilia-os/ersilia + ref: master + path: ersilia + + # Install ersilia with the test extra + - name: Install ersilia + run: | + python -m pip install 'git+https://github.com/ersilia-os/ersilia.git#egg=ersilia[test]' + + # Run the test playground + - name: Run the test playground + id: test-playground + continue-on-error: true + env: + MODEL: ${{ github.event.repository.name }} + TAG: ${{ inputs.tag }} + run: | + cd ersilia/test/playground + nox -s execute -- --single $MODEL --cli fetch test --fetch from_dockerhub version dev --test deep + + # We will parse the log to see if the test passed + - name: Parse log + run: | + cat log.txt + + # Store architecture information + # If test-playground succeeds we save amd if run on ubuntu, arm if run on macos + - name: Store architecture information + id: architecture + if: steps.test-playground.outcome == 'success' + run: | + if [[ ${{ matrix.platform }} == 'ubuntu-latest' ]]; then + echo "success" > amd.txt + if [[ ${{ matrix.platform }} == 'macos-latest' ]]; then + echo "success" > arm.txt + fi + + # Upload log artifact from the playground and the architecture information + - name: Upload log artifact + uses: actions/upload-artifact@v3 + with: + name: build-logs + retention-days: 14 + path: | + *.txt + + retag-image: + if: ${{ github.repository != 'ersilia-os/eos-template' }} + needs: test-image + runs-on: ubuntu-latest + steps: + - name: Download architecture information + uses: actions/download-artifact@v3 + with: + name: build-logs + + # If either amd.txt or arm.txt files exist, we tag the image with date and as latest + - name: Check architecture information + env: + MODEL: ${{ github.event.repository.name }} + run: | + if [[ -f amd.txt || -f arm.txt ]]; then + echo "Tagging image with date and as latest" + docker pull ersiliaos/${{ github.event.repository.name }}:dev + docker tag ersiliaos/$MODEL:dev ersiliaos/$MODEL:$(date +%Y-%m-%d) + docker tag ersiliaos/$MODEL:dev ersiliaos/$MODEL:latest + docker push ersiliaos/$MODEL:$(date +%Y-%m-%d) && docker push ersiliaos/$MODEL:latest + else + echo "Image test failed, keeping the dev tag" + exit 1 + fi diff --git a/.github/workflows/test-model-pr.yml b/.github/workflows/test-model-pr.yml new file mode 100644 index 0000000..39e9576 --- /dev/null +++ b/.github/workflows/test-model-pr.yml @@ -0,0 +1,71 @@ +# This workflow only tests the model on PRs, not on every push to the main branch. +# TODO(@dhanshree): Test ersilia in all supported Python versions +name: Model Test on PR + +on: + pull_request: + +jobs: + test: + if: github.repository != 'ersilia-os/eos-template' + runs-on: ubuntu-latest + steps: + # This might stop working in the future, so we need to keep an eye on it + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + # this might remove tools that are actually needed, + # if set to "true" but frees about 6 GB + tool-cache: true + + # all of these default to true, but feel free to set to + # "false" if necessary for your workflow + android: true + dotnet: true + haskell: true + large-packages: true + swap-storage: true + + - uses: actions/checkout@v4.2.2 + with: + lfs: true + - uses: conda-incubator/setup-miniconda@v3 + with: + auto-update-conda: true + python-version: "3.10.10" + + - name: Install dependencies + run: | + conda install git-lfs -c conda-forge + git-lfs install + conda install gh -c conda-forge + python -m pip install 'ersilia[test]' + + # TODO(@dhanshree) We can potentially restore the retries. + # TODO(@dhanshree) Correct the test command as needed + - name: Test model + env: + MODEL_ID: ${{ github.event.repository.name }} + run: | + ersilia -v test $MODEL_ID --shallow > test.log + + # Remove mock.txt if it exists + - name: Cleanup + run: | + if [ -f "mock.txt" ]; then + echo "Removing mock.txt file" + rm "mock.txt" + else + echo "mock.txt not found, skipping removal" + fi + + # Upload EOS logs and test logs + - name: Upload log output + if: always() + uses: actions/upload-artifact@v4.5.0 + with: + name: debug-logs + retention-days: 14 + path: | + /home/runner/eos/*.log + ./*.log diff --git a/.github/workflows/test-model-source.yml b/.github/workflows/test-model-source.yml new file mode 100644 index 0000000..87ca680 --- /dev/null +++ b/.github/workflows/test-model-source.yml @@ -0,0 +1,131 @@ +# This workflow tests the model on the main branch +name: Model test on push + +on: + push: + branches: ["main"] + workflow_dispatch: + +jobs: + test: + if: github.repository != 'ersilia-os/eos-template' + runs-on: ubuntu-latest + steps: + # This might stop working in the future, so we need to keep an eye on it + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + # this might remove tools that are actually needed, + # if set to "true" but frees about 6 GB + tool-cache: true + + # all of these default to true, but feel free to set to + # "false" if necessary for your workflow + android: true + dotnet: true + haskell: true + large-packages: true + swap-storage: true + + - uses: actions/checkout@v4.2.2 + with: + lfs: true + - uses: conda-incubator/setup-miniconda@v3 + with: + auto-update-conda: true + python-version: "3.12" + auto-activate-base: false + + - name: Install dependencies + run: | + conda run -n base conda install git-lfs -c conda-forge + conda run -n base git-lfs install + conda run -n base conda install gh -c conda-forge + conda run -n base python -m pip install 'git+https://github.com/ersilia-os/ersilia.git#egg=ersilia[test]' + + - name: Update metadata to AirTable + id: update-metadata-to-airtable + env: + USER_NAME: ${{ github.repository_owner }} + BRANCH: "main" + REPO_NAME: ${{ github.event.repository.name }} + AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }} + uses: nick-fields/retry@v3 + with: + timeout_minutes: 10 + max_attempts: 3 + command: | + source activate + pip install requests pyairtable + echo "Updating metadata to AirTable looking at owner: $USER_NAME" + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/airtableops.py + python3 airtableops.py airtable-update --user $USER_NAME --repo $REPO_NAME --branch $BRANCH --api-key $AIRTABLE_API_KEY + rm airtableops.py + + - name: Sync metadata to S3 JSON + id: sync-metadata-to-s3 + env: + AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + run: | + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/convert_airtable_to_json.py + pip install boto3 requests pyairtable + python convert_airtable_to_json.py $AIRTABLE_API_KEY $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY + rm convert_airtable_to_json.py + + - name: Update README file + id: update-readme-file + env: + MODEL_ID: ${{ github.event.repository.name }} + run: | + conda run -n base bash -c " + echo 'Updating README file with AirTable metadata for model: $MODEL_ID' && + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/airtableops.py && + python3 airtableops.py readme-update --repo $MODEL_ID --path . && + rm airtableops.py && + less README.md + " + + - name: Commit and push changes done to the README file + uses: actions-js/push@156f2b10c3aa000c44dbe75ea7018f32ae999772 # pin@v1.4 + with: + author_name: "ersilia-bot" + author_email: "ersilia-bot@users.noreply.github.com" + message: "updating readme [skip ci]" + repository: "ersilia-os/${{ github.event.repository.name }}" + github_token: ${{ secrets.GITHUB_TOKEN }} + amend: true + force: true + + - name: Fetch model and run it simply + env: + MODEL_ID: ${{ github.event.repository.name }} + run: | + conda run -n base bash -c " + ersilia -v fetch $MODEL_ID --from_github && + ersilia serve $MODEL_ID && + ersilia example -f input.csv -n 3 && + ersilia run -i input.csv -o output.csv && + ersilia close && + ersilia delete $MODEL_ID && + head output.csv + " + + # TODO(@dhanshree) We can potentially restore the retries. + # - name: Test model + # env: + # MODEL_ID: ${{ github.event.repository.name }} + # run: | + # ersilia -v test $MODEL_ID --from_github --shallow > test.log + + # Upload EOS logs and test logs + - name: Upload log output + if: always() + uses: actions/upload-artifact@v4.5.0 + with: + name: debug-logs + retention-days: 14 + path: | + /home/runner/eos/*.log + ./*.log diff --git a/.github/workflows/upload-bentoml.yml b/.github/workflows/upload-bentoml.yml new file mode 100644 index 0000000..904e05d --- /dev/null +++ b/.github/workflows/upload-bentoml.yml @@ -0,0 +1,95 @@ +name: Upload BentoML Dockerized Model with or without Multi-stage Conda Pack + +on: + workflow_call: + inputs: + version: + required: true + type: string + +jobs: + build-bentoml-image: + if: ${{ github.repository != 'ersilia-os/eos-template' }} + runs-on: ubuntu-latest + steps: + + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Check if we can use this workflow + run: | + if [[ -f install.yml ]]; then + echo "This workflow is not supported for this repository" + exit 1 + fi + + # https://github.com/docker/setup-qemu-action + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + # https://github.com/docker/setup-buildx-action + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + # log in to dockerhub + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + # This might stop working in the future, so we need to keep an eye on it + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + # this might remove tools that are actually needed, + # if set to "true" but frees about 6 GB + tool-cache: true + + # all of these default to true, but feel free to set to + # "false" if necessary for your workflow + android: true + dotnet: true + haskell: true + large-packages: true + swap-storage: true + + - name: Setup conda + id: setupConda + uses: conda-incubator/setup-miniconda@v3 + with: + auto-update-conda: true + python-version: "3.10.10" + + - name: Install dependencies in Conda environment + id: installDependenciesInConda + run: | + conda install git-lfs -c conda-forge + git-lfs install + conda install gh -c conda-forge + python -m pip install git+https://github.com/ersilia-os/ersilia.git + + - name: Generate the Dockerfile + id: generateDockerfile + env: + REPO_NAME: ${{ github.event.repository.name }} + VERSION: ${{ inputs.version}} + run: | + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/place_a_dockerfile_in_current_eos_repo.py + python -m pip install requests + python place_a_dockerfile_in_current_eos_repo.py $REPO_NAME $VERSION + rm place_a_dockerfile_in_current_eos_repo.py + + - name: Build and push + id: buildMultiple + continue-on-error: true + uses: docker/build-push-action@v6.7.0 + timeout-minutes: 60 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: | + ersiliaos/${{ github.event.repository.name }}:dev diff --git a/.github/workflows/upload-ersilia-pack.yml b/.github/workflows/upload-ersilia-pack.yml new file mode 100644 index 0000000..a8a814e --- /dev/null +++ b/.github/workflows/upload-ersilia-pack.yml @@ -0,0 +1,136 @@ +name: Upload Ersilia Pack Dockerized Model + +on: + workflow_call: + +jobs: + build-ersilia-pack-image: + if: ${{ github.repository != 'ersilia-os/eos-template' }} + runs-on: ubuntu-latest + steps: + + - name: Checkout repository + uses: actions/checkout@v4 + with: + lfs: true + + - run: git lfs pull + # https://github.com/docker/setup-qemu-action + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + # https://github.com/docker/setup-buildx-action + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + # log in to dockerhub + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + # This might stop working in the future, so we need to keep an eye on it + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + # this might remove tools that are actually needed, + # if set to "true" but frees about 6 GB + tool-cache: true + + # all of these default to true, but feel free to set to + # "false" if necessary for your workflow + android: true + dotnet: true + haskell: true + large-packages: true + swap-storage: true + + # Install ersilia-pack, requests, and ersilia to test the built image with ersilia CLI + - name: Setup Python for Ersilia Pack + id: setupPythonForErsiliaPack + uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 + with: + python-version: '3.12' + + - name: Install ersilia-pack and generate the right Dockerfile + env: + REPO_NAME: ${{ github.event.repository.name }} + run: | + python -m pip install git+https://github.com/ersilia-os/ersilia-pack.git + python -m pip install requests + python -m pip install git+https://github.com/ersilia-os/ersilia.git + python .github/scripts/resolve_dockerfile.py $REPO_NAME + + - name: Build and push AMD64 + id: build_amd64 + continue-on-error: true + uses: docker/build-push-action@v6.7.0 + timeout-minutes: 60 + with: + context: . + platforms: linux/amd64 + push: ${{ github.event_name != 'pull_request' }} + tags: | + ersiliaos/${{ github.event.repository.name }}:dev-amd64 + + - name: Build and push ARM64 + id: build_arm64 + continue-on-error: true + uses: docker/build-push-action@v6.7.0 + timeout-minutes: 60 + with: + context: . + platforms: linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: | + ersiliaos/${{ github.event.repository.name }}:dev-arm64 + + - name: Set architecture success info + id: arch_info + run: | + ARCHS="" + AMD64_STATUS="${{ steps.build_amd64.outcome }}" + ARM64_STATUS="${{ steps.build_arm64.outcome }}" + + if [[ "$AMD64_STATUS" == "success" && "$ARM64_STATUS" == "success" ]]; then + ARCHS="AMD64,ARM64" + elif [[ "$AMD64_STATUS" == "success" ]]; then + ARCHS="AMD64" + elif [[ "$ARM64_STATUS" == "success" ]]; then + ARCHS="ARM64" + fi + echo "Successful architectures: $ARCHS" + echo "$ARCHS" > arch.txt + echo "archs=$ARCHS" >> $GITHUB_OUTPUT + + - name: Decide on multi-arch manifest or single tag + if: ${{ github.event_name != 'pull_request' }} + run: | + ARCHS="${{ steps.arch_info.outputs.archs }}" + if [[ "$ARCHS" == "AMD64,ARM64" ]]; then + docker buildx imagetools create \ + -t ersiliaos/${{ github.event.repository.name }}:dev \ + ersiliaos/${{ github.event.repository.name }}:dev-amd64 \ + ersiliaos/${{ github.event.repository.name }}:dev-arm64 + elif [[ "$ARCHS" == "AMD64" ]]; then + docker pull ersiliaos/${{ github.event.repository.name }}:dev-amd64 + docker tag ersiliaos/${{ github.event.repository.name }}:dev-amd64 ersiliaos/${{ github.event.repository.name }}:dev + docker push ersiliaos/${{ github.event.repository.name }}:dev + elif [[ "$ARCHS" == "ARM64" ]]; then + docker pull ersiliaos/${{ github.event.repository.name }}:dev-arm64 + docker tag ersiliaos/${{ github.event.repository.name }}:dev-arm64 ersiliaos/${{ github.event.repository.name }}:dev + docker push ersiliaos/${{ github.event.repository.name }}:dev + else + echo "❌ Both builds failed. Exiting with error." + exit 1 + fi + + - name: Upload arch.txt as artifact + uses: actions/upload-artifact@v4 + with: + name: architecture-info + path: arch.txt + diff --git a/.github/workflows/upload-model-to-dockerhub.yml b/.github/workflows/upload-model-to-dockerhub.yml new file mode 100644 index 0000000..097c2d6 --- /dev/null +++ b/.github/workflows/upload-model-to-dockerhub.yml @@ -0,0 +1,28 @@ +name: Upload model to DockerHub +on: + workflow_run: + workflows: ["Upload model to S3"] + types: + - completed + +jobs: + upload-ersilia-pack: + if: ${{ github.event.workflow_run.conclusion == 'success' }} + uses: ./.github/workflows/upload-ersilia-pack.yml + secrets: inherit + + upload-multi-stage-condapack: + needs: [upload-ersilia-pack] + if: ${{ failure() }} + uses: ./.github/workflows/upload-bentoml.yml + secrets: inherit + with: + version: multistage-condapack + + upload-legacy-bentoml: + needs: [upload-multi-stage-condapack] + if: ${{ failure() }} + uses: ./.github/workflows/upload-bentoml.yml + secrets: inherit + with: + version: legacy-bentoml diff --git a/.github/workflows/upload-model-to-s3.yml b/.github/workflows/upload-model-to-s3.yml new file mode 100644 index 0000000..2b30681 --- /dev/null +++ b/.github/workflows/upload-model-to-s3.yml @@ -0,0 +1,141 @@ +name: Upload model to S3 +on: + workflow_dispatch: + + workflow_run: + workflows: ["Model test on push"] + types: + - completed + +jobs: + upload_model_to_s3: + if: ${{ github.repository != 'ersilia-os/eos-template' && github.event.workflow_run.conclusion == 'success' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4.2.2 + with: + persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token + fetch-depth: 0 # otherwise, you will failed to push refs to dest repo + lfs: 'true' + + - uses: conda-incubator/setup-miniconda@v3 + with: + auto-update-conda: true + python-version: "3.12" + auto-activate-base: true + + - name: Install dependencies + run: | + conda install git-lfs -c conda-forge + git-lfs install + conda install gh -c conda-forge + python -m pip install git+https://github.com/ersilia-os/ersilia.git + +# Here we check if a metadata.yml file exists or a metadata.json file exists +# If metadata.yml file does not exist, we update metadata.json file + + - name: Check metadata file + id: checkMetadata + continue-on-error: true + run: | + if [[ ! -f metadata.yml ]]; then + echo "metadata.yml file not found" + exit 1 + fi + + - name: Update Metadata JSON file with S3 info + if: steps.checkMetadata.outcome == 'failure' + id: UpdateMetadataJSON + run: | + python3 -c " + import json + with open('metadata.json', 'r') as f: + data = json.load(f) + data['S3'] = 'https://ersilia-models-zipped.s3.eu-central-1.amazonaws.com/{0}.zip'.format(data['Identifier']) + with open('metadata.json', 'w') as f: + json.dump(data, f, indent=4) + " + + - name: Update Metadata YAML file with S3 info + if: steps.checkMetadata.outcome == 'success' + id: UpdateMetadataYAML + run: | + python3 -c " + import yaml + with open('metadata.yml', 'r') as f: + data = yaml.safe_load(f) + data['S3'] = 'https://ersilia-models-zipped.s3.eu-central-1.amazonaws.com/{0}.zip'.format(data['Identifier']) + with open('metadata.yml', 'w') as f: + yaml.dump(data, f, default_flow_style=False, sort_keys=False) + " + + - name: Commit and push changes done to the Metadata file + uses: actions-js/push@156f2b10c3aa000c44dbe75ea7018f32ae999772 # pin@v1.4 + with: + author_name: "ersilia-bot" + author_email: "ersilia-bot@users.noreply.github.com" + message: "updating metadata [skip ci]" + repository: "ersilia-os/${{ github.event.repository.name }}" + github_token: ${{ secrets.GITHUB_TOKEN }} + amend: true + force: true + + - name: Update metadata to AirTable + id: update-metadata-to-airtable + env: + USER_NAME: ${{ github.repository_owner }} + BRANCH: "main" + REPO_NAME: ${{ github.event.repository.name }} + AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }} + run: | + pip install requests pyairtable + echo "Updating metadata to AirTable looking at owner: $USER_NAME" + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/airtableops.py + python3 airtableops.py airtable-update --user $USER_NAME --repo $REPO_NAME --branch $BRANCH --api-key $AIRTABLE_API_KEY + rm airtableops.py + + - name: sync metadata to S3 JSON + id: sync-metadata-to-s3 + env: + AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + run: | + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/convert_airtable_to_json.py + pip install boto3 requests pyairtable + python convert_airtable_to_json.py $AIRTABLE_API_KEY $AWS_ACCESS_KEY_ID $AWS_SECRET_ACCESS_KEY + rm convert_airtable_to_json.py + + - name: Update README file + id: update-readme-file + env: + MODEL_ID: ${{ github.event.repository.name }} + run: | + echo "Updating README file with AirTable metadata for model: $MODEL_ID" + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/airtableops.py + python3 airtableops.py readme-update --repo $MODEL_ID --path . + rm airtableops.py + less README.md + + - name: Commit and push changes done to the README file + uses: actions-js/push@156f2b10c3aa000c44dbe75ea7018f32ae999772 # pin@v1.4 + with: + author_name: "ersilia-bot" + author_email: "ersilia-bot@users.noreply.github.com" + message: "updating readme [skip ci]" + repository: "ersilia-os/${{ github.event.repository.name }}" + github_token: ${{ secrets.GITHUB_TOKEN }} + amend: true + force: true + + - name: Upload model to S3 + id: upload-model-to-s3 + env: + REPO_NAME: ${{ github.event.repository.name }} + AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + run: | + echo "Uploading model to S3 bucket" + wget https://raw.githubusercontent.com/ersilia-os/ersilia/master/.github/scripts/upload_model_to_s3.py + python3 upload_model_to_s3.py $REPO_NAME $AWS_ACCESS_KEY $AWS_SECRET_ACCESS_KEY . + rm upload_model_to_s3.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..809fa6e --- /dev/null +++ b/.gitignore @@ -0,0 +1,130 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ +/data.h5 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..67e1151 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM bentoml/model-server:0.11.0-py312 + +RUN pip install rdkit==2024.9.5 +RUN pip install numpy==2.2.3 + +WORKDIR /repo +COPY . /repo diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7b6785a --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# Morgan counts fingerprints + +The Morgan Fingerprints, or extended connectivity fingerprints (ECFP4) are one of the most widely used molecular representations. They are circular representations (from an atom, search the atoms around with a radius n) and can have thousands of features. This implementation uses the RDKit package and is done with radius 3 and 2048 dimensions. + +## Identifiers + +* EOS model ID: `eos5axz` +* Slug: `morgan-counts` + +## Characteristics + +* Input: `Compound` +* Input Shape: `Single` +* Task: `Representation` +* Output: `Descriptor` +* Output Type: `Integer` +* Output Shape: `List` +* Interpretation: Vector representation of a molecule + +## References + +* [Publication](https://www.rdkit.org/docs/RDKit_Book.html) +* [Source Code](https://github.com/rdkit/rdkit) +* Ersilia contributor: [miquelduranfrigola](https://github.com/miquelduranfrigola) + +## Ersilia model URLs +* [GitHub](https://github.com/ersilia-os/eos5axz) +* [AWS S3](https://ersilia-models-zipped.s3.eu-central-1.amazonaws.com/eos5axz.zip) +* [DockerHub](https://hub.docker.com/r/ersiliaos/eos5axz) (AMD64, ARM64) + +## Citation + +If you use this model, please cite the [original authors](https://www.rdkit.org/docs/RDKit_Book.html) of the model and the [Ersilia Model Hub](https://github.com/ersilia-os/ersilia/blob/master/CITATION.cff). + +## License + +This package is licensed under a GPL-3.0 license. The model contained within this package is licensed under a BSD-3.0 license. + +Notice: Ersilia grants access to these models 'as is' provided by the original authors, please refer to the original code repository and/or publication if you use the model in your research. + +## About Us + +The [Ersilia Open Source Initiative](https://ersilia.io) is a Non Profit Organization ([1192266](https://register-of-charities.charitycommission.gov.uk/charity-search/-/charity-details/5170657/full-print)) with the mission is to equip labs, universities and clinics in LMIC with AI/ML tools for infectious disease research. + +[Help us](https://www.ersilia.io/donate) achieve our mission! \ No newline at end of file diff --git a/metadata.json b/metadata.json new file mode 100644 index 0000000..303d278 --- /dev/null +++ b/metadata.json @@ -0,0 +1,37 @@ +{ + "Identifier": "eos5axz", + "Slug": "morgan-counts", + "Status": "Ready", + "Title": "Morgan counts fingerprints", + "Description": "The Morgan Fingerprints, or extended connectivity fingerprints (ECFP4) are one of the most widely used molecular representations. They are circular representations (from an atom, search the atoms around with a radius n) and can have thousands of features. This implementation uses the RDKit package and is done with radius 3 and 2048 dimensions.\n", + "Mode": "Pretrained", + "Input": [ + "Compound" + ], + "Input Shape": "Single", + "Task": [ + "Representation" + ], + "Output": [ + "Descriptor" + ], + "Output Type": [ + "Integer" + ], + "Output Shape": "List", + "Interpretation": "Vector representation of a molecule", + "Tag": [ + "Fingerprint", + "Descriptor" + ], + "Publication": "https://www.rdkit.org/docs/RDKit_Book.html", + "Source Code": "https://github.com/rdkit/rdkit", + "License": "BSD-3.0", + "Contributor": "miquelduranfrigola", + "S3": "https://ersilia-models-zipped.s3.eu-central-1.amazonaws.com/eos5axz.zip", + "DockerHub": "https://hub.docker.com/r/ersiliaos/eos5axz", + "Docker Architecture": [ + "AMD64", + "ARM64" + ] +} \ No newline at end of file diff --git a/model/checkpoints/README.md b/model/checkpoints/README.md new file mode 100644 index 0000000..926034c --- /dev/null +++ b/model/checkpoints/README.md @@ -0,0 +1 @@ +# Model Pretrained Parameters diff --git a/model/framework/code/main.py b/model/framework/code/main.py new file mode 100644 index 0000000..9a612a2 --- /dev/null +++ b/model/framework/code/main.py @@ -0,0 +1,64 @@ +# imports +import os +import csv +import sys + +from rdkit import Chem +from rdkit.Chem import rdFingerprintGenerator +import numpy as np + +# parse arguments +input_file = sys.argv[1] +output_file = sys.argv[2] + +# current file directory +root = os.path.dirname(os.path.abspath(__file__)) + +RADIUS = 3 +NBITS = 2048 +mfpgen = rdFingerprintGenerator.GetMorganGenerator(radius=RADIUS,fpSize=NBITS) + +def clip_sparse(vect, nbits): + l = [0] * nbits + for i, v in vect.GetNonzeroElements().items(): + l[i] = v if v < 255 else 255 + return l + +def morganfp(mol): + v = mfpgen.GetCountFingerprint(mol) + return clip_sparse(v, NBITS) + +# read SMILES from .csv file, assuming one column with header +with open(input_file, "r") as f: + reader = csv.reader(f) + next(reader) # skip header + smiles_list = [r[0] for r in reader] + +# run model + +outputs = [] +empty_output = [None]*NBITS + +for smiles in smiles_list: + mol = Chem.MolFromSmiles(smiles) + if mol is None: + outputs += [empty_output] + fp = morganfp(mol) + fp = np.array(fp, dtype=int) + outputs += [fp] +print(outputs) +# check input and output have the same length +input_len = len(smiles_list) +output_len = len(outputs) +assert input_len == output_len + +header = ["dim_{0}".format(str(i).zfill(4)) for i in range(NBITS)] + +# write output in a .csv file +with open(output_file, "w") as f: + writer = csv.writer(f) + writer.writerow(header) # header + for o in outputs: + print(o) + writer.writerow(o) + diff --git a/model/framework/columns/run_columns.csv b/model/framework/columns/run_columns.csv new file mode 100644 index 0000000..394d6ac --- /dev/null +++ b/model/framework/columns/run_columns.csv @@ -0,0 +1,2049 @@ +name,type,direction,description +dim_0000,integer,,Morgan count fingeprint dimension 0 with radius 3 and 2048 bits +dim_0001,integer,,Morgan count fingeprint dimension 1 with radius 3 and 2048 bits +dim_0002,integer,,Morgan count fingeprint dimension 2 with radius 3 and 2048 bits +dim_0003,integer,,Morgan count fingeprint dimension 3 with radius 3 and 2048 bits +dim_0004,integer,,Morgan count fingeprint dimension 4 with radius 3 and 2048 bits +dim_0005,integer,,Morgan count fingeprint dimension 5 with radius 3 and 2048 bits +dim_0006,integer,,Morgan count fingeprint dimension 6 with radius 3 and 2048 bits +dim_0007,integer,,Morgan count fingeprint dimension 7 with radius 3 and 2048 bits +dim_0008,integer,,Morgan count fingeprint dimension 8 with radius 3 and 2048 bits +dim_0009,integer,,Morgan count fingeprint dimension 9 with radius 3 and 2048 bits +dim_0010,integer,,Morgan count fingeprint dimension 10 with radius 3 and 2048 bits +dim_0011,integer,,Morgan count fingeprint dimension 11 with radius 3 and 2048 bits +dim_0012,integer,,Morgan count fingeprint dimension 12 with radius 3 and 2048 bits +dim_0013,integer,,Morgan count fingeprint dimension 13 with radius 3 and 2048 bits +dim_0014,integer,,Morgan count fingeprint dimension 14 with radius 3 and 2048 bits +dim_0015,integer,,Morgan count fingeprint dimension 15 with radius 3 and 2048 bits +dim_0016,integer,,Morgan count fingeprint dimension 16 with radius 3 and 2048 bits +dim_0017,integer,,Morgan count fingeprint dimension 17 with radius 3 and 2048 bits +dim_0018,integer,,Morgan count fingeprint dimension 18 with radius 3 and 2048 bits +dim_0019,integer,,Morgan count fingeprint dimension 19 with radius 3 and 2048 bits +dim_0020,integer,,Morgan count fingeprint dimension 20 with radius 3 and 2048 bits +dim_0021,integer,,Morgan count fingeprint dimension 21 with radius 3 and 2048 bits +dim_0022,integer,,Morgan count fingeprint dimension 22 with radius 3 and 2048 bits +dim_0023,integer,,Morgan count fingeprint dimension 23 with radius 3 and 2048 bits +dim_0024,integer,,Morgan count fingeprint dimension 24 with radius 3 and 2048 bits +dim_0025,integer,,Morgan count fingeprint dimension 25 with radius 3 and 2048 bits +dim_0026,integer,,Morgan count fingeprint dimension 26 with radius 3 and 2048 bits +dim_0027,integer,,Morgan count fingeprint dimension 27 with radius 3 and 2048 bits +dim_0028,integer,,Morgan count fingeprint dimension 28 with radius 3 and 2048 bits +dim_0029,integer,,Morgan count fingeprint dimension 29 with radius 3 and 2048 bits +dim_0030,integer,,Morgan count fingeprint dimension 30 with radius 3 and 2048 bits +dim_0031,integer,,Morgan count fingeprint dimension 31 with radius 3 and 2048 bits +dim_0032,integer,,Morgan count fingeprint dimension 32 with radius 3 and 2048 bits +dim_0033,integer,,Morgan count fingeprint dimension 33 with radius 3 and 2048 bits +dim_0034,integer,,Morgan count fingeprint dimension 34 with radius 3 and 2048 bits +dim_0035,integer,,Morgan count fingeprint dimension 35 with radius 3 and 2048 bits +dim_0036,integer,,Morgan count fingeprint dimension 36 with radius 3 and 2048 bits +dim_0037,integer,,Morgan count fingeprint dimension 37 with radius 3 and 2048 bits +dim_0038,integer,,Morgan count fingeprint dimension 38 with radius 3 and 2048 bits +dim_0039,integer,,Morgan count fingeprint dimension 39 with radius 3 and 2048 bits +dim_0040,integer,,Morgan count fingeprint dimension 40 with radius 3 and 2048 bits +dim_0041,integer,,Morgan count fingeprint dimension 41 with radius 3 and 2048 bits +dim_0042,integer,,Morgan count fingeprint dimension 42 with radius 3 and 2048 bits +dim_0043,integer,,Morgan count fingeprint dimension 43 with radius 3 and 2048 bits +dim_0044,integer,,Morgan count fingeprint dimension 44 with radius 3 and 2048 bits +dim_0045,integer,,Morgan count fingeprint dimension 45 with radius 3 and 2048 bits +dim_0046,integer,,Morgan count fingeprint dimension 46 with radius 3 and 2048 bits +dim_0047,integer,,Morgan count fingeprint dimension 47 with radius 3 and 2048 bits +dim_0048,integer,,Morgan count fingeprint dimension 48 with radius 3 and 2048 bits +dim_0049,integer,,Morgan count fingeprint dimension 49 with radius 3 and 2048 bits +dim_0050,integer,,Morgan count fingeprint dimension 50 with radius 3 and 2048 bits +dim_0051,integer,,Morgan count fingeprint dimension 51 with radius 3 and 2048 bits +dim_0052,integer,,Morgan count fingeprint dimension 52 with radius 3 and 2048 bits +dim_0053,integer,,Morgan count fingeprint dimension 53 with radius 3 and 2048 bits +dim_0054,integer,,Morgan count fingeprint dimension 54 with radius 3 and 2048 bits +dim_0055,integer,,Morgan count fingeprint dimension 55 with radius 3 and 2048 bits +dim_0056,integer,,Morgan count fingeprint dimension 56 with radius 3 and 2048 bits +dim_0057,integer,,Morgan count fingeprint dimension 57 with radius 3 and 2048 bits +dim_0058,integer,,Morgan count fingeprint dimension 58 with radius 3 and 2048 bits +dim_0059,integer,,Morgan count fingeprint dimension 59 with radius 3 and 2048 bits +dim_0060,integer,,Morgan count fingeprint dimension 60 with radius 3 and 2048 bits +dim_0061,integer,,Morgan count fingeprint dimension 61 with radius 3 and 2048 bits +dim_0062,integer,,Morgan count fingeprint dimension 62 with radius 3 and 2048 bits +dim_0063,integer,,Morgan count fingeprint dimension 63 with radius 3 and 2048 bits +dim_0064,integer,,Morgan count fingeprint dimension 64 with radius 3 and 2048 bits +dim_0065,integer,,Morgan count fingeprint dimension 65 with radius 3 and 2048 bits +dim_0066,integer,,Morgan count fingeprint dimension 66 with radius 3 and 2048 bits +dim_0067,integer,,Morgan count fingeprint dimension 67 with radius 3 and 2048 bits +dim_0068,integer,,Morgan count fingeprint dimension 68 with radius 3 and 2048 bits +dim_0069,integer,,Morgan count fingeprint dimension 69 with radius 3 and 2048 bits +dim_0070,integer,,Morgan count fingeprint dimension 70 with radius 3 and 2048 bits +dim_0071,integer,,Morgan count fingeprint dimension 71 with radius 3 and 2048 bits +dim_0072,integer,,Morgan count fingeprint dimension 72 with radius 3 and 2048 bits +dim_0073,integer,,Morgan count fingeprint dimension 73 with radius 3 and 2048 bits +dim_0074,integer,,Morgan count fingeprint dimension 74 with radius 3 and 2048 bits +dim_0075,integer,,Morgan count fingeprint dimension 75 with radius 3 and 2048 bits +dim_0076,integer,,Morgan count fingeprint dimension 76 with radius 3 and 2048 bits +dim_0077,integer,,Morgan count fingeprint dimension 77 with radius 3 and 2048 bits +dim_0078,integer,,Morgan count fingeprint dimension 78 with radius 3 and 2048 bits +dim_0079,integer,,Morgan count fingeprint dimension 79 with radius 3 and 2048 bits +dim_0080,integer,,Morgan count fingeprint dimension 80 with radius 3 and 2048 bits +dim_0081,integer,,Morgan count fingeprint dimension 81 with radius 3 and 2048 bits +dim_0082,integer,,Morgan count fingeprint dimension 82 with radius 3 and 2048 bits +dim_0083,integer,,Morgan count fingeprint dimension 83 with radius 3 and 2048 bits +dim_0084,integer,,Morgan count fingeprint dimension 84 with radius 3 and 2048 bits +dim_0085,integer,,Morgan count fingeprint dimension 85 with radius 3 and 2048 bits +dim_0086,integer,,Morgan count fingeprint dimension 86 with radius 3 and 2048 bits +dim_0087,integer,,Morgan count fingeprint dimension 87 with radius 3 and 2048 bits +dim_0088,integer,,Morgan count fingeprint dimension 88 with radius 3 and 2048 bits +dim_0089,integer,,Morgan count fingeprint dimension 89 with radius 3 and 2048 bits +dim_0090,integer,,Morgan count fingeprint dimension 90 with radius 3 and 2048 bits +dim_0091,integer,,Morgan count fingeprint dimension 91 with radius 3 and 2048 bits +dim_0092,integer,,Morgan count fingeprint dimension 92 with radius 3 and 2048 bits +dim_0093,integer,,Morgan count fingeprint dimension 93 with radius 3 and 2048 bits +dim_0094,integer,,Morgan count fingeprint dimension 94 with radius 3 and 2048 bits +dim_0095,integer,,Morgan count fingeprint dimension 95 with radius 3 and 2048 bits +dim_0096,integer,,Morgan count fingeprint dimension 96 with radius 3 and 2048 bits +dim_0097,integer,,Morgan count fingeprint dimension 97 with radius 3 and 2048 bits +dim_0098,integer,,Morgan count fingeprint dimension 98 with radius 3 and 2048 bits +dim_0099,integer,,Morgan count fingeprint dimension 99 with radius 3 and 2048 bits +dim_0100,integer,,Morgan count fingeprint dimension 100 with radius 3 and 2048 bits +dim_0101,integer,,Morgan count fingeprint dimension 101 with radius 3 and 2048 bits +dim_0102,integer,,Morgan count fingeprint dimension 102 with radius 3 and 2048 bits +dim_0103,integer,,Morgan count fingeprint dimension 103 with radius 3 and 2048 bits +dim_0104,integer,,Morgan count fingeprint dimension 104 with radius 3 and 2048 bits +dim_0105,integer,,Morgan count fingeprint dimension 105 with radius 3 and 2048 bits +dim_0106,integer,,Morgan count fingeprint dimension 106 with radius 3 and 2048 bits +dim_0107,integer,,Morgan count fingeprint dimension 107 with radius 3 and 2048 bits +dim_0108,integer,,Morgan count fingeprint dimension 108 with radius 3 and 2048 bits +dim_0109,integer,,Morgan count fingeprint dimension 109 with radius 3 and 2048 bits +dim_0110,integer,,Morgan count fingeprint dimension 110 with radius 3 and 2048 bits +dim_0111,integer,,Morgan count fingeprint dimension 111 with radius 3 and 2048 bits +dim_0112,integer,,Morgan count fingeprint dimension 112 with radius 3 and 2048 bits +dim_0113,integer,,Morgan count fingeprint dimension 113 with radius 3 and 2048 bits +dim_0114,integer,,Morgan count fingeprint dimension 114 with radius 3 and 2048 bits +dim_0115,integer,,Morgan count fingeprint dimension 115 with radius 3 and 2048 bits +dim_0116,integer,,Morgan count fingeprint dimension 116 with radius 3 and 2048 bits +dim_0117,integer,,Morgan count fingeprint dimension 117 with radius 3 and 2048 bits +dim_0118,integer,,Morgan count fingeprint dimension 118 with radius 3 and 2048 bits +dim_0119,integer,,Morgan count fingeprint dimension 119 with radius 3 and 2048 bits +dim_0120,integer,,Morgan count fingeprint dimension 120 with radius 3 and 2048 bits +dim_0121,integer,,Morgan count fingeprint dimension 121 with radius 3 and 2048 bits +dim_0122,integer,,Morgan count fingeprint dimension 122 with radius 3 and 2048 bits +dim_0123,integer,,Morgan count fingeprint dimension 123 with radius 3 and 2048 bits +dim_0124,integer,,Morgan count fingeprint dimension 124 with radius 3 and 2048 bits +dim_0125,integer,,Morgan count fingeprint dimension 125 with radius 3 and 2048 bits +dim_0126,integer,,Morgan count fingeprint dimension 126 with radius 3 and 2048 bits +dim_0127,integer,,Morgan count fingeprint dimension 127 with radius 3 and 2048 bits +dim_0128,integer,,Morgan count fingeprint dimension 128 with radius 3 and 2048 bits +dim_0129,integer,,Morgan count fingeprint dimension 129 with radius 3 and 2048 bits +dim_0130,integer,,Morgan count fingeprint dimension 130 with radius 3 and 2048 bits +dim_0131,integer,,Morgan count fingeprint dimension 131 with radius 3 and 2048 bits +dim_0132,integer,,Morgan count fingeprint dimension 132 with radius 3 and 2048 bits +dim_0133,integer,,Morgan count fingeprint dimension 133 with radius 3 and 2048 bits +dim_0134,integer,,Morgan count fingeprint dimension 134 with radius 3 and 2048 bits +dim_0135,integer,,Morgan count fingeprint dimension 135 with radius 3 and 2048 bits +dim_0136,integer,,Morgan count fingeprint dimension 136 with radius 3 and 2048 bits +dim_0137,integer,,Morgan count fingeprint dimension 137 with radius 3 and 2048 bits +dim_0138,integer,,Morgan count fingeprint dimension 138 with radius 3 and 2048 bits +dim_0139,integer,,Morgan count fingeprint dimension 139 with radius 3 and 2048 bits +dim_0140,integer,,Morgan count fingeprint dimension 140 with radius 3 and 2048 bits +dim_0141,integer,,Morgan count fingeprint dimension 141 with radius 3 and 2048 bits +dim_0142,integer,,Morgan count fingeprint dimension 142 with radius 3 and 2048 bits +dim_0143,integer,,Morgan count fingeprint dimension 143 with radius 3 and 2048 bits +dim_0144,integer,,Morgan count fingeprint dimension 144 with radius 3 and 2048 bits +dim_0145,integer,,Morgan count fingeprint dimension 145 with radius 3 and 2048 bits +dim_0146,integer,,Morgan count fingeprint dimension 146 with radius 3 and 2048 bits +dim_0147,integer,,Morgan count fingeprint dimension 147 with radius 3 and 2048 bits +dim_0148,integer,,Morgan count fingeprint dimension 148 with radius 3 and 2048 bits +dim_0149,integer,,Morgan count fingeprint dimension 149 with radius 3 and 2048 bits +dim_0150,integer,,Morgan count fingeprint dimension 150 with radius 3 and 2048 bits +dim_0151,integer,,Morgan count fingeprint dimension 151 with radius 3 and 2048 bits +dim_0152,integer,,Morgan count fingeprint dimension 152 with radius 3 and 2048 bits +dim_0153,integer,,Morgan count fingeprint dimension 153 with radius 3 and 2048 bits +dim_0154,integer,,Morgan count fingeprint dimension 154 with radius 3 and 2048 bits +dim_0155,integer,,Morgan count fingeprint dimension 155 with radius 3 and 2048 bits +dim_0156,integer,,Morgan count fingeprint dimension 156 with radius 3 and 2048 bits +dim_0157,integer,,Morgan count fingeprint dimension 157 with radius 3 and 2048 bits +dim_0158,integer,,Morgan count fingeprint dimension 158 with radius 3 and 2048 bits +dim_0159,integer,,Morgan count fingeprint dimension 159 with radius 3 and 2048 bits +dim_0160,integer,,Morgan count fingeprint dimension 160 with radius 3 and 2048 bits +dim_0161,integer,,Morgan count fingeprint dimension 161 with radius 3 and 2048 bits +dim_0162,integer,,Morgan count fingeprint dimension 162 with radius 3 and 2048 bits +dim_0163,integer,,Morgan count fingeprint dimension 163 with radius 3 and 2048 bits +dim_0164,integer,,Morgan count fingeprint dimension 164 with radius 3 and 2048 bits +dim_0165,integer,,Morgan count fingeprint dimension 165 with radius 3 and 2048 bits +dim_0166,integer,,Morgan count fingeprint dimension 166 with radius 3 and 2048 bits +dim_0167,integer,,Morgan count fingeprint dimension 167 with radius 3 and 2048 bits +dim_0168,integer,,Morgan count fingeprint dimension 168 with radius 3 and 2048 bits +dim_0169,integer,,Morgan count fingeprint dimension 169 with radius 3 and 2048 bits +dim_0170,integer,,Morgan count fingeprint dimension 170 with radius 3 and 2048 bits +dim_0171,integer,,Morgan count fingeprint dimension 171 with radius 3 and 2048 bits +dim_0172,integer,,Morgan count fingeprint dimension 172 with radius 3 and 2048 bits +dim_0173,integer,,Morgan count fingeprint dimension 173 with radius 3 and 2048 bits +dim_0174,integer,,Morgan count fingeprint dimension 174 with radius 3 and 2048 bits +dim_0175,integer,,Morgan count fingeprint dimension 175 with radius 3 and 2048 bits +dim_0176,integer,,Morgan count fingeprint dimension 176 with radius 3 and 2048 bits +dim_0177,integer,,Morgan count fingeprint dimension 177 with radius 3 and 2048 bits +dim_0178,integer,,Morgan count fingeprint dimension 178 with radius 3 and 2048 bits +dim_0179,integer,,Morgan count fingeprint dimension 179 with radius 3 and 2048 bits +dim_0180,integer,,Morgan count fingeprint dimension 180 with radius 3 and 2048 bits +dim_0181,integer,,Morgan count fingeprint dimension 181 with radius 3 and 2048 bits +dim_0182,integer,,Morgan count fingeprint dimension 182 with radius 3 and 2048 bits +dim_0183,integer,,Morgan count fingeprint dimension 183 with radius 3 and 2048 bits +dim_0184,integer,,Morgan count fingeprint dimension 184 with radius 3 and 2048 bits +dim_0185,integer,,Morgan count fingeprint dimension 185 with radius 3 and 2048 bits +dim_0186,integer,,Morgan count fingeprint dimension 186 with radius 3 and 2048 bits +dim_0187,integer,,Morgan count fingeprint dimension 187 with radius 3 and 2048 bits +dim_0188,integer,,Morgan count fingeprint dimension 188 with radius 3 and 2048 bits +dim_0189,integer,,Morgan count fingeprint dimension 189 with radius 3 and 2048 bits +dim_0190,integer,,Morgan count fingeprint dimension 190 with radius 3 and 2048 bits +dim_0191,integer,,Morgan count fingeprint dimension 191 with radius 3 and 2048 bits +dim_0192,integer,,Morgan count fingeprint dimension 192 with radius 3 and 2048 bits +dim_0193,integer,,Morgan count fingeprint dimension 193 with radius 3 and 2048 bits +dim_0194,integer,,Morgan count fingeprint dimension 194 with radius 3 and 2048 bits +dim_0195,integer,,Morgan count fingeprint dimension 195 with radius 3 and 2048 bits +dim_0196,integer,,Morgan count fingeprint dimension 196 with radius 3 and 2048 bits +dim_0197,integer,,Morgan count fingeprint dimension 197 with radius 3 and 2048 bits +dim_0198,integer,,Morgan count fingeprint dimension 198 with radius 3 and 2048 bits +dim_0199,integer,,Morgan count fingeprint dimension 199 with radius 3 and 2048 bits +dim_0200,integer,,Morgan count fingeprint dimension 200 with radius 3 and 2048 bits +dim_0201,integer,,Morgan count fingeprint dimension 201 with radius 3 and 2048 bits +dim_0202,integer,,Morgan count fingeprint dimension 202 with radius 3 and 2048 bits +dim_0203,integer,,Morgan count fingeprint dimension 203 with radius 3 and 2048 bits +dim_0204,integer,,Morgan count fingeprint dimension 204 with radius 3 and 2048 bits +dim_0205,integer,,Morgan count fingeprint dimension 205 with radius 3 and 2048 bits +dim_0206,integer,,Morgan count fingeprint dimension 206 with radius 3 and 2048 bits +dim_0207,integer,,Morgan count fingeprint dimension 207 with radius 3 and 2048 bits +dim_0208,integer,,Morgan count fingeprint dimension 208 with radius 3 and 2048 bits +dim_0209,integer,,Morgan count fingeprint dimension 209 with radius 3 and 2048 bits +dim_0210,integer,,Morgan count fingeprint dimension 210 with radius 3 and 2048 bits +dim_0211,integer,,Morgan count fingeprint dimension 211 with radius 3 and 2048 bits +dim_0212,integer,,Morgan count fingeprint dimension 212 with radius 3 and 2048 bits +dim_0213,integer,,Morgan count fingeprint dimension 213 with radius 3 and 2048 bits +dim_0214,integer,,Morgan count fingeprint dimension 214 with radius 3 and 2048 bits +dim_0215,integer,,Morgan count fingeprint dimension 215 with radius 3 and 2048 bits +dim_0216,integer,,Morgan count fingeprint dimension 216 with radius 3 and 2048 bits +dim_0217,integer,,Morgan count fingeprint dimension 217 with radius 3 and 2048 bits +dim_0218,integer,,Morgan count fingeprint dimension 218 with radius 3 and 2048 bits +dim_0219,integer,,Morgan count fingeprint dimension 219 with radius 3 and 2048 bits +dim_0220,integer,,Morgan count fingeprint dimension 220 with radius 3 and 2048 bits +dim_0221,integer,,Morgan count fingeprint dimension 221 with radius 3 and 2048 bits +dim_0222,integer,,Morgan count fingeprint dimension 222 with radius 3 and 2048 bits +dim_0223,integer,,Morgan count fingeprint dimension 223 with radius 3 and 2048 bits +dim_0224,integer,,Morgan count fingeprint dimension 224 with radius 3 and 2048 bits +dim_0225,integer,,Morgan count fingeprint dimension 225 with radius 3 and 2048 bits +dim_0226,integer,,Morgan count fingeprint dimension 226 with radius 3 and 2048 bits +dim_0227,integer,,Morgan count fingeprint dimension 227 with radius 3 and 2048 bits +dim_0228,integer,,Morgan count fingeprint dimension 228 with radius 3 and 2048 bits +dim_0229,integer,,Morgan count fingeprint dimension 229 with radius 3 and 2048 bits +dim_0230,integer,,Morgan count fingeprint dimension 230 with radius 3 and 2048 bits +dim_0231,integer,,Morgan count fingeprint dimension 231 with radius 3 and 2048 bits +dim_0232,integer,,Morgan count fingeprint dimension 232 with radius 3 and 2048 bits +dim_0233,integer,,Morgan count fingeprint dimension 233 with radius 3 and 2048 bits +dim_0234,integer,,Morgan count fingeprint dimension 234 with radius 3 and 2048 bits +dim_0235,integer,,Morgan count fingeprint dimension 235 with radius 3 and 2048 bits +dim_0236,integer,,Morgan count fingeprint dimension 236 with radius 3 and 2048 bits +dim_0237,integer,,Morgan count fingeprint dimension 237 with radius 3 and 2048 bits +dim_0238,integer,,Morgan count fingeprint dimension 238 with radius 3 and 2048 bits +dim_0239,integer,,Morgan count fingeprint dimension 239 with radius 3 and 2048 bits +dim_0240,integer,,Morgan count fingeprint dimension 240 with radius 3 and 2048 bits +dim_0241,integer,,Morgan count fingeprint dimension 241 with radius 3 and 2048 bits +dim_0242,integer,,Morgan count fingeprint dimension 242 with radius 3 and 2048 bits +dim_0243,integer,,Morgan count fingeprint dimension 243 with radius 3 and 2048 bits +dim_0244,integer,,Morgan count fingeprint dimension 244 with radius 3 and 2048 bits +dim_0245,integer,,Morgan count fingeprint dimension 245 with radius 3 and 2048 bits +dim_0246,integer,,Morgan count fingeprint dimension 246 with radius 3 and 2048 bits +dim_0247,integer,,Morgan count fingeprint dimension 247 with radius 3 and 2048 bits +dim_0248,integer,,Morgan count fingeprint dimension 248 with radius 3 and 2048 bits +dim_0249,integer,,Morgan count fingeprint dimension 249 with radius 3 and 2048 bits +dim_0250,integer,,Morgan count fingeprint dimension 250 with radius 3 and 2048 bits +dim_0251,integer,,Morgan count fingeprint dimension 251 with radius 3 and 2048 bits +dim_0252,integer,,Morgan count fingeprint dimension 252 with radius 3 and 2048 bits +dim_0253,integer,,Morgan count fingeprint dimension 253 with radius 3 and 2048 bits +dim_0254,integer,,Morgan count fingeprint dimension 254 with radius 3 and 2048 bits +dim_0255,integer,,Morgan count fingeprint dimension 255 with radius 3 and 2048 bits +dim_0256,integer,,Morgan count fingeprint dimension 256 with radius 3 and 2048 bits +dim_0257,integer,,Morgan count fingeprint dimension 257 with radius 3 and 2048 bits +dim_0258,integer,,Morgan count fingeprint dimension 258 with radius 3 and 2048 bits +dim_0259,integer,,Morgan count fingeprint dimension 259 with radius 3 and 2048 bits +dim_0260,integer,,Morgan count fingeprint dimension 260 with radius 3 and 2048 bits +dim_0261,integer,,Morgan count fingeprint dimension 261 with radius 3 and 2048 bits +dim_0262,integer,,Morgan count fingeprint dimension 262 with radius 3 and 2048 bits +dim_0263,integer,,Morgan count fingeprint dimension 263 with radius 3 and 2048 bits +dim_0264,integer,,Morgan count fingeprint dimension 264 with radius 3 and 2048 bits +dim_0265,integer,,Morgan count fingeprint dimension 265 with radius 3 and 2048 bits +dim_0266,integer,,Morgan count fingeprint dimension 266 with radius 3 and 2048 bits +dim_0267,integer,,Morgan count fingeprint dimension 267 with radius 3 and 2048 bits +dim_0268,integer,,Morgan count fingeprint dimension 268 with radius 3 and 2048 bits +dim_0269,integer,,Morgan count fingeprint dimension 269 with radius 3 and 2048 bits +dim_0270,integer,,Morgan count fingeprint dimension 270 with radius 3 and 2048 bits +dim_0271,integer,,Morgan count fingeprint dimension 271 with radius 3 and 2048 bits +dim_0272,integer,,Morgan count fingeprint dimension 272 with radius 3 and 2048 bits +dim_0273,integer,,Morgan count fingeprint dimension 273 with radius 3 and 2048 bits +dim_0274,integer,,Morgan count fingeprint dimension 274 with radius 3 and 2048 bits +dim_0275,integer,,Morgan count fingeprint dimension 275 with radius 3 and 2048 bits +dim_0276,integer,,Morgan count fingeprint dimension 276 with radius 3 and 2048 bits +dim_0277,integer,,Morgan count fingeprint dimension 277 with radius 3 and 2048 bits +dim_0278,integer,,Morgan count fingeprint dimension 278 with radius 3 and 2048 bits +dim_0279,integer,,Morgan count fingeprint dimension 279 with radius 3 and 2048 bits +dim_0280,integer,,Morgan count fingeprint dimension 280 with radius 3 and 2048 bits +dim_0281,integer,,Morgan count fingeprint dimension 281 with radius 3 and 2048 bits +dim_0282,integer,,Morgan count fingeprint dimension 282 with radius 3 and 2048 bits +dim_0283,integer,,Morgan count fingeprint dimension 283 with radius 3 and 2048 bits +dim_0284,integer,,Morgan count fingeprint dimension 284 with radius 3 and 2048 bits +dim_0285,integer,,Morgan count fingeprint dimension 285 with radius 3 and 2048 bits +dim_0286,integer,,Morgan count fingeprint dimension 286 with radius 3 and 2048 bits +dim_0287,integer,,Morgan count fingeprint dimension 287 with radius 3 and 2048 bits +dim_0288,integer,,Morgan count fingeprint dimension 288 with radius 3 and 2048 bits +dim_0289,integer,,Morgan count fingeprint dimension 289 with radius 3 and 2048 bits +dim_0290,integer,,Morgan count fingeprint dimension 290 with radius 3 and 2048 bits +dim_0291,integer,,Morgan count fingeprint dimension 291 with radius 3 and 2048 bits +dim_0292,integer,,Morgan count fingeprint dimension 292 with radius 3 and 2048 bits +dim_0293,integer,,Morgan count fingeprint dimension 293 with radius 3 and 2048 bits +dim_0294,integer,,Morgan count fingeprint dimension 294 with radius 3 and 2048 bits +dim_0295,integer,,Morgan count fingeprint dimension 295 with radius 3 and 2048 bits +dim_0296,integer,,Morgan count fingeprint dimension 296 with radius 3 and 2048 bits +dim_0297,integer,,Morgan count fingeprint dimension 297 with radius 3 and 2048 bits +dim_0298,integer,,Morgan count fingeprint dimension 298 with radius 3 and 2048 bits +dim_0299,integer,,Morgan count fingeprint dimension 299 with radius 3 and 2048 bits +dim_0300,integer,,Morgan count fingeprint dimension 300 with radius 3 and 2048 bits +dim_0301,integer,,Morgan count fingeprint dimension 301 with radius 3 and 2048 bits +dim_0302,integer,,Morgan count fingeprint dimension 302 with radius 3 and 2048 bits +dim_0303,integer,,Morgan count fingeprint dimension 303 with radius 3 and 2048 bits +dim_0304,integer,,Morgan count fingeprint dimension 304 with radius 3 and 2048 bits +dim_0305,integer,,Morgan count fingeprint dimension 305 with radius 3 and 2048 bits +dim_0306,integer,,Morgan count fingeprint dimension 306 with radius 3 and 2048 bits +dim_0307,integer,,Morgan count fingeprint dimension 307 with radius 3 and 2048 bits +dim_0308,integer,,Morgan count fingeprint dimension 308 with radius 3 and 2048 bits +dim_0309,integer,,Morgan count fingeprint dimension 309 with radius 3 and 2048 bits +dim_0310,integer,,Morgan count fingeprint dimension 310 with radius 3 and 2048 bits +dim_0311,integer,,Morgan count fingeprint dimension 311 with radius 3 and 2048 bits +dim_0312,integer,,Morgan count fingeprint dimension 312 with radius 3 and 2048 bits +dim_0313,integer,,Morgan count fingeprint dimension 313 with radius 3 and 2048 bits +dim_0314,integer,,Morgan count fingeprint dimension 314 with radius 3 and 2048 bits +dim_0315,integer,,Morgan count fingeprint dimension 315 with radius 3 and 2048 bits +dim_0316,integer,,Morgan count fingeprint dimension 316 with radius 3 and 2048 bits +dim_0317,integer,,Morgan count fingeprint dimension 317 with radius 3 and 2048 bits +dim_0318,integer,,Morgan count fingeprint dimension 318 with radius 3 and 2048 bits +dim_0319,integer,,Morgan count fingeprint dimension 319 with radius 3 and 2048 bits +dim_0320,integer,,Morgan count fingeprint dimension 320 with radius 3 and 2048 bits +dim_0321,integer,,Morgan count fingeprint dimension 321 with radius 3 and 2048 bits +dim_0322,integer,,Morgan count fingeprint dimension 322 with radius 3 and 2048 bits +dim_0323,integer,,Morgan count fingeprint dimension 323 with radius 3 and 2048 bits +dim_0324,integer,,Morgan count fingeprint dimension 324 with radius 3 and 2048 bits +dim_0325,integer,,Morgan count fingeprint dimension 325 with radius 3 and 2048 bits +dim_0326,integer,,Morgan count fingeprint dimension 326 with radius 3 and 2048 bits +dim_0327,integer,,Morgan count fingeprint dimension 327 with radius 3 and 2048 bits +dim_0328,integer,,Morgan count fingeprint dimension 328 with radius 3 and 2048 bits +dim_0329,integer,,Morgan count fingeprint dimension 329 with radius 3 and 2048 bits +dim_0330,integer,,Morgan count fingeprint dimension 330 with radius 3 and 2048 bits +dim_0331,integer,,Morgan count fingeprint dimension 331 with radius 3 and 2048 bits +dim_0332,integer,,Morgan count fingeprint dimension 332 with radius 3 and 2048 bits +dim_0333,integer,,Morgan count fingeprint dimension 333 with radius 3 and 2048 bits +dim_0334,integer,,Morgan count fingeprint dimension 334 with radius 3 and 2048 bits +dim_0335,integer,,Morgan count fingeprint dimension 335 with radius 3 and 2048 bits +dim_0336,integer,,Morgan count fingeprint dimension 336 with radius 3 and 2048 bits +dim_0337,integer,,Morgan count fingeprint dimension 337 with radius 3 and 2048 bits +dim_0338,integer,,Morgan count fingeprint dimension 338 with radius 3 and 2048 bits +dim_0339,integer,,Morgan count fingeprint dimension 339 with radius 3 and 2048 bits +dim_0340,integer,,Morgan count fingeprint dimension 340 with radius 3 and 2048 bits +dim_0341,integer,,Morgan count fingeprint dimension 341 with radius 3 and 2048 bits +dim_0342,integer,,Morgan count fingeprint dimension 342 with radius 3 and 2048 bits +dim_0343,integer,,Morgan count fingeprint dimension 343 with radius 3 and 2048 bits +dim_0344,integer,,Morgan count fingeprint dimension 344 with radius 3 and 2048 bits +dim_0345,integer,,Morgan count fingeprint dimension 345 with radius 3 and 2048 bits +dim_0346,integer,,Morgan count fingeprint dimension 346 with radius 3 and 2048 bits +dim_0347,integer,,Morgan count fingeprint dimension 347 with radius 3 and 2048 bits +dim_0348,integer,,Morgan count fingeprint dimension 348 with radius 3 and 2048 bits +dim_0349,integer,,Morgan count fingeprint dimension 349 with radius 3 and 2048 bits +dim_0350,integer,,Morgan count fingeprint dimension 350 with radius 3 and 2048 bits +dim_0351,integer,,Morgan count fingeprint dimension 351 with radius 3 and 2048 bits +dim_0352,integer,,Morgan count fingeprint dimension 352 with radius 3 and 2048 bits +dim_0353,integer,,Morgan count fingeprint dimension 353 with radius 3 and 2048 bits +dim_0354,integer,,Morgan count fingeprint dimension 354 with radius 3 and 2048 bits +dim_0355,integer,,Morgan count fingeprint dimension 355 with radius 3 and 2048 bits +dim_0356,integer,,Morgan count fingeprint dimension 356 with radius 3 and 2048 bits +dim_0357,integer,,Morgan count fingeprint dimension 357 with radius 3 and 2048 bits +dim_0358,integer,,Morgan count fingeprint dimension 358 with radius 3 and 2048 bits +dim_0359,integer,,Morgan count fingeprint dimension 359 with radius 3 and 2048 bits +dim_0360,integer,,Morgan count fingeprint dimension 360 with radius 3 and 2048 bits +dim_0361,integer,,Morgan count fingeprint dimension 361 with radius 3 and 2048 bits +dim_0362,integer,,Morgan count fingeprint dimension 362 with radius 3 and 2048 bits +dim_0363,integer,,Morgan count fingeprint dimension 363 with radius 3 and 2048 bits +dim_0364,integer,,Morgan count fingeprint dimension 364 with radius 3 and 2048 bits +dim_0365,integer,,Morgan count fingeprint dimension 365 with radius 3 and 2048 bits +dim_0366,integer,,Morgan count fingeprint dimension 366 with radius 3 and 2048 bits +dim_0367,integer,,Morgan count fingeprint dimension 367 with radius 3 and 2048 bits +dim_0368,integer,,Morgan count fingeprint dimension 368 with radius 3 and 2048 bits +dim_0369,integer,,Morgan count fingeprint dimension 369 with radius 3 and 2048 bits +dim_0370,integer,,Morgan count fingeprint dimension 370 with radius 3 and 2048 bits +dim_0371,integer,,Morgan count fingeprint dimension 371 with radius 3 and 2048 bits +dim_0372,integer,,Morgan count fingeprint dimension 372 with radius 3 and 2048 bits +dim_0373,integer,,Morgan count fingeprint dimension 373 with radius 3 and 2048 bits +dim_0374,integer,,Morgan count fingeprint dimension 374 with radius 3 and 2048 bits +dim_0375,integer,,Morgan count fingeprint dimension 375 with radius 3 and 2048 bits +dim_0376,integer,,Morgan count fingeprint dimension 376 with radius 3 and 2048 bits +dim_0377,integer,,Morgan count fingeprint dimension 377 with radius 3 and 2048 bits +dim_0378,integer,,Morgan count fingeprint dimension 378 with radius 3 and 2048 bits +dim_0379,integer,,Morgan count fingeprint dimension 379 with radius 3 and 2048 bits +dim_0380,integer,,Morgan count fingeprint dimension 380 with radius 3 and 2048 bits +dim_0381,integer,,Morgan count fingeprint dimension 381 with radius 3 and 2048 bits +dim_0382,integer,,Morgan count fingeprint dimension 382 with radius 3 and 2048 bits +dim_0383,integer,,Morgan count fingeprint dimension 383 with radius 3 and 2048 bits +dim_0384,integer,,Morgan count fingeprint dimension 384 with radius 3 and 2048 bits +dim_0385,integer,,Morgan count fingeprint dimension 385 with radius 3 and 2048 bits +dim_0386,integer,,Morgan count fingeprint dimension 386 with radius 3 and 2048 bits +dim_0387,integer,,Morgan count fingeprint dimension 387 with radius 3 and 2048 bits +dim_0388,integer,,Morgan count fingeprint dimension 388 with radius 3 and 2048 bits +dim_0389,integer,,Morgan count fingeprint dimension 389 with radius 3 and 2048 bits +dim_0390,integer,,Morgan count fingeprint dimension 390 with radius 3 and 2048 bits +dim_0391,integer,,Morgan count fingeprint dimension 391 with radius 3 and 2048 bits +dim_0392,integer,,Morgan count fingeprint dimension 392 with radius 3 and 2048 bits +dim_0393,integer,,Morgan count fingeprint dimension 393 with radius 3 and 2048 bits +dim_0394,integer,,Morgan count fingeprint dimension 394 with radius 3 and 2048 bits +dim_0395,integer,,Morgan count fingeprint dimension 395 with radius 3 and 2048 bits +dim_0396,integer,,Morgan count fingeprint dimension 396 with radius 3 and 2048 bits +dim_0397,integer,,Morgan count fingeprint dimension 397 with radius 3 and 2048 bits +dim_0398,integer,,Morgan count fingeprint dimension 398 with radius 3 and 2048 bits +dim_0399,integer,,Morgan count fingeprint dimension 399 with radius 3 and 2048 bits +dim_0400,integer,,Morgan count fingeprint dimension 400 with radius 3 and 2048 bits +dim_0401,integer,,Morgan count fingeprint dimension 401 with radius 3 and 2048 bits +dim_0402,integer,,Morgan count fingeprint dimension 402 with radius 3 and 2048 bits +dim_0403,integer,,Morgan count fingeprint dimension 403 with radius 3 and 2048 bits +dim_0404,integer,,Morgan count fingeprint dimension 404 with radius 3 and 2048 bits +dim_0405,integer,,Morgan count fingeprint dimension 405 with radius 3 and 2048 bits +dim_0406,integer,,Morgan count fingeprint dimension 406 with radius 3 and 2048 bits +dim_0407,integer,,Morgan count fingeprint dimension 407 with radius 3 and 2048 bits +dim_0408,integer,,Morgan count fingeprint dimension 408 with radius 3 and 2048 bits +dim_0409,integer,,Morgan count fingeprint dimension 409 with radius 3 and 2048 bits +dim_0410,integer,,Morgan count fingeprint dimension 410 with radius 3 and 2048 bits +dim_0411,integer,,Morgan count fingeprint dimension 411 with radius 3 and 2048 bits +dim_0412,integer,,Morgan count fingeprint dimension 412 with radius 3 and 2048 bits +dim_0413,integer,,Morgan count fingeprint dimension 413 with radius 3 and 2048 bits +dim_0414,integer,,Morgan count fingeprint dimension 414 with radius 3 and 2048 bits +dim_0415,integer,,Morgan count fingeprint dimension 415 with radius 3 and 2048 bits +dim_0416,integer,,Morgan count fingeprint dimension 416 with radius 3 and 2048 bits +dim_0417,integer,,Morgan count fingeprint dimension 417 with radius 3 and 2048 bits +dim_0418,integer,,Morgan count fingeprint dimension 418 with radius 3 and 2048 bits +dim_0419,integer,,Morgan count fingeprint dimension 419 with radius 3 and 2048 bits +dim_0420,integer,,Morgan count fingeprint dimension 420 with radius 3 and 2048 bits +dim_0421,integer,,Morgan count fingeprint dimension 421 with radius 3 and 2048 bits +dim_0422,integer,,Morgan count fingeprint dimension 422 with radius 3 and 2048 bits +dim_0423,integer,,Morgan count fingeprint dimension 423 with radius 3 and 2048 bits +dim_0424,integer,,Morgan count fingeprint dimension 424 with radius 3 and 2048 bits +dim_0425,integer,,Morgan count fingeprint dimension 425 with radius 3 and 2048 bits +dim_0426,integer,,Morgan count fingeprint dimension 426 with radius 3 and 2048 bits +dim_0427,integer,,Morgan count fingeprint dimension 427 with radius 3 and 2048 bits +dim_0428,integer,,Morgan count fingeprint dimension 428 with radius 3 and 2048 bits +dim_0429,integer,,Morgan count fingeprint dimension 429 with radius 3 and 2048 bits +dim_0430,integer,,Morgan count fingeprint dimension 430 with radius 3 and 2048 bits +dim_0431,integer,,Morgan count fingeprint dimension 431 with radius 3 and 2048 bits +dim_0432,integer,,Morgan count fingeprint dimension 432 with radius 3 and 2048 bits +dim_0433,integer,,Morgan count fingeprint dimension 433 with radius 3 and 2048 bits +dim_0434,integer,,Morgan count fingeprint dimension 434 with radius 3 and 2048 bits +dim_0435,integer,,Morgan count fingeprint dimension 435 with radius 3 and 2048 bits +dim_0436,integer,,Morgan count fingeprint dimension 436 with radius 3 and 2048 bits +dim_0437,integer,,Morgan count fingeprint dimension 437 with radius 3 and 2048 bits +dim_0438,integer,,Morgan count fingeprint dimension 438 with radius 3 and 2048 bits +dim_0439,integer,,Morgan count fingeprint dimension 439 with radius 3 and 2048 bits +dim_0440,integer,,Morgan count fingeprint dimension 440 with radius 3 and 2048 bits +dim_0441,integer,,Morgan count fingeprint dimension 441 with radius 3 and 2048 bits +dim_0442,integer,,Morgan count fingeprint dimension 442 with radius 3 and 2048 bits +dim_0443,integer,,Morgan count fingeprint dimension 443 with radius 3 and 2048 bits +dim_0444,integer,,Morgan count fingeprint dimension 444 with radius 3 and 2048 bits +dim_0445,integer,,Morgan count fingeprint dimension 445 with radius 3 and 2048 bits +dim_0446,integer,,Morgan count fingeprint dimension 446 with radius 3 and 2048 bits +dim_0447,integer,,Morgan count fingeprint dimension 447 with radius 3 and 2048 bits +dim_0448,integer,,Morgan count fingeprint dimension 448 with radius 3 and 2048 bits +dim_0449,integer,,Morgan count fingeprint dimension 449 with radius 3 and 2048 bits +dim_0450,integer,,Morgan count fingeprint dimension 450 with radius 3 and 2048 bits +dim_0451,integer,,Morgan count fingeprint dimension 451 with radius 3 and 2048 bits +dim_0452,integer,,Morgan count fingeprint dimension 452 with radius 3 and 2048 bits +dim_0453,integer,,Morgan count fingeprint dimension 453 with radius 3 and 2048 bits +dim_0454,integer,,Morgan count fingeprint dimension 454 with radius 3 and 2048 bits +dim_0455,integer,,Morgan count fingeprint dimension 455 with radius 3 and 2048 bits +dim_0456,integer,,Morgan count fingeprint dimension 456 with radius 3 and 2048 bits +dim_0457,integer,,Morgan count fingeprint dimension 457 with radius 3 and 2048 bits +dim_0458,integer,,Morgan count fingeprint dimension 458 with radius 3 and 2048 bits +dim_0459,integer,,Morgan count fingeprint dimension 459 with radius 3 and 2048 bits +dim_0460,integer,,Morgan count fingeprint dimension 460 with radius 3 and 2048 bits +dim_0461,integer,,Morgan count fingeprint dimension 461 with radius 3 and 2048 bits +dim_0462,integer,,Morgan count fingeprint dimension 462 with radius 3 and 2048 bits +dim_0463,integer,,Morgan count fingeprint dimension 463 with radius 3 and 2048 bits +dim_0464,integer,,Morgan count fingeprint dimension 464 with radius 3 and 2048 bits +dim_0465,integer,,Morgan count fingeprint dimension 465 with radius 3 and 2048 bits +dim_0466,integer,,Morgan count fingeprint dimension 466 with radius 3 and 2048 bits +dim_0467,integer,,Morgan count fingeprint dimension 467 with radius 3 and 2048 bits +dim_0468,integer,,Morgan count fingeprint dimension 468 with radius 3 and 2048 bits +dim_0469,integer,,Morgan count fingeprint dimension 469 with radius 3 and 2048 bits +dim_0470,integer,,Morgan count fingeprint dimension 470 with radius 3 and 2048 bits +dim_0471,integer,,Morgan count fingeprint dimension 471 with radius 3 and 2048 bits +dim_0472,integer,,Morgan count fingeprint dimension 472 with radius 3 and 2048 bits +dim_0473,integer,,Morgan count fingeprint dimension 473 with radius 3 and 2048 bits +dim_0474,integer,,Morgan count fingeprint dimension 474 with radius 3 and 2048 bits +dim_0475,integer,,Morgan count fingeprint dimension 475 with radius 3 and 2048 bits +dim_0476,integer,,Morgan count fingeprint dimension 476 with radius 3 and 2048 bits +dim_0477,integer,,Morgan count fingeprint dimension 477 with radius 3 and 2048 bits +dim_0478,integer,,Morgan count fingeprint dimension 478 with radius 3 and 2048 bits +dim_0479,integer,,Morgan count fingeprint dimension 479 with radius 3 and 2048 bits +dim_0480,integer,,Morgan count fingeprint dimension 480 with radius 3 and 2048 bits +dim_0481,integer,,Morgan count fingeprint dimension 481 with radius 3 and 2048 bits +dim_0482,integer,,Morgan count fingeprint dimension 482 with radius 3 and 2048 bits +dim_0483,integer,,Morgan count fingeprint dimension 483 with radius 3 and 2048 bits +dim_0484,integer,,Morgan count fingeprint dimension 484 with radius 3 and 2048 bits +dim_0485,integer,,Morgan count fingeprint dimension 485 with radius 3 and 2048 bits +dim_0486,integer,,Morgan count fingeprint dimension 486 with radius 3 and 2048 bits +dim_0487,integer,,Morgan count fingeprint dimension 487 with radius 3 and 2048 bits +dim_0488,integer,,Morgan count fingeprint dimension 488 with radius 3 and 2048 bits +dim_0489,integer,,Morgan count fingeprint dimension 489 with radius 3 and 2048 bits +dim_0490,integer,,Morgan count fingeprint dimension 490 with radius 3 and 2048 bits +dim_0491,integer,,Morgan count fingeprint dimension 491 with radius 3 and 2048 bits +dim_0492,integer,,Morgan count fingeprint dimension 492 with radius 3 and 2048 bits +dim_0493,integer,,Morgan count fingeprint dimension 493 with radius 3 and 2048 bits +dim_0494,integer,,Morgan count fingeprint dimension 494 with radius 3 and 2048 bits +dim_0495,integer,,Morgan count fingeprint dimension 495 with radius 3 and 2048 bits +dim_0496,integer,,Morgan count fingeprint dimension 496 with radius 3 and 2048 bits +dim_0497,integer,,Morgan count fingeprint dimension 497 with radius 3 and 2048 bits +dim_0498,integer,,Morgan count fingeprint dimension 498 with radius 3 and 2048 bits +dim_0499,integer,,Morgan count fingeprint dimension 499 with radius 3 and 2048 bits +dim_0500,integer,,Morgan count fingeprint dimension 500 with radius 3 and 2048 bits +dim_0501,integer,,Morgan count fingeprint dimension 501 with radius 3 and 2048 bits +dim_0502,integer,,Morgan count fingeprint dimension 502 with radius 3 and 2048 bits +dim_0503,integer,,Morgan count fingeprint dimension 503 with radius 3 and 2048 bits +dim_0504,integer,,Morgan count fingeprint dimension 504 with radius 3 and 2048 bits +dim_0505,integer,,Morgan count fingeprint dimension 505 with radius 3 and 2048 bits +dim_0506,integer,,Morgan count fingeprint dimension 506 with radius 3 and 2048 bits +dim_0507,integer,,Morgan count fingeprint dimension 507 with radius 3 and 2048 bits +dim_0508,integer,,Morgan count fingeprint dimension 508 with radius 3 and 2048 bits +dim_0509,integer,,Morgan count fingeprint dimension 509 with radius 3 and 2048 bits +dim_0510,integer,,Morgan count fingeprint dimension 510 with radius 3 and 2048 bits +dim_0511,integer,,Morgan count fingeprint dimension 511 with radius 3 and 2048 bits +dim_0512,integer,,Morgan count fingeprint dimension 512 with radius 3 and 2048 bits +dim_0513,integer,,Morgan count fingeprint dimension 513 with radius 3 and 2048 bits +dim_0514,integer,,Morgan count fingeprint dimension 514 with radius 3 and 2048 bits +dim_0515,integer,,Morgan count fingeprint dimension 515 with radius 3 and 2048 bits +dim_0516,integer,,Morgan count fingeprint dimension 516 with radius 3 and 2048 bits +dim_0517,integer,,Morgan count fingeprint dimension 517 with radius 3 and 2048 bits +dim_0518,integer,,Morgan count fingeprint dimension 518 with radius 3 and 2048 bits +dim_0519,integer,,Morgan count fingeprint dimension 519 with radius 3 and 2048 bits +dim_0520,integer,,Morgan count fingeprint dimension 520 with radius 3 and 2048 bits +dim_0521,integer,,Morgan count fingeprint dimension 521 with radius 3 and 2048 bits +dim_0522,integer,,Morgan count fingeprint dimension 522 with radius 3 and 2048 bits +dim_0523,integer,,Morgan count fingeprint dimension 523 with radius 3 and 2048 bits +dim_0524,integer,,Morgan count fingeprint dimension 524 with radius 3 and 2048 bits +dim_0525,integer,,Morgan count fingeprint dimension 525 with radius 3 and 2048 bits +dim_0526,integer,,Morgan count fingeprint dimension 526 with radius 3 and 2048 bits +dim_0527,integer,,Morgan count fingeprint dimension 527 with radius 3 and 2048 bits +dim_0528,integer,,Morgan count fingeprint dimension 528 with radius 3 and 2048 bits +dim_0529,integer,,Morgan count fingeprint dimension 529 with radius 3 and 2048 bits +dim_0530,integer,,Morgan count fingeprint dimension 530 with radius 3 and 2048 bits +dim_0531,integer,,Morgan count fingeprint dimension 531 with radius 3 and 2048 bits +dim_0532,integer,,Morgan count fingeprint dimension 532 with radius 3 and 2048 bits +dim_0533,integer,,Morgan count fingeprint dimension 533 with radius 3 and 2048 bits +dim_0534,integer,,Morgan count fingeprint dimension 534 with radius 3 and 2048 bits +dim_0535,integer,,Morgan count fingeprint dimension 535 with radius 3 and 2048 bits +dim_0536,integer,,Morgan count fingeprint dimension 536 with radius 3 and 2048 bits +dim_0537,integer,,Morgan count fingeprint dimension 537 with radius 3 and 2048 bits +dim_0538,integer,,Morgan count fingeprint dimension 538 with radius 3 and 2048 bits +dim_0539,integer,,Morgan count fingeprint dimension 539 with radius 3 and 2048 bits +dim_0540,integer,,Morgan count fingeprint dimension 540 with radius 3 and 2048 bits +dim_0541,integer,,Morgan count fingeprint dimension 541 with radius 3 and 2048 bits +dim_0542,integer,,Morgan count fingeprint dimension 542 with radius 3 and 2048 bits +dim_0543,integer,,Morgan count fingeprint dimension 543 with radius 3 and 2048 bits +dim_0544,integer,,Morgan count fingeprint dimension 544 with radius 3 and 2048 bits +dim_0545,integer,,Morgan count fingeprint dimension 545 with radius 3 and 2048 bits +dim_0546,integer,,Morgan count fingeprint dimension 546 with radius 3 and 2048 bits +dim_0547,integer,,Morgan count fingeprint dimension 547 with radius 3 and 2048 bits +dim_0548,integer,,Morgan count fingeprint dimension 548 with radius 3 and 2048 bits +dim_0549,integer,,Morgan count fingeprint dimension 549 with radius 3 and 2048 bits +dim_0550,integer,,Morgan count fingeprint dimension 550 with radius 3 and 2048 bits +dim_0551,integer,,Morgan count fingeprint dimension 551 with radius 3 and 2048 bits +dim_0552,integer,,Morgan count fingeprint dimension 552 with radius 3 and 2048 bits +dim_0553,integer,,Morgan count fingeprint dimension 553 with radius 3 and 2048 bits +dim_0554,integer,,Morgan count fingeprint dimension 554 with radius 3 and 2048 bits +dim_0555,integer,,Morgan count fingeprint dimension 555 with radius 3 and 2048 bits +dim_0556,integer,,Morgan count fingeprint dimension 556 with radius 3 and 2048 bits +dim_0557,integer,,Morgan count fingeprint dimension 557 with radius 3 and 2048 bits +dim_0558,integer,,Morgan count fingeprint dimension 558 with radius 3 and 2048 bits +dim_0559,integer,,Morgan count fingeprint dimension 559 with radius 3 and 2048 bits +dim_0560,integer,,Morgan count fingeprint dimension 560 with radius 3 and 2048 bits +dim_0561,integer,,Morgan count fingeprint dimension 561 with radius 3 and 2048 bits +dim_0562,integer,,Morgan count fingeprint dimension 562 with radius 3 and 2048 bits +dim_0563,integer,,Morgan count fingeprint dimension 563 with radius 3 and 2048 bits +dim_0564,integer,,Morgan count fingeprint dimension 564 with radius 3 and 2048 bits +dim_0565,integer,,Morgan count fingeprint dimension 565 with radius 3 and 2048 bits +dim_0566,integer,,Morgan count fingeprint dimension 566 with radius 3 and 2048 bits +dim_0567,integer,,Morgan count fingeprint dimension 567 with radius 3 and 2048 bits +dim_0568,integer,,Morgan count fingeprint dimension 568 with radius 3 and 2048 bits +dim_0569,integer,,Morgan count fingeprint dimension 569 with radius 3 and 2048 bits +dim_0570,integer,,Morgan count fingeprint dimension 570 with radius 3 and 2048 bits +dim_0571,integer,,Morgan count fingeprint dimension 571 with radius 3 and 2048 bits +dim_0572,integer,,Morgan count fingeprint dimension 572 with radius 3 and 2048 bits +dim_0573,integer,,Morgan count fingeprint dimension 573 with radius 3 and 2048 bits +dim_0574,integer,,Morgan count fingeprint dimension 574 with radius 3 and 2048 bits +dim_0575,integer,,Morgan count fingeprint dimension 575 with radius 3 and 2048 bits +dim_0576,integer,,Morgan count fingeprint dimension 576 with radius 3 and 2048 bits +dim_0577,integer,,Morgan count fingeprint dimension 577 with radius 3 and 2048 bits +dim_0578,integer,,Morgan count fingeprint dimension 578 with radius 3 and 2048 bits +dim_0579,integer,,Morgan count fingeprint dimension 579 with radius 3 and 2048 bits +dim_0580,integer,,Morgan count fingeprint dimension 580 with radius 3 and 2048 bits +dim_0581,integer,,Morgan count fingeprint dimension 581 with radius 3 and 2048 bits +dim_0582,integer,,Morgan count fingeprint dimension 582 with radius 3 and 2048 bits +dim_0583,integer,,Morgan count fingeprint dimension 583 with radius 3 and 2048 bits +dim_0584,integer,,Morgan count fingeprint dimension 584 with radius 3 and 2048 bits +dim_0585,integer,,Morgan count fingeprint dimension 585 with radius 3 and 2048 bits +dim_0586,integer,,Morgan count fingeprint dimension 586 with radius 3 and 2048 bits +dim_0587,integer,,Morgan count fingeprint dimension 587 with radius 3 and 2048 bits +dim_0588,integer,,Morgan count fingeprint dimension 588 with radius 3 and 2048 bits +dim_0589,integer,,Morgan count fingeprint dimension 589 with radius 3 and 2048 bits +dim_0590,integer,,Morgan count fingeprint dimension 590 with radius 3 and 2048 bits +dim_0591,integer,,Morgan count fingeprint dimension 591 with radius 3 and 2048 bits +dim_0592,integer,,Morgan count fingeprint dimension 592 with radius 3 and 2048 bits +dim_0593,integer,,Morgan count fingeprint dimension 593 with radius 3 and 2048 bits +dim_0594,integer,,Morgan count fingeprint dimension 594 with radius 3 and 2048 bits +dim_0595,integer,,Morgan count fingeprint dimension 595 with radius 3 and 2048 bits +dim_0596,integer,,Morgan count fingeprint dimension 596 with radius 3 and 2048 bits +dim_0597,integer,,Morgan count fingeprint dimension 597 with radius 3 and 2048 bits +dim_0598,integer,,Morgan count fingeprint dimension 598 with radius 3 and 2048 bits +dim_0599,integer,,Morgan count fingeprint dimension 599 with radius 3 and 2048 bits +dim_0600,integer,,Morgan count fingeprint dimension 600 with radius 3 and 2048 bits +dim_0601,integer,,Morgan count fingeprint dimension 601 with radius 3 and 2048 bits +dim_0602,integer,,Morgan count fingeprint dimension 602 with radius 3 and 2048 bits +dim_0603,integer,,Morgan count fingeprint dimension 603 with radius 3 and 2048 bits +dim_0604,integer,,Morgan count fingeprint dimension 604 with radius 3 and 2048 bits +dim_0605,integer,,Morgan count fingeprint dimension 605 with radius 3 and 2048 bits +dim_0606,integer,,Morgan count fingeprint dimension 606 with radius 3 and 2048 bits +dim_0607,integer,,Morgan count fingeprint dimension 607 with radius 3 and 2048 bits +dim_0608,integer,,Morgan count fingeprint dimension 608 with radius 3 and 2048 bits +dim_0609,integer,,Morgan count fingeprint dimension 609 with radius 3 and 2048 bits +dim_0610,integer,,Morgan count fingeprint dimension 610 with radius 3 and 2048 bits +dim_0611,integer,,Morgan count fingeprint dimension 611 with radius 3 and 2048 bits +dim_0612,integer,,Morgan count fingeprint dimension 612 with radius 3 and 2048 bits +dim_0613,integer,,Morgan count fingeprint dimension 613 with radius 3 and 2048 bits +dim_0614,integer,,Morgan count fingeprint dimension 614 with radius 3 and 2048 bits +dim_0615,integer,,Morgan count fingeprint dimension 615 with radius 3 and 2048 bits +dim_0616,integer,,Morgan count fingeprint dimension 616 with radius 3 and 2048 bits +dim_0617,integer,,Morgan count fingeprint dimension 617 with radius 3 and 2048 bits +dim_0618,integer,,Morgan count fingeprint dimension 618 with radius 3 and 2048 bits +dim_0619,integer,,Morgan count fingeprint dimension 619 with radius 3 and 2048 bits +dim_0620,integer,,Morgan count fingeprint dimension 620 with radius 3 and 2048 bits +dim_0621,integer,,Morgan count fingeprint dimension 621 with radius 3 and 2048 bits +dim_0622,integer,,Morgan count fingeprint dimension 622 with radius 3 and 2048 bits +dim_0623,integer,,Morgan count fingeprint dimension 623 with radius 3 and 2048 bits +dim_0624,integer,,Morgan count fingeprint dimension 624 with radius 3 and 2048 bits +dim_0625,integer,,Morgan count fingeprint dimension 625 with radius 3 and 2048 bits +dim_0626,integer,,Morgan count fingeprint dimension 626 with radius 3 and 2048 bits +dim_0627,integer,,Morgan count fingeprint dimension 627 with radius 3 and 2048 bits +dim_0628,integer,,Morgan count fingeprint dimension 628 with radius 3 and 2048 bits +dim_0629,integer,,Morgan count fingeprint dimension 629 with radius 3 and 2048 bits +dim_0630,integer,,Morgan count fingeprint dimension 630 with radius 3 and 2048 bits +dim_0631,integer,,Morgan count fingeprint dimension 631 with radius 3 and 2048 bits +dim_0632,integer,,Morgan count fingeprint dimension 632 with radius 3 and 2048 bits +dim_0633,integer,,Morgan count fingeprint dimension 633 with radius 3 and 2048 bits +dim_0634,integer,,Morgan count fingeprint dimension 634 with radius 3 and 2048 bits +dim_0635,integer,,Morgan count fingeprint dimension 635 with radius 3 and 2048 bits +dim_0636,integer,,Morgan count fingeprint dimension 636 with radius 3 and 2048 bits +dim_0637,integer,,Morgan count fingeprint dimension 637 with radius 3 and 2048 bits +dim_0638,integer,,Morgan count fingeprint dimension 638 with radius 3 and 2048 bits +dim_0639,integer,,Morgan count fingeprint dimension 639 with radius 3 and 2048 bits +dim_0640,integer,,Morgan count fingeprint dimension 640 with radius 3 and 2048 bits +dim_0641,integer,,Morgan count fingeprint dimension 641 with radius 3 and 2048 bits +dim_0642,integer,,Morgan count fingeprint dimension 642 with radius 3 and 2048 bits +dim_0643,integer,,Morgan count fingeprint dimension 643 with radius 3 and 2048 bits +dim_0644,integer,,Morgan count fingeprint dimension 644 with radius 3 and 2048 bits +dim_0645,integer,,Morgan count fingeprint dimension 645 with radius 3 and 2048 bits +dim_0646,integer,,Morgan count fingeprint dimension 646 with radius 3 and 2048 bits +dim_0647,integer,,Morgan count fingeprint dimension 647 with radius 3 and 2048 bits +dim_0648,integer,,Morgan count fingeprint dimension 648 with radius 3 and 2048 bits +dim_0649,integer,,Morgan count fingeprint dimension 649 with radius 3 and 2048 bits +dim_0650,integer,,Morgan count fingeprint dimension 650 with radius 3 and 2048 bits +dim_0651,integer,,Morgan count fingeprint dimension 651 with radius 3 and 2048 bits +dim_0652,integer,,Morgan count fingeprint dimension 652 with radius 3 and 2048 bits +dim_0653,integer,,Morgan count fingeprint dimension 653 with radius 3 and 2048 bits +dim_0654,integer,,Morgan count fingeprint dimension 654 with radius 3 and 2048 bits +dim_0655,integer,,Morgan count fingeprint dimension 655 with radius 3 and 2048 bits +dim_0656,integer,,Morgan count fingeprint dimension 656 with radius 3 and 2048 bits +dim_0657,integer,,Morgan count fingeprint dimension 657 with radius 3 and 2048 bits +dim_0658,integer,,Morgan count fingeprint dimension 658 with radius 3 and 2048 bits +dim_0659,integer,,Morgan count fingeprint dimension 659 with radius 3 and 2048 bits +dim_0660,integer,,Morgan count fingeprint dimension 660 with radius 3 and 2048 bits +dim_0661,integer,,Morgan count fingeprint dimension 661 with radius 3 and 2048 bits +dim_0662,integer,,Morgan count fingeprint dimension 662 with radius 3 and 2048 bits +dim_0663,integer,,Morgan count fingeprint dimension 663 with radius 3 and 2048 bits +dim_0664,integer,,Morgan count fingeprint dimension 664 with radius 3 and 2048 bits +dim_0665,integer,,Morgan count fingeprint dimension 665 with radius 3 and 2048 bits +dim_0666,integer,,Morgan count fingeprint dimension 666 with radius 3 and 2048 bits +dim_0667,integer,,Morgan count fingeprint dimension 667 with radius 3 and 2048 bits +dim_0668,integer,,Morgan count fingeprint dimension 668 with radius 3 and 2048 bits +dim_0669,integer,,Morgan count fingeprint dimension 669 with radius 3 and 2048 bits +dim_0670,integer,,Morgan count fingeprint dimension 670 with radius 3 and 2048 bits +dim_0671,integer,,Morgan count fingeprint dimension 671 with radius 3 and 2048 bits +dim_0672,integer,,Morgan count fingeprint dimension 672 with radius 3 and 2048 bits +dim_0673,integer,,Morgan count fingeprint dimension 673 with radius 3 and 2048 bits +dim_0674,integer,,Morgan count fingeprint dimension 674 with radius 3 and 2048 bits +dim_0675,integer,,Morgan count fingeprint dimension 675 with radius 3 and 2048 bits +dim_0676,integer,,Morgan count fingeprint dimension 676 with radius 3 and 2048 bits +dim_0677,integer,,Morgan count fingeprint dimension 677 with radius 3 and 2048 bits +dim_0678,integer,,Morgan count fingeprint dimension 678 with radius 3 and 2048 bits +dim_0679,integer,,Morgan count fingeprint dimension 679 with radius 3 and 2048 bits +dim_0680,integer,,Morgan count fingeprint dimension 680 with radius 3 and 2048 bits +dim_0681,integer,,Morgan count fingeprint dimension 681 with radius 3 and 2048 bits +dim_0682,integer,,Morgan count fingeprint dimension 682 with radius 3 and 2048 bits +dim_0683,integer,,Morgan count fingeprint dimension 683 with radius 3 and 2048 bits +dim_0684,integer,,Morgan count fingeprint dimension 684 with radius 3 and 2048 bits +dim_0685,integer,,Morgan count fingeprint dimension 685 with radius 3 and 2048 bits +dim_0686,integer,,Morgan count fingeprint dimension 686 with radius 3 and 2048 bits +dim_0687,integer,,Morgan count fingeprint dimension 687 with radius 3 and 2048 bits +dim_0688,integer,,Morgan count fingeprint dimension 688 with radius 3 and 2048 bits +dim_0689,integer,,Morgan count fingeprint dimension 689 with radius 3 and 2048 bits +dim_0690,integer,,Morgan count fingeprint dimension 690 with radius 3 and 2048 bits +dim_0691,integer,,Morgan count fingeprint dimension 691 with radius 3 and 2048 bits +dim_0692,integer,,Morgan count fingeprint dimension 692 with radius 3 and 2048 bits +dim_0693,integer,,Morgan count fingeprint dimension 693 with radius 3 and 2048 bits +dim_0694,integer,,Morgan count fingeprint dimension 694 with radius 3 and 2048 bits +dim_0695,integer,,Morgan count fingeprint dimension 695 with radius 3 and 2048 bits +dim_0696,integer,,Morgan count fingeprint dimension 696 with radius 3 and 2048 bits +dim_0697,integer,,Morgan count fingeprint dimension 697 with radius 3 and 2048 bits +dim_0698,integer,,Morgan count fingeprint dimension 698 with radius 3 and 2048 bits +dim_0699,integer,,Morgan count fingeprint dimension 699 with radius 3 and 2048 bits +dim_0700,integer,,Morgan count fingeprint dimension 700 with radius 3 and 2048 bits +dim_0701,integer,,Morgan count fingeprint dimension 701 with radius 3 and 2048 bits +dim_0702,integer,,Morgan count fingeprint dimension 702 with radius 3 and 2048 bits +dim_0703,integer,,Morgan count fingeprint dimension 703 with radius 3 and 2048 bits +dim_0704,integer,,Morgan count fingeprint dimension 704 with radius 3 and 2048 bits +dim_0705,integer,,Morgan count fingeprint dimension 705 with radius 3 and 2048 bits +dim_0706,integer,,Morgan count fingeprint dimension 706 with radius 3 and 2048 bits +dim_0707,integer,,Morgan count fingeprint dimension 707 with radius 3 and 2048 bits +dim_0708,integer,,Morgan count fingeprint dimension 708 with radius 3 and 2048 bits +dim_0709,integer,,Morgan count fingeprint dimension 709 with radius 3 and 2048 bits +dim_0710,integer,,Morgan count fingeprint dimension 710 with radius 3 and 2048 bits +dim_0711,integer,,Morgan count fingeprint dimension 711 with radius 3 and 2048 bits +dim_0712,integer,,Morgan count fingeprint dimension 712 with radius 3 and 2048 bits +dim_0713,integer,,Morgan count fingeprint dimension 713 with radius 3 and 2048 bits +dim_0714,integer,,Morgan count fingeprint dimension 714 with radius 3 and 2048 bits +dim_0715,integer,,Morgan count fingeprint dimension 715 with radius 3 and 2048 bits +dim_0716,integer,,Morgan count fingeprint dimension 716 with radius 3 and 2048 bits +dim_0717,integer,,Morgan count fingeprint dimension 717 with radius 3 and 2048 bits +dim_0718,integer,,Morgan count fingeprint dimension 718 with radius 3 and 2048 bits +dim_0719,integer,,Morgan count fingeprint dimension 719 with radius 3 and 2048 bits +dim_0720,integer,,Morgan count fingeprint dimension 720 with radius 3 and 2048 bits +dim_0721,integer,,Morgan count fingeprint dimension 721 with radius 3 and 2048 bits +dim_0722,integer,,Morgan count fingeprint dimension 722 with radius 3 and 2048 bits +dim_0723,integer,,Morgan count fingeprint dimension 723 with radius 3 and 2048 bits +dim_0724,integer,,Morgan count fingeprint dimension 724 with radius 3 and 2048 bits +dim_0725,integer,,Morgan count fingeprint dimension 725 with radius 3 and 2048 bits +dim_0726,integer,,Morgan count fingeprint dimension 726 with radius 3 and 2048 bits +dim_0727,integer,,Morgan count fingeprint dimension 727 with radius 3 and 2048 bits +dim_0728,integer,,Morgan count fingeprint dimension 728 with radius 3 and 2048 bits +dim_0729,integer,,Morgan count fingeprint dimension 729 with radius 3 and 2048 bits +dim_0730,integer,,Morgan count fingeprint dimension 730 with radius 3 and 2048 bits +dim_0731,integer,,Morgan count fingeprint dimension 731 with radius 3 and 2048 bits +dim_0732,integer,,Morgan count fingeprint dimension 732 with radius 3 and 2048 bits +dim_0733,integer,,Morgan count fingeprint dimension 733 with radius 3 and 2048 bits +dim_0734,integer,,Morgan count fingeprint dimension 734 with radius 3 and 2048 bits +dim_0735,integer,,Morgan count fingeprint dimension 735 with radius 3 and 2048 bits +dim_0736,integer,,Morgan count fingeprint dimension 736 with radius 3 and 2048 bits +dim_0737,integer,,Morgan count fingeprint dimension 737 with radius 3 and 2048 bits +dim_0738,integer,,Morgan count fingeprint dimension 738 with radius 3 and 2048 bits +dim_0739,integer,,Morgan count fingeprint dimension 739 with radius 3 and 2048 bits +dim_0740,integer,,Morgan count fingeprint dimension 740 with radius 3 and 2048 bits +dim_0741,integer,,Morgan count fingeprint dimension 741 with radius 3 and 2048 bits +dim_0742,integer,,Morgan count fingeprint dimension 742 with radius 3 and 2048 bits +dim_0743,integer,,Morgan count fingeprint dimension 743 with radius 3 and 2048 bits +dim_0744,integer,,Morgan count fingeprint dimension 744 with radius 3 and 2048 bits +dim_0745,integer,,Morgan count fingeprint dimension 745 with radius 3 and 2048 bits +dim_0746,integer,,Morgan count fingeprint dimension 746 with radius 3 and 2048 bits +dim_0747,integer,,Morgan count fingeprint dimension 747 with radius 3 and 2048 bits +dim_0748,integer,,Morgan count fingeprint dimension 748 with radius 3 and 2048 bits +dim_0749,integer,,Morgan count fingeprint dimension 749 with radius 3 and 2048 bits +dim_0750,integer,,Morgan count fingeprint dimension 750 with radius 3 and 2048 bits +dim_0751,integer,,Morgan count fingeprint dimension 751 with radius 3 and 2048 bits +dim_0752,integer,,Morgan count fingeprint dimension 752 with radius 3 and 2048 bits +dim_0753,integer,,Morgan count fingeprint dimension 753 with radius 3 and 2048 bits +dim_0754,integer,,Morgan count fingeprint dimension 754 with radius 3 and 2048 bits +dim_0755,integer,,Morgan count fingeprint dimension 755 with radius 3 and 2048 bits +dim_0756,integer,,Morgan count fingeprint dimension 756 with radius 3 and 2048 bits +dim_0757,integer,,Morgan count fingeprint dimension 757 with radius 3 and 2048 bits +dim_0758,integer,,Morgan count fingeprint dimension 758 with radius 3 and 2048 bits +dim_0759,integer,,Morgan count fingeprint dimension 759 with radius 3 and 2048 bits +dim_0760,integer,,Morgan count fingeprint dimension 760 with radius 3 and 2048 bits +dim_0761,integer,,Morgan count fingeprint dimension 761 with radius 3 and 2048 bits +dim_0762,integer,,Morgan count fingeprint dimension 762 with radius 3 and 2048 bits +dim_0763,integer,,Morgan count fingeprint dimension 763 with radius 3 and 2048 bits +dim_0764,integer,,Morgan count fingeprint dimension 764 with radius 3 and 2048 bits +dim_0765,integer,,Morgan count fingeprint dimension 765 with radius 3 and 2048 bits +dim_0766,integer,,Morgan count fingeprint dimension 766 with radius 3 and 2048 bits +dim_0767,integer,,Morgan count fingeprint dimension 767 with radius 3 and 2048 bits +dim_0768,integer,,Morgan count fingeprint dimension 768 with radius 3 and 2048 bits +dim_0769,integer,,Morgan count fingeprint dimension 769 with radius 3 and 2048 bits +dim_0770,integer,,Morgan count fingeprint dimension 770 with radius 3 and 2048 bits +dim_0771,integer,,Morgan count fingeprint dimension 771 with radius 3 and 2048 bits +dim_0772,integer,,Morgan count fingeprint dimension 772 with radius 3 and 2048 bits +dim_0773,integer,,Morgan count fingeprint dimension 773 with radius 3 and 2048 bits +dim_0774,integer,,Morgan count fingeprint dimension 774 with radius 3 and 2048 bits +dim_0775,integer,,Morgan count fingeprint dimension 775 with radius 3 and 2048 bits +dim_0776,integer,,Morgan count fingeprint dimension 776 with radius 3 and 2048 bits +dim_0777,integer,,Morgan count fingeprint dimension 777 with radius 3 and 2048 bits +dim_0778,integer,,Morgan count fingeprint dimension 778 with radius 3 and 2048 bits +dim_0779,integer,,Morgan count fingeprint dimension 779 with radius 3 and 2048 bits +dim_0780,integer,,Morgan count fingeprint dimension 780 with radius 3 and 2048 bits +dim_0781,integer,,Morgan count fingeprint dimension 781 with radius 3 and 2048 bits +dim_0782,integer,,Morgan count fingeprint dimension 782 with radius 3 and 2048 bits +dim_0783,integer,,Morgan count fingeprint dimension 783 with radius 3 and 2048 bits +dim_0784,integer,,Morgan count fingeprint dimension 784 with radius 3 and 2048 bits +dim_0785,integer,,Morgan count fingeprint dimension 785 with radius 3 and 2048 bits +dim_0786,integer,,Morgan count fingeprint dimension 786 with radius 3 and 2048 bits +dim_0787,integer,,Morgan count fingeprint dimension 787 with radius 3 and 2048 bits +dim_0788,integer,,Morgan count fingeprint dimension 788 with radius 3 and 2048 bits +dim_0789,integer,,Morgan count fingeprint dimension 789 with radius 3 and 2048 bits +dim_0790,integer,,Morgan count fingeprint dimension 790 with radius 3 and 2048 bits +dim_0791,integer,,Morgan count fingeprint dimension 791 with radius 3 and 2048 bits +dim_0792,integer,,Morgan count fingeprint dimension 792 with radius 3 and 2048 bits +dim_0793,integer,,Morgan count fingeprint dimension 793 with radius 3 and 2048 bits +dim_0794,integer,,Morgan count fingeprint dimension 794 with radius 3 and 2048 bits +dim_0795,integer,,Morgan count fingeprint dimension 795 with radius 3 and 2048 bits +dim_0796,integer,,Morgan count fingeprint dimension 796 with radius 3 and 2048 bits +dim_0797,integer,,Morgan count fingeprint dimension 797 with radius 3 and 2048 bits +dim_0798,integer,,Morgan count fingeprint dimension 798 with radius 3 and 2048 bits +dim_0799,integer,,Morgan count fingeprint dimension 799 with radius 3 and 2048 bits +dim_0800,integer,,Morgan count fingeprint dimension 800 with radius 3 and 2048 bits +dim_0801,integer,,Morgan count fingeprint dimension 801 with radius 3 and 2048 bits +dim_0802,integer,,Morgan count fingeprint dimension 802 with radius 3 and 2048 bits +dim_0803,integer,,Morgan count fingeprint dimension 803 with radius 3 and 2048 bits +dim_0804,integer,,Morgan count fingeprint dimension 804 with radius 3 and 2048 bits +dim_0805,integer,,Morgan count fingeprint dimension 805 with radius 3 and 2048 bits +dim_0806,integer,,Morgan count fingeprint dimension 806 with radius 3 and 2048 bits +dim_0807,integer,,Morgan count fingeprint dimension 807 with radius 3 and 2048 bits +dim_0808,integer,,Morgan count fingeprint dimension 808 with radius 3 and 2048 bits +dim_0809,integer,,Morgan count fingeprint dimension 809 with radius 3 and 2048 bits +dim_0810,integer,,Morgan count fingeprint dimension 810 with radius 3 and 2048 bits +dim_0811,integer,,Morgan count fingeprint dimension 811 with radius 3 and 2048 bits +dim_0812,integer,,Morgan count fingeprint dimension 812 with radius 3 and 2048 bits +dim_0813,integer,,Morgan count fingeprint dimension 813 with radius 3 and 2048 bits +dim_0814,integer,,Morgan count fingeprint dimension 814 with radius 3 and 2048 bits +dim_0815,integer,,Morgan count fingeprint dimension 815 with radius 3 and 2048 bits +dim_0816,integer,,Morgan count fingeprint dimension 816 with radius 3 and 2048 bits +dim_0817,integer,,Morgan count fingeprint dimension 817 with radius 3 and 2048 bits +dim_0818,integer,,Morgan count fingeprint dimension 818 with radius 3 and 2048 bits +dim_0819,integer,,Morgan count fingeprint dimension 819 with radius 3 and 2048 bits +dim_0820,integer,,Morgan count fingeprint dimension 820 with radius 3 and 2048 bits +dim_0821,integer,,Morgan count fingeprint dimension 821 with radius 3 and 2048 bits +dim_0822,integer,,Morgan count fingeprint dimension 822 with radius 3 and 2048 bits +dim_0823,integer,,Morgan count fingeprint dimension 823 with radius 3 and 2048 bits +dim_0824,integer,,Morgan count fingeprint dimension 824 with radius 3 and 2048 bits +dim_0825,integer,,Morgan count fingeprint dimension 825 with radius 3 and 2048 bits +dim_0826,integer,,Morgan count fingeprint dimension 826 with radius 3 and 2048 bits +dim_0827,integer,,Morgan count fingeprint dimension 827 with radius 3 and 2048 bits +dim_0828,integer,,Morgan count fingeprint dimension 828 with radius 3 and 2048 bits +dim_0829,integer,,Morgan count fingeprint dimension 829 with radius 3 and 2048 bits +dim_0830,integer,,Morgan count fingeprint dimension 830 with radius 3 and 2048 bits +dim_0831,integer,,Morgan count fingeprint dimension 831 with radius 3 and 2048 bits +dim_0832,integer,,Morgan count fingeprint dimension 832 with radius 3 and 2048 bits +dim_0833,integer,,Morgan count fingeprint dimension 833 with radius 3 and 2048 bits +dim_0834,integer,,Morgan count fingeprint dimension 834 with radius 3 and 2048 bits +dim_0835,integer,,Morgan count fingeprint dimension 835 with radius 3 and 2048 bits +dim_0836,integer,,Morgan count fingeprint dimension 836 with radius 3 and 2048 bits +dim_0837,integer,,Morgan count fingeprint dimension 837 with radius 3 and 2048 bits +dim_0838,integer,,Morgan count fingeprint dimension 838 with radius 3 and 2048 bits +dim_0839,integer,,Morgan count fingeprint dimension 839 with radius 3 and 2048 bits +dim_0840,integer,,Morgan count fingeprint dimension 840 with radius 3 and 2048 bits +dim_0841,integer,,Morgan count fingeprint dimension 841 with radius 3 and 2048 bits +dim_0842,integer,,Morgan count fingeprint dimension 842 with radius 3 and 2048 bits +dim_0843,integer,,Morgan count fingeprint dimension 843 with radius 3 and 2048 bits +dim_0844,integer,,Morgan count fingeprint dimension 844 with radius 3 and 2048 bits +dim_0845,integer,,Morgan count fingeprint dimension 845 with radius 3 and 2048 bits +dim_0846,integer,,Morgan count fingeprint dimension 846 with radius 3 and 2048 bits +dim_0847,integer,,Morgan count fingeprint dimension 847 with radius 3 and 2048 bits +dim_0848,integer,,Morgan count fingeprint dimension 848 with radius 3 and 2048 bits +dim_0849,integer,,Morgan count fingeprint dimension 849 with radius 3 and 2048 bits +dim_0850,integer,,Morgan count fingeprint dimension 850 with radius 3 and 2048 bits +dim_0851,integer,,Morgan count fingeprint dimension 851 with radius 3 and 2048 bits +dim_0852,integer,,Morgan count fingeprint dimension 852 with radius 3 and 2048 bits +dim_0853,integer,,Morgan count fingeprint dimension 853 with radius 3 and 2048 bits +dim_0854,integer,,Morgan count fingeprint dimension 854 with radius 3 and 2048 bits +dim_0855,integer,,Morgan count fingeprint dimension 855 with radius 3 and 2048 bits +dim_0856,integer,,Morgan count fingeprint dimension 856 with radius 3 and 2048 bits +dim_0857,integer,,Morgan count fingeprint dimension 857 with radius 3 and 2048 bits +dim_0858,integer,,Morgan count fingeprint dimension 858 with radius 3 and 2048 bits +dim_0859,integer,,Morgan count fingeprint dimension 859 with radius 3 and 2048 bits +dim_0860,integer,,Morgan count fingeprint dimension 860 with radius 3 and 2048 bits +dim_0861,integer,,Morgan count fingeprint dimension 861 with radius 3 and 2048 bits +dim_0862,integer,,Morgan count fingeprint dimension 862 with radius 3 and 2048 bits +dim_0863,integer,,Morgan count fingeprint dimension 863 with radius 3 and 2048 bits +dim_0864,integer,,Morgan count fingeprint dimension 864 with radius 3 and 2048 bits +dim_0865,integer,,Morgan count fingeprint dimension 865 with radius 3 and 2048 bits +dim_0866,integer,,Morgan count fingeprint dimension 866 with radius 3 and 2048 bits +dim_0867,integer,,Morgan count fingeprint dimension 867 with radius 3 and 2048 bits +dim_0868,integer,,Morgan count fingeprint dimension 868 with radius 3 and 2048 bits +dim_0869,integer,,Morgan count fingeprint dimension 869 with radius 3 and 2048 bits +dim_0870,integer,,Morgan count fingeprint dimension 870 with radius 3 and 2048 bits +dim_0871,integer,,Morgan count fingeprint dimension 871 with radius 3 and 2048 bits +dim_0872,integer,,Morgan count fingeprint dimension 872 with radius 3 and 2048 bits +dim_0873,integer,,Morgan count fingeprint dimension 873 with radius 3 and 2048 bits +dim_0874,integer,,Morgan count fingeprint dimension 874 with radius 3 and 2048 bits +dim_0875,integer,,Morgan count fingeprint dimension 875 with radius 3 and 2048 bits +dim_0876,integer,,Morgan count fingeprint dimension 876 with radius 3 and 2048 bits +dim_0877,integer,,Morgan count fingeprint dimension 877 with radius 3 and 2048 bits +dim_0878,integer,,Morgan count fingeprint dimension 878 with radius 3 and 2048 bits +dim_0879,integer,,Morgan count fingeprint dimension 879 with radius 3 and 2048 bits +dim_0880,integer,,Morgan count fingeprint dimension 880 with radius 3 and 2048 bits +dim_0881,integer,,Morgan count fingeprint dimension 881 with radius 3 and 2048 bits +dim_0882,integer,,Morgan count fingeprint dimension 882 with radius 3 and 2048 bits +dim_0883,integer,,Morgan count fingeprint dimension 883 with radius 3 and 2048 bits +dim_0884,integer,,Morgan count fingeprint dimension 884 with radius 3 and 2048 bits +dim_0885,integer,,Morgan count fingeprint dimension 885 with radius 3 and 2048 bits +dim_0886,integer,,Morgan count fingeprint dimension 886 with radius 3 and 2048 bits +dim_0887,integer,,Morgan count fingeprint dimension 887 with radius 3 and 2048 bits +dim_0888,integer,,Morgan count fingeprint dimension 888 with radius 3 and 2048 bits +dim_0889,integer,,Morgan count fingeprint dimension 889 with radius 3 and 2048 bits +dim_0890,integer,,Morgan count fingeprint dimension 890 with radius 3 and 2048 bits +dim_0891,integer,,Morgan count fingeprint dimension 891 with radius 3 and 2048 bits +dim_0892,integer,,Morgan count fingeprint dimension 892 with radius 3 and 2048 bits +dim_0893,integer,,Morgan count fingeprint dimension 893 with radius 3 and 2048 bits +dim_0894,integer,,Morgan count fingeprint dimension 894 with radius 3 and 2048 bits +dim_0895,integer,,Morgan count fingeprint dimension 895 with radius 3 and 2048 bits +dim_0896,integer,,Morgan count fingeprint dimension 896 with radius 3 and 2048 bits +dim_0897,integer,,Morgan count fingeprint dimension 897 with radius 3 and 2048 bits +dim_0898,integer,,Morgan count fingeprint dimension 898 with radius 3 and 2048 bits +dim_0899,integer,,Morgan count fingeprint dimension 899 with radius 3 and 2048 bits +dim_0900,integer,,Morgan count fingeprint dimension 900 with radius 3 and 2048 bits +dim_0901,integer,,Morgan count fingeprint dimension 901 with radius 3 and 2048 bits +dim_0902,integer,,Morgan count fingeprint dimension 902 with radius 3 and 2048 bits +dim_0903,integer,,Morgan count fingeprint dimension 903 with radius 3 and 2048 bits +dim_0904,integer,,Morgan count fingeprint dimension 904 with radius 3 and 2048 bits +dim_0905,integer,,Morgan count fingeprint dimension 905 with radius 3 and 2048 bits +dim_0906,integer,,Morgan count fingeprint dimension 906 with radius 3 and 2048 bits +dim_0907,integer,,Morgan count fingeprint dimension 907 with radius 3 and 2048 bits +dim_0908,integer,,Morgan count fingeprint dimension 908 with radius 3 and 2048 bits +dim_0909,integer,,Morgan count fingeprint dimension 909 with radius 3 and 2048 bits +dim_0910,integer,,Morgan count fingeprint dimension 910 with radius 3 and 2048 bits +dim_0911,integer,,Morgan count fingeprint dimension 911 with radius 3 and 2048 bits +dim_0912,integer,,Morgan count fingeprint dimension 912 with radius 3 and 2048 bits +dim_0913,integer,,Morgan count fingeprint dimension 913 with radius 3 and 2048 bits +dim_0914,integer,,Morgan count fingeprint dimension 914 with radius 3 and 2048 bits +dim_0915,integer,,Morgan count fingeprint dimension 915 with radius 3 and 2048 bits +dim_0916,integer,,Morgan count fingeprint dimension 916 with radius 3 and 2048 bits +dim_0917,integer,,Morgan count fingeprint dimension 917 with radius 3 and 2048 bits +dim_0918,integer,,Morgan count fingeprint dimension 918 with radius 3 and 2048 bits +dim_0919,integer,,Morgan count fingeprint dimension 919 with radius 3 and 2048 bits +dim_0920,integer,,Morgan count fingeprint dimension 920 with radius 3 and 2048 bits +dim_0921,integer,,Morgan count fingeprint dimension 921 with radius 3 and 2048 bits +dim_0922,integer,,Morgan count fingeprint dimension 922 with radius 3 and 2048 bits +dim_0923,integer,,Morgan count fingeprint dimension 923 with radius 3 and 2048 bits +dim_0924,integer,,Morgan count fingeprint dimension 924 with radius 3 and 2048 bits +dim_0925,integer,,Morgan count fingeprint dimension 925 with radius 3 and 2048 bits +dim_0926,integer,,Morgan count fingeprint dimension 926 with radius 3 and 2048 bits +dim_0927,integer,,Morgan count fingeprint dimension 927 with radius 3 and 2048 bits +dim_0928,integer,,Morgan count fingeprint dimension 928 with radius 3 and 2048 bits +dim_0929,integer,,Morgan count fingeprint dimension 929 with radius 3 and 2048 bits +dim_0930,integer,,Morgan count fingeprint dimension 930 with radius 3 and 2048 bits +dim_0931,integer,,Morgan count fingeprint dimension 931 with radius 3 and 2048 bits +dim_0932,integer,,Morgan count fingeprint dimension 932 with radius 3 and 2048 bits +dim_0933,integer,,Morgan count fingeprint dimension 933 with radius 3 and 2048 bits +dim_0934,integer,,Morgan count fingeprint dimension 934 with radius 3 and 2048 bits +dim_0935,integer,,Morgan count fingeprint dimension 935 with radius 3 and 2048 bits +dim_0936,integer,,Morgan count fingeprint dimension 936 with radius 3 and 2048 bits +dim_0937,integer,,Morgan count fingeprint dimension 937 with radius 3 and 2048 bits +dim_0938,integer,,Morgan count fingeprint dimension 938 with radius 3 and 2048 bits +dim_0939,integer,,Morgan count fingeprint dimension 939 with radius 3 and 2048 bits +dim_0940,integer,,Morgan count fingeprint dimension 940 with radius 3 and 2048 bits +dim_0941,integer,,Morgan count fingeprint dimension 941 with radius 3 and 2048 bits +dim_0942,integer,,Morgan count fingeprint dimension 942 with radius 3 and 2048 bits +dim_0943,integer,,Morgan count fingeprint dimension 943 with radius 3 and 2048 bits +dim_0944,integer,,Morgan count fingeprint dimension 944 with radius 3 and 2048 bits +dim_0945,integer,,Morgan count fingeprint dimension 945 with radius 3 and 2048 bits +dim_0946,integer,,Morgan count fingeprint dimension 946 with radius 3 and 2048 bits +dim_0947,integer,,Morgan count fingeprint dimension 947 with radius 3 and 2048 bits +dim_0948,integer,,Morgan count fingeprint dimension 948 with radius 3 and 2048 bits +dim_0949,integer,,Morgan count fingeprint dimension 949 with radius 3 and 2048 bits +dim_0950,integer,,Morgan count fingeprint dimension 950 with radius 3 and 2048 bits +dim_0951,integer,,Morgan count fingeprint dimension 951 with radius 3 and 2048 bits +dim_0952,integer,,Morgan count fingeprint dimension 952 with radius 3 and 2048 bits +dim_0953,integer,,Morgan count fingeprint dimension 953 with radius 3 and 2048 bits +dim_0954,integer,,Morgan count fingeprint dimension 954 with radius 3 and 2048 bits +dim_0955,integer,,Morgan count fingeprint dimension 955 with radius 3 and 2048 bits +dim_0956,integer,,Morgan count fingeprint dimension 956 with radius 3 and 2048 bits +dim_0957,integer,,Morgan count fingeprint dimension 957 with radius 3 and 2048 bits +dim_0958,integer,,Morgan count fingeprint dimension 958 with radius 3 and 2048 bits +dim_0959,integer,,Morgan count fingeprint dimension 959 with radius 3 and 2048 bits +dim_0960,integer,,Morgan count fingeprint dimension 960 with radius 3 and 2048 bits +dim_0961,integer,,Morgan count fingeprint dimension 961 with radius 3 and 2048 bits +dim_0962,integer,,Morgan count fingeprint dimension 962 with radius 3 and 2048 bits +dim_0963,integer,,Morgan count fingeprint dimension 963 with radius 3 and 2048 bits +dim_0964,integer,,Morgan count fingeprint dimension 964 with radius 3 and 2048 bits +dim_0965,integer,,Morgan count fingeprint dimension 965 with radius 3 and 2048 bits +dim_0966,integer,,Morgan count fingeprint dimension 966 with radius 3 and 2048 bits +dim_0967,integer,,Morgan count fingeprint dimension 967 with radius 3 and 2048 bits +dim_0968,integer,,Morgan count fingeprint dimension 968 with radius 3 and 2048 bits +dim_0969,integer,,Morgan count fingeprint dimension 969 with radius 3 and 2048 bits +dim_0970,integer,,Morgan count fingeprint dimension 970 with radius 3 and 2048 bits +dim_0971,integer,,Morgan count fingeprint dimension 971 with radius 3 and 2048 bits +dim_0972,integer,,Morgan count fingeprint dimension 972 with radius 3 and 2048 bits +dim_0973,integer,,Morgan count fingeprint dimension 973 with radius 3 and 2048 bits +dim_0974,integer,,Morgan count fingeprint dimension 974 with radius 3 and 2048 bits +dim_0975,integer,,Morgan count fingeprint dimension 975 with radius 3 and 2048 bits +dim_0976,integer,,Morgan count fingeprint dimension 976 with radius 3 and 2048 bits +dim_0977,integer,,Morgan count fingeprint dimension 977 with radius 3 and 2048 bits +dim_0978,integer,,Morgan count fingeprint dimension 978 with radius 3 and 2048 bits +dim_0979,integer,,Morgan count fingeprint dimension 979 with radius 3 and 2048 bits +dim_0980,integer,,Morgan count fingeprint dimension 980 with radius 3 and 2048 bits +dim_0981,integer,,Morgan count fingeprint dimension 981 with radius 3 and 2048 bits +dim_0982,integer,,Morgan count fingeprint dimension 982 with radius 3 and 2048 bits +dim_0983,integer,,Morgan count fingeprint dimension 983 with radius 3 and 2048 bits +dim_0984,integer,,Morgan count fingeprint dimension 984 with radius 3 and 2048 bits +dim_0985,integer,,Morgan count fingeprint dimension 985 with radius 3 and 2048 bits +dim_0986,integer,,Morgan count fingeprint dimension 986 with radius 3 and 2048 bits +dim_0987,integer,,Morgan count fingeprint dimension 987 with radius 3 and 2048 bits +dim_0988,integer,,Morgan count fingeprint dimension 988 with radius 3 and 2048 bits +dim_0989,integer,,Morgan count fingeprint dimension 989 with radius 3 and 2048 bits +dim_0990,integer,,Morgan count fingeprint dimension 990 with radius 3 and 2048 bits +dim_0991,integer,,Morgan count fingeprint dimension 991 with radius 3 and 2048 bits +dim_0992,integer,,Morgan count fingeprint dimension 992 with radius 3 and 2048 bits +dim_0993,integer,,Morgan count fingeprint dimension 993 with radius 3 and 2048 bits +dim_0994,integer,,Morgan count fingeprint dimension 994 with radius 3 and 2048 bits +dim_0995,integer,,Morgan count fingeprint dimension 995 with radius 3 and 2048 bits +dim_0996,integer,,Morgan count fingeprint dimension 996 with radius 3 and 2048 bits +dim_0997,integer,,Morgan count fingeprint dimension 997 with radius 3 and 2048 bits +dim_0998,integer,,Morgan count fingeprint dimension 998 with radius 3 and 2048 bits +dim_0999,integer,,Morgan count fingeprint dimension 999 with radius 3 and 2048 bits +dim_1000,integer,,Morgan count fingeprint dimension 1000 with radius 3 and 2048 bits +dim_1001,integer,,Morgan count fingeprint dimension 1001 with radius 3 and 2048 bits +dim_1002,integer,,Morgan count fingeprint dimension 1002 with radius 3 and 2048 bits +dim_1003,integer,,Morgan count fingeprint dimension 1003 with radius 3 and 2048 bits +dim_1004,integer,,Morgan count fingeprint dimension 1004 with radius 3 and 2048 bits +dim_1005,integer,,Morgan count fingeprint dimension 1005 with radius 3 and 2048 bits +dim_1006,integer,,Morgan count fingeprint dimension 1006 with radius 3 and 2048 bits +dim_1007,integer,,Morgan count fingeprint dimension 1007 with radius 3 and 2048 bits +dim_1008,integer,,Morgan count fingeprint dimension 1008 with radius 3 and 2048 bits +dim_1009,integer,,Morgan count fingeprint dimension 1009 with radius 3 and 2048 bits +dim_1010,integer,,Morgan count fingeprint dimension 1010 with radius 3 and 2048 bits +dim_1011,integer,,Morgan count fingeprint dimension 1011 with radius 3 and 2048 bits +dim_1012,integer,,Morgan count fingeprint dimension 1012 with radius 3 and 2048 bits +dim_1013,integer,,Morgan count fingeprint dimension 1013 with radius 3 and 2048 bits +dim_1014,integer,,Morgan count fingeprint dimension 1014 with radius 3 and 2048 bits +dim_1015,integer,,Morgan count fingeprint dimension 1015 with radius 3 and 2048 bits +dim_1016,integer,,Morgan count fingeprint dimension 1016 with radius 3 and 2048 bits +dim_1017,integer,,Morgan count fingeprint dimension 1017 with radius 3 and 2048 bits +dim_1018,integer,,Morgan count fingeprint dimension 1018 with radius 3 and 2048 bits +dim_1019,integer,,Morgan count fingeprint dimension 1019 with radius 3 and 2048 bits +dim_1020,integer,,Morgan count fingeprint dimension 1020 with radius 3 and 2048 bits +dim_1021,integer,,Morgan count fingeprint dimension 1021 with radius 3 and 2048 bits +dim_1022,integer,,Morgan count fingeprint dimension 1022 with radius 3 and 2048 bits +dim_1023,integer,,Morgan count fingeprint dimension 1023 with radius 3 and 2048 bits +dim_1024,integer,,Morgan count fingeprint dimension 1024 with radius 3 and 2048 bits +dim_1025,integer,,Morgan count fingeprint dimension 1025 with radius 3 and 2048 bits +dim_1026,integer,,Morgan count fingeprint dimension 1026 with radius 3 and 2048 bits +dim_1027,integer,,Morgan count fingeprint dimension 1027 with radius 3 and 2048 bits +dim_1028,integer,,Morgan count fingeprint dimension 1028 with radius 3 and 2048 bits +dim_1029,integer,,Morgan count fingeprint dimension 1029 with radius 3 and 2048 bits +dim_1030,integer,,Morgan count fingeprint dimension 1030 with radius 3 and 2048 bits +dim_1031,integer,,Morgan count fingeprint dimension 1031 with radius 3 and 2048 bits +dim_1032,integer,,Morgan count fingeprint dimension 1032 with radius 3 and 2048 bits +dim_1033,integer,,Morgan count fingeprint dimension 1033 with radius 3 and 2048 bits +dim_1034,integer,,Morgan count fingeprint dimension 1034 with radius 3 and 2048 bits +dim_1035,integer,,Morgan count fingeprint dimension 1035 with radius 3 and 2048 bits +dim_1036,integer,,Morgan count fingeprint dimension 1036 with radius 3 and 2048 bits +dim_1037,integer,,Morgan count fingeprint dimension 1037 with radius 3 and 2048 bits +dim_1038,integer,,Morgan count fingeprint dimension 1038 with radius 3 and 2048 bits +dim_1039,integer,,Morgan count fingeprint dimension 1039 with radius 3 and 2048 bits +dim_1040,integer,,Morgan count fingeprint dimension 1040 with radius 3 and 2048 bits +dim_1041,integer,,Morgan count fingeprint dimension 1041 with radius 3 and 2048 bits +dim_1042,integer,,Morgan count fingeprint dimension 1042 with radius 3 and 2048 bits +dim_1043,integer,,Morgan count fingeprint dimension 1043 with radius 3 and 2048 bits +dim_1044,integer,,Morgan count fingeprint dimension 1044 with radius 3 and 2048 bits +dim_1045,integer,,Morgan count fingeprint dimension 1045 with radius 3 and 2048 bits +dim_1046,integer,,Morgan count fingeprint dimension 1046 with radius 3 and 2048 bits +dim_1047,integer,,Morgan count fingeprint dimension 1047 with radius 3 and 2048 bits +dim_1048,integer,,Morgan count fingeprint dimension 1048 with radius 3 and 2048 bits +dim_1049,integer,,Morgan count fingeprint dimension 1049 with radius 3 and 2048 bits +dim_1050,integer,,Morgan count fingeprint dimension 1050 with radius 3 and 2048 bits +dim_1051,integer,,Morgan count fingeprint dimension 1051 with radius 3 and 2048 bits +dim_1052,integer,,Morgan count fingeprint dimension 1052 with radius 3 and 2048 bits +dim_1053,integer,,Morgan count fingeprint dimension 1053 with radius 3 and 2048 bits +dim_1054,integer,,Morgan count fingeprint dimension 1054 with radius 3 and 2048 bits +dim_1055,integer,,Morgan count fingeprint dimension 1055 with radius 3 and 2048 bits +dim_1056,integer,,Morgan count fingeprint dimension 1056 with radius 3 and 2048 bits +dim_1057,integer,,Morgan count fingeprint dimension 1057 with radius 3 and 2048 bits +dim_1058,integer,,Morgan count fingeprint dimension 1058 with radius 3 and 2048 bits +dim_1059,integer,,Morgan count fingeprint dimension 1059 with radius 3 and 2048 bits +dim_1060,integer,,Morgan count fingeprint dimension 1060 with radius 3 and 2048 bits +dim_1061,integer,,Morgan count fingeprint dimension 1061 with radius 3 and 2048 bits +dim_1062,integer,,Morgan count fingeprint dimension 1062 with radius 3 and 2048 bits +dim_1063,integer,,Morgan count fingeprint dimension 1063 with radius 3 and 2048 bits +dim_1064,integer,,Morgan count fingeprint dimension 1064 with radius 3 and 2048 bits +dim_1065,integer,,Morgan count fingeprint dimension 1065 with radius 3 and 2048 bits +dim_1066,integer,,Morgan count fingeprint dimension 1066 with radius 3 and 2048 bits +dim_1067,integer,,Morgan count fingeprint dimension 1067 with radius 3 and 2048 bits +dim_1068,integer,,Morgan count fingeprint dimension 1068 with radius 3 and 2048 bits +dim_1069,integer,,Morgan count fingeprint dimension 1069 with radius 3 and 2048 bits +dim_1070,integer,,Morgan count fingeprint dimension 1070 with radius 3 and 2048 bits +dim_1071,integer,,Morgan count fingeprint dimension 1071 with radius 3 and 2048 bits +dim_1072,integer,,Morgan count fingeprint dimension 1072 with radius 3 and 2048 bits +dim_1073,integer,,Morgan count fingeprint dimension 1073 with radius 3 and 2048 bits +dim_1074,integer,,Morgan count fingeprint dimension 1074 with radius 3 and 2048 bits +dim_1075,integer,,Morgan count fingeprint dimension 1075 with radius 3 and 2048 bits +dim_1076,integer,,Morgan count fingeprint dimension 1076 with radius 3 and 2048 bits +dim_1077,integer,,Morgan count fingeprint dimension 1077 with radius 3 and 2048 bits +dim_1078,integer,,Morgan count fingeprint dimension 1078 with radius 3 and 2048 bits +dim_1079,integer,,Morgan count fingeprint dimension 1079 with radius 3 and 2048 bits +dim_1080,integer,,Morgan count fingeprint dimension 1080 with radius 3 and 2048 bits +dim_1081,integer,,Morgan count fingeprint dimension 1081 with radius 3 and 2048 bits +dim_1082,integer,,Morgan count fingeprint dimension 1082 with radius 3 and 2048 bits +dim_1083,integer,,Morgan count fingeprint dimension 1083 with radius 3 and 2048 bits +dim_1084,integer,,Morgan count fingeprint dimension 1084 with radius 3 and 2048 bits +dim_1085,integer,,Morgan count fingeprint dimension 1085 with radius 3 and 2048 bits +dim_1086,integer,,Morgan count fingeprint dimension 1086 with radius 3 and 2048 bits +dim_1087,integer,,Morgan count fingeprint dimension 1087 with radius 3 and 2048 bits +dim_1088,integer,,Morgan count fingeprint dimension 1088 with radius 3 and 2048 bits +dim_1089,integer,,Morgan count fingeprint dimension 1089 with radius 3 and 2048 bits +dim_1090,integer,,Morgan count fingeprint dimension 1090 with radius 3 and 2048 bits +dim_1091,integer,,Morgan count fingeprint dimension 1091 with radius 3 and 2048 bits +dim_1092,integer,,Morgan count fingeprint dimension 1092 with radius 3 and 2048 bits +dim_1093,integer,,Morgan count fingeprint dimension 1093 with radius 3 and 2048 bits +dim_1094,integer,,Morgan count fingeprint dimension 1094 with radius 3 and 2048 bits +dim_1095,integer,,Morgan count fingeprint dimension 1095 with radius 3 and 2048 bits +dim_1096,integer,,Morgan count fingeprint dimension 1096 with radius 3 and 2048 bits +dim_1097,integer,,Morgan count fingeprint dimension 1097 with radius 3 and 2048 bits +dim_1098,integer,,Morgan count fingeprint dimension 1098 with radius 3 and 2048 bits +dim_1099,integer,,Morgan count fingeprint dimension 1099 with radius 3 and 2048 bits +dim_1100,integer,,Morgan count fingeprint dimension 1100 with radius 3 and 2048 bits +dim_1101,integer,,Morgan count fingeprint dimension 1101 with radius 3 and 2048 bits +dim_1102,integer,,Morgan count fingeprint dimension 1102 with radius 3 and 2048 bits +dim_1103,integer,,Morgan count fingeprint dimension 1103 with radius 3 and 2048 bits +dim_1104,integer,,Morgan count fingeprint dimension 1104 with radius 3 and 2048 bits +dim_1105,integer,,Morgan count fingeprint dimension 1105 with radius 3 and 2048 bits +dim_1106,integer,,Morgan count fingeprint dimension 1106 with radius 3 and 2048 bits +dim_1107,integer,,Morgan count fingeprint dimension 1107 with radius 3 and 2048 bits +dim_1108,integer,,Morgan count fingeprint dimension 1108 with radius 3 and 2048 bits +dim_1109,integer,,Morgan count fingeprint dimension 1109 with radius 3 and 2048 bits +dim_1110,integer,,Morgan count fingeprint dimension 1110 with radius 3 and 2048 bits +dim_1111,integer,,Morgan count fingeprint dimension 1111 with radius 3 and 2048 bits +dim_1112,integer,,Morgan count fingeprint dimension 1112 with radius 3 and 2048 bits +dim_1113,integer,,Morgan count fingeprint dimension 1113 with radius 3 and 2048 bits +dim_1114,integer,,Morgan count fingeprint dimension 1114 with radius 3 and 2048 bits +dim_1115,integer,,Morgan count fingeprint dimension 1115 with radius 3 and 2048 bits +dim_1116,integer,,Morgan count fingeprint dimension 1116 with radius 3 and 2048 bits +dim_1117,integer,,Morgan count fingeprint dimension 1117 with radius 3 and 2048 bits +dim_1118,integer,,Morgan count fingeprint dimension 1118 with radius 3 and 2048 bits +dim_1119,integer,,Morgan count fingeprint dimension 1119 with radius 3 and 2048 bits +dim_1120,integer,,Morgan count fingeprint dimension 1120 with radius 3 and 2048 bits +dim_1121,integer,,Morgan count fingeprint dimension 1121 with radius 3 and 2048 bits +dim_1122,integer,,Morgan count fingeprint dimension 1122 with radius 3 and 2048 bits +dim_1123,integer,,Morgan count fingeprint dimension 1123 with radius 3 and 2048 bits +dim_1124,integer,,Morgan count fingeprint dimension 1124 with radius 3 and 2048 bits +dim_1125,integer,,Morgan count fingeprint dimension 1125 with radius 3 and 2048 bits +dim_1126,integer,,Morgan count fingeprint dimension 1126 with radius 3 and 2048 bits +dim_1127,integer,,Morgan count fingeprint dimension 1127 with radius 3 and 2048 bits +dim_1128,integer,,Morgan count fingeprint dimension 1128 with radius 3 and 2048 bits +dim_1129,integer,,Morgan count fingeprint dimension 1129 with radius 3 and 2048 bits +dim_1130,integer,,Morgan count fingeprint dimension 1130 with radius 3 and 2048 bits +dim_1131,integer,,Morgan count fingeprint dimension 1131 with radius 3 and 2048 bits +dim_1132,integer,,Morgan count fingeprint dimension 1132 with radius 3 and 2048 bits +dim_1133,integer,,Morgan count fingeprint dimension 1133 with radius 3 and 2048 bits +dim_1134,integer,,Morgan count fingeprint dimension 1134 with radius 3 and 2048 bits +dim_1135,integer,,Morgan count fingeprint dimension 1135 with radius 3 and 2048 bits +dim_1136,integer,,Morgan count fingeprint dimension 1136 with radius 3 and 2048 bits +dim_1137,integer,,Morgan count fingeprint dimension 1137 with radius 3 and 2048 bits +dim_1138,integer,,Morgan count fingeprint dimension 1138 with radius 3 and 2048 bits +dim_1139,integer,,Morgan count fingeprint dimension 1139 with radius 3 and 2048 bits +dim_1140,integer,,Morgan count fingeprint dimension 1140 with radius 3 and 2048 bits +dim_1141,integer,,Morgan count fingeprint dimension 1141 with radius 3 and 2048 bits +dim_1142,integer,,Morgan count fingeprint dimension 1142 with radius 3 and 2048 bits +dim_1143,integer,,Morgan count fingeprint dimension 1143 with radius 3 and 2048 bits +dim_1144,integer,,Morgan count fingeprint dimension 1144 with radius 3 and 2048 bits +dim_1145,integer,,Morgan count fingeprint dimension 1145 with radius 3 and 2048 bits +dim_1146,integer,,Morgan count fingeprint dimension 1146 with radius 3 and 2048 bits +dim_1147,integer,,Morgan count fingeprint dimension 1147 with radius 3 and 2048 bits +dim_1148,integer,,Morgan count fingeprint dimension 1148 with radius 3 and 2048 bits +dim_1149,integer,,Morgan count fingeprint dimension 1149 with radius 3 and 2048 bits +dim_1150,integer,,Morgan count fingeprint dimension 1150 with radius 3 and 2048 bits +dim_1151,integer,,Morgan count fingeprint dimension 1151 with radius 3 and 2048 bits +dim_1152,integer,,Morgan count fingeprint dimension 1152 with radius 3 and 2048 bits +dim_1153,integer,,Morgan count fingeprint dimension 1153 with radius 3 and 2048 bits +dim_1154,integer,,Morgan count fingeprint dimension 1154 with radius 3 and 2048 bits +dim_1155,integer,,Morgan count fingeprint dimension 1155 with radius 3 and 2048 bits +dim_1156,integer,,Morgan count fingeprint dimension 1156 with radius 3 and 2048 bits +dim_1157,integer,,Morgan count fingeprint dimension 1157 with radius 3 and 2048 bits +dim_1158,integer,,Morgan count fingeprint dimension 1158 with radius 3 and 2048 bits +dim_1159,integer,,Morgan count fingeprint dimension 1159 with radius 3 and 2048 bits +dim_1160,integer,,Morgan count fingeprint dimension 1160 with radius 3 and 2048 bits +dim_1161,integer,,Morgan count fingeprint dimension 1161 with radius 3 and 2048 bits +dim_1162,integer,,Morgan count fingeprint dimension 1162 with radius 3 and 2048 bits +dim_1163,integer,,Morgan count fingeprint dimension 1163 with radius 3 and 2048 bits +dim_1164,integer,,Morgan count fingeprint dimension 1164 with radius 3 and 2048 bits +dim_1165,integer,,Morgan count fingeprint dimension 1165 with radius 3 and 2048 bits +dim_1166,integer,,Morgan count fingeprint dimension 1166 with radius 3 and 2048 bits +dim_1167,integer,,Morgan count fingeprint dimension 1167 with radius 3 and 2048 bits +dim_1168,integer,,Morgan count fingeprint dimension 1168 with radius 3 and 2048 bits +dim_1169,integer,,Morgan count fingeprint dimension 1169 with radius 3 and 2048 bits +dim_1170,integer,,Morgan count fingeprint dimension 1170 with radius 3 and 2048 bits +dim_1171,integer,,Morgan count fingeprint dimension 1171 with radius 3 and 2048 bits +dim_1172,integer,,Morgan count fingeprint dimension 1172 with radius 3 and 2048 bits +dim_1173,integer,,Morgan count fingeprint dimension 1173 with radius 3 and 2048 bits +dim_1174,integer,,Morgan count fingeprint dimension 1174 with radius 3 and 2048 bits +dim_1175,integer,,Morgan count fingeprint dimension 1175 with radius 3 and 2048 bits +dim_1176,integer,,Morgan count fingeprint dimension 1176 with radius 3 and 2048 bits +dim_1177,integer,,Morgan count fingeprint dimension 1177 with radius 3 and 2048 bits +dim_1178,integer,,Morgan count fingeprint dimension 1178 with radius 3 and 2048 bits +dim_1179,integer,,Morgan count fingeprint dimension 1179 with radius 3 and 2048 bits +dim_1180,integer,,Morgan count fingeprint dimension 1180 with radius 3 and 2048 bits +dim_1181,integer,,Morgan count fingeprint dimension 1181 with radius 3 and 2048 bits +dim_1182,integer,,Morgan count fingeprint dimension 1182 with radius 3 and 2048 bits +dim_1183,integer,,Morgan count fingeprint dimension 1183 with radius 3 and 2048 bits +dim_1184,integer,,Morgan count fingeprint dimension 1184 with radius 3 and 2048 bits +dim_1185,integer,,Morgan count fingeprint dimension 1185 with radius 3 and 2048 bits +dim_1186,integer,,Morgan count fingeprint dimension 1186 with radius 3 and 2048 bits +dim_1187,integer,,Morgan count fingeprint dimension 1187 with radius 3 and 2048 bits +dim_1188,integer,,Morgan count fingeprint dimension 1188 with radius 3 and 2048 bits +dim_1189,integer,,Morgan count fingeprint dimension 1189 with radius 3 and 2048 bits +dim_1190,integer,,Morgan count fingeprint dimension 1190 with radius 3 and 2048 bits +dim_1191,integer,,Morgan count fingeprint dimension 1191 with radius 3 and 2048 bits +dim_1192,integer,,Morgan count fingeprint dimension 1192 with radius 3 and 2048 bits +dim_1193,integer,,Morgan count fingeprint dimension 1193 with radius 3 and 2048 bits +dim_1194,integer,,Morgan count fingeprint dimension 1194 with radius 3 and 2048 bits +dim_1195,integer,,Morgan count fingeprint dimension 1195 with radius 3 and 2048 bits +dim_1196,integer,,Morgan count fingeprint dimension 1196 with radius 3 and 2048 bits +dim_1197,integer,,Morgan count fingeprint dimension 1197 with radius 3 and 2048 bits +dim_1198,integer,,Morgan count fingeprint dimension 1198 with radius 3 and 2048 bits +dim_1199,integer,,Morgan count fingeprint dimension 1199 with radius 3 and 2048 bits +dim_1200,integer,,Morgan count fingeprint dimension 1200 with radius 3 and 2048 bits +dim_1201,integer,,Morgan count fingeprint dimension 1201 with radius 3 and 2048 bits +dim_1202,integer,,Morgan count fingeprint dimension 1202 with radius 3 and 2048 bits +dim_1203,integer,,Morgan count fingeprint dimension 1203 with radius 3 and 2048 bits +dim_1204,integer,,Morgan count fingeprint dimension 1204 with radius 3 and 2048 bits +dim_1205,integer,,Morgan count fingeprint dimension 1205 with radius 3 and 2048 bits +dim_1206,integer,,Morgan count fingeprint dimension 1206 with radius 3 and 2048 bits +dim_1207,integer,,Morgan count fingeprint dimension 1207 with radius 3 and 2048 bits +dim_1208,integer,,Morgan count fingeprint dimension 1208 with radius 3 and 2048 bits +dim_1209,integer,,Morgan count fingeprint dimension 1209 with radius 3 and 2048 bits +dim_1210,integer,,Morgan count fingeprint dimension 1210 with radius 3 and 2048 bits +dim_1211,integer,,Morgan count fingeprint dimension 1211 with radius 3 and 2048 bits +dim_1212,integer,,Morgan count fingeprint dimension 1212 with radius 3 and 2048 bits +dim_1213,integer,,Morgan count fingeprint dimension 1213 with radius 3 and 2048 bits +dim_1214,integer,,Morgan count fingeprint dimension 1214 with radius 3 and 2048 bits +dim_1215,integer,,Morgan count fingeprint dimension 1215 with radius 3 and 2048 bits +dim_1216,integer,,Morgan count fingeprint dimension 1216 with radius 3 and 2048 bits +dim_1217,integer,,Morgan count fingeprint dimension 1217 with radius 3 and 2048 bits +dim_1218,integer,,Morgan count fingeprint dimension 1218 with radius 3 and 2048 bits +dim_1219,integer,,Morgan count fingeprint dimension 1219 with radius 3 and 2048 bits +dim_1220,integer,,Morgan count fingeprint dimension 1220 with radius 3 and 2048 bits +dim_1221,integer,,Morgan count fingeprint dimension 1221 with radius 3 and 2048 bits +dim_1222,integer,,Morgan count fingeprint dimension 1222 with radius 3 and 2048 bits +dim_1223,integer,,Morgan count fingeprint dimension 1223 with radius 3 and 2048 bits +dim_1224,integer,,Morgan count fingeprint dimension 1224 with radius 3 and 2048 bits +dim_1225,integer,,Morgan count fingeprint dimension 1225 with radius 3 and 2048 bits +dim_1226,integer,,Morgan count fingeprint dimension 1226 with radius 3 and 2048 bits +dim_1227,integer,,Morgan count fingeprint dimension 1227 with radius 3 and 2048 bits +dim_1228,integer,,Morgan count fingeprint dimension 1228 with radius 3 and 2048 bits +dim_1229,integer,,Morgan count fingeprint dimension 1229 with radius 3 and 2048 bits +dim_1230,integer,,Morgan count fingeprint dimension 1230 with radius 3 and 2048 bits +dim_1231,integer,,Morgan count fingeprint dimension 1231 with radius 3 and 2048 bits +dim_1232,integer,,Morgan count fingeprint dimension 1232 with radius 3 and 2048 bits +dim_1233,integer,,Morgan count fingeprint dimension 1233 with radius 3 and 2048 bits +dim_1234,integer,,Morgan count fingeprint dimension 1234 with radius 3 and 2048 bits +dim_1235,integer,,Morgan count fingeprint dimension 1235 with radius 3 and 2048 bits +dim_1236,integer,,Morgan count fingeprint dimension 1236 with radius 3 and 2048 bits +dim_1237,integer,,Morgan count fingeprint dimension 1237 with radius 3 and 2048 bits +dim_1238,integer,,Morgan count fingeprint dimension 1238 with radius 3 and 2048 bits +dim_1239,integer,,Morgan count fingeprint dimension 1239 with radius 3 and 2048 bits +dim_1240,integer,,Morgan count fingeprint dimension 1240 with radius 3 and 2048 bits +dim_1241,integer,,Morgan count fingeprint dimension 1241 with radius 3 and 2048 bits +dim_1242,integer,,Morgan count fingeprint dimension 1242 with radius 3 and 2048 bits +dim_1243,integer,,Morgan count fingeprint dimension 1243 with radius 3 and 2048 bits +dim_1244,integer,,Morgan count fingeprint dimension 1244 with radius 3 and 2048 bits +dim_1245,integer,,Morgan count fingeprint dimension 1245 with radius 3 and 2048 bits +dim_1246,integer,,Morgan count fingeprint dimension 1246 with radius 3 and 2048 bits +dim_1247,integer,,Morgan count fingeprint dimension 1247 with radius 3 and 2048 bits +dim_1248,integer,,Morgan count fingeprint dimension 1248 with radius 3 and 2048 bits +dim_1249,integer,,Morgan count fingeprint dimension 1249 with radius 3 and 2048 bits +dim_1250,integer,,Morgan count fingeprint dimension 1250 with radius 3 and 2048 bits +dim_1251,integer,,Morgan count fingeprint dimension 1251 with radius 3 and 2048 bits +dim_1252,integer,,Morgan count fingeprint dimension 1252 with radius 3 and 2048 bits +dim_1253,integer,,Morgan count fingeprint dimension 1253 with radius 3 and 2048 bits +dim_1254,integer,,Morgan count fingeprint dimension 1254 with radius 3 and 2048 bits +dim_1255,integer,,Morgan count fingeprint dimension 1255 with radius 3 and 2048 bits +dim_1256,integer,,Morgan count fingeprint dimension 1256 with radius 3 and 2048 bits +dim_1257,integer,,Morgan count fingeprint dimension 1257 with radius 3 and 2048 bits +dim_1258,integer,,Morgan count fingeprint dimension 1258 with radius 3 and 2048 bits +dim_1259,integer,,Morgan count fingeprint dimension 1259 with radius 3 and 2048 bits +dim_1260,integer,,Morgan count fingeprint dimension 1260 with radius 3 and 2048 bits +dim_1261,integer,,Morgan count fingeprint dimension 1261 with radius 3 and 2048 bits +dim_1262,integer,,Morgan count fingeprint dimension 1262 with radius 3 and 2048 bits +dim_1263,integer,,Morgan count fingeprint dimension 1263 with radius 3 and 2048 bits +dim_1264,integer,,Morgan count fingeprint dimension 1264 with radius 3 and 2048 bits +dim_1265,integer,,Morgan count fingeprint dimension 1265 with radius 3 and 2048 bits +dim_1266,integer,,Morgan count fingeprint dimension 1266 with radius 3 and 2048 bits +dim_1267,integer,,Morgan count fingeprint dimension 1267 with radius 3 and 2048 bits +dim_1268,integer,,Morgan count fingeprint dimension 1268 with radius 3 and 2048 bits +dim_1269,integer,,Morgan count fingeprint dimension 1269 with radius 3 and 2048 bits +dim_1270,integer,,Morgan count fingeprint dimension 1270 with radius 3 and 2048 bits +dim_1271,integer,,Morgan count fingeprint dimension 1271 with radius 3 and 2048 bits +dim_1272,integer,,Morgan count fingeprint dimension 1272 with radius 3 and 2048 bits +dim_1273,integer,,Morgan count fingeprint dimension 1273 with radius 3 and 2048 bits +dim_1274,integer,,Morgan count fingeprint dimension 1274 with radius 3 and 2048 bits +dim_1275,integer,,Morgan count fingeprint dimension 1275 with radius 3 and 2048 bits +dim_1276,integer,,Morgan count fingeprint dimension 1276 with radius 3 and 2048 bits +dim_1277,integer,,Morgan count fingeprint dimension 1277 with radius 3 and 2048 bits +dim_1278,integer,,Morgan count fingeprint dimension 1278 with radius 3 and 2048 bits +dim_1279,integer,,Morgan count fingeprint dimension 1279 with radius 3 and 2048 bits +dim_1280,integer,,Morgan count fingeprint dimension 1280 with radius 3 and 2048 bits +dim_1281,integer,,Morgan count fingeprint dimension 1281 with radius 3 and 2048 bits +dim_1282,integer,,Morgan count fingeprint dimension 1282 with radius 3 and 2048 bits +dim_1283,integer,,Morgan count fingeprint dimension 1283 with radius 3 and 2048 bits +dim_1284,integer,,Morgan count fingeprint dimension 1284 with radius 3 and 2048 bits +dim_1285,integer,,Morgan count fingeprint dimension 1285 with radius 3 and 2048 bits +dim_1286,integer,,Morgan count fingeprint dimension 1286 with radius 3 and 2048 bits +dim_1287,integer,,Morgan count fingeprint dimension 1287 with radius 3 and 2048 bits +dim_1288,integer,,Morgan count fingeprint dimension 1288 with radius 3 and 2048 bits +dim_1289,integer,,Morgan count fingeprint dimension 1289 with radius 3 and 2048 bits +dim_1290,integer,,Morgan count fingeprint dimension 1290 with radius 3 and 2048 bits +dim_1291,integer,,Morgan count fingeprint dimension 1291 with radius 3 and 2048 bits +dim_1292,integer,,Morgan count fingeprint dimension 1292 with radius 3 and 2048 bits +dim_1293,integer,,Morgan count fingeprint dimension 1293 with radius 3 and 2048 bits +dim_1294,integer,,Morgan count fingeprint dimension 1294 with radius 3 and 2048 bits +dim_1295,integer,,Morgan count fingeprint dimension 1295 with radius 3 and 2048 bits +dim_1296,integer,,Morgan count fingeprint dimension 1296 with radius 3 and 2048 bits +dim_1297,integer,,Morgan count fingeprint dimension 1297 with radius 3 and 2048 bits +dim_1298,integer,,Morgan count fingeprint dimension 1298 with radius 3 and 2048 bits +dim_1299,integer,,Morgan count fingeprint dimension 1299 with radius 3 and 2048 bits +dim_1300,integer,,Morgan count fingeprint dimension 1300 with radius 3 and 2048 bits +dim_1301,integer,,Morgan count fingeprint dimension 1301 with radius 3 and 2048 bits +dim_1302,integer,,Morgan count fingeprint dimension 1302 with radius 3 and 2048 bits +dim_1303,integer,,Morgan count fingeprint dimension 1303 with radius 3 and 2048 bits +dim_1304,integer,,Morgan count fingeprint dimension 1304 with radius 3 and 2048 bits +dim_1305,integer,,Morgan count fingeprint dimension 1305 with radius 3 and 2048 bits +dim_1306,integer,,Morgan count fingeprint dimension 1306 with radius 3 and 2048 bits +dim_1307,integer,,Morgan count fingeprint dimension 1307 with radius 3 and 2048 bits +dim_1308,integer,,Morgan count fingeprint dimension 1308 with radius 3 and 2048 bits +dim_1309,integer,,Morgan count fingeprint dimension 1309 with radius 3 and 2048 bits +dim_1310,integer,,Morgan count fingeprint dimension 1310 with radius 3 and 2048 bits +dim_1311,integer,,Morgan count fingeprint dimension 1311 with radius 3 and 2048 bits +dim_1312,integer,,Morgan count fingeprint dimension 1312 with radius 3 and 2048 bits +dim_1313,integer,,Morgan count fingeprint dimension 1313 with radius 3 and 2048 bits +dim_1314,integer,,Morgan count fingeprint dimension 1314 with radius 3 and 2048 bits +dim_1315,integer,,Morgan count fingeprint dimension 1315 with radius 3 and 2048 bits +dim_1316,integer,,Morgan count fingeprint dimension 1316 with radius 3 and 2048 bits +dim_1317,integer,,Morgan count fingeprint dimension 1317 with radius 3 and 2048 bits +dim_1318,integer,,Morgan count fingeprint dimension 1318 with radius 3 and 2048 bits +dim_1319,integer,,Morgan count fingeprint dimension 1319 with radius 3 and 2048 bits +dim_1320,integer,,Morgan count fingeprint dimension 1320 with radius 3 and 2048 bits +dim_1321,integer,,Morgan count fingeprint dimension 1321 with radius 3 and 2048 bits +dim_1322,integer,,Morgan count fingeprint dimension 1322 with radius 3 and 2048 bits +dim_1323,integer,,Morgan count fingeprint dimension 1323 with radius 3 and 2048 bits +dim_1324,integer,,Morgan count fingeprint dimension 1324 with radius 3 and 2048 bits +dim_1325,integer,,Morgan count fingeprint dimension 1325 with radius 3 and 2048 bits +dim_1326,integer,,Morgan count fingeprint dimension 1326 with radius 3 and 2048 bits +dim_1327,integer,,Morgan count fingeprint dimension 1327 with radius 3 and 2048 bits +dim_1328,integer,,Morgan count fingeprint dimension 1328 with radius 3 and 2048 bits +dim_1329,integer,,Morgan count fingeprint dimension 1329 with radius 3 and 2048 bits +dim_1330,integer,,Morgan count fingeprint dimension 1330 with radius 3 and 2048 bits +dim_1331,integer,,Morgan count fingeprint dimension 1331 with radius 3 and 2048 bits +dim_1332,integer,,Morgan count fingeprint dimension 1332 with radius 3 and 2048 bits +dim_1333,integer,,Morgan count fingeprint dimension 1333 with radius 3 and 2048 bits +dim_1334,integer,,Morgan count fingeprint dimension 1334 with radius 3 and 2048 bits +dim_1335,integer,,Morgan count fingeprint dimension 1335 with radius 3 and 2048 bits +dim_1336,integer,,Morgan count fingeprint dimension 1336 with radius 3 and 2048 bits +dim_1337,integer,,Morgan count fingeprint dimension 1337 with radius 3 and 2048 bits +dim_1338,integer,,Morgan count fingeprint dimension 1338 with radius 3 and 2048 bits +dim_1339,integer,,Morgan count fingeprint dimension 1339 with radius 3 and 2048 bits +dim_1340,integer,,Morgan count fingeprint dimension 1340 with radius 3 and 2048 bits +dim_1341,integer,,Morgan count fingeprint dimension 1341 with radius 3 and 2048 bits +dim_1342,integer,,Morgan count fingeprint dimension 1342 with radius 3 and 2048 bits +dim_1343,integer,,Morgan count fingeprint dimension 1343 with radius 3 and 2048 bits +dim_1344,integer,,Morgan count fingeprint dimension 1344 with radius 3 and 2048 bits +dim_1345,integer,,Morgan count fingeprint dimension 1345 with radius 3 and 2048 bits +dim_1346,integer,,Morgan count fingeprint dimension 1346 with radius 3 and 2048 bits +dim_1347,integer,,Morgan count fingeprint dimension 1347 with radius 3 and 2048 bits +dim_1348,integer,,Morgan count fingeprint dimension 1348 with radius 3 and 2048 bits +dim_1349,integer,,Morgan count fingeprint dimension 1349 with radius 3 and 2048 bits +dim_1350,integer,,Morgan count fingeprint dimension 1350 with radius 3 and 2048 bits +dim_1351,integer,,Morgan count fingeprint dimension 1351 with radius 3 and 2048 bits +dim_1352,integer,,Morgan count fingeprint dimension 1352 with radius 3 and 2048 bits +dim_1353,integer,,Morgan count fingeprint dimension 1353 with radius 3 and 2048 bits +dim_1354,integer,,Morgan count fingeprint dimension 1354 with radius 3 and 2048 bits +dim_1355,integer,,Morgan count fingeprint dimension 1355 with radius 3 and 2048 bits +dim_1356,integer,,Morgan count fingeprint dimension 1356 with radius 3 and 2048 bits +dim_1357,integer,,Morgan count fingeprint dimension 1357 with radius 3 and 2048 bits +dim_1358,integer,,Morgan count fingeprint dimension 1358 with radius 3 and 2048 bits +dim_1359,integer,,Morgan count fingeprint dimension 1359 with radius 3 and 2048 bits +dim_1360,integer,,Morgan count fingeprint dimension 1360 with radius 3 and 2048 bits +dim_1361,integer,,Morgan count fingeprint dimension 1361 with radius 3 and 2048 bits +dim_1362,integer,,Morgan count fingeprint dimension 1362 with radius 3 and 2048 bits +dim_1363,integer,,Morgan count fingeprint dimension 1363 with radius 3 and 2048 bits +dim_1364,integer,,Morgan count fingeprint dimension 1364 with radius 3 and 2048 bits +dim_1365,integer,,Morgan count fingeprint dimension 1365 with radius 3 and 2048 bits +dim_1366,integer,,Morgan count fingeprint dimension 1366 with radius 3 and 2048 bits +dim_1367,integer,,Morgan count fingeprint dimension 1367 with radius 3 and 2048 bits +dim_1368,integer,,Morgan count fingeprint dimension 1368 with radius 3 and 2048 bits +dim_1369,integer,,Morgan count fingeprint dimension 1369 with radius 3 and 2048 bits +dim_1370,integer,,Morgan count fingeprint dimension 1370 with radius 3 and 2048 bits +dim_1371,integer,,Morgan count fingeprint dimension 1371 with radius 3 and 2048 bits +dim_1372,integer,,Morgan count fingeprint dimension 1372 with radius 3 and 2048 bits +dim_1373,integer,,Morgan count fingeprint dimension 1373 with radius 3 and 2048 bits +dim_1374,integer,,Morgan count fingeprint dimension 1374 with radius 3 and 2048 bits +dim_1375,integer,,Morgan count fingeprint dimension 1375 with radius 3 and 2048 bits +dim_1376,integer,,Morgan count fingeprint dimension 1376 with radius 3 and 2048 bits +dim_1377,integer,,Morgan count fingeprint dimension 1377 with radius 3 and 2048 bits +dim_1378,integer,,Morgan count fingeprint dimension 1378 with radius 3 and 2048 bits +dim_1379,integer,,Morgan count fingeprint dimension 1379 with radius 3 and 2048 bits +dim_1380,integer,,Morgan count fingeprint dimension 1380 with radius 3 and 2048 bits +dim_1381,integer,,Morgan count fingeprint dimension 1381 with radius 3 and 2048 bits +dim_1382,integer,,Morgan count fingeprint dimension 1382 with radius 3 and 2048 bits +dim_1383,integer,,Morgan count fingeprint dimension 1383 with radius 3 and 2048 bits +dim_1384,integer,,Morgan count fingeprint dimension 1384 with radius 3 and 2048 bits +dim_1385,integer,,Morgan count fingeprint dimension 1385 with radius 3 and 2048 bits +dim_1386,integer,,Morgan count fingeprint dimension 1386 with radius 3 and 2048 bits +dim_1387,integer,,Morgan count fingeprint dimension 1387 with radius 3 and 2048 bits +dim_1388,integer,,Morgan count fingeprint dimension 1388 with radius 3 and 2048 bits +dim_1389,integer,,Morgan count fingeprint dimension 1389 with radius 3 and 2048 bits +dim_1390,integer,,Morgan count fingeprint dimension 1390 with radius 3 and 2048 bits +dim_1391,integer,,Morgan count fingeprint dimension 1391 with radius 3 and 2048 bits +dim_1392,integer,,Morgan count fingeprint dimension 1392 with radius 3 and 2048 bits +dim_1393,integer,,Morgan count fingeprint dimension 1393 with radius 3 and 2048 bits +dim_1394,integer,,Morgan count fingeprint dimension 1394 with radius 3 and 2048 bits +dim_1395,integer,,Morgan count fingeprint dimension 1395 with radius 3 and 2048 bits +dim_1396,integer,,Morgan count fingeprint dimension 1396 with radius 3 and 2048 bits +dim_1397,integer,,Morgan count fingeprint dimension 1397 with radius 3 and 2048 bits +dim_1398,integer,,Morgan count fingeprint dimension 1398 with radius 3 and 2048 bits +dim_1399,integer,,Morgan count fingeprint dimension 1399 with radius 3 and 2048 bits +dim_1400,integer,,Morgan count fingeprint dimension 1400 with radius 3 and 2048 bits +dim_1401,integer,,Morgan count fingeprint dimension 1401 with radius 3 and 2048 bits +dim_1402,integer,,Morgan count fingeprint dimension 1402 with radius 3 and 2048 bits +dim_1403,integer,,Morgan count fingeprint dimension 1403 with radius 3 and 2048 bits +dim_1404,integer,,Morgan count fingeprint dimension 1404 with radius 3 and 2048 bits +dim_1405,integer,,Morgan count fingeprint dimension 1405 with radius 3 and 2048 bits +dim_1406,integer,,Morgan count fingeprint dimension 1406 with radius 3 and 2048 bits +dim_1407,integer,,Morgan count fingeprint dimension 1407 with radius 3 and 2048 bits +dim_1408,integer,,Morgan count fingeprint dimension 1408 with radius 3 and 2048 bits +dim_1409,integer,,Morgan count fingeprint dimension 1409 with radius 3 and 2048 bits +dim_1410,integer,,Morgan count fingeprint dimension 1410 with radius 3 and 2048 bits +dim_1411,integer,,Morgan count fingeprint dimension 1411 with radius 3 and 2048 bits +dim_1412,integer,,Morgan count fingeprint dimension 1412 with radius 3 and 2048 bits +dim_1413,integer,,Morgan count fingeprint dimension 1413 with radius 3 and 2048 bits +dim_1414,integer,,Morgan count fingeprint dimension 1414 with radius 3 and 2048 bits +dim_1415,integer,,Morgan count fingeprint dimension 1415 with radius 3 and 2048 bits +dim_1416,integer,,Morgan count fingeprint dimension 1416 with radius 3 and 2048 bits +dim_1417,integer,,Morgan count fingeprint dimension 1417 with radius 3 and 2048 bits +dim_1418,integer,,Morgan count fingeprint dimension 1418 with radius 3 and 2048 bits +dim_1419,integer,,Morgan count fingeprint dimension 1419 with radius 3 and 2048 bits +dim_1420,integer,,Morgan count fingeprint dimension 1420 with radius 3 and 2048 bits +dim_1421,integer,,Morgan count fingeprint dimension 1421 with radius 3 and 2048 bits +dim_1422,integer,,Morgan count fingeprint dimension 1422 with radius 3 and 2048 bits +dim_1423,integer,,Morgan count fingeprint dimension 1423 with radius 3 and 2048 bits +dim_1424,integer,,Morgan count fingeprint dimension 1424 with radius 3 and 2048 bits +dim_1425,integer,,Morgan count fingeprint dimension 1425 with radius 3 and 2048 bits +dim_1426,integer,,Morgan count fingeprint dimension 1426 with radius 3 and 2048 bits +dim_1427,integer,,Morgan count fingeprint dimension 1427 with radius 3 and 2048 bits +dim_1428,integer,,Morgan count fingeprint dimension 1428 with radius 3 and 2048 bits +dim_1429,integer,,Morgan count fingeprint dimension 1429 with radius 3 and 2048 bits +dim_1430,integer,,Morgan count fingeprint dimension 1430 with radius 3 and 2048 bits +dim_1431,integer,,Morgan count fingeprint dimension 1431 with radius 3 and 2048 bits +dim_1432,integer,,Morgan count fingeprint dimension 1432 with radius 3 and 2048 bits +dim_1433,integer,,Morgan count fingeprint dimension 1433 with radius 3 and 2048 bits +dim_1434,integer,,Morgan count fingeprint dimension 1434 with radius 3 and 2048 bits +dim_1435,integer,,Morgan count fingeprint dimension 1435 with radius 3 and 2048 bits +dim_1436,integer,,Morgan count fingeprint dimension 1436 with radius 3 and 2048 bits +dim_1437,integer,,Morgan count fingeprint dimension 1437 with radius 3 and 2048 bits +dim_1438,integer,,Morgan count fingeprint dimension 1438 with radius 3 and 2048 bits +dim_1439,integer,,Morgan count fingeprint dimension 1439 with radius 3 and 2048 bits +dim_1440,integer,,Morgan count fingeprint dimension 1440 with radius 3 and 2048 bits +dim_1441,integer,,Morgan count fingeprint dimension 1441 with radius 3 and 2048 bits +dim_1442,integer,,Morgan count fingeprint dimension 1442 with radius 3 and 2048 bits +dim_1443,integer,,Morgan count fingeprint dimension 1443 with radius 3 and 2048 bits +dim_1444,integer,,Morgan count fingeprint dimension 1444 with radius 3 and 2048 bits +dim_1445,integer,,Morgan count fingeprint dimension 1445 with radius 3 and 2048 bits +dim_1446,integer,,Morgan count fingeprint dimension 1446 with radius 3 and 2048 bits +dim_1447,integer,,Morgan count fingeprint dimension 1447 with radius 3 and 2048 bits +dim_1448,integer,,Morgan count fingeprint dimension 1448 with radius 3 and 2048 bits +dim_1449,integer,,Morgan count fingeprint dimension 1449 with radius 3 and 2048 bits +dim_1450,integer,,Morgan count fingeprint dimension 1450 with radius 3 and 2048 bits +dim_1451,integer,,Morgan count fingeprint dimension 1451 with radius 3 and 2048 bits +dim_1452,integer,,Morgan count fingeprint dimension 1452 with radius 3 and 2048 bits +dim_1453,integer,,Morgan count fingeprint dimension 1453 with radius 3 and 2048 bits +dim_1454,integer,,Morgan count fingeprint dimension 1454 with radius 3 and 2048 bits +dim_1455,integer,,Morgan count fingeprint dimension 1455 with radius 3 and 2048 bits +dim_1456,integer,,Morgan count fingeprint dimension 1456 with radius 3 and 2048 bits +dim_1457,integer,,Morgan count fingeprint dimension 1457 with radius 3 and 2048 bits +dim_1458,integer,,Morgan count fingeprint dimension 1458 with radius 3 and 2048 bits +dim_1459,integer,,Morgan count fingeprint dimension 1459 with radius 3 and 2048 bits +dim_1460,integer,,Morgan count fingeprint dimension 1460 with radius 3 and 2048 bits +dim_1461,integer,,Morgan count fingeprint dimension 1461 with radius 3 and 2048 bits +dim_1462,integer,,Morgan count fingeprint dimension 1462 with radius 3 and 2048 bits +dim_1463,integer,,Morgan count fingeprint dimension 1463 with radius 3 and 2048 bits +dim_1464,integer,,Morgan count fingeprint dimension 1464 with radius 3 and 2048 bits +dim_1465,integer,,Morgan count fingeprint dimension 1465 with radius 3 and 2048 bits +dim_1466,integer,,Morgan count fingeprint dimension 1466 with radius 3 and 2048 bits +dim_1467,integer,,Morgan count fingeprint dimension 1467 with radius 3 and 2048 bits +dim_1468,integer,,Morgan count fingeprint dimension 1468 with radius 3 and 2048 bits +dim_1469,integer,,Morgan count fingeprint dimension 1469 with radius 3 and 2048 bits +dim_1470,integer,,Morgan count fingeprint dimension 1470 with radius 3 and 2048 bits +dim_1471,integer,,Morgan count fingeprint dimension 1471 with radius 3 and 2048 bits +dim_1472,integer,,Morgan count fingeprint dimension 1472 with radius 3 and 2048 bits +dim_1473,integer,,Morgan count fingeprint dimension 1473 with radius 3 and 2048 bits +dim_1474,integer,,Morgan count fingeprint dimension 1474 with radius 3 and 2048 bits +dim_1475,integer,,Morgan count fingeprint dimension 1475 with radius 3 and 2048 bits +dim_1476,integer,,Morgan count fingeprint dimension 1476 with radius 3 and 2048 bits +dim_1477,integer,,Morgan count fingeprint dimension 1477 with radius 3 and 2048 bits +dim_1478,integer,,Morgan count fingeprint dimension 1478 with radius 3 and 2048 bits +dim_1479,integer,,Morgan count fingeprint dimension 1479 with radius 3 and 2048 bits +dim_1480,integer,,Morgan count fingeprint dimension 1480 with radius 3 and 2048 bits +dim_1481,integer,,Morgan count fingeprint dimension 1481 with radius 3 and 2048 bits +dim_1482,integer,,Morgan count fingeprint dimension 1482 with radius 3 and 2048 bits +dim_1483,integer,,Morgan count fingeprint dimension 1483 with radius 3 and 2048 bits +dim_1484,integer,,Morgan count fingeprint dimension 1484 with radius 3 and 2048 bits +dim_1485,integer,,Morgan count fingeprint dimension 1485 with radius 3 and 2048 bits +dim_1486,integer,,Morgan count fingeprint dimension 1486 with radius 3 and 2048 bits +dim_1487,integer,,Morgan count fingeprint dimension 1487 with radius 3 and 2048 bits +dim_1488,integer,,Morgan count fingeprint dimension 1488 with radius 3 and 2048 bits +dim_1489,integer,,Morgan count fingeprint dimension 1489 with radius 3 and 2048 bits +dim_1490,integer,,Morgan count fingeprint dimension 1490 with radius 3 and 2048 bits +dim_1491,integer,,Morgan count fingeprint dimension 1491 with radius 3 and 2048 bits +dim_1492,integer,,Morgan count fingeprint dimension 1492 with radius 3 and 2048 bits +dim_1493,integer,,Morgan count fingeprint dimension 1493 with radius 3 and 2048 bits +dim_1494,integer,,Morgan count fingeprint dimension 1494 with radius 3 and 2048 bits +dim_1495,integer,,Morgan count fingeprint dimension 1495 with radius 3 and 2048 bits +dim_1496,integer,,Morgan count fingeprint dimension 1496 with radius 3 and 2048 bits +dim_1497,integer,,Morgan count fingeprint dimension 1497 with radius 3 and 2048 bits +dim_1498,integer,,Morgan count fingeprint dimension 1498 with radius 3 and 2048 bits +dim_1499,integer,,Morgan count fingeprint dimension 1499 with radius 3 and 2048 bits +dim_1500,integer,,Morgan count fingeprint dimension 1500 with radius 3 and 2048 bits +dim_1501,integer,,Morgan count fingeprint dimension 1501 with radius 3 and 2048 bits +dim_1502,integer,,Morgan count fingeprint dimension 1502 with radius 3 and 2048 bits +dim_1503,integer,,Morgan count fingeprint dimension 1503 with radius 3 and 2048 bits +dim_1504,integer,,Morgan count fingeprint dimension 1504 with radius 3 and 2048 bits +dim_1505,integer,,Morgan count fingeprint dimension 1505 with radius 3 and 2048 bits +dim_1506,integer,,Morgan count fingeprint dimension 1506 with radius 3 and 2048 bits +dim_1507,integer,,Morgan count fingeprint dimension 1507 with radius 3 and 2048 bits +dim_1508,integer,,Morgan count fingeprint dimension 1508 with radius 3 and 2048 bits +dim_1509,integer,,Morgan count fingeprint dimension 1509 with radius 3 and 2048 bits +dim_1510,integer,,Morgan count fingeprint dimension 1510 with radius 3 and 2048 bits +dim_1511,integer,,Morgan count fingeprint dimension 1511 with radius 3 and 2048 bits +dim_1512,integer,,Morgan count fingeprint dimension 1512 with radius 3 and 2048 bits +dim_1513,integer,,Morgan count fingeprint dimension 1513 with radius 3 and 2048 bits +dim_1514,integer,,Morgan count fingeprint dimension 1514 with radius 3 and 2048 bits +dim_1515,integer,,Morgan count fingeprint dimension 1515 with radius 3 and 2048 bits +dim_1516,integer,,Morgan count fingeprint dimension 1516 with radius 3 and 2048 bits +dim_1517,integer,,Morgan count fingeprint dimension 1517 with radius 3 and 2048 bits +dim_1518,integer,,Morgan count fingeprint dimension 1518 with radius 3 and 2048 bits +dim_1519,integer,,Morgan count fingeprint dimension 1519 with radius 3 and 2048 bits +dim_1520,integer,,Morgan count fingeprint dimension 1520 with radius 3 and 2048 bits +dim_1521,integer,,Morgan count fingeprint dimension 1521 with radius 3 and 2048 bits +dim_1522,integer,,Morgan count fingeprint dimension 1522 with radius 3 and 2048 bits +dim_1523,integer,,Morgan count fingeprint dimension 1523 with radius 3 and 2048 bits +dim_1524,integer,,Morgan count fingeprint dimension 1524 with radius 3 and 2048 bits +dim_1525,integer,,Morgan count fingeprint dimension 1525 with radius 3 and 2048 bits +dim_1526,integer,,Morgan count fingeprint dimension 1526 with radius 3 and 2048 bits +dim_1527,integer,,Morgan count fingeprint dimension 1527 with radius 3 and 2048 bits +dim_1528,integer,,Morgan count fingeprint dimension 1528 with radius 3 and 2048 bits +dim_1529,integer,,Morgan count fingeprint dimension 1529 with radius 3 and 2048 bits +dim_1530,integer,,Morgan count fingeprint dimension 1530 with radius 3 and 2048 bits +dim_1531,integer,,Morgan count fingeprint dimension 1531 with radius 3 and 2048 bits +dim_1532,integer,,Morgan count fingeprint dimension 1532 with radius 3 and 2048 bits +dim_1533,integer,,Morgan count fingeprint dimension 1533 with radius 3 and 2048 bits +dim_1534,integer,,Morgan count fingeprint dimension 1534 with radius 3 and 2048 bits +dim_1535,integer,,Morgan count fingeprint dimension 1535 with radius 3 and 2048 bits +dim_1536,integer,,Morgan count fingeprint dimension 1536 with radius 3 and 2048 bits +dim_1537,integer,,Morgan count fingeprint dimension 1537 with radius 3 and 2048 bits +dim_1538,integer,,Morgan count fingeprint dimension 1538 with radius 3 and 2048 bits +dim_1539,integer,,Morgan count fingeprint dimension 1539 with radius 3 and 2048 bits +dim_1540,integer,,Morgan count fingeprint dimension 1540 with radius 3 and 2048 bits +dim_1541,integer,,Morgan count fingeprint dimension 1541 with radius 3 and 2048 bits +dim_1542,integer,,Morgan count fingeprint dimension 1542 with radius 3 and 2048 bits +dim_1543,integer,,Morgan count fingeprint dimension 1543 with radius 3 and 2048 bits +dim_1544,integer,,Morgan count fingeprint dimension 1544 with radius 3 and 2048 bits +dim_1545,integer,,Morgan count fingeprint dimension 1545 with radius 3 and 2048 bits +dim_1546,integer,,Morgan count fingeprint dimension 1546 with radius 3 and 2048 bits +dim_1547,integer,,Morgan count fingeprint dimension 1547 with radius 3 and 2048 bits +dim_1548,integer,,Morgan count fingeprint dimension 1548 with radius 3 and 2048 bits +dim_1549,integer,,Morgan count fingeprint dimension 1549 with radius 3 and 2048 bits +dim_1550,integer,,Morgan count fingeprint dimension 1550 with radius 3 and 2048 bits +dim_1551,integer,,Morgan count fingeprint dimension 1551 with radius 3 and 2048 bits +dim_1552,integer,,Morgan count fingeprint dimension 1552 with radius 3 and 2048 bits +dim_1553,integer,,Morgan count fingeprint dimension 1553 with radius 3 and 2048 bits +dim_1554,integer,,Morgan count fingeprint dimension 1554 with radius 3 and 2048 bits +dim_1555,integer,,Morgan count fingeprint dimension 1555 with radius 3 and 2048 bits +dim_1556,integer,,Morgan count fingeprint dimension 1556 with radius 3 and 2048 bits +dim_1557,integer,,Morgan count fingeprint dimension 1557 with radius 3 and 2048 bits +dim_1558,integer,,Morgan count fingeprint dimension 1558 with radius 3 and 2048 bits +dim_1559,integer,,Morgan count fingeprint dimension 1559 with radius 3 and 2048 bits +dim_1560,integer,,Morgan count fingeprint dimension 1560 with radius 3 and 2048 bits +dim_1561,integer,,Morgan count fingeprint dimension 1561 with radius 3 and 2048 bits +dim_1562,integer,,Morgan count fingeprint dimension 1562 with radius 3 and 2048 bits +dim_1563,integer,,Morgan count fingeprint dimension 1563 with radius 3 and 2048 bits +dim_1564,integer,,Morgan count fingeprint dimension 1564 with radius 3 and 2048 bits +dim_1565,integer,,Morgan count fingeprint dimension 1565 with radius 3 and 2048 bits +dim_1566,integer,,Morgan count fingeprint dimension 1566 with radius 3 and 2048 bits +dim_1567,integer,,Morgan count fingeprint dimension 1567 with radius 3 and 2048 bits +dim_1568,integer,,Morgan count fingeprint dimension 1568 with radius 3 and 2048 bits +dim_1569,integer,,Morgan count fingeprint dimension 1569 with radius 3 and 2048 bits +dim_1570,integer,,Morgan count fingeprint dimension 1570 with radius 3 and 2048 bits +dim_1571,integer,,Morgan count fingeprint dimension 1571 with radius 3 and 2048 bits +dim_1572,integer,,Morgan count fingeprint dimension 1572 with radius 3 and 2048 bits +dim_1573,integer,,Morgan count fingeprint dimension 1573 with radius 3 and 2048 bits +dim_1574,integer,,Morgan count fingeprint dimension 1574 with radius 3 and 2048 bits +dim_1575,integer,,Morgan count fingeprint dimension 1575 with radius 3 and 2048 bits +dim_1576,integer,,Morgan count fingeprint dimension 1576 with radius 3 and 2048 bits +dim_1577,integer,,Morgan count fingeprint dimension 1577 with radius 3 and 2048 bits +dim_1578,integer,,Morgan count fingeprint dimension 1578 with radius 3 and 2048 bits +dim_1579,integer,,Morgan count fingeprint dimension 1579 with radius 3 and 2048 bits +dim_1580,integer,,Morgan count fingeprint dimension 1580 with radius 3 and 2048 bits +dim_1581,integer,,Morgan count fingeprint dimension 1581 with radius 3 and 2048 bits +dim_1582,integer,,Morgan count fingeprint dimension 1582 with radius 3 and 2048 bits +dim_1583,integer,,Morgan count fingeprint dimension 1583 with radius 3 and 2048 bits +dim_1584,integer,,Morgan count fingeprint dimension 1584 with radius 3 and 2048 bits +dim_1585,integer,,Morgan count fingeprint dimension 1585 with radius 3 and 2048 bits +dim_1586,integer,,Morgan count fingeprint dimension 1586 with radius 3 and 2048 bits +dim_1587,integer,,Morgan count fingeprint dimension 1587 with radius 3 and 2048 bits +dim_1588,integer,,Morgan count fingeprint dimension 1588 with radius 3 and 2048 bits +dim_1589,integer,,Morgan count fingeprint dimension 1589 with radius 3 and 2048 bits +dim_1590,integer,,Morgan count fingeprint dimension 1590 with radius 3 and 2048 bits +dim_1591,integer,,Morgan count fingeprint dimension 1591 with radius 3 and 2048 bits +dim_1592,integer,,Morgan count fingeprint dimension 1592 with radius 3 and 2048 bits +dim_1593,integer,,Morgan count fingeprint dimension 1593 with radius 3 and 2048 bits +dim_1594,integer,,Morgan count fingeprint dimension 1594 with radius 3 and 2048 bits +dim_1595,integer,,Morgan count fingeprint dimension 1595 with radius 3 and 2048 bits +dim_1596,integer,,Morgan count fingeprint dimension 1596 with radius 3 and 2048 bits +dim_1597,integer,,Morgan count fingeprint dimension 1597 with radius 3 and 2048 bits +dim_1598,integer,,Morgan count fingeprint dimension 1598 with radius 3 and 2048 bits +dim_1599,integer,,Morgan count fingeprint dimension 1599 with radius 3 and 2048 bits +dim_1600,integer,,Morgan count fingeprint dimension 1600 with radius 3 and 2048 bits +dim_1601,integer,,Morgan count fingeprint dimension 1601 with radius 3 and 2048 bits +dim_1602,integer,,Morgan count fingeprint dimension 1602 with radius 3 and 2048 bits +dim_1603,integer,,Morgan count fingeprint dimension 1603 with radius 3 and 2048 bits +dim_1604,integer,,Morgan count fingeprint dimension 1604 with radius 3 and 2048 bits +dim_1605,integer,,Morgan count fingeprint dimension 1605 with radius 3 and 2048 bits +dim_1606,integer,,Morgan count fingeprint dimension 1606 with radius 3 and 2048 bits +dim_1607,integer,,Morgan count fingeprint dimension 1607 with radius 3 and 2048 bits +dim_1608,integer,,Morgan count fingeprint dimension 1608 with radius 3 and 2048 bits +dim_1609,integer,,Morgan count fingeprint dimension 1609 with radius 3 and 2048 bits +dim_1610,integer,,Morgan count fingeprint dimension 1610 with radius 3 and 2048 bits +dim_1611,integer,,Morgan count fingeprint dimension 1611 with radius 3 and 2048 bits +dim_1612,integer,,Morgan count fingeprint dimension 1612 with radius 3 and 2048 bits +dim_1613,integer,,Morgan count fingeprint dimension 1613 with radius 3 and 2048 bits +dim_1614,integer,,Morgan count fingeprint dimension 1614 with radius 3 and 2048 bits +dim_1615,integer,,Morgan count fingeprint dimension 1615 with radius 3 and 2048 bits +dim_1616,integer,,Morgan count fingeprint dimension 1616 with radius 3 and 2048 bits +dim_1617,integer,,Morgan count fingeprint dimension 1617 with radius 3 and 2048 bits +dim_1618,integer,,Morgan count fingeprint dimension 1618 with radius 3 and 2048 bits +dim_1619,integer,,Morgan count fingeprint dimension 1619 with radius 3 and 2048 bits +dim_1620,integer,,Morgan count fingeprint dimension 1620 with radius 3 and 2048 bits +dim_1621,integer,,Morgan count fingeprint dimension 1621 with radius 3 and 2048 bits +dim_1622,integer,,Morgan count fingeprint dimension 1622 with radius 3 and 2048 bits +dim_1623,integer,,Morgan count fingeprint dimension 1623 with radius 3 and 2048 bits +dim_1624,integer,,Morgan count fingeprint dimension 1624 with radius 3 and 2048 bits +dim_1625,integer,,Morgan count fingeprint dimension 1625 with radius 3 and 2048 bits +dim_1626,integer,,Morgan count fingeprint dimension 1626 with radius 3 and 2048 bits +dim_1627,integer,,Morgan count fingeprint dimension 1627 with radius 3 and 2048 bits +dim_1628,integer,,Morgan count fingeprint dimension 1628 with radius 3 and 2048 bits +dim_1629,integer,,Morgan count fingeprint dimension 1629 with radius 3 and 2048 bits +dim_1630,integer,,Morgan count fingeprint dimension 1630 with radius 3 and 2048 bits +dim_1631,integer,,Morgan count fingeprint dimension 1631 with radius 3 and 2048 bits +dim_1632,integer,,Morgan count fingeprint dimension 1632 with radius 3 and 2048 bits +dim_1633,integer,,Morgan count fingeprint dimension 1633 with radius 3 and 2048 bits +dim_1634,integer,,Morgan count fingeprint dimension 1634 with radius 3 and 2048 bits +dim_1635,integer,,Morgan count fingeprint dimension 1635 with radius 3 and 2048 bits +dim_1636,integer,,Morgan count fingeprint dimension 1636 with radius 3 and 2048 bits +dim_1637,integer,,Morgan count fingeprint dimension 1637 with radius 3 and 2048 bits +dim_1638,integer,,Morgan count fingeprint dimension 1638 with radius 3 and 2048 bits +dim_1639,integer,,Morgan count fingeprint dimension 1639 with radius 3 and 2048 bits +dim_1640,integer,,Morgan count fingeprint dimension 1640 with radius 3 and 2048 bits +dim_1641,integer,,Morgan count fingeprint dimension 1641 with radius 3 and 2048 bits +dim_1642,integer,,Morgan count fingeprint dimension 1642 with radius 3 and 2048 bits +dim_1643,integer,,Morgan count fingeprint dimension 1643 with radius 3 and 2048 bits +dim_1644,integer,,Morgan count fingeprint dimension 1644 with radius 3 and 2048 bits +dim_1645,integer,,Morgan count fingeprint dimension 1645 with radius 3 and 2048 bits +dim_1646,integer,,Morgan count fingeprint dimension 1646 with radius 3 and 2048 bits +dim_1647,integer,,Morgan count fingeprint dimension 1647 with radius 3 and 2048 bits +dim_1648,integer,,Morgan count fingeprint dimension 1648 with radius 3 and 2048 bits +dim_1649,integer,,Morgan count fingeprint dimension 1649 with radius 3 and 2048 bits +dim_1650,integer,,Morgan count fingeprint dimension 1650 with radius 3 and 2048 bits +dim_1651,integer,,Morgan count fingeprint dimension 1651 with radius 3 and 2048 bits +dim_1652,integer,,Morgan count fingeprint dimension 1652 with radius 3 and 2048 bits +dim_1653,integer,,Morgan count fingeprint dimension 1653 with radius 3 and 2048 bits +dim_1654,integer,,Morgan count fingeprint dimension 1654 with radius 3 and 2048 bits +dim_1655,integer,,Morgan count fingeprint dimension 1655 with radius 3 and 2048 bits +dim_1656,integer,,Morgan count fingeprint dimension 1656 with radius 3 and 2048 bits +dim_1657,integer,,Morgan count fingeprint dimension 1657 with radius 3 and 2048 bits +dim_1658,integer,,Morgan count fingeprint dimension 1658 with radius 3 and 2048 bits +dim_1659,integer,,Morgan count fingeprint dimension 1659 with radius 3 and 2048 bits +dim_1660,integer,,Morgan count fingeprint dimension 1660 with radius 3 and 2048 bits +dim_1661,integer,,Morgan count fingeprint dimension 1661 with radius 3 and 2048 bits +dim_1662,integer,,Morgan count fingeprint dimension 1662 with radius 3 and 2048 bits +dim_1663,integer,,Morgan count fingeprint dimension 1663 with radius 3 and 2048 bits +dim_1664,integer,,Morgan count fingeprint dimension 1664 with radius 3 and 2048 bits +dim_1665,integer,,Morgan count fingeprint dimension 1665 with radius 3 and 2048 bits +dim_1666,integer,,Morgan count fingeprint dimension 1666 with radius 3 and 2048 bits +dim_1667,integer,,Morgan count fingeprint dimension 1667 with radius 3 and 2048 bits +dim_1668,integer,,Morgan count fingeprint dimension 1668 with radius 3 and 2048 bits +dim_1669,integer,,Morgan count fingeprint dimension 1669 with radius 3 and 2048 bits +dim_1670,integer,,Morgan count fingeprint dimension 1670 with radius 3 and 2048 bits +dim_1671,integer,,Morgan count fingeprint dimension 1671 with radius 3 and 2048 bits +dim_1672,integer,,Morgan count fingeprint dimension 1672 with radius 3 and 2048 bits +dim_1673,integer,,Morgan count fingeprint dimension 1673 with radius 3 and 2048 bits +dim_1674,integer,,Morgan count fingeprint dimension 1674 with radius 3 and 2048 bits +dim_1675,integer,,Morgan count fingeprint dimension 1675 with radius 3 and 2048 bits +dim_1676,integer,,Morgan count fingeprint dimension 1676 with radius 3 and 2048 bits +dim_1677,integer,,Morgan count fingeprint dimension 1677 with radius 3 and 2048 bits +dim_1678,integer,,Morgan count fingeprint dimension 1678 with radius 3 and 2048 bits +dim_1679,integer,,Morgan count fingeprint dimension 1679 with radius 3 and 2048 bits +dim_1680,integer,,Morgan count fingeprint dimension 1680 with radius 3 and 2048 bits +dim_1681,integer,,Morgan count fingeprint dimension 1681 with radius 3 and 2048 bits +dim_1682,integer,,Morgan count fingeprint dimension 1682 with radius 3 and 2048 bits +dim_1683,integer,,Morgan count fingeprint dimension 1683 with radius 3 and 2048 bits +dim_1684,integer,,Morgan count fingeprint dimension 1684 with radius 3 and 2048 bits +dim_1685,integer,,Morgan count fingeprint dimension 1685 with radius 3 and 2048 bits +dim_1686,integer,,Morgan count fingeprint dimension 1686 with radius 3 and 2048 bits +dim_1687,integer,,Morgan count fingeprint dimension 1687 with radius 3 and 2048 bits +dim_1688,integer,,Morgan count fingeprint dimension 1688 with radius 3 and 2048 bits +dim_1689,integer,,Morgan count fingeprint dimension 1689 with radius 3 and 2048 bits +dim_1690,integer,,Morgan count fingeprint dimension 1690 with radius 3 and 2048 bits +dim_1691,integer,,Morgan count fingeprint dimension 1691 with radius 3 and 2048 bits +dim_1692,integer,,Morgan count fingeprint dimension 1692 with radius 3 and 2048 bits +dim_1693,integer,,Morgan count fingeprint dimension 1693 with radius 3 and 2048 bits +dim_1694,integer,,Morgan count fingeprint dimension 1694 with radius 3 and 2048 bits +dim_1695,integer,,Morgan count fingeprint dimension 1695 with radius 3 and 2048 bits +dim_1696,integer,,Morgan count fingeprint dimension 1696 with radius 3 and 2048 bits +dim_1697,integer,,Morgan count fingeprint dimension 1697 with radius 3 and 2048 bits +dim_1698,integer,,Morgan count fingeprint dimension 1698 with radius 3 and 2048 bits +dim_1699,integer,,Morgan count fingeprint dimension 1699 with radius 3 and 2048 bits +dim_1700,integer,,Morgan count fingeprint dimension 1700 with radius 3 and 2048 bits +dim_1701,integer,,Morgan count fingeprint dimension 1701 with radius 3 and 2048 bits +dim_1702,integer,,Morgan count fingeprint dimension 1702 with radius 3 and 2048 bits +dim_1703,integer,,Morgan count fingeprint dimension 1703 with radius 3 and 2048 bits +dim_1704,integer,,Morgan count fingeprint dimension 1704 with radius 3 and 2048 bits +dim_1705,integer,,Morgan count fingeprint dimension 1705 with radius 3 and 2048 bits +dim_1706,integer,,Morgan count fingeprint dimension 1706 with radius 3 and 2048 bits +dim_1707,integer,,Morgan count fingeprint dimension 1707 with radius 3 and 2048 bits +dim_1708,integer,,Morgan count fingeprint dimension 1708 with radius 3 and 2048 bits +dim_1709,integer,,Morgan count fingeprint dimension 1709 with radius 3 and 2048 bits +dim_1710,integer,,Morgan count fingeprint dimension 1710 with radius 3 and 2048 bits +dim_1711,integer,,Morgan count fingeprint dimension 1711 with radius 3 and 2048 bits +dim_1712,integer,,Morgan count fingeprint dimension 1712 with radius 3 and 2048 bits +dim_1713,integer,,Morgan count fingeprint dimension 1713 with radius 3 and 2048 bits +dim_1714,integer,,Morgan count fingeprint dimension 1714 with radius 3 and 2048 bits +dim_1715,integer,,Morgan count fingeprint dimension 1715 with radius 3 and 2048 bits +dim_1716,integer,,Morgan count fingeprint dimension 1716 with radius 3 and 2048 bits +dim_1717,integer,,Morgan count fingeprint dimension 1717 with radius 3 and 2048 bits +dim_1718,integer,,Morgan count fingeprint dimension 1718 with radius 3 and 2048 bits +dim_1719,integer,,Morgan count fingeprint dimension 1719 with radius 3 and 2048 bits +dim_1720,integer,,Morgan count fingeprint dimension 1720 with radius 3 and 2048 bits +dim_1721,integer,,Morgan count fingeprint dimension 1721 with radius 3 and 2048 bits +dim_1722,integer,,Morgan count fingeprint dimension 1722 with radius 3 and 2048 bits +dim_1723,integer,,Morgan count fingeprint dimension 1723 with radius 3 and 2048 bits +dim_1724,integer,,Morgan count fingeprint dimension 1724 with radius 3 and 2048 bits +dim_1725,integer,,Morgan count fingeprint dimension 1725 with radius 3 and 2048 bits +dim_1726,integer,,Morgan count fingeprint dimension 1726 with radius 3 and 2048 bits +dim_1727,integer,,Morgan count fingeprint dimension 1727 with radius 3 and 2048 bits +dim_1728,integer,,Morgan count fingeprint dimension 1728 with radius 3 and 2048 bits +dim_1729,integer,,Morgan count fingeprint dimension 1729 with radius 3 and 2048 bits +dim_1730,integer,,Morgan count fingeprint dimension 1730 with radius 3 and 2048 bits +dim_1731,integer,,Morgan count fingeprint dimension 1731 with radius 3 and 2048 bits +dim_1732,integer,,Morgan count fingeprint dimension 1732 with radius 3 and 2048 bits +dim_1733,integer,,Morgan count fingeprint dimension 1733 with radius 3 and 2048 bits +dim_1734,integer,,Morgan count fingeprint dimension 1734 with radius 3 and 2048 bits +dim_1735,integer,,Morgan count fingeprint dimension 1735 with radius 3 and 2048 bits +dim_1736,integer,,Morgan count fingeprint dimension 1736 with radius 3 and 2048 bits +dim_1737,integer,,Morgan count fingeprint dimension 1737 with radius 3 and 2048 bits +dim_1738,integer,,Morgan count fingeprint dimension 1738 with radius 3 and 2048 bits +dim_1739,integer,,Morgan count fingeprint dimension 1739 with radius 3 and 2048 bits +dim_1740,integer,,Morgan count fingeprint dimension 1740 with radius 3 and 2048 bits +dim_1741,integer,,Morgan count fingeprint dimension 1741 with radius 3 and 2048 bits +dim_1742,integer,,Morgan count fingeprint dimension 1742 with radius 3 and 2048 bits +dim_1743,integer,,Morgan count fingeprint dimension 1743 with radius 3 and 2048 bits +dim_1744,integer,,Morgan count fingeprint dimension 1744 with radius 3 and 2048 bits +dim_1745,integer,,Morgan count fingeprint dimension 1745 with radius 3 and 2048 bits +dim_1746,integer,,Morgan count fingeprint dimension 1746 with radius 3 and 2048 bits +dim_1747,integer,,Morgan count fingeprint dimension 1747 with radius 3 and 2048 bits +dim_1748,integer,,Morgan count fingeprint dimension 1748 with radius 3 and 2048 bits +dim_1749,integer,,Morgan count fingeprint dimension 1749 with radius 3 and 2048 bits +dim_1750,integer,,Morgan count fingeprint dimension 1750 with radius 3 and 2048 bits +dim_1751,integer,,Morgan count fingeprint dimension 1751 with radius 3 and 2048 bits +dim_1752,integer,,Morgan count fingeprint dimension 1752 with radius 3 and 2048 bits +dim_1753,integer,,Morgan count fingeprint dimension 1753 with radius 3 and 2048 bits +dim_1754,integer,,Morgan count fingeprint dimension 1754 with radius 3 and 2048 bits +dim_1755,integer,,Morgan count fingeprint dimension 1755 with radius 3 and 2048 bits +dim_1756,integer,,Morgan count fingeprint dimension 1756 with radius 3 and 2048 bits +dim_1757,integer,,Morgan count fingeprint dimension 1757 with radius 3 and 2048 bits +dim_1758,integer,,Morgan count fingeprint dimension 1758 with radius 3 and 2048 bits +dim_1759,integer,,Morgan count fingeprint dimension 1759 with radius 3 and 2048 bits +dim_1760,integer,,Morgan count fingeprint dimension 1760 with radius 3 and 2048 bits +dim_1761,integer,,Morgan count fingeprint dimension 1761 with radius 3 and 2048 bits +dim_1762,integer,,Morgan count fingeprint dimension 1762 with radius 3 and 2048 bits +dim_1763,integer,,Morgan count fingeprint dimension 1763 with radius 3 and 2048 bits +dim_1764,integer,,Morgan count fingeprint dimension 1764 with radius 3 and 2048 bits +dim_1765,integer,,Morgan count fingeprint dimension 1765 with radius 3 and 2048 bits +dim_1766,integer,,Morgan count fingeprint dimension 1766 with radius 3 and 2048 bits +dim_1767,integer,,Morgan count fingeprint dimension 1767 with radius 3 and 2048 bits +dim_1768,integer,,Morgan count fingeprint dimension 1768 with radius 3 and 2048 bits +dim_1769,integer,,Morgan count fingeprint dimension 1769 with radius 3 and 2048 bits +dim_1770,integer,,Morgan count fingeprint dimension 1770 with radius 3 and 2048 bits +dim_1771,integer,,Morgan count fingeprint dimension 1771 with radius 3 and 2048 bits +dim_1772,integer,,Morgan count fingeprint dimension 1772 with radius 3 and 2048 bits +dim_1773,integer,,Morgan count fingeprint dimension 1773 with radius 3 and 2048 bits +dim_1774,integer,,Morgan count fingeprint dimension 1774 with radius 3 and 2048 bits +dim_1775,integer,,Morgan count fingeprint dimension 1775 with radius 3 and 2048 bits +dim_1776,integer,,Morgan count fingeprint dimension 1776 with radius 3 and 2048 bits +dim_1777,integer,,Morgan count fingeprint dimension 1777 with radius 3 and 2048 bits +dim_1778,integer,,Morgan count fingeprint dimension 1778 with radius 3 and 2048 bits +dim_1779,integer,,Morgan count fingeprint dimension 1779 with radius 3 and 2048 bits +dim_1780,integer,,Morgan count fingeprint dimension 1780 with radius 3 and 2048 bits +dim_1781,integer,,Morgan count fingeprint dimension 1781 with radius 3 and 2048 bits +dim_1782,integer,,Morgan count fingeprint dimension 1782 with radius 3 and 2048 bits +dim_1783,integer,,Morgan count fingeprint dimension 1783 with radius 3 and 2048 bits +dim_1784,integer,,Morgan count fingeprint dimension 1784 with radius 3 and 2048 bits +dim_1785,integer,,Morgan count fingeprint dimension 1785 with radius 3 and 2048 bits +dim_1786,integer,,Morgan count fingeprint dimension 1786 with radius 3 and 2048 bits +dim_1787,integer,,Morgan count fingeprint dimension 1787 with radius 3 and 2048 bits +dim_1788,integer,,Morgan count fingeprint dimension 1788 with radius 3 and 2048 bits +dim_1789,integer,,Morgan count fingeprint dimension 1789 with radius 3 and 2048 bits +dim_1790,integer,,Morgan count fingeprint dimension 1790 with radius 3 and 2048 bits +dim_1791,integer,,Morgan count fingeprint dimension 1791 with radius 3 and 2048 bits +dim_1792,integer,,Morgan count fingeprint dimension 1792 with radius 3 and 2048 bits +dim_1793,integer,,Morgan count fingeprint dimension 1793 with radius 3 and 2048 bits +dim_1794,integer,,Morgan count fingeprint dimension 1794 with radius 3 and 2048 bits +dim_1795,integer,,Morgan count fingeprint dimension 1795 with radius 3 and 2048 bits +dim_1796,integer,,Morgan count fingeprint dimension 1796 with radius 3 and 2048 bits +dim_1797,integer,,Morgan count fingeprint dimension 1797 with radius 3 and 2048 bits +dim_1798,integer,,Morgan count fingeprint dimension 1798 with radius 3 and 2048 bits +dim_1799,integer,,Morgan count fingeprint dimension 1799 with radius 3 and 2048 bits +dim_1800,integer,,Morgan count fingeprint dimension 1800 with radius 3 and 2048 bits +dim_1801,integer,,Morgan count fingeprint dimension 1801 with radius 3 and 2048 bits +dim_1802,integer,,Morgan count fingeprint dimension 1802 with radius 3 and 2048 bits +dim_1803,integer,,Morgan count fingeprint dimension 1803 with radius 3 and 2048 bits +dim_1804,integer,,Morgan count fingeprint dimension 1804 with radius 3 and 2048 bits +dim_1805,integer,,Morgan count fingeprint dimension 1805 with radius 3 and 2048 bits +dim_1806,integer,,Morgan count fingeprint dimension 1806 with radius 3 and 2048 bits +dim_1807,integer,,Morgan count fingeprint dimension 1807 with radius 3 and 2048 bits +dim_1808,integer,,Morgan count fingeprint dimension 1808 with radius 3 and 2048 bits +dim_1809,integer,,Morgan count fingeprint dimension 1809 with radius 3 and 2048 bits +dim_1810,integer,,Morgan count fingeprint dimension 1810 with radius 3 and 2048 bits +dim_1811,integer,,Morgan count fingeprint dimension 1811 with radius 3 and 2048 bits +dim_1812,integer,,Morgan count fingeprint dimension 1812 with radius 3 and 2048 bits +dim_1813,integer,,Morgan count fingeprint dimension 1813 with radius 3 and 2048 bits +dim_1814,integer,,Morgan count fingeprint dimension 1814 with radius 3 and 2048 bits +dim_1815,integer,,Morgan count fingeprint dimension 1815 with radius 3 and 2048 bits +dim_1816,integer,,Morgan count fingeprint dimension 1816 with radius 3 and 2048 bits +dim_1817,integer,,Morgan count fingeprint dimension 1817 with radius 3 and 2048 bits +dim_1818,integer,,Morgan count fingeprint dimension 1818 with radius 3 and 2048 bits +dim_1819,integer,,Morgan count fingeprint dimension 1819 with radius 3 and 2048 bits +dim_1820,integer,,Morgan count fingeprint dimension 1820 with radius 3 and 2048 bits +dim_1821,integer,,Morgan count fingeprint dimension 1821 with radius 3 and 2048 bits +dim_1822,integer,,Morgan count fingeprint dimension 1822 with radius 3 and 2048 bits +dim_1823,integer,,Morgan count fingeprint dimension 1823 with radius 3 and 2048 bits +dim_1824,integer,,Morgan count fingeprint dimension 1824 with radius 3 and 2048 bits +dim_1825,integer,,Morgan count fingeprint dimension 1825 with radius 3 and 2048 bits +dim_1826,integer,,Morgan count fingeprint dimension 1826 with radius 3 and 2048 bits +dim_1827,integer,,Morgan count fingeprint dimension 1827 with radius 3 and 2048 bits +dim_1828,integer,,Morgan count fingeprint dimension 1828 with radius 3 and 2048 bits +dim_1829,integer,,Morgan count fingeprint dimension 1829 with radius 3 and 2048 bits +dim_1830,integer,,Morgan count fingeprint dimension 1830 with radius 3 and 2048 bits +dim_1831,integer,,Morgan count fingeprint dimension 1831 with radius 3 and 2048 bits +dim_1832,integer,,Morgan count fingeprint dimension 1832 with radius 3 and 2048 bits +dim_1833,integer,,Morgan count fingeprint dimension 1833 with radius 3 and 2048 bits +dim_1834,integer,,Morgan count fingeprint dimension 1834 with radius 3 and 2048 bits +dim_1835,integer,,Morgan count fingeprint dimension 1835 with radius 3 and 2048 bits +dim_1836,integer,,Morgan count fingeprint dimension 1836 with radius 3 and 2048 bits +dim_1837,integer,,Morgan count fingeprint dimension 1837 with radius 3 and 2048 bits +dim_1838,integer,,Morgan count fingeprint dimension 1838 with radius 3 and 2048 bits +dim_1839,integer,,Morgan count fingeprint dimension 1839 with radius 3 and 2048 bits +dim_1840,integer,,Morgan count fingeprint dimension 1840 with radius 3 and 2048 bits +dim_1841,integer,,Morgan count fingeprint dimension 1841 with radius 3 and 2048 bits +dim_1842,integer,,Morgan count fingeprint dimension 1842 with radius 3 and 2048 bits +dim_1843,integer,,Morgan count fingeprint dimension 1843 with radius 3 and 2048 bits +dim_1844,integer,,Morgan count fingeprint dimension 1844 with radius 3 and 2048 bits +dim_1845,integer,,Morgan count fingeprint dimension 1845 with radius 3 and 2048 bits +dim_1846,integer,,Morgan count fingeprint dimension 1846 with radius 3 and 2048 bits +dim_1847,integer,,Morgan count fingeprint dimension 1847 with radius 3 and 2048 bits +dim_1848,integer,,Morgan count fingeprint dimension 1848 with radius 3 and 2048 bits +dim_1849,integer,,Morgan count fingeprint dimension 1849 with radius 3 and 2048 bits +dim_1850,integer,,Morgan count fingeprint dimension 1850 with radius 3 and 2048 bits +dim_1851,integer,,Morgan count fingeprint dimension 1851 with radius 3 and 2048 bits +dim_1852,integer,,Morgan count fingeprint dimension 1852 with radius 3 and 2048 bits +dim_1853,integer,,Morgan count fingeprint dimension 1853 with radius 3 and 2048 bits +dim_1854,integer,,Morgan count fingeprint dimension 1854 with radius 3 and 2048 bits +dim_1855,integer,,Morgan count fingeprint dimension 1855 with radius 3 and 2048 bits +dim_1856,integer,,Morgan count fingeprint dimension 1856 with radius 3 and 2048 bits +dim_1857,integer,,Morgan count fingeprint dimension 1857 with radius 3 and 2048 bits +dim_1858,integer,,Morgan count fingeprint dimension 1858 with radius 3 and 2048 bits +dim_1859,integer,,Morgan count fingeprint dimension 1859 with radius 3 and 2048 bits +dim_1860,integer,,Morgan count fingeprint dimension 1860 with radius 3 and 2048 bits +dim_1861,integer,,Morgan count fingeprint dimension 1861 with radius 3 and 2048 bits +dim_1862,integer,,Morgan count fingeprint dimension 1862 with radius 3 and 2048 bits +dim_1863,integer,,Morgan count fingeprint dimension 1863 with radius 3 and 2048 bits +dim_1864,integer,,Morgan count fingeprint dimension 1864 with radius 3 and 2048 bits +dim_1865,integer,,Morgan count fingeprint dimension 1865 with radius 3 and 2048 bits +dim_1866,integer,,Morgan count fingeprint dimension 1866 with radius 3 and 2048 bits +dim_1867,integer,,Morgan count fingeprint dimension 1867 with radius 3 and 2048 bits +dim_1868,integer,,Morgan count fingeprint dimension 1868 with radius 3 and 2048 bits +dim_1869,integer,,Morgan count fingeprint dimension 1869 with radius 3 and 2048 bits +dim_1870,integer,,Morgan count fingeprint dimension 1870 with radius 3 and 2048 bits +dim_1871,integer,,Morgan count fingeprint dimension 1871 with radius 3 and 2048 bits +dim_1872,integer,,Morgan count fingeprint dimension 1872 with radius 3 and 2048 bits +dim_1873,integer,,Morgan count fingeprint dimension 1873 with radius 3 and 2048 bits +dim_1874,integer,,Morgan count fingeprint dimension 1874 with radius 3 and 2048 bits +dim_1875,integer,,Morgan count fingeprint dimension 1875 with radius 3 and 2048 bits +dim_1876,integer,,Morgan count fingeprint dimension 1876 with radius 3 and 2048 bits +dim_1877,integer,,Morgan count fingeprint dimension 1877 with radius 3 and 2048 bits +dim_1878,integer,,Morgan count fingeprint dimension 1878 with radius 3 and 2048 bits +dim_1879,integer,,Morgan count fingeprint dimension 1879 with radius 3 and 2048 bits +dim_1880,integer,,Morgan count fingeprint dimension 1880 with radius 3 and 2048 bits +dim_1881,integer,,Morgan count fingeprint dimension 1881 with radius 3 and 2048 bits +dim_1882,integer,,Morgan count fingeprint dimension 1882 with radius 3 and 2048 bits +dim_1883,integer,,Morgan count fingeprint dimension 1883 with radius 3 and 2048 bits +dim_1884,integer,,Morgan count fingeprint dimension 1884 with radius 3 and 2048 bits +dim_1885,integer,,Morgan count fingeprint dimension 1885 with radius 3 and 2048 bits +dim_1886,integer,,Morgan count fingeprint dimension 1886 with radius 3 and 2048 bits +dim_1887,integer,,Morgan count fingeprint dimension 1887 with radius 3 and 2048 bits +dim_1888,integer,,Morgan count fingeprint dimension 1888 with radius 3 and 2048 bits +dim_1889,integer,,Morgan count fingeprint dimension 1889 with radius 3 and 2048 bits +dim_1890,integer,,Morgan count fingeprint dimension 1890 with radius 3 and 2048 bits +dim_1891,integer,,Morgan count fingeprint dimension 1891 with radius 3 and 2048 bits +dim_1892,integer,,Morgan count fingeprint dimension 1892 with radius 3 and 2048 bits +dim_1893,integer,,Morgan count fingeprint dimension 1893 with radius 3 and 2048 bits +dim_1894,integer,,Morgan count fingeprint dimension 1894 with radius 3 and 2048 bits +dim_1895,integer,,Morgan count fingeprint dimension 1895 with radius 3 and 2048 bits +dim_1896,integer,,Morgan count fingeprint dimension 1896 with radius 3 and 2048 bits +dim_1897,integer,,Morgan count fingeprint dimension 1897 with radius 3 and 2048 bits +dim_1898,integer,,Morgan count fingeprint dimension 1898 with radius 3 and 2048 bits +dim_1899,integer,,Morgan count fingeprint dimension 1899 with radius 3 and 2048 bits +dim_1900,integer,,Morgan count fingeprint dimension 1900 with radius 3 and 2048 bits +dim_1901,integer,,Morgan count fingeprint dimension 1901 with radius 3 and 2048 bits +dim_1902,integer,,Morgan count fingeprint dimension 1902 with radius 3 and 2048 bits +dim_1903,integer,,Morgan count fingeprint dimension 1903 with radius 3 and 2048 bits +dim_1904,integer,,Morgan count fingeprint dimension 1904 with radius 3 and 2048 bits +dim_1905,integer,,Morgan count fingeprint dimension 1905 with radius 3 and 2048 bits +dim_1906,integer,,Morgan count fingeprint dimension 1906 with radius 3 and 2048 bits +dim_1907,integer,,Morgan count fingeprint dimension 1907 with radius 3 and 2048 bits +dim_1908,integer,,Morgan count fingeprint dimension 1908 with radius 3 and 2048 bits +dim_1909,integer,,Morgan count fingeprint dimension 1909 with radius 3 and 2048 bits +dim_1910,integer,,Morgan count fingeprint dimension 1910 with radius 3 and 2048 bits +dim_1911,integer,,Morgan count fingeprint dimension 1911 with radius 3 and 2048 bits +dim_1912,integer,,Morgan count fingeprint dimension 1912 with radius 3 and 2048 bits +dim_1913,integer,,Morgan count fingeprint dimension 1913 with radius 3 and 2048 bits +dim_1914,integer,,Morgan count fingeprint dimension 1914 with radius 3 and 2048 bits +dim_1915,integer,,Morgan count fingeprint dimension 1915 with radius 3 and 2048 bits +dim_1916,integer,,Morgan count fingeprint dimension 1916 with radius 3 and 2048 bits +dim_1917,integer,,Morgan count fingeprint dimension 1917 with radius 3 and 2048 bits +dim_1918,integer,,Morgan count fingeprint dimension 1918 with radius 3 and 2048 bits +dim_1919,integer,,Morgan count fingeprint dimension 1919 with radius 3 and 2048 bits +dim_1920,integer,,Morgan count fingeprint dimension 1920 with radius 3 and 2048 bits +dim_1921,integer,,Morgan count fingeprint dimension 1921 with radius 3 and 2048 bits +dim_1922,integer,,Morgan count fingeprint dimension 1922 with radius 3 and 2048 bits +dim_1923,integer,,Morgan count fingeprint dimension 1923 with radius 3 and 2048 bits +dim_1924,integer,,Morgan count fingeprint dimension 1924 with radius 3 and 2048 bits +dim_1925,integer,,Morgan count fingeprint dimension 1925 with radius 3 and 2048 bits +dim_1926,integer,,Morgan count fingeprint dimension 1926 with radius 3 and 2048 bits +dim_1927,integer,,Morgan count fingeprint dimension 1927 with radius 3 and 2048 bits +dim_1928,integer,,Morgan count fingeprint dimension 1928 with radius 3 and 2048 bits +dim_1929,integer,,Morgan count fingeprint dimension 1929 with radius 3 and 2048 bits +dim_1930,integer,,Morgan count fingeprint dimension 1930 with radius 3 and 2048 bits +dim_1931,integer,,Morgan count fingeprint dimension 1931 with radius 3 and 2048 bits +dim_1932,integer,,Morgan count fingeprint dimension 1932 with radius 3 and 2048 bits +dim_1933,integer,,Morgan count fingeprint dimension 1933 with radius 3 and 2048 bits +dim_1934,integer,,Morgan count fingeprint dimension 1934 with radius 3 and 2048 bits +dim_1935,integer,,Morgan count fingeprint dimension 1935 with radius 3 and 2048 bits +dim_1936,integer,,Morgan count fingeprint dimension 1936 with radius 3 and 2048 bits +dim_1937,integer,,Morgan count fingeprint dimension 1937 with radius 3 and 2048 bits +dim_1938,integer,,Morgan count fingeprint dimension 1938 with radius 3 and 2048 bits +dim_1939,integer,,Morgan count fingeprint dimension 1939 with radius 3 and 2048 bits +dim_1940,integer,,Morgan count fingeprint dimension 1940 with radius 3 and 2048 bits +dim_1941,integer,,Morgan count fingeprint dimension 1941 with radius 3 and 2048 bits +dim_1942,integer,,Morgan count fingeprint dimension 1942 with radius 3 and 2048 bits +dim_1943,integer,,Morgan count fingeprint dimension 1943 with radius 3 and 2048 bits +dim_1944,integer,,Morgan count fingeprint dimension 1944 with radius 3 and 2048 bits +dim_1945,integer,,Morgan count fingeprint dimension 1945 with radius 3 and 2048 bits +dim_1946,integer,,Morgan count fingeprint dimension 1946 with radius 3 and 2048 bits +dim_1947,integer,,Morgan count fingeprint dimension 1947 with radius 3 and 2048 bits +dim_1948,integer,,Morgan count fingeprint dimension 1948 with radius 3 and 2048 bits +dim_1949,integer,,Morgan count fingeprint dimension 1949 with radius 3 and 2048 bits +dim_1950,integer,,Morgan count fingeprint dimension 1950 with radius 3 and 2048 bits +dim_1951,integer,,Morgan count fingeprint dimension 1951 with radius 3 and 2048 bits +dim_1952,integer,,Morgan count fingeprint dimension 1952 with radius 3 and 2048 bits +dim_1953,integer,,Morgan count fingeprint dimension 1953 with radius 3 and 2048 bits +dim_1954,integer,,Morgan count fingeprint dimension 1954 with radius 3 and 2048 bits +dim_1955,integer,,Morgan count fingeprint dimension 1955 with radius 3 and 2048 bits +dim_1956,integer,,Morgan count fingeprint dimension 1956 with radius 3 and 2048 bits +dim_1957,integer,,Morgan count fingeprint dimension 1957 with radius 3 and 2048 bits +dim_1958,integer,,Morgan count fingeprint dimension 1958 with radius 3 and 2048 bits +dim_1959,integer,,Morgan count fingeprint dimension 1959 with radius 3 and 2048 bits +dim_1960,integer,,Morgan count fingeprint dimension 1960 with radius 3 and 2048 bits +dim_1961,integer,,Morgan count fingeprint dimension 1961 with radius 3 and 2048 bits +dim_1962,integer,,Morgan count fingeprint dimension 1962 with radius 3 and 2048 bits +dim_1963,integer,,Morgan count fingeprint dimension 1963 with radius 3 and 2048 bits +dim_1964,integer,,Morgan count fingeprint dimension 1964 with radius 3 and 2048 bits +dim_1965,integer,,Morgan count fingeprint dimension 1965 with radius 3 and 2048 bits +dim_1966,integer,,Morgan count fingeprint dimension 1966 with radius 3 and 2048 bits +dim_1967,integer,,Morgan count fingeprint dimension 1967 with radius 3 and 2048 bits +dim_1968,integer,,Morgan count fingeprint dimension 1968 with radius 3 and 2048 bits +dim_1969,integer,,Morgan count fingeprint dimension 1969 with radius 3 and 2048 bits +dim_1970,integer,,Morgan count fingeprint dimension 1970 with radius 3 and 2048 bits +dim_1971,integer,,Morgan count fingeprint dimension 1971 with radius 3 and 2048 bits +dim_1972,integer,,Morgan count fingeprint dimension 1972 with radius 3 and 2048 bits +dim_1973,integer,,Morgan count fingeprint dimension 1973 with radius 3 and 2048 bits +dim_1974,integer,,Morgan count fingeprint dimension 1974 with radius 3 and 2048 bits +dim_1975,integer,,Morgan count fingeprint dimension 1975 with radius 3 and 2048 bits +dim_1976,integer,,Morgan count fingeprint dimension 1976 with radius 3 and 2048 bits +dim_1977,integer,,Morgan count fingeprint dimension 1977 with radius 3 and 2048 bits +dim_1978,integer,,Morgan count fingeprint dimension 1978 with radius 3 and 2048 bits +dim_1979,integer,,Morgan count fingeprint dimension 1979 with radius 3 and 2048 bits +dim_1980,integer,,Morgan count fingeprint dimension 1980 with radius 3 and 2048 bits +dim_1981,integer,,Morgan count fingeprint dimension 1981 with radius 3 and 2048 bits +dim_1982,integer,,Morgan count fingeprint dimension 1982 with radius 3 and 2048 bits +dim_1983,integer,,Morgan count fingeprint dimension 1983 with radius 3 and 2048 bits +dim_1984,integer,,Morgan count fingeprint dimension 1984 with radius 3 and 2048 bits +dim_1985,integer,,Morgan count fingeprint dimension 1985 with radius 3 and 2048 bits +dim_1986,integer,,Morgan count fingeprint dimension 1986 with radius 3 and 2048 bits +dim_1987,integer,,Morgan count fingeprint dimension 1987 with radius 3 and 2048 bits +dim_1988,integer,,Morgan count fingeprint dimension 1988 with radius 3 and 2048 bits +dim_1989,integer,,Morgan count fingeprint dimension 1989 with radius 3 and 2048 bits +dim_1990,integer,,Morgan count fingeprint dimension 1990 with radius 3 and 2048 bits +dim_1991,integer,,Morgan count fingeprint dimension 1991 with radius 3 and 2048 bits +dim_1992,integer,,Morgan count fingeprint dimension 1992 with radius 3 and 2048 bits +dim_1993,integer,,Morgan count fingeprint dimension 1993 with radius 3 and 2048 bits +dim_1994,integer,,Morgan count fingeprint dimension 1994 with radius 3 and 2048 bits +dim_1995,integer,,Morgan count fingeprint dimension 1995 with radius 3 and 2048 bits +dim_1996,integer,,Morgan count fingeprint dimension 1996 with radius 3 and 2048 bits +dim_1997,integer,,Morgan count fingeprint dimension 1997 with radius 3 and 2048 bits +dim_1998,integer,,Morgan count fingeprint dimension 1998 with radius 3 and 2048 bits +dim_1999,integer,,Morgan count fingeprint dimension 1999 with radius 3 and 2048 bits +dim_2000,integer,,Morgan count fingeprint dimension 2000 with radius 3 and 2048 bits +dim_2001,integer,,Morgan count fingeprint dimension 2001 with radius 3 and 2048 bits +dim_2002,integer,,Morgan count fingeprint dimension 2002 with radius 3 and 2048 bits +dim_2003,integer,,Morgan count fingeprint dimension 2003 with radius 3 and 2048 bits +dim_2004,integer,,Morgan count fingeprint dimension 2004 with radius 3 and 2048 bits +dim_2005,integer,,Morgan count fingeprint dimension 2005 with radius 3 and 2048 bits +dim_2006,integer,,Morgan count fingeprint dimension 2006 with radius 3 and 2048 bits +dim_2007,integer,,Morgan count fingeprint dimension 2007 with radius 3 and 2048 bits +dim_2008,integer,,Morgan count fingeprint dimension 2008 with radius 3 and 2048 bits +dim_2009,integer,,Morgan count fingeprint dimension 2009 with radius 3 and 2048 bits +dim_2010,integer,,Morgan count fingeprint dimension 2010 with radius 3 and 2048 bits +dim_2011,integer,,Morgan count fingeprint dimension 2011 with radius 3 and 2048 bits +dim_2012,integer,,Morgan count fingeprint dimension 2012 with radius 3 and 2048 bits +dim_2013,integer,,Morgan count fingeprint dimension 2013 with radius 3 and 2048 bits +dim_2014,integer,,Morgan count fingeprint dimension 2014 with radius 3 and 2048 bits +dim_2015,integer,,Morgan count fingeprint dimension 2015 with radius 3 and 2048 bits +dim_2016,integer,,Morgan count fingeprint dimension 2016 with radius 3 and 2048 bits +dim_2017,integer,,Morgan count fingeprint dimension 2017 with radius 3 and 2048 bits +dim_2018,integer,,Morgan count fingeprint dimension 2018 with radius 3 and 2048 bits +dim_2019,integer,,Morgan count fingeprint dimension 2019 with radius 3 and 2048 bits +dim_2020,integer,,Morgan count fingeprint dimension 2020 with radius 3 and 2048 bits +dim_2021,integer,,Morgan count fingeprint dimension 2021 with radius 3 and 2048 bits +dim_2022,integer,,Morgan count fingeprint dimension 2022 with radius 3 and 2048 bits +dim_2023,integer,,Morgan count fingeprint dimension 2023 with radius 3 and 2048 bits +dim_2024,integer,,Morgan count fingeprint dimension 2024 with radius 3 and 2048 bits +dim_2025,integer,,Morgan count fingeprint dimension 2025 with radius 3 and 2048 bits +dim_2026,integer,,Morgan count fingeprint dimension 2026 with radius 3 and 2048 bits +dim_2027,integer,,Morgan count fingeprint dimension 2027 with radius 3 and 2048 bits +dim_2028,integer,,Morgan count fingeprint dimension 2028 with radius 3 and 2048 bits +dim_2029,integer,,Morgan count fingeprint dimension 2029 with radius 3 and 2048 bits +dim_2030,integer,,Morgan count fingeprint dimension 2030 with radius 3 and 2048 bits +dim_2031,integer,,Morgan count fingeprint dimension 2031 with radius 3 and 2048 bits +dim_2032,integer,,Morgan count fingeprint dimension 2032 with radius 3 and 2048 bits +dim_2033,integer,,Morgan count fingeprint dimension 2033 with radius 3 and 2048 bits +dim_2034,integer,,Morgan count fingeprint dimension 2034 with radius 3 and 2048 bits +dim_2035,integer,,Morgan count fingeprint dimension 2035 with radius 3 and 2048 bits +dim_2036,integer,,Morgan count fingeprint dimension 2036 with radius 3 and 2048 bits +dim_2037,integer,,Morgan count fingeprint dimension 2037 with radius 3 and 2048 bits +dim_2038,integer,,Morgan count fingeprint dimension 2038 with radius 3 and 2048 bits +dim_2039,integer,,Morgan count fingeprint dimension 2039 with radius 3 and 2048 bits +dim_2040,integer,,Morgan count fingeprint dimension 2040 with radius 3 and 2048 bits +dim_2041,integer,,Morgan count fingeprint dimension 2041 with radius 3 and 2048 bits +dim_2042,integer,,Morgan count fingeprint dimension 2042 with radius 3 and 2048 bits +dim_2043,integer,,Morgan count fingeprint dimension 2043 with radius 3 and 2048 bits +dim_2044,integer,,Morgan count fingeprint dimension 2044 with radius 3 and 2048 bits +dim_2045,integer,,Morgan count fingeprint dimension 2045 with radius 3 and 2048 bits +dim_2046,integer,,Morgan count fingeprint dimension 2046 with radius 3 and 2048 bits +dim_2047,integer,,Morgan count fingeprint dimension 2047 with radius 3 and 2048 bits diff --git a/model/framework/examples/run_input.csv b/model/framework/examples/run_input.csv new file mode 100644 index 0000000..17cc9a2 --- /dev/null +++ b/model/framework/examples/run_input.csv @@ -0,0 +1,4 @@ +smiles +CC(C)CC1=CC=C(C=C1)C(C)C(=O)O +CC1(OC2C(OC(C2O1)(C#N)C3=CC=C4N3N=CN=C4N)CO)C +COC1=CC23CCCN2CCC4=CC5=C(C=C4C3C1O)OCO5 \ No newline at end of file diff --git a/model/framework/examples/run_output.csv b/model/framework/examples/run_output.csv new file mode 100644 index 0000000..35c5d25 --- /dev/null +++ b/model/framework/examples/run_output.csv @@ -0,0 +1,4 @@ +dim_0000,dim_0001,dim_0002,dim_0003,dim_0004,dim_0005,dim_0006,dim_0007,dim_0008,dim_0009,dim_0010,dim_0011,dim_0012,dim_0013,dim_0014,dim_0015,dim_0016,dim_0017,dim_0018,dim_0019,dim_0020,dim_0021,dim_0022,dim_0023,dim_0024,dim_0025,dim_0026,dim_0027,dim_0028,dim_0029,dim_0030,dim_0031,dim_0032,dim_0033,dim_0034,dim_0035,dim_0036,dim_0037,dim_0038,dim_0039,dim_0040,dim_0041,dim_0042,dim_0043,dim_0044,dim_0045,dim_0046,dim_0047,dim_0048,dim_0049,dim_0050,dim_0051,dim_0052,dim_0053,dim_0054,dim_0055,dim_0056,dim_0057,dim_0058,dim_0059,dim_0060,dim_0061,dim_0062,dim_0063,dim_0064,dim_0065,dim_0066,dim_0067,dim_0068,dim_0069,dim_0070,dim_0071,dim_0072,dim_0073,dim_0074,dim_0075,dim_0076,dim_0077,dim_0078,dim_0079,dim_0080,dim_0081,dim_0082,dim_0083,dim_0084,dim_0085,dim_0086,dim_0087,dim_0088,dim_0089,dim_0090,dim_0091,dim_0092,dim_0093,dim_0094,dim_0095,dim_0096,dim_0097,dim_0098,dim_0099,dim_0100,dim_0101,dim_0102,dim_0103,dim_0104,dim_0105,dim_0106,dim_0107,dim_0108,dim_0109,dim_0110,dim_0111,dim_0112,dim_0113,dim_0114,dim_0115,dim_0116,dim_0117,dim_0118,dim_0119,dim_0120,dim_0121,dim_0122,dim_0123,dim_0124,dim_0125,dim_0126,dim_0127,dim_0128,dim_0129,dim_0130,dim_0131,dim_0132,dim_0133,dim_0134,dim_0135,dim_0136,dim_0137,dim_0138,dim_0139,dim_0140,dim_0141,dim_0142,dim_0143,dim_0144,dim_0145,dim_0146,dim_0147,dim_0148,dim_0149,dim_0150,dim_0151,dim_0152,dim_0153,dim_0154,dim_0155,dim_0156,dim_0157,dim_0158,dim_0159,dim_0160,dim_0161,dim_0162,dim_0163,dim_0164,dim_0165,dim_0166,dim_0167,dim_0168,dim_0169,dim_0170,dim_0171,dim_0172,dim_0173,dim_0174,dim_0175,dim_0176,dim_0177,dim_0178,dim_0179,dim_0180,dim_0181,dim_0182,dim_0183,dim_0184,dim_0185,dim_0186,dim_0187,dim_0188,dim_0189,dim_0190,dim_0191,dim_0192,dim_0193,dim_0194,dim_0195,dim_0196,dim_0197,dim_0198,dim_0199,dim_0200,dim_0201,dim_0202,dim_0203,dim_0204,dim_0205,dim_0206,dim_0207,dim_0208,dim_0209,dim_0210,dim_0211,dim_0212,dim_0213,dim_0214,dim_0215,dim_0216,dim_0217,dim_0218,dim_0219,dim_0220,dim_0221,dim_0222,dim_0223,dim_0224,dim_0225,dim_0226,dim_0227,dim_0228,dim_0229,dim_0230,dim_0231,dim_0232,dim_0233,dim_0234,dim_0235,dim_0236,dim_0237,dim_0238,dim_0239,dim_0240,dim_0241,dim_0242,dim_0243,dim_0244,dim_0245,dim_0246,dim_0247,dim_0248,dim_0249,dim_0250,dim_0251,dim_0252,dim_0253,dim_0254,dim_0255,dim_0256,dim_0257,dim_0258,dim_0259,dim_0260,dim_0261,dim_0262,dim_0263,dim_0264,dim_0265,dim_0266,dim_0267,dim_0268,dim_0269,dim_0270,dim_0271,dim_0272,dim_0273,dim_0274,dim_0275,dim_0276,dim_0277,dim_0278,dim_0279,dim_0280,dim_0281,dim_0282,dim_0283,dim_0284,dim_0285,dim_0286,dim_0287,dim_0288,dim_0289,dim_0290,dim_0291,dim_0292,dim_0293,dim_0294,dim_0295,dim_0296,dim_0297,dim_0298,dim_0299,dim_0300,dim_0301,dim_0302,dim_0303,dim_0304,dim_0305,dim_0306,dim_0307,dim_0308,dim_0309,dim_0310,dim_0311,dim_0312,dim_0313,dim_0314,dim_0315,dim_0316,dim_0317,dim_0318,dim_0319,dim_0320,dim_0321,dim_0322,dim_0323,dim_0324,dim_0325,dim_0326,dim_0327,dim_0328,dim_0329,dim_0330,dim_0331,dim_0332,dim_0333,dim_0334,dim_0335,dim_0336,dim_0337,dim_0338,dim_0339,dim_0340,dim_0341,dim_0342,dim_0343,dim_0344,dim_0345,dim_0346,dim_0347,dim_0348,dim_0349,dim_0350,dim_0351,dim_0352,dim_0353,dim_0354,dim_0355,dim_0356,dim_0357,dim_0358,dim_0359,dim_0360,dim_0361,dim_0362,dim_0363,dim_0364,dim_0365,dim_0366,dim_0367,dim_0368,dim_0369,dim_0370,dim_0371,dim_0372,dim_0373,dim_0374,dim_0375,dim_0376,dim_0377,dim_0378,dim_0379,dim_0380,dim_0381,dim_0382,dim_0383,dim_0384,dim_0385,dim_0386,dim_0387,dim_0388,dim_0389,dim_0390,dim_0391,dim_0392,dim_0393,dim_0394,dim_0395,dim_0396,dim_0397,dim_0398,dim_0399,dim_0400,dim_0401,dim_0402,dim_0403,dim_0404,dim_0405,dim_0406,dim_0407,dim_0408,dim_0409,dim_0410,dim_0411,dim_0412,dim_0413,dim_0414,dim_0415,dim_0416,dim_0417,dim_0418,dim_0419,dim_0420,dim_0421,dim_0422,dim_0423,dim_0424,dim_0425,dim_0426,dim_0427,dim_0428,dim_0429,dim_0430,dim_0431,dim_0432,dim_0433,dim_0434,dim_0435,dim_0436,dim_0437,dim_0438,dim_0439,dim_0440,dim_0441,dim_0442,dim_0443,dim_0444,dim_0445,dim_0446,dim_0447,dim_0448,dim_0449,dim_0450,dim_0451,dim_0452,dim_0453,dim_0454,dim_0455,dim_0456,dim_0457,dim_0458,dim_0459,dim_0460,dim_0461,dim_0462,dim_0463,dim_0464,dim_0465,dim_0466,dim_0467,dim_0468,dim_0469,dim_0470,dim_0471,dim_0472,dim_0473,dim_0474,dim_0475,dim_0476,dim_0477,dim_0478,dim_0479,dim_0480,dim_0481,dim_0482,dim_0483,dim_0484,dim_0485,dim_0486,dim_0487,dim_0488,dim_0489,dim_0490,dim_0491,dim_0492,dim_0493,dim_0494,dim_0495,dim_0496,dim_0497,dim_0498,dim_0499,dim_0500,dim_0501,dim_0502,dim_0503,dim_0504,dim_0505,dim_0506,dim_0507,dim_0508,dim_0509,dim_0510,dim_0511,dim_0512,dim_0513,dim_0514,dim_0515,dim_0516,dim_0517,dim_0518,dim_0519,dim_0520,dim_0521,dim_0522,dim_0523,dim_0524,dim_0525,dim_0526,dim_0527,dim_0528,dim_0529,dim_0530,dim_0531,dim_0532,dim_0533,dim_0534,dim_0535,dim_0536,dim_0537,dim_0538,dim_0539,dim_0540,dim_0541,dim_0542,dim_0543,dim_0544,dim_0545,dim_0546,dim_0547,dim_0548,dim_0549,dim_0550,dim_0551,dim_0552,dim_0553,dim_0554,dim_0555,dim_0556,dim_0557,dim_0558,dim_0559,dim_0560,dim_0561,dim_0562,dim_0563,dim_0564,dim_0565,dim_0566,dim_0567,dim_0568,dim_0569,dim_0570,dim_0571,dim_0572,dim_0573,dim_0574,dim_0575,dim_0576,dim_0577,dim_0578,dim_0579,dim_0580,dim_0581,dim_0582,dim_0583,dim_0584,dim_0585,dim_0586,dim_0587,dim_0588,dim_0589,dim_0590,dim_0591,dim_0592,dim_0593,dim_0594,dim_0595,dim_0596,dim_0597,dim_0598,dim_0599,dim_0600,dim_0601,dim_0602,dim_0603,dim_0604,dim_0605,dim_0606,dim_0607,dim_0608,dim_0609,dim_0610,dim_0611,dim_0612,dim_0613,dim_0614,dim_0615,dim_0616,dim_0617,dim_0618,dim_0619,dim_0620,dim_0621,dim_0622,dim_0623,dim_0624,dim_0625,dim_0626,dim_0627,dim_0628,dim_0629,dim_0630,dim_0631,dim_0632,dim_0633,dim_0634,dim_0635,dim_0636,dim_0637,dim_0638,dim_0639,dim_0640,dim_0641,dim_0642,dim_0643,dim_0644,dim_0645,dim_0646,dim_0647,dim_0648,dim_0649,dim_0650,dim_0651,dim_0652,dim_0653,dim_0654,dim_0655,dim_0656,dim_0657,dim_0658,dim_0659,dim_0660,dim_0661,dim_0662,dim_0663,dim_0664,dim_0665,dim_0666,dim_0667,dim_0668,dim_0669,dim_0670,dim_0671,dim_0672,dim_0673,dim_0674,dim_0675,dim_0676,dim_0677,dim_0678,dim_0679,dim_0680,dim_0681,dim_0682,dim_0683,dim_0684,dim_0685,dim_0686,dim_0687,dim_0688,dim_0689,dim_0690,dim_0691,dim_0692,dim_0693,dim_0694,dim_0695,dim_0696,dim_0697,dim_0698,dim_0699,dim_0700,dim_0701,dim_0702,dim_0703,dim_0704,dim_0705,dim_0706,dim_0707,dim_0708,dim_0709,dim_0710,dim_0711,dim_0712,dim_0713,dim_0714,dim_0715,dim_0716,dim_0717,dim_0718,dim_0719,dim_0720,dim_0721,dim_0722,dim_0723,dim_0724,dim_0725,dim_0726,dim_0727,dim_0728,dim_0729,dim_0730,dim_0731,dim_0732,dim_0733,dim_0734,dim_0735,dim_0736,dim_0737,dim_0738,dim_0739,dim_0740,dim_0741,dim_0742,dim_0743,dim_0744,dim_0745,dim_0746,dim_0747,dim_0748,dim_0749,dim_0750,dim_0751,dim_0752,dim_0753,dim_0754,dim_0755,dim_0756,dim_0757,dim_0758,dim_0759,dim_0760,dim_0761,dim_0762,dim_0763,dim_0764,dim_0765,dim_0766,dim_0767,dim_0768,dim_0769,dim_0770,dim_0771,dim_0772,dim_0773,dim_0774,dim_0775,dim_0776,dim_0777,dim_0778,dim_0779,dim_0780,dim_0781,dim_0782,dim_0783,dim_0784,dim_0785,dim_0786,dim_0787,dim_0788,dim_0789,dim_0790,dim_0791,dim_0792,dim_0793,dim_0794,dim_0795,dim_0796,dim_0797,dim_0798,dim_0799,dim_0800,dim_0801,dim_0802,dim_0803,dim_0804,dim_0805,dim_0806,dim_0807,dim_0808,dim_0809,dim_0810,dim_0811,dim_0812,dim_0813,dim_0814,dim_0815,dim_0816,dim_0817,dim_0818,dim_0819,dim_0820,dim_0821,dim_0822,dim_0823,dim_0824,dim_0825,dim_0826,dim_0827,dim_0828,dim_0829,dim_0830,dim_0831,dim_0832,dim_0833,dim_0834,dim_0835,dim_0836,dim_0837,dim_0838,dim_0839,dim_0840,dim_0841,dim_0842,dim_0843,dim_0844,dim_0845,dim_0846,dim_0847,dim_0848,dim_0849,dim_0850,dim_0851,dim_0852,dim_0853,dim_0854,dim_0855,dim_0856,dim_0857,dim_0858,dim_0859,dim_0860,dim_0861,dim_0862,dim_0863,dim_0864,dim_0865,dim_0866,dim_0867,dim_0868,dim_0869,dim_0870,dim_0871,dim_0872,dim_0873,dim_0874,dim_0875,dim_0876,dim_0877,dim_0878,dim_0879,dim_0880,dim_0881,dim_0882,dim_0883,dim_0884,dim_0885,dim_0886,dim_0887,dim_0888,dim_0889,dim_0890,dim_0891,dim_0892,dim_0893,dim_0894,dim_0895,dim_0896,dim_0897,dim_0898,dim_0899,dim_0900,dim_0901,dim_0902,dim_0903,dim_0904,dim_0905,dim_0906,dim_0907,dim_0908,dim_0909,dim_0910,dim_0911,dim_0912,dim_0913,dim_0914,dim_0915,dim_0916,dim_0917,dim_0918,dim_0919,dim_0920,dim_0921,dim_0922,dim_0923,dim_0924,dim_0925,dim_0926,dim_0927,dim_0928,dim_0929,dim_0930,dim_0931,dim_0932,dim_0933,dim_0934,dim_0935,dim_0936,dim_0937,dim_0938,dim_0939,dim_0940,dim_0941,dim_0942,dim_0943,dim_0944,dim_0945,dim_0946,dim_0947,dim_0948,dim_0949,dim_0950,dim_0951,dim_0952,dim_0953,dim_0954,dim_0955,dim_0956,dim_0957,dim_0958,dim_0959,dim_0960,dim_0961,dim_0962,dim_0963,dim_0964,dim_0965,dim_0966,dim_0967,dim_0968,dim_0969,dim_0970,dim_0971,dim_0972,dim_0973,dim_0974,dim_0975,dim_0976,dim_0977,dim_0978,dim_0979,dim_0980,dim_0981,dim_0982,dim_0983,dim_0984,dim_0985,dim_0986,dim_0987,dim_0988,dim_0989,dim_0990,dim_0991,dim_0992,dim_0993,dim_0994,dim_0995,dim_0996,dim_0997,dim_0998,dim_0999,dim_1000,dim_1001,dim_1002,dim_1003,dim_1004,dim_1005,dim_1006,dim_1007,dim_1008,dim_1009,dim_1010,dim_1011,dim_1012,dim_1013,dim_1014,dim_1015,dim_1016,dim_1017,dim_1018,dim_1019,dim_1020,dim_1021,dim_1022,dim_1023,dim_1024,dim_1025,dim_1026,dim_1027,dim_1028,dim_1029,dim_1030,dim_1031,dim_1032,dim_1033,dim_1034,dim_1035,dim_1036,dim_1037,dim_1038,dim_1039,dim_1040,dim_1041,dim_1042,dim_1043,dim_1044,dim_1045,dim_1046,dim_1047,dim_1048,dim_1049,dim_1050,dim_1051,dim_1052,dim_1053,dim_1054,dim_1055,dim_1056,dim_1057,dim_1058,dim_1059,dim_1060,dim_1061,dim_1062,dim_1063,dim_1064,dim_1065,dim_1066,dim_1067,dim_1068,dim_1069,dim_1070,dim_1071,dim_1072,dim_1073,dim_1074,dim_1075,dim_1076,dim_1077,dim_1078,dim_1079,dim_1080,dim_1081,dim_1082,dim_1083,dim_1084,dim_1085,dim_1086,dim_1087,dim_1088,dim_1089,dim_1090,dim_1091,dim_1092,dim_1093,dim_1094,dim_1095,dim_1096,dim_1097,dim_1098,dim_1099,dim_1100,dim_1101,dim_1102,dim_1103,dim_1104,dim_1105,dim_1106,dim_1107,dim_1108,dim_1109,dim_1110,dim_1111,dim_1112,dim_1113,dim_1114,dim_1115,dim_1116,dim_1117,dim_1118,dim_1119,dim_1120,dim_1121,dim_1122,dim_1123,dim_1124,dim_1125,dim_1126,dim_1127,dim_1128,dim_1129,dim_1130,dim_1131,dim_1132,dim_1133,dim_1134,dim_1135,dim_1136,dim_1137,dim_1138,dim_1139,dim_1140,dim_1141,dim_1142,dim_1143,dim_1144,dim_1145,dim_1146,dim_1147,dim_1148,dim_1149,dim_1150,dim_1151,dim_1152,dim_1153,dim_1154,dim_1155,dim_1156,dim_1157,dim_1158,dim_1159,dim_1160,dim_1161,dim_1162,dim_1163,dim_1164,dim_1165,dim_1166,dim_1167,dim_1168,dim_1169,dim_1170,dim_1171,dim_1172,dim_1173,dim_1174,dim_1175,dim_1176,dim_1177,dim_1178,dim_1179,dim_1180,dim_1181,dim_1182,dim_1183,dim_1184,dim_1185,dim_1186,dim_1187,dim_1188,dim_1189,dim_1190,dim_1191,dim_1192,dim_1193,dim_1194,dim_1195,dim_1196,dim_1197,dim_1198,dim_1199,dim_1200,dim_1201,dim_1202,dim_1203,dim_1204,dim_1205,dim_1206,dim_1207,dim_1208,dim_1209,dim_1210,dim_1211,dim_1212,dim_1213,dim_1214,dim_1215,dim_1216,dim_1217,dim_1218,dim_1219,dim_1220,dim_1221,dim_1222,dim_1223,dim_1224,dim_1225,dim_1226,dim_1227,dim_1228,dim_1229,dim_1230,dim_1231,dim_1232,dim_1233,dim_1234,dim_1235,dim_1236,dim_1237,dim_1238,dim_1239,dim_1240,dim_1241,dim_1242,dim_1243,dim_1244,dim_1245,dim_1246,dim_1247,dim_1248,dim_1249,dim_1250,dim_1251,dim_1252,dim_1253,dim_1254,dim_1255,dim_1256,dim_1257,dim_1258,dim_1259,dim_1260,dim_1261,dim_1262,dim_1263,dim_1264,dim_1265,dim_1266,dim_1267,dim_1268,dim_1269,dim_1270,dim_1271,dim_1272,dim_1273,dim_1274,dim_1275,dim_1276,dim_1277,dim_1278,dim_1279,dim_1280,dim_1281,dim_1282,dim_1283,dim_1284,dim_1285,dim_1286,dim_1287,dim_1288,dim_1289,dim_1290,dim_1291,dim_1292,dim_1293,dim_1294,dim_1295,dim_1296,dim_1297,dim_1298,dim_1299,dim_1300,dim_1301,dim_1302,dim_1303,dim_1304,dim_1305,dim_1306,dim_1307,dim_1308,dim_1309,dim_1310,dim_1311,dim_1312,dim_1313,dim_1314,dim_1315,dim_1316,dim_1317,dim_1318,dim_1319,dim_1320,dim_1321,dim_1322,dim_1323,dim_1324,dim_1325,dim_1326,dim_1327,dim_1328,dim_1329,dim_1330,dim_1331,dim_1332,dim_1333,dim_1334,dim_1335,dim_1336,dim_1337,dim_1338,dim_1339,dim_1340,dim_1341,dim_1342,dim_1343,dim_1344,dim_1345,dim_1346,dim_1347,dim_1348,dim_1349,dim_1350,dim_1351,dim_1352,dim_1353,dim_1354,dim_1355,dim_1356,dim_1357,dim_1358,dim_1359,dim_1360,dim_1361,dim_1362,dim_1363,dim_1364,dim_1365,dim_1366,dim_1367,dim_1368,dim_1369,dim_1370,dim_1371,dim_1372,dim_1373,dim_1374,dim_1375,dim_1376,dim_1377,dim_1378,dim_1379,dim_1380,dim_1381,dim_1382,dim_1383,dim_1384,dim_1385,dim_1386,dim_1387,dim_1388,dim_1389,dim_1390,dim_1391,dim_1392,dim_1393,dim_1394,dim_1395,dim_1396,dim_1397,dim_1398,dim_1399,dim_1400,dim_1401,dim_1402,dim_1403,dim_1404,dim_1405,dim_1406,dim_1407,dim_1408,dim_1409,dim_1410,dim_1411,dim_1412,dim_1413,dim_1414,dim_1415,dim_1416,dim_1417,dim_1418,dim_1419,dim_1420,dim_1421,dim_1422,dim_1423,dim_1424,dim_1425,dim_1426,dim_1427,dim_1428,dim_1429,dim_1430,dim_1431,dim_1432,dim_1433,dim_1434,dim_1435,dim_1436,dim_1437,dim_1438,dim_1439,dim_1440,dim_1441,dim_1442,dim_1443,dim_1444,dim_1445,dim_1446,dim_1447,dim_1448,dim_1449,dim_1450,dim_1451,dim_1452,dim_1453,dim_1454,dim_1455,dim_1456,dim_1457,dim_1458,dim_1459,dim_1460,dim_1461,dim_1462,dim_1463,dim_1464,dim_1465,dim_1466,dim_1467,dim_1468,dim_1469,dim_1470,dim_1471,dim_1472,dim_1473,dim_1474,dim_1475,dim_1476,dim_1477,dim_1478,dim_1479,dim_1480,dim_1481,dim_1482,dim_1483,dim_1484,dim_1485,dim_1486,dim_1487,dim_1488,dim_1489,dim_1490,dim_1491,dim_1492,dim_1493,dim_1494,dim_1495,dim_1496,dim_1497,dim_1498,dim_1499,dim_1500,dim_1501,dim_1502,dim_1503,dim_1504,dim_1505,dim_1506,dim_1507,dim_1508,dim_1509,dim_1510,dim_1511,dim_1512,dim_1513,dim_1514,dim_1515,dim_1516,dim_1517,dim_1518,dim_1519,dim_1520,dim_1521,dim_1522,dim_1523,dim_1524,dim_1525,dim_1526,dim_1527,dim_1528,dim_1529,dim_1530,dim_1531,dim_1532,dim_1533,dim_1534,dim_1535,dim_1536,dim_1537,dim_1538,dim_1539,dim_1540,dim_1541,dim_1542,dim_1543,dim_1544,dim_1545,dim_1546,dim_1547,dim_1548,dim_1549,dim_1550,dim_1551,dim_1552,dim_1553,dim_1554,dim_1555,dim_1556,dim_1557,dim_1558,dim_1559,dim_1560,dim_1561,dim_1562,dim_1563,dim_1564,dim_1565,dim_1566,dim_1567,dim_1568,dim_1569,dim_1570,dim_1571,dim_1572,dim_1573,dim_1574,dim_1575,dim_1576,dim_1577,dim_1578,dim_1579,dim_1580,dim_1581,dim_1582,dim_1583,dim_1584,dim_1585,dim_1586,dim_1587,dim_1588,dim_1589,dim_1590,dim_1591,dim_1592,dim_1593,dim_1594,dim_1595,dim_1596,dim_1597,dim_1598,dim_1599,dim_1600,dim_1601,dim_1602,dim_1603,dim_1604,dim_1605,dim_1606,dim_1607,dim_1608,dim_1609,dim_1610,dim_1611,dim_1612,dim_1613,dim_1614,dim_1615,dim_1616,dim_1617,dim_1618,dim_1619,dim_1620,dim_1621,dim_1622,dim_1623,dim_1624,dim_1625,dim_1626,dim_1627,dim_1628,dim_1629,dim_1630,dim_1631,dim_1632,dim_1633,dim_1634,dim_1635,dim_1636,dim_1637,dim_1638,dim_1639,dim_1640,dim_1641,dim_1642,dim_1643,dim_1644,dim_1645,dim_1646,dim_1647,dim_1648,dim_1649,dim_1650,dim_1651,dim_1652,dim_1653,dim_1654,dim_1655,dim_1656,dim_1657,dim_1658,dim_1659,dim_1660,dim_1661,dim_1662,dim_1663,dim_1664,dim_1665,dim_1666,dim_1667,dim_1668,dim_1669,dim_1670,dim_1671,dim_1672,dim_1673,dim_1674,dim_1675,dim_1676,dim_1677,dim_1678,dim_1679,dim_1680,dim_1681,dim_1682,dim_1683,dim_1684,dim_1685,dim_1686,dim_1687,dim_1688,dim_1689,dim_1690,dim_1691,dim_1692,dim_1693,dim_1694,dim_1695,dim_1696,dim_1697,dim_1698,dim_1699,dim_1700,dim_1701,dim_1702,dim_1703,dim_1704,dim_1705,dim_1706,dim_1707,dim_1708,dim_1709,dim_1710,dim_1711,dim_1712,dim_1713,dim_1714,dim_1715,dim_1716,dim_1717,dim_1718,dim_1719,dim_1720,dim_1721,dim_1722,dim_1723,dim_1724,dim_1725,dim_1726,dim_1727,dim_1728,dim_1729,dim_1730,dim_1731,dim_1732,dim_1733,dim_1734,dim_1735,dim_1736,dim_1737,dim_1738,dim_1739,dim_1740,dim_1741,dim_1742,dim_1743,dim_1744,dim_1745,dim_1746,dim_1747,dim_1748,dim_1749,dim_1750,dim_1751,dim_1752,dim_1753,dim_1754,dim_1755,dim_1756,dim_1757,dim_1758,dim_1759,dim_1760,dim_1761,dim_1762,dim_1763,dim_1764,dim_1765,dim_1766,dim_1767,dim_1768,dim_1769,dim_1770,dim_1771,dim_1772,dim_1773,dim_1774,dim_1775,dim_1776,dim_1777,dim_1778,dim_1779,dim_1780,dim_1781,dim_1782,dim_1783,dim_1784,dim_1785,dim_1786,dim_1787,dim_1788,dim_1789,dim_1790,dim_1791,dim_1792,dim_1793,dim_1794,dim_1795,dim_1796,dim_1797,dim_1798,dim_1799,dim_1800,dim_1801,dim_1802,dim_1803,dim_1804,dim_1805,dim_1806,dim_1807,dim_1808,dim_1809,dim_1810,dim_1811,dim_1812,dim_1813,dim_1814,dim_1815,dim_1816,dim_1817,dim_1818,dim_1819,dim_1820,dim_1821,dim_1822,dim_1823,dim_1824,dim_1825,dim_1826,dim_1827,dim_1828,dim_1829,dim_1830,dim_1831,dim_1832,dim_1833,dim_1834,dim_1835,dim_1836,dim_1837,dim_1838,dim_1839,dim_1840,dim_1841,dim_1842,dim_1843,dim_1844,dim_1845,dim_1846,dim_1847,dim_1848,dim_1849,dim_1850,dim_1851,dim_1852,dim_1853,dim_1854,dim_1855,dim_1856,dim_1857,dim_1858,dim_1859,dim_1860,dim_1861,dim_1862,dim_1863,dim_1864,dim_1865,dim_1866,dim_1867,dim_1868,dim_1869,dim_1870,dim_1871,dim_1872,dim_1873,dim_1874,dim_1875,dim_1876,dim_1877,dim_1878,dim_1879,dim_1880,dim_1881,dim_1882,dim_1883,dim_1884,dim_1885,dim_1886,dim_1887,dim_1888,dim_1889,dim_1890,dim_1891,dim_1892,dim_1893,dim_1894,dim_1895,dim_1896,dim_1897,dim_1898,dim_1899,dim_1900,dim_1901,dim_1902,dim_1903,dim_1904,dim_1905,dim_1906,dim_1907,dim_1908,dim_1909,dim_1910,dim_1911,dim_1912,dim_1913,dim_1914,dim_1915,dim_1916,dim_1917,dim_1918,dim_1919,dim_1920,dim_1921,dim_1922,dim_1923,dim_1924,dim_1925,dim_1926,dim_1927,dim_1928,dim_1929,dim_1930,dim_1931,dim_1932,dim_1933,dim_1934,dim_1935,dim_1936,dim_1937,dim_1938,dim_1939,dim_1940,dim_1941,dim_1942,dim_1943,dim_1944,dim_1945,dim_1946,dim_1947,dim_1948,dim_1949,dim_1950,dim_1951,dim_1952,dim_1953,dim_1954,dim_1955,dim_1956,dim_1957,dim_1958,dim_1959,dim_1960,dim_1961,dim_1962,dim_1963,dim_1964,dim_1965,dim_1966,dim_1967,dim_1968,dim_1969,dim_1970,dim_1971,dim_1972,dim_1973,dim_1974,dim_1975,dim_1976,dim_1977,dim_1978,dim_1979,dim_1980,dim_1981,dim_1982,dim_1983,dim_1984,dim_1985,dim_1986,dim_1987,dim_1988,dim_1989,dim_1990,dim_1991,dim_1992,dim_1993,dim_1994,dim_1995,dim_1996,dim_1997,dim_1998,dim_1999,dim_2000,dim_2001,dim_2002,dim_2003,dim_2004,dim_2005,dim_2006,dim_2007,dim_2008,dim_2009,dim_2010,dim_2011,dim_2012,dim_2013,dim_2014,dim_2015,dim_2016,dim_2017,dim_2018,dim_2019,dim_2020,dim_2021,dim_2022,dim_2023,dim_2024,dim_2025,dim_2026,dim_2027,dim_2028,dim_2029,dim_2030,dim_2031,dim_2032,dim_2033,dim_2034,dim_2035,dim_2036,dim_2037,dim_2038,dim_2039,dim_2040,dim_2041,dim_2042,dim_2043,dim_2044,dim_2045,dim_2046,dim_2047 +0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,6,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/model/framework/run.sh b/model/framework/run.sh new file mode 100644 index 0000000..3f33f76 --- /dev/null +++ b/model/framework/run.sh @@ -0,0 +1 @@ +python $1/code/main.py $2 $3 diff --git a/pack.py b/pack.py new file mode 100644 index 0000000..a0e0277 --- /dev/null +++ b/pack.py @@ -0,0 +1,14 @@ +import os +from src.service import load_model +from src.service import Service +from src.service import CHECKPOINTS_BASEDIR, FRAMEWORK_BASEDIR + +root = os.path.dirname(os.path.realpath(__file__)) +mdl = load_model( + os.path.join(root, "model", FRAMEWORK_BASEDIR), + os.path.join(root, "model", CHECKPOINTS_BASEDIR), +) + +service = Service() +service.pack("model", mdl) +service.save() \ No newline at end of file diff --git a/src/LICENSE b/src/LICENSE new file mode 100644 index 0000000..a44b4f5 --- /dev/null +++ b/src/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2006-2015, Rational Discovery LLC, Greg Landrum, and Julie Penzotti and others +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/src/service.py b/src/service.py new file mode 100644 index 0000000..96a7481 --- /dev/null +++ b/src/service.py @@ -0,0 +1,139 @@ +from typing import List + +from bentoml import BentoService, api, artifacts +from bentoml.adapters import JsonInput +from bentoml.types import JsonSerializable +from bentoml.service import BentoServiceArtifact + +import pickle +import os +import shutil +import tempfile +import subprocess +import csv + +CHECKPOINTS_BASEDIR = "checkpoints" +FRAMEWORK_BASEDIR = "framework" + + +def load_model(framework_dir, checkpoints_dir): + mdl = Model() + mdl.load(framework_dir, checkpoints_dir) + return mdl + + +def Float(x): + try: + return float(x) + except: + return None + + +class Model(object): + def __init__(self): + self.DATA_FILE = "_data.csv" + self.OUTPUT_FILE = "_output.csv" + self.RUN_FILE = "_run.sh" + self.LOG_FILE = "run.log" + + def load(self, framework_dir, checkpoints_dir): + self.framework_dir = framework_dir + self.checkpoints_dir = checkpoints_dir + + def set_checkpoints_dir(self, dest): + self.checkpoints_dir = os.path.abspath(dest) + + def set_framework_dir(self, dest): + self.framework_dir = os.path.abspath(dest) + + def run(self, input_list): + tmp_folder = tempfile.mkdtemp(prefix="eos-") + data_file = os.path.join(tmp_folder, self.DATA_FILE) + output_file = os.path.join(tmp_folder, self.OUTPUT_FILE) + log_file = os.path.join(tmp_folder, self.LOG_FILE) + with open(data_file, "w") as f: + f.write("input" + os.linesep) + for inp in input_list: + f.write(inp + os.linesep) + run_file = os.path.join(tmp_folder, self.RUN_FILE) + with open(run_file, "w") as f: + lines = [ + "bash {0}/run.sh {0} {1} {2}".format( + self.framework_dir, data_file, output_file + ) + ] + f.write(os.linesep.join(lines)) + cmd = "bash {0}".format(run_file) + with open(log_file, "w") as fp: + subprocess.Popen( + cmd, stdout=fp, stderr=fp, shell=True, env=os.environ + ).wait() + with open(output_file, "r") as f: + reader = csv.reader(f) + h = next(reader) + R = [] + for r in reader: + R += [ + {"outcome": [Float(x) for x in r]} + ] # <-- EDIT: Modify according to type of output (Float, String...) + meta = {"outcome": h} + result = {"result": R, "meta": meta} + shutil.rmtree(tmp_folder) + return result + + +class Artifact(BentoServiceArtifact): + def __init__(self, name): + super(Artifact, self).__init__(name) + self._model = None + self._extension = ".pkl" + + def _copy_checkpoints(self, base_path): + src_folder = self._model.checkpoints_dir + dst_folder = os.path.join(base_path, "checkpoints") + if os.path.exists(dst_folder): + os.rmdir(dst_folder) + shutil.copytree(src_folder, dst_folder) + + def _copy_framework(self, base_path): + src_folder = self._model.framework_dir + dst_folder = os.path.join(base_path, "framework") + if os.path.exists(dst_folder): + os.rmdir(dst_folder) + shutil.copytree(src_folder, dst_folder) + + def _model_file_path(self, base_path): + return os.path.join(base_path, self.name + self._extension) + + def pack(self, model): + self._model = model + return self + + def load(self, path): + model_file_path = self._model_file_path(path) + model = pickle.load(open(model_file_path, "rb")) + model.set_checkpoints_dir( + os.path.join(os.path.dirname(model_file_path), "checkpoints") + ) + model.set_framework_dir( + os.path.join(os.path.dirname(model_file_path), "framework") + ) + return self.pack(model) + + def get(self): + return self._model + + def save(self, dst): + self._copy_checkpoints(dst) + self._copy_framework(dst) + pickle.dump(self._model, open(self._model_file_path(dst), "wb")) + + +@artifacts([Artifact("model")]) +class Service(BentoService): + @api(input=JsonInput(), batch=True) + def run(self, input: List[JsonSerializable]): + input = input[0] + input_list = [inp["input"] for inp in input] + output = self.artifacts.model.run(input_list) + return [output]